@plone/volto 15.0.0-alpha.4 → 15.0.0-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/ISSUE_TEMPLATE/bug_report.md +7 -6
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -1
- package/.github/workflows/docs.yml +15 -55
- package/CHANGELOG.md +57 -2
- package/CODE_OF_CONDUCT.md +0 -1
- package/COMMITLINT.md +19 -21
- package/README.md +1 -1
- package/SECURITY.md +0 -1
- package/addon-registry.js +6 -3
- package/dist/assets.json +1 -0
- package/dist/chunks.json +572 -0
- package/dist/loadable-stats.json +2099 -0
- package/dist/public/android-chrome-192x192.png +0 -0
- package/dist/public/android-chrome-512x512.png +0 -0
- package/dist/public/apple-touch-icon.png +0 -0
- package/dist/public/favicon-16x16.png +0 -0
- package/dist/public/favicon-32x32.png +0 -0
- package/dist/public/favicon.ico +0 -0
- package/dist/public/icon.svg +13 -0
- package/dist/public/index.html.spa +34 -0
- package/dist/public/robots.txt +2 -0
- package/dist/public/site.webmanifest +19 -0
- package/dist/public/static/css/15.2cdd5437.chunk.css +409 -0
- package/dist/public/static/css/15.2cdd5437.chunk.css.map +1 -0
- package/dist/public/static/css/8.37cef611.chunk.css +2 -0
- package/dist/public/static/css/8.37cef611.chunk.css.map +1 -0
- package/dist/public/static/css/client.4cb92c57.chunk.css +8 -0
- package/dist/public/static/css/client.4cb92c57.chunk.css.map +1 -0
- package/dist/public/static/css/plone-volto-components-manage-Widgets-DatetimeWidget.c847a331.chunk.css +2 -0
- package/dist/public/static/css/plone-volto-components-manage-Widgets-DatetimeWidget.c847a331.chunk.css.map +1 -0
- package/dist/public/static/js/0.3e794c57.chunk.js +2 -0
- package/dist/public/static/js/0.3e794c57.chunk.js.map +1 -0
- package/dist/public/static/js/1.fece2b93.chunk.js +3 -0
- package/dist/public/static/js/1.fece2b93.chunk.js.LICENSE.txt +8 -0
- package/dist/public/static/js/1.fece2b93.chunk.js.map +1 -0
- package/dist/public/static/js/15.2cdd5437.chunk.js +3 -0
- package/dist/public/static/js/15.2cdd5437.chunk.js.LICENSE.txt +120 -0
- package/dist/public/static/js/15.2cdd5437.chunk.js.map +1 -0
- package/dist/public/static/js/16.a3a0662d.chunk.js +3 -0
- package/dist/public/static/js/16.a3a0662d.chunk.js.LICENSE.txt +8 -0
- package/dist/public/static/js/16.a3a0662d.chunk.js.map +1 -0
- package/dist/public/static/js/17.9478c50d.chunk.js +2 -0
- package/dist/public/static/js/17.9478c50d.chunk.js.map +1 -0
- package/dist/public/static/js/18.388e65d0.chunk.js +2 -0
- package/dist/public/static/js/18.388e65d0.chunk.js.map +1 -0
- package/dist/public/static/js/19.7c6b4a80.chunk.js +2 -0
- package/dist/public/static/js/19.7c6b4a80.chunk.js.map +1 -0
- package/dist/public/static/js/2.e6b0d690.chunk.js +2 -0
- package/dist/public/static/js/2.e6b0d690.chunk.js.map +1 -0
- package/dist/public/static/js/20.ada67f0e.chunk.js +3 -0
- package/dist/public/static/js/20.ada67f0e.chunk.js.LICENSE.txt +8 -0
- package/dist/public/static/js/20.ada67f0e.chunk.js.map +1 -0
- package/dist/public/static/js/21.3de49ac8.chunk.js +2 -0
- package/dist/public/static/js/21.3de49ac8.chunk.js.map +1 -0
- package/dist/public/static/js/22.ecefb8f2.chunk.js +2 -0
- package/dist/public/static/js/22.ecefb8f2.chunk.js.map +1 -0
- package/dist/public/static/js/23.3027bc00.chunk.js +2 -0
- package/dist/public/static/js/23.3027bc00.chunk.js.map +1 -0
- package/dist/public/static/js/24.aaaf4abf.chunk.js +2 -0
- package/dist/public/static/js/24.aaaf4abf.chunk.js.map +1 -0
- package/dist/public/static/js/25.c4d7d5e0.chunk.js +2 -0
- package/dist/public/static/js/25.c4d7d5e0.chunk.js.map +1 -0
- package/dist/public/static/js/26.d59ac3c1.chunk.js +2 -0
- package/dist/public/static/js/26.d59ac3c1.chunk.js.map +1 -0
- package/dist/public/static/js/27.266d95dd.chunk.js +2 -0
- package/dist/public/static/js/27.266d95dd.chunk.js.map +1 -0
- package/dist/public/static/js/28.d965d304.chunk.js +2 -0
- package/dist/public/static/js/28.d965d304.chunk.js.map +1 -0
- package/dist/public/static/js/29.7d8d1992.chunk.js +2 -0
- package/dist/public/static/js/29.7d8d1992.chunk.js.map +1 -0
- package/dist/public/static/js/3.025ba843.chunk.js +2 -0
- package/dist/public/static/js/3.025ba843.chunk.js.map +1 -0
- package/dist/public/static/js/30.a3d54e31.chunk.js +2 -0
- package/dist/public/static/js/30.a3d54e31.chunk.js.map +1 -0
- package/dist/public/static/js/31.9edf64ee.chunk.js +2 -0
- package/dist/public/static/js/31.9edf64ee.chunk.js.map +1 -0
- package/dist/public/static/js/32.649dbfc2.chunk.js +2 -0
- package/dist/public/static/js/32.649dbfc2.chunk.js.map +1 -0
- package/dist/public/static/js/33.45949ca4.chunk.js +2 -0
- package/dist/public/static/js/33.45949ca4.chunk.js.map +1 -0
- package/dist/public/static/js/34.084257cf.chunk.js +2 -0
- package/dist/public/static/js/34.084257cf.chunk.js.map +1 -0
- package/dist/public/static/js/35.00679602.chunk.js +3 -0
- package/dist/public/static/js/35.00679602.chunk.js.LICENSE.txt +37 -0
- package/dist/public/static/js/35.00679602.chunk.js.map +1 -0
- package/dist/public/static/js/36.4a29fdbd.chunk.js +3 -0
- package/dist/public/static/js/36.4a29fdbd.chunk.js.LICENSE.txt +7 -0
- package/dist/public/static/js/36.4a29fdbd.chunk.js.map +1 -0
- package/dist/public/static/js/37.fbbe07b3.chunk.js +3 -0
- package/dist/public/static/js/37.fbbe07b3.chunk.js.LICENSE.txt +14 -0
- package/dist/public/static/js/37.fbbe07b3.chunk.js.map +1 -0
- package/dist/public/static/js/38.b31c59ad.chunk.js +3 -0
- package/dist/public/static/js/38.b31c59ad.chunk.js.LICENSE.txt +8 -0
- package/dist/public/static/js/38.b31c59ad.chunk.js.map +1 -0
- package/dist/public/static/js/39.69d6a789.chunk.js +2 -0
- package/dist/public/static/js/39.69d6a789.chunk.js.map +1 -0
- package/dist/public/static/js/4.bdc4a5c5.chunk.js +2 -0
- package/dist/public/static/js/4.bdc4a5c5.chunk.js.map +1 -0
- package/dist/public/static/js/40.90de6e4a.chunk.js +2 -0
- package/dist/public/static/js/40.90de6e4a.chunk.js.map +1 -0
- package/dist/public/static/js/7.7acc66bc.chunk.js +2 -0
- package/dist/public/static/js/7.7acc66bc.chunk.js.map +1 -0
- package/dist/public/static/js/8.37cef611.chunk.js +3 -0
- package/dist/public/static/js/8.37cef611.chunk.js.LICENSE.txt +25 -0
- package/dist/public/static/js/8.37cef611.chunk.js.map +1 -0
- package/dist/public/static/js/client.4cb92c57.chunk.js +2 -0
- package/dist/public/static/js/client.4cb92c57.chunk.js.map +1 -0
- package/dist/public/static/js/draft-js-lib-isSoftNewlineEvent.6cd05e34.chunk.js +2 -0
- package/dist/public/static/js/draft-js-lib-isSoftNewlineEvent.6cd05e34.chunk.js.map +1 -0
- package/dist/public/static/js/moment.2caa76d1.chunk.js +2 -0
- package/dist/public/static/js/moment.2caa76d1.chunk.js.map +1 -0
- package/dist/public/static/js/plone-volto-components-manage-Widgets-DatetimeWidget.c847a331.chunk.js +2 -0
- package/dist/public/static/js/plone-volto-components-manage-Widgets-DatetimeWidget.c847a331.chunk.js.map +1 -0
- package/dist/public/static/js/plone-volto-components-theme-View-EventView.433dd14b.chunk.js +2 -0
- package/dist/public/static/js/plone-volto-components-theme-View-EventView.433dd14b.chunk.js.map +1 -0
- package/dist/public/static/js/react-dates.f71abb7c.chunk.js +2 -0
- package/dist/public/static/js/react-dates.f71abb7c.chunk.js.map +1 -0
- package/dist/public/static/js/react-simple-code-editor.33478dc3.chunk.js +2 -0
- package/dist/public/static/js/react-simple-code-editor.33478dc3.chunk.js.map +1 -0
- package/dist/public/static/js/runtime~client.d372df0e.js +2 -0
- package/dist/public/static/js/runtime~client.d372df0e.js.map +1 -0
- package/dist/public/static/media/Logo.16e25cdf.svg +21 -0
- package/dist/public/static/media/block-image.8a4a14d5.svg +8 -0
- package/dist/public/static/media/block-maps.731e84f6.svg +7 -0
- package/dist/public/static/media/block-video.832fa3ff.svg +7 -0
- package/dist/public/static/media/default-image.9451b251.svg +13 -0
- package/dist/public/static/media/flags.9c74e172.png +0 -0
- package/dist/public/static/media/icons.022583c4.svg +320 -0
- package/dist/public/static/media/icons.06400145.ttf +0 -0
- package/dist/public/static/media/icons.dbc1ef8b.eot +0 -0
- package/dist/public/static/media/icons.df45b7de.woff +0 -0
- package/dist/server.js +2 -0
- package/locales/ca/LC_MESSAGES/volto.po +14 -0
- package/locales/ca.json +1 -1
- package/locales/de/LC_MESSAGES/volto.po +14 -0
- package/locales/de.json +1 -1
- package/locales/en/LC_MESSAGES/volto.po +14 -0
- package/locales/en.json +1 -1
- package/locales/es/LC_MESSAGES/volto.po +14 -0
- package/locales/es.json +1 -1
- package/locales/eu/LC_MESSAGES/volto.po +14 -0
- package/locales/eu.json +1 -1
- package/locales/fr/LC_MESSAGES/volto.po +14 -0
- package/locales/fr.json +1 -1
- package/locales/it/LC_MESSAGES/volto.po +14 -0
- package/locales/it.json +1 -1
- package/locales/ja/LC_MESSAGES/volto.po +14 -0
- package/locales/ja.json +1 -1
- package/locales/nl/LC_MESSAGES/volto.po +14 -0
- package/locales/nl.json +1 -1
- package/locales/pt/LC_MESSAGES/volto.po +14 -0
- package/locales/pt.json +1 -1
- package/locales/pt_BR/LC_MESSAGES/volto.po +14 -0
- package/locales/pt_BR.json +1 -1
- package/locales/ro/LC_MESSAGES/volto.po +14 -0
- package/locales/ro.json +1 -1
- package/locales/volto.pot +15 -1
- package/logos/Logo.png +0 -0
- package/logos/volto-colorful.png +0 -0
- package/logos/volto-colorful.svg +35 -0
- package/logos/volto-guide.png +0 -0
- package/logos/volto-h-transparent.svg +6 -0
- package/logos/volto-transparent.png +0 -0
- package/logos/volto-transparent.svg +19 -0
- package/logos/volto-transparent2.svg +5 -0
- package/logos/volto-yellow.svg +29 -0
- package/logos/volto.sketch +0 -0
- package/netlify.toml +2 -0
- package/package.json +6 -2
- package/razzle.config.js +2 -2
- package/src/actions/language/language.js +7 -2
- package/src/components/manage/AnchorPlugin/components/LinkButton/AddLinkForm.jsx +1 -2
- package/src/components/manage/AnchorPlugin/components/LinkButton/index.jsx +15 -6
- package/src/components/manage/AnchorPlugin/index.jsx +12 -5
- package/src/components/manage/AnchorPlugin/utils/EditorUtils.js +8 -7
- package/src/components/manage/Blocks/Description/Edit.jsx +33 -19
- package/src/components/manage/Blocks/Description/Edit.test.jsx +6 -0
- package/src/components/manage/Blocks/HeroImageLeft/Edit.jsx +37 -26
- package/src/components/manage/Blocks/HeroImageLeft/Edit.test.jsx +6 -0
- package/src/components/manage/Blocks/Search/README.md +20 -0
- package/src/components/manage/Blocks/Search/components/CheckboxFacet.jsx +16 -3
- package/src/components/manage/Blocks/Search/components/DateRangeFacet.jsx +120 -0
- package/src/components/manage/Blocks/Search/components/DateRangeFacet.test.jsx +34 -0
- package/src/components/manage/Blocks/Search/components/DateRangeFacetFilterListEntry.jsx +39 -0
- package/src/components/manage/Blocks/Search/components/Facets.jsx +24 -25
- package/src/components/manage/Blocks/Search/components/FilterList.jsx +37 -67
- package/src/components/manage/Blocks/Search/components/FilterList.test.jsx +49 -1
- package/src/components/manage/Blocks/Search/components/SelectFacet.jsx +9 -0
- package/src/components/manage/Blocks/Search/components/SelectFacetFilterListEntry.jsx +42 -0
- package/src/components/manage/Blocks/Search/components/SelectStyling.jsx +1 -1
- package/src/components/manage/Blocks/Search/components/ToggleFacet.jsx +38 -0
- package/src/components/manage/Blocks/Search/components/ToggleFacetFilterListEntry.jsx +39 -0
- package/src/components/manage/Blocks/Search/components/base.js +52 -0
- package/src/components/manage/Blocks/Search/components/index.js +5 -0
- package/src/components/manage/Blocks/Search/hocs/withSearch.jsx +68 -27
- package/src/components/manage/Blocks/Search/schema.js +7 -4
- package/src/components/manage/Blocks/Search/utils.js +16 -0
- package/src/components/manage/Blocks/Table/Cell.jsx +40 -14
- package/src/components/manage/Blocks/Table/Cell.test.jsx +7 -1
- package/src/components/manage/Blocks/Table/Edit.jsx +7 -3
- package/src/components/manage/Blocks/Table/Edit.test.jsx +6 -0
- package/src/components/manage/Blocks/Table/View.jsx +2 -2
- package/src/components/manage/Blocks/Text/Edit.jsx +56 -14
- package/src/components/manage/Blocks/Text/Edit.test.jsx +7 -1
- package/src/components/manage/Blocks/Text/View.jsx +2 -2
- package/src/components/manage/Blocks/Title/Edit.jsx +25 -13
- package/src/components/manage/Blocks/Title/Edit.test.jsx +6 -0
- package/src/components/manage/Sidebar/Sidebar.jsx +5 -1
- package/src/components/manage/Toolbar/Toolbar.jsx +3 -1
- package/src/components/manage/UniversalLink/UniversalLink.jsx +5 -2
- package/src/components/manage/Widgets/DatetimeWidget.jsx +3 -1
- package/src/components/manage/Widgets/UrlWidget.jsx +1 -1
- package/src/components/manage/Widgets/WysiwygWidget.jsx +45 -19
- package/src/components/manage/Widgets/WysiwygWidget.test.jsx +7 -1
- package/src/components/theme/View/LinkView.jsx +1 -1
- package/src/components/theme/View/View.jsx +5 -1
- package/src/config/Blocks.jsx +31 -0
- package/src/config/Loadables.jsx +22 -0
- package/src/config/RichTextEditor/Blocks.jsx +25 -20
- package/src/config/RichTextEditor/Plugins.jsx +38 -31
- package/src/config/RichTextEditor/Styles.jsx +48 -44
- package/src/config/RichTextEditor/index.js +25 -0
- package/src/config/index.js +14 -18
- package/src/helpers/Api/Api.js +18 -4
- package/src/helpers/Extensions/index.js +1 -1
- package/src/helpers/Extensions/withBlockExtensions.js +4 -0
- package/src/helpers/Extensions/withBlockExtensions.test.js +26 -1
- package/src/helpers/Url/Url.js +32 -1
- package/src/helpers/Url/urlRegex.js +7 -1
- package/src/helpers/index.js +2 -0
- package/src/middleware/api.js +21 -2
- package/src/server.jsx +9 -2
- package/test-setup-config.js +22 -7
- package/theme/themes/pastanaga/extras/blocks.less +29 -0
- package/src/components/manage/AnchorPlugin/utils/URLUtils.js +0 -36
- package/src/components/manage/AnchorPlugin/utils/mailRegex.js +0 -2
- package/src/components/manage/AnchorPlugin/utils/telRegex.js +0 -1
- package/src/components/manage/AnchorPlugin/utils/urlRegex.js +0 -54
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["webpack:///./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","webpack:///./node_modules/rc-util/es/Dom/contains.js","webpack:///./node_modules/rc-util/es/Dom/addEventListener.js","webpack:///./node_modules/rc-util/es/ContainerRender.js","webpack:///./node_modules/rc-util/es/Portal.js","webpack:///./node_modules/rc-trigger/es/utils.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/index.js","webpack:///./node_modules/rc-util/es/unsafeLifecyclesPolyfill.js","webpack:///./node_modules/rc-animate/es/ChildrenUtils.js","webpack:///./node_modules/css-animation/es/Event.js","webpack:///./node_modules/css-animation/es/index.js","webpack:///./node_modules/rc-animate/es/util/animate.js","webpack:///./node_modules/rc-animate/es/AnimateChild.js","webpack:///./node_modules/rc-animate/es/Animate.js","webpack:///./node_modules/rc-trigger/es/LazyRenderBox.js","webpack:///./node_modules/rc-trigger/es/PopupInner.js","webpack:///./node_modules/rc-trigger/es/Popup.js","webpack:///./node_modules/rc-trigger/es/index.js","webpack:///./node_modules/rc-time-picker/es/Header.js","webpack:///./node_modules/rc-time-picker/es/Select.js","webpack:///./node_modules/rc-time-picker/es/Combobox.js","webpack:///./node_modules/rc-time-picker/es/Panel.js","webpack:///./node_modules/rc-time-picker/es/placements.js","webpack:///./node_modules/rc-time-picker/es/TimePicker.js","webpack:///./node_modules/add-dom-event-listener/lib/EventObject.js","webpack:///./node_modules/add-dom-event-listener/lib/index.js","webpack:///./node_modules/component-classes/index.js","webpack:///./node_modules/add-dom-event-listener/lib/EventBaseObject.js","webpack:///./node_modules/babel-runtime/helpers/defineProperty.js","webpack:///./node_modules/babel-runtime/helpers/objectWithoutProperties.js","webpack:///./node_modules/component-indexof/index.js"],"names":["componentWillMount","state","this","constructor","getDerivedStateFromProps","props","undefined","setState","nextProps","prevState","bind","componentWillUpdate","nextState","prevProps","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","polyfill","Component","prototype","isReactComponent","Error","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","componentName","displayName","name","newApiName","componentDidUpdate","maybeSnapshot","snapshot","call","contains","root","n","node","parentNode","__suppressDeprecationWarning","addEventListenerWrap","target","eventType","cb","option","callback","unstable_batchedUpdates","e","_typeof","obj","Symbol","iterator","_classCallCheck","instance","Constructor","TypeError","_defineProperties","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_possibleConstructorReturn","self","ReferenceError","_assertThisInitialized","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","p","_React$Component","ContainerRender","_getPrototypeOf2","_this","_len","arguments","args","Array","_key","apply","concat","removeContainer","container","unmountComponentAtNode","removeChild","renderComponent","ready","_this$props","visible","getComponent","forceRender","getContainer","parent","_component","unstable_renderSubtreeIntoContainer","protoProps","staticProps","subClass","superClass","create","value","_inherits","autoMount","autoDestroy","children","propTypes","bool","any","func","isRequired","defaultProps","Portal","createContainer","didUpdate","_container","forceUpdate","createPortal","isPointsEq","a1","a2","isAlignPoint","saveRef","component","vendorPrefix","_defineProperty","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","jsCssMap","Webkit","Moz","ms","O","getVendorPrefix","style","document","createElement","getTransitionName","getTransformName","setTransitionProperty","transitionProperty","setTransform","transform","getComputedStyleX","matrix2d","matrix3d","forceRelayout","elem","originalStyle","display","offsetHeight","css","el","v","hasOwnProperty","getScroll","w","top","ret","method","d","documentElement","body","getScrollLeft","getScrollTop","getOffset","pos","box","x","y","doc","ownerDocument","docElem","getBoundingClientRect","left","clientLeft","clientTop","getClientPosition","defaultView","parentWindow","isWindow","window","getDocument","nodeType","_RE_NUM_NO_PX","RegExp","source","RE_POS","LEFT","getOffsetDirection","dir","useCssRight","useCssBottom","oppositeOffsetDirection","setLeftTop","offset","position","presetH","presetV","horizontalProperty","verticalProperty","oppositeHorizontalProperty","oppositeVerticalProperty","originalTransition","originalOffset","old","preset","off","_dir","_off","setTransform$1","originalXY","getComputedStyle","getPropertyValue","matrix","replace","split","parseFloat","getTransformXY","resultXY","xy","arr","match2d","match","map","item","join","setTransformXY","each","fn","isBorderBoxFn","cs","computedStyle","val","test","rsLeft","pixelLeft","BOX_MODELS","swap","options","getPBMWidth","which","prop","j","cssProp","domUtils","getParent","element","host","getWH","ex","extra","viewportWidth","viewportHeight","docWidth","docHeight","borderBoxValue","width","height","isBorderBox","cssBoxValue","Number","borderBoxValueOrIsBorderBox","slice","refWin","Math","max","win","documentElementProp","compatMode","cssShow","visibility","getWHIgnoreDisplay","_key2","offsetWidth","mix","to","from","first","charAt","toUpperCase","includeMargin","utils","getWindow","setTimeout","ignoreShake","oriOffset","oLeft","toFixed","oTop","tLeft","tTop","useCssTransform","setOffset","clone","overflow","getWindowScrollLeft","getWindowScrollTop","merge","getOffsetParent","positionStyle","nodeName","toLowerCase","getParent$1","getVisibleRectForElement","visibleRect","right","Infinity","bottom","navigator","userAgent","indexOf","clientWidth","min","clientHeight","originalPosition","scrollX","scrollY","documentWidth","scrollWidth","documentHeight","scrollHeight","bodyStyle","overflowX","innerWidth","overflowY","innerHeight","isAncestorFixed","maxVisibleWidth","maxVisibleHeight","getRegion","h","outerWidth","outerHeight","getAlignOffset","region","align","V","H","getElFuturePos","elRegion","refNodeRegion","points","targetOffset","p1","p2","diff","round","isFailX","elFuturePos","isFailY","flip","reg","m","flipOffset","index","convertOffset","str","offsetLen","parseInt","substring","normalizeOffset","doAlign","tgtRegion","isTgtRegionVisible","newOverflowCfg","fail","newElRegion","adjustX","adjustY","newPoints","l","r","newOffset","newTargetOffset","isCompleteFailX","_newPoints","t","b","_newOffset","_newTargetOffset","isCompleteFailY","isStillFailX","isStillFailY","size","resizeWidth","resizeHeight","adjustForViewport","alignElement","refNode","targetRegion","isOutOfVisibleRect","tgtPoint","pageX","pageY","clientX","clientY","pointInView","forEach","getOwnPropertyDescriptors","defineProperties","_objectSpread2","__getOffsetParent","__getVisibleRectForElement","isSimilarValue","val1","val2","int1","floor","int2","abs","restoreFocus","activeElement","focus","getElement","getPoint","point","_Component","Align","_ref","_temp","_ret","forceAlign","disabled","onAlign","findDOMNode","result","monitorWindowResize","startMonitorWindowResize","prev","next","reAlign","sourceRect","lastElement","currentElement","lastPoint","currentPoint","preRect","stopMonitorWindowResize","resizeHandler","bufferMonitor","timer","clear","clearTimeout","bufferFn","buffer","monitorBufferTime","remove","_this2","_props","childrenProps","child","Children","only","newProps","cloneElement","oneOfType","shape","number","Profiler","toArrayChildren","findChildInChildrenByKey","findShownChildInChildrenByKey","showProp","START_EVENT_NAME_MAP","transitionstart","transition","WebkitTransition","MozTransition","OTransition","msTransition","animationstart","animation","WebkitAnimation","MozAnimation","OAnimation","msAnimation","END_EVENT_NAME_MAP","transitionend","animationend","startEvents","endEvents","addEventListener","eventName","eventListener","removeEventListener","process","EVENT_NAME_MAP","events","baseEventName","baseEvents","styleName","detectEvents","addStartEventListener","startEvent","removeStartEventListener","addEndEventListener","endEvent","removeEndEventListener","isCssAnimationSupported","Event","capitalPrefixes","prefixes","getStyleProperty","fixBrowserByTimeout","transitionDelay","transitionDuration","animationDelay","animationDuration","time","rcEndAnimTimeout","rcEndListener","clearBrowserBugTimeout","transitionName","endCallback","nameIsObj","className","activeClassName","active","end","start","nodeClasses","toString","rcAnimTimeout","add","stop","s","setTransition","property","prefix","isAppearSupported","transitionAppear","appear","isEnterSupported","transitionEnter","enter","isLeaveSupported","transitionLeave","leave","allowAppearCallback","allowEnterCallback","allowLeaveCallback","transitionMap","AnimateChild","done","animationType","finishCallback","stopper","activeName","defaultKey","Date","now","getChildrenFromProps","isValidElement","noop","Animate","currentlyAnimatingKeys","keysToEnter","keysToLeave","childrenRefs","performAppear","_this3","nextChildren","exclusive","currentChildren","newChildren","currentChild","nextChild","newChild","nextChildrenPending","pendingChildren","mergeChildren","hasPrev","showInNext","hasNext","showInNow","performEnter","performLeave","_this4","stateChildren","ref","passedProps","componentProps","isAnimate","string","onEnd","onEnter","onLeave","onAppear","_this5","componentWillEnter","handleDoneAdding","componentWillAppear","type","isValidChildByKey","componentWillLeave","handleDoneLeaving","c1","c2","same","child2","isSameChildren","LazyRenderBox","shouldComponentUpdate","hiddenClassName","render","count","PopupInner","onMouseEnter","onMouseLeave","onMouseDown","onTouchStart","prefixCls","Popup","stretchChecked","targetWidth","targetHeight","savePopupRef","saveAlignRef","componentDidMount","rootNode","getPopupDomNode","setStretchSize","popupInstance","getMaskTransitionName","maskTransitionName","maskAnimation","getClassName","currentAlignClassName","getPopupElement","_state","getClassNameFromAlign","destroyPopupOnHide","stretch","sizeStyle","minHeight","minWidth","alignInstance","popupInnerProps","getZIndexStyle","getAlignTarget","xVisible","zIndex","getMaskElement","maskElement","mask","maskTransition","getRootDomNode","popupDomNode","_props2","_state2","$ele","getTargetElement","ALL_HANDLERS","IS_REACT_16","contextTypes","rcTrigger","onPopupMouseDown","Trigger","popupVisible","defaultPopupVisible","prevPopupVisible","fireEvents","getChildContext","_","afterPopupVisibleChange","currentDocument","clickOutsideHandler","isClickToHide","isContextMenuToShow","onDocumentClick","touchOutsideHandler","contextMenuOutsideHandler1","onContextMenuClose","contextMenuOutsideHandler2","clearOutsideHandler","componentWillUnmount","clearDelayTimer","mouseDownTimeout","newState","getPopupAlign","popupPlacement","popupAlign","builtinPlacements","placementStr","baseAlign","getAlignFromPlacement","setPopupVisible","event","alignPoint","onPopupVisibleChange","setPoint","delaySetPopupVisible","delayS","delay","delayTimer","createTwoChains","childPros","isClickToShow","action","showAction","_props3","hideAction","isMouseEnterToShow","_props4","isMouseLeaveToHide","_props5","isFocusToShow","_props6","isBlurToHide","_props7","forcePopupAlign","childCallback","close","_props8","newChildProps","onContextMenu","onClick","onMouseMove","onFocus","onBlur","childrenClassName","trigger","_ref2","portal","handlePortalUpdate","arrayOf","getPopupClassNameFromAlign","popup","popupStyle","popupClassName","popupTransitionName","popupAnimation","mouseEnterDelay","mouseLeaveDelay","focusDelay","blurDelay","getPopupContainer","maskClosable","onPopupAlign","childContextTypes","onPopupMouseEnter","onPopupMouseLeave","relatedTarget","focusTime","preClickTime","preTouchTime","preventDefault","preTime","nextVisible","_context$rcTrigger","context","hasPopupMouseDown","_props9","placement","getAlignPopupClassName","_props10","mouseProps","savePopup","popupContainer","appendChild","Header","format","hourOptions","minuteOptions","secondOptions","disabledHours","disabledMinutes","disabledSeconds","onChange","originalValue","getProtoValue","parsed","isValid","invalid","hour","minute","second","disabledHourOptions","disabledMinuteOptions","disabledSecondOptions","changedValue","_this$props2","onEsc","onKeyDown","keyCode","_value","_format","focusOnOpen","requestAnimationFrame","refInput","select","_this$props3","_this$props4","defaultOpenValue","_this$props5","placeholder","inputReadOnly","_this$state","invalidClass","onInputChange","readOnly","getInput","disabledDate","clearText","array","currentSelectPanel","clearIcon","Select","onSelect","list","scrollToSelected","selectedIndex","_classNames","cls","role","tabIndex","duration","scrollTo","scrollTop","perTick","offsetTop","handleMouseEnter","handleMouseLeave","saveList","getOptions","formatOption","disabledOptions","Combobox","itemValue","use12Hours","propValue","isAM","onAmPmChange","ampm","range","onCurrentSelectPanelChange","showHour","hourOptionsAdj","hourAdj","onItemChange","onEnterSelectPanel","showMinute","showSecond","AMPMOptions","c","selected","_this$props6","getHourSelect","getMinuteSelect","getSecondSelect","getAMPMSelect","generateOptions","hideDisabledOptions","step","Panel","newValue","isArray","_objectSpread","realValue","addon","hourStep","minuteStep","secondStep","validDefaultOpenValue","sort","a","toNearestValidTime","autoAdjustOverflow","bottomLeft","bottomRight","topRight","topLeft","refFn","field","Picker","setValue","stopPropagation","setOpen","open","saveInputRef","savePanelRef","defaultOpen","defaultValue","_props$open","_open","_props$value","onPanelChange","getFormat","selectColumnCount","onOpen","onClose","picker","blur","allowEmpty","_onClick","onClear","title","id","autoComplete","autoFocus","inputIcon","getPopupClassName","getPanelElement","onVisibleChange","renderClearButton","_interopRequireDefault","__esModule","exports","_EventBaseObject2","_objectAssign2","commonProps","isNullOrUndefined","eventNormalizers","fix","nativeEvent","charCode","metaKey","ctrlKey","deltaX","deltaY","delta","wheelDelta","axis","wheelDeltaY","wheelDeltaX","detail","HORIZONTAL_AXIS","VERTICAL_AXIS","eventDoc","button","scrollLeft","fromElement","toElement","retTrue","retFalse","DomEventObject","isNative","cancelBubble","isDefaultPrevented","defaultPrevented","getPreventDefault","returnValue","fixFns","normalizer","srcElement","fixFn","timeStamp","EventBaseObjectProto","module","wrapCallback","ne","_EventObject2","useCapture","capture","attachEvent","detachEvent","_EventObject","err","re","ClassList","classList","removeMatching","splice","toggle","force","has","getAttribute","shift","returnFalse","returnTrue","EventBaseObject","currentTarget","isEventObject","isPropagationStopped","isImmediatePropagationStopped","stopImmediatePropagation","halt","immediate","_defineProperty2","default"],"mappings":"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","file":"static/js/7.7acc66bc.chunk.js","sourcesContent":["/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","export default function contains(root, n) {\n var node = n;\n\n while (node) {\n if (node === root) {\n return true;\n }\n\n node = node.parentNode;\n }\n\n return false;\n}","import addDOMEventListener from 'add-dom-event-listener';\nimport 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 return addDOMEventListener(target, eventType, callback, option);\n}","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\n\nvar ContainerRender =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(ContainerRender, _React$Component);\n\n function ContainerRender() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, ContainerRender);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(ContainerRender)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _this.removeContainer = function () {\n if (_this.container) {\n ReactDOM.unmountComponentAtNode(_this.container);\n\n _this.container.parentNode.removeChild(_this.container);\n\n _this.container = null;\n }\n };\n\n _this.renderComponent = function (props, ready) {\n var _this$props = _this.props,\n visible = _this$props.visible,\n getComponent = _this$props.getComponent,\n forceRender = _this$props.forceRender,\n getContainer = _this$props.getContainer,\n parent = _this$props.parent;\n\n if (visible || parent._component || forceRender) {\n if (!_this.container) {\n _this.container = getContainer();\n }\n\n ReactDOM.unstable_renderSubtreeIntoContainer(parent, getComponent(props), _this.container, function callback() {\n if (ready) {\n ready.call(this);\n }\n });\n }\n };\n\n return _this;\n }\n\n _createClass(ContainerRender, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.autoMount) {\n this.renderComponent();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n if (this.props.autoMount) {\n this.renderComponent();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.props.autoDestroy) {\n this.removeContainer();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n return this.props.children({\n renderComponent: this.renderComponent,\n removeContainer: this.removeContainer\n });\n }\n }]);\n\n return ContainerRender;\n}(React.Component);\n\nContainerRender.propTypes = {\n autoMount: PropTypes.bool,\n autoDestroy: PropTypes.bool,\n visible: PropTypes.bool,\n forceRender: PropTypes.bool,\n parent: PropTypes.any,\n getComponent: PropTypes.func.isRequired,\n getContainer: PropTypes.func.isRequired,\n children: PropTypes.func.isRequired\n};\nContainerRender.defaultProps = {\n autoMount: true,\n autoDestroy: true,\n forceRender: false\n};\nexport { ContainerRender as default };","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\n\nvar Portal =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Portal, _React$Component);\n\n function Portal() {\n _classCallCheck(this, Portal);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Portal).apply(this, arguments));\n }\n\n _createClass(Portal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.createContainer();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var didUpdate = this.props.didUpdate;\n\n if (didUpdate) {\n didUpdate(prevProps);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.removeContainer();\n }\n }, {\n key: \"createContainer\",\n value: function createContainer() {\n this._container = this.props.getContainer();\n this.forceUpdate();\n }\n }, {\n key: \"removeContainer\",\n value: function removeContainer() {\n if (this._container) {\n this._container.parentNode.removeChild(this._container);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n if (this._container) {\n return ReactDOM.createPortal(this.props.children, this._container);\n }\n\n return null;\n }\n }]);\n\n return Portal;\n}(React.Component);\n\nPortal.propTypes = {\n getContainer: PropTypes.func.isRequired,\n children: PropTypes.node.isRequired,\n didUpdate: PropTypes.func\n};\nexport { Portal as default };","import _extends from 'babel-runtime/helpers/extends';\nfunction isPointsEq(a1, a2, isAlignPoint) {\n if (isAlignPoint) {\n return a1[0] === a2[0];\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 _extends({}, baseAlign, align);\n}\n\nexport function getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {\n var points = align.points;\n for (var placement in builtinPlacements) {\n if (builtinPlacements.hasOwnProperty(placement)) {\n if (isPointsEq(builtinPlacements[placement].points, points, isAlignPoint)) {\n return prefixCls + '-placement-' + placement;\n }\n }\n }\n return '';\n}\n\nexport function saveRef(name, component) {\n this[name] = component;\n}","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (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}\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}\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}\nvar matrix2d = /matrix\\((.*)\\)/;\nvar matrix3d = /matrix3d\\((.*)\\)/;\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 */\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 <div style=\"width: 50px;height: 100px;overflow: hidden\">\n <div style=\"width: 50px;height: 100px;position: relative;\" id=\"d6\">\n 元素 6 高 100px 宽 50px<br/>\n </div>\n </div>\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 = 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;\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) {\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 (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/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\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/**\n * align dom node flexibly\n * @author yiminghe@gmail.com\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\n var visibleRect = getVisibleRectForElement(source); // 当前节点所占的区域, 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 points = align.points;\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 // 例如 <div 'relative'><el absolute></div>\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\nfunction isOutOfVisibleRect(target) {\n var visibleRect = getVisibleRectForElement(target);\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);\n return doAlign(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\n\nalignElement.__getOffsetParent = getOffsetParent;\nalignElement.__getVisibleRectForElement = getVisibleRectForElement;\n\n/**\n * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.\n * If client position provided, will internal convert to page position.\n */\n\nfunction alignPoint(el, tgtPoint, align) {\n 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 };\n//# sourceMappingURL=index.js.map\n","import contains from 'rc-util/es/Dom/contains';\n\nexport function buffer(fn, ms) {\n var timer = void 0;\n\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n\n function bufferFn() {\n clear();\n timer = setTimeout(fn, ms);\n }\n\n bufferFn.clear = clear;\n\n return bufferFn;\n}\n\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}\n\nexport function isWindow(obj) {\n return obj && typeof obj === 'object' && obj.window === obj;\n}\n\nexport function isSimilarValue(val1, val2) {\n var int1 = Math.floor(val1);\n var int2 = Math.floor(val2);\n return Math.abs(int1 - int2) <= 1;\n}\n\nexport function restoreFocus(activeElement, container) {\n // Focus back if is in the container\n if (activeElement !== document.activeElement && contains(container, activeElement)) {\n activeElement.focus();\n }\n}","import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport { alignElement, alignPoint } from 'dom-align';\nimport addEventListener from 'rc-util/es/Dom/addEventListener';\n\nimport { isWindow, buffer, isSamePoint, isSimilarValue, restoreFocus } from './util';\n\nfunction getElement(func) {\n if (typeof func !== 'function' || !func) 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 (_Component) {\n _inherits(Align, _Component);\n\n function Align() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Align);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Align.__proto__ || Object.getPrototypeOf(Align)).call.apply(_ref, [this].concat(args))), _this), _this.forceAlign = function () {\n var _this$props = _this.props,\n disabled = _this$props.disabled,\n target = _this$props.target,\n align = _this$props.align,\n onAlign = _this$props.onAlign;\n\n if (!disabled && target) {\n var source = ReactDOM.findDOMNode(_this);\n\n var result = void 0;\n var element = getElement(target);\n var point = getPoint(target);\n\n // IE lose focus after element realign\n // We should record activeElement and restore later\n var activeElement = document.activeElement;\n\n if (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 (onAlign) {\n onAlign(source, result);\n }\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Align, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var props = this.props;\n // if parent ref not attached .... use document.getElementById\n this.forceAlign();\n if (!props.disabled && props.monitorWindowResize) {\n this.startMonitorWindowResize();\n }\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n var reAlign = false;\n var props = this.props;\n\n if (!props.disabled) {\n var source = ReactDOM.findDOMNode(this);\n var sourceRect = source ? source.getBoundingClientRect() : null;\n\n if (prevProps.disabled) {\n reAlign = true;\n } else {\n var lastElement = getElement(prevProps.target);\n var currentElement = getElement(props.target);\n var lastPoint = getPoint(prevProps.target);\n var currentPoint = getPoint(props.target);\n\n if (isWindow(lastElement) && isWindow(currentElement)) {\n // Skip if is window\n reAlign = false;\n } else if (lastElement !== currentElement || // Element change\n lastElement && !currentElement && currentPoint || // Change from element to point\n lastPoint && currentPoint && currentElement || // Change from point to element\n currentPoint && !isSamePoint(lastPoint, currentPoint)) {\n reAlign = true;\n }\n\n // If source element size changed\n var preRect = this.sourceRect || {};\n if (!reAlign && source && (!isSimilarValue(preRect.width, sourceRect.width) || !isSimilarValue(preRect.height, sourceRect.height))) {\n reAlign = true;\n }\n }\n\n this.sourceRect = sourceRect;\n }\n\n if (reAlign) {\n this.forceAlign();\n }\n\n if (props.monitorWindowResize && !props.disabled) {\n this.startMonitorWindowResize();\n } else {\n this.stopMonitorWindowResize();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.stopMonitorWindowResize();\n }\n }, {\n key: 'startMonitorWindowResize',\n value: function startMonitorWindowResize() {\n if (!this.resizeHandler) {\n this.bufferMonitor = buffer(this.forceAlign, this.props.monitorBufferTime);\n this.resizeHandler = addEventListener(window, 'resize', this.bufferMonitor);\n }\n }\n }, {\n key: 'stopMonitorWindowResize',\n value: function stopMonitorWindowResize() {\n if (this.resizeHandler) {\n this.bufferMonitor.clear();\n this.resizeHandler.remove();\n this.resizeHandler = null;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n childrenProps = _props.childrenProps,\n children = _props.children;\n\n var child = React.Children.only(children);\n if (childrenProps) {\n var newProps = {};\n var propList = Object.keys(childrenProps);\n propList.forEach(function (prop) {\n newProps[prop] = _this2.props[childrenProps[prop]];\n });\n\n return React.cloneElement(child, newProps);\n }\n return child;\n }\n }]);\n\n return Align;\n}(Component);\n\nAlign.propTypes = {\n childrenProps: PropTypes.object,\n align: PropTypes.object.isRequired,\n target: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n clientX: PropTypes.number,\n clientY: PropTypes.number,\n pageX: PropTypes.number,\n pageY: PropTypes.number\n })]),\n onAlign: PropTypes.func,\n monitorBufferTime: PropTypes.number,\n monitorWindowResize: PropTypes.bool,\n disabled: PropTypes.bool,\n children: PropTypes.any\n};\nAlign.defaultProps = {\n target: function target() {\n return window;\n },\n monitorBufferTime: 50,\n monitorWindowResize: false,\n disabled: false\n};\n\n\nexport default Align;","// export this package's api\nimport Align from './Align';\n\nexport default Align;","import React from 'react';\n\nvar unsafeLifecyclesPolyfill = function unsafeLifecyclesPolyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n } // only handle componentWillReceiveProps\n\n\n if (typeof prototype.componentWillReceiveProps !== 'function') {\n return Component;\n } // In React 16.9, React.Profiler was introduced together with UNSAFE_componentWillReceiveProps\n // https://reactjs.org/blog/2019/08/08/react-v16.9.0.html#performance-measurements-with-reactprofiler\n\n\n if (!React.Profiler) {\n return Component;\n } // Here polyfill get started\n\n\n prototype.UNSAFE_componentWillReceiveProps = prototype.componentWillReceiveProps;\n delete prototype.componentWillReceiveProps;\n return Component;\n};\n\nexport default unsafeLifecyclesPolyfill;","import React from 'react';\n\nexport function toArrayChildren(children) {\n var ret = [];\n React.Children.forEach(children, function (child) {\n ret.push(child);\n });\n return ret;\n}\n\nexport function findChildInChildrenByKey(children, key) {\n var ret = null;\n if (children) {\n children.forEach(function (child) {\n if (ret) {\n return;\n }\n if (child && child.key === key) {\n ret = child;\n }\n });\n }\n return ret;\n}\n\nexport function findShownChildInChildrenByKey(children, key, showProp) {\n var ret = null;\n if (children) {\n children.forEach(function (child) {\n if (child && child.key === key && child.props[showProp]) {\n if (ret) {\n throw new Error('two child with same key for <rc-animate> children');\n }\n ret = child;\n }\n });\n }\n return ret;\n}\n\nexport function findHiddenChildInChildrenByKey(children, key, showProp) {\n var found = 0;\n if (children) {\n children.forEach(function (child) {\n if (found) {\n return;\n }\n found = child && child.key === key && !child.props[showProp];\n });\n }\n return found;\n}\n\nexport function isSameChildren(c1, c2, showProp) {\n var same = c1.length === c2.length;\n if (same) {\n c1.forEach(function (child, index) {\n var child2 = c2[index];\n if (child && child2) {\n if (child && !child2 || !child && child2) {\n same = false;\n } else if (child.key !== child2.key) {\n same = false;\n } else if (showProp && child.props[showProp] !== child2.props[showProp]) {\n same = false;\n }\n }\n });\n }\n return same;\n}\n\nexport function mergeChildren(prev, next) {\n var ret = [];\n\n // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n var nextChildrenPending = {};\n var pendingChildren = [];\n prev.forEach(function (child) {\n if (child && findChildInChildrenByKey(next, child.key)) {\n if (pendingChildren.length) {\n nextChildrenPending[child.key] = pendingChildren;\n pendingChildren = [];\n }\n } else {\n pendingChildren.push(child);\n }\n });\n\n next.forEach(function (child) {\n if (child && Object.prototype.hasOwnProperty.call(nextChildrenPending, child.key)) {\n ret = ret.concat(nextChildrenPending[child.key]);\n }\n ret.push(child);\n });\n\n ret = ret.concat(pendingChildren);\n\n return ret;\n}","var START_EVENT_NAME_MAP = {\n transitionstart: {\n transition: 'transitionstart',\n WebkitTransition: 'webkitTransitionStart',\n MozTransition: 'mozTransitionStart',\n OTransition: 'oTransitionStart',\n msTransition: 'MSTransitionStart'\n },\n\n animationstart: {\n animation: 'animationstart',\n WebkitAnimation: 'webkitAnimationStart',\n MozAnimation: 'mozAnimationStart',\n OAnimation: 'oAnimationStart',\n msAnimation: 'MSAnimationStart'\n }\n};\n\nvar END_EVENT_NAME_MAP = {\n transitionend: {\n transition: 'transitionend',\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'mozTransitionEnd',\n OTransition: 'oTransitionEnd',\n msTransition: 'MSTransitionEnd'\n },\n\n animationend: {\n animation: 'animationend',\n WebkitAnimation: 'webkitAnimationEnd',\n MozAnimation: 'mozAnimationEnd',\n OAnimation: 'oAnimationEnd',\n msAnimation: 'MSAnimationEnd'\n }\n};\n\nvar startEvents = [];\nvar endEvents = [];\n\nfunction detectEvents() {\n var testEl = document.createElement('div');\n var style = testEl.style;\n\n if (!('AnimationEvent' in window)) {\n delete START_EVENT_NAME_MAP.animationstart.animation;\n delete END_EVENT_NAME_MAP.animationend.animation;\n }\n\n if (!('TransitionEvent' in window)) {\n delete START_EVENT_NAME_MAP.transitionstart.transition;\n delete END_EVENT_NAME_MAP.transitionend.transition;\n }\n\n function process(EVENT_NAME_MAP, events) {\n for (var baseEventName in EVENT_NAME_MAP) {\n if (EVENT_NAME_MAP.hasOwnProperty(baseEventName)) {\n var baseEvents = EVENT_NAME_MAP[baseEventName];\n for (var styleName in baseEvents) {\n if (styleName in style) {\n events.push(baseEvents[styleName]);\n break;\n }\n }\n }\n }\n }\n\n process(START_EVENT_NAME_MAP, startEvents);\n process(END_EVENT_NAME_MAP, endEvents);\n}\n\nif (typeof window !== 'undefined' && typeof document !== 'undefined') {\n detectEvents();\n}\n\nfunction addEventListener(node, eventName, eventListener) {\n node.addEventListener(eventName, eventListener, false);\n}\n\nfunction removeEventListener(node, eventName, eventListener) {\n node.removeEventListener(eventName, eventListener, false);\n}\n\nvar TransitionEvents = {\n // Start events\n startEvents: startEvents,\n\n addStartEventListener: function addStartEventListener(node, eventListener) {\n if (startEvents.length === 0) {\n window.setTimeout(eventListener, 0);\n return;\n }\n startEvents.forEach(function (startEvent) {\n addEventListener(node, startEvent, eventListener);\n });\n },\n removeStartEventListener: function removeStartEventListener(node, eventListener) {\n if (startEvents.length === 0) {\n return;\n }\n startEvents.forEach(function (startEvent) {\n removeEventListener(node, startEvent, eventListener);\n });\n },\n\n\n // End events\n endEvents: endEvents,\n\n addEndEventListener: function addEndEventListener(node, eventListener) {\n if (endEvents.length === 0) {\n window.setTimeout(eventListener, 0);\n return;\n }\n endEvents.forEach(function (endEvent) {\n addEventListener(node, endEvent, eventListener);\n });\n },\n removeEndEventListener: function removeEndEventListener(node, eventListener) {\n if (endEvents.length === 0) {\n return;\n }\n endEvents.forEach(function (endEvent) {\n removeEventListener(node, endEvent, eventListener);\n });\n }\n};\n\nexport default TransitionEvents;","import _typeof from 'babel-runtime/helpers/typeof';\nimport Event from './Event';\nimport classes from 'component-classes';\n\nvar isCssAnimationSupported = Event.endEvents.length !== 0;\nvar capitalPrefixes = ['Webkit', 'Moz', 'O',\n// ms is special .... !\n'ms'];\nvar prefixes = ['-webkit-', '-moz-', '-o-', 'ms-', ''];\n\nfunction getStyleProperty(node, name) {\n // old ff need null, https://developer.mozilla.org/en-US/docs/Web/API/Window/getComputedStyle\n var style = window.getComputedStyle(node, null);\n var ret = '';\n for (var i = 0; i < prefixes.length; i++) {\n ret = style.getPropertyValue(prefixes[i] + name);\n if (ret) {\n break;\n }\n }\n return ret;\n}\n\nfunction fixBrowserByTimeout(node) {\n if (isCssAnimationSupported) {\n var transitionDelay = parseFloat(getStyleProperty(node, 'transition-delay')) || 0;\n var transitionDuration = parseFloat(getStyleProperty(node, 'transition-duration')) || 0;\n var animationDelay = parseFloat(getStyleProperty(node, 'animation-delay')) || 0;\n var animationDuration = parseFloat(getStyleProperty(node, 'animation-duration')) || 0;\n var time = Math.max(transitionDuration + transitionDelay, animationDuration + animationDelay);\n // sometimes, browser bug\n node.rcEndAnimTimeout = setTimeout(function () {\n node.rcEndAnimTimeout = null;\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n }, time * 1000 + 200);\n }\n}\n\nfunction clearBrowserBugTimeout(node) {\n if (node.rcEndAnimTimeout) {\n clearTimeout(node.rcEndAnimTimeout);\n node.rcEndAnimTimeout = null;\n }\n}\n\nvar cssAnimation = function cssAnimation(node, transitionName, endCallback) {\n var nameIsObj = (typeof transitionName === 'undefined' ? 'undefined' : _typeof(transitionName)) === 'object';\n var className = nameIsObj ? transitionName.name : transitionName;\n var activeClassName = nameIsObj ? transitionName.active : transitionName + '-active';\n var end = endCallback;\n var start = void 0;\n var active = void 0;\n var nodeClasses = classes(node);\n\n if (endCallback && Object.prototype.toString.call(endCallback) === '[object Object]') {\n end = endCallback.end;\n start = endCallback.start;\n active = endCallback.active;\n }\n\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n\n node.rcEndListener = function (e) {\n if (e && e.target !== node) {\n return;\n }\n\n if (node.rcAnimTimeout) {\n clearTimeout(node.rcAnimTimeout);\n node.rcAnimTimeout = null;\n }\n\n clearBrowserBugTimeout(node);\n\n nodeClasses.remove(className);\n nodeClasses.remove(activeClassName);\n\n Event.removeEndEventListener(node, node.rcEndListener);\n node.rcEndListener = null;\n\n // Usually this optional end is used for informing an owner of\n // a leave animation and telling it to remove the child.\n if (end) {\n end();\n }\n };\n\n Event.addEndEventListener(node, node.rcEndListener);\n\n if (start) {\n start();\n }\n nodeClasses.add(className);\n\n node.rcAnimTimeout = setTimeout(function () {\n node.rcAnimTimeout = null;\n nodeClasses.add(activeClassName);\n if (active) {\n setTimeout(active, 0);\n }\n fixBrowserByTimeout(node);\n // 30ms for firefox\n }, 30);\n\n return {\n stop: function stop() {\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n }\n };\n};\n\ncssAnimation.style = function (node, style, callback) {\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n\n node.rcEndListener = function (e) {\n if (e && e.target !== node) {\n return;\n }\n\n if (node.rcAnimTimeout) {\n clearTimeout(node.rcAnimTimeout);\n node.rcAnimTimeout = null;\n }\n\n clearBrowserBugTimeout(node);\n\n Event.removeEndEventListener(node, node.rcEndListener);\n node.rcEndListener = null;\n\n // Usually this optional callback is used for informing an owner of\n // a leave animation and telling it to remove the child.\n if (callback) {\n callback();\n }\n };\n\n Event.addEndEventListener(node, node.rcEndListener);\n\n node.rcAnimTimeout = setTimeout(function () {\n for (var s in style) {\n if (style.hasOwnProperty(s)) {\n node.style[s] = style[s];\n }\n }\n node.rcAnimTimeout = null;\n fixBrowserByTimeout(node);\n }, 0);\n};\n\ncssAnimation.setTransition = function (node, p, value) {\n var property = p;\n var v = value;\n if (value === undefined) {\n v = property;\n property = '';\n }\n property = property || '';\n capitalPrefixes.forEach(function (prefix) {\n node.style[prefix + 'Transition' + property] = v;\n });\n};\n\ncssAnimation.isCssAnimationSupported = isCssAnimationSupported;\n\nexport { isCssAnimationSupported };\n\nexport default cssAnimation;","var util = {\n isAppearSupported: function isAppearSupported(props) {\n return props.transitionName && props.transitionAppear || props.animation.appear;\n },\n isEnterSupported: function isEnterSupported(props) {\n return props.transitionName && props.transitionEnter || props.animation.enter;\n },\n isLeaveSupported: function isLeaveSupported(props) {\n return props.transitionName && props.transitionLeave || props.animation.leave;\n },\n allowAppearCallback: function allowAppearCallback(props) {\n return props.transitionAppear || props.animation.appear;\n },\n allowEnterCallback: function allowEnterCallback(props) {\n return props.transitionEnter || props.animation.enter;\n },\n allowLeaveCallback: function allowLeaveCallback(props) {\n return props.transitionLeave || props.animation.leave;\n }\n};\nexport default util;","import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport cssAnimate, { isCssAnimationSupported } from 'css-animation';\nimport animUtil from './util/animate';\n\nvar transitionMap = {\n enter: 'transitionEnter',\n appear: 'transitionAppear',\n leave: 'transitionLeave'\n};\n\nvar AnimateChild = function (_React$Component) {\n _inherits(AnimateChild, _React$Component);\n\n function AnimateChild() {\n _classCallCheck(this, AnimateChild);\n\n return _possibleConstructorReturn(this, (AnimateChild.__proto__ || Object.getPrototypeOf(AnimateChild)).apply(this, arguments));\n }\n\n _createClass(AnimateChild, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.stop();\n }\n }, {\n key: 'componentWillEnter',\n value: function componentWillEnter(done) {\n if (animUtil.isEnterSupported(this.props)) {\n this.transition('enter', done);\n } else {\n done();\n }\n }\n }, {\n key: 'componentWillAppear',\n value: function componentWillAppear(done) {\n if (animUtil.isAppearSupported(this.props)) {\n this.transition('appear', done);\n } else {\n done();\n }\n }\n }, {\n key: 'componentWillLeave',\n value: function componentWillLeave(done) {\n if (animUtil.isLeaveSupported(this.props)) {\n this.transition('leave', done);\n } else {\n // always sync, do not interupt with react component life cycle\n // update hidden -> animate hidden ->\n // didUpdate -> animate leave -> unmount (if animate is none)\n done();\n }\n }\n }, {\n key: 'transition',\n value: function transition(animationType, finishCallback) {\n var _this2 = this;\n\n var node = ReactDOM.findDOMNode(this);\n var props = this.props;\n var transitionName = props.transitionName;\n var nameIsObj = typeof transitionName === 'object';\n this.stop();\n var end = function end() {\n _this2.stopper = null;\n finishCallback();\n };\n if ((isCssAnimationSupported || !props.animation[animationType]) && transitionName && props[transitionMap[animationType]]) {\n var name = nameIsObj ? transitionName[animationType] : transitionName + '-' + animationType;\n var activeName = name + '-active';\n if (nameIsObj && transitionName[animationType + 'Active']) {\n activeName = transitionName[animationType + 'Active'];\n }\n this.stopper = cssAnimate(node, {\n name: name,\n active: activeName\n }, end);\n } else {\n this.stopper = props.animation[animationType](node, end);\n }\n }\n }, {\n key: 'stop',\n value: function stop() {\n var stopper = this.stopper;\n if (stopper) {\n this.stopper = null;\n stopper.stop();\n }\n }\n }, {\n key: 'render',\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return AnimateChild;\n}(React.Component);\n\nAnimateChild.propTypes = {\n children: PropTypes.any,\n animation: PropTypes.any,\n transitionName: PropTypes.any\n};\nexport default AnimateChild;","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 _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport unsafeLifecyclesPolyfill from 'rc-util/es/unsafeLifecyclesPolyfill';\nimport { toArrayChildren, mergeChildren, findShownChildInChildrenByKey, findChildInChildrenByKey, isSameChildren } from './ChildrenUtils';\nimport AnimateChild from './AnimateChild';\nimport animUtil from './util/animate';\n\nvar defaultKey = 'rc_animate_' + Date.now();\n\nfunction getChildrenFromProps(props) {\n var children = props.children;\n if (React.isValidElement(children)) {\n if (!children.key) {\n return React.cloneElement(children, {\n key: defaultKey\n });\n }\n }\n return children;\n}\n\nfunction noop() {}\n\nvar Animate = function (_React$Component) {\n _inherits(Animate, _React$Component);\n\n // eslint-disable-line\n\n function Animate(props) {\n _classCallCheck(this, Animate);\n\n var _this = _possibleConstructorReturn(this, (Animate.__proto__ || Object.getPrototypeOf(Animate)).call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.currentlyAnimatingKeys = {};\n _this.keysToEnter = [];\n _this.keysToLeave = [];\n\n _this.state = {\n children: toArrayChildren(getChildrenFromProps(props))\n };\n\n _this.childrenRefs = {};\n return _this;\n }\n\n _createClass(Animate, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _this2 = this;\n\n var showProp = this.props.showProp;\n var children = this.state.children;\n if (showProp) {\n children = children.filter(function (child) {\n return !!child.props[showProp];\n });\n }\n children.forEach(function (child) {\n if (child) {\n _this2.performAppear(child.key);\n }\n });\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n var _this3 = this;\n\n this.nextProps = nextProps;\n var nextChildren = toArrayChildren(getChildrenFromProps(nextProps));\n var props = this.props;\n // exclusive needs immediate response\n if (props.exclusive) {\n Object.keys(this.currentlyAnimatingKeys).forEach(function (key) {\n _this3.stop(key);\n });\n }\n var showProp = props.showProp;\n var currentlyAnimatingKeys = this.currentlyAnimatingKeys;\n // last props children if exclusive\n var currentChildren = props.exclusive ? toArrayChildren(getChildrenFromProps(props)) : this.state.children;\n // in case destroy in showProp mode\n var newChildren = [];\n if (showProp) {\n currentChildren.forEach(function (currentChild) {\n var nextChild = currentChild && findChildInChildrenByKey(nextChildren, currentChild.key);\n var newChild = void 0;\n if ((!nextChild || !nextChild.props[showProp]) && currentChild.props[showProp]) {\n newChild = React.cloneElement(nextChild || currentChild, _defineProperty({}, showProp, true));\n } else {\n newChild = nextChild;\n }\n if (newChild) {\n newChildren.push(newChild);\n }\n });\n nextChildren.forEach(function (nextChild) {\n if (!nextChild || !findChildInChildrenByKey(currentChildren, nextChild.key)) {\n newChildren.push(nextChild);\n }\n });\n } else {\n newChildren = mergeChildren(currentChildren, nextChildren);\n }\n\n // need render to avoid update\n this.setState({\n children: newChildren\n });\n\n nextChildren.forEach(function (child) {\n var key = child && child.key;\n if (child && currentlyAnimatingKeys[key]) {\n return;\n }\n var hasPrev = child && findChildInChildrenByKey(currentChildren, key);\n if (showProp) {\n var showInNext = child.props[showProp];\n if (hasPrev) {\n var showInNow = findShownChildInChildrenByKey(currentChildren, key, showProp);\n if (!showInNow && showInNext) {\n _this3.keysToEnter.push(key);\n }\n } else if (showInNext) {\n _this3.keysToEnter.push(key);\n }\n } else if (!hasPrev) {\n _this3.keysToEnter.push(key);\n }\n });\n\n currentChildren.forEach(function (child) {\n var key = child && child.key;\n if (child && currentlyAnimatingKeys[key]) {\n return;\n }\n var hasNext = child && findChildInChildrenByKey(nextChildren, key);\n if (showProp) {\n var showInNow = child.props[showProp];\n if (hasNext) {\n var showInNext = findShownChildInChildrenByKey(nextChildren, key, showProp);\n if (!showInNext && showInNow) {\n _this3.keysToLeave.push(key);\n }\n } else if (showInNow) {\n _this3.keysToLeave.push(key);\n }\n } else if (!hasNext) {\n _this3.keysToLeave.push(key);\n }\n });\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n var keysToEnter = this.keysToEnter;\n this.keysToEnter = [];\n keysToEnter.forEach(this.performEnter);\n var keysToLeave = this.keysToLeave;\n this.keysToLeave = [];\n keysToLeave.forEach(this.performLeave);\n }\n }, {\n key: 'isValidChildByKey',\n value: function isValidChildByKey(currentChildren, key) {\n var showProp = this.props.showProp;\n if (showProp) {\n return findShownChildInChildrenByKey(currentChildren, key, showProp);\n }\n return findChildInChildrenByKey(currentChildren, key);\n }\n }, {\n key: 'stop',\n value: function stop(key) {\n delete this.currentlyAnimatingKeys[key];\n var component = this.childrenRefs[key];\n if (component) {\n component.stop();\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this4 = this;\n\n var props = this.props;\n this.nextProps = props;\n var stateChildren = this.state.children;\n var children = null;\n if (stateChildren) {\n children = stateChildren.map(function (child) {\n if (child === null || child === undefined) {\n return child;\n }\n if (!child.key) {\n throw new Error('must set key for <rc-animate> children');\n }\n return React.createElement(\n AnimateChild,\n {\n key: child.key,\n ref: function ref(node) {\n _this4.childrenRefs[child.key] = node;\n },\n animation: props.animation,\n transitionName: props.transitionName,\n transitionEnter: props.transitionEnter,\n transitionAppear: props.transitionAppear,\n transitionLeave: props.transitionLeave\n },\n child\n );\n });\n }\n var Component = props.component;\n if (Component) {\n var passedProps = props;\n if (typeof Component === 'string') {\n passedProps = _extends({\n className: props.className,\n style: props.style\n }, props.componentProps);\n }\n return React.createElement(\n Component,\n passedProps,\n children\n );\n }\n return children[0] || null;\n }\n }]);\n\n return Animate;\n}(React.Component);\n\nAnimate.isAnimate = true;\nAnimate.propTypes = {\n className: PropTypes.string,\n style: PropTypes.object,\n component: PropTypes.any,\n componentProps: PropTypes.object,\n animation: PropTypes.object,\n transitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n transitionEnter: PropTypes.bool,\n transitionAppear: PropTypes.bool,\n exclusive: PropTypes.bool,\n transitionLeave: PropTypes.bool,\n onEnd: PropTypes.func,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n onAppear: PropTypes.func,\n showProp: PropTypes.string,\n children: PropTypes.node\n};\nAnimate.defaultProps = {\n animation: {},\n component: 'span',\n componentProps: {},\n transitionEnter: true,\n transitionLeave: true,\n transitionAppear: false,\n onEnd: noop,\n onEnter: noop,\n onLeave: noop,\n onAppear: noop\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this5 = this;\n\n this.performEnter = function (key) {\n // may already remove by exclusive\n if (_this5.childrenRefs[key]) {\n _this5.currentlyAnimatingKeys[key] = true;\n _this5.childrenRefs[key].componentWillEnter(_this5.handleDoneAdding.bind(_this5, key, 'enter'));\n }\n };\n\n this.performAppear = function (key) {\n if (_this5.childrenRefs[key]) {\n _this5.currentlyAnimatingKeys[key] = true;\n _this5.childrenRefs[key].componentWillAppear(_this5.handleDoneAdding.bind(_this5, key, 'appear'));\n }\n };\n\n this.handleDoneAdding = function (key, type) {\n var props = _this5.props;\n delete _this5.currentlyAnimatingKeys[key];\n // if update on exclusive mode, skip check\n if (props.exclusive && props !== _this5.nextProps) {\n return;\n }\n var currentChildren = toArrayChildren(getChildrenFromProps(props));\n if (!_this5.isValidChildByKey(currentChildren, key)) {\n // exclusive will not need this\n _this5.performLeave(key);\n } else if (type === 'appear') {\n if (animUtil.allowAppearCallback(props)) {\n props.onAppear(key);\n props.onEnd(key, true);\n }\n } else if (animUtil.allowEnterCallback(props)) {\n props.onEnter(key);\n props.onEnd(key, true);\n }\n };\n\n this.performLeave = function (key) {\n // may already remove by exclusive\n if (_this5.childrenRefs[key]) {\n _this5.currentlyAnimatingKeys[key] = true;\n _this5.childrenRefs[key].componentWillLeave(_this5.handleDoneLeaving.bind(_this5, key));\n }\n };\n\n this.handleDoneLeaving = function (key) {\n var props = _this5.props;\n delete _this5.currentlyAnimatingKeys[key];\n // if update on exclusive mode, skip check\n if (props.exclusive && props !== _this5.nextProps) {\n return;\n }\n var currentChildren = toArrayChildren(getChildrenFromProps(props));\n // in case state change is too fast\n if (_this5.isValidChildByKey(currentChildren, key)) {\n _this5.performEnter(key);\n } else {\n var end = function end() {\n if (animUtil.allowLeaveCallback(props)) {\n props.onLeave(key);\n props.onEnd(key, false);\n }\n };\n if (!isSameChildren(_this5.state.children, currentChildren, props.showProp)) {\n _this5.setState({\n children: currentChildren\n }, end);\n } else {\n end();\n }\n }\n };\n};\n\nexport default unsafeLifecyclesPolyfill(Animate);","import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nvar LazyRenderBox = function (_Component) {\n _inherits(LazyRenderBox, _Component);\n\n function LazyRenderBox() {\n _classCallCheck(this, LazyRenderBox);\n\n return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n LazyRenderBox.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return nextProps.hiddenClassName || nextProps.visible;\n };\n\n LazyRenderBox.prototype.render = function render() {\n var _props = this.props,\n hiddenClassName = _props.hiddenClassName,\n visible = _props.visible,\n props = _objectWithoutProperties(_props, ['hiddenClassName', 'visible']);\n\n if (hiddenClassName || React.Children.count(props.children) > 1) {\n if (!visible && hiddenClassName) {\n props.className += ' ' + hiddenClassName;\n }\n return React.createElement('div', props);\n }\n\n return React.Children.only(props.children);\n };\n\n return LazyRenderBox;\n}(Component);\n\nLazyRenderBox.propTypes = {\n children: PropTypes.any,\n className: PropTypes.string,\n visible: PropTypes.bool,\n hiddenClassName: PropTypes.string\n};\n\n\nexport default LazyRenderBox;","import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport LazyRenderBox from './LazyRenderBox';\n\nvar PopupInner = function (_Component) {\n _inherits(PopupInner, _Component);\n\n function PopupInner() {\n _classCallCheck(this, PopupInner);\n\n return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n PopupInner.prototype.render = function render() {\n var props = this.props;\n var className = props.className;\n if (!props.visible) {\n className += ' ' + props.hiddenClassName;\n }\n return React.createElement(\n 'div',\n {\n className: className,\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n onMouseDown: props.onMouseDown,\n onTouchStart: props.onTouchStart,\n style: props.style\n },\n React.createElement(\n LazyRenderBox,\n { className: props.prefixCls + '-content', visible: props.visible },\n props.children\n )\n );\n };\n\n return PopupInner;\n}(Component);\n\nPopupInner.propTypes = {\n hiddenClassName: PropTypes.string,\n className: PropTypes.string,\n prefixCls: PropTypes.string,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseDown: PropTypes.func,\n onTouchStart: PropTypes.func,\n children: PropTypes.any\n};\n\n\nexport default PopupInner;","import _extends from 'babel-runtime/helpers/extends';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport Align from 'rc-align';\nimport Animate from 'rc-animate';\nimport PopupInner from './PopupInner';\nimport LazyRenderBox from './LazyRenderBox';\nimport { saveRef } from './utils';\n\nvar Popup = function (_Component) {\n _inherits(Popup, _Component);\n\n function Popup(props) {\n _classCallCheck(this, Popup);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.state = {\n // Used for stretch\n stretchChecked: false,\n targetWidth: undefined,\n targetHeight: undefined\n };\n\n _this.savePopupRef = saveRef.bind(_this, 'popupInstance');\n _this.saveAlignRef = saveRef.bind(_this, 'alignInstance');\n return _this;\n }\n\n Popup.prototype.componentDidMount = function componentDidMount() {\n this.rootNode = this.getPopupDomNode();\n this.setStretchSize();\n };\n\n Popup.prototype.componentDidUpdate = function componentDidUpdate() {\n this.setStretchSize();\n };\n\n // Record size if stretch needed\n\n\n Popup.prototype.getPopupDomNode = function getPopupDomNode() {\n return ReactDOM.findDOMNode(this.popupInstance);\n };\n\n // `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\n Popup.prototype.getMaskTransitionName = function getMaskTransitionName() {\n var props = this.props;\n var transitionName = props.maskTransitionName;\n var animation = props.maskAnimation;\n if (!transitionName && animation) {\n transitionName = props.prefixCls + '-' + animation;\n }\n return transitionName;\n };\n\n Popup.prototype.getTransitionName = function getTransitionName() {\n var props = this.props;\n var transitionName = props.transitionName;\n if (!transitionName && props.animation) {\n transitionName = props.prefixCls + '-' + props.animation;\n }\n return transitionName;\n };\n\n Popup.prototype.getClassName = function getClassName(currentAlignClassName) {\n return this.props.prefixCls + ' ' + this.props.className + ' ' + currentAlignClassName;\n };\n\n Popup.prototype.getPopupElement = function getPopupElement() {\n var _this2 = this;\n\n var savePopupRef = this.savePopupRef;\n var _state = this.state,\n stretchChecked = _state.stretchChecked,\n targetHeight = _state.targetHeight,\n targetWidth = _state.targetWidth;\n var _props = this.props,\n align = _props.align,\n visible = _props.visible,\n prefixCls = _props.prefixCls,\n style = _props.style,\n getClassNameFromAlign = _props.getClassNameFromAlign,\n destroyPopupOnHide = _props.destroyPopupOnHide,\n stretch = _props.stretch,\n children = _props.children,\n onMouseEnter = _props.onMouseEnter,\n onMouseLeave = _props.onMouseLeave,\n onMouseDown = _props.onMouseDown,\n onTouchStart = _props.onTouchStart;\n\n var className = this.getClassName(this.currentAlignClassName || getClassNameFromAlign(align));\n var hiddenClassName = prefixCls + '-hidden';\n\n if (!visible) {\n this.currentAlignClassName = null;\n }\n\n var sizeStyle = {};\n if (stretch) {\n // Stretch with target\n if (stretch.indexOf('height') !== -1) {\n sizeStyle.height = targetHeight;\n } else if (stretch.indexOf('minHeight') !== -1) {\n sizeStyle.minHeight = targetHeight;\n }\n if (stretch.indexOf('width') !== -1) {\n sizeStyle.width = targetWidth;\n } else if (stretch.indexOf('minWidth') !== -1) {\n sizeStyle.minWidth = targetWidth;\n }\n\n // Delay force align to makes ui smooth\n if (!stretchChecked) {\n sizeStyle.visibility = 'hidden';\n setTimeout(function () {\n if (_this2.alignInstance) {\n _this2.alignInstance.forceAlign();\n }\n }, 0);\n }\n }\n\n var newStyle = _extends({}, sizeStyle, style, this.getZIndexStyle());\n\n var popupInnerProps = {\n className: className,\n prefixCls: prefixCls,\n ref: savePopupRef,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onMouseDown: onMouseDown,\n onTouchStart: onTouchStart,\n style: newStyle\n };\n if (destroyPopupOnHide) {\n return React.createElement(\n Animate,\n {\n component: '',\n exclusive: true,\n transitionAppear: true,\n transitionName: this.getTransitionName()\n },\n visible ? React.createElement(\n Align,\n {\n target: this.getAlignTarget(),\n key: 'popup',\n ref: this.saveAlignRef,\n monitorWindowResize: true,\n align: align,\n onAlign: this.onAlign\n },\n React.createElement(\n PopupInner,\n _extends({\n visible: true\n }, popupInnerProps),\n children\n )\n ) : null\n );\n }\n\n return React.createElement(\n Animate,\n {\n component: '',\n exclusive: true,\n transitionAppear: true,\n transitionName: this.getTransitionName(),\n showProp: 'xVisible'\n },\n React.createElement(\n Align,\n {\n target: this.getAlignTarget(),\n key: 'popup',\n ref: this.saveAlignRef,\n monitorWindowResize: true,\n xVisible: visible,\n childrenProps: { visible: 'xVisible' },\n disabled: !visible,\n align: align,\n onAlign: this.onAlign\n },\n React.createElement(\n PopupInner,\n _extends({\n hiddenClassName: hiddenClassName\n }, popupInnerProps),\n children\n )\n )\n );\n };\n\n Popup.prototype.getZIndexStyle = function getZIndexStyle() {\n var style = {};\n var props = this.props;\n if (props.zIndex !== undefined) {\n style.zIndex = props.zIndex;\n }\n return style;\n };\n\n Popup.prototype.getMaskElement = function getMaskElement() {\n var props = this.props;\n var maskElement = void 0;\n if (props.mask) {\n var maskTransition = this.getMaskTransitionName();\n maskElement = React.createElement(LazyRenderBox, {\n style: this.getZIndexStyle(),\n key: 'mask',\n className: props.prefixCls + '-mask',\n hiddenClassName: props.prefixCls + '-mask-hidden',\n visible: props.visible\n });\n if (maskTransition) {\n maskElement = React.createElement(\n Animate,\n {\n key: 'mask',\n showProp: 'visible',\n transitionAppear: true,\n component: '',\n transitionName: maskTransition\n },\n maskElement\n );\n }\n }\n return maskElement;\n };\n\n Popup.prototype.render = function render() {\n return React.createElement(\n 'div',\n null,\n this.getMaskElement(),\n this.getPopupElement()\n );\n };\n\n return Popup;\n}(Component);\n\nPopup.propTypes = {\n visible: PropTypes.bool,\n style: PropTypes.object,\n getClassNameFromAlign: PropTypes.func,\n onAlign: PropTypes.func,\n getRootDomNode: PropTypes.func,\n align: PropTypes.any,\n destroyPopupOnHide: PropTypes.bool,\n className: PropTypes.string,\n prefixCls: PropTypes.string,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseDown: PropTypes.func,\n onTouchStart: PropTypes.func,\n stretch: PropTypes.string,\n children: PropTypes.node,\n point: PropTypes.shape({\n pageX: PropTypes.number,\n pageY: PropTypes.number\n })\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this3 = this;\n\n this.onAlign = function (popupDomNode, align) {\n var props = _this3.props;\n var currentAlignClassName = props.getClassNameFromAlign(align);\n // FIX: https://github.com/react-component/trigger/issues/56\n // FIX: https://github.com/react-component/tooltip/issues/79\n if (_this3.currentAlignClassName !== currentAlignClassName) {\n _this3.currentAlignClassName = currentAlignClassName;\n popupDomNode.className = _this3.getClassName(currentAlignClassName);\n }\n props.onAlign(popupDomNode, align);\n };\n\n this.setStretchSize = function () {\n var _props2 = _this3.props,\n stretch = _props2.stretch,\n getRootDomNode = _props2.getRootDomNode,\n visible = _props2.visible;\n var _state2 = _this3.state,\n stretchChecked = _state2.stretchChecked,\n targetHeight = _state2.targetHeight,\n targetWidth = _state2.targetWidth;\n\n\n if (!stretch || !visible) {\n if (stretchChecked) {\n _this3.setState({ stretchChecked: false });\n }\n return;\n }\n\n var $ele = getRootDomNode();\n if (!$ele) return;\n\n var height = $ele.offsetHeight;\n var width = $ele.offsetWidth;\n\n if (targetHeight !== height || targetWidth !== width || !stretchChecked) {\n _this3.setState({\n stretchChecked: true,\n targetHeight: height,\n targetWidth: width\n });\n }\n };\n\n this.getTargetElement = function () {\n return _this3.props.getRootDomNode();\n };\n\n this.getAlignTarget = function () {\n var point = _this3.props.point;\n\n if (point) {\n return point;\n }\n return _this3.getTargetElement;\n };\n};\n\nexport default Popup;","import _extends from 'babel-runtime/helpers/extends';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { findDOMNode, createPortal } from 'react-dom';\nimport { polyfill } from 'react-lifecycles-compat';\nimport contains from 'rc-util/es/Dom/contains';\nimport addEventListener from 'rc-util/es/Dom/addEventListener';\nimport ContainerRender from 'rc-util/es/ContainerRender';\nimport Portal from 'rc-util/es/Portal';\nimport classNames from 'classnames';\n\nimport { getAlignFromPlacement, getAlignPopupClassName } from './utils';\nimport Popup from './Popup';\n\nfunction noop() {}\n\nfunction returnEmptyString() {\n return '';\n}\n\nfunction returnDocument() {\n return window.document;\n}\n\nvar ALL_HANDLERS = ['onClick', 'onMouseDown', 'onTouchStart', 'onMouseEnter', 'onMouseLeave', 'onFocus', 'onBlur', 'onContextMenu'];\n\nvar IS_REACT_16 = !!createPortal;\n\nvar contextTypes = {\n rcTrigger: PropTypes.shape({\n onPopupMouseDown: PropTypes.func\n })\n};\n\nvar Trigger = function (_React$Component) {\n _inherits(Trigger, _React$Component);\n\n function Trigger(props) {\n _classCallCheck(this, Trigger);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _initialiseProps.call(_this);\n\n var popupVisible = void 0;\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\n ALL_HANDLERS.forEach(function (h) {\n _this['fire' + h] = function (e) {\n _this.fireEvents(h, e);\n };\n });\n return _this;\n }\n\n Trigger.prototype.getChildContext = function getChildContext() {\n return {\n rcTrigger: {\n onPopupMouseDown: this.onPopupMouseDown\n }\n };\n };\n\n Trigger.prototype.componentDidMount = function componentDidMount() {\n this.componentDidUpdate({}, {\n popupVisible: this.state.popupVisible\n });\n };\n\n Trigger.prototype.componentDidUpdate = function componentDidUpdate(_, prevState) {\n var props = this.props;\n var state = this.state;\n var triggerAfterPopupVisibleChange = function triggerAfterPopupVisibleChange() {\n if (prevState.popupVisible !== state.popupVisible) {\n props.afterPopupVisibleChange(state.popupVisible);\n }\n };\n if (!IS_REACT_16) {\n this.renderComponent(null, triggerAfterPopupVisibleChange);\n }\n\n // 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 if (state.popupVisible) {\n var currentDocument = void 0;\n if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextMenuToShow())) {\n currentDocument = props.getDocument();\n this.clickOutsideHandler = addEventListener(currentDocument, 'mousedown', this.onDocumentClick);\n }\n // always hide on mobile\n if (!this.touchOutsideHandler) {\n currentDocument = currentDocument || props.getDocument();\n this.touchOutsideHandler = addEventListener(currentDocument, 'touchstart', this.onDocumentClick);\n }\n // close popup when trigger type contains 'onContextMenu' and document is scrolling.\n if (!this.contextMenuOutsideHandler1 && this.isContextMenuToShow()) {\n currentDocument = currentDocument || props.getDocument();\n this.contextMenuOutsideHandler1 = addEventListener(currentDocument, 'scroll', this.onContextMenuClose);\n }\n // close popup when trigger type contains 'onContextMenu' and window is blur.\n if (!this.contextMenuOutsideHandler2 && this.isContextMenuToShow()) {\n this.contextMenuOutsideHandler2 = addEventListener(window, 'blur', this.onContextMenuClose);\n }\n return;\n }\n\n this.clearOutsideHandler();\n };\n\n Trigger.prototype.componentWillUnmount = function componentWillUnmount() {\n this.clearDelayTimer();\n this.clearOutsideHandler();\n clearTimeout(this.mouseDownTimeout);\n };\n\n Trigger.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var popupVisible = _ref.popupVisible;\n\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 Trigger.prototype.getPopupDomNode = function getPopupDomNode() {\n // for test\n if (this._component && this._component.getPopupDomNode) {\n return this._component.getPopupDomNode();\n }\n return null;\n };\n\n Trigger.prototype.getPopupAlign = 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 return popupAlign;\n };\n\n /**\n * @param popupVisible Show or not the popup element\n * @param event SyntheticEvent, used for `pointAlign`\n */\n Trigger.prototype.setPopupVisible = function setPopupVisible(popupVisible, event) {\n var alignPoint = this.props.alignPoint;\n var prevPopupVisible = this.state.popupVisible;\n\n\n this.clearDelayTimer();\n\n if (prevPopupVisible !== popupVisible) {\n if (!('popupVisible' in this.props)) {\n this.setState({ popupVisible: popupVisible, prevPopupVisible: prevPopupVisible });\n }\n this.props.onPopupVisibleChange(popupVisible);\n }\n\n // Always record the point position since mouseEnterDelay will delay the show\n if (alignPoint && event) {\n this.setPoint(event);\n }\n };\n\n Trigger.prototype.delaySetPopupVisible = function delaySetPopupVisible(visible, delayS, event) {\n var _this2 = this;\n\n var delay = delayS * 1000;\n this.clearDelayTimer();\n if (delay) {\n var point = event ? { pageX: event.pageX, pageY: event.pageY } : null;\n this.delayTimer = setTimeout(function () {\n _this2.setPopupVisible(visible, point);\n _this2.clearDelayTimer();\n }, delay);\n } else {\n this.setPopupVisible(visible, event);\n }\n };\n\n Trigger.prototype.clearDelayTimer = function clearDelayTimer() {\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n };\n\n Trigger.prototype.clearOutsideHandler = 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 Trigger.prototype.createTwoChains = function createTwoChains(event) {\n var childPros = this.props.children.props;\n var props = this.props;\n if (childPros[event] && props[event]) {\n return this['fire' + event];\n }\n return childPros[event] || props[event];\n };\n\n Trigger.prototype.isClickToShow = function isClickToShow() {\n var _props = this.props,\n action = _props.action,\n showAction = _props.showAction;\n\n return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1;\n };\n\n Trigger.prototype.isContextMenuToShow = function isContextMenuToShow() {\n var _props2 = this.props,\n action = _props2.action,\n showAction = _props2.showAction;\n\n return action.indexOf('contextMenu') !== -1 || showAction.indexOf('contextMenu') !== -1;\n };\n\n Trigger.prototype.isClickToHide = function isClickToHide() {\n var _props3 = this.props,\n action = _props3.action,\n hideAction = _props3.hideAction;\n\n return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1;\n };\n\n Trigger.prototype.isMouseEnterToShow = function isMouseEnterToShow() {\n var _props4 = this.props,\n action = _props4.action,\n showAction = _props4.showAction;\n\n return action.indexOf('hover') !== -1 || showAction.indexOf('mouseEnter') !== -1;\n };\n\n Trigger.prototype.isMouseLeaveToHide = function isMouseLeaveToHide() {\n var _props5 = this.props,\n action = _props5.action,\n hideAction = _props5.hideAction;\n\n return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseLeave') !== -1;\n };\n\n Trigger.prototype.isFocusToShow = function isFocusToShow() {\n var _props6 = this.props,\n action = _props6.action,\n showAction = _props6.showAction;\n\n return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1;\n };\n\n Trigger.prototype.isBlurToHide = function isBlurToHide() {\n var _props7 = this.props,\n action = _props7.action,\n hideAction = _props7.hideAction;\n\n return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1;\n };\n\n Trigger.prototype.forcePopupAlign = function forcePopupAlign() {\n if (this.state.popupVisible && this._component && this._component.alignInstance) {\n this._component.alignInstance.forceAlign();\n }\n };\n\n Trigger.prototype.fireEvents = function fireEvents(type, e) {\n var childCallback = this.props.children.props[type];\n if (childCallback) {\n childCallback(e);\n }\n var callback = this.props[type];\n if (callback) {\n callback(e);\n }\n };\n\n Trigger.prototype.close = function close() {\n this.setPopupVisible(false);\n };\n\n Trigger.prototype.render = function render() {\n var _this3 = this;\n\n var popupVisible = this.state.popupVisible;\n var _props8 = this.props,\n children = _props8.children,\n forceRender = _props8.forceRender,\n alignPoint = _props8.alignPoint,\n className = _props8.className;\n\n var child = React.Children.only(children);\n var newChildProps = { key: 'trigger' };\n\n if (this.isContextMenuToShow()) {\n newChildProps.onContextMenu = this.onContextMenu;\n } else {\n newChildProps.onContextMenu = this.createTwoChains('onContextMenu');\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 }\n if (this.isMouseEnterToShow()) {\n newChildProps.onMouseEnter = this.onMouseEnter;\n if (alignPoint) {\n newChildProps.onMouseMove = this.onMouseMove;\n }\n } else {\n newChildProps.onMouseEnter = this.createTwoChains('onMouseEnter');\n }\n if (this.isMouseLeaveToHide()) {\n newChildProps.onMouseLeave = this.onMouseLeave;\n } else {\n newChildProps.onMouseLeave = this.createTwoChains('onMouseLeave');\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 }\n\n var childrenClassName = classNames(child && child.props && child.props.className, className);\n if (childrenClassName) {\n newChildProps.className = childrenClassName;\n }\n var trigger = React.cloneElement(child, newChildProps);\n\n if (!IS_REACT_16) {\n return React.createElement(\n ContainerRender,\n {\n parent: this,\n visible: popupVisible,\n autoMount: false,\n forceRender: forceRender,\n getComponent: this.getComponent,\n getContainer: this.getContainer\n },\n function (_ref2) {\n var renderComponent = _ref2.renderComponent;\n\n _this3.renderComponent = renderComponent;\n return trigger;\n }\n );\n }\n\n var portal = void 0;\n // prevent unmounting after it's rendered\n if (popupVisible || this._component || forceRender) {\n portal = React.createElement(\n Portal,\n { key: 'portal', getContainer: this.getContainer, didUpdate: this.handlePortalUpdate },\n this.getComponent()\n );\n }\n\n return [trigger, portal];\n };\n\n return Trigger;\n}(React.Component);\n\nTrigger.propTypes = {\n children: PropTypes.any,\n action: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n showAction: PropTypes.any,\n hideAction: PropTypes.any,\n getPopupClassNameFromAlign: PropTypes.any,\n onPopupVisibleChange: PropTypes.func,\n afterPopupVisibleChange: PropTypes.func,\n popup: PropTypes.oneOfType([PropTypes.node, PropTypes.func]).isRequired,\n popupStyle: PropTypes.object,\n prefixCls: PropTypes.string,\n popupClassName: PropTypes.string,\n className: PropTypes.string,\n popupPlacement: PropTypes.string,\n builtinPlacements: PropTypes.object,\n popupTransitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n popupAnimation: PropTypes.any,\n mouseEnterDelay: PropTypes.number,\n mouseLeaveDelay: PropTypes.number,\n zIndex: PropTypes.number,\n focusDelay: PropTypes.number,\n blurDelay: PropTypes.number,\n getPopupContainer: PropTypes.func,\n getDocument: PropTypes.func,\n forceRender: PropTypes.bool,\n destroyPopupOnHide: PropTypes.bool,\n mask: PropTypes.bool,\n maskClosable: PropTypes.bool,\n onPopupAlign: PropTypes.func,\n popupAlign: PropTypes.object,\n popupVisible: PropTypes.bool,\n defaultPopupVisible: PropTypes.bool,\n maskTransitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n maskAnimation: PropTypes.string,\n stretch: PropTypes.string,\n alignPoint: PropTypes.bool // Maybe we can support user pass position in the future\n};\nTrigger.contextTypes = contextTypes;\nTrigger.childContextTypes = contextTypes;\nTrigger.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};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this4 = this;\n\n this.onMouseEnter = function (e) {\n var mouseEnterDelay = _this4.props.mouseEnterDelay;\n\n _this4.fireEvents('onMouseEnter', e);\n _this4.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e);\n };\n\n this.onMouseMove = function (e) {\n _this4.fireEvents('onMouseMove', e);\n _this4.setPoint(e);\n };\n\n this.onMouseLeave = function (e) {\n _this4.fireEvents('onMouseLeave', e);\n _this4.delaySetPopupVisible(false, _this4.props.mouseLeaveDelay);\n };\n\n this.onPopupMouseEnter = function () {\n _this4.clearDelayTimer();\n };\n\n this.onPopupMouseLeave = function (e) {\n // https://github.com/react-component/trigger/pull/13\n // react bug?\n if (e.relatedTarget && !e.relatedTarget.setTimeout && _this4._component && _this4._component.getPopupDomNode && contains(_this4._component.getPopupDomNode(), e.relatedTarget)) {\n return;\n }\n _this4.delaySetPopupVisible(false, _this4.props.mouseLeaveDelay);\n };\n\n this.onFocus = function (e) {\n _this4.fireEvents('onFocus', e);\n // incase focusin and focusout\n _this4.clearDelayTimer();\n if (_this4.isFocusToShow()) {\n _this4.focusTime = Date.now();\n _this4.delaySetPopupVisible(true, _this4.props.focusDelay);\n }\n };\n\n this.onMouseDown = function (e) {\n _this4.fireEvents('onMouseDown', e);\n _this4.preClickTime = Date.now();\n };\n\n this.onTouchStart = function (e) {\n _this4.fireEvents('onTouchStart', e);\n _this4.preTouchTime = Date.now();\n };\n\n this.onBlur = function (e) {\n _this4.fireEvents('onBlur', e);\n _this4.clearDelayTimer();\n if (_this4.isBlurToHide()) {\n _this4.delaySetPopupVisible(false, _this4.props.blurDelay);\n }\n };\n\n this.onContextMenu = function (e) {\n e.preventDefault();\n _this4.fireEvents('onContextMenu', e);\n _this4.setPopupVisible(true, e);\n };\n\n this.onContextMenuClose = function () {\n if (_this4.isContextMenuToShow()) {\n _this4.close();\n }\n };\n\n this.onClick = function (event) {\n _this4.fireEvents('onClick', event);\n // focus will trigger click\n if (_this4.focusTime) {\n var preTime = void 0;\n if (_this4.preClickTime && _this4.preTouchTime) {\n preTime = Math.min(_this4.preClickTime, _this4.preTouchTime);\n } else if (_this4.preClickTime) {\n preTime = _this4.preClickTime;\n } else if (_this4.preTouchTime) {\n preTime = _this4.preTouchTime;\n }\n if (Math.abs(preTime - _this4.focusTime) < 20) {\n return;\n }\n _this4.focusTime = 0;\n }\n _this4.preClickTime = 0;\n _this4.preTouchTime = 0;\n\n // 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 if (_this4.isClickToShow() && (_this4.isClickToHide() || _this4.isBlurToHide()) && event && event.preventDefault) {\n event.preventDefault();\n }\n var nextVisible = !_this4.state.popupVisible;\n if (_this4.isClickToHide() && !nextVisible || nextVisible && _this4.isClickToShow()) {\n _this4.setPopupVisible(!_this4.state.popupVisible, event);\n }\n };\n\n this.onPopupMouseDown = function () {\n var _context$rcTrigger = _this4.context.rcTrigger,\n rcTrigger = _context$rcTrigger === undefined ? {} : _context$rcTrigger;\n\n _this4.hasPopupMouseDown = true;\n\n clearTimeout(_this4.mouseDownTimeout);\n _this4.mouseDownTimeout = setTimeout(function () {\n _this4.hasPopupMouseDown = false;\n }, 0);\n\n if (rcTrigger.onPopupMouseDown) {\n rcTrigger.onPopupMouseDown.apply(rcTrigger, arguments);\n }\n };\n\n this.onDocumentClick = function (event) {\n if (_this4.props.mask && !_this4.props.maskClosable) {\n return;\n }\n\n var target = event.target;\n var root = findDOMNode(_this4);\n if (!contains(root, target) && !_this4.hasPopupMouseDown) {\n _this4.close();\n }\n };\n\n this.getRootDomNode = function () {\n return findDOMNode(_this4);\n };\n\n this.getPopupClassNameFromAlign = function (align) {\n var className = [];\n var _props9 = _this4.props,\n popupPlacement = _props9.popupPlacement,\n builtinPlacements = _props9.builtinPlacements,\n prefixCls = _props9.prefixCls,\n alignPoint = _props9.alignPoint,\n getPopupClassNameFromAlign = _props9.getPopupClassNameFromAlign;\n\n if (popupPlacement && builtinPlacements) {\n className.push(getAlignPopupClassName(builtinPlacements, prefixCls, align, alignPoint));\n }\n if (getPopupClassNameFromAlign) {\n className.push(getPopupClassNameFromAlign(align));\n }\n return className.join(' ');\n };\n\n this.getComponent = function () {\n var _props10 = _this4.props,\n prefixCls = _props10.prefixCls,\n destroyPopupOnHide = _props10.destroyPopupOnHide,\n popupClassName = _props10.popupClassName,\n action = _props10.action,\n onPopupAlign = _props10.onPopupAlign,\n popupAnimation = _props10.popupAnimation,\n popupTransitionName = _props10.popupTransitionName,\n popupStyle = _props10.popupStyle,\n mask = _props10.mask,\n maskAnimation = _props10.maskAnimation,\n maskTransitionName = _props10.maskTransitionName,\n zIndex = _props10.zIndex,\n popup = _props10.popup,\n stretch = _props10.stretch,\n alignPoint = _props10.alignPoint;\n var _state = _this4.state,\n popupVisible = _state.popupVisible,\n point = _state.point;\n\n\n var align = _this4.getPopupAlign();\n\n var mouseProps = {};\n if (_this4.isMouseEnterToShow()) {\n mouseProps.onMouseEnter = _this4.onPopupMouseEnter;\n }\n if (_this4.isMouseLeaveToHide()) {\n mouseProps.onMouseLeave = _this4.onPopupMouseLeave;\n }\n\n mouseProps.onMouseDown = _this4.onPopupMouseDown;\n mouseProps.onTouchStart = _this4.onPopupMouseDown;\n\n return React.createElement(\n Popup,\n _extends({\n prefixCls: prefixCls,\n destroyPopupOnHide: destroyPopupOnHide,\n visible: popupVisible,\n point: alignPoint && point,\n className: popupClassName,\n action: action,\n align: align,\n onAlign: onPopupAlign,\n animation: popupAnimation,\n getClassNameFromAlign: _this4.getPopupClassNameFromAlign\n }, mouseProps, {\n stretch: stretch,\n getRootDomNode: _this4.getRootDomNode,\n style: popupStyle,\n mask: mask,\n zIndex: zIndex,\n transitionName: popupTransitionName,\n maskAnimation: maskAnimation,\n maskTransitionName: maskTransitionName,\n ref: _this4.savePopup\n }),\n typeof popup === 'function' ? popup() : popup\n );\n };\n\n this.getContainer = function () {\n var props = _this4.props;\n\n var popupContainer = document.createElement('div');\n // Make sure default popup container will never cause scrollbar appearing\n // https://github.com/react-component/trigger/issues/41\n popupContainer.style.position = 'absolute';\n popupContainer.style.top = '0';\n popupContainer.style.left = '0';\n popupContainer.style.width = '100%';\n var mountNode = props.getPopupContainer ? props.getPopupContainer(findDOMNode(_this4)) : props.getDocument().body;\n mountNode.appendChild(popupContainer);\n return popupContainer;\n };\n\n this.setPoint = function (point) {\n var alignPoint = _this4.props.alignPoint;\n\n if (!alignPoint || !point) return;\n\n _this4.setState({\n point: {\n pageX: point.pageX,\n pageY: point.pageY\n }\n });\n };\n\n this.handlePortalUpdate = function () {\n if (_this4.state.prevPopupVisible !== _this4.state.popupVisible) {\n _this4.props.afterPopupVisibleChange(_this4.state.popupVisible);\n }\n };\n\n this.savePopup = function (node) {\n _this4._component = node;\n };\n};\n\npolyfill(Trigger);\n\nexport default Trigger;","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport classNames from 'classnames';\n\nvar Header =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Header, _Component);\n\n function Header(props) {\n var _this;\n\n _classCallCheck(this, Header);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Header).call(this, props));\n\n _defineProperty(_assertThisInitialized(_this), \"onInputChange\", function (event) {\n var str = event.target.value;\n\n _this.setState({\n str: str\n });\n\n var _this$props = _this.props,\n format = _this$props.format,\n hourOptions = _this$props.hourOptions,\n minuteOptions = _this$props.minuteOptions,\n secondOptions = _this$props.secondOptions,\n disabledHours = _this$props.disabledHours,\n disabledMinutes = _this$props.disabledMinutes,\n disabledSeconds = _this$props.disabledSeconds,\n onChange = _this$props.onChange;\n\n if (str) {\n var originalValue = _this.props.value;\n\n var value = _this.getProtoValue().clone();\n\n var parsed = moment(str, format, true);\n\n if (!parsed.isValid()) {\n _this.setState({\n invalid: true\n });\n\n return;\n }\n\n value.hour(parsed.hour()).minute(parsed.minute()).second(parsed.second()); // if time value not allowed, response warning.\n\n if (hourOptions.indexOf(value.hour()) < 0 || minuteOptions.indexOf(value.minute()) < 0 || secondOptions.indexOf(value.second()) < 0) {\n _this.setState({\n invalid: true\n });\n\n return;\n } // if time value is disabled, response warning.\n\n\n var disabledHourOptions = disabledHours();\n var disabledMinuteOptions = disabledMinutes(value.hour());\n var disabledSecondOptions = disabledSeconds(value.hour(), value.minute());\n\n if (disabledHourOptions && disabledHourOptions.indexOf(value.hour()) >= 0 || disabledMinuteOptions && disabledMinuteOptions.indexOf(value.minute()) >= 0 || disabledSecondOptions && disabledSecondOptions.indexOf(value.second()) >= 0) {\n _this.setState({\n invalid: true\n });\n\n return;\n }\n\n if (originalValue) {\n if (originalValue.hour() !== value.hour() || originalValue.minute() !== value.minute() || originalValue.second() !== value.second()) {\n // keep other fields for rc-calendar\n var changedValue = originalValue.clone();\n changedValue.hour(value.hour());\n changedValue.minute(value.minute());\n changedValue.second(value.second());\n onChange(changedValue);\n }\n } else if (originalValue !== value) {\n onChange(value);\n }\n } else {\n onChange(null);\n }\n\n _this.setState({\n invalid: false\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onKeyDown\", function (e) {\n var _this$props2 = _this.props,\n onEsc = _this$props2.onEsc,\n onKeyDown = _this$props2.onKeyDown;\n\n if (e.keyCode === 27) {\n onEsc();\n }\n\n onKeyDown(e);\n });\n\n var _value = props.value,\n _format = props.format;\n _this.state = {\n str: _value && _value.format(_format) || '',\n invalid: false\n };\n return _this;\n }\n\n _createClass(Header, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n var focusOnOpen = this.props.focusOnOpen;\n\n if (focusOnOpen) {\n // Wait one frame for the panel to be positioned before focusing\n var requestAnimationFrame = window.requestAnimationFrame || window.setTimeout;\n requestAnimationFrame(function () {\n _this2.refInput.focus();\n\n _this2.refInput.select();\n });\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props3 = this.props,\n value = _this$props3.value,\n format = _this$props3.format;\n\n if (value !== prevProps.value) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n str: value && value.format(format) || '',\n invalid: false\n });\n }\n }\n }, {\n key: \"getProtoValue\",\n value: function getProtoValue() {\n var _this$props4 = this.props,\n value = _this$props4.value,\n defaultOpenValue = _this$props4.defaultOpenValue;\n return value || defaultOpenValue;\n }\n }, {\n key: \"getInput\",\n value: function getInput() {\n var _this3 = this;\n\n var _this$props5 = this.props,\n prefixCls = _this$props5.prefixCls,\n placeholder = _this$props5.placeholder,\n inputReadOnly = _this$props5.inputReadOnly;\n var _this$state = this.state,\n invalid = _this$state.invalid,\n str = _this$state.str;\n var invalidClass = invalid ? \"\".concat(prefixCls, \"-input-invalid\") : '';\n return React.createElement(\"input\", {\n className: classNames(\"\".concat(prefixCls, \"-input\"), invalidClass),\n ref: function ref(_ref) {\n _this3.refInput = _ref;\n },\n onKeyDown: this.onKeyDown,\n value: str,\n placeholder: placeholder,\n onChange: this.onInputChange,\n readOnly: !!inputReadOnly\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var prefixCls = this.props.prefixCls;\n return React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-input-wrap\")\n }, this.getInput());\n }\n }]);\n\n return Header;\n}(Component);\n\n_defineProperty(Header, \"propTypes\", {\n format: PropTypes.string,\n prefixCls: PropTypes.string,\n disabledDate: PropTypes.func,\n placeholder: PropTypes.string,\n clearText: PropTypes.string,\n value: PropTypes.object,\n inputReadOnly: PropTypes.bool,\n hourOptions: PropTypes.array,\n minuteOptions: PropTypes.array,\n secondOptions: PropTypes.array,\n disabledHours: PropTypes.func,\n disabledMinutes: PropTypes.func,\n disabledSeconds: PropTypes.func,\n onChange: PropTypes.func,\n onEsc: PropTypes.func,\n defaultOpenValue: PropTypes.object,\n currentSelectPanel: PropTypes.string,\n focusOnOpen: PropTypes.bool,\n onKeyDown: PropTypes.func,\n clearIcon: PropTypes.node\n});\n\n_defineProperty(Header, \"defaultProps\", {\n inputReadOnly: false\n});\n\nexport default Header;","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/* eslint jsx-a11y/no-noninteractive-element-to-interactive-role: 0 */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDom from 'react-dom';\nimport classNames from 'classnames';\nimport raf from 'raf';\n\nvar scrollTo = function scrollTo(element, to, duration) {\n // jump to target if duration zero\n if (duration <= 0) {\n raf(function () {\n element.scrollTop = to;\n });\n return;\n }\n\n var difference = to - element.scrollTop;\n var perTick = difference / duration * 10;\n raf(function () {\n element.scrollTop += perTick;\n if (element.scrollTop === to) return;\n scrollTo(element, to, duration - 10);\n });\n};\n\nvar Select =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Select, _Component);\n\n function Select() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, Select);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Select)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n active: false\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSelect\", function (value) {\n var _this$props = _this.props,\n onSelect = _this$props.onSelect,\n type = _this$props.type;\n onSelect(type, value);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleMouseEnter\", function (e) {\n var onMouseEnter = _this.props.onMouseEnter;\n\n _this.setState({\n active: true\n });\n\n onMouseEnter(e);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleMouseLeave\", function () {\n _this.setState({\n active: false\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"saveList\", function (node) {\n _this.list = node;\n });\n\n return _this;\n }\n\n _createClass(Select, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n // jump to selected option\n this.scrollToSelected(0);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var selectedIndex = this.props.selectedIndex; // smooth scroll to selected option\n\n if (prevProps.selectedIndex !== selectedIndex) {\n this.scrollToSelected(120);\n }\n }\n }, {\n key: \"getOptions\",\n value: function getOptions() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n options = _this$props2.options,\n selectedIndex = _this$props2.selectedIndex,\n prefixCls = _this$props2.prefixCls,\n onEsc = _this$props2.onEsc;\n return options.map(function (item, index) {\n var _classNames;\n\n var cls = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-select-option-selected\"), selectedIndex === index), _defineProperty(_classNames, \"\".concat(prefixCls, \"-select-option-disabled\"), item.disabled), _classNames));\n var onClick = item.disabled ? undefined : function () {\n _this2.onSelect(item.value);\n };\n\n var onKeyDown = function onKeyDown(e) {\n if (e.keyCode === 13) onClick();else if (e.keyCode === 27) onEsc();\n };\n\n return React.createElement(\"li\", {\n role: \"button\",\n onClick: onClick,\n className: cls,\n key: index,\n disabled: item.disabled,\n tabIndex: \"0\",\n onKeyDown: onKeyDown\n }, item.value);\n });\n }\n }, {\n key: \"scrollToSelected\",\n value: function scrollToSelected(duration) {\n // move to selected item\n var selectedIndex = this.props.selectedIndex;\n var select = ReactDom.findDOMNode(this);\n var list = ReactDom.findDOMNode(this.list);\n\n if (!list) {\n return;\n }\n\n var index = selectedIndex;\n\n if (index < 0) {\n index = 0;\n }\n\n var topOption = list.children[index];\n var to = topOption.offsetTop;\n scrollTo(select, to, duration);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props3 = this.props,\n prefixCls = _this$props3.prefixCls,\n options = _this$props3.options;\n var active = this.state.active;\n\n if (options.length === 0) {\n return null;\n }\n\n var cls = classNames(\"\".concat(prefixCls, \"-select\"), _defineProperty({}, \"\".concat(prefixCls, \"-select-active\"), active));\n return React.createElement(\"div\", {\n className: cls,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave\n }, React.createElement(\"ul\", {\n ref: this.saveList\n }, this.getOptions()));\n }\n }]);\n\n return Select;\n}(Component);\n\n_defineProperty(Select, \"propTypes\", {\n prefixCls: PropTypes.string,\n options: PropTypes.array,\n selectedIndex: PropTypes.number,\n type: PropTypes.string,\n onSelect: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onEsc: PropTypes.func\n});\n\nexport default Select;","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Select from './Select';\n\nvar formatOption = function formatOption(option, disabledOptions) {\n var value = \"\".concat(option);\n\n if (option < 10) {\n value = \"0\".concat(option);\n }\n\n var disabled = false;\n\n if (disabledOptions && disabledOptions.indexOf(option) >= 0) {\n disabled = true;\n }\n\n return {\n value: value,\n disabled: disabled\n };\n};\n\nvar Combobox =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Combobox, _Component);\n\n function Combobox() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, Combobox);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Combobox)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"onItemChange\", function (type, itemValue) {\n var _this$props = _this.props,\n onChange = _this$props.onChange,\n defaultOpenValue = _this$props.defaultOpenValue,\n use12Hours = _this$props.use12Hours,\n propValue = _this$props.value,\n isAM = _this$props.isAM,\n onAmPmChange = _this$props.onAmPmChange;\n var value = (propValue || defaultOpenValue).clone();\n\n if (type === 'hour') {\n if (use12Hours) {\n if (isAM) {\n value.hour(+itemValue % 12);\n } else {\n value.hour(+itemValue % 12 + 12);\n }\n } else {\n value.hour(+itemValue);\n }\n } else if (type === 'minute') {\n value.minute(+itemValue);\n } else if (type === 'ampm') {\n var ampm = itemValue.toUpperCase();\n\n if (use12Hours) {\n if (ampm === 'PM' && value.hour() < 12) {\n value.hour(value.hour() % 12 + 12);\n }\n\n if (ampm === 'AM') {\n if (value.hour() >= 12) {\n value.hour(value.hour() - 12);\n }\n }\n }\n\n onAmPmChange(ampm);\n } else {\n value.second(+itemValue);\n }\n\n onChange(value);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onEnterSelectPanel\", function (range) {\n var onCurrentSelectPanelChange = _this.props.onCurrentSelectPanelChange;\n onCurrentSelectPanelChange(range);\n });\n\n return _this;\n }\n\n _createClass(Combobox, [{\n key: \"getHourSelect\",\n value: function getHourSelect(hour) {\n var _this2 = this;\n\n var _this$props2 = this.props,\n prefixCls = _this$props2.prefixCls,\n hourOptions = _this$props2.hourOptions,\n disabledHours = _this$props2.disabledHours,\n showHour = _this$props2.showHour,\n use12Hours = _this$props2.use12Hours,\n onEsc = _this$props2.onEsc;\n\n if (!showHour) {\n return null;\n }\n\n var disabledOptions = disabledHours();\n var hourOptionsAdj;\n var hourAdj;\n\n if (use12Hours) {\n hourOptionsAdj = [12].concat(hourOptions.filter(function (h) {\n return h < 12 && h > 0;\n }));\n hourAdj = hour % 12 || 12;\n } else {\n hourOptionsAdj = hourOptions;\n hourAdj = hour;\n }\n\n return React.createElement(Select, {\n prefixCls: prefixCls,\n options: hourOptionsAdj.map(function (option) {\n return formatOption(option, disabledOptions);\n }),\n selectedIndex: hourOptionsAdj.indexOf(hourAdj),\n type: \"hour\",\n onSelect: this.onItemChange,\n onMouseEnter: function onMouseEnter() {\n return _this2.onEnterSelectPanel('hour');\n },\n onEsc: onEsc\n });\n }\n }, {\n key: \"getMinuteSelect\",\n value: function getMinuteSelect(minute) {\n var _this3 = this;\n\n var _this$props3 = this.props,\n prefixCls = _this$props3.prefixCls,\n minuteOptions = _this$props3.minuteOptions,\n disabledMinutes = _this$props3.disabledMinutes,\n defaultOpenValue = _this$props3.defaultOpenValue,\n showMinute = _this$props3.showMinute,\n propValue = _this$props3.value,\n onEsc = _this$props3.onEsc;\n\n if (!showMinute) {\n return null;\n }\n\n var value = propValue || defaultOpenValue;\n var disabledOptions = disabledMinutes(value.hour());\n return React.createElement(Select, {\n prefixCls: prefixCls,\n options: minuteOptions.map(function (option) {\n return formatOption(option, disabledOptions);\n }),\n selectedIndex: minuteOptions.indexOf(minute),\n type: \"minute\",\n onSelect: this.onItemChange,\n onMouseEnter: function onMouseEnter() {\n return _this3.onEnterSelectPanel('minute');\n },\n onEsc: onEsc\n });\n }\n }, {\n key: \"getSecondSelect\",\n value: function getSecondSelect(second) {\n var _this4 = this;\n\n var _this$props4 = this.props,\n prefixCls = _this$props4.prefixCls,\n secondOptions = _this$props4.secondOptions,\n disabledSeconds = _this$props4.disabledSeconds,\n showSecond = _this$props4.showSecond,\n defaultOpenValue = _this$props4.defaultOpenValue,\n propValue = _this$props4.value,\n onEsc = _this$props4.onEsc;\n\n if (!showSecond) {\n return null;\n }\n\n var value = propValue || defaultOpenValue;\n var disabledOptions = disabledSeconds(value.hour(), value.minute());\n return React.createElement(Select, {\n prefixCls: prefixCls,\n options: secondOptions.map(function (option) {\n return formatOption(option, disabledOptions);\n }),\n selectedIndex: secondOptions.indexOf(second),\n type: \"second\",\n onSelect: this.onItemChange,\n onMouseEnter: function onMouseEnter() {\n return _this4.onEnterSelectPanel('second');\n },\n onEsc: onEsc\n });\n }\n }, {\n key: \"getAMPMSelect\",\n value: function getAMPMSelect() {\n var _this5 = this;\n\n var _this$props5 = this.props,\n prefixCls = _this$props5.prefixCls,\n use12Hours = _this$props5.use12Hours,\n format = _this$props5.format,\n isAM = _this$props5.isAM,\n onEsc = _this$props5.onEsc;\n\n if (!use12Hours) {\n return null;\n }\n\n var AMPMOptions = ['am', 'pm'] // If format has A char, then we should uppercase AM/PM\n .map(function (c) {\n return format.match(/\\sA/) ? c.toUpperCase() : c;\n }).map(function (c) {\n return {\n value: c\n };\n });\n var selected = isAM ? 0 : 1;\n return React.createElement(Select, {\n prefixCls: prefixCls,\n options: AMPMOptions,\n selectedIndex: selected,\n type: \"ampm\",\n onSelect: this.onItemChange,\n onMouseEnter: function onMouseEnter() {\n return _this5.onEnterSelectPanel('ampm');\n },\n onEsc: onEsc\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props6 = this.props,\n prefixCls = _this$props6.prefixCls,\n defaultOpenValue = _this$props6.defaultOpenValue,\n propValue = _this$props6.value;\n var value = propValue || defaultOpenValue;\n return React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-combobox\")\n }, this.getHourSelect(value.hour()), this.getMinuteSelect(value.minute()), this.getSecondSelect(value.second()), this.getAMPMSelect(value.hour()));\n }\n }]);\n\n return Combobox;\n}(Component);\n\n_defineProperty(Combobox, \"propTypes\", {\n format: PropTypes.string,\n defaultOpenValue: PropTypes.object,\n prefixCls: PropTypes.string,\n value: PropTypes.object,\n onChange: PropTypes.func,\n onAmPmChange: PropTypes.func,\n showHour: PropTypes.bool,\n showMinute: PropTypes.bool,\n showSecond: PropTypes.bool,\n hourOptions: PropTypes.array,\n minuteOptions: PropTypes.array,\n secondOptions: PropTypes.array,\n disabledHours: PropTypes.func,\n disabledMinutes: PropTypes.func,\n disabledSeconds: PropTypes.func,\n onCurrentSelectPanelChange: PropTypes.func,\n use12Hours: PropTypes.bool,\n onEsc: PropTypes.func,\n isAM: PropTypes.bool\n});\n\nexport default Combobox;","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport classNames from 'classnames';\nimport { polyfill } from 'react-lifecycles-compat';\nimport Header from './Header';\nimport Combobox from './Combobox';\n\nfunction noop() {}\n\nfunction generateOptions(length, disabledOptions, hideDisabledOptions) {\n var step = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n var arr = [];\n\n for (var value = 0; value < length; value += step) {\n if (!disabledOptions || disabledOptions.indexOf(value) < 0 || !hideDisabledOptions) {\n arr.push(value);\n }\n }\n\n return arr;\n}\n\nfunction toNearestValidTime(time, hourOptions, minuteOptions, secondOptions) {\n var hour = hourOptions.slice().sort(function (a, b) {\n return Math.abs(time.hour() - a) - Math.abs(time.hour() - b);\n })[0];\n var minute = minuteOptions.slice().sort(function (a, b) {\n return Math.abs(time.minute() - a) - Math.abs(time.minute() - b);\n })[0];\n var second = secondOptions.slice().sort(function (a, b) {\n return Math.abs(time.second() - a) - Math.abs(time.second() - b);\n })[0];\n return moment(\"\".concat(hour, \":\").concat(minute, \":\").concat(second), 'HH:mm:ss');\n}\n\nvar Panel =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Panel, _Component);\n\n function Panel() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, Panel);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Panel)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {});\n\n _defineProperty(_assertThisInitialized(_this), \"onChange\", function (newValue) {\n var onChange = _this.props.onChange;\n\n _this.setState({\n value: newValue\n });\n\n onChange(newValue);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onAmPmChange\", function (ampm) {\n var onAmPmChange = _this.props.onAmPmChange;\n onAmPmChange(ampm);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onCurrentSelectPanelChange\", function (currentSelectPanel) {\n _this.setState({\n currentSelectPanel: currentSelectPanel\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"disabledHours\", function () {\n var _this$props = _this.props,\n use12Hours = _this$props.use12Hours,\n disabledHours = _this$props.disabledHours;\n var disabledOptions = disabledHours();\n\n if (use12Hours && Array.isArray(disabledOptions)) {\n if (_this.isAM()) {\n disabledOptions = disabledOptions.filter(function (h) {\n return h < 12;\n }).map(function (h) {\n return h === 0 ? 12 : h;\n });\n } else {\n disabledOptions = disabledOptions.map(function (h) {\n return h === 12 ? 12 : h - 12;\n });\n }\n }\n\n return disabledOptions;\n });\n\n return _this;\n }\n\n _createClass(Panel, [{\n key: \"close\",\n // https://github.com/ant-design/ant-design/issues/5829\n value: function close() {\n var onEsc = this.props.onEsc;\n onEsc();\n }\n }, {\n key: \"isAM\",\n value: function isAM() {\n var defaultOpenValue = this.props.defaultOpenValue;\n var value = this.state.value;\n var realValue = value || defaultOpenValue;\n return realValue.hour() >= 0 && realValue.hour() < 12;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n prefixCls = _this$props2.prefixCls,\n className = _this$props2.className,\n placeholder = _this$props2.placeholder,\n disabledMinutes = _this$props2.disabledMinutes,\n disabledSeconds = _this$props2.disabledSeconds,\n hideDisabledOptions = _this$props2.hideDisabledOptions,\n showHour = _this$props2.showHour,\n showMinute = _this$props2.showMinute,\n showSecond = _this$props2.showSecond,\n format = _this$props2.format,\n defaultOpenValue = _this$props2.defaultOpenValue,\n clearText = _this$props2.clearText,\n onEsc = _this$props2.onEsc,\n addon = _this$props2.addon,\n use12Hours = _this$props2.use12Hours,\n focusOnOpen = _this$props2.focusOnOpen,\n onKeyDown = _this$props2.onKeyDown,\n hourStep = _this$props2.hourStep,\n minuteStep = _this$props2.minuteStep,\n secondStep = _this$props2.secondStep,\n inputReadOnly = _this$props2.inputReadOnly,\n clearIcon = _this$props2.clearIcon;\n var _this$state = this.state,\n value = _this$state.value,\n currentSelectPanel = _this$state.currentSelectPanel;\n var disabledHourOptions = this.disabledHours();\n var disabledMinuteOptions = disabledMinutes(value ? value.hour() : null);\n var disabledSecondOptions = disabledSeconds(value ? value.hour() : null, value ? value.minute() : null);\n var hourOptions = generateOptions(24, disabledHourOptions, hideDisabledOptions, hourStep);\n var minuteOptions = generateOptions(60, disabledMinuteOptions, hideDisabledOptions, minuteStep);\n var secondOptions = generateOptions(60, disabledSecondOptions, hideDisabledOptions, secondStep);\n var validDefaultOpenValue = toNearestValidTime(defaultOpenValue, hourOptions, minuteOptions, secondOptions);\n return React.createElement(\"div\", {\n className: classNames(className, \"\".concat(prefixCls, \"-inner\"))\n }, React.createElement(Header, {\n clearText: clearText,\n prefixCls: prefixCls,\n defaultOpenValue: validDefaultOpenValue,\n value: value,\n currentSelectPanel: currentSelectPanel,\n onEsc: onEsc,\n format: format,\n placeholder: placeholder,\n hourOptions: hourOptions,\n minuteOptions: minuteOptions,\n secondOptions: secondOptions,\n disabledHours: this.disabledHours,\n disabledMinutes: disabledMinutes,\n disabledSeconds: disabledSeconds,\n onChange: this.onChange,\n focusOnOpen: focusOnOpen,\n onKeyDown: onKeyDown,\n inputReadOnly: inputReadOnly,\n clearIcon: clearIcon\n }), React.createElement(Combobox, {\n prefixCls: prefixCls,\n value: value,\n defaultOpenValue: validDefaultOpenValue,\n format: format,\n onChange: this.onChange,\n onAmPmChange: this.onAmPmChange,\n showHour: showHour,\n showMinute: showMinute,\n showSecond: showSecond,\n hourOptions: hourOptions,\n minuteOptions: minuteOptions,\n secondOptions: secondOptions,\n disabledHours: this.disabledHours,\n disabledMinutes: disabledMinutes,\n disabledSeconds: disabledSeconds,\n onCurrentSelectPanelChange: this.onCurrentSelectPanelChange,\n use12Hours: use12Hours,\n onEsc: onEsc,\n isAM: this.isAM()\n }), addon(this));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, state) {\n if ('value' in props) {\n return _objectSpread({}, state, {\n value: props.value\n });\n }\n\n return null;\n }\n }]);\n\n return Panel;\n}(Component);\n\n_defineProperty(Panel, \"propTypes\", {\n clearText: PropTypes.string,\n prefixCls: PropTypes.string,\n className: PropTypes.string,\n defaultOpenValue: PropTypes.object,\n value: PropTypes.object,\n placeholder: PropTypes.string,\n format: PropTypes.string,\n inputReadOnly: PropTypes.bool,\n disabledHours: PropTypes.func,\n disabledMinutes: PropTypes.func,\n disabledSeconds: PropTypes.func,\n hideDisabledOptions: PropTypes.bool,\n onChange: PropTypes.func,\n onAmPmChange: PropTypes.func,\n onEsc: PropTypes.func,\n showHour: PropTypes.bool,\n showMinute: PropTypes.bool,\n showSecond: PropTypes.bool,\n use12Hours: PropTypes.bool,\n hourStep: PropTypes.number,\n minuteStep: PropTypes.number,\n secondStep: PropTypes.number,\n addon: PropTypes.func,\n focusOnOpen: PropTypes.bool,\n onKeyDown: PropTypes.func,\n clearIcon: PropTypes.node\n});\n\n_defineProperty(Panel, \"defaultProps\", {\n prefixCls: 'rc-time-picker-panel',\n onChange: noop,\n disabledHours: noop,\n disabledMinutes: noop,\n disabledSeconds: noop,\n defaultOpenValue: moment(),\n use12Hours: false,\n addon: noop,\n onKeyDown: noop,\n onAmPmChange: noop,\n inputReadOnly: false\n});\n\npolyfill(Panel);\nexport default Panel;","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nvar targetOffset = [0, 0];\nvar placements = {\n bottomLeft: {\n points: ['tl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -3],\n targetOffset: targetOffset\n },\n bottomRight: {\n points: ['tr', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -3],\n targetOffset: targetOffset\n },\n topRight: {\n points: ['br', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 3],\n targetOffset: targetOffset\n },\n topLeft: {\n points: ['bl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 3],\n targetOffset: targetOffset\n }\n};\nexport default placements;","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/* eslint jsx-a11y/no-autofocus: 0 */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Trigger from 'rc-trigger';\nimport moment from 'moment';\nimport { polyfill } from 'react-lifecycles-compat';\nimport classNames from 'classnames';\nimport Panel from './Panel';\nimport placements from './placements';\n\nfunction noop() {}\n\nfunction refFn(field, component) {\n this[field] = component;\n}\n\nvar Picker =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Picker, _Component);\n\n function Picker(props) {\n var _this;\n\n _classCallCheck(this, Picker);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Picker).call(this, props));\n\n _defineProperty(_assertThisInitialized(_this), \"onPanelChange\", function (value) {\n _this.setValue(value);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onAmPmChange\", function (ampm) {\n var onAmPmChange = _this.props.onAmPmChange;\n onAmPmChange(ampm);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onClear\", function (event) {\n event.stopPropagation();\n\n _this.setValue(null);\n\n _this.setOpen(false);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onVisibleChange\", function (open) {\n _this.setOpen(open);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onEsc\", function () {\n _this.setOpen(false);\n\n _this.focus();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onKeyDown\", function (e) {\n if (e.keyCode === 40) {\n _this.setOpen(true);\n }\n });\n\n _this.saveInputRef = refFn.bind(_assertThisInitialized(_this), 'picker');\n _this.savePanelRef = refFn.bind(_assertThisInitialized(_this), 'panelInstance');\n\n var defaultOpen = props.defaultOpen,\n defaultValue = props.defaultValue,\n _props$open = props.open,\n _open = _props$open === void 0 ? defaultOpen : _props$open,\n _props$value = props.value,\n _value = _props$value === void 0 ? defaultValue : _props$value;\n\n _this.state = {\n open: _open,\n value: _value\n };\n return _this;\n }\n\n _createClass(Picker, [{\n key: \"setValue\",\n value: function setValue(value) {\n var onChange = this.props.onChange;\n\n if (!('value' in this.props)) {\n this.setState({\n value: value\n });\n }\n\n onChange(value);\n }\n }, {\n key: \"getFormat\",\n value: function getFormat() {\n var _this$props = this.props,\n format = _this$props.format,\n showHour = _this$props.showHour,\n showMinute = _this$props.showMinute,\n showSecond = _this$props.showSecond,\n use12Hours = _this$props.use12Hours;\n\n if (format) {\n return format;\n }\n\n if (use12Hours) {\n var fmtString = [showHour ? 'h' : '', showMinute ? 'mm' : '', showSecond ? 'ss' : ''].filter(function (item) {\n return !!item;\n }).join(':');\n return fmtString.concat(' a');\n }\n\n return [showHour ? 'HH' : '', showMinute ? 'mm' : '', showSecond ? 'ss' : ''].filter(function (item) {\n return !!item;\n }).join(':');\n }\n }, {\n key: \"getPanelElement\",\n value: function getPanelElement() {\n var _this$props2 = this.props,\n prefixCls = _this$props2.prefixCls,\n placeholder = _this$props2.placeholder,\n disabledHours = _this$props2.disabledHours,\n disabledMinutes = _this$props2.disabledMinutes,\n disabledSeconds = _this$props2.disabledSeconds,\n hideDisabledOptions = _this$props2.hideDisabledOptions,\n inputReadOnly = _this$props2.inputReadOnly,\n showHour = _this$props2.showHour,\n showMinute = _this$props2.showMinute,\n showSecond = _this$props2.showSecond,\n defaultOpenValue = _this$props2.defaultOpenValue,\n clearText = _this$props2.clearText,\n addon = _this$props2.addon,\n use12Hours = _this$props2.use12Hours,\n focusOnOpen = _this$props2.focusOnOpen,\n onKeyDown = _this$props2.onKeyDown,\n hourStep = _this$props2.hourStep,\n minuteStep = _this$props2.minuteStep,\n secondStep = _this$props2.secondStep,\n clearIcon = _this$props2.clearIcon;\n var value = this.state.value;\n return React.createElement(Panel, {\n clearText: clearText,\n prefixCls: \"\".concat(prefixCls, \"-panel\"),\n ref: this.savePanelRef,\n value: value,\n inputReadOnly: inputReadOnly,\n onChange: this.onPanelChange,\n onAmPmChange: this.onAmPmChange,\n defaultOpenValue: defaultOpenValue,\n showHour: showHour,\n showMinute: showMinute,\n showSecond: showSecond,\n onEsc: this.onEsc,\n format: this.getFormat(),\n placeholder: placeholder,\n disabledHours: disabledHours,\n disabledMinutes: disabledMinutes,\n disabledSeconds: disabledSeconds,\n hideDisabledOptions: hideDisabledOptions,\n use12Hours: use12Hours,\n hourStep: hourStep,\n minuteStep: minuteStep,\n secondStep: secondStep,\n addon: addon,\n focusOnOpen: focusOnOpen,\n onKeyDown: onKeyDown,\n clearIcon: clearIcon\n });\n }\n }, {\n key: \"getPopupClassName\",\n value: function getPopupClassName() {\n var _this$props3 = this.props,\n showHour = _this$props3.showHour,\n showMinute = _this$props3.showMinute,\n showSecond = _this$props3.showSecond,\n use12Hours = _this$props3.use12Hours,\n prefixCls = _this$props3.prefixCls,\n popupClassName = _this$props3.popupClassName;\n var selectColumnCount = 0;\n\n if (showHour) {\n selectColumnCount += 1;\n }\n\n if (showMinute) {\n selectColumnCount += 1;\n }\n\n if (showSecond) {\n selectColumnCount += 1;\n }\n\n if (use12Hours) {\n selectColumnCount += 1;\n } // Keep it for old compatibility\n\n\n return classNames(popupClassName, _defineProperty({}, \"\".concat(prefixCls, \"-panel-narrow\"), (!showHour || !showMinute || !showSecond) && !use12Hours), \"\".concat(prefixCls, \"-panel-column-\").concat(selectColumnCount));\n }\n }, {\n key: \"setOpen\",\n value: function setOpen(open) {\n var _this$props4 = this.props,\n onOpen = _this$props4.onOpen,\n onClose = _this$props4.onClose;\n var currentOpen = this.state.open;\n\n if (currentOpen !== open) {\n if (!('open' in this.props)) {\n this.setState({\n open: open\n });\n }\n\n if (open) {\n onOpen({\n open: open\n });\n } else {\n onClose({\n open: open\n });\n }\n }\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this.picker.focus();\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.picker.blur();\n }\n }, {\n key: \"renderClearButton\",\n value: function renderClearButton() {\n var _this2 = this;\n\n var value = this.state.value;\n var _this$props5 = this.props,\n prefixCls = _this$props5.prefixCls,\n allowEmpty = _this$props5.allowEmpty,\n clearIcon = _this$props5.clearIcon,\n clearText = _this$props5.clearText,\n disabled = _this$props5.disabled;\n\n if (!allowEmpty || !value || disabled) {\n return null;\n }\n\n if (React.isValidElement(clearIcon)) {\n var _ref = clearIcon.props || {},\n _onClick = _ref.onClick;\n\n return React.cloneElement(clearIcon, {\n onClick: function onClick() {\n if (_onClick) _onClick.apply(void 0, arguments);\n\n _this2.onClear.apply(_this2, arguments);\n }\n });\n }\n\n return React.createElement(\"a\", {\n role: \"button\",\n className: \"\".concat(prefixCls, \"-clear\"),\n title: clearText,\n onClick: this.onClear,\n tabIndex: 0\n }, clearIcon || React.createElement(\"i\", {\n className: \"\".concat(prefixCls, \"-clear-icon\")\n }));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props6 = this.props,\n prefixCls = _this$props6.prefixCls,\n placeholder = _this$props6.placeholder,\n placement = _this$props6.placement,\n align = _this$props6.align,\n id = _this$props6.id,\n disabled = _this$props6.disabled,\n transitionName = _this$props6.transitionName,\n style = _this$props6.style,\n className = _this$props6.className,\n getPopupContainer = _this$props6.getPopupContainer,\n name = _this$props6.name,\n autoComplete = _this$props6.autoComplete,\n onFocus = _this$props6.onFocus,\n onBlur = _this$props6.onBlur,\n autoFocus = _this$props6.autoFocus,\n inputReadOnly = _this$props6.inputReadOnly,\n inputIcon = _this$props6.inputIcon,\n popupStyle = _this$props6.popupStyle;\n var _this$state = this.state,\n open = _this$state.open,\n value = _this$state.value;\n var popupClassName = this.getPopupClassName();\n return React.createElement(Trigger, {\n prefixCls: \"\".concat(prefixCls, \"-panel\"),\n popupClassName: popupClassName,\n popupStyle: popupStyle,\n popup: this.getPanelElement(),\n popupAlign: align,\n builtinPlacements: placements,\n popupPlacement: placement,\n action: disabled ? [] : ['click'],\n destroyPopupOnHide: true,\n getPopupContainer: getPopupContainer,\n popupTransitionName: transitionName,\n popupVisible: open,\n onPopupVisibleChange: this.onVisibleChange\n }, React.createElement(\"span\", {\n className: classNames(prefixCls, className),\n style: style\n }, React.createElement(\"input\", {\n className: \"\".concat(prefixCls, \"-input\"),\n ref: this.saveInputRef,\n type: \"text\",\n placeholder: placeholder,\n name: name,\n onKeyDown: this.onKeyDown,\n disabled: disabled,\n value: value && value.format(this.getFormat()) || '',\n autoComplete: autoComplete,\n onFocus: onFocus,\n onBlur: onBlur,\n autoFocus: autoFocus,\n onChange: noop,\n readOnly: !!inputReadOnly,\n id: id\n }), inputIcon || React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-icon\")\n }), this.renderClearButton()));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, state) {\n var newState = {};\n\n if ('value' in props) {\n newState.value = props.value;\n }\n\n if (props.open !== undefined) {\n newState.open = props.open;\n }\n\n return Object.keys(newState).length > 0 ? _objectSpread({}, state, {}, newState) : null;\n }\n }]);\n\n return Picker;\n}(Component);\n\n_defineProperty(Picker, \"propTypes\", {\n prefixCls: PropTypes.string,\n clearText: PropTypes.string,\n value: PropTypes.object,\n defaultOpenValue: PropTypes.object,\n inputReadOnly: PropTypes.bool,\n disabled: PropTypes.bool,\n allowEmpty: PropTypes.bool,\n defaultValue: PropTypes.object,\n open: PropTypes.bool,\n defaultOpen: PropTypes.bool,\n align: PropTypes.object,\n placement: PropTypes.any,\n transitionName: PropTypes.string,\n getPopupContainer: PropTypes.func,\n placeholder: PropTypes.string,\n format: PropTypes.string,\n showHour: PropTypes.bool,\n showMinute: PropTypes.bool,\n showSecond: PropTypes.bool,\n style: PropTypes.object,\n className: PropTypes.string,\n popupClassName: PropTypes.string,\n popupStyle: PropTypes.object,\n disabledHours: PropTypes.func,\n disabledMinutes: PropTypes.func,\n disabledSeconds: PropTypes.func,\n hideDisabledOptions: PropTypes.bool,\n onChange: PropTypes.func,\n onAmPmChange: PropTypes.func,\n onOpen: PropTypes.func,\n onClose: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n addon: PropTypes.func,\n name: PropTypes.string,\n autoComplete: PropTypes.string,\n use12Hours: PropTypes.bool,\n hourStep: PropTypes.number,\n minuteStep: PropTypes.number,\n secondStep: PropTypes.number,\n focusOnOpen: PropTypes.bool,\n onKeyDown: PropTypes.func,\n autoFocus: PropTypes.bool,\n id: PropTypes.string,\n inputIcon: PropTypes.node,\n clearIcon: PropTypes.node\n});\n\n_defineProperty(Picker, \"defaultProps\", {\n clearText: 'clear',\n prefixCls: 'rc-time-picker',\n defaultOpen: false,\n inputReadOnly: false,\n style: {},\n className: '',\n popupClassName: '',\n popupStyle: {},\n align: {},\n defaultOpenValue: moment(),\n allowEmpty: true,\n showHour: true,\n showMinute: true,\n showSecond: true,\n disabledHours: noop,\n disabledMinutes: noop,\n disabledSeconds: noop,\n hideDisabledOptions: false,\n placement: 'bottomLeft',\n onChange: noop,\n onAmPmChange: noop,\n onOpen: noop,\n onClose: noop,\n onFocus: noop,\n onBlur: noop,\n addon: noop,\n use12Hours: false,\n focusOnOpen: false,\n onKeyDown: noop\n});\n\npolyfill(Picker);\nexport default Picker;","/**\n * @ignore\n * event object for dom\n * @author yiminghe@gmail.com\n */\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _EventBaseObject = require('./EventBaseObject');\n\nvar _EventBaseObject2 = _interopRequireDefault(_EventBaseObject);\n\nvar _objectAssign = require('object-assign');\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar TRUE = true;\nvar FALSE = false;\nvar commonProps = ['altKey', 'bubbles', 'cancelable', 'ctrlKey', 'currentTarget', 'eventPhase', 'metaKey', 'shiftKey', 'target', 'timeStamp', 'view', 'type'];\n\nfunction isNullOrUndefined(w) {\n return w === null || w === undefined;\n}\n\nvar eventNormalizers = [{\n reg: /^key/,\n props: ['char', 'charCode', 'key', 'keyCode', 'which'],\n fix: function fix(event, nativeEvent) {\n if (isNullOrUndefined(event.which)) {\n event.which = !isNullOrUndefined(nativeEvent.charCode) ? nativeEvent.charCode : nativeEvent.keyCode;\n }\n\n // add metaKey to non-Mac browsers (use ctrl for PC 's and Meta for Macs)\n if (event.metaKey === undefined) {\n event.metaKey = event.ctrlKey;\n }\n }\n}, {\n reg: /^touch/,\n props: ['touches', 'changedTouches', 'targetTouches']\n}, {\n reg: /^hashchange$/,\n props: ['newURL', 'oldURL']\n}, {\n reg: /^gesturechange$/i,\n props: ['rotation', 'scale']\n}, {\n reg: /^(mousewheel|DOMMouseScroll)$/,\n props: [],\n fix: function fix(event, nativeEvent) {\n var deltaX = undefined;\n var deltaY = undefined;\n var delta = undefined;\n var wheelDelta = nativeEvent.wheelDelta;\n var axis = nativeEvent.axis;\n var wheelDeltaY = nativeEvent.wheelDeltaY;\n var wheelDeltaX = nativeEvent.wheelDeltaX;\n var detail = nativeEvent.detail;\n\n // ie/webkit\n if (wheelDelta) {\n delta = wheelDelta / 120;\n }\n\n // gecko\n if (detail) {\n // press control e.detail == 1 else e.detail == 3\n delta = 0 - (detail % 3 === 0 ? detail / 3 : detail);\n }\n\n // Gecko\n if (axis !== undefined) {\n if (axis === event.HORIZONTAL_AXIS) {\n deltaY = 0;\n deltaX = 0 - delta;\n } else if (axis === event.VERTICAL_AXIS) {\n deltaX = 0;\n deltaY = delta;\n }\n }\n\n // Webkit\n if (wheelDeltaY !== undefined) {\n deltaY = wheelDeltaY / 120;\n }\n if (wheelDeltaX !== undefined) {\n deltaX = -1 * wheelDeltaX / 120;\n }\n\n // 默认 deltaY (ie)\n if (!deltaX && !deltaY) {\n deltaY = delta;\n }\n\n if (deltaX !== undefined) {\n /**\n * deltaX of mousewheel event\n * @property deltaX\n * @member Event.DomEvent.Object\n */\n event.deltaX = deltaX;\n }\n\n if (deltaY !== undefined) {\n /**\n * deltaY of mousewheel event\n * @property deltaY\n * @member Event.DomEvent.Object\n */\n event.deltaY = deltaY;\n }\n\n if (delta !== undefined) {\n /**\n * delta of mousewheel event\n * @property delta\n * @member Event.DomEvent.Object\n */\n event.delta = delta;\n }\n }\n}, {\n reg: /^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i,\n props: ['buttons', 'clientX', 'clientY', 'button', 'offsetX', 'relatedTarget', 'which', 'fromElement', 'toElement', 'offsetY', 'pageX', 'pageY', 'screenX', 'screenY'],\n fix: function fix(event, nativeEvent) {\n var eventDoc = undefined;\n var doc = undefined;\n var body = undefined;\n var target = event.target;\n var button = nativeEvent.button;\n\n // Calculate pageX/Y if missing and clientX/Y available\n if (target && isNullOrUndefined(event.pageX) && !isNullOrUndefined(nativeEvent.clientX)) {\n eventDoc = target.ownerDocument || document;\n doc = eventDoc.documentElement;\n body = eventDoc.body;\n event.pageX = nativeEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n event.pageY = nativeEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n }\n\n // which for click: 1 === left; 2 === middle; 3 === right\n // do not use button\n if (!event.which && button !== undefined) {\n if (button & 1) {\n event.which = 1;\n } else if (button & 2) {\n event.which = 3;\n } else if (button & 4) {\n event.which = 2;\n } else {\n event.which = 0;\n }\n }\n\n // add relatedTarget, if necessary\n if (!event.relatedTarget && event.fromElement) {\n event.relatedTarget = event.fromElement === target ? event.toElement : event.fromElement;\n }\n\n return event;\n }\n}];\n\nfunction retTrue() {\n return TRUE;\n}\n\nfunction retFalse() {\n return FALSE;\n}\n\nfunction DomEventObject(nativeEvent) {\n var type = nativeEvent.type;\n\n var isNative = typeof nativeEvent.stopPropagation === 'function' || typeof nativeEvent.cancelBubble === 'boolean';\n\n _EventBaseObject2['default'].call(this);\n\n this.nativeEvent = nativeEvent;\n\n // in case dom event has been mark as default prevented by lower dom node\n var isDefaultPrevented = retFalse;\n if ('defaultPrevented' in nativeEvent) {\n isDefaultPrevented = nativeEvent.defaultPrevented ? retTrue : retFalse;\n } else if ('getPreventDefault' in nativeEvent) {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=691151\n isDefaultPrevented = nativeEvent.getPreventDefault() ? retTrue : retFalse;\n } else if ('returnValue' in nativeEvent) {\n isDefaultPrevented = nativeEvent.returnValue === FALSE ? retTrue : retFalse;\n }\n\n this.isDefaultPrevented = isDefaultPrevented;\n\n var fixFns = [];\n var fixFn = undefined;\n var l = undefined;\n var prop = undefined;\n var props = commonProps.concat();\n\n eventNormalizers.forEach(function (normalizer) {\n if (type.match(normalizer.reg)) {\n props = props.concat(normalizer.props);\n if (normalizer.fix) {\n fixFns.push(normalizer.fix);\n }\n }\n });\n\n l = props.length;\n\n // clone properties of the original event object\n while (l) {\n prop = props[--l];\n this[prop] = nativeEvent[prop];\n }\n\n // fix target property, if necessary\n if (!this.target && isNative) {\n this.target = nativeEvent.srcElement || document; // srcElement might not be defined either\n }\n\n // check if target is a text node (safari)\n if (this.target && this.target.nodeType === 3) {\n this.target = this.target.parentNode;\n }\n\n l = fixFns.length;\n\n while (l) {\n fixFn = fixFns[--l];\n fixFn(this, nativeEvent);\n }\n\n this.timeStamp = nativeEvent.timeStamp || Date.now();\n}\n\nvar EventBaseObjectProto = _EventBaseObject2['default'].prototype;\n\n(0, _objectAssign2['default'])(DomEventObject.prototype, EventBaseObjectProto, {\n constructor: DomEventObject,\n\n preventDefault: function preventDefault() {\n var e = this.nativeEvent;\n\n // if preventDefault exists run it on the original event\n if (e.preventDefault) {\n e.preventDefault();\n } else {\n // otherwise set the returnValue property of the original event to FALSE (IE)\n e.returnValue = FALSE;\n }\n\n EventBaseObjectProto.preventDefault.call(this);\n },\n\n stopPropagation: function stopPropagation() {\n var e = this.nativeEvent;\n\n // if stopPropagation exists run it on the original event\n if (e.stopPropagation) {\n e.stopPropagation();\n } else {\n // otherwise set the cancelBubble property of the original event to TRUE (IE)\n e.cancelBubble = TRUE;\n }\n\n EventBaseObjectProto.stopPropagation.call(this);\n }\n});\n\nexports['default'] = DomEventObject;\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports['default'] = addEventListener;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _EventObject = require('./EventObject');\n\nvar _EventObject2 = _interopRequireDefault(_EventObject);\n\nfunction addEventListener(target, eventType, callback, option) {\n function wrapCallback(e) {\n var ne = new _EventObject2['default'](e);\n callback.call(target, ne);\n }\n\n if (target.addEventListener) {\n var _ret = (function () {\n var useCapture = false;\n if (typeof option === 'object') {\n useCapture = option.capture || false;\n } else if (typeof option === 'boolean') {\n useCapture = option;\n }\n\n target.addEventListener(eventType, wrapCallback, option || false);\n\n return {\n v: {\n remove: function remove() {\n target.removeEventListener(eventType, wrapCallback, useCapture);\n }\n }\n };\n })();\n\n if (typeof _ret === 'object') return _ret.v;\n } else if (target.attachEvent) {\n target.attachEvent('on' + eventType, wrapCallback);\n return {\n remove: function remove() {\n target.detachEvent('on' + eventType, wrapCallback);\n }\n };\n }\n}\n\nmodule.exports = exports['default'];","/**\n * Module dependencies.\n */\n\ntry {\n var index = require('indexof');\n} catch (err) {\n var index = require('component-indexof');\n}\n\n/**\n * Whitespace regexp.\n */\n\nvar re = /\\s+/;\n\n/**\n * toString reference.\n */\n\nvar toString = Object.prototype.toString;\n\n/**\n * Wrap `el` in a `ClassList`.\n *\n * @param {Element} el\n * @return {ClassList}\n * @api public\n */\n\nmodule.exports = function(el){\n return new ClassList(el);\n};\n\n/**\n * Initialize a new ClassList for `el`.\n *\n * @param {Element} el\n * @api private\n */\n\nfunction ClassList(el) {\n if (!el || !el.nodeType) {\n throw new Error('A DOM element reference is required');\n }\n this.el = el;\n this.list = el.classList;\n}\n\n/**\n * Add class `name` if not already present.\n *\n * @param {String} name\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.add = function(name){\n // classList\n if (this.list) {\n this.list.add(name);\n return this;\n }\n\n // fallback\n var arr = this.array();\n var i = index(arr, name);\n if (!~i) arr.push(name);\n this.el.className = arr.join(' ');\n return this;\n};\n\n/**\n * Remove class `name` when present, or\n * pass a regular expression to remove\n * any which match.\n *\n * @param {String|RegExp} name\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.remove = function(name){\n if ('[object RegExp]' == toString.call(name)) {\n return this.removeMatching(name);\n }\n\n // classList\n if (this.list) {\n this.list.remove(name);\n return this;\n }\n\n // fallback\n var arr = this.array();\n var i = index(arr, name);\n if (~i) arr.splice(i, 1);\n this.el.className = arr.join(' ');\n return this;\n};\n\n/**\n * Remove all classes matching `re`.\n *\n * @param {RegExp} re\n * @return {ClassList}\n * @api private\n */\n\nClassList.prototype.removeMatching = function(re){\n var arr = this.array();\n for (var i = 0; i < arr.length; i++) {\n if (re.test(arr[i])) {\n this.remove(arr[i]);\n }\n }\n return this;\n};\n\n/**\n * Toggle class `name`, can force state via `force`.\n *\n * For browsers that support classList, but do not support `force` yet,\n * the mistake will be detected and corrected.\n *\n * @param {String} name\n * @param {Boolean} force\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.toggle = function(name, force){\n // classList\n if (this.list) {\n if (\"undefined\" !== typeof force) {\n if (force !== this.list.toggle(name, force)) {\n this.list.toggle(name); // toggle again to correct\n }\n } else {\n this.list.toggle(name);\n }\n return this;\n }\n\n // fallback\n if (\"undefined\" !== typeof force) {\n if (!force) {\n this.remove(name);\n } else {\n this.add(name);\n }\n } else {\n if (this.has(name)) {\n this.remove(name);\n } else {\n this.add(name);\n }\n }\n\n return this;\n};\n\n/**\n * Return an array of classes.\n *\n * @return {Array}\n * @api public\n */\n\nClassList.prototype.array = function(){\n var className = this.el.getAttribute('class') || '';\n var str = className.replace(/^\\s+|\\s+$/g, '');\n var arr = str.split(re);\n if ('' === arr[0]) arr.shift();\n return arr;\n};\n\n/**\n * Check if class `name` is present.\n *\n * @param {String} name\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.has =\nClassList.prototype.contains = function(name){\n return this.list\n ? this.list.contains(name)\n : !! ~index(this.array(), name);\n};\n","/**\n * @ignore\n * base event object for custom and dom event.\n * @author yiminghe@gmail.com\n */\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction returnFalse() {\n return false;\n}\n\nfunction returnTrue() {\n return true;\n}\n\nfunction EventBaseObject() {\n this.timeStamp = Date.now();\n this.target = undefined;\n this.currentTarget = undefined;\n}\n\nEventBaseObject.prototype = {\n isEventObject: 1,\n\n constructor: EventBaseObject,\n\n isDefaultPrevented: returnFalse,\n\n isPropagationStopped: returnFalse,\n\n isImmediatePropagationStopped: returnFalse,\n\n preventDefault: function preventDefault() {\n this.isDefaultPrevented = returnTrue;\n },\n\n stopPropagation: function stopPropagation() {\n this.isPropagationStopped = returnTrue;\n },\n\n stopImmediatePropagation: function stopImmediatePropagation() {\n this.isImmediatePropagationStopped = returnTrue;\n // fixed 1.2\n // call stopPropagation implicitly\n this.stopPropagation();\n },\n\n halt: function halt(immediate) {\n if (immediate) {\n this.stopImmediatePropagation();\n } else {\n this.stopPropagation();\n }\n this.preventDefault();\n }\n};\n\nexports[\"default\"] = EventBaseObject;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n if (key in obj) {\n (0, _defineProperty2.default)(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\";\n\nexports.__esModule = true;\n\nexports.default = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};","module.exports = function(arr, obj){\n if (arr.indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n};"],"sourceRoot":""}
|