{"version":3,"file":"js/chunk-vendors-94fa1718.45f54b00.js","mappings":"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","sources":["webpack://dicom-frontend/./node_modules/ant-design-vue/es/anchor/Anchor.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/anchor/AnchorLink.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/anchor/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/auto-complete/InputElement.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/auto-complete/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/avatar/Avatar.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/avatar/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/back-top/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/badge/ScrollNumber.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/badge/Badge.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/badge/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/base/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/breadcrumb/BreadcrumbItem.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/breadcrumb/Breadcrumb.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/breadcrumb/BreadcrumbSeparator.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/breadcrumb/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/button/button-group.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/button/buttonTypes.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/button/button.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/button/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/calendar/Header.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/calendar/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/calendar/locale/en_US.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/card/Card.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/card/Meta.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/card/Grid.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/card/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/carousel/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/cascader/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/checkbox/Checkbox.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/checkbox/Group.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/checkbox/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/col/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/collapse/Collapse.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/collapse/CollapsePanel.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/collapse/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/comment/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/config-provider/configConsumerProps.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/config-provider/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/config-provider/renderEmpty.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/date-picker/utils.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/date-picker/createPicker.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/date-picker/wrapPicker.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/date-picker/interface.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/date-picker/InputIcon.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/date-picker/RangePicker.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/date-picker/WeekPicker.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/date-picker/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/date-picker/locale/en_US.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/descriptions/Col.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/descriptions/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/divider/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/drawer/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/dropdown/dropdown-button.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/dropdown/dropdown.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/dropdown/getDropdownProps.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/dropdown/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/empty/empty.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/empty/simple.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/empty/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/form-model/FormItem.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/form-model/Form.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/form-model/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/form/FormItem.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/form/constants.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/form/Form.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/form/index.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/grid/Col.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/grid/Row.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/icon/IconFont.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/icon/utils.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/icon/twoTonePrimaryColor.js","webpack://dicom-frontend/./node_modules/ant-design-vue/es/icon/index.js"],"sourcesContent":["import _extends from 'babel-runtime/helpers/extends';\nimport PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport addEventListener from '../vc-util/Dom/addEventListener';\nimport Affix from '../affix';\nimport scrollTo from '../_util/scrollTo';\nimport getScroll from '../_util/getScroll';\nimport { initDefaultProps } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nfunction getDefaultContainer() {\n return window;\n}\n\nfunction getOffsetTop(element, container) {\n if (!element) {\n return 0;\n }\n\n if (!element.getClientRects().length) {\n return 0;\n }\n\n var rect = element.getBoundingClientRect();\n\n if (rect.width || rect.height) {\n if (container === window) {\n container = element.ownerDocument.documentElement;\n return rect.top - container.clientTop;\n }\n return rect.top - container.getBoundingClientRect().top;\n }\n\n return rect.top;\n}\n\n// function easeInOutCubic(t, b, c, d) {\n// const cc = c - b;\n// t /= d / 2;\n// if (t < 1) {\n// return (cc / 2) * t * t * t + b;\n// }\n// return (cc / 2) * ((t -= 2) * t * t + 2) + b;\n// }\n\nvar sharpMatcherRegx = /#([^#]+)$/;\n// function scrollTo(href, offsetTop = 0, getContainer, callback = () => {}) {\n// const container = getContainer();\n// const scrollTop = getScroll(container, true);\n// const sharpLinkMatch = sharpMatcherRegx.exec(href);\n// if (!sharpLinkMatch) {\n// return;\n// }\n// const targetElement = document.getElementById(sharpLinkMatch[1]);\n// if (!targetElement) {\n// return;\n// }\n// const eleOffsetTop = getOffsetTop(targetElement, container);\n// const targetScrollTop = scrollTop + eleOffsetTop - offsetTop;\n// const startTime = Date.now();\n// const frameFunc = () => {\n// const timestamp = Date.now();\n// const time = timestamp - startTime;\n// const nextScrollTop = easeInOutCubic(time, scrollTop, targetScrollTop, 450);\n// if (container === window) {\n// window.scrollTo(window.pageXOffset, nextScrollTop);\n// } else {\n// container.scrollTop = nextScrollTop;\n// }\n// if (time < 450) {\n// raf(frameFunc);\n// } else {\n// callback();\n// }\n// };\n// raf(frameFunc);\n// }\n\nexport var AnchorProps = {\n prefixCls: PropTypes.string,\n offsetTop: PropTypes.number,\n bounds: PropTypes.number,\n affix: PropTypes.bool,\n showInkInFixed: PropTypes.bool,\n getContainer: PropTypes.func,\n wrapperClass: PropTypes.string,\n wrapperStyle: PropTypes.object,\n getCurrentAnchor: PropTypes.func,\n targetOffset: PropTypes.number\n};\n\nexport default {\n name: 'AAnchor',\n mixins: [BaseMixin],\n inheritAttrs: false,\n props: initDefaultProps(AnchorProps, {\n affix: true,\n showInkInFixed: false,\n getContainer: getDefaultContainer\n }),\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n data: function data() {\n this.links = [];\n this._sPrefixCls = '';\n return {\n activeLink: null\n };\n },\n provide: function provide() {\n var _this = this;\n\n return {\n antAnchor: {\n registerLink: function registerLink(link) {\n if (!_this.links.includes(link)) {\n _this.links.push(link);\n }\n },\n unregisterLink: function unregisterLink(link) {\n var index = _this.links.indexOf(link);\n if (index !== -1) {\n _this.links.splice(index, 1);\n }\n },\n $data: this.$data,\n scrollTo: this.handleScrollTo\n },\n antAnchorContext: this\n };\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.$nextTick(function () {\n var getContainer = _this2.getContainer;\n\n _this2.scrollContainer = getContainer();\n _this2.scrollEvent = addEventListener(_this2.scrollContainer, 'scroll', _this2.handleScroll);\n _this2.handleScroll();\n });\n },\n updated: function updated() {\n var _this3 = this;\n\n this.$nextTick(function () {\n if (_this3.scrollEvent) {\n var getContainer = _this3.getContainer;\n\n var currentContainer = getContainer();\n if (_this3.scrollContainer !== currentContainer) {\n _this3.scrollContainer = currentContainer;\n _this3.scrollEvent.remove();\n _this3.scrollEvent = addEventListener(_this3.scrollContainer, 'scroll', _this3.handleScroll);\n _this3.handleScroll();\n }\n }\n _this3.updateInk();\n });\n },\n beforeDestroy: function beforeDestroy() {\n if (this.scrollEvent) {\n this.scrollEvent.remove();\n }\n },\n\n methods: {\n getCurrentActiveLink: function getCurrentActiveLink() {\n var offsetTop = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var bounds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;\n var getCurrentAnchor = this.getCurrentAnchor;\n\n\n if (typeof getCurrentAnchor === 'function') {\n return getCurrentAnchor();\n }\n var activeLink = '';\n if (typeof document === 'undefined') {\n return activeLink;\n }\n\n var linkSections = [];\n var getContainer = this.getContainer;\n\n var container = getContainer();\n this.links.forEach(function (link) {\n var sharpLinkMatch = sharpMatcherRegx.exec(link.toString());\n if (!sharpLinkMatch) {\n return;\n }\n var target = document.getElementById(sharpLinkMatch[1]);\n if (target) {\n var top = getOffsetTop(target, container);\n if (top < offsetTop + bounds) {\n linkSections.push({\n link: link,\n top: top\n });\n }\n }\n });\n\n if (linkSections.length) {\n var maxSection = linkSections.reduce(function (prev, curr) {\n return curr.top > prev.top ? curr : prev;\n });\n return maxSection.link;\n }\n return '';\n },\n handleScrollTo: function handleScrollTo(link) {\n var _this4 = this;\n\n var offsetTop = this.offsetTop,\n getContainer = this.getContainer,\n targetOffset = this.targetOffset;\n\n\n this.setCurrentActiveLink(link);\n var container = getContainer();\n var scrollTop = getScroll(container, true);\n var sharpLinkMatch = sharpMatcherRegx.exec(link);\n if (!sharpLinkMatch) {\n return;\n }\n var targetElement = document.getElementById(sharpLinkMatch[1]);\n if (!targetElement) {\n return;\n }\n\n var eleOffsetTop = getOffsetTop(targetElement, container);\n var y = scrollTop + eleOffsetTop;\n y -= targetOffset !== undefined ? targetOffset : offsetTop || 0;\n this.animating = true;\n\n scrollTo(y, {\n callback: function callback() {\n _this4.animating = false;\n },\n getContainer: getContainer\n });\n },\n setCurrentActiveLink: function setCurrentActiveLink(link) {\n var activeLink = this.activeLink;\n\n\n if (activeLink !== link) {\n this.setState({\n activeLink: link\n });\n this.$emit('change', link);\n }\n },\n handleScroll: function handleScroll() {\n if (this.animating) {\n return;\n }\n var offsetTop = this.offsetTop,\n bounds = this.bounds,\n targetOffset = this.targetOffset;\n\n var currentActiveLink = this.getCurrentActiveLink(targetOffset !== undefined ? targetOffset : offsetTop || 0, bounds);\n this.setCurrentActiveLink(currentActiveLink);\n },\n updateInk: function updateInk() {\n if (typeof document === 'undefined') {\n return;\n }\n var _sPrefixCls = this._sPrefixCls;\n\n var linkNode = this.$el.getElementsByClassName(_sPrefixCls + '-link-title-active')[0];\n if (linkNode) {\n this.$refs.inkNode.style.top = linkNode.offsetTop + linkNode.clientHeight / 2 - 4.5 + 'px';\n }\n }\n },\n\n render: function render() {\n var h = arguments[0];\n var customizePrefixCls = this.prefixCls,\n offsetTop = this.offsetTop,\n affix = this.affix,\n showInkInFixed = this.showInkInFixed,\n activeLink = this.activeLink,\n $slots = this.$slots,\n getContainer = this.getContainer;\n\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('anchor', customizePrefixCls);\n this._sPrefixCls = prefixCls;\n\n var inkClass = classNames(prefixCls + '-ink-ball', {\n visible: activeLink\n });\n\n var wrapperClass = classNames(this.wrapperClass, prefixCls + '-wrapper');\n\n var anchorClass = classNames(prefixCls, {\n fixed: !affix && !showInkInFixed\n });\n\n var wrapperStyle = _extends({\n maxHeight: offsetTop ? 'calc(100vh - ' + offsetTop + 'px)' : '100vh'\n }, this.wrapperStyle);\n\n var anchorContent = h(\n 'div',\n { 'class': wrapperClass, style: wrapperStyle },\n [h(\n 'div',\n { 'class': anchorClass },\n [h(\n 'div',\n { 'class': prefixCls + '-ink' },\n [h('span', { 'class': inkClass, ref: 'inkNode' })]\n ), $slots['default']]\n )]\n );\n\n return !affix ? anchorContent : h(\n Affix,\n {\n attrs: { offsetTop: offsetTop, target: getContainer }\n },\n [anchorContent]\n );\n }\n};","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport PropTypes from '../_util/vue-types';\nimport { initDefaultProps, getComponentFromProp } from '../_util/props-util';\nimport classNames from 'classnames';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport var AnchorLinkProps = {\n prefixCls: PropTypes.string,\n href: PropTypes.string,\n title: PropTypes.any,\n target: PropTypes.string\n};\n\nexport default {\n name: 'AAnchorLink',\n props: initDefaultProps(AnchorLinkProps, {\n href: '#'\n }),\n inject: {\n antAnchor: { 'default': function _default() {\n return {};\n } },\n antAnchorContext: { 'default': function _default() {\n return {};\n } },\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n watch: {\n href: function href(val, oldVal) {\n var _this = this;\n\n this.$nextTick(function () {\n _this.antAnchor.unregisterLink(oldVal);\n _this.antAnchor.registerLink(val);\n });\n }\n },\n\n mounted: function mounted() {\n this.antAnchor.registerLink(this.href);\n },\n beforeDestroy: function beforeDestroy() {\n this.antAnchor.unregisterLink(this.href);\n },\n\n methods: {\n handleClick: function handleClick(e) {\n this.antAnchor.scrollTo(this.href);\n var scrollTo = this.antAnchor.scrollTo;\n var _$props = this.$props,\n href = _$props.href,\n title = _$props.title;\n\n if (this.antAnchorContext.$emit) {\n this.antAnchorContext.$emit('click', e, { title: title, href: href });\n }\n scrollTo(href);\n }\n },\n render: function render() {\n var h = arguments[0];\n var customizePrefixCls = this.prefixCls,\n href = this.href,\n $slots = this.$slots,\n target = this.target;\n\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('anchor', customizePrefixCls);\n\n var title = getComponentFromProp(this, 'title');\n var active = this.antAnchor.$data.activeLink === href;\n var wrapperClassName = classNames(prefixCls + '-link', _defineProperty({}, prefixCls + '-link-active', active));\n var titleClassName = classNames(prefixCls + '-link-title', _defineProperty({}, prefixCls + '-link-title-active', active));\n return h(\n 'div',\n { 'class': wrapperClassName },\n [h(\n 'a',\n {\n 'class': titleClassName,\n attrs: { href: href,\n title: typeof title === 'string' ? title : '',\n target: target\n },\n on: {\n 'click': this.handleClick\n }\n },\n [title]\n ), $slots['default']]\n );\n }\n};","import Anchor from './Anchor';\nimport AnchorLink from './AnchorLink';\nimport Base from '../base';\n\nAnchor.Link = AnchorLink;\n\n/* istanbul ignore next */\nAnchor.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Anchor.name, Anchor);\n Vue.component(Anchor.Link.name, Anchor.Link);\n};\nexport { AnchorProps } from './Anchor';\nexport { AnchorLinkProps } from './AnchorLink';\nexport default Anchor;","import _slicedToArray from 'babel-runtime/helpers/slicedToArray';\nimport _extends from 'babel-runtime/helpers/extends';\nimport PropTypes from '../_util/vue-types';\nimport { cloneElement } from '../_util/vnode';\nimport { getOptionProps, getListeners } from '../_util/props-util';\nfunction chaining() {\n for (var _len = arguments.length, fns = Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function () {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n // eslint-disable-line\n // eslint-disable-line\n for (var i = 0; i < fns.length; i++) {\n if (fns[i] && typeof fns[i] === 'function') {\n fns[i].apply(this, args);\n }\n }\n };\n}\nexport default {\n name: 'InputElement',\n inheritAttrs: false,\n props: {\n value: PropTypes.any,\n disabled: PropTypes.bool,\n placeholder: PropTypes.string\n },\n render: function render() {\n var _$slots = this.$slots,\n $slots = _$slots === undefined ? {} : _$slots,\n _$attrs = this.$attrs,\n $attrs = _$attrs === undefined ? {} : _$attrs,\n placeholder = this.placeholder;\n\n var listeners = getListeners(this);\n var props = getOptionProps(this);\n var value = props.value === undefined ? '' : props.value;\n var children = $slots['default'][0];\n var _$slots$default$0$com = $slots['default'][0].componentOptions,\n componentOptions = _$slots$default$0$com === undefined ? {} : _$slots$default$0$com;\n var _componentOptions$lis = componentOptions.listeners,\n events = _componentOptions$lis === undefined ? {} : _componentOptions$lis;\n\n var newEvent = _extends({}, events);\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = Object.entries(listeners)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _ref = _step.value;\n\n var _ref2 = _slicedToArray(_ref, 2);\n\n var eventName = _ref2[0];\n var event = _ref2[1];\n\n newEvent[eventName] = chaining(event, events[eventName]);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator['return']) {\n _iterator['return']();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n var attrs = _extends({}, $attrs, { value: value });\n // https://github.com/vueComponent/ant-design-vue/issues/1761\n delete props.placeholder;\n if (placeholder) {\n props.placeholder = placeholder;\n attrs.placeholder = placeholder;\n }\n return cloneElement(children, {\n domProps: {\n value: value\n },\n props: props,\n on: newEvent,\n attrs: attrs,\n ref: 'ele'\n });\n }\n};","import _typeof from 'babel-runtime/helpers/typeof';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport { Option, OptGroup } from '../vc-select';\nimport Select, { AbstractSelectProps, SelectValue } from '../select';\nimport Input from '../input';\nimport InputElement from './InputElement';\nimport PropTypes from '../_util/vue-types';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport { getComponentFromProp, getOptionProps, filterEmpty, isValidElement, getListeners } from '../_util/props-util';\nimport Base from '../base';\n\n// const DataSourceItemObject = PropTypes.shape({\n// value: String,\n// text: String,\n// }).loose\n// const DataSourceItemType = PropTypes.oneOfType([\n// PropTypes.string,\n// DataSourceItemObject,\n// ]).isRequired\n\n// export interface AutoCompleteInputProps {\n// onChange?: React.FormEventHandler;\n// value: any;\n// }\n\nvar AutoCompleteProps = _extends({}, AbstractSelectProps(), {\n value: SelectValue,\n defaultValue: SelectValue,\n dataSource: PropTypes.array,\n dropdownMenuStyle: PropTypes.object,\n optionLabelProp: String,\n dropdownMatchSelectWidth: PropTypes.bool\n // onChange?: (value: SelectValue) => void;\n // onSelect?: (value: SelectValue, option: Object) => any;\n});\n\nvar AutoComplete = {\n name: 'AAutoComplete',\n props: _extends({}, AutoCompleteProps, {\n prefixCls: PropTypes.string,\n showSearch: PropTypes.bool.def(false),\n transitionName: PropTypes.string.def('slide-up'),\n choiceTransitionName: PropTypes.string.def('zoom'),\n autoFocus: PropTypes.bool,\n backfill: PropTypes.bool,\n optionLabelProp: PropTypes.string.def('children'),\n filterOption: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]).def(false),\n defaultActiveFirstOption: PropTypes.bool.def(true)\n }),\n Option: _extends({}, Option, { name: 'AAutoCompleteOption' }),\n OptGroup: _extends({}, OptGroup, { name: 'AAutoCompleteOptGroup' }),\n model: {\n prop: 'value',\n event: 'change'\n },\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n provide: function provide() {\n return {\n savePopupRef: this.savePopupRef\n };\n },\n\n methods: {\n savePopupRef: function savePopupRef(ref) {\n this.popupRef = ref;\n },\n getInputElement: function getInputElement() {\n var h = this.$createElement;\n var $slots = this.$slots,\n placeholder = this.placeholder;\n\n var children = filterEmpty($slots['default']);\n var element = children.length ? children[0] : h(Input, {\n attrs: { lazy: false }\n });\n return h(\n InputElement,\n {\n attrs: { placeholder: placeholder }\n },\n [element]\n );\n },\n focus: function focus() {\n if (this.$refs.select) {\n this.$refs.select.focus();\n }\n },\n blur: function blur() {\n if (this.$refs.select) {\n this.$refs.select.blur();\n }\n }\n },\n\n render: function render() {\n var _cls;\n\n var h = arguments[0];\n var size = this.size,\n customizePrefixCls = this.prefixCls,\n optionLabelProp = this.optionLabelProp,\n dataSource = this.dataSource,\n $slots = this.$slots;\n\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('select', customizePrefixCls);\n\n var cls = (_cls = {}, _defineProperty(_cls, prefixCls + '-lg', size === 'large'), _defineProperty(_cls, prefixCls + '-sm', size === 'small'), _defineProperty(_cls, prefixCls + '-show-search', true), _defineProperty(_cls, prefixCls + '-auto-complete', true), _cls);\n\n var options = void 0;\n var childArray = filterEmpty($slots.dataSource);\n if (childArray.length) {\n options = childArray;\n } else {\n options = dataSource ? dataSource.map(function (item) {\n if (isValidElement(item)) {\n return item;\n }\n switch (typeof item === 'undefined' ? 'undefined' : _typeof(item)) {\n case 'string':\n return h(\n Option,\n { key: item },\n [item]\n );\n case 'object':\n return h(\n Option,\n { key: item.value },\n [item.text]\n );\n default:\n throw new Error('AutoComplete[dataSource] only supports type `string[] | Object[]`.');\n }\n }) : [];\n }\n var selectProps = {\n props: _extends({}, getOptionProps(this), {\n mode: Select.SECRET_COMBOBOX_MODE_DO_NOT_USE,\n optionLabelProp: optionLabelProp,\n getInputElement: this.getInputElement,\n notFoundContent: getComponentFromProp(this, 'notFoundContent'),\n placeholder: ''\n }),\n 'class': cls,\n ref: 'select',\n on: getListeners(this)\n };\n return h(\n Select,\n selectProps,\n [options]\n );\n }\n};\n\n/* istanbul ignore next */\nAutoComplete.install = function (Vue) {\n Vue.use(Base);\n Vue.component(AutoComplete.name, AutoComplete);\n Vue.component(AutoComplete.Option.name, AutoComplete.Option);\n Vue.component(AutoComplete.OptGroup.name, AutoComplete.OptGroup);\n};\n\nexport default AutoComplete;","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport _extends from 'babel-runtime/helpers/extends';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Icon from '../icon';\nimport { getListeners, getComponentFromProp } from '../_util/props-util';\nimport PropTypes from '../_util/vue-types';\n\nexport default {\n name: 'AAvatar',\n props: {\n prefixCls: {\n type: String,\n 'default': undefined\n },\n shape: {\n validator: function validator(val) {\n return ['circle', 'square'].includes(val);\n },\n 'default': 'circle'\n },\n size: {\n validator: function validator(val) {\n return typeof val === 'number' || ['small', 'large', 'default'].includes(val);\n },\n 'default': 'default'\n },\n src: String,\n /** Srcset of image avatar */\n srcSet: String,\n icon: PropTypes.any,\n alt: String,\n loadError: Function\n },\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n data: function data() {\n return {\n isImgExist: true,\n isMounted: false,\n scale: 1\n };\n },\n\n watch: {\n src: function src() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.isImgExist = true;\n _this.scale = 1;\n // force uodate for position\n _this.$forceUpdate();\n });\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.setScale();\n _this2.isMounted = true;\n });\n },\n updated: function updated() {\n var _this3 = this;\n\n this.$nextTick(function () {\n _this3.setScale();\n });\n },\n\n methods: {\n setScale: function setScale() {\n if (!this.$refs.avatarChildren || !this.$refs.avatarNode) {\n return;\n }\n var childrenWidth = this.$refs.avatarChildren.offsetWidth; // offsetWidth avoid affecting be transform scale\n var nodeWidth = this.$refs.avatarNode.offsetWidth;\n // denominator is 0 is no meaning\n if (childrenWidth === 0 || nodeWidth === 0 || this.lastChildrenWidth === childrenWidth && this.lastNodeWidth === nodeWidth) {\n return;\n }\n this.lastChildrenWidth = childrenWidth;\n this.lastNodeWidth = nodeWidth;\n // add 4px gap for each side to get better performance\n this.scale = nodeWidth - 8 < childrenWidth ? (nodeWidth - 8) / childrenWidth : 1;\n },\n handleImgLoadError: function handleImgLoadError() {\n var loadError = this.$props.loadError;\n\n var errorFlag = loadError ? loadError() : undefined;\n if (errorFlag !== false) {\n this.isImgExist = false;\n }\n }\n },\n render: function render() {\n var _sizeCls, _extends3;\n\n var h = arguments[0];\n var _$props = this.$props,\n customizePrefixCls = _$props.prefixCls,\n shape = _$props.shape,\n size = _$props.size,\n src = _$props.src,\n alt = _$props.alt,\n srcSet = _$props.srcSet;\n\n var icon = getComponentFromProp(this, 'icon');\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('avatar', customizePrefixCls);\n\n var _$data = this.$data,\n isImgExist = _$data.isImgExist,\n scale = _$data.scale,\n isMounted = _$data.isMounted;\n\n\n var sizeCls = (_sizeCls = {}, _defineProperty(_sizeCls, prefixCls + '-lg', size === 'large'), _defineProperty(_sizeCls, prefixCls + '-sm', size === 'small'), _sizeCls);\n\n var classString = _extends(_defineProperty({}, prefixCls, true), sizeCls, (_extends3 = {}, _defineProperty(_extends3, prefixCls + '-' + shape, shape), _defineProperty(_extends3, prefixCls + '-image', src && isImgExist), _defineProperty(_extends3, prefixCls + '-icon', icon), _extends3));\n\n var sizeStyle = typeof size === 'number' ? {\n width: size + 'px',\n height: size + 'px',\n lineHeight: size + 'px',\n fontSize: icon ? size / 2 + 'px' : '18px'\n } : {};\n\n var children = this.$slots['default'];\n if (src && isImgExist) {\n children = h('img', {\n attrs: { src: src, srcSet: srcSet, alt: alt },\n on: {\n 'error': this.handleImgLoadError\n }\n });\n } else if (icon) {\n if (typeof icon === 'string') {\n children = h(Icon, {\n attrs: { type: icon }\n });\n } else {\n children = icon;\n }\n } else {\n var childrenNode = this.$refs.avatarChildren;\n if (childrenNode || scale !== 1) {\n var transformString = 'scale(' + scale + ') translateX(-50%)';\n var childrenStyle = {\n msTransform: transformString,\n WebkitTransform: transformString,\n transform: transformString\n };\n var sizeChildrenStyle = typeof size === 'number' ? {\n lineHeight: size + 'px'\n } : {};\n children = h(\n 'span',\n {\n 'class': prefixCls + '-string',\n ref: 'avatarChildren',\n style: _extends({}, sizeChildrenStyle, childrenStyle)\n },\n [children]\n );\n } else {\n var _childrenStyle = {};\n if (!isMounted) {\n _childrenStyle.opacity = 0;\n }\n children = h(\n 'span',\n { 'class': prefixCls + '-string', ref: 'avatarChildren', style: { opacity: 0 } },\n [children]\n );\n }\n }\n return h(\n 'span',\n _mergeJSXProps([{ ref: 'avatarNode' }, { on: getListeners(this), 'class': classString, style: sizeStyle }]),\n [children]\n );\n }\n};","import Avatar from './Avatar';\nimport Base from '../base';\n\n/* istanbul ignore next */\nAvatar.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Avatar.name, Avatar);\n};\n\nexport default Avatar;","import _extends from 'babel-runtime/helpers/extends';\nimport PropTypes from '../_util/vue-types';\nimport addEventListener from '../vc-util/Dom/addEventListener';\nimport getScroll from '../_util/getScroll';\nimport BaseMixin from '../_util/BaseMixin';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\nimport { getListeners } from '../_util/props-util';\nimport scrollTo from '../_util/scrollTo';\n\nfunction getDefaultTarget() {\n return window;\n}\n\nvar BackTopProps = {\n visibilityHeight: PropTypes.number,\n // onClick?: React.MouseEventHandler;\n target: PropTypes.func,\n prefixCls: PropTypes.string\n // visible: PropTypes.bool, // Only for test. Don't use it.\n};\n\nvar BackTop = {\n name: 'ABackTop',\n mixins: [BaseMixin],\n props: _extends({}, BackTopProps, {\n visibilityHeight: PropTypes.number.def(400)\n }),\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n data: function data() {\n this.scrollEvent = null;\n return {\n visible: false\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n var getTarget = _this.target || getDefaultTarget;\n _this.scrollEvent = addEventListener(getTarget(), 'scroll', _this.handleScroll);\n _this.handleScroll();\n });\n },\n activated: function activated() {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.handleScroll();\n });\n },\n beforeDestroy: function beforeDestroy() {\n if (this.scrollEvent) {\n this.scrollEvent.remove();\n }\n },\n\n methods: {\n getCurrentScrollTop: function getCurrentScrollTop() {\n var getTarget = this.target || getDefaultTarget;\n var targetNode = getTarget();\n if (targetNode === window) {\n return window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop;\n }\n return targetNode.scrollTop;\n },\n scrollToTop: function scrollToTop(e) {\n var _target = this.target,\n target = _target === undefined ? getDefaultTarget : _target;\n\n scrollTo(0, {\n getContainer: target\n });\n this.$emit('click', e);\n },\n handleScroll: function handleScroll() {\n var visibilityHeight = this.visibilityHeight,\n _target2 = this.target,\n target = _target2 === undefined ? getDefaultTarget : _target2;\n\n var scrollTop = getScroll(target(), true);\n this.setState({\n visible: scrollTop > visibilityHeight\n });\n }\n },\n\n render: function render() {\n var h = arguments[0];\n var customizePrefixCls = this.prefixCls,\n $slots = this.$slots;\n\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('back-top', customizePrefixCls);\n\n var defaultElement = h(\n 'div',\n { 'class': prefixCls + '-content' },\n [h('div', { 'class': prefixCls + '-icon' })]\n );\n var divProps = {\n on: _extends({}, getListeners(this), {\n click: this.scrollToTop\n }),\n 'class': prefixCls\n };\n\n var backTopBtn = this.visible ? h(\n 'div',\n divProps,\n [$slots['default'] || defaultElement]\n ) : null;\n var transitionProps = getTransitionProps('fade');\n return h(\n 'transition',\n transitionProps,\n [backTopBtn]\n );\n }\n};\n\n/* istanbul ignore next */\nBackTop.install = function (Vue) {\n Vue.use(Base);\n Vue.component(BackTop.name, BackTop);\n};\n\nexport default BackTop;","import _extends from 'babel-runtime/helpers/extends';\nimport classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getStyle } from '../_util/props-util';\nimport omit from 'omit.js';\nimport { cloneElement } from '../_util/vnode';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nfunction getNumberArray(num) {\n return num ? num.toString().split('').reverse().map(function (i) {\n var current = Number(i);\n return isNaN(current) ? i : current;\n }) : [];\n}\n\nvar ScrollNumberProps = {\n prefixCls: PropTypes.string,\n count: PropTypes.any,\n component: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.number, PropTypes.string, null]),\n displayComponent: PropTypes.any,\n className: PropTypes.object\n};\n\nexport default {\n mixins: [BaseMixin],\n props: ScrollNumberProps,\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n data: function data() {\n return {\n animateStarted: true,\n sCount: this.count\n };\n },\n\n watch: {\n count: function count() {\n this.lastCount = this.sCount;\n this.setState({\n animateStarted: true\n });\n }\n },\n updated: function updated() {\n var _this = this;\n\n var animateStarted = this.animateStarted,\n count = this.count;\n\n if (animateStarted) {\n this.clearTimeout();\n // Let browser has time to reset the scroller before actually\n // performing the transition.\n this.timeout = setTimeout(function () {\n _this.setState({\n animateStarted: false,\n sCount: count\n }, _this.onAnimated);\n });\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.clearTimeout();\n },\n\n methods: {\n clearTimeout: function (_clearTimeout) {\n function clearTimeout() {\n return _clearTimeout.apply(this, arguments);\n }\n\n clearTimeout.toString = function () {\n return _clearTimeout.toString();\n };\n\n return clearTimeout;\n }(function () {\n if (this.timeout) {\n clearTimeout(this.timeout);\n this.timeout = undefined;\n }\n }),\n getPositionByNum: function getPositionByNum(num, i) {\n var sCount = this.sCount;\n\n var currentCount = Math.abs(Number(sCount));\n var lastCount = Math.abs(Number(this.lastCount));\n var currentDigit = Math.abs(getNumberArray(sCount)[i]);\n var lastDigit = Math.abs(getNumberArray(this.lastCount)[i]);\n\n if (this.animateStarted) {\n return 10 + num;\n }\n // 同方向则在同一侧切换数字\n if (currentCount > lastCount) {\n if (currentDigit >= lastDigit) {\n return 10 + num;\n }\n return 20 + num;\n }\n if (currentDigit <= lastDigit) {\n return 10 + num;\n }\n return num;\n },\n onAnimated: function onAnimated() {\n this.$emit('animated');\n },\n renderNumberList: function renderNumberList(position, className) {\n var h = this.$createElement;\n\n var childrenToReturn = [];\n for (var i = 0; i < 30; i++) {\n childrenToReturn.push(h(\n 'p',\n {\n key: i.toString(),\n 'class': classNames(className, {\n current: position === i\n })\n },\n [i % 10]\n ));\n }\n\n return childrenToReturn;\n },\n renderCurrentNumber: function renderCurrentNumber(prefixCls, num, i) {\n var h = this.$createElement;\n\n if (typeof num === 'number') {\n var position = this.getPositionByNum(num, i);\n var removeTransition = this.animateStarted || getNumberArray(this.lastCount)[i] === undefined;\n var style = {\n transition: removeTransition ? 'none' : undefined,\n msTransform: 'translateY(' + -position * 100 + '%)',\n WebkitTransform: 'translateY(' + -position * 100 + '%)',\n transform: 'translateY(' + -position * 100 + '%)'\n };\n return h(\n 'span',\n { 'class': prefixCls + '-only', style: style, key: i },\n [this.renderNumberList(position, prefixCls + '-only-unit')]\n );\n }\n return h(\n 'span',\n { key: 'symbol', 'class': prefixCls + '-symbol' },\n [num]\n );\n },\n renderNumberElement: function renderNumberElement(prefixCls) {\n var _this2 = this;\n\n var sCount = this.sCount;\n\n if (sCount && Number(sCount) % 1 === 0) {\n return getNumberArray(sCount).map(function (num, i) {\n return _this2.renderCurrentNumber(prefixCls, num, i);\n }).reverse();\n }\n return sCount;\n }\n },\n\n render: function render() {\n var h = arguments[0];\n var customizePrefixCls = this.prefixCls,\n title = this.title,\n _component = this.component,\n Tag = _component === undefined ? 'sup' : _component,\n displayComponent = this.displayComponent,\n className = this.className;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('scroll-number', customizePrefixCls);\n if (displayComponent) {\n return cloneElement(displayComponent, {\n 'class': prefixCls + '-custom-component'\n });\n }\n var style = getStyle(this, true);\n // fix https://fb.me/react-unknown-prop\n var restProps = omit(this.$props, ['count', 'component', 'prefixCls', 'displayComponent']);\n var newProps = {\n props: _extends({}, restProps),\n attrs: {\n title: title\n },\n style: style,\n 'class': classNames(prefixCls, className)\n };\n // allow specify the border\n // mock border-color by box-shadow for compatible with old usage:\n // \n if (style && style.borderColor) {\n newProps.style.boxShadow = '0 0 0 1px ' + style.borderColor + ' inset';\n }\n\n return h(\n Tag,\n newProps,\n [this.renderNumberElement(prefixCls)]\n );\n }\n};","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport _typeof from 'babel-runtime/helpers/typeof';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport PropTypes from '../_util/vue-types';\nimport ScrollNumber from './ScrollNumber';\nimport { PresetColorTypes } from '../_util/colors';\nimport classNames from 'classnames';\nimport { initDefaultProps, filterEmpty, getComponentFromProp, getListeners } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport isNumeric from '../_util/isNumeric';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nvar BadgeProps = {\n /** Number to show in badge */\n count: PropTypes.any,\n showZero: PropTypes.bool,\n /** Max count to show */\n overflowCount: PropTypes.number,\n /** whether to show red dot without number */\n dot: PropTypes.bool,\n prefixCls: PropTypes.string,\n scrollNumberPrefixCls: PropTypes.string,\n status: PropTypes.oneOf(['success', 'processing', 'default', 'error', 'warning']),\n color: PropTypes.string,\n text: PropTypes.string,\n offset: PropTypes.array,\n numberStyle: PropTypes.object.def(function () {\n return {};\n }),\n title: PropTypes.string\n};\nfunction isPresetColor(color) {\n return PresetColorTypes.indexOf(color) !== -1;\n}\nexport default {\n name: 'ABadge',\n props: initDefaultProps(BadgeProps, {\n showZero: false,\n dot: false,\n overflowCount: 99\n }),\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n methods: {\n getNumberedDispayCount: function getNumberedDispayCount() {\n var overflowCount = this.$props.overflowCount;\n\n var count = this.badgeCount;\n var displayCount = count > overflowCount ? overflowCount + '+' : count;\n return displayCount;\n },\n getDispayCount: function getDispayCount() {\n var isDot = this.isDot();\n // dot mode don't need count\n if (isDot) {\n return '';\n }\n return this.getNumberedDispayCount();\n },\n getScrollNumberTitle: function getScrollNumberTitle() {\n var title = this.$props.title;\n\n var count = this.badgeCount;\n if (title) {\n return title;\n }\n return typeof count === 'string' || typeof count === 'number' ? count : undefined;\n },\n getStyleWithOffset: function getStyleWithOffset() {\n var _$props = this.$props,\n offset = _$props.offset,\n numberStyle = _$props.numberStyle;\n\n return offset ? _extends({\n right: -parseInt(offset[0], 10) + 'px',\n marginTop: isNumeric(offset[1]) ? offset[1] + 'px' : offset[1]\n }, numberStyle) : _extends({}, numberStyle);\n },\n getBadgeClassName: function getBadgeClassName(prefixCls) {\n var _classNames;\n\n var children = filterEmpty(this.$slots['default']);\n var hasStatus = this.hasStatus();\n return classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, prefixCls + '-status', hasStatus), _defineProperty(_classNames, prefixCls + '-dot-status', hasStatus && this.dot && !this.isZero()), _defineProperty(_classNames, prefixCls + '-not-a-wrapper', !children.length), _classNames));\n },\n hasStatus: function hasStatus() {\n var _$props2 = this.$props,\n status = _$props2.status,\n color = _$props2.color;\n\n return !!status || !!color;\n },\n isZero: function isZero() {\n var numberedDispayCount = this.getNumberedDispayCount();\n return numberedDispayCount === '0' || numberedDispayCount === 0;\n },\n isDot: function isDot() {\n var dot = this.$props.dot;\n\n var isZero = this.isZero();\n return dot && !isZero || this.hasStatus();\n },\n isHidden: function isHidden() {\n var showZero = this.$props.showZero;\n\n var displayCount = this.getDispayCount();\n var isZero = this.isZero();\n var isDot = this.isDot();\n var isEmpty = displayCount === null || displayCount === undefined || displayCount === '';\n return (isEmpty || isZero && !showZero) && !isDot;\n },\n renderStatusText: function renderStatusText(prefixCls) {\n var h = this.$createElement;\n var text = this.$props.text;\n\n var hidden = this.isHidden();\n return hidden || !text ? null : h(\n 'span',\n { 'class': prefixCls + '-status-text' },\n [text]\n );\n },\n renderDispayComponent: function renderDispayComponent() {\n var count = this.badgeCount;\n var customNode = count;\n if (!customNode || (typeof customNode === 'undefined' ? 'undefined' : _typeof(customNode)) !== 'object') {\n return undefined;\n }\n return cloneElement(customNode, {\n style: this.getStyleWithOffset()\n });\n },\n renderBadgeNumber: function renderBadgeNumber(prefixCls, scrollNumberPrefixCls) {\n var _scrollNumberCls;\n\n var h = this.$createElement;\n var _$props3 = this.$props,\n status = _$props3.status,\n color = _$props3.color;\n\n var count = this.badgeCount;\n var displayCount = this.getDispayCount();\n var isDot = this.isDot();\n var hidden = this.isHidden();\n\n var scrollNumberCls = (_scrollNumberCls = {}, _defineProperty(_scrollNumberCls, prefixCls + '-dot', isDot), _defineProperty(_scrollNumberCls, prefixCls + '-count', !isDot), _defineProperty(_scrollNumberCls, prefixCls + '-multiple-words', !isDot && count && count.toString && count.toString().length > 1), _defineProperty(_scrollNumberCls, prefixCls + '-status-' + status, !!status), _defineProperty(_scrollNumberCls, prefixCls + '-status-' + color, isPresetColor(color)), _scrollNumberCls);\n\n var statusStyle = this.getStyleWithOffset();\n if (color && !isPresetColor(color)) {\n statusStyle = statusStyle || {};\n statusStyle.background = color;\n }\n\n return hidden ? null : h(ScrollNumber, {\n attrs: {\n prefixCls: scrollNumberPrefixCls,\n 'data-show': !hidden,\n\n className: scrollNumberCls,\n count: displayCount,\n displayComponent: this.renderDispayComponent() // }>\n , title: this.getScrollNumberTitle()\n },\n directives: [{\n name: 'show',\n value: !hidden\n }],\n style: statusStyle,\n key: 'scrollNumber'\n });\n }\n },\n\n render: function render() {\n var _classNames2;\n\n var h = arguments[0];\n var customizePrefixCls = this.prefixCls,\n customizeScrollNumberPrefixCls = this.scrollNumberPrefixCls,\n status = this.status,\n text = this.text,\n color = this.color,\n $slots = this.$slots;\n\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('badge', customizePrefixCls);\n var scrollNumberPrefixCls = getPrefixCls('scroll-number', customizeScrollNumberPrefixCls);\n\n var children = filterEmpty($slots['default']);\n var count = getComponentFromProp(this, 'count');\n if (Array.isArray(count)) {\n count = count[0];\n }\n this.badgeCount = count;\n var scrollNumber = this.renderBadgeNumber(prefixCls, scrollNumberPrefixCls);\n var statusText = this.renderStatusText(prefixCls);\n var statusCls = classNames((_classNames2 = {}, _defineProperty(_classNames2, prefixCls + '-status-dot', this.hasStatus()), _defineProperty(_classNames2, prefixCls + '-status-' + status, !!status), _defineProperty(_classNames2, prefixCls + '-status-' + color, isPresetColor(color)), _classNames2));\n var statusStyle = {};\n if (color && !isPresetColor(color)) {\n statusStyle.background = color;\n }\n // \n if (!children.length && this.hasStatus()) {\n var styleWithOffset = this.getStyleWithOffset();\n var statusTextColor = styleWithOffset && styleWithOffset.color;\n return h(\n 'span',\n _mergeJSXProps([{ on: getListeners(this) }, {\n 'class': this.getBadgeClassName(prefixCls),\n style: styleWithOffset\n }]),\n [h('span', { 'class': statusCls, style: statusStyle }), h(\n 'span',\n { style: { color: statusTextColor }, 'class': prefixCls + '-status-text' },\n [text]\n )]\n );\n }\n\n var transitionProps = getTransitionProps(children.length ? prefixCls + '-zoom' : '');\n\n return h(\n 'span',\n _mergeJSXProps([{ on: getListeners(this) }, { 'class': this.getBadgeClassName(prefixCls) }]),\n [children, h(\n 'transition',\n transitionProps,\n [scrollNumber]\n ), statusText]\n );\n }\n};","import Badge from './Badge';\nimport Base from '../base';\n\n/* istanbul ignore next */\nBadge.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Badge.name, Badge);\n};\n\nexport default Badge;","import antDirective from '../_util/antDirective';\nvar base = {};\nvar install = function install(Vue) {\n base.Vue = Vue;\n Vue.use(antDirective);\n};\nbase.install = install;\n\nexport default base;","import PropTypes from '../_util/vue-types';\nimport { hasProp, getComponentFromProp } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport DropDown from '../dropdown/dropdown';\nimport Icon from '../icon';\n\nexport default {\n name: 'ABreadcrumbItem',\n __ANT_BREADCRUMB_ITEM: true,\n props: {\n prefixCls: PropTypes.string,\n href: PropTypes.string,\n separator: PropTypes.any.def('/'),\n overlay: PropTypes.any\n },\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n methods: {\n /**\n * if overlay is have\n * Wrap a DropDown\n */\n renderBreadcrumbNode: function renderBreadcrumbNode(breadcrumbItem, prefixCls) {\n var h = this.$createElement;\n\n var overlay = getComponentFromProp(this, 'overlay');\n if (overlay) {\n return h(\n DropDown,\n {\n attrs: { overlay: overlay, placement: 'bottomCenter' }\n },\n [h(\n 'span',\n { 'class': prefixCls + '-overlay-link' },\n [breadcrumbItem, h(Icon, {\n attrs: { type: 'down' }\n })]\n )]\n );\n }\n return breadcrumbItem;\n }\n },\n render: function render() {\n var h = arguments[0];\n var customizePrefixCls = this.prefixCls,\n $slots = this.$slots;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('breadcrumb', customizePrefixCls);\n var separator = getComponentFromProp(this, 'separator');\n var children = $slots['default'];\n var link = void 0;\n if (hasProp(this, 'href')) {\n link = h(\n 'a',\n { 'class': prefixCls + '-link' },\n [children]\n );\n } else {\n link = h(\n 'span',\n { 'class': prefixCls + '-link' },\n [children]\n );\n }\n // wrap to dropDown\n link = this.renderBreadcrumbNode(link, prefixCls);\n if (children) {\n return h('span', [link, separator && separator !== '' && h(\n 'span',\n { 'class': prefixCls + '-separator' },\n [separator]\n )]);\n }\n return null;\n }\n};","import _toConsumableArray from 'babel-runtime/helpers/toConsumableArray';\nimport PropTypes from '../_util/vue-types';\nimport { cloneElement } from '../_util/vnode';\nimport { filterEmpty, getComponentFromProp, getSlotOptions } from '../_util/props-util';\nimport warning from '../_util/warning';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport BreadcrumbItem from './BreadcrumbItem';\nimport Menu from '../menu';\n\nvar Route = PropTypes.shape({\n path: PropTypes.string,\n breadcrumbName: PropTypes.string,\n children: PropTypes.array\n}).loose;\n\nvar BreadcrumbProps = {\n prefixCls: PropTypes.string,\n routes: PropTypes.arrayOf(Route),\n params: PropTypes.any,\n separator: PropTypes.any,\n itemRender: PropTypes.func\n};\n\nfunction getBreadcrumbName(route, params) {\n if (!route.breadcrumbName) {\n return null;\n }\n var paramsKeys = Object.keys(params).join('|');\n var name = route.breadcrumbName.replace(new RegExp(':(' + paramsKeys + ')', 'g'), function (replacement, key) {\n return params[key] || replacement;\n });\n return name;\n}\n\nexport default {\n name: 'ABreadcrumb',\n props: BreadcrumbProps,\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n methods: {\n defaultItemRender: function defaultItemRender(_ref) {\n var route = _ref.route,\n params = _ref.params,\n routes = _ref.routes,\n paths = _ref.paths;\n var h = this.$createElement;\n\n var isLastItem = routes.indexOf(route) === routes.length - 1;\n var name = getBreadcrumbName(route, params);\n return isLastItem ? h('span', [name]) : h(\n 'a',\n {\n attrs: { href: '#/' + paths.join('/') }\n },\n [name]\n );\n },\n getPath: function getPath(path, params) {\n path = (path || '').replace(/^\\//, '');\n Object.keys(params).forEach(function (key) {\n path = path.replace(':' + key, params[key]);\n });\n return path;\n },\n addChildPath: function addChildPath(paths, childPath, params) {\n var originalPaths = [].concat(_toConsumableArray(paths));\n var path = this.getPath(childPath, params);\n if (path) {\n originalPaths.push(path);\n }\n return originalPaths;\n },\n genForRoutes: function genForRoutes(_ref2) {\n var _this = this;\n\n var _ref2$routes = _ref2.routes,\n routes = _ref2$routes === undefined ? [] : _ref2$routes,\n _ref2$params = _ref2.params,\n params = _ref2$params === undefined ? {} : _ref2$params,\n separator = _ref2.separator,\n _ref2$itemRender = _ref2.itemRender,\n itemRender = _ref2$itemRender === undefined ? this.defaultItemRender : _ref2$itemRender;\n var h = this.$createElement;\n\n var paths = [];\n return routes.map(function (route) {\n var path = _this.getPath(route.path, params);\n\n if (path) {\n paths.push(path);\n }\n // generated overlay by route.children\n var overlay = null;\n if (route.children && route.children.length) {\n overlay = h(Menu, [route.children.map(function (child) {\n return h(\n Menu.Item,\n { key: child.path || child.breadcrumbName },\n [itemRender({\n route: child,\n params: params,\n routes: routes,\n paths: _this.addChildPath(paths, child.path, params),\n h: _this.$createElement\n })]\n );\n })]);\n }\n\n return h(\n BreadcrumbItem,\n {\n attrs: {\n overlay: overlay,\n separator: separator\n },\n key: path || route.breadcrumbName\n },\n [itemRender({ route: route, params: params, routes: routes, paths: paths, h: _this.$createElement })]\n );\n });\n }\n },\n render: function render() {\n var h = arguments[0];\n\n var crumbs = void 0;\n var customizePrefixCls = this.prefixCls,\n routes = this.routes,\n _params = this.params,\n params = _params === undefined ? {} : _params,\n $slots = this.$slots,\n $scopedSlots = this.$scopedSlots;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('breadcrumb', customizePrefixCls);\n\n var children = filterEmpty($slots['default']);\n var separator = getComponentFromProp(this, 'separator');\n var itemRender = this.itemRender || $scopedSlots.itemRender || this.defaultItemRender;\n if (routes && routes.length > 0) {\n // generated by route\n crumbs = this.genForRoutes({\n routes: routes,\n params: params,\n separator: separator,\n itemRender: itemRender\n });\n } else if (children.length) {\n crumbs = children.map(function (element, index) {\n warning(getSlotOptions(element).__ANT_BREADCRUMB_ITEM || getSlotOptions(element).__ANT_BREADCRUMB_SEPARATOR, 'Breadcrumb', \"Only accepts Breadcrumb.Item and Breadcrumb.Separator as it's children\");\n return cloneElement(element, {\n props: { separator: separator },\n key: index\n });\n });\n }\n return h(\n 'div',\n { 'class': prefixCls },\n [crumbs]\n );\n }\n};","import { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport PropTypes from '../_util/vue-types';\n\nexport default {\n name: 'ABreadcrumbSeparator',\n __ANT_BREADCRUMB_SEPARATOR: true,\n props: {\n prefixCls: PropTypes.string\n },\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n render: function render() {\n var h = arguments[0];\n var customizePrefixCls = this.prefixCls,\n $slots = this.$slots;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('breadcrumb', customizePrefixCls);\n\n var children = $slots['default'];\n return h(\n 'span',\n { 'class': prefixCls + '-separator' },\n [children || '/']\n );\n }\n};","import Breadcrumb from './Breadcrumb';\nimport BreadcrumbItem from './BreadcrumbItem';\nimport BreadcrumbSeparator from './BreadcrumbSeparator';\nimport Base from '../base';\n\nBreadcrumb.Item = BreadcrumbItem;\nBreadcrumb.Separator = BreadcrumbSeparator;\n\n/* istanbul ignore next */\nBreadcrumb.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Breadcrumb.name, Breadcrumb);\n Vue.component(BreadcrumbItem.name, BreadcrumbItem);\n Vue.component(BreadcrumbSeparator.name, BreadcrumbSeparator);\n};\n\nexport default Breadcrumb;","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport { filterEmpty } from '../_util/props-util';\nimport PropTypes from '../_util/vue-types';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nvar ButtonGroupProps = {\n prefixCls: PropTypes.string,\n size: {\n validator: function validator(value) {\n return ['small', 'large', 'default'].includes(value);\n }\n }\n};\nexport { ButtonGroupProps };\nexport default {\n name: 'AButtonGroup',\n props: ButtonGroupProps,\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n data: function data() {\n return {\n sizeMap: {\n large: 'lg',\n small: 'sm'\n }\n };\n },\n render: function render() {\n var _classes;\n\n var h = arguments[0];\n var customizePrefixCls = this.prefixCls,\n size = this.size,\n $slots = this.$slots;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('btn-group', customizePrefixCls);\n\n // large => lg\n // small => sm\n var sizeCls = '';\n switch (size) {\n case 'large':\n sizeCls = 'lg';\n break;\n case 'small':\n sizeCls = 'sm';\n break;\n default:\n break;\n }\n var classes = (_classes = {}, _defineProperty(_classes, '' + prefixCls, true), _defineProperty(_classes, prefixCls + '-' + sizeCls, sizeCls), _classes);\n return h(\n 'div',\n { 'class': classes },\n [filterEmpty($slots['default'])]\n );\n }\n};","import PropTypes from '../_util/vue-types';\nexport default (function () {\n return {\n prefixCls: PropTypes.string,\n type: PropTypes.string,\n htmlType: PropTypes.oneOf(['button', 'submit', 'reset']).def('button'),\n icon: PropTypes.any,\n shape: PropTypes.oneOf(['circle', 'circle-outline', 'round']),\n size: PropTypes.oneOf(['small', 'large', 'default']).def('default'),\n loading: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n disabled: PropTypes.bool,\n ghost: PropTypes.bool,\n block: PropTypes.bool\n };\n});","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport _extends from 'babel-runtime/helpers/extends';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport Wave from '../_util/wave';\nimport Icon from '../icon';\nimport buttonTypes from './buttonTypes';\nimport { filterEmpty, getListeners, getComponentFromProp } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nvar rxTwoCNChar = /^[\\u4e00-\\u9fa5]{2}$/;\nvar isTwoCNChar = rxTwoCNChar.test.bind(rxTwoCNChar);\nvar props = buttonTypes();\nexport default {\n name: 'AButton',\n inheritAttrs: false,\n __ANT_BUTTON: true,\n props: props,\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n data: function data() {\n return {\n sizeMap: {\n large: 'lg',\n small: 'sm'\n },\n sLoading: !!this.loading,\n hasTwoCNChar: false\n };\n },\n\n computed: {\n classes: function classes() {\n var _ref;\n\n var customizePrefixCls = this.prefixCls,\n type = this.type,\n shape = this.shape,\n size = this.size,\n hasTwoCNChar = this.hasTwoCNChar,\n sLoading = this.sLoading,\n ghost = this.ghost,\n block = this.block,\n icon = this.icon,\n $slots = this.$slots;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('btn', customizePrefixCls);\n var autoInsertSpace = this.configProvider.autoInsertSpaceInButton !== false;\n\n // large => lg\n // small => sm\n var sizeCls = '';\n switch (size) {\n case 'large':\n sizeCls = 'lg';\n break;\n case 'small':\n sizeCls = 'sm';\n break;\n default:\n break;\n }\n var iconType = sLoading ? 'loading' : icon;\n var children = filterEmpty($slots['default']);\n return _ref = {}, _defineProperty(_ref, '' + prefixCls, true), _defineProperty(_ref, prefixCls + '-' + type, type), _defineProperty(_ref, prefixCls + '-' + shape, shape), _defineProperty(_ref, prefixCls + '-' + sizeCls, sizeCls), _defineProperty(_ref, prefixCls + '-icon-only', children.length === 0 && iconType), _defineProperty(_ref, prefixCls + '-loading', sLoading), _defineProperty(_ref, prefixCls + '-background-ghost', ghost || type === 'ghost'), _defineProperty(_ref, prefixCls + '-two-chinese-chars', hasTwoCNChar && autoInsertSpace), _defineProperty(_ref, prefixCls + '-block', block), _ref;\n }\n },\n watch: {\n loading: function loading(val, preVal) {\n var _this = this;\n\n if (preVal && typeof preVal !== 'boolean') {\n clearTimeout(this.delayTimeout);\n }\n if (val && typeof val !== 'boolean' && val.delay) {\n this.delayTimeout = setTimeout(function () {\n _this.sLoading = !!val;\n }, val.delay);\n } else {\n this.sLoading = !!val;\n }\n }\n },\n mounted: function mounted() {\n this.fixTwoCNChar();\n },\n updated: function updated() {\n this.fixTwoCNChar();\n },\n beforeDestroy: function beforeDestroy() {\n // if (this.timeout) {\n // clearTimeout(this.timeout)\n // }\n if (this.delayTimeout) {\n clearTimeout(this.delayTimeout);\n }\n },\n\n methods: {\n fixTwoCNChar: function fixTwoCNChar() {\n // Fix for HOC usage like \n var node = this.$refs.buttonNode;\n if (!node) {\n return;\n }\n var buttonText = node.textContent;\n if (this.isNeedInserted() && isTwoCNChar(buttonText)) {\n if (!this.hasTwoCNChar) {\n this.hasTwoCNChar = true;\n }\n } else if (this.hasTwoCNChar) {\n this.hasTwoCNChar = false;\n }\n },\n handleClick: function handleClick(event) {\n var sLoading = this.$data.sLoading;\n\n if (sLoading) {\n return;\n }\n this.$emit('click', event);\n },\n insertSpace: function insertSpace(child, needInserted) {\n var h = this.$createElement;\n\n var SPACE = needInserted ? ' ' : '';\n if (typeof child.text === 'string') {\n var text = child.text.trim();\n if (isTwoCNChar(text)) {\n text = text.split('').join(SPACE);\n }\n return h('span', [text]);\n }\n return child;\n },\n isNeedInserted: function isNeedInserted() {\n var $slots = this.$slots,\n type = this.type;\n\n var icon = getComponentFromProp(this, 'icon');\n return $slots['default'] && $slots['default'].length === 1 && !icon && type !== 'link';\n }\n },\n render: function render() {\n var _this2 = this;\n\n var h = arguments[0];\n var type = this.type,\n htmlType = this.htmlType,\n classes = this.classes,\n disabled = this.disabled,\n handleClick = this.handleClick,\n sLoading = this.sLoading,\n $slots = this.$slots,\n $attrs = this.$attrs;\n\n var icon = getComponentFromProp(this, 'icon');\n var buttonProps = {\n attrs: _extends({}, $attrs, {\n disabled: disabled\n }),\n 'class': classes,\n on: _extends({}, getListeners(this), {\n click: handleClick\n })\n };\n var iconType = sLoading ? 'loading' : icon;\n var iconNode = iconType ? h(Icon, {\n attrs: { type: iconType }\n }) : null;\n var children = filterEmpty($slots['default']);\n var autoInsertSpace = this.configProvider.autoInsertSpaceInButton !== false;\n var kids = children.map(function (child) {\n return _this2.insertSpace(child, _this2.isNeedInserted() && autoInsertSpace);\n });\n\n if ($attrs.href !== undefined) {\n return h(\n 'a',\n _mergeJSXProps([buttonProps, { ref: 'buttonNode' }]),\n [iconNode, kids]\n );\n }\n\n var buttonNode = h(\n 'button',\n _mergeJSXProps([buttonProps, { ref: 'buttonNode', attrs: { type: htmlType || 'button' }\n }]),\n [iconNode, kids]\n );\n\n if (type === 'link') {\n return buttonNode;\n }\n\n return h(Wave, [buttonNode]);\n }\n};","import Button from './button';\nimport ButtonGroup from './button-group';\nimport Base from '../base';\n\nButton.Group = ButtonGroup;\n\n/* istanbul ignore next */\nButton.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Button.name, Button);\n Vue.component(ButtonGroup.name, ButtonGroup);\n};\n\nexport default Button;","import _slicedToArray from 'babel-runtime/helpers/slicedToArray';\nimport Select from '../select';\nimport { Group, Button } from '../radio';\nimport PropTypes from '../_util/vue-types';\nimport { initDefaultProps } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nvar Option = Select.Option;\n\n\nfunction getMonthsLocale(value) {\n var current = value.clone();\n var localeData = value.localeData();\n var months = [];\n for (var i = 0; i < 12; i++) {\n current.month(i);\n months.push(localeData.monthsShort(current));\n }\n return months;\n}\n\nexport var HeaderProps = {\n prefixCls: PropTypes.string,\n locale: PropTypes.any,\n fullscreen: PropTypes.boolean,\n yearSelectOffset: PropTypes.number,\n yearSelectTotal: PropTypes.number,\n type: PropTypes.string,\n // onValueChange: PropTypes.(value: moment.Moment) => void,\n // onTypeChange: PropTypes.(type: string) => void,\n value: PropTypes.any,\n validRange: PropTypes.array,\n headerRender: PropTypes.func\n};\n\nexport default {\n props: initDefaultProps(HeaderProps, {\n yearSelectOffset: 10,\n yearSelectTotal: 20\n }),\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n // private calenderHeaderNode: HTMLDivElement;\n methods: {\n getYearSelectElement: function getYearSelectElement(prefixCls, year) {\n var _this = this;\n\n var h = this.$createElement;\n var yearSelectOffset = this.yearSelectOffset,\n yearSelectTotal = this.yearSelectTotal,\n _locale = this.locale,\n locale = _locale === undefined ? {} : _locale,\n fullscreen = this.fullscreen,\n validRange = this.validRange;\n\n var start = year - yearSelectOffset;\n var end = start + yearSelectTotal;\n if (validRange) {\n start = validRange[0].get('year');\n end = validRange[1].get('year') + 1;\n }\n var suffix = locale.year === '年' ? '年' : '';\n\n var options = [];\n for (var index = start; index < end; index++) {\n options.push(h(\n Option,\n { key: '' + index },\n [index + suffix]\n ));\n }\n return h(\n Select,\n {\n attrs: {\n size: fullscreen ? 'default' : 'small',\n dropdownMatchSelectWidth: false,\n\n value: String(year),\n getPopupContainer: function getPopupContainer() {\n return _this.getCalenderHeaderNode();\n }\n },\n 'class': prefixCls + '-year-select',\n on: {\n 'change': this.onYearChange\n }\n },\n [options]\n );\n },\n getMonthSelectElement: function getMonthSelectElement(prefixCls, month, months) {\n var _this2 = this;\n\n var h = this.$createElement;\n var fullscreen = this.fullscreen,\n validRange = this.validRange,\n value = this.value;\n\n var options = [];\n var start = 0;\n var end = 12;\n if (validRange) {\n var _validRange = _slicedToArray(validRange, 2),\n rangeStart = _validRange[0],\n rangeEnd = _validRange[1];\n\n var currentYear = value.get('year');\n if (rangeEnd.get('year') === currentYear) {\n end = rangeEnd.get('month') + 1;\n }\n if (rangeStart.get('year') === currentYear) {\n start = rangeStart.get('month');\n }\n }\n for (var index = start; index < end; index++) {\n options.push(h(\n Option,\n { key: '' + index },\n [months[index]]\n ));\n }\n\n return h(\n Select,\n {\n attrs: {\n size: fullscreen ? 'default' : 'small',\n dropdownMatchSelectWidth: false,\n\n value: String(month),\n\n getPopupContainer: function getPopupContainer() {\n return _this2.getCalenderHeaderNode();\n }\n },\n 'class': prefixCls + '-month-select', on: {\n 'change': this.onMonthChange\n }\n },\n [options]\n );\n },\n onYearChange: function onYearChange(year) {\n var value = this.value,\n validRange = this.validRange;\n\n var newValue = value.clone();\n newValue.year(parseInt(year, 10));\n // switch the month so that it remains within range when year changes\n if (validRange) {\n var _validRange2 = _slicedToArray(validRange, 2),\n start = _validRange2[0],\n end = _validRange2[1];\n\n var newYear = newValue.get('year');\n var newMonth = newValue.get('month');\n if (newYear === end.get('year') && newMonth > end.get('month')) {\n newValue.month(end.get('month'));\n }\n if (newYear === start.get('year') && newMonth < start.get('month')) {\n newValue.month(start.get('month'));\n }\n }\n this.$emit('valueChange', newValue);\n },\n onMonthChange: function onMonthChange(month) {\n var newValue = this.value.clone();\n newValue.month(parseInt(month, 10));\n this.$emit('valueChange', newValue);\n },\n onInternalTypeChange: function onInternalTypeChange(e) {\n this.onTypeChange(e.target.value);\n },\n onTypeChange: function onTypeChange(val) {\n this.$emit('typeChange', val);\n },\n getCalenderHeaderNode: function getCalenderHeaderNode() {\n return this.$refs.calenderHeaderNode;\n },\n getMonthYearSelections: function getMonthYearSelections(getPrefixCls) {\n var _$props = this.$props,\n customizePrefixCls = _$props.prefixCls,\n type = _$props.type,\n value = _$props.value;\n\n\n var prefixCls = getPrefixCls('fullcalendar', customizePrefixCls);\n var yearReactNode = this.getYearSelectElement(prefixCls, value.year());\n var monthReactNode = type === 'month' ? this.getMonthSelectElement(prefixCls, value.month(), getMonthsLocale(value)) : null;\n return {\n yearReactNode: yearReactNode,\n monthReactNode: monthReactNode\n };\n },\n getTypeSwitch: function getTypeSwitch() {\n var h = this.$createElement;\n var _$props2 = this.$props,\n _$props2$locale = _$props2.locale,\n locale = _$props2$locale === undefined ? {} : _$props2$locale,\n type = _$props2.type,\n fullscreen = _$props2.fullscreen;\n\n var size = fullscreen ? 'default' : 'small';\n return h(\n Group,\n {\n on: {\n 'change': this.onInternalTypeChange\n },\n attrs: { value: type, size: size }\n },\n [h(\n Button,\n {\n attrs: { value: 'month' }\n },\n [locale.month]\n ), h(\n Button,\n {\n attrs: { value: 'year' }\n },\n [locale.year]\n )]\n );\n },\n onValueChange: function onValueChange() {\n this.$emit.apply(this, ['valueChange'].concat(Array.prototype.slice.call(arguments)));\n },\n headerRenderCustom: function headerRenderCustom(headerRender) {\n var _$props3 = this.$props,\n type = _$props3.type,\n value = _$props3.value;\n\n return headerRender({\n value: value,\n type: type || 'month',\n onChange: this.onValueChange,\n onTypeChange: this.onTypeChange\n });\n }\n },\n\n render: function render() {\n var h = arguments[0];\n var customizePrefixCls = this.prefixCls,\n headerRender = this.headerRender;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('fullcalendar', customizePrefixCls);\n var typeSwitch = this.getTypeSwitch();\n\n var _getMonthYearSelectio = this.getMonthYearSelections(getPrefixCls),\n yearReactNode = _getMonthYearSelectio.yearReactNode,\n monthReactNode = _getMonthYearSelectio.monthReactNode;\n\n return headerRender ? this.headerRenderCustom(headerRender) : h(\n 'div',\n { 'class': prefixCls + '-header', ref: 'calenderHeaderNode' },\n [yearReactNode, monthReactNode, typeSwitch]\n );\n }\n};","import _extends from 'babel-runtime/helpers/extends';\nimport _slicedToArray from 'babel-runtime/helpers/slicedToArray';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getOptionProps, hasProp, initDefaultProps, getListeners } from '../_util/props-util';\nimport * as moment from 'moment';\nimport FullCalendar from '../vc-calendar/src/FullCalendar';\nimport Header from './Header';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport interopDefault from '../_util/interopDefault';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport enUS from './locale/en_US';\nimport Base from '../base';\nimport { checkValidate, stringToMoment, momentToString, TimeType } from '../_util/moment-util';\n\nfunction noop() {\n return null;\n}\n\nfunction zerofixed(v) {\n if (v < 10) {\n return '0' + v;\n }\n return '' + v;\n}\nfunction isMomentArray(value) {\n return Array.isArray(value) && !!value.find(function (val) {\n return moment.isMoment(val);\n });\n}\nexport var CalendarMode = PropTypes.oneOf(['month', 'year']);\n\nexport var CalendarProps = function CalendarProps() {\n return {\n prefixCls: PropTypes.string,\n value: TimeType,\n defaultValue: TimeType,\n mode: CalendarMode,\n fullscreen: PropTypes.bool,\n // dateCellRender: PropTypes.func,\n // monthCellRender: PropTypes.func,\n // dateFullCellRender: PropTypes.func,\n // monthFullCellRender: PropTypes.func,\n locale: PropTypes.object,\n // onPanelChange?: (date?: moment.Moment, mode?: CalendarMode) => void;\n // onSelect?: (date?: moment.Moment) => void;\n disabledDate: PropTypes.func,\n validRange: PropTypes.custom(isMomentArray),\n headerRender: PropTypes.func,\n valueFormat: PropTypes.string\n };\n};\n\nvar Calendar = {\n name: 'ACalendar',\n mixins: [BaseMixin],\n props: initDefaultProps(CalendarProps(), {\n locale: {},\n fullscreen: true\n }),\n model: {\n prop: 'value',\n event: 'change'\n },\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n data: function data() {\n var value = this.value,\n defaultValue = this.defaultValue,\n valueFormat = this.valueFormat;\n\n var sValue = value || defaultValue || interopDefault(moment)();\n checkValidate('Calendar', defaultValue, 'defaultValue', valueFormat);\n checkValidate('Calendar', value, 'value', valueFormat);\n this._sPrefixCls = undefined;\n return {\n sValue: stringToMoment(sValue, valueFormat),\n sMode: this.mode || 'month'\n };\n },\n\n watch: {\n value: function value(val) {\n checkValidate('Calendar', val, 'value', this.valueFormat);\n this.setState({\n sValue: stringToMoment(val, this.valueFormat)\n });\n },\n mode: function mode(val) {\n this.setState({\n sMode: val\n });\n }\n },\n methods: {\n onHeaderValueChange: function onHeaderValueChange(value) {\n this.setValue(value, 'changePanel');\n },\n onHeaderTypeChange: function onHeaderTypeChange(mode) {\n this.sMode = mode;\n this.onPanelChange(this.sValue, mode);\n },\n onPanelChange: function onPanelChange(value, mode) {\n var val = this.valueFormat ? momentToString(value, this.valueFormat) : value;\n this.$emit('panelChange', val, mode);\n if (value !== this.sValue) {\n this.$emit('change', val);\n }\n },\n onSelect: function onSelect(value) {\n this.setValue(value, 'select');\n },\n setValue: function setValue(value, way) {\n var prevValue = this.value ? stringToMoment(this.value, this.valueFormat) : this.sValue;\n var mode = this.sMode,\n valueFormat = this.valueFormat;\n\n if (!hasProp(this, 'value')) {\n this.setState({ sValue: value });\n }\n if (way === 'select') {\n if (prevValue && prevValue.month() !== value.month()) {\n this.onPanelChange(value, mode);\n }\n this.$emit('select', valueFormat ? momentToString(value, valueFormat) : value);\n } else if (way === 'changePanel') {\n this.onPanelChange(value, mode);\n }\n },\n getDateRange: function getDateRange(validRange, disabledDate) {\n return function (current) {\n if (!current) {\n return false;\n }\n\n var _validRange = _slicedToArray(validRange, 2),\n startDate = _validRange[0],\n endDate = _validRange[1];\n\n var inRange = !current.isBetween(startDate, endDate, 'days', '[]');\n if (disabledDate) {\n return disabledDate(current) || inRange;\n }\n return inRange;\n };\n },\n getDefaultLocale: function getDefaultLocale() {\n var result = _extends({}, enUS, this.$props.locale);\n result.lang = _extends({}, result.lang, (this.$props.locale || {}).lang);\n return result;\n },\n monthCellRender2: function monthCellRender2(value) {\n var h = this.$createElement;\n var _sPrefixCls = this._sPrefixCls,\n $scopedSlots = this.$scopedSlots;\n\n var monthCellRender = this.monthCellRender || $scopedSlots.monthCellRender || noop;\n return h(\n 'div',\n { 'class': _sPrefixCls + '-month' },\n [h(\n 'div',\n { 'class': _sPrefixCls + '-value' },\n [value.localeData().monthsShort(value)]\n ), h(\n 'div',\n { 'class': _sPrefixCls + '-content' },\n [monthCellRender(value)]\n )]\n );\n },\n dateCellRender2: function dateCellRender2(value) {\n var h = this.$createElement;\n var _sPrefixCls = this._sPrefixCls,\n $scopedSlots = this.$scopedSlots;\n\n var dateCellRender = this.dateCellRender || $scopedSlots.dateCellRender || noop;\n return h(\n 'div',\n { 'class': _sPrefixCls + '-date' },\n [h(\n 'div',\n { 'class': _sPrefixCls + '-value' },\n [zerofixed(value.date())]\n ), h(\n 'div',\n { 'class': _sPrefixCls + '-content' },\n [dateCellRender(value)]\n )]\n );\n },\n renderCalendar: function renderCalendar(locale, localeCode) {\n var h = this.$createElement;\n\n var props = getOptionProps(this);\n var value = this.sValue,\n mode = this.sMode,\n $scopedSlots = this.$scopedSlots;\n\n if (value && localeCode) {\n value.locale(localeCode);\n }\n var customizePrefixCls = props.prefixCls,\n fullscreen = props.fullscreen,\n dateFullCellRender = props.dateFullCellRender,\n monthFullCellRender = props.monthFullCellRender;\n\n var headerRender = this.headerRender || $scopedSlots.headerRender;\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('fullcalendar', customizePrefixCls);\n\n // To support old version react.\n // Have to add prefixCls on the instance.\n // https://github.com/facebook/react/issues/12397\n this._sPrefixCls = prefixCls;\n\n var cls = '';\n if (fullscreen) {\n cls += ' ' + prefixCls + '-fullscreen';\n }\n\n var monthCellRender = monthFullCellRender || $scopedSlots.monthFullCellRender || this.monthCellRender2;\n var dateCellRender = dateFullCellRender || $scopedSlots.dateFullCellRender || this.dateCellRender2;\n\n var disabledDate = props.disabledDate;\n\n if (props.validRange) {\n disabledDate = this.getDateRange(props.validRange, disabledDate);\n }\n var fullCalendarProps = {\n props: _extends({}, props, {\n Select: {},\n locale: locale.lang,\n type: mode === 'year' ? 'month' : 'date',\n prefixCls: prefixCls,\n showHeader: false,\n value: value,\n monthCellRender: monthCellRender,\n dateCellRender: dateCellRender,\n disabledDate: disabledDate\n }),\n on: _extends({}, getListeners(this), {\n select: this.onSelect\n })\n };\n return h(\n 'div',\n { 'class': cls },\n [h(Header, {\n attrs: {\n fullscreen: fullscreen,\n type: mode,\n headerRender: headerRender,\n value: value,\n locale: locale.lang,\n prefixCls: prefixCls,\n\n validRange: props.validRange\n },\n on: {\n 'typeChange': this.onHeaderTypeChange,\n 'valueChange': this.onHeaderValueChange\n }\n }), h(FullCalendar, fullCalendarProps)]\n );\n }\n },\n\n render: function render() {\n var h = arguments[0];\n\n return h(LocaleReceiver, {\n attrs: {\n componentName: 'Calendar',\n defaultLocale: this.getDefaultLocale\n },\n scopedSlots: { 'default': this.renderCalendar }\n });\n }\n};\n\n/* istanbul ignore next */\nCalendar.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Calendar.name, Calendar);\n};\nexport { HeaderProps } from './Header';\nexport default Calendar;","import en_US from '../../date-picker/locale/en_US';\nexport default en_US;","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport _extends from 'babel-runtime/helpers/extends';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport omit from 'omit.js';\nimport Tabs from '../tabs';\nimport Row from '../row';\nimport Col from '../col';\nimport PropTypes from '../_util/vue-types';\nimport { getComponentFromProp, getSlotOptions, filterEmpty, getListeners } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nvar TabPane = Tabs.TabPane;\n\nexport default {\n name: 'ACard',\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n title: PropTypes.any,\n extra: PropTypes.any,\n bordered: PropTypes.bool.def(true),\n bodyStyle: PropTypes.object,\n headStyle: PropTypes.object,\n loading: PropTypes.bool.def(false),\n hoverable: PropTypes.bool.def(false),\n type: PropTypes.string,\n size: PropTypes.oneOf(['default', 'small']),\n actions: PropTypes.any,\n tabList: PropTypes.array,\n tabProps: PropTypes.object,\n tabBarExtraContent: PropTypes.any,\n activeTabKey: PropTypes.string,\n defaultActiveTabKey: PropTypes.string\n },\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n data: function data() {\n return {\n widerPadding: false\n };\n },\n\n methods: {\n getAction: function getAction(actions) {\n var h = this.$createElement;\n\n var actionList = actions.map(function (action, index) {\n return h(\n 'li',\n { style: { width: 100 / actions.length + '%' }, key: 'action-' + index },\n [h('span', [action])]\n );\n });\n return actionList;\n },\n onTabChange: function onTabChange(key) {\n this.$emit('tabChange', key);\n },\n isContainGrid: function isContainGrid() {\n var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var containGrid = void 0;\n obj.forEach(function (element) {\n if (element && getSlotOptions(element).__ANT_CARD_GRID) {\n containGrid = true;\n }\n });\n return containGrid;\n }\n },\n render: function render() {\n var _classString, _extends2;\n\n var h = arguments[0];\n var _$props = this.$props,\n customizePrefixCls = _$props.prefixCls,\n _$props$headStyle = _$props.headStyle,\n headStyle = _$props$headStyle === undefined ? {} : _$props$headStyle,\n _$props$bodyStyle = _$props.bodyStyle,\n bodyStyle = _$props$bodyStyle === undefined ? {} : _$props$bodyStyle,\n loading = _$props.loading,\n _$props$bordered = _$props.bordered,\n bordered = _$props$bordered === undefined ? true : _$props$bordered,\n _$props$size = _$props.size,\n size = _$props$size === undefined ? 'default' : _$props$size,\n type = _$props.type,\n tabList = _$props.tabList,\n _$props$tabProps = _$props.tabProps,\n tabProps = _$props$tabProps === undefined ? {} : _$props$tabProps,\n hoverable = _$props.hoverable,\n activeTabKey = _$props.activeTabKey,\n defaultActiveTabKey = _$props.defaultActiveTabKey;\n\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('card', customizePrefixCls);\n\n var $slots = this.$slots,\n $scopedSlots = this.$scopedSlots;\n\n var tabBarExtraContent = getComponentFromProp(this, 'tabBarExtraContent');\n var classString = (_classString = {}, _defineProperty(_classString, '' + prefixCls, true), _defineProperty(_classString, prefixCls + '-loading', loading), _defineProperty(_classString, prefixCls + '-bordered', bordered), _defineProperty(_classString, prefixCls + '-hoverable', !!hoverable), _defineProperty(_classString, prefixCls + '-contain-grid', this.isContainGrid($slots['default'])), _defineProperty(_classString, prefixCls + '-contain-tabs', tabList && tabList.length), _defineProperty(_classString, prefixCls + '-' + size, size !== 'default'), _defineProperty(_classString, prefixCls + '-type-' + type, !!type), _classString);\n\n var loadingBlockStyle = bodyStyle.padding === 0 || bodyStyle.padding === '0px' ? { padding: 24 } : undefined;\n\n var loadingBlock = h(\n 'div',\n { 'class': prefixCls + '-loading-content', style: loadingBlockStyle },\n [h(\n Row,\n {\n attrs: { gutter: 8 }\n },\n [h(\n Col,\n {\n attrs: { span: 22 }\n },\n [h('div', { 'class': prefixCls + '-loading-block' })]\n )]\n ), h(\n Row,\n {\n attrs: { gutter: 8 }\n },\n [h(\n Col,\n {\n attrs: { span: 8 }\n },\n [h('div', { 'class': prefixCls + '-loading-block' })]\n ), h(\n Col,\n {\n attrs: { span: 15 }\n },\n [h('div', { 'class': prefixCls + '-loading-block' })]\n )]\n ), h(\n Row,\n {\n attrs: { gutter: 8 }\n },\n [h(\n Col,\n {\n attrs: { span: 6 }\n },\n [h('div', { 'class': prefixCls + '-loading-block' })]\n ), h(\n Col,\n {\n attrs: { span: 18 }\n },\n [h('div', { 'class': prefixCls + '-loading-block' })]\n )]\n ), h(\n Row,\n {\n attrs: { gutter: 8 }\n },\n [h(\n Col,\n {\n attrs: { span: 13 }\n },\n [h('div', { 'class': prefixCls + '-loading-block' })]\n ), h(\n Col,\n {\n attrs: { span: 9 }\n },\n [h('div', { 'class': prefixCls + '-loading-block' })]\n )]\n ), h(\n Row,\n {\n attrs: { gutter: 8 }\n },\n [h(\n Col,\n {\n attrs: { span: 4 }\n },\n [h('div', { 'class': prefixCls + '-loading-block' })]\n ), h(\n Col,\n {\n attrs: { span: 3 }\n },\n [h('div', { 'class': prefixCls + '-loading-block' })]\n ), h(\n Col,\n {\n attrs: { span: 16 }\n },\n [h('div', { 'class': prefixCls + '-loading-block' })]\n )]\n )]\n );\n\n var hasActiveTabKey = activeTabKey !== undefined;\n var tabsProps = {\n props: _extends({\n size: 'large'\n }, tabProps, (_extends2 = {}, _defineProperty(_extends2, hasActiveTabKey ? 'activeKey' : 'defaultActiveKey', hasActiveTabKey ? activeTabKey : defaultActiveTabKey), _defineProperty(_extends2, 'tabBarExtraContent', tabBarExtraContent), _extends2)),\n on: {\n change: this.onTabChange\n },\n 'class': prefixCls + '-head-tabs'\n };\n\n var head = void 0;\n var tabs = tabList && tabList.length ? h(\n Tabs,\n tabsProps,\n [tabList.map(function (item) {\n var temp = item.tab,\n _item$scopedSlots = item.scopedSlots,\n scopedSlots = _item$scopedSlots === undefined ? {} : _item$scopedSlots;\n\n var name = scopedSlots.tab;\n var tab = temp !== undefined ? temp : $scopedSlots[name] ? $scopedSlots[name](item) : null;\n return h(TabPane, {\n attrs: { tab: tab, disabled: item.disabled },\n key: item.key });\n })]\n ) : null;\n var titleDom = getComponentFromProp(this, 'title');\n var extraDom = getComponentFromProp(this, 'extra');\n if (titleDom || extraDom || tabs) {\n head = h(\n 'div',\n { 'class': prefixCls + '-head', style: headStyle },\n [h(\n 'div',\n { 'class': prefixCls + '-head-wrapper' },\n [titleDom && h(\n 'div',\n { 'class': prefixCls + '-head-title' },\n [titleDom]\n ), extraDom && h(\n 'div',\n { 'class': prefixCls + '-extra' },\n [extraDom]\n )]\n ), tabs]\n );\n }\n\n var children = $slots['default'];\n var cover = getComponentFromProp(this, 'cover');\n var coverDom = cover ? h(\n 'div',\n { 'class': prefixCls + '-cover' },\n [cover]\n ) : null;\n var body = h(\n 'div',\n { 'class': prefixCls + '-body', style: bodyStyle },\n [loading ? loadingBlock : children]\n );\n var actions = filterEmpty(this.$slots.actions);\n var actionDom = actions && actions.length ? h(\n 'ul',\n { 'class': prefixCls + '-actions' },\n [this.getAction(actions)]\n ) : null;\n\n return h(\n 'div',\n _mergeJSXProps([{\n 'class': classString,\n ref: 'cardContainerRef'\n }, { on: omit(getListeners(this), ['tabChange', 'tab-change']) }]),\n [head, coverDom, children ? body : null, actionDom]\n );\n }\n};","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport PropTypes from '../_util/vue-types';\nimport { getComponentFromProp, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport default {\n name: 'ACardMeta',\n props: {\n prefixCls: PropTypes.string,\n title: PropTypes.any,\n description: PropTypes.any\n },\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n render: function render() {\n var h = arguments[0];\n var customizePrefixCls = this.$props.prefixCls;\n\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('card', customizePrefixCls);\n\n var classString = _defineProperty({}, prefixCls + '-meta', true);\n\n var avatar = getComponentFromProp(this, 'avatar');\n var title = getComponentFromProp(this, 'title');\n var description = getComponentFromProp(this, 'description');\n\n var avatarDom = avatar ? h(\n 'div',\n { 'class': prefixCls + '-meta-avatar' },\n [avatar]\n ) : null;\n var titleDom = title ? h(\n 'div',\n { 'class': prefixCls + '-meta-title' },\n [title]\n ) : null;\n var descriptionDom = description ? h(\n 'div',\n { 'class': prefixCls + '-meta-description' },\n [description]\n ) : null;\n var MetaDetail = titleDom || descriptionDom ? h(\n 'div',\n { 'class': prefixCls + '-meta-detail' },\n [titleDom, descriptionDom]\n ) : null;\n return h(\n 'div',\n _mergeJSXProps([{ on: getListeners(this) }, { 'class': classString }]),\n [avatarDom, MetaDetail]\n );\n }\n};","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport PropTypes from '../_util/vue-types';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport { getListeners } from '../_util/props-util';\n\nexport default {\n name: 'ACardGrid',\n __ANT_CARD_GRID: true,\n props: {\n prefixCls: PropTypes.string,\n hoverable: PropTypes.bool\n },\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n render: function render() {\n var _classString;\n\n var h = arguments[0];\n var _$props = this.$props,\n customizePrefixCls = _$props.prefixCls,\n _$props$hoverable = _$props.hoverable,\n hoverable = _$props$hoverable === undefined ? true : _$props$hoverable;\n\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('card', customizePrefixCls);\n\n var classString = (_classString = {}, _defineProperty(_classString, prefixCls + '-grid', true), _defineProperty(_classString, prefixCls + '-grid-hoverable', hoverable), _classString);\n return h(\n 'div',\n _mergeJSXProps([{ on: getListeners(this) }, { 'class': classString }]),\n [this.$slots['default']]\n );\n }\n};","import Card from './Card';\nimport Meta from './Meta';\nimport Grid from './Grid';\nimport Base from '../base';\nCard.Meta = Meta;\nCard.Grid = Grid;\n\n/* istanbul ignore next */\nCard.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Card.name, Card);\n Vue.component(Meta.name, Meta);\n Vue.component(Grid.name, Grid);\n};\n\nexport default Card;","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport PropTypes from '../_util/vue-types';\nimport debounce from 'lodash/debounce';\nimport hasProp, { initDefaultProps, getComponentFromProp, filterEmpty, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\nimport warning from '../_util/warning';\nimport classNames from 'classnames';\n\n// matchMedia polyfill for\n// https://github.com/WickyNilliams/enquire.js/issues/82\nif (typeof window !== 'undefined') {\n var matchMediaPolyfill = function matchMediaPolyfill(mediaQuery) {\n return {\n media: mediaQuery,\n matches: false,\n addListener: function addListener() {},\n removeListener: function removeListener() {}\n };\n };\n // ref: https://github.com/ant-design/ant-design/issues/18774\n if (!window.matchMedia) window.matchMedia = matchMediaPolyfill;\n}\n// Use require over import (will be lifted up)\n// make sure matchMedia polyfill run before require('vc-slick')\n// Fix https://github.com/ant-design/ant-design/issues/6560\n// Fix https://github.com/ant-design/ant-design/issues/3308\nvar SlickCarousel = require('../vc-slick/src')['default'];\n\nexport var CarouselEffect = PropTypes.oneOf(['scrollx', 'fade']);\n// Carousel\nexport var CarouselProps = {\n effect: CarouselEffect,\n dots: PropTypes.bool,\n vertical: PropTypes.bool,\n autoplay: PropTypes.bool,\n easing: PropTypes.string,\n beforeChange: PropTypes.func,\n afterChange: PropTypes.func,\n // style: PropTypes.React.CSSProperties,\n prefixCls: PropTypes.string,\n accessibility: PropTypes.bool,\n nextArrow: PropTypes.any,\n prevArrow: PropTypes.any,\n pauseOnHover: PropTypes.bool,\n // className: PropTypes.string,\n adaptiveHeight: PropTypes.bool,\n arrows: PropTypes.bool,\n autoplaySpeed: PropTypes.number,\n centerMode: PropTypes.bool,\n centerPadding: PropTypes.string,\n cssEase: PropTypes.string,\n dotsClass: PropTypes.string,\n draggable: PropTypes.bool,\n fade: PropTypes.bool,\n focusOnSelect: PropTypes.bool,\n infinite: PropTypes.bool,\n initialSlide: PropTypes.number,\n lazyLoad: PropTypes.bool,\n rtl: PropTypes.bool,\n slide: PropTypes.string,\n slidesToShow: PropTypes.number,\n slidesToScroll: PropTypes.number,\n speed: PropTypes.number,\n swipe: PropTypes.bool,\n swipeToSlide: PropTypes.bool,\n touchMove: PropTypes.bool,\n touchThreshold: PropTypes.number,\n variableWidth: PropTypes.bool,\n useCSS: PropTypes.bool,\n slickGoTo: PropTypes.number,\n responsive: PropTypes.array,\n dotPosition: PropTypes.oneOf(['top', 'bottom', 'left', 'right'])\n};\n\nvar Carousel = {\n name: 'ACarousel',\n props: initDefaultProps(CarouselProps, {\n dots: true,\n arrows: false,\n draggable: false\n }),\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n\n beforeMount: function beforeMount() {\n this.onWindowResized = debounce(this.onWindowResized, 500, {\n leading: false\n });\n },\n mounted: function mounted() {\n if (hasProp(this, 'vertical')) {\n warning(!this.vertical, 'Carousel', '`vertical` is deprecated, please use `dotPosition` instead.');\n }\n var autoplay = this.autoplay;\n\n if (autoplay) {\n window.addEventListener('resize', this.onWindowResized);\n }\n // https://github.com/ant-design/ant-design/issues/7191\n this.innerSlider = this.$refs.slick && this.$refs.slick.innerSlider;\n },\n beforeDestroy: function beforeDestroy() {\n var autoplay = this.autoplay;\n\n if (autoplay) {\n window.removeEventListener('resize', this.onWindowResized);\n this.onWindowResized.cancel();\n }\n },\n\n methods: {\n getDotPosition: function getDotPosition() {\n if (this.dotPosition) {\n return this.dotPosition;\n }\n if (hasProp(this, 'vertical')) {\n return this.vertical ? 'right' : 'bottom';\n }\n return 'bottom';\n },\n onWindowResized: function onWindowResized() {\n // Fix https://github.com/ant-design/ant-design/issues/2550\n var autoplay = this.autoplay;\n\n if (autoplay && this.$refs.slick && this.$refs.slick.innerSlider && this.$refs.slick.innerSlider.autoPlay) {\n this.$refs.slick.innerSlider.autoPlay();\n }\n },\n next: function next() {\n this.$refs.slick.slickNext();\n },\n prev: function prev() {\n this.$refs.slick.slickPrev();\n },\n goTo: function goTo(slide) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n this.$refs.slick.slickGoTo(slide, dontAnimate);\n }\n },\n\n render: function render() {\n var h = arguments[0];\n\n var props = _extends({}, this.$props);\n var $slots = this.$slots;\n\n\n if (props.effect === 'fade') {\n props.fade = true;\n }\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var className = getPrefixCls('carousel', props.prefixCls);\n var dotsClass = 'slick-dots';\n var dotPosition = this.getDotPosition();\n props.vertical = dotPosition === 'left' || dotPosition === 'right';\n props.dotsClass = classNames('' + dotsClass, dotsClass + '-' + (dotPosition || 'bottom'), _defineProperty({}, '' + props.dotsClass, !!props.dotsClass));\n if (props.vertical) {\n className = className + ' ' + className + '-vertical';\n }\n var SlickCarouselProps = {\n props: _extends({}, props, {\n nextArrow: getComponentFromProp(this, 'nextArrow'),\n prevArrow: getComponentFromProp(this, 'prevArrow')\n }),\n on: getListeners(this),\n scopedSlots: this.$scopedSlots\n };\n var children = filterEmpty($slots['default']);\n return h(\n 'div',\n { 'class': className },\n [h(\n SlickCarousel,\n _mergeJSXProps([{ ref: 'slick' }, SlickCarouselProps]),\n [children]\n )]\n );\n }\n};\n\n/* istanbul ignore next */\nCarousel.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Carousel.name, Carousel);\n};\n\nexport default Carousel;","import _extends from 'babel-runtime/helpers/extends';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport PropTypes from '../_util/vue-types';\nimport VcCascader from '../vc-cascader';\nimport arrayTreeFilter from 'array-tree-filter';\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport KeyCode from '../_util/KeyCode';\nimport Input from '../input';\nimport Icon from '../icon';\nimport { hasProp, filterEmpty, getOptionProps, getStyle, getClass, getAttrs, getComponentFromProp, isValidElement, getListeners } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { cloneElement } from '../_util/vnode';\nimport warning from '../_util/warning';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\n\nvar CascaderOptionType = PropTypes.shape({\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.any,\n disabled: PropTypes.bool,\n children: PropTypes.array,\n key: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n}).loose;\n\nvar FieldNamesType = PropTypes.shape({\n value: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n children: PropTypes.string\n}).loose;\n\nvar CascaderExpandTrigger = PropTypes.oneOf(['click', 'hover']);\n\nvar ShowSearchType = PropTypes.shape({\n filter: PropTypes.func,\n render: PropTypes.func,\n sort: PropTypes.func,\n matchInputWidth: PropTypes.bool,\n limit: PropTypes.oneOfType([Boolean, Number])\n}).loose;\nfunction noop() {}\n\nvar CascaderProps = {\n /** 可选项数据源 */\n options: PropTypes.arrayOf(CascaderOptionType).def([]),\n /** 默认的选中项 */\n defaultValue: PropTypes.array,\n /** 指定选中项 */\n value: PropTypes.array,\n /** 选择完成后的回调 */\n // onChange?: (value: string[], selectedOptions?: CascaderOptionType[]) => void;\n /** 选择后展示的渲染函数 */\n displayRender: PropTypes.func,\n transitionName: PropTypes.string.def('slide-up'),\n popupStyle: PropTypes.object.def(function () {\n return {};\n }),\n /** 自定义浮层类名 */\n popupClassName: PropTypes.string,\n /** 浮层预设位置:`bottomLeft` `bottomRight` `topLeft` `topRight` */\n popupPlacement: PropTypes.oneOf(['bottomLeft', 'bottomRight', 'topLeft', 'topRight']).def('bottomLeft'),\n /** 输入框占位文本*/\n placeholder: PropTypes.string.def('Please select'),\n /** 输入框大小,可选 `large` `default` `small` */\n size: PropTypes.oneOf(['large', 'default', 'small']),\n /** 禁用*/\n disabled: PropTypes.bool.def(false),\n /** 是否支持清除*/\n allowClear: PropTypes.bool.def(true),\n showSearch: PropTypes.oneOfType([Boolean, ShowSearchType]),\n notFoundContent: PropTypes.any,\n loadData: PropTypes.func,\n /** 次级菜单的展开方式,可选 'click' 和 'hover' */\n expandTrigger: CascaderExpandTrigger,\n /** 当此项为 true 时,点选每级菜单选项值都会发生变化 */\n changeOnSelect: PropTypes.bool,\n /** 浮层可见变化时回调 */\n // onPopupVisibleChange?: (popupVisible: boolean) => void;\n prefixCls: PropTypes.string,\n inputPrefixCls: PropTypes.string,\n getPopupContainer: PropTypes.func,\n popupVisible: PropTypes.bool,\n fieldNames: FieldNamesType,\n autoFocus: PropTypes.bool,\n suffixIcon: PropTypes.any\n};\n\n// We limit the filtered item count by default\nvar defaultLimit = 50;\n\nfunction defaultFilterOption(inputValue, path, names) {\n return path.some(function (option) {\n return option[names.label].indexOf(inputValue) > -1;\n });\n}\n\nfunction defaultSortFilteredOption(a, b, inputValue, names) {\n function callback(elem) {\n return elem[names.label].indexOf(inputValue) > -1;\n }\n\n return a.findIndex(callback) - b.findIndex(callback);\n}\n\nfunction getFilledFieldNames(_ref) {\n var _ref$fieldNames = _ref.fieldNames,\n fieldNames = _ref$fieldNames === undefined ? {} : _ref$fieldNames;\n\n var names = {\n children: fieldNames.children || 'children',\n label: fieldNames.label || 'label',\n value: fieldNames.value || 'value'\n };\n return names;\n}\n\nfunction flattenTree() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var props = arguments[1];\n var ancestor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n\n var names = getFilledFieldNames(props);\n var flattenOptions = [];\n var childrenName = names.children;\n options.forEach(function (option) {\n var path = ancestor.concat(option);\n if (props.changeOnSelect || !option[childrenName] || !option[childrenName].length) {\n flattenOptions.push(path);\n }\n if (option[childrenName]) {\n flattenOptions = flattenOptions.concat(flattenTree(option[childrenName], props, path));\n }\n });\n return flattenOptions;\n}\n\nvar defaultDisplayRender = function defaultDisplayRender(_ref2) {\n var labels = _ref2.labels;\n return labels.join(' / ');\n};\n\nvar Cascader = {\n inheritAttrs: false,\n name: 'ACascader',\n mixins: [BaseMixin],\n props: CascaderProps,\n model: {\n prop: 'value',\n event: 'change'\n },\n provide: function provide() {\n return {\n savePopupRef: this.savePopupRef\n };\n },\n\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } },\n localeData: { 'default': function _default() {\n return {};\n } }\n },\n data: function data() {\n this.cachedOptions = [];\n var value = this.value,\n defaultValue = this.defaultValue,\n popupVisible = this.popupVisible,\n showSearch = this.showSearch,\n options = this.options;\n\n return {\n sValue: value || defaultValue || [],\n inputValue: '',\n inputFocused: false,\n sPopupVisible: popupVisible,\n flattenOptions: showSearch ? flattenTree(options, this.$props) : undefined\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n if (_this.autoFocus && !_this.showSearch && !_this.disabled) {\n _this.$refs.picker.focus();\n }\n });\n },\n\n watch: {\n value: function value(val) {\n this.setState({ sValue: val || [] });\n },\n popupVisible: function popupVisible(val) {\n this.setState({ sPopupVisible: val });\n },\n options: function options(val) {\n if (this.showSearch) {\n this.setState({ flattenOptions: flattenTree(val, this.$props) });\n }\n }\n },\n methods: {\n savePopupRef: function savePopupRef(ref) {\n this.popupRef = ref;\n },\n highlightKeyword: function highlightKeyword(str, keyword, prefixCls) {\n var h = this.$createElement;\n\n return str.split(keyword).map(function (node, index) {\n return index === 0 ? node : [h(\n 'span',\n { 'class': prefixCls + '-menu-item-keyword' },\n [keyword]\n ), node];\n });\n },\n defaultRenderFilteredOption: function defaultRenderFilteredOption(_ref3) {\n var _this2 = this;\n\n var inputValue = _ref3.inputValue,\n path = _ref3.path,\n prefixCls = _ref3.prefixCls,\n names = _ref3.names;\n\n return path.map(function (option, index) {\n var label = option[names.label];\n var node = label.indexOf(inputValue) > -1 ? _this2.highlightKeyword(label, inputValue, prefixCls) : label;\n return index === 0 ? node : [' / ', node];\n });\n },\n handleChange: function handleChange(value, selectedOptions) {\n this.setState({ inputValue: '' });\n if (selectedOptions[0].__IS_FILTERED_OPTION) {\n var unwrappedValue = value[0];\n var unwrappedSelectedOptions = selectedOptions[0].path;\n this.setValue(unwrappedValue, unwrappedSelectedOptions);\n return;\n }\n this.setValue(value, selectedOptions);\n },\n handlePopupVisibleChange: function handlePopupVisibleChange(popupVisible) {\n if (!hasProp(this, 'popupVisible')) {\n this.setState(function (state) {\n return {\n sPopupVisible: popupVisible,\n inputFocused: popupVisible,\n inputValue: popupVisible ? state.inputValue : ''\n };\n });\n }\n this.$emit('popupVisibleChange', popupVisible);\n },\n handleInputFocus: function handleInputFocus(e) {\n this.$emit('focus', e);\n },\n handleInputBlur: function handleInputBlur(e) {\n this.setState({\n inputFocused: false\n });\n this.$emit('blur', e);\n },\n handleInputClick: function handleInputClick(e) {\n var inputFocused = this.inputFocused,\n sPopupVisible = this.sPopupVisible;\n // Prevent `Trigger` behaviour.\n\n if (inputFocused || sPopupVisible) {\n e.stopPropagation();\n if (e.nativeEvent && e.nativeEvent.stopImmediatePropagation) {\n e.nativeEvent.stopImmediatePropagation();\n }\n }\n },\n handleKeyDown: function handleKeyDown(e) {\n if (e.keyCode === KeyCode.BACKSPACE || e.keyCode === KeyCode.SPACE) {\n e.stopPropagation();\n }\n },\n handleInputChange: function handleInputChange(e) {\n var inputValue = e.target.value;\n this.setState({ inputValue: inputValue });\n this.$emit('search', inputValue);\n },\n setValue: function setValue(value, selectedOptions) {\n if (!hasProp(this, 'value')) {\n this.setState({ sValue: value });\n }\n this.$emit('change', value, selectedOptions);\n },\n getLabel: function getLabel() {\n var options = this.options,\n $scopedSlots = this.$scopedSlots;\n\n var names = getFilledFieldNames(this.$props);\n var displayRender = this.displayRender || $scopedSlots.displayRender || defaultDisplayRender;\n var value = this.sValue;\n var unwrappedValue = Array.isArray(value[0]) ? value[0] : value;\n var selectedOptions = arrayTreeFilter(options, function (o, level) {\n return o[names.value] === unwrappedValue[level];\n }, { childrenKeyName: names.children });\n var labels = selectedOptions.map(function (o) {\n return o[names.label];\n });\n return displayRender({ labels: labels, selectedOptions: selectedOptions });\n },\n clearSelection: function clearSelection(e) {\n e.preventDefault();\n e.stopPropagation();\n if (!this.inputValue) {\n this.setValue([]);\n this.handlePopupVisibleChange(false);\n } else {\n this.setState({ inputValue: '' });\n }\n },\n generateFilteredOptions: function generateFilteredOptions(prefixCls, renderEmpty) {\n var _ref5;\n\n var h = this.$createElement;\n var showSearch = this.showSearch,\n notFoundContent = this.notFoundContent,\n $scopedSlots = this.$scopedSlots;\n\n var names = getFilledFieldNames(this.$props);\n var _showSearch$filter = showSearch.filter,\n filter = _showSearch$filter === undefined ? defaultFilterOption : _showSearch$filter,\n _showSearch$sort = showSearch.sort,\n sort = _showSearch$sort === undefined ? defaultSortFilteredOption : _showSearch$sort,\n _showSearch$limit = showSearch.limit,\n limit = _showSearch$limit === undefined ? defaultLimit : _showSearch$limit;\n\n var render = showSearch.render || $scopedSlots.showSearchRender || this.defaultRenderFilteredOption;\n var _$data = this.$data,\n _$data$flattenOptions = _$data.flattenOptions,\n flattenOptions = _$data$flattenOptions === undefined ? [] : _$data$flattenOptions,\n inputValue = _$data.inputValue;\n\n // Limit the filter if needed\n\n var filtered = void 0;\n if (limit > 0) {\n filtered = [];\n var matchCount = 0;\n\n // Perf optimization to filter items only below the limit\n flattenOptions.some(function (path) {\n var match = filter(inputValue, path, names);\n if (match) {\n filtered.push(path);\n matchCount += 1;\n }\n return matchCount >= limit;\n });\n } else {\n warning(typeof limit !== 'number', 'Cascader', \"'limit' of showSearch in Cascader should be positive number or false.\");\n filtered = flattenOptions.filter(function (path) {\n return filter(inputValue, path, names);\n });\n }\n\n filtered.sort(function (a, b) {\n return sort(a, b, inputValue, names);\n });\n\n if (filtered.length > 0) {\n return filtered.map(function (path) {\n var _ref4;\n\n return _ref4 = {\n __IS_FILTERED_OPTION: true,\n path: path\n }, _defineProperty(_ref4, names.label, render({ inputValue: inputValue, path: path, prefixCls: prefixCls, names: names })), _defineProperty(_ref4, names.value, path.map(function (o) {\n return o[names.value];\n })), _defineProperty(_ref4, 'disabled', path.some(function (o) {\n return !!o.disabled;\n })), _ref4;\n });\n }\n return [(_ref5 = {}, _defineProperty(_ref5, names.label, notFoundContent || renderEmpty(h, 'Cascader')), _defineProperty(_ref5, names.value, 'ANT_CASCADER_NOT_FOUND'), _defineProperty(_ref5, 'disabled', true), _ref5)];\n },\n focus: function focus() {\n if (this.showSearch) {\n this.$refs.input.focus();\n } else {\n this.$refs.picker.focus();\n }\n },\n blur: function blur() {\n if (this.showSearch) {\n this.$refs.input.blur();\n } else {\n this.$refs.picker.blur();\n }\n }\n },\n\n render: function render() {\n var _classNames, _classNames2, _classNames3;\n\n var h = arguments[0];\n var $slots = this.$slots,\n sPopupVisible = this.sPopupVisible,\n inputValue = this.inputValue,\n configProvider = this.configProvider,\n localeData = this.localeData;\n var _$data2 = this.$data,\n value = _$data2.sValue,\n inputFocused = _$data2.inputFocused;\n\n var props = getOptionProps(this);\n var suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n var getContextPopupContainer = configProvider.getPopupContainer;\n\n var customizePrefixCls = props.prefixCls,\n customizeInputPrefixCls = props.inputPrefixCls,\n _props$placeholder = props.placeholder,\n placeholder = _props$placeholder === undefined ? localeData.placeholder : _props$placeholder,\n size = props.size,\n disabled = props.disabled,\n allowClear = props.allowClear,\n _props$showSearch = props.showSearch,\n showSearch = _props$showSearch === undefined ? false : _props$showSearch,\n notFoundContent = props.notFoundContent,\n otherProps = _objectWithoutProperties(props, ['prefixCls', 'inputPrefixCls', 'placeholder', 'size', 'disabled', 'allowClear', 'showSearch', 'notFoundContent']);\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var renderEmpty = this.configProvider.renderEmpty;\n var prefixCls = getPrefixCls('cascader', customizePrefixCls);\n var inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n\n var sizeCls = classNames((_classNames = {}, _defineProperty(_classNames, inputPrefixCls + '-lg', size === 'large'), _defineProperty(_classNames, inputPrefixCls + '-sm', size === 'small'), _classNames));\n var clearIcon = allowClear && !disabled && value.length > 0 || inputValue ? h(Icon, {\n attrs: {\n type: 'close-circle',\n theme: 'filled'\n },\n 'class': prefixCls + '-picker-clear',\n on: {\n 'click': this.clearSelection\n },\n\n key: 'clear-icon'\n }) : null;\n var arrowCls = classNames((_classNames2 = {}, _defineProperty(_classNames2, prefixCls + '-picker-arrow', true), _defineProperty(_classNames2, prefixCls + '-picker-arrow-expand', sPopupVisible), _classNames2));\n var pickerCls = classNames(getClass(this), prefixCls + '-picker', (_classNames3 = {}, _defineProperty(_classNames3, prefixCls + '-picker-with-value', inputValue), _defineProperty(_classNames3, prefixCls + '-picker-disabled', disabled), _defineProperty(_classNames3, prefixCls + '-picker-' + size, !!size), _defineProperty(_classNames3, prefixCls + '-picker-show-search', !!showSearch), _defineProperty(_classNames3, prefixCls + '-picker-focused', inputFocused), _classNames3));\n\n // Fix bug of https://github.com/facebook/react/pull/5004\n // and https://fb.me/react-unknown-prop\n var tempInputProps = omit(otherProps, ['options', 'popupPlacement', 'transitionName', 'displayRender', 'changeOnSelect', 'expandTrigger', 'popupVisible', 'getPopupContainer', 'loadData', 'popupClassName', 'filterOption', 'renderFilteredOption', 'sortFilteredOption', 'notFoundContent', 'defaultValue', 'fieldNames']);\n\n var options = props.options;\n var names = getFilledFieldNames(this.$props);\n if (options && options.length > 0) {\n if (inputValue) {\n options = this.generateFilteredOptions(prefixCls, renderEmpty);\n }\n } else {\n var _ref6;\n\n options = [(_ref6 = {}, _defineProperty(_ref6, names.label, notFoundContent || renderEmpty(h, 'Cascader')), _defineProperty(_ref6, names.value, 'ANT_CASCADER_NOT_FOUND'), _defineProperty(_ref6, 'disabled', true), _ref6)];\n }\n\n // Dropdown menu should keep previous status until it is fully closed.\n if (!sPopupVisible) {\n options = this.cachedOptions;\n } else {\n this.cachedOptions = options;\n }\n\n var dropdownMenuColumnStyle = {};\n var isNotFound = (options || []).length === 1 && options[0].value === 'ANT_CASCADER_NOT_FOUND';\n if (isNotFound) {\n dropdownMenuColumnStyle.height = 'auto'; // Height of one row.\n }\n // The default value of `matchInputWidth` is `true`\n var resultListMatchInputWidth = showSearch.matchInputWidth !== false;\n if (resultListMatchInputWidth && (inputValue || isNotFound) && this.$refs.input) {\n dropdownMenuColumnStyle.width = this.$refs.input.$el.offsetWidth + 'px';\n }\n // showSearch时,focus、blur在input上触发,反之在ref='picker'上触发\n var inputProps = {\n props: _extends({}, tempInputProps, {\n prefixCls: inputPrefixCls,\n placeholder: value && value.length > 0 ? undefined : placeholder,\n value: inputValue,\n disabled: disabled,\n readOnly: !showSearch,\n autoComplete: 'off'\n }),\n 'class': prefixCls + '-input ' + sizeCls,\n ref: 'input',\n on: {\n focus: showSearch ? this.handleInputFocus : noop,\n click: showSearch ? this.handleInputClick : noop,\n blur: showSearch ? this.handleInputBlur : noop,\n keydown: this.handleKeyDown,\n change: showSearch ? this.handleInputChange : noop\n },\n attrs: getAttrs(this)\n };\n var children = filterEmpty($slots['default']);\n var inputIcon = suffixIcon && (isValidElement(suffixIcon) ? cloneElement(suffixIcon, {\n 'class': _defineProperty({}, prefixCls + '-picker-arrow', true)\n }) : h(\n 'span',\n { 'class': prefixCls + '-picker-arrow' },\n [suffixIcon]\n )) || h(Icon, {\n attrs: { type: 'down' },\n 'class': arrowCls });\n\n var input = children.length ? children : h(\n 'span',\n { 'class': pickerCls, style: getStyle(this), ref: 'picker' },\n [showSearch ? h(\n 'span',\n { 'class': prefixCls + '-picker-label' },\n [this.getLabel()]\n ) : null, h(Input, inputProps), !showSearch ? h(\n 'span',\n { 'class': prefixCls + '-picker-label' },\n [this.getLabel()]\n ) : null, clearIcon, inputIcon]\n );\n\n var expandIcon = h(Icon, {\n attrs: { type: 'right' }\n });\n\n var loadingIcon = h(\n 'span',\n { 'class': prefixCls + '-menu-item-loading-icon' },\n [h(Icon, {\n attrs: { type: 'redo', spin: true }\n })]\n );\n var getPopupContainer = props.getPopupContainer || getContextPopupContainer;\n var cascaderProps = {\n props: _extends({}, props, {\n getPopupContainer: getPopupContainer,\n options: options,\n prefixCls: prefixCls,\n value: value,\n popupVisible: sPopupVisible,\n dropdownMenuColumnStyle: dropdownMenuColumnStyle,\n expandIcon: expandIcon,\n loadingIcon: loadingIcon\n }),\n on: _extends({}, getListeners(this), {\n popupVisibleChange: this.handlePopupVisibleChange,\n change: this.handleChange\n })\n };\n return h(\n VcCascader,\n cascaderProps,\n [input]\n );\n }\n};\n\n/* istanbul ignore next */\nCascader.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Cascader.name, Cascader);\n};\n\nexport default Cascader;","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport VcCheckbox from '../vc-checkbox';\nimport hasProp, { getOptionProps, getAttrs, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport warning from '../_util/warning';\nfunction noop() {}\n\nexport default {\n name: 'ACheckbox',\n inheritAttrs: false,\n __ANT_CHECKBOX: true,\n model: {\n prop: 'checked'\n },\n props: {\n prefixCls: PropTypes.string,\n defaultChecked: PropTypes.bool,\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n isGroup: PropTypes.bool,\n value: PropTypes.any,\n name: PropTypes.string,\n id: PropTypes.string,\n indeterminate: PropTypes.bool,\n type: PropTypes.string.def('checkbox'),\n autoFocus: PropTypes.bool\n },\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } },\n checkboxGroupContext: { 'default': function _default() {\n return undefined;\n } }\n },\n watch: {\n value: function value(_value, prevValue) {\n var _this = this;\n\n this.$nextTick(function () {\n var _checkboxGroupContext = _this.checkboxGroupContext,\n checkboxGroup = _checkboxGroupContext === undefined ? {} : _checkboxGroupContext;\n\n if (checkboxGroup.registerValue && checkboxGroup.cancelValue) {\n checkboxGroup.cancelValue(prevValue);\n checkboxGroup.registerValue(_value);\n }\n });\n }\n },\n mounted: function mounted() {\n var value = this.value,\n _checkboxGroupContext2 = this.checkboxGroupContext,\n checkboxGroup = _checkboxGroupContext2 === undefined ? {} : _checkboxGroupContext2;\n\n if (checkboxGroup.registerValue) {\n checkboxGroup.registerValue(value);\n }\n\n warning(hasProp(this, 'checked') || this.checkboxGroupContext || !hasProp(this, 'value'), 'Checkbox', '`value` is not validate prop, do you mean `checked`?');\n },\n beforeDestroy: function beforeDestroy() {\n var value = this.value,\n _checkboxGroupContext3 = this.checkboxGroupContext,\n checkboxGroup = _checkboxGroupContext3 === undefined ? {} : _checkboxGroupContext3;\n\n if (checkboxGroup.cancelValue) {\n checkboxGroup.cancelValue(value);\n }\n },\n\n methods: {\n handleChange: function handleChange(event) {\n var targetChecked = event.target.checked;\n this.$emit('input', targetChecked);\n this.$emit('change', event);\n },\n focus: function focus() {\n this.$refs.vcCheckbox.focus();\n },\n blur: function blur() {\n this.$refs.vcCheckbox.blur();\n }\n },\n\n render: function render() {\n var _this2 = this,\n _classNames;\n\n var h = arguments[0];\n var checkboxGroup = this.checkboxGroupContext,\n $slots = this.$slots;\n\n var props = getOptionProps(this);\n var children = $slots['default'];\n\n var _getListeners = getListeners(this),\n _getListeners$mouseen = _getListeners.mouseenter,\n mouseenter = _getListeners$mouseen === undefined ? noop : _getListeners$mouseen,\n _getListeners$mousele = _getListeners.mouseleave,\n mouseleave = _getListeners$mousele === undefined ? noop : _getListeners$mousele,\n input = _getListeners.input,\n restListeners = _objectWithoutProperties(_getListeners, ['mouseenter', 'mouseleave', 'input']);\n\n var customizePrefixCls = props.prefixCls,\n indeterminate = props.indeterminate,\n restProps = _objectWithoutProperties(props, ['prefixCls', 'indeterminate']);\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('checkbox', customizePrefixCls);\n\n var checkboxProps = {\n props: _extends({}, restProps, { prefixCls: prefixCls }),\n on: restListeners,\n attrs: getAttrs(this)\n };\n if (checkboxGroup) {\n checkboxProps.on.change = function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this2.$emit.apply(_this2, ['change'].concat(args));\n checkboxGroup.toggleOption({ label: children, value: props.value });\n };\n checkboxProps.props.name = checkboxGroup.name;\n checkboxProps.props.checked = checkboxGroup.sValue.indexOf(props.value) !== -1;\n checkboxProps.props.disabled = props.disabled || checkboxGroup.disabled;\n checkboxProps.props.indeterminate = indeterminate;\n } else {\n checkboxProps.on.change = this.handleChange;\n }\n var classString = classNames((_classNames = {}, _defineProperty(_classNames, prefixCls + '-wrapper', true), _defineProperty(_classNames, prefixCls + '-wrapper-checked', checkboxProps.props.checked), _defineProperty(_classNames, prefixCls + '-wrapper-disabled', checkboxProps.props.disabled), _classNames));\n var checkboxClass = classNames(_defineProperty({}, prefixCls + '-indeterminate', indeterminate));\n return h(\n 'label',\n { 'class': classString, on: {\n 'mouseenter': mouseenter,\n 'mouseleave': mouseleave\n }\n },\n [h(VcCheckbox, _mergeJSXProps([checkboxProps, { 'class': checkboxClass, ref: 'vcCheckbox' }])), children !== undefined && h('span', [children])]\n );\n }\n};","import _toConsumableArray from 'babel-runtime/helpers/toConsumableArray';\nimport _extends from 'babel-runtime/helpers/extends';\nimport PropTypes from '../_util/vue-types';\nimport Checkbox from './Checkbox';\nimport hasProp from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nfunction noop() {}\nexport default {\n name: 'ACheckboxGroup',\n model: {\n prop: 'value'\n },\n props: {\n name: PropTypes.string,\n prefixCls: PropTypes.string,\n defaultValue: PropTypes.array,\n value: PropTypes.array,\n options: PropTypes.array.def([]),\n disabled: PropTypes.bool\n },\n provide: function provide() {\n return {\n checkboxGroupContext: this\n };\n },\n\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n data: function data() {\n var value = this.value,\n defaultValue = this.defaultValue;\n\n return {\n sValue: value || defaultValue || [],\n registeredValues: []\n };\n },\n\n watch: {\n value: function value(val) {\n this.sValue = val || [];\n }\n },\n methods: {\n getOptions: function getOptions() {\n var options = this.options,\n $scopedSlots = this.$scopedSlots;\n\n return options.map(function (option) {\n if (typeof option === 'string') {\n return {\n label: option,\n value: option\n };\n }\n var label = option.label;\n if (label === undefined && $scopedSlots.label) {\n label = $scopedSlots.label(option);\n }\n return _extends({}, option, { label: label });\n });\n },\n cancelValue: function cancelValue(value) {\n this.registeredValues = this.registeredValues.filter(function (val) {\n return val !== value;\n });\n },\n registerValue: function registerValue(value) {\n this.registeredValues = [].concat(_toConsumableArray(this.registeredValues), [value]);\n },\n toggleOption: function toggleOption(option) {\n var registeredValues = this.registeredValues;\n\n var optionIndex = this.sValue.indexOf(option.value);\n var value = [].concat(_toConsumableArray(this.sValue));\n if (optionIndex === -1) {\n value.push(option.value);\n } else {\n value.splice(optionIndex, 1);\n }\n if (!hasProp(this, 'value')) {\n this.sValue = value;\n }\n var options = this.getOptions();\n var val = value.filter(function (val) {\n return registeredValues.indexOf(val) !== -1;\n }).sort(function (a, b) {\n var indexA = options.findIndex(function (opt) {\n return opt.value === a;\n });\n var indexB = options.findIndex(function (opt) {\n return opt.value === b;\n });\n return indexA - indexB;\n });\n this.$emit('input', val);\n this.$emit('change', val);\n }\n },\n render: function render() {\n var h = arguments[0];\n var props = this.$props,\n state = this.$data,\n $slots = this.$slots;\n var customizePrefixCls = props.prefixCls,\n options = props.options;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('checkbox', customizePrefixCls);\n\n var children = $slots['default'];\n var groupPrefixCls = prefixCls + '-group';\n if (options && options.length > 0) {\n children = this.getOptions().map(function (option) {\n return h(\n Checkbox,\n {\n attrs: {\n prefixCls: prefixCls,\n\n disabled: 'disabled' in option ? option.disabled : props.disabled,\n indeterminate: option.indeterminate,\n value: option.value,\n checked: state.sValue.indexOf(option.value) !== -1\n },\n key: option.value.toString(), on: {\n 'change': option.onChange || noop\n },\n\n 'class': groupPrefixCls + '-item'\n },\n [option.label]\n );\n });\n }\n return h(\n 'div',\n { 'class': groupPrefixCls },\n [children]\n );\n }\n};","import Checkbox from './Checkbox';\nimport CheckboxGroup from './Group';\nimport Base from '../base';\n\nCheckbox.Group = CheckboxGroup;\n\n/* istanbul ignore next */\nCheckbox.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Checkbox.name, Checkbox);\n Vue.component(CheckboxGroup.name, CheckboxGroup);\n};\n\nexport default Checkbox;","import { Col } from '../grid';\nimport Base from '../base';\n/* istanbul ignore next */\nCol.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Col.name, Col);\n};\n\nexport default Col;","import _extends from 'babel-runtime/helpers/extends';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport animation from '../_util/openAnimation';\nimport { getOptionProps, initDefaultProps, getComponentFromProp, isValidElement, getListeners } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport VcCollapse, { collapseProps } from '../vc-collapse';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport default {\n name: 'ACollapse',\n model: {\n prop: 'activeKey',\n event: 'change'\n },\n props: initDefaultProps(collapseProps(), {\n bordered: true,\n openAnimation: animation,\n expandIconPosition: 'left'\n }),\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n methods: {\n renderExpandIcon: function renderExpandIcon(panelProps, prefixCls) {\n var h = this.$createElement;\n\n var expandIcon = getComponentFromProp(this, 'expandIcon', panelProps);\n var icon = expandIcon || h(Icon, {\n attrs: { type: 'right', rotate: panelProps.isActive ? 90 : undefined }\n });\n return isValidElement(Array.isArray(expandIcon) ? icon[0] : icon) ? cloneElement(icon, {\n 'class': prefixCls + '-arrow'\n }) : icon;\n }\n },\n render: function render() {\n var _collapseClassName,\n _this = this;\n\n var h = arguments[0];\n var customizePrefixCls = this.prefixCls,\n bordered = this.bordered,\n expandIconPosition = this.expandIconPosition;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('collapse', customizePrefixCls);\n\n var collapseClassName = (_collapseClassName = {}, _defineProperty(_collapseClassName, prefixCls + '-borderless', !bordered), _defineProperty(_collapseClassName, prefixCls + '-icon-position-' + expandIconPosition, true), _collapseClassName);\n var rcCollapeProps = {\n props: _extends({}, getOptionProps(this), {\n prefixCls: prefixCls,\n expandIcon: function expandIcon(panelProps) {\n return _this.renderExpandIcon(panelProps, prefixCls);\n }\n }),\n 'class': collapseClassName,\n on: getListeners(this)\n };\n return h(\n VcCollapse,\n rcCollapeProps,\n [this.$slots['default']]\n );\n }\n};","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport { getOptionProps, getComponentFromProp, getListeners } from '../_util/props-util';\nimport VcCollapse, { panelProps } from '../vc-collapse';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport default {\n name: 'ACollapsePanel',\n props: _extends({}, panelProps()),\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n render: function render() {\n var h = arguments[0];\n var customizePrefixCls = this.prefixCls,\n _showArrow = this.showArrow,\n showArrow = _showArrow === undefined ? true : _showArrow;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('collapse', customizePrefixCls);\n\n var collapsePanelClassName = _defineProperty({}, prefixCls + '-no-arrow', !showArrow);\n var rcCollapePanelProps = {\n props: _extends({}, getOptionProps(this), {\n prefixCls: prefixCls,\n extra: getComponentFromProp(this, 'extra')\n }),\n 'class': collapsePanelClassName,\n on: getListeners(this)\n };\n var header = getComponentFromProp(this, 'header');\n return h(\n VcCollapse.Panel,\n rcCollapePanelProps,\n [this.$slots['default'], header ? h(\n 'template',\n { slot: 'header' },\n [header]\n ) : null]\n );\n }\n};","import Collapse from './Collapse';\nimport CollapsePanel from './CollapsePanel';\nimport Base from '../base';\n\nCollapse.Panel = CollapsePanel;\n\n/* istanbul ignore next */\nCollapse.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Collapse.name, Collapse);\n Vue.component(CollapsePanel.name, CollapsePanel);\n};\n\nexport default Collapse;","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport PropsTypes from '../_util/vue-types';\nimport { getComponentFromProp, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\nexport var CommentProps = {\n actions: PropsTypes.array,\n /** The element to display as the comment author. */\n author: PropsTypes.any,\n /** The element to display as the comment avatar - generally an antd Avatar */\n avatar: PropsTypes.any,\n /** The main content of the comment */\n content: PropsTypes.any,\n /** Comment prefix defaults to '.ant-comment' */\n prefixCls: PropsTypes.string,\n /** A datetime element containing the time to be displayed */\n datetime: PropsTypes.any\n};\n\nvar Comment = {\n name: 'AComment',\n props: CommentProps,\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n methods: {\n getAction: function getAction(actions) {\n var h = this.$createElement;\n\n if (!actions || !actions.length) {\n return null;\n }\n var actionList = actions.map(function (action, index) {\n return h(\n 'li',\n { key: 'action-' + index },\n [action]\n );\n });\n return actionList;\n },\n renderNested: function renderNested(prefixCls, children) {\n var h = this.$createElement;\n\n return h(\n 'div',\n { 'class': prefixCls + '-nested' },\n [children]\n );\n }\n },\n\n render: function render() {\n var h = arguments[0];\n var customizePrefixCls = this.$props.prefixCls;\n\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('comment', customizePrefixCls);\n\n var actions = getComponentFromProp(this, 'actions');\n var author = getComponentFromProp(this, 'author');\n var avatar = getComponentFromProp(this, 'avatar');\n var content = getComponentFromProp(this, 'content');\n var datetime = getComponentFromProp(this, 'datetime');\n\n var avatarDom = h(\n 'div',\n { 'class': prefixCls + '-avatar' },\n [typeof avatar === 'string' ? h('img', {\n attrs: { src: avatar, alt: 'comment-avatar' }\n }) : avatar]\n );\n\n var actionDom = actions && actions.length ? h(\n 'ul',\n { 'class': prefixCls + '-actions' },\n [this.getAction(actions)]\n ) : null;\n\n var authorContent = h(\n 'div',\n { 'class': prefixCls + '-content-author' },\n [author && h(\n 'span',\n { 'class': prefixCls + '-content-author-name' },\n [author]\n ), datetime && h(\n 'span',\n { 'class': prefixCls + '-content-author-time' },\n [datetime]\n )]\n );\n\n var contentDom = h(\n 'div',\n { 'class': prefixCls + '-content' },\n [authorContent, h(\n 'div',\n { 'class': prefixCls + '-content-detail' },\n [content]\n ), actionDom]\n );\n\n var comment = h(\n 'div',\n { 'class': prefixCls + '-inner' },\n [avatarDom, contentDom]\n );\n var children = this.$slots['default'];\n return h(\n 'div',\n _mergeJSXProps([{ 'class': prefixCls }, { on: getListeners(this) }]),\n [comment, children ? this.renderNested(prefixCls, children) : null]\n );\n }\n};\n\n/* istanbul ignore next */\nComment.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Comment.name, Comment);\n};\nexport default Comment;","import defaultRenderEmpty from './renderEmpty';\n\nexport var ConfigConsumerProps = {\n getPrefixCls: function getPrefixCls(suffixCls, customizePrefixCls) {\n if (customizePrefixCls) return customizePrefixCls;\n return 'ant-' + suffixCls;\n },\n renderEmpty: defaultRenderEmpty\n};","import _extends from 'babel-runtime/helpers/extends';\nimport Vue from 'vue';\nimport PropTypes from '../_util/vue-types';\nimport { filterEmpty, getComponentFromProp } from '../_util/props-util';\nimport defaultRenderEmpty from './renderEmpty';\nimport Base from '../base';\nimport LocaleProvider, { ANT_MARK } from '../locale-provider';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\n\nfunction getWatch() {\n var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var watch = {};\n keys.forEach(function (k) {\n watch[k] = function (value) {\n this._proxyVm._data[k] = value;\n };\n });\n return watch;\n}\n\nvar ConfigProvider = {\n name: 'AConfigProvider',\n props: {\n getPopupContainer: PropTypes.func,\n prefixCls: PropTypes.string,\n renderEmpty: PropTypes.func,\n csp: PropTypes.object,\n autoInsertSpaceInButton: PropTypes.bool,\n locale: PropTypes.object,\n pageHeader: PropTypes.object,\n transformCellText: PropTypes.func\n },\n provide: function provide() {\n var _self = this;\n this._proxyVm = new Vue({\n data: function data() {\n return _extends({}, _self.$props, {\n getPrefixCls: _self.getPrefixCls,\n renderEmpty: _self.renderEmptyComponent\n });\n }\n });\n return {\n configProvider: this._proxyVm._data\n };\n },\n\n watch: _extends({}, getWatch(['prefixCls', 'csp', 'autoInsertSpaceInButton', 'locale', 'pageHeader', 'transformCellText'])),\n methods: {\n renderEmptyComponent: function renderEmptyComponent(h, name) {\n var renderEmpty = getComponentFromProp(this, 'renderEmpty', {}, false) || defaultRenderEmpty;\n return renderEmpty(h, name);\n },\n getPrefixCls: function getPrefixCls(suffixCls, customizePrefixCls) {\n var _$props$prefixCls = this.$props.prefixCls,\n prefixCls = _$props$prefixCls === undefined ? 'ant' : _$props$prefixCls;\n\n if (customizePrefixCls) return customizePrefixCls;\n return suffixCls ? prefixCls + '-' + suffixCls : prefixCls;\n },\n renderProvider: function renderProvider(legacyLocale) {\n var h = this.$createElement;\n\n return h(\n LocaleProvider,\n {\n attrs: { locale: this.locale || legacyLocale, _ANT_MARK__: ANT_MARK }\n },\n [this.$slots['default'] ? filterEmpty(this.$slots['default'])[0] : null]\n );\n }\n },\n\n render: function render() {\n var _this = this;\n\n var h = arguments[0];\n\n return h(LocaleReceiver, {\n scopedSlots: { 'default': function _default(_, __, legacyLocale) {\n return _this.renderProvider(legacyLocale);\n } }\n });\n }\n};\n\n/* istanbul ignore next */\nConfigProvider.install = function (Vue) {\n Vue.use(Base);\n Vue.component(ConfigProvider.name, ConfigProvider);\n};\n\nexport default ConfigProvider;","import PropTypes from '../_util/vue-types';\nimport Empty from '../empty';\nimport { ConfigConsumerProps } from './configConsumerProps';\n\nvar RenderEmpty = {\n functional: true,\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n props: {\n componentName: PropTypes.string\n },\n render: function render(createElement, context) {\n var h = arguments[0];\n var props = context.props,\n injections = context.injections;\n\n function renderHtml(componentName) {\n var getPrefixCls = injections.configProvider.getPrefixCls;\n var prefix = getPrefixCls('empty');\n switch (componentName) {\n case 'Table':\n case 'List':\n return h(Empty, {\n attrs: { image: Empty.PRESENTED_IMAGE_SIMPLE }\n });\n\n case 'Select':\n case 'TreeSelect':\n case 'Cascader':\n case 'Transfer':\n case 'Mentions':\n return h(Empty, {\n attrs: { image: Empty.PRESENTED_IMAGE_SIMPLE },\n 'class': prefix + '-small' });\n\n default:\n return h(Empty);\n }\n }\n return renderHtml(props.componentName);\n }\n};\n\nfunction renderEmpty(h, componentName) {\n return h(RenderEmpty, {\n attrs: { componentName: componentName }\n });\n}\n\nexport default renderEmpty;","export function formatDate(value, format) {\n if (!value) {\n return '';\n }\n if (Array.isArray(format)) {\n format = format[0];\n }\n if (typeof format === 'function') {\n var result = format(value);\n if (typeof result === 'string') {\n return result;\n } else {\n throw new Error('The function of format does not return a string');\n }\n }\n return value.format(format);\n}","import _extends from 'babel-runtime/helpers/extends';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport * as moment from 'moment';\nimport omit from 'lodash/omit';\nimport MonthCalendar from '../vc-calendar/src/MonthCalendar';\nimport VcDatePicker from '../vc-calendar/src/Picker';\nimport classNames from 'classnames';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport interopDefault from '../_util/interopDefault';\nimport BaseMixin from '../_util/BaseMixin';\nimport { hasProp, getOptionProps, initDefaultProps, mergeProps, getComponentFromProp, isValidElement, getListeners } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport { formatDate } from './utils';\n\n// export const PickerProps = {\n// value?: moment.Moment;\n// prefixCls: string;\n// }\nfunction noop() {}\nexport default function createPicker(TheCalendar, props) {\n return {\n props: initDefaultProps(props, {\n allowClear: true,\n showToday: true\n }),\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change'\n },\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n data: function data() {\n var value = this.value || this.defaultValue;\n if (value && !interopDefault(moment).isMoment(value)) {\n throw new Error('The value/defaultValue of DatePicker or MonthPicker must be ' + 'a moment object');\n }\n return {\n sValue: value,\n showDate: value,\n _open: !!this.open\n };\n },\n\n watch: {\n open: function open(val) {\n var props = getOptionProps(this);\n var state = {};\n state._open = val;\n if ('value' in props && !val && props.value !== this.showDate) {\n state.showDate = props.value;\n }\n this.setState(state);\n },\n value: function value(val) {\n var state = {};\n state.sValue = val;\n if (val !== this.sValue) {\n state.showDate = val;\n }\n this.setState(state);\n },\n _open: function _open(val, oldVal) {\n var _this = this;\n\n this.$nextTick(function () {\n if (!hasProp(_this, 'open') && oldVal && !val) {\n _this.focus();\n }\n });\n }\n },\n methods: {\n clearSelection: function clearSelection(e) {\n e.preventDefault();\n e.stopPropagation();\n this.handleChange(null);\n },\n handleChange: function handleChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n showDate: value\n });\n }\n this.$emit('change', value, formatDate(value, this.format));\n },\n handleCalendarChange: function handleCalendarChange(value) {\n this.setState({ showDate: value });\n },\n handleOpenChange: function handleOpenChange(open) {\n var props = getOptionProps(this);\n if (!('open' in props)) {\n this.setState({ _open: open });\n }\n this.$emit('openChange', open);\n },\n focus: function focus() {\n this.$refs.input.focus();\n },\n blur: function blur() {\n this.$refs.input.blur();\n },\n renderFooter: function renderFooter() {\n var h = this.$createElement;\n var $scopedSlots = this.$scopedSlots,\n $slots = this.$slots,\n prefixCls = this._prefixCls;\n\n var renderExtraFooter = this.renderExtraFooter || $scopedSlots.renderExtraFooter || $slots.renderExtraFooter;\n return renderExtraFooter ? h(\n 'div',\n { 'class': prefixCls + '-footer-extra' },\n [typeof renderExtraFooter === 'function' ? renderExtraFooter.apply(undefined, arguments) : renderExtraFooter]\n ) : null;\n },\n onMouseEnter: function onMouseEnter(e) {\n this.$emit('mouseenter', e);\n },\n onMouseLeave: function onMouseLeave(e) {\n this.$emit('mouseleave', e);\n }\n },\n\n render: function render() {\n var _classNames,\n _this2 = this;\n\n var h = arguments[0];\n var $scopedSlots = this.$scopedSlots;\n var _$data = this.$data,\n value = _$data.sValue,\n showDate = _$data.showDate,\n open = _$data._open;\n\n var suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n var listeners = getListeners(this);\n var _listeners$panelChang = listeners.panelChange,\n panelChange = _listeners$panelChang === undefined ? noop : _listeners$panelChang,\n _listeners$focus = listeners.focus,\n focus = _listeners$focus === undefined ? noop : _listeners$focus,\n _listeners$blur = listeners.blur,\n blur = _listeners$blur === undefined ? noop : _listeners$blur,\n _listeners$ok = listeners.ok,\n ok = _listeners$ok === undefined ? noop : _listeners$ok;\n\n var props = getOptionProps(this);\n\n var customizePrefixCls = props.prefixCls,\n locale = props.locale,\n localeCode = props.localeCode,\n inputReadOnly = props.inputReadOnly;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('calendar', customizePrefixCls);\n this._prefixCls = prefixCls;\n\n var dateRender = props.dateRender || $scopedSlots.dateRender;\n var monthCellContentRender = props.monthCellContentRender || $scopedSlots.monthCellContentRender;\n var placeholder = 'placeholder' in props ? props.placeholder : locale.lang.placeholder;\n\n var disabledTime = props.showTime ? props.disabledTime : null;\n\n var calendarClassName = classNames((_classNames = {}, _defineProperty(_classNames, prefixCls + '-time', props.showTime), _defineProperty(_classNames, prefixCls + '-month', MonthCalendar === TheCalendar), _classNames));\n\n if (value && localeCode) {\n value.locale(localeCode);\n }\n\n var pickerProps = { props: {}, on: {} };\n var calendarProps = { props: {}, on: {} };\n var pickerStyle = {};\n if (props.showTime) {\n // fix https://github.com/ant-design/ant-design/issues/1902\n calendarProps.on.select = this.handleChange;\n pickerStyle.minWidth = '195px';\n } else {\n pickerProps.on.change = this.handleChange;\n }\n if ('mode' in props) {\n calendarProps.props.mode = props.mode;\n }\n var theCalendarProps = mergeProps(calendarProps, {\n props: {\n disabledDate: props.disabledDate,\n disabledTime: disabledTime,\n locale: locale.lang,\n timePicker: props.timePicker,\n defaultValue: props.defaultPickerValue || interopDefault(moment)(),\n dateInputPlaceholder: placeholder,\n prefixCls: prefixCls,\n dateRender: dateRender,\n format: props.format,\n showToday: props.showToday,\n monthCellContentRender: monthCellContentRender,\n renderFooter: this.renderFooter,\n value: showDate,\n inputReadOnly: inputReadOnly\n },\n on: {\n ok: ok,\n panelChange: panelChange,\n change: this.handleCalendarChange\n },\n 'class': calendarClassName,\n scopedSlots: $scopedSlots\n });\n var calendar = h(TheCalendar, theCalendarProps);\n\n var clearIcon = !props.disabled && props.allowClear && value ? h(Icon, {\n attrs: {\n type: 'close-circle',\n\n theme: 'filled'\n },\n 'class': prefixCls + '-picker-clear',\n on: {\n 'click': this.clearSelection\n }\n }) : null;\n\n var inputIcon = suffixIcon && (isValidElement(suffixIcon) ? cloneElement(suffixIcon, {\n 'class': prefixCls + '-picker-icon'\n }) : h(\n 'span',\n { 'class': prefixCls + '-picker-icon' },\n [suffixIcon]\n )) || h(Icon, {\n attrs: { type: 'calendar' },\n 'class': prefixCls + '-picker-icon' });\n\n var input = function input(_ref) {\n var inputValue = _ref.value;\n return h('div', [h('input', {\n ref: 'input',\n attrs: { disabled: props.disabled,\n\n readOnly: true,\n\n placeholder: placeholder,\n\n tabIndex: props.tabIndex,\n name: _this2.name\n },\n on: {\n 'focus': focus,\n 'blur': blur\n },\n domProps: {\n 'value': formatDate(inputValue, _this2.format)\n },\n 'class': props.pickerInputClass }), clearIcon, inputIcon]);\n };\n var vcDatePickerProps = {\n props: _extends({}, props, pickerProps.props, {\n calendar: calendar,\n value: value,\n prefixCls: prefixCls + '-picker-container'\n }),\n on: _extends({}, omit(listeners, 'change'), pickerProps.on, {\n open: open,\n onOpenChange: this.handleOpenChange\n }),\n style: props.popupStyle,\n scopedSlots: _extends({ 'default': input }, $scopedSlots)\n };\n return h(\n 'span',\n {\n 'class': props.pickerClass,\n style: pickerStyle\n // tabIndex={props.disabled ? -1 : 0}\n // onFocus={focus}\n // onBlur={blur}\n , on: {\n 'mouseenter': this.onMouseEnter,\n 'mouseleave': this.onMouseLeave\n }\n },\n [h(VcDatePicker, vcDatePickerProps)]\n );\n }\n };\n}","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport TimePickerPanel from '../vc-time-picker/Panel';\nimport classNames from 'classnames';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport { generateShowHourMinuteSecond } from '../time-picker';\nimport enUS from './locale/en_US';\nimport { getOptionProps, initDefaultProps, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport { checkValidate, stringToMoment, momentToString } from '../_util/moment-util';\n\nvar DEFAULT_FORMAT = {\n date: 'YYYY-MM-DD',\n dateTime: 'YYYY-MM-DD HH:mm:ss',\n week: 'gggg-wo',\n month: 'YYYY-MM'\n};\n\nvar LOCALE_FORMAT_MAPPING = {\n date: 'dateFormat',\n dateTime: 'dateTimeFormat',\n week: 'weekFormat',\n month: 'monthFormat'\n};\n\nfunction getColumns(_ref) {\n var showHour = _ref.showHour,\n showMinute = _ref.showMinute,\n showSecond = _ref.showSecond,\n use12Hours = _ref.use12Hours;\n\n var column = 0;\n if (showHour) {\n column += 1;\n }\n if (showMinute) {\n column += 1;\n }\n if (showSecond) {\n column += 1;\n }\n if (use12Hours) {\n column += 1;\n }\n return column;\n}\n\nexport default function wrapPicker(Picker, props, pickerType) {\n return {\n name: Picker.name,\n props: initDefaultProps(props, {\n transitionName: 'slide-up',\n popupStyle: {},\n locale: {}\n }),\n model: {\n prop: 'value',\n event: 'change'\n },\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n provide: function provide() {\n return {\n savePopupRef: this.savePopupRef\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n var autoFocus = this.autoFocus,\n disabled = this.disabled,\n value = this.value,\n defaultValue = this.defaultValue,\n valueFormat = this.valueFormat;\n\n checkValidate('DatePicker', defaultValue, 'defaultValue', valueFormat);\n checkValidate('DatePicker', value, 'value', valueFormat);\n if (autoFocus && !disabled) {\n this.$nextTick(function () {\n _this.focus();\n });\n }\n },\n\n watch: {\n value: function value(val) {\n checkValidate('DatePicker', val, 'value', this.valueFormat);\n }\n },\n methods: {\n getDefaultLocale: function getDefaultLocale() {\n var result = _extends({}, enUS, this.locale);\n result.lang = _extends({}, result.lang, (this.locale || {}).lang);\n return result;\n },\n savePopupRef: function savePopupRef(ref) {\n this.popupRef = ref;\n },\n handleOpenChange: function handleOpenChange(open) {\n this.$emit('openChange', open);\n },\n handleFocus: function handleFocus(e) {\n this.$emit('focus', e);\n },\n handleBlur: function handleBlur(e) {\n this.$emit('blur', e);\n },\n handleMouseEnter: function handleMouseEnter(e) {\n this.$emit('mouseenter', e);\n },\n handleMouseLeave: function handleMouseLeave(e) {\n this.$emit('mouseleave', e);\n },\n handleChange: function handleChange(date, dateString) {\n this.$emit('change', this.valueFormat ? momentToString(date, this.valueFormat) : date, dateString);\n },\n handleOk: function handleOk(val) {\n this.$emit('ok', this.valueFormat ? momentToString(val, this.valueFormat) : val);\n },\n handleCalendarChange: function handleCalendarChange(date, dateString) {\n this.$emit('calendarChange', this.valueFormat ? momentToString(date, this.valueFormat) : date, dateString);\n },\n focus: function focus() {\n this.$refs.picker.focus();\n },\n blur: function blur() {\n this.$refs.picker.blur();\n },\n transformValue: function transformValue(props) {\n if ('value' in props) {\n props.value = stringToMoment(props.value, this.valueFormat);\n }\n if ('defaultValue' in props) {\n props.defaultValue = stringToMoment(props.defaultValue, this.valueFormat);\n }\n if ('defaultPickerValue' in props) {\n props.defaultPickerValue = stringToMoment(props.defaultPickerValue, this.valueFormat);\n }\n },\n renderPicker: function renderPicker(locale, localeCode) {\n var _classNames2,\n _this2 = this;\n\n var h = this.$createElement;\n\n var props = getOptionProps(this);\n this.transformValue(props);\n var customizePrefixCls = props.prefixCls,\n customizeInputPrefixCls = props.inputPrefixCls,\n getCalendarContainer = props.getCalendarContainer,\n size = props.size,\n showTime = props.showTime,\n disabled = props.disabled,\n format = props.format;\n\n var mergedPickerType = showTime ? pickerType + 'Time' : pickerType;\n var mergedFormat = format || locale[LOCALE_FORMAT_MAPPING[mergedPickerType]] || DEFAULT_FORMAT[mergedPickerType];\n\n var _configProvider = this.configProvider,\n getPrefixCls = _configProvider.getPrefixCls,\n getContextPopupContainer = _configProvider.getPopupContainer;\n\n var getPopupContainer = getCalendarContainer || getContextPopupContainer;\n var prefixCls = getPrefixCls('calendar', customizePrefixCls);\n var inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n\n var pickerClass = classNames(prefixCls + '-picker', _defineProperty({}, prefixCls + '-picker-' + size, !!size));\n var pickerInputClass = classNames(prefixCls + '-picker-input', inputPrefixCls, (_classNames2 = {}, _defineProperty(_classNames2, inputPrefixCls + '-lg', size === 'large'), _defineProperty(_classNames2, inputPrefixCls + '-sm', size === 'small'), _defineProperty(_classNames2, inputPrefixCls + '-disabled', disabled), _classNames2));\n\n var timeFormat = showTime && showTime.format || 'HH:mm:ss';\n var vcTimePickerProps = _extends({}, generateShowHourMinuteSecond(timeFormat), {\n format: timeFormat,\n use12Hours: showTime && showTime.use12Hours\n });\n var columns = getColumns(vcTimePickerProps);\n var timePickerCls = prefixCls + '-time-picker-column-' + columns;\n var timePickerPanelProps = {\n props: _extends({}, vcTimePickerProps, showTime, {\n prefixCls: prefixCls + '-time-picker',\n placeholder: locale.timePickerLocale.placeholder,\n transitionName: 'slide-up'\n }),\n 'class': timePickerCls,\n on: {\n esc: function esc() {}\n }\n };\n var timePicker = showTime ? h(TimePickerPanel, timePickerPanelProps) : null;\n var pickerProps = {\n props: _extends({}, props, {\n getCalendarContainer: getPopupContainer,\n format: mergedFormat,\n pickerClass: pickerClass,\n pickerInputClass: pickerInputClass,\n locale: locale,\n localeCode: localeCode,\n timePicker: timePicker\n }),\n on: _extends({}, getListeners(this), {\n openChange: this.handleOpenChange,\n focus: this.handleFocus,\n blur: this.handleBlur,\n mouseenter: this.handleMouseEnter,\n mouseleave: this.handleMouseLeave,\n change: this.handleChange,\n ok: this.handleOk,\n calendarChange: this.handleCalendarChange\n }),\n ref: 'picker',\n scopedSlots: this.$scopedSlots || {}\n };\n return h(\n Picker,\n pickerProps,\n [this.$slots && Object.keys(this.$slots).map(function (key) {\n return h(\n 'template',\n { slot: key, key: key },\n [_this2.$slots[key]]\n );\n })]\n );\n }\n },\n\n render: function render() {\n var h = arguments[0];\n\n return h(LocaleReceiver, {\n attrs: {\n componentName: 'DatePicker',\n defaultLocale: this.getDefaultLocale\n },\n scopedSlots: { 'default': this.renderPicker }\n });\n }\n };\n}","import _extends from 'babel-runtime/helpers/extends';\n// import { TimePickerProps } from '../time-picker'\nimport PropTypes from '../_util/vue-types';\nimport { TimesType, TimeType } from '../_util/moment-util';\n\nexport var PickerProps = function PickerProps() {\n return {\n name: PropTypes.string,\n transitionName: PropTypes.string,\n prefixCls: PropTypes.string,\n inputPrefixCls: PropTypes.string,\n format: PropTypes.oneOfType([PropTypes.string, PropTypes.array, PropTypes.func]),\n disabled: PropTypes.bool,\n allowClear: PropTypes.bool,\n suffixIcon: PropTypes.any,\n popupStyle: PropTypes.object,\n dropdownClassName: PropTypes.string,\n locale: PropTypes.any,\n localeCode: PropTypes.string,\n size: PropTypes.oneOf(['large', 'small', 'default']),\n getCalendarContainer: PropTypes.func,\n open: PropTypes.bool,\n // onOpenChange: PropTypes.(status: bool) => void,\n disabledDate: PropTypes.func,\n showToday: PropTypes.bool,\n dateRender: PropTypes.any, // (current: moment.Moment, today: moment.Moment) => React.ReactNode,\n pickerClass: PropTypes.string,\n pickerInputClass: PropTypes.string,\n timePicker: PropTypes.any,\n autoFocus: PropTypes.bool,\n tagPrefixCls: PropTypes.string,\n tabIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n align: PropTypes.object.def(function () {\n return {};\n }),\n inputReadOnly: PropTypes.bool,\n valueFormat: PropTypes.string\n };\n};\n\nexport var SinglePickerProps = function SinglePickerProps() {\n return {\n value: TimeType,\n defaultValue: TimeType,\n defaultPickerValue: TimeType,\n renderExtraFooter: PropTypes.any,\n placeholder: PropTypes.string\n // onChange?: (date: moment.Moment, dateString: string) => void;\n };\n};\n\nexport var DatePickerProps = function DatePickerProps() {\n return _extends({}, PickerProps(), SinglePickerProps(), {\n showTime: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),\n open: PropTypes.bool,\n disabledTime: PropTypes.func,\n // onOpenChange?: (status: bool) => void;\n // onOk?: (selectedTime: moment.Moment) => void;\n mode: PropTypes.oneOf(['time', 'date', 'month', 'year', 'decade'])\n });\n};\n\nexport var MonthPickerProps = function MonthPickerProps() {\n return _extends({}, PickerProps(), SinglePickerProps(), {\n placeholder: PropTypes.string,\n monthCellContentRender: PropTypes.func\n });\n};\n// export const RangePickerPresetRange = PropTypes.oneOfType([TimesType, PropTypes.func])\n\nexport var RangePickerProps = function RangePickerProps() {\n return _extends({}, PickerProps(), {\n tagPrefixCls: PropTypes.string,\n value: TimesType,\n defaultValue: TimesType,\n defaultPickerValue: TimesType,\n timePicker: PropTypes.any,\n // onChange?: (dates: TimesType, dateStrings: [string, string]) => void;\n // onCalendarChange?: (dates: TimesType, dateStrings: [string, string]) => void;\n // onOk?: (selectedTime: moment.Moment) => void;\n showTime: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),\n ranges: PropTypes.object,\n placeholder: PropTypes.arrayOf(String),\n mode: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(String)]),\n separator: PropTypes.any,\n disabledTime: PropTypes.func,\n showToday: PropTypes.bool,\n renderExtraFooter: PropTypes.any\n // onPanelChange?: (value?: TimesType, mode?: string | string[]) => void;\n });\n};\n\nexport var WeekPickerProps = function WeekPickerProps() {\n return _extends({}, PickerProps(), SinglePickerProps(), {\n placeholder: PropTypes.string\n });\n};\n\n// export interface DatePickerDecorator extends React.ClassicComponentClass {\n// RangePicker: React.ClassicComponentClass;\n// MonthPicker: React.ClassicComponentClass;\n// WeekPicker: React.ClassicComponentClass;\n// }","import Icon from '../icon';\nimport { isValidElement } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\n\nexport default {\n functional: true,\n render: function render(h, context) {\n var props = context.props;\n var suffixIcon = props.suffixIcon,\n prefixCls = props.prefixCls;\n\n return (suffixIcon && isValidElement(suffixIcon) ? cloneElement(suffixIcon, {\n 'class': prefixCls + '-picker-icon'\n }) : h(\n 'span',\n { 'class': prefixCls + '-picker-icon' },\n [suffixIcon]\n )) || h(Icon, {\n attrs: { type: 'calendar' },\n 'class': prefixCls + '-picker-icon' });\n }\n};","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport _slicedToArray from 'babel-runtime/helpers/slicedToArray';\nimport * as moment from 'moment';\nimport RangeCalendar from '../vc-calendar/src/RangeCalendar';\nimport VcDatePicker from '../vc-calendar/src/Picker';\nimport classNames from 'classnames';\nimport shallowequal from 'shallowequal';\nimport Icon from '../icon';\nimport Tag from '../tag';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport interopDefault from '../_util/interopDefault';\nimport { RangePickerProps } from './interface';\nimport { hasProp, getOptionProps, initDefaultProps, mergeProps, getComponentFromProp, getListeners } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { formatDate } from './utils';\nimport InputIcon from './InputIcon';\n\nfunction noop() {}\nfunction getShowDateFromValue(value, mode) {\n var _value = _slicedToArray(value, 2),\n start = _value[0],\n end = _value[1];\n // value could be an empty array, then we should not reset showDate\n\n\n if (!start && !end) {\n return;\n }\n if (mode && mode[0] === 'month') {\n return [start, end];\n }\n var newEnd = end && end.isSame(start, 'month') ? end.clone().add(1, 'month') : end;\n return [start, newEnd];\n}\n\nfunction pickerValueAdapter(value) {\n if (!value) {\n return;\n }\n if (Array.isArray(value)) {\n return value;\n }\n return [value, value.clone().add(1, 'month')];\n}\n\nfunction isEmptyArray(arr) {\n if (Array.isArray(arr)) {\n return arr.length === 0 || arr.every(function (i) {\n return !i;\n });\n }\n return false;\n}\n\nfunction fixLocale(value, localeCode) {\n if (!localeCode) {\n return;\n }\n if (!value || value.length === 0) {\n return;\n }\n\n var _value2 = _slicedToArray(value, 2),\n start = _value2[0],\n end = _value2[1];\n\n if (start) {\n start.locale(localeCode);\n }\n if (end) {\n end.locale(localeCode);\n }\n}\n\nexport default {\n name: 'ARangePicker',\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change'\n },\n props: initDefaultProps(RangePickerProps(), {\n allowClear: true,\n showToday: false,\n separator: '~'\n }),\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n data: function data() {\n var value = this.value || this.defaultValue || [];\n\n var _value3 = _slicedToArray(value, 2),\n start = _value3[0],\n end = _value3[1];\n\n if (start && !interopDefault(moment).isMoment(start) || end && !interopDefault(moment).isMoment(end)) {\n throw new Error('The value/defaultValue of RangePicker must be a moment object array after `antd@2.0`, ' + 'see: https://u.ant.design/date-picker-value');\n }\n var pickerValue = !value || isEmptyArray(value) ? this.defaultPickerValue : value;\n return {\n sValue: value,\n sShowDate: pickerValueAdapter(pickerValue || interopDefault(moment)()),\n sOpen: this.open,\n sHoverValue: []\n };\n },\n\n watch: {\n value: function value(val) {\n var value = val || [];\n var state = { sValue: value };\n if (!shallowequal(val, this.sValue)) {\n state = _extends({}, state, {\n sShowDate: getShowDateFromValue(value, this.mode) || this.sShowDate\n });\n }\n this.setState(state);\n },\n open: function open(val) {\n var state = { sOpen: val };\n this.setState(state);\n },\n sOpen: function sOpen(val, oldVal) {\n var _this = this;\n\n this.$nextTick(function () {\n if (!hasProp(_this, 'open') && oldVal && !val) {\n _this.focus();\n }\n });\n }\n },\n methods: {\n setValue: function setValue(value, hidePanel) {\n this.handleChange(value);\n if ((hidePanel || !this.showTime) && !hasProp(this, 'open')) {\n this.setState({ sOpen: false });\n }\n },\n clearSelection: function clearSelection(e) {\n e.preventDefault();\n e.stopPropagation();\n this.setState({ sValue: [] });\n this.handleChange([]);\n },\n clearHoverValue: function clearHoverValue() {\n this.setState({ sHoverValue: [] });\n },\n handleChange: function handleChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState(function (_ref) {\n var sShowDate = _ref.sShowDate;\n return {\n sValue: value,\n sShowDate: getShowDateFromValue(value) || sShowDate\n };\n });\n }\n if (value[0] && value[1] && value[0].diff(value[1]) > 0) {\n value[1] = undefined;\n }\n\n var _value4 = _slicedToArray(value, 2),\n start = _value4[0],\n end = _value4[1];\n\n this.$emit('change', value, [formatDate(start, this.format), formatDate(end, this.format)]);\n },\n handleOpenChange: function handleOpenChange(open) {\n if (!hasProp(this, 'open')) {\n this.setState({ sOpen: open });\n }\n\n if (open === false) {\n this.clearHoverValue();\n }\n this.$emit('openChange', open);\n },\n handleShowDateChange: function handleShowDateChange(showDate) {\n this.setState({ sShowDate: showDate });\n },\n handleHoverChange: function handleHoverChange(hoverValue) {\n this.setState({ sHoverValue: hoverValue });\n },\n handleRangeMouseLeave: function handleRangeMouseLeave() {\n if (this.sOpen) {\n this.clearHoverValue();\n }\n },\n handleCalendarInputSelect: function handleCalendarInputSelect(value) {\n var _value5 = _slicedToArray(value, 1),\n start = _value5[0];\n\n if (!start) {\n return;\n }\n this.setState(function (_ref2) {\n var sShowDate = _ref2.sShowDate;\n return {\n sValue: value,\n sShowDate: getShowDateFromValue(value) || sShowDate\n };\n });\n },\n handleRangeClick: function handleRangeClick(value) {\n if (typeof value === 'function') {\n value = value();\n }\n\n this.setValue(value, true);\n this.$emit('ok', value);\n this.$emit('openChange', false);\n },\n onMouseEnter: function onMouseEnter(e) {\n this.$emit('mouseenter', e);\n },\n onMouseLeave: function onMouseLeave(e) {\n this.$emit('mouseleave', e);\n },\n focus: function focus() {\n this.$refs.picker.focus();\n },\n blur: function blur() {\n this.$refs.picker.blur();\n },\n renderFooter: function renderFooter() {\n var _this2 = this;\n\n var h = this.$createElement;\n var ranges = this.ranges,\n $scopedSlots = this.$scopedSlots,\n $slots = this.$slots;\n var prefixCls = this._prefixCls,\n tagPrefixCls = this._tagPrefixCls;\n\n var renderExtraFooter = this.renderExtraFooter || $scopedSlots.renderExtraFooter || $slots.renderExtraFooter;\n if (!ranges && !renderExtraFooter) {\n return null;\n }\n var customFooter = renderExtraFooter ? h(\n 'div',\n { 'class': prefixCls + '-footer-extra', key: 'extra' },\n [typeof renderExtraFooter === 'function' ? renderExtraFooter() : renderExtraFooter]\n ) : null;\n var operations = ranges && Object.keys(ranges).map(function (range) {\n var value = ranges[range];\n var hoverValue = typeof value === 'function' ? value.call(_this2) : value;\n return h(\n Tag,\n {\n key: range,\n attrs: { prefixCls: tagPrefixCls,\n color: 'blue'\n },\n on: {\n 'click': function click() {\n return _this2.handleRangeClick(value);\n },\n 'mouseenter': function mouseenter() {\n return _this2.setState({ sHoverValue: hoverValue });\n },\n 'mouseleave': _this2.handleRangeMouseLeave\n }\n },\n [range]\n );\n });\n var rangeNode = operations && operations.length > 0 ? h(\n 'div',\n { 'class': prefixCls + '-footer-extra ' + prefixCls + '-range-quick-selector', key: 'range' },\n [operations]\n ) : null;\n return [rangeNode, customFooter];\n }\n },\n\n render: function render() {\n var _classNames,\n _this3 = this;\n\n var h = arguments[0];\n\n var props = getOptionProps(this);\n var suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n var value = this.sValue,\n showDate = this.sShowDate,\n hoverValue = this.sHoverValue,\n open = this.sOpen,\n $scopedSlots = this.$scopedSlots;\n\n var listeners = getListeners(this);\n var _listeners$calendarCh = listeners.calendarChange,\n calendarChange = _listeners$calendarCh === undefined ? noop : _listeners$calendarCh,\n _listeners$ok = listeners.ok,\n ok = _listeners$ok === undefined ? noop : _listeners$ok,\n _listeners$focus = listeners.focus,\n focus = _listeners$focus === undefined ? noop : _listeners$focus,\n _listeners$blur = listeners.blur,\n blur = _listeners$blur === undefined ? noop : _listeners$blur,\n _listeners$panelChang = listeners.panelChange,\n panelChange = _listeners$panelChang === undefined ? noop : _listeners$panelChang;\n var customizePrefixCls = props.prefixCls,\n customizeTagPrefixCls = props.tagPrefixCls,\n popupStyle = props.popupStyle,\n disabledDate = props.disabledDate,\n disabledTime = props.disabledTime,\n showTime = props.showTime,\n showToday = props.showToday,\n ranges = props.ranges,\n locale = props.locale,\n localeCode = props.localeCode,\n format = props.format,\n separator = props.separator,\n inputReadOnly = props.inputReadOnly;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('calendar', customizePrefixCls);\n var tagPrefixCls = getPrefixCls('tag', customizeTagPrefixCls);\n this._prefixCls = prefixCls;\n this._tagPrefixCls = tagPrefixCls;\n\n var dateRender = props.dateRender || $scopedSlots.dateRender;\n fixLocale(value, localeCode);\n fixLocale(showDate, localeCode);\n\n var calendarClassName = classNames((_classNames = {}, _defineProperty(_classNames, prefixCls + '-time', showTime), _defineProperty(_classNames, prefixCls + '-range-with-ranges', ranges), _classNames));\n\n // 需要选择时间时,点击 ok 时才触发 onChange\n var pickerChangeHandler = {\n on: {\n change: this.handleChange\n }\n };\n var calendarProps = {\n on: {\n ok: this.handleChange\n },\n props: {}\n };\n if (props.timePicker) {\n pickerChangeHandler.on.change = function (changedValue) {\n return _this3.handleChange(changedValue);\n };\n } else {\n calendarProps = { on: {}, props: {} };\n }\n if ('mode' in props) {\n calendarProps.props.mode = props.mode;\n }\n\n var startPlaceholder = Array.isArray(props.placeholder) ? props.placeholder[0] : locale.lang.rangePlaceholder[0];\n var endPlaceholder = Array.isArray(props.placeholder) ? props.placeholder[1] : locale.lang.rangePlaceholder[1];\n\n var rangeCalendarProps = mergeProps(calendarProps, {\n props: {\n separator: separator,\n format: format,\n prefixCls: prefixCls,\n renderFooter: this.renderFooter,\n timePicker: props.timePicker,\n disabledDate: disabledDate,\n disabledTime: disabledTime,\n dateInputPlaceholder: [startPlaceholder, endPlaceholder],\n locale: locale.lang,\n dateRender: dateRender,\n value: showDate,\n hoverValue: hoverValue,\n showToday: showToday,\n inputReadOnly: inputReadOnly\n },\n on: {\n change: calendarChange,\n ok: ok,\n valueChange: this.handleShowDateChange,\n hoverChange: this.handleHoverChange,\n panelChange: panelChange,\n inputSelect: this.handleCalendarInputSelect\n },\n 'class': calendarClassName,\n scopedSlots: $scopedSlots\n });\n var calendar = h(RangeCalendar, rangeCalendarProps);\n\n // default width for showTime\n var pickerStyle = {};\n if (props.showTime) {\n pickerStyle.width = '350px';\n }\n\n var _value6 = _slicedToArray(value, 2),\n startValue = _value6[0],\n endValue = _value6[1];\n\n var clearIcon = !props.disabled && props.allowClear && value && (startValue || endValue) ? h(Icon, {\n attrs: {\n type: 'close-circle',\n\n theme: 'filled'\n },\n 'class': prefixCls + '-picker-clear',\n on: {\n 'click': this.clearSelection\n }\n }) : null;\n\n var inputIcon = h(InputIcon, {\n attrs: { suffixIcon: suffixIcon, prefixCls: prefixCls }\n });\n\n var input = function input(_ref3) {\n var inputValue = _ref3.value;\n\n var _inputValue = _slicedToArray(inputValue, 2),\n start = _inputValue[0],\n end = _inputValue[1];\n\n return h(\n 'span',\n { 'class': props.pickerInputClass },\n [h('input', {\n attrs: {\n disabled: props.disabled,\n readOnly: true,\n\n placeholder: startPlaceholder,\n\n tabIndex: -1\n },\n domProps: {\n 'value': formatDate(start, props.format)\n },\n 'class': prefixCls + '-range-picker-input' }), h(\n 'span',\n { 'class': prefixCls + '-range-picker-separator' },\n [' ', separator, ' ']\n ), h('input', {\n attrs: {\n disabled: props.disabled,\n readOnly: true,\n\n placeholder: endPlaceholder,\n\n tabIndex: -1\n },\n domProps: {\n 'value': formatDate(end, props.format)\n },\n 'class': prefixCls + '-range-picker-input' }), clearIcon, inputIcon]\n );\n };\n var vcDatePickerProps = mergeProps({\n props: props,\n on: listeners\n }, pickerChangeHandler, {\n props: {\n calendar: calendar,\n value: value,\n open: open,\n prefixCls: prefixCls + '-picker-container'\n },\n on: {\n openChange: this.handleOpenChange\n },\n style: popupStyle,\n scopedSlots: _extends({ 'default': input }, $scopedSlots)\n });\n return h(\n 'span',\n {\n ref: 'picker',\n 'class': props.pickerClass,\n style: pickerStyle,\n attrs: { tabIndex: props.disabled ? -1 : 0\n },\n on: {\n 'focus': focus,\n 'blur': blur,\n 'mouseenter': this.onMouseEnter,\n 'mouseleave': this.onMouseLeave\n }\n },\n [h(VcDatePicker, vcDatePickerProps)]\n );\n }\n};","import _extends from 'babel-runtime/helpers/extends';\nimport * as moment from 'moment';\nimport Calendar from '../vc-calendar';\nimport VcDatePicker from '../vc-calendar/src/Picker';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport { hasProp, getOptionProps, initDefaultProps, getComponentFromProp, getListeners } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { WeekPickerProps } from './interface';\nimport interopDefault from '../_util/interopDefault';\nimport InputIcon from './InputIcon';\n\nfunction formatValue(value, format) {\n return value && value.format(format) || '';\n}\nfunction noop() {}\n\nexport default {\n // static defaultProps = {\n // format: 'YYYY-wo',\n // allowClear: true,\n // };\n\n // private input: any;\n name: 'AWeekPicker',\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change'\n },\n props: initDefaultProps(WeekPickerProps(), {\n format: 'gggg-wo',\n allowClear: true\n }),\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n data: function data() {\n var value = this.value || this.defaultValue;\n if (value && !interopDefault(moment).isMoment(value)) {\n throw new Error('The value/defaultValue of WeekPicker or MonthPicker must be ' + 'a moment object');\n }\n return {\n _value: value,\n _open: this.open\n };\n },\n\n watch: {\n value: function value(val) {\n var state = { _value: val };\n this.setState(state);\n this.prevState = _extends({}, this.$data, state);\n },\n open: function open(val) {\n var state = { _open: val };\n this.setState(state);\n this.prevState = _extends({}, this.$data, state);\n },\n _open: function _open(val, oldVal) {\n var _this = this;\n\n this.$nextTick(function () {\n if (!hasProp(_this, 'open') && oldVal && !val) {\n _this.focus();\n }\n });\n }\n },\n mounted: function mounted() {\n this.prevState = _extends({}, this.$data);\n },\n updated: function updated() {\n var _this2 = this;\n\n this.$nextTick(function () {\n if (!hasProp(_this2, 'open') && _this2.prevState._open && !_this2._open) {\n _this2.focus();\n }\n });\n },\n\n methods: {\n weekDateRender: function weekDateRender(current) {\n var h = this.$createElement;\n\n var selectedValue = this.$data._value;\n var prefixCls = this._prefixCls,\n $scopedSlots = this.$scopedSlots;\n\n var dateRender = this.dateRender || $scopedSlots.dateRender;\n var dateNode = dateRender ? dateRender(current) : current.date();\n if (selectedValue && current.year() === selectedValue.year() && current.week() === selectedValue.week()) {\n return h(\n 'div',\n { 'class': prefixCls + '-selected-day' },\n [h(\n 'div',\n { 'class': prefixCls + '-date' },\n [dateNode]\n )]\n );\n }\n return h(\n 'div',\n { 'class': prefixCls + '-date' },\n [dateNode]\n );\n },\n handleChange: function handleChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState({ _value: value });\n }\n this.$emit('change', value, formatValue(value, this.format));\n },\n handleOpenChange: function handleOpenChange(open) {\n if (!hasProp(this, 'open')) {\n this.setState({ _open: open });\n }\n this.$emit('openChange', open);\n },\n clearSelection: function clearSelection(e) {\n e.preventDefault();\n e.stopPropagation();\n this.handleChange(null);\n },\n focus: function focus() {\n this.$refs.input.focus();\n },\n blur: function blur() {\n this.$refs.input.blur();\n },\n renderFooter: function renderFooter() {\n var h = this.$createElement;\n var prefixCls = this._prefixCls,\n $scopedSlots = this.$scopedSlots;\n\n var renderExtraFooter = this.renderExtraFooter || $scopedSlots.renderExtraFooter;\n return renderExtraFooter ? h(\n 'div',\n { 'class': prefixCls + '-footer-extra' },\n [renderExtraFooter.apply(undefined, arguments)]\n ) : null;\n }\n },\n\n render: function render() {\n var h = arguments[0];\n\n var props = getOptionProps(this);\n var suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n var customizePrefixCls = this.prefixCls,\n disabled = this.disabled,\n pickerClass = this.pickerClass,\n popupStyle = this.popupStyle,\n pickerInputClass = this.pickerInputClass,\n format = this.format,\n allowClear = this.allowClear,\n locale = this.locale,\n localeCode = this.localeCode,\n disabledDate = this.disabledDate,\n defaultPickerValue = this.defaultPickerValue,\n $data = this.$data,\n $scopedSlots = this.$scopedSlots;\n\n var listeners = getListeners(this);\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('calendar', customizePrefixCls);\n this._prefixCls = prefixCls;\n\n var pickerValue = $data._value,\n open = $data._open;\n var _listeners$focus = listeners.focus,\n focus = _listeners$focus === undefined ? noop : _listeners$focus,\n _listeners$blur = listeners.blur,\n blur = _listeners$blur === undefined ? noop : _listeners$blur;\n\n\n if (pickerValue && localeCode) {\n pickerValue.locale(localeCode);\n }\n\n var placeholder = hasProp(this, 'placeholder') ? this.placeholder : locale.lang.placeholder;\n var weekDateRender = this.dateRender || $scopedSlots.dateRender || this.weekDateRender;\n var calendar = h(Calendar, {\n attrs: {\n showWeekNumber: true,\n dateRender: weekDateRender,\n prefixCls: prefixCls,\n format: format,\n locale: locale.lang,\n showDateInput: false,\n showToday: false,\n disabledDate: disabledDate,\n renderFooter: this.renderFooter,\n defaultValue: defaultPickerValue\n }\n });\n var clearIcon = !disabled && allowClear && $data._value ? h(Icon, {\n attrs: {\n type: 'close-circle',\n\n theme: 'filled'\n },\n 'class': prefixCls + '-picker-clear',\n on: {\n 'click': this.clearSelection\n }\n }) : null;\n\n var inputIcon = h(InputIcon, {\n attrs: { suffixIcon: suffixIcon, prefixCls: prefixCls }\n });\n\n var input = function input(_ref) {\n var value = _ref.value;\n\n return h(\n 'span',\n { style: { display: 'inline-block', width: '100%' } },\n [h('input', {\n ref: 'input',\n attrs: { disabled: disabled,\n readOnly: true,\n\n placeholder: placeholder\n },\n domProps: {\n 'value': value && value.format(format) || ''\n },\n 'class': pickerInputClass,\n on: {\n 'focus': focus,\n 'blur': blur\n }\n }), clearIcon, inputIcon]\n );\n };\n var vcDatePickerProps = {\n props: _extends({}, props, {\n calendar: calendar,\n prefixCls: prefixCls + '-picker-container',\n value: pickerValue,\n open: open\n }),\n on: _extends({}, listeners, {\n change: this.handleChange,\n openChange: this.handleOpenChange\n }),\n style: popupStyle,\n scopedSlots: _extends({ 'default': input }, $scopedSlots)\n };\n return h(\n 'span',\n { 'class': pickerClass },\n [h(VcDatePicker, vcDatePickerProps)]\n );\n }\n};","import _extends from 'babel-runtime/helpers/extends';\nimport VcCalendar from '../vc-calendar';\nimport MonthCalendar from '../vc-calendar/src/MonthCalendar';\nimport createPicker from './createPicker';\nimport wrapPicker from './wrapPicker';\nimport RangePicker from './RangePicker';\nimport WeekPicker from './WeekPicker';\nimport { DatePickerProps, MonthPickerProps, WeekPickerProps, RangePickerProps } from './interface';\nimport Base from '../base';\n\nvar DatePicker = wrapPicker(_extends({}, createPicker(VcCalendar, DatePickerProps()), { name: 'ADatePicker' }), DatePickerProps(), 'date');\n\nvar MonthPicker = wrapPicker(_extends({}, createPicker(MonthCalendar, MonthPickerProps()), { name: 'AMonthPicker' }), MonthPickerProps(), 'month');\n\n_extends(DatePicker, {\n RangePicker: wrapPicker(RangePicker, RangePickerProps(), 'date'),\n MonthPicker: MonthPicker,\n WeekPicker: wrapPicker(WeekPicker, WeekPickerProps(), 'week')\n});\n\n/* istanbul ignore next */\nDatePicker.install = function (Vue) {\n Vue.use(Base);\n Vue.component(DatePicker.name, DatePicker);\n Vue.component(DatePicker.RangePicker.name, DatePicker.RangePicker);\n Vue.component(DatePicker.MonthPicker.name, DatePicker.MonthPicker);\n Vue.component(DatePicker.WeekPicker.name, DatePicker.WeekPicker);\n};\n\nexport default DatePicker;","import _extends from 'babel-runtime/helpers/extends';\nimport CalendarLocale from '../../vc-calendar/src/locale/en_US';\nimport TimePickerLocale from '../../time-picker/locale/en_US';\n\n// Merge into a locale object\nvar locale = {\n lang: _extends({\n placeholder: 'Select date',\n rangePlaceholder: ['Start date', 'End date']\n }, CalendarLocale),\n timePickerLocale: _extends({}, TimePickerLocale)\n};\n\n// All settings at:\n// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json\n\nexport default locale;","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport PropTypes from '../_util/vue-types';\nimport { getOptionProps, getSlots, getComponentFromProp } from '../_util/props-util';\n\nvar ColProps = {\n child: PropTypes.any,\n bordered: PropTypes.bool,\n colon: PropTypes.bool,\n type: PropTypes.oneOf(['label', 'content']),\n layout: PropTypes.oneOf(['horizontal', 'vertical'])\n};\n\nvar Col = {\n functional: true,\n props: ColProps,\n render: function render(h, ctx) {\n var _ref;\n\n var _ctx$props = ctx.props,\n child = _ctx$props.child,\n bordered = _ctx$props.bordered,\n colon = _ctx$props.colon,\n type = _ctx$props.type,\n layout = _ctx$props.layout;\n\n var _getOptionProps = getOptionProps(child),\n prefixCls = _getOptionProps.prefixCls,\n _getOptionProps$span = _getOptionProps.span,\n span = _getOptionProps$span === undefined ? 1 : _getOptionProps$span;\n\n var key = ctx.data.key;\n\n var label = getComponentFromProp(child, 'label');\n var slots = getSlots(child);\n var labelProps = {\n attrs: {},\n 'class': [prefixCls + '-item-label', (_ref = {}, _defineProperty(_ref, prefixCls + '-item-colon', colon), _defineProperty(_ref, prefixCls + '-item-no-label', !label), _ref)],\n key: key + '-label'\n };\n if (layout === 'vertical') {\n labelProps.attrs.colSpan = span * 2 - 1;\n }\n\n if (bordered) {\n if (type === 'label') {\n return h(\n 'th',\n labelProps,\n [label]\n );\n }\n return h(\n 'td',\n { 'class': prefixCls + '-item-content', key: key + '-content', attrs: { colSpan: span * 2 - 1 }\n },\n [slots['default']]\n );\n }\n if (layout === 'vertical') {\n if (type === 'content') {\n return h(\n 'td',\n {\n attrs: { colSpan: span },\n 'class': prefixCls + '-item' },\n [h(\n 'span',\n { 'class': prefixCls + '-item-content', key: key + '-content' },\n [slots['default']]\n )]\n );\n }\n return h(\n 'td',\n {\n attrs: { colSpan: span },\n 'class': prefixCls + '-item' },\n [h(\n 'span',\n {\n 'class': [prefixCls + '-item-label', _defineProperty({}, prefixCls + '-item-colon', colon)],\n key: key + '-label'\n },\n [label]\n )]\n );\n }\n return h(\n 'td',\n {\n attrs: { colSpan: span },\n 'class': prefixCls + '-item' },\n [h(\n 'span',\n labelProps,\n [label]\n ), h(\n 'span',\n { 'class': prefixCls + '-item-content', key: key + '-content' },\n [slots['default']]\n )]\n );\n }\n};\n\nexport default Col;","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _typeof from 'babel-runtime/helpers/typeof';\nimport warning from '../_util/warning';\nimport ResponsiveObserve, { responsiveArray } from '../_util/responsiveObserve';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Col from './Col';\nimport PropTypes from '../_util/vue-types';\nimport { initDefaultProps, isValidElement, getOptionProps, getComponentFromProp } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport Base from '../base';\nimport { cloneElement } from '../_util/vnode';\n\nexport var DescriptionsItemProps = {\n prefixCls: PropTypes.string,\n label: PropTypes.any,\n span: PropTypes.number\n};\n\nfunction toArray(value) {\n var ret = value;\n if (value === undefined) {\n ret = [];\n } else if (!Array.isArray(value)) {\n ret = [value];\n }\n return ret;\n}\n\nexport var DescriptionsItem = {\n name: 'ADescriptionsItem',\n props: initDefaultProps(DescriptionsItemProps, { span: 1 })\n};\n\nexport var DescriptionsProps = {\n prefixCls: PropTypes.string,\n bordered: PropTypes.bool,\n size: PropTypes.oneOf(['default', 'middle', 'small']).def('default'),\n title: PropTypes.any,\n column: PropTypes.oneOfType([PropTypes.number, PropTypes.object]),\n layout: PropTypes.oneOf(['horizontal', 'vertical']),\n colon: PropTypes.bool\n};\n\n/**\n * Convert children into `column` groups.\n * @param children: DescriptionsItem\n * @param column: number\n */\nvar generateChildrenRows = function generateChildrenRows(children, column) {\n var rows = [];\n var columns = null;\n var leftSpans = void 0;\n\n var itemNodes = toArray(children);\n itemNodes.forEach(function (node, index) {\n var itemProps = getOptionProps(node);\n var itemNode = node;\n\n if (!columns) {\n leftSpans = column;\n columns = [];\n rows.push(columns);\n }\n\n // Always set last span to align the end of Descriptions\n var lastItem = index === itemNodes.length - 1;\n var lastSpanSame = true;\n if (lastItem) {\n lastSpanSame = !itemProps.span || itemProps.span === leftSpans;\n itemNode = cloneElement(itemNode, {\n props: {\n span: leftSpans\n }\n });\n }\n\n // Calculate left fill span\n var _itemProps$span = itemProps.span,\n span = _itemProps$span === undefined ? 1 : _itemProps$span;\n\n columns.push(itemNode);\n leftSpans -= span;\n\n if (leftSpans <= 0) {\n columns = null;\n\n warning(leftSpans === 0 && lastSpanSame, 'Descriptions', 'Sum of column `span` in a line exceeds `column` of Descriptions.');\n }\n });\n\n return rows;\n};\n\nvar defaultColumnMap = {\n xxl: 3,\n xl: 3,\n lg: 3,\n md: 3,\n sm: 2,\n xs: 1\n};\n\nvar Descriptions = {\n name: 'ADescriptions',\n Item: DescriptionsItem,\n mixins: [BaseMixin],\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n props: initDefaultProps(DescriptionsProps, {\n column: defaultColumnMap\n }),\n data: function data() {\n return {\n screens: {},\n token: undefined\n };\n },\n\n methods: {\n getColumn: function getColumn() {\n var column = this.$props.column;\n\n if ((typeof column === 'undefined' ? 'undefined' : _typeof(column)) === 'object') {\n for (var i = 0; i < responsiveArray.length; i++) {\n var breakpoint = responsiveArray[i];\n if (this.screens[breakpoint] && column[breakpoint] !== undefined) {\n return column[breakpoint] || defaultColumnMap[breakpoint];\n }\n }\n }\n // If the configuration is not an object, it is a number, return number\n if (typeof column === 'number') {\n return column;\n }\n // If it is an object, but no response is found, this happens only in the test.\n // Maybe there are some strange environments\n return 3;\n },\n renderRow: function renderRow(children, index, _ref, bordered, layout, colon) {\n var prefixCls = _ref.prefixCls;\n var h = this.$createElement;\n\n var renderCol = function renderCol(colItem, type, idx) {\n return h(Col, {\n attrs: {\n child: colItem,\n bordered: bordered,\n colon: colon,\n type: type,\n\n layout: layout\n },\n key: type + '-' + (colItem.key || idx) });\n };\n\n var cloneChildren = [];\n var cloneContentChildren = [];\n toArray(children).forEach(function (childrenItem, idx) {\n cloneChildren.push(renderCol(childrenItem, 'label', idx));\n if (layout === 'vertical') {\n cloneContentChildren.push(renderCol(childrenItem, 'content', idx));\n } else if (bordered) {\n cloneChildren.push(renderCol(childrenItem, 'content', idx));\n }\n });\n\n if (layout === 'vertical') {\n return [h(\n 'tr',\n { 'class': prefixCls + '-row', key: 'label-' + index },\n [cloneChildren]\n ), h(\n 'tr',\n { 'class': prefixCls + '-row', key: 'content-' + index },\n [cloneContentChildren]\n )];\n }\n\n return h(\n 'tr',\n { 'class': prefixCls + '-row', key: index },\n [cloneChildren]\n );\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n var column = this.$props.column;\n\n this.token = ResponsiveObserve.subscribe(function (screens) {\n if ((typeof column === 'undefined' ? 'undefined' : _typeof(column)) !== 'object') {\n return;\n }\n _this.setState({\n screens: screens\n });\n });\n },\n beforeDestroy: function beforeDestroy() {\n ResponsiveObserve.unsubscribe(this.token);\n },\n render: function render() {\n var _ref2,\n _this2 = this;\n\n var h = arguments[0];\n var _$props = this.$props,\n customizePrefixCls = _$props.prefixCls,\n size = _$props.size,\n _$props$bordered = _$props.bordered,\n bordered = _$props$bordered === undefined ? false : _$props$bordered,\n _$props$layout = _$props.layout,\n layout = _$props$layout === undefined ? 'horizontal' : _$props$layout,\n _$props$colon = _$props.colon,\n colon = _$props$colon === undefined ? true : _$props$colon;\n\n var title = getComponentFromProp(this, 'title') || null;\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('descriptions', customizePrefixCls);\n\n var column = this.getColumn();\n var children = this.$slots['default'];\n var cloneChildren = toArray(children).map(function (child) {\n if (isValidElement(child)) {\n return cloneElement(child, {\n props: {\n prefixCls: prefixCls\n }\n });\n }\n return null;\n }).filter(function (node) {\n return node;\n });\n\n var childrenArray = generateChildrenRows(cloneChildren, column);\n return h(\n 'div',\n {\n 'class': [prefixCls, (_ref2 = {}, _defineProperty(_ref2, prefixCls + '-' + size, size !== 'default'), _defineProperty(_ref2, prefixCls + '-bordered', !!bordered), _ref2)]\n },\n [title && h(\n 'div',\n { 'class': prefixCls + '-title' },\n [title]\n ), h(\n 'div',\n { 'class': prefixCls + '-view' },\n [h('table', [h('tbody', [childrenArray.map(function (child, index) {\n return _this2.renderRow(child, index, {\n prefixCls: prefixCls\n }, bordered, layout, colon);\n })])])]\n )]\n );\n }\n};\n\nDescriptions.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Descriptions.name, Descriptions);\n Vue.component(Descriptions.Item.name, Descriptions.Item);\n};\n\nexport default Descriptions;","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport PropTypes from '../_util/vue-types';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\n\nvar Divider = {\n name: 'ADivider',\n props: {\n prefixCls: PropTypes.string,\n type: PropTypes.oneOf(['horizontal', 'vertical', '']).def('horizontal'),\n dashed: PropTypes.bool,\n orientation: PropTypes.oneOf(['left', 'right', 'center'])\n },\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n render: function render() {\n var _classString;\n\n var h = arguments[0];\n var customizePrefixCls = this.prefixCls,\n type = this.type,\n $slots = this.$slots,\n dashed = this.dashed,\n _orientation = this.orientation,\n orientation = _orientation === undefined ? 'center' : _orientation;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('divider', customizePrefixCls);\n var orientationPrefix = orientation.length > 0 ? '-' + orientation : orientation;\n\n var classString = (_classString = {}, _defineProperty(_classString, prefixCls, true), _defineProperty(_classString, prefixCls + '-' + type, true), _defineProperty(_classString, prefixCls + '-with-text' + orientationPrefix, $slots['default']), _defineProperty(_classString, prefixCls + '-dashed', !!dashed), _classString);\n\n return h(\n 'div',\n { 'class': classString, attrs: { role: 'separator' }\n },\n [$slots['default'] && h(\n 'span',\n { 'class': prefixCls + '-inner-text' },\n [$slots['default']]\n )]\n );\n }\n};\n\n/* istanbul ignore next */\nDivider.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Divider.name, Divider);\n};\n\nexport default Divider;","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _extends from 'babel-runtime/helpers/extends';\nimport classnames from 'classnames';\nimport omit from 'omit.js';\nimport VcDrawer from '../vc-drawer/src';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport Icon from '../icon';\nimport { getComponentFromProp, getOptionProps, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\n\nvar Drawer = {\n name: 'ADrawer',\n props: {\n closable: PropTypes.bool.def(true),\n destroyOnClose: PropTypes.bool,\n getContainer: PropTypes.any,\n maskClosable: PropTypes.bool.def(true),\n mask: PropTypes.bool.def(true),\n maskStyle: PropTypes.object,\n wrapStyle: PropTypes.object,\n bodyStyle: PropTypes.object,\n headerStyle: PropTypes.object,\n drawerStyle: PropTypes.object,\n title: PropTypes.any,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).def(256),\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).def(256),\n zIndex: PropTypes.number,\n prefixCls: PropTypes.string,\n placement: PropTypes.oneOf(['top', 'right', 'bottom', 'left']).def('right'),\n level: PropTypes.any.def(null),\n wrapClassName: PropTypes.string, // not use class like react, vue will add class to root dom\n handle: PropTypes.any,\n afterVisibleChange: PropTypes.func,\n keyboard: PropTypes.bool.def(true)\n },\n mixins: [BaseMixin],\n data: function data() {\n this.destroyClose = false;\n this.preVisible = this.$props.visible;\n return {\n _push: false\n };\n },\n\n inject: {\n parentDrawer: {\n 'default': function _default() {\n return null;\n }\n },\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n provide: function provide() {\n return {\n parentDrawer: this\n };\n },\n mounted: function mounted() {\n // fix: delete drawer in child and re-render, no push started.\n // {show && }\n var visible = this.visible;\n\n if (visible && this.parentDrawer) {\n this.parentDrawer.push();\n }\n },\n updated: function updated() {\n var _this = this;\n\n this.$nextTick(function () {\n if (_this.preVisible !== _this.visible && _this.parentDrawer) {\n if (_this.visible) {\n _this.parentDrawer.push();\n } else {\n _this.parentDrawer.pull();\n }\n }\n _this.preVisible = _this.visible;\n });\n },\n beforeDestroy: function beforeDestroy() {\n // unmount drawer in child, clear push.\n if (this.parentDrawer) {\n this.parentDrawer.pull();\n }\n },\n\n methods: {\n domFocus: function domFocus() {\n if (this.$refs.vcDrawer) {\n this.$refs.vcDrawer.domFocus();\n }\n },\n close: function close(e) {\n this.$emit('close', e);\n },\n\n // onMaskClick(e) {\n // if (!this.maskClosable) {\n // return;\n // }\n // this.close(e);\n // },\n push: function push() {\n this.setState({\n _push: true\n });\n },\n pull: function pull() {\n var _this2 = this;\n\n this.setState({\n _push: false\n }, function () {\n _this2.domFocus();\n });\n },\n onDestroyTransitionEnd: function onDestroyTransitionEnd() {\n var isDestroyOnClose = this.getDestroyOnClose();\n if (!isDestroyOnClose) {\n return;\n }\n if (!this.visible) {\n this.destroyClose = true;\n this.$forceUpdate();\n }\n },\n getDestroyOnClose: function getDestroyOnClose() {\n return this.destroyOnClose && !this.visible;\n },\n\n // get drawar push width or height\n getPushTransform: function getPushTransform(placement) {\n if (placement === 'left' || placement === 'right') {\n return 'translateX(' + (placement === 'left' ? 180 : -180) + 'px)';\n }\n if (placement === 'top' || placement === 'bottom') {\n return 'translateY(' + (placement === 'top' ? 180 : -180) + 'px)';\n }\n },\n getRcDrawerStyle: function getRcDrawerStyle() {\n var _$props = this.$props,\n zIndex = _$props.zIndex,\n placement = _$props.placement,\n wrapStyle = _$props.wrapStyle;\n var push = this.$data._push;\n\n return _extends({\n zIndex: zIndex,\n transform: push ? this.getPushTransform(placement) : undefined\n }, wrapStyle);\n },\n renderHeader: function renderHeader(prefixCls) {\n var h = this.$createElement;\n var _$props2 = this.$props,\n closable = _$props2.closable,\n headerStyle = _$props2.headerStyle;\n\n var title = getComponentFromProp(this, 'title');\n if (!title && !closable) {\n return null;\n }\n\n var headerClassName = title ? prefixCls + '-header' : prefixCls + '-header-no-title';\n return h(\n 'div',\n { 'class': headerClassName, style: headerStyle },\n [title && h(\n 'div',\n { 'class': prefixCls + '-title' },\n [title]\n ), closable ? this.renderCloseIcon(prefixCls) : null]\n );\n },\n renderCloseIcon: function renderCloseIcon(prefixCls) {\n var h = this.$createElement;\n var closable = this.closable;\n\n return closable && h(\n 'button',\n { key: 'closer', on: {\n 'click': this.close\n },\n attrs: { 'aria-label': 'Close' },\n 'class': prefixCls + '-close' },\n [h(Icon, {\n attrs: { type: 'close' }\n })]\n );\n },\n\n // render drawer body dom\n renderBody: function renderBody(prefixCls) {\n var h = this.$createElement;\n\n if (this.destroyClose && !this.visible) {\n return null;\n }\n this.destroyClose = false;\n var _$props3 = this.$props,\n bodyStyle = _$props3.bodyStyle,\n drawerStyle = _$props3.drawerStyle;\n\n\n var containerStyle = {};\n\n var isDestroyOnClose = this.getDestroyOnClose();\n if (isDestroyOnClose) {\n // Increase the opacity transition, delete children after closing.\n containerStyle.opacity = 0;\n containerStyle.transition = 'opacity .3s';\n }\n\n return h(\n 'div',\n {\n 'class': prefixCls + '-wrapper-body',\n style: _extends({}, containerStyle, drawerStyle),\n on: {\n 'transitionend': this.onDestroyTransitionEnd\n }\n },\n [this.renderHeader(prefixCls), h(\n 'div',\n { key: 'body', 'class': prefixCls + '-body', style: bodyStyle },\n [this.$slots['default']]\n )]\n );\n }\n },\n render: function render() {\n var _classnames;\n\n var h = arguments[0];\n\n var props = getOptionProps(this);\n\n var customizePrefixCls = props.prefixCls,\n width = props.width,\n height = props.height,\n visible = props.visible,\n placement = props.placement,\n wrapClassName = props.wrapClassName,\n mask = props.mask,\n rest = _objectWithoutProperties(props, ['prefixCls', 'width', 'height', 'visible', 'placement', 'wrapClassName', 'mask']);\n\n var haveMask = mask ? '' : 'no-mask';\n var offsetStyle = {};\n if (placement === 'left' || placement === 'right') {\n offsetStyle.width = typeof width === 'number' ? width + 'px' : width;\n } else {\n offsetStyle.height = typeof height === 'number' ? height + 'px' : height;\n }\n var handler = getComponentFromProp(this, 'handle') || false;\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('drawer', customizePrefixCls);\n\n var vcDrawerProps = {\n ref: 'vcDrawer',\n props: _extends({}, omit(rest, ['closable', 'destroyOnClose', 'drawerStyle', 'headerStyle', 'bodyStyle', 'title', 'push', 'visible', 'getPopupContainer', 'rootPrefixCls', 'getPrefixCls', 'renderEmpty', 'csp', 'pageHeader', 'autoInsertSpaceInButton']), {\n handler: handler\n }, offsetStyle, {\n prefixCls: prefixCls,\n open: visible,\n showMask: mask,\n placement: placement,\n className: classnames((_classnames = {}, _defineProperty(_classnames, wrapClassName, !!wrapClassName), _defineProperty(_classnames, haveMask, !!haveMask), _classnames)),\n wrapStyle: this.getRcDrawerStyle()\n }),\n on: _extends({}, getListeners(this))\n };\n return h(\n VcDrawer,\n vcDrawerProps,\n [this.renderBody(prefixCls)]\n );\n }\n};\n\n/* istanbul ignore next */\nDrawer.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Drawer.name, Drawer);\n};\n\nexport default Drawer;","import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _extends from 'babel-runtime/helpers/extends';\nimport Button from '../button';\nimport buttonTypes from '../button/buttonTypes';\nimport { ButtonGroupProps } from '../button/button-group';\nimport Dropdown from './dropdown';\nimport PropTypes from '../_util/vue-types';\nimport { hasProp, getComponentFromProp } from '../_util/props-util';\nimport getDropdownProps from './getDropdownProps';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Icon from '../icon';\n\nvar ButtonTypesProps = buttonTypes();\nvar DropdownProps = getDropdownProps();\nvar ButtonGroup = Button.Group;\nvar DropdownButtonProps = _extends({}, ButtonGroupProps, DropdownProps, {\n type: PropTypes.oneOf(['primary', 'ghost', 'dashed', 'danger', 'default']).def('default'),\n size: PropTypes.oneOf(['small', 'large', 'default']).def('default'),\n htmlType: ButtonTypesProps.htmlType,\n href: PropTypes.string,\n disabled: PropTypes.bool,\n prefixCls: PropTypes.string,\n placement: DropdownProps.placement.def('bottomRight'),\n icon: PropTypes.any,\n title: PropTypes.string\n});\nexport { DropdownButtonProps };\nexport default {\n name: 'ADropdownButton',\n model: {\n prop: 'visible',\n event: 'visibleChange'\n },\n props: DropdownButtonProps,\n provide: function provide() {\n return {\n savePopupRef: this.savePopupRef\n };\n },\n\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n methods: {\n savePopupRef: function savePopupRef(ref) {\n this.popupRef = ref;\n },\n onClick: function onClick(e) {\n this.$emit('click', e);\n },\n onVisibleChange: function onVisibleChange(val) {\n this.$emit('visibleChange', val);\n }\n },\n render: function render() {\n var h = arguments[0];\n\n var _$props = this.$props,\n type = _$props.type,\n disabled = _$props.disabled,\n htmlType = _$props.htmlType,\n customizePrefixCls = _$props.prefixCls,\n trigger = _$props.trigger,\n align = _$props.align,\n visible = _$props.visible,\n placement = _$props.placement,\n getPopupContainer = _$props.getPopupContainer,\n href = _$props.href,\n title = _$props.title,\n restProps = _objectWithoutProperties(_$props, ['type', 'disabled', 'htmlType', 'prefixCls', 'trigger', 'align', 'visible', 'placement', 'getPopupContainer', 'href', 'title']);\n\n var icon = getComponentFromProp(this, 'icon') || h(Icon, {\n attrs: { type: 'ellipsis' }\n });\n var getContextPopupContainer = this.configProvider.getPopupContainer;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('dropdown-button', customizePrefixCls);\n var dropdownProps = {\n props: {\n align: align,\n disabled: disabled,\n trigger: disabled ? [] : trigger,\n placement: placement,\n getPopupContainer: getPopupContainer || getContextPopupContainer\n },\n on: {\n visibleChange: this.onVisibleChange\n }\n };\n if (hasProp(this, 'visible')) {\n dropdownProps.props.visible = visible;\n }\n\n var buttonGroupProps = {\n props: _extends({}, restProps),\n 'class': prefixCls\n };\n\n return h(\n ButtonGroup,\n buttonGroupProps,\n [h(\n Button,\n {\n attrs: {\n type: type,\n disabled: disabled,\n\n htmlType: htmlType,\n href: href,\n title: title\n },\n on: {\n 'click': this.onClick\n }\n },\n [this.$slots['default']]\n ), h(\n Dropdown,\n dropdownProps,\n [h(\n 'template',\n { slot: 'overlay' },\n [getComponentFromProp(this, 'overlay')]\n ), h(\n Button,\n {\n attrs: { type: type }\n },\n [icon]\n )]\n )]\n );\n }\n};","import _extends from 'babel-runtime/helpers/extends';\nimport RcDropdown from '../vc-dropdown/src/index';\nimport DropdownButton from './dropdown-button';\nimport PropTypes from '../_util/vue-types';\nimport { cloneElement } from '../_util/vnode';\nimport { getOptionProps, getPropsData, getComponentFromProp, getListeners } from '../_util/props-util';\nimport getDropdownProps from './getDropdownProps';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Icon from '../icon';\n\nvar DropdownProps = getDropdownProps();\nvar Dropdown = {\n name: 'ADropdown',\n props: _extends({}, DropdownProps, {\n prefixCls: PropTypes.string,\n mouseEnterDelay: PropTypes.number.def(0.15),\n mouseLeaveDelay: PropTypes.number.def(0.1),\n placement: DropdownProps.placement.def('bottomLeft')\n }),\n model: {\n prop: 'visible',\n event: 'visibleChange'\n },\n provide: function provide() {\n return {\n savePopupRef: this.savePopupRef\n };\n },\n\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n methods: {\n savePopupRef: function savePopupRef(ref) {\n this.popupRef = ref;\n },\n getTransitionName: function getTransitionName() {\n var _$props = this.$props,\n _$props$placement = _$props.placement,\n placement = _$props$placement === undefined ? '' : _$props$placement,\n transitionName = _$props.transitionName;\n\n if (transitionName !== undefined) {\n return transitionName;\n }\n if (placement.indexOf('top') >= 0) {\n return 'slide-down';\n }\n return 'slide-up';\n },\n renderOverlay: function renderOverlay(prefixCls) {\n var h = this.$createElement;\n\n var overlay = getComponentFromProp(this, 'overlay');\n var overlayNode = Array.isArray(overlay) ? overlay[0] : overlay;\n // menu cannot be selectable in dropdown defaultly\n // menu should be focusable in dropdown defaultly\n var overlayProps = overlayNode && getPropsData(overlayNode);\n\n var _ref = overlayProps || {},\n _ref$selectable = _ref.selectable,\n selectable = _ref$selectable === undefined ? false : _ref$selectable,\n _ref$focusable = _ref.focusable,\n focusable = _ref$focusable === undefined ? true : _ref$focusable;\n\n var expandIcon = h(\n 'span',\n { 'class': prefixCls + '-menu-submenu-arrow' },\n [h(Icon, {\n attrs: { type: 'right' },\n 'class': prefixCls + '-menu-submenu-arrow-icon' })]\n );\n\n var fixedModeOverlay = overlayNode && overlayNode.componentOptions ? cloneElement(overlayNode, {\n props: {\n mode: 'vertical',\n selectable: selectable,\n focusable: focusable,\n expandIcon: expandIcon\n }\n }) : overlay;\n return fixedModeOverlay;\n }\n },\n\n render: function render() {\n var h = arguments[0];\n var $slots = this.$slots;\n\n var props = getOptionProps(this);\n var customizePrefixCls = props.prefixCls,\n trigger = props.trigger,\n disabled = props.disabled,\n getPopupContainer = props.getPopupContainer;\n var getContextPopupContainer = this.configProvider.getPopupContainer;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('dropdown', customizePrefixCls);\n\n var dropdownTrigger = cloneElement($slots['default'], {\n 'class': prefixCls + '-trigger',\n props: {\n disabled: disabled\n }\n });\n var triggerActions = disabled ? [] : trigger;\n var alignPoint = void 0;\n if (triggerActions && triggerActions.indexOf('contextmenu') !== -1) {\n alignPoint = true;\n }\n var dropdownProps = {\n props: _extends({\n alignPoint: alignPoint\n }, props, {\n prefixCls: prefixCls,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n transitionName: this.getTransitionName(),\n trigger: triggerActions\n }),\n on: getListeners(this)\n };\n return h(\n RcDropdown,\n dropdownProps,\n [dropdownTrigger, h(\n 'template',\n { slot: 'overlay' },\n [this.renderOverlay(prefixCls)]\n )]\n );\n }\n};\n\nDropdown.Button = DropdownButton;\nexport default Dropdown;\nexport { DropdownProps };","import PropTypes from '../_util/vue-types';\nexport default (function () {\n return {\n trigger: PropTypes.array.def(['hover']),\n overlay: PropTypes.any,\n visible: PropTypes.bool,\n disabled: PropTypes.bool,\n align: PropTypes.object,\n getPopupContainer: PropTypes.func,\n prefixCls: PropTypes.string,\n transitionName: PropTypes.string,\n placement: PropTypes.oneOf(['topLeft', 'topCenter', 'topRight', 'bottomLeft', 'bottomCenter', 'bottomRight']),\n overlayClassName: PropTypes.string,\n overlayStyle: PropTypes.object,\n forceRender: PropTypes.bool,\n mouseEnterDelay: PropTypes.number,\n mouseLeaveDelay: PropTypes.number,\n openClassName: PropTypes.string,\n minOverlayWidthMatchTrigger: PropTypes.bool\n };\n});","import Dropdown from './dropdown';\nimport DropdownButton from './dropdown-button';\n\nexport { DropdownProps } from './dropdown';\nexport { DropdownButtonProps } from './dropdown-button';\nimport Base from '../base';\n\nDropdown.Button = DropdownButton;\n\n/* istanbul ignore next */\nDropdown.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Dropdown.name, Dropdown);\n Vue.component(DropdownButton.name, DropdownButton);\n};\n\nexport default Dropdown;","export default {\n functional: true,\n PRESENTED_IMAGE_DEFAULT: true,\n render: function render() {\n var h = arguments[0];\n\n return h(\n \"svg\",\n {\n attrs: { width: \"184\", height: \"152\", viewBox: \"0 0 184 152\", xmlns: \"http://www.w3.org/2000/svg\" }\n },\n [h(\n \"g\",\n {\n attrs: { fill: \"none\", fillRule: \"evenodd\" }\n },\n [h(\n \"g\",\n {\n attrs: { transform: \"translate(24 31.67)\" }\n },\n [h(\"ellipse\", {\n attrs: {\n fillOpacity: \".8\",\n fill: \"#F5F5F7\",\n cx: \"67.797\",\n cy: \"106.89\",\n rx: \"67.797\",\n ry: \"12.668\"\n }\n }), h(\"path\", {\n attrs: {\n d: \"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z\",\n fill: \"#AEB8C2\"\n }\n }), h(\"path\", {\n attrs: {\n d: \"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z\",\n fill: \"url(#linearGradient-1)\",\n transform: \"translate(13.56)\"\n }\n }), h(\"path\", {\n attrs: {\n d: \"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z\",\n fill: \"#F5F5F7\"\n }\n }), h(\"path\", {\n attrs: {\n d: \"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z\",\n fill: \"#DCE0E6\"\n }\n })]\n ), h(\"path\", {\n attrs: {\n d: \"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z\",\n fill: \"#DCE0E6\"\n }\n }), h(\n \"g\",\n {\n attrs: { transform: \"translate(149.65 15.383)\", fill: \"#FFF\" }\n },\n [h(\"ellipse\", {\n attrs: { cx: \"20.654\", cy: \"3.167\", rx: \"2.849\", ry: \"2.815\" }\n }), h(\"path\", {\n attrs: { d: \"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z\" }\n })]\n )]\n )]\n );\n }\n};","export default {\n functional: true,\n PRESENTED_IMAGE_SIMPLE: true,\n render: function render() {\n var h = arguments[0];\n\n return h(\n \"svg\",\n {\n attrs: { width: \"64\", height: \"41\", viewBox: \"0 0 64 41\", xmlns: \"http://www.w3.org/2000/svg\" }\n },\n [h(\n \"g\",\n {\n attrs: { transform: \"translate(0 1)\", fill: \"none\", fillRule: \"evenodd\" }\n },\n [h(\"ellipse\", {\n attrs: { fill: \"#F5F5F5\", cx: \"32\", cy: \"33\", rx: \"32\", ry: \"7\" }\n }), h(\n \"g\",\n {\n attrs: { fillRule: \"nonzero\", stroke: \"#D9D9D9\" }\n },\n [h(\"path\", {\n attrs: { d: \"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z\" }\n }), h(\"path\", {\n attrs: {\n d: \"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z\",\n fill: \"#FAFAFA\"\n }\n })]\n )]\n )]\n );\n }\n};","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport _typeof from 'babel-runtime/helpers/typeof';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport PropTypes from '../_util/vue-types';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport { getComponentFromProp, getListeners } from '../_util/props-util';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport DefaultEmptyImg from './empty';\nimport SimpleEmptyImg from './simple';\nimport Base from '../base';\n\nexport var TransferLocale = function TransferLocale() {\n return {\n description: PropTypes.string\n };\n};\n\nexport var EmptyProps = function EmptyProps() {\n return {\n prefixCls: PropTypes.string,\n image: PropTypes.any,\n description: PropTypes.any,\n imageStyle: PropTypes.object\n };\n};\n\nvar Empty = {\n name: 'AEmpty',\n props: _extends({}, EmptyProps()),\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n methods: {\n renderEmpty: function renderEmpty(contentLocale) {\n var h = this.$createElement;\n var _$props = this.$props,\n customizePrefixCls = _$props.prefixCls,\n imageStyle = _$props.imageStyle;\n var getPrefixCls = this.configProvider.getPrefixCls;\n\n var prefixCls = getPrefixCls('empty', customizePrefixCls);\n var image = getComponentFromProp(this, 'image') || h(DefaultEmptyImg);\n var description = getComponentFromProp(this, 'description');\n\n var des = typeof description !== 'undefined' ? description : contentLocale.description;\n var alt = typeof des === 'string' ? des : 'empty';\n var cls = _defineProperty({}, prefixCls, true);\n var imageNode = null;\n if (typeof image === 'string') {\n imageNode = h('img', {\n attrs: { alt: alt, src: image }\n });\n } else if ((typeof image === 'undefined' ? 'undefined' : _typeof(image)) === 'object' && image.PRESENTED_IMAGE_SIMPLE) {\n var Image = image;\n imageNode = h(Image);\n cls[prefixCls + '-normal'] = true;\n } else {\n imageNode = image;\n }\n return h(\n 'div',\n _mergeJSXProps([{ 'class': cls }, { on: getListeners(this) }]),\n [h(\n 'div',\n { 'class': prefixCls + '-image', style: imageStyle },\n [imageNode]\n ), des && h(\n 'p',\n { 'class': prefixCls + '-description' },\n [des]\n ), this.$slots['default'] && h(\n 'div',\n { 'class': prefixCls + '-footer' },\n [this.$slots['default']]\n )]\n );\n }\n },\n render: function render() {\n var h = arguments[0];\n\n return h(LocaleReceiver, {\n attrs: { componentName: 'Empty' },\n scopedSlots: { 'default': this.renderEmpty } });\n }\n};\n\nEmpty.PRESENTED_IMAGE_DEFAULT = DefaultEmptyImg;\nEmpty.PRESENTED_IMAGE_SIMPLE = SimpleEmptyImg;\n\n/* istanbul ignore next */\nEmpty.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Empty.name, Empty);\n};\n\nexport default Empty;","import _extends from 'babel-runtime/helpers/extends';\nimport AsyncValidator from 'async-validator';\nimport cloneDeep from 'lodash/cloneDeep';\nimport PropTypes from '../_util/vue-types';\nimport { ColProps } from '../grid/Col';\nimport { initDefaultProps, getComponentFromProp, getOptionProps, getEvents, filterEmpty, isValidElement } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport FormItem from '../form/FormItem';\nimport { cloneElement } from '../_util/vnode';\n\nfunction noop() {}\n\nfunction getPropByPath(obj, path, strict) {\n var tempObj = obj;\n path = path.replace(/\\[(\\w+)\\]/g, '.$1');\n path = path.replace(/^\\./, '');\n\n var keyArr = path.split('.');\n var i = 0;\n for (var len = keyArr.length; i < len - 1; ++i) {\n if (!tempObj && !strict) break;\n var key = keyArr[i];\n if (key in tempObj) {\n tempObj = tempObj[key];\n } else {\n if (strict) {\n throw new Error('please transfer a valid prop path to form item!');\n }\n break;\n }\n }\n return {\n o: tempObj,\n k: keyArr[i],\n v: tempObj ? tempObj[keyArr[i]] : null\n };\n}\nexport var FormItemProps = {\n id: PropTypes.string,\n htmlFor: PropTypes.string,\n prefixCls: PropTypes.string,\n label: PropTypes.any,\n help: PropTypes.any,\n extra: PropTypes.any,\n labelCol: PropTypes.shape(ColProps).loose,\n wrapperCol: PropTypes.shape(ColProps).loose,\n hasFeedback: PropTypes.bool,\n colon: PropTypes.bool,\n labelAlign: PropTypes.oneOf(['left', 'right']),\n prop: PropTypes.string,\n rules: PropTypes.oneOfType([Array, Object]),\n autoLink: PropTypes.bool,\n required: PropTypes.bool,\n validateStatus: PropTypes.oneOf(['', 'success', 'warning', 'error', 'validating'])\n};\n\nexport default {\n name: 'AFormModelItem',\n __ANT_NEW_FORM_ITEM: true,\n mixins: [BaseMixin],\n props: initDefaultProps(FormItemProps, {\n hasFeedback: false,\n autoLink: true\n }),\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } },\n FormContext: { 'default': function _default() {\n return {};\n } }\n },\n data: function data() {\n return {\n validateState: this.validateStatus,\n validateMessage: '',\n validateDisabled: false,\n validator: {}\n };\n },\n\n\n computed: {\n fieldValue: function fieldValue() {\n var model = this.FormContext.model;\n if (!model || !this.prop) {\n return;\n }\n var path = this.prop;\n if (path.indexOf(':') !== -1) {\n path = path.replace(/:/g, '.');\n }\n return getPropByPath(model, path, true).v;\n },\n isRequired: function isRequired() {\n var rules = this.getRules();\n var isRequired = false;\n if (rules && rules.length) {\n rules.every(function (rule) {\n if (rule.required) {\n isRequired = true;\n return false;\n }\n return true;\n });\n }\n return isRequired;\n }\n },\n watch: {\n validateStatus: function validateStatus(val) {\n this.validateState = val;\n }\n },\n mounted: function mounted() {\n if (this.prop) {\n var addField = this.FormContext.addField;\n\n addField && addField(this);\n this.initialValue = cloneDeep(this.fieldValue);\n }\n },\n beforeDestroy: function beforeDestroy() {\n var removeField = this.FormContext.removeField;\n\n removeField && removeField(this);\n },\n\n methods: {\n validate: function validate(trigger) {\n var _this = this;\n\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n this.validateDisabled = false;\n var rules = this.getFilteredRule(trigger);\n if (!rules || rules.length === 0) {\n callback();\n return true;\n }\n this.validateState = 'validating';\n var descriptor = {};\n if (rules && rules.length > 0) {\n rules.forEach(function (rule) {\n delete rule.trigger;\n });\n }\n descriptor[this.prop] = rules;\n var validator = new AsyncValidator(descriptor);\n if (this.FormContext && this.FormContext.validateMessages) {\n validator.messages(this.FormContext.validateMessages);\n }\n var model = {};\n model[this.prop] = this.fieldValue;\n validator.validate(model, { firstFields: true }, function (errors, invalidFields) {\n _this.validateState = errors ? 'error' : 'success';\n _this.validateMessage = errors ? errors[0].message : '';\n callback(_this.validateMessage, invalidFields);\n _this.FormContext && _this.FormContext.$emit && _this.FormContext.$emit('validate', _this.prop, !errors, _this.validateMessage || null);\n });\n },\n getRules: function getRules() {\n var formRules = this.FormContext.rules;\n var selfRules = this.rules;\n var requiredRule = this.required !== undefined ? { required: !!this.required, trigger: 'change' } : [];\n var prop = getPropByPath(formRules, this.prop || '');\n formRules = formRules ? prop.o[this.prop || ''] || prop.v : [];\n return [].concat(selfRules || formRules || []).concat(requiredRule);\n },\n getFilteredRule: function getFilteredRule(trigger) {\n var rules = this.getRules();\n return rules.filter(function (rule) {\n if (!rule.trigger || trigger === '') return true;\n if (Array.isArray(rule.trigger)) {\n return rule.trigger.indexOf(trigger) > -1;\n } else {\n return rule.trigger === trigger;\n }\n }).map(function (rule) {\n return _extends({}, rule);\n });\n },\n onFieldBlur: function onFieldBlur() {\n this.validate('blur');\n },\n onFieldChange: function onFieldChange() {\n if (this.validateDisabled) {\n this.validateDisabled = false;\n return;\n }\n this.validate('change');\n },\n clearValidate: function clearValidate() {\n this.validateState = '';\n this.validateMessage = '';\n this.validateDisabled = false;\n },\n resetField: function resetField() {\n var _this2 = this;\n\n this.validateState = '';\n this.validateMessage = '';\n var model = this.FormContext.model || {};\n var value = this.fieldValue;\n var path = this.prop;\n if (path.indexOf(':') !== -1) {\n path = path.replace(/:/, '.');\n }\n var prop = getPropByPath(model, path, true);\n this.validateDisabled = true;\n if (Array.isArray(value)) {\n prop.o[prop.k] = [].concat(this.initialValue);\n } else {\n prop.o[prop.k] = this.initialValue;\n }\n // reset validateDisabled after onFieldChange triggered\n this.$nextTick(function () {\n _this2.validateDisabled = false;\n });\n }\n },\n render: function render() {\n var _this3 = this;\n\n var h = arguments[0];\n var $slots = this.$slots,\n $scopedSlots = this.$scopedSlots;\n\n var props = getOptionProps(this);\n var label = getComponentFromProp(this, 'label');\n var extra = getComponentFromProp(this, 'extra');\n var help = getComponentFromProp(this, 'help');\n var formProps = {\n props: _extends({}, props, {\n label: label,\n extra: extra,\n validateStatus: this.validateState,\n help: this.validateMessage || help,\n required: this.isRequired || props.required\n })\n };\n var children = filterEmpty($scopedSlots['default'] ? $scopedSlots['default']() : $slots['default']);\n var firstChildren = children[0];\n if (this.prop && this.autoLink && isValidElement(firstChildren)) {\n var originalEvents = getEvents(firstChildren);\n var originalBlur = originalEvents.blur;\n var originalChange = originalEvents.change;\n firstChildren = cloneElement(firstChildren, {\n on: {\n blur: function blur() {\n originalBlur && originalBlur.apply(undefined, arguments);\n _this3.onFieldBlur();\n },\n change: function change() {\n if (Array.isArray(originalChange)) {\n for (var i = 0, l = originalChange.length; i < l; i++) {\n originalChange[i].apply(originalChange, arguments);\n }\n } else if (originalChange) {\n originalChange.apply(undefined, arguments);\n }\n _this3.onFieldChange();\n }\n }\n });\n }\n return h(\n FormItem,\n formProps,\n [firstChildren, children.slice(1)]\n );\n }\n};","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport { ColProps } from '../grid/Col';\nimport isRegExp from 'lodash/isRegExp';\nimport warning from '../_util/warning';\nimport FormItem from './FormItem';\nimport { initDefaultProps, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport var FormProps = {\n layout: PropTypes.oneOf(['horizontal', 'inline', 'vertical']),\n labelCol: PropTypes.shape(ColProps).loose,\n wrapperCol: PropTypes.shape(ColProps).loose,\n colon: PropTypes.bool,\n labelAlign: PropTypes.oneOf(['left', 'right']),\n prefixCls: PropTypes.string,\n hideRequiredMark: PropTypes.bool,\n model: PropTypes.object,\n rules: PropTypes.object,\n validateMessages: PropTypes.any,\n validateOnRuleChange: PropTypes.bool\n};\n\nexport var ValidationRule = {\n /** validation error message */\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n /** built-in validation type, available options: https://github.com/yiminghe/async-validator#type */\n type: PropTypes.string,\n /** indicates whether field is required */\n required: PropTypes.boolean,\n /** treat required fields that only contain whitespace as errors */\n whitespace: PropTypes.boolean,\n /** validate the exact length of a field */\n len: PropTypes.number,\n /** validate the min length of a field */\n min: PropTypes.number,\n /** validate the max length of a field */\n max: PropTypes.number,\n /** validate the value from a list of possible values */\n 'enum': PropTypes.oneOfType([String, PropTypes.arrayOf(String)]),\n /** validate from a regular expression */\n pattern: PropTypes.custom(isRegExp),\n /** transform a value before validation */\n transform: PropTypes.func,\n /** custom validate function (Note: callback must be called) */\n validator: PropTypes.func\n};\n\nvar Form = {\n name: 'AFormModel',\n props: initDefaultProps(FormProps, {\n layout: 'horizontal',\n hideRequiredMark: false,\n colon: true,\n validateOnRuleChange: false\n }),\n Item: FormItem,\n created: function created() {\n this.fields = [];\n },\n provide: function provide() {\n return {\n FormContext: this\n };\n },\n\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n watch: {\n rules: function rules() {\n if (this.validateOnRuleChange) {\n this.validate(function () {});\n }\n }\n },\n computed: {\n vertical: function vertical() {\n return this.layout === 'vertical';\n }\n },\n methods: {\n addField: function addField(field) {\n if (field) {\n this.fields.push(field);\n }\n },\n removeField: function removeField(field) {\n if (field.prop) {\n this.fields.splice(this.fields.indexOf(field), 1);\n }\n },\n onSubmit: function onSubmit(e) {\n if (!getListeners(this).submit) {\n e.preventDefault();\n } else {\n this.$emit('submit', e);\n }\n },\n resetFields: function resetFields() {\n if (!this.model) {\n warning(false, 'FormModel', 'model is required for resetFields to work.');\n return;\n }\n this.fields.forEach(function (field) {\n field.resetField();\n });\n },\n clearValidate: function clearValidate() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var fields = props.length ? typeof props === 'string' ? this.fields.filter(function (field) {\n return props === field.prop;\n }) : this.fields.filter(function (field) {\n return props.indexOf(field.prop) > -1;\n }) : this.fields;\n fields.forEach(function (field) {\n field.clearValidate();\n });\n },\n validate: function validate(callback) {\n var _this = this;\n\n if (!this.model) {\n warning(false, 'FormModel', 'model is required for resetFields to work.');\n return;\n }\n var promise = void 0;\n // if no callback, return promise\n if (typeof callback !== 'function' && window.Promise) {\n promise = new window.Promise(function (resolve, reject) {\n callback = function callback(valid) {\n valid ? resolve(valid) : reject(valid);\n };\n });\n }\n var valid = true;\n var count = 0;\n // 如果需要验证的fields为空,调用验证时立刻返回callback\n if (this.fields.length === 0 && callback) {\n callback(true);\n }\n var invalidFields = {};\n this.fields.forEach(function (field) {\n field.validate('', function (message, field) {\n if (message) {\n valid = false;\n }\n invalidFields = _extends({}, invalidFields, field);\n if (typeof callback === 'function' && ++count === _this.fields.length) {\n callback(valid, invalidFields);\n }\n });\n });\n if (promise) {\n return promise;\n }\n },\n validateField: function validateField(props, cb) {\n props = [].concat(props);\n var fields = this.fields.filter(function (field) {\n return props.indexOf(field.prop) !== -1;\n });\n if (!fields.length) {\n warning(false, 'FormModel', 'please pass correct props!');\n return;\n }\n fields.forEach(function (field) {\n field.validate('', cb);\n });\n }\n },\n\n render: function render() {\n var _classNames;\n\n var h = arguments[0];\n var customizePrefixCls = this.prefixCls,\n hideRequiredMark = this.hideRequiredMark,\n layout = this.layout,\n onSubmit = this.onSubmit,\n $slots = this.$slots;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('form', customizePrefixCls);\n\n var formClassName = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, prefixCls + '-horizontal', layout === 'horizontal'), _defineProperty(_classNames, prefixCls + '-vertical', layout === 'vertical'), _defineProperty(_classNames, prefixCls + '-inline', layout === 'inline'), _defineProperty(_classNames, prefixCls + '-hide-required-mark', hideRequiredMark), _classNames));\n return h(\n 'form',\n {\n on: {\n 'submit': onSubmit\n },\n 'class': formClassName },\n [$slots['default']]\n );\n }\n};\n\nexport default Form;","import Vue from 'vue';\nimport Form from './Form';\nimport ref from 'vue-ref';\nimport FormDecoratorDirective from '../_util/FormDecoratorDirective';\nimport Base from '../base';\n\nVue.use(ref, { name: 'ant-ref' });\nVue.use(FormDecoratorDirective);\n\nexport { FormProps, ValidationRule } from './Form';\nexport { FormItemProps } from './FormItem';\n\n/* istanbul ignore next */\nForm.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Form.name, Form);\n Vue.component(Form.Item.name, Form.Item);\n};\n\nexport default Form;","import _typeof from 'babel-runtime/helpers/typeof';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport _toConsumableArray from 'babel-runtime/helpers/toConsumableArray';\nimport PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport find from 'lodash/find';\nimport Row from '../grid/Row';\nimport Col, { ColProps } from '../grid/Col';\nimport warning from '../_util/warning';\nimport { FIELD_META_PROP, FIELD_DATA_PROP } from './constants';\nimport { initDefaultProps, getComponentFromProp, filterEmpty, getSlotOptions, isValidElement, getAllChildren } from '../_util/props-util';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport BaseMixin from '../_util/BaseMixin';\nimport { cloneElement, cloneVNodes } from '../_util/vnode';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nfunction noop() {}\n\nfunction intersperseSpace(list) {\n return list.reduce(function (current, item) {\n return [].concat(_toConsumableArray(current), [' ', item]);\n }, []).slice(1);\n}\nexport var FormItemProps = {\n id: PropTypes.string,\n htmlFor: PropTypes.string,\n prefixCls: PropTypes.string,\n label: PropTypes.any,\n labelCol: PropTypes.shape(ColProps).loose,\n wrapperCol: PropTypes.shape(ColProps).loose,\n help: PropTypes.any,\n extra: PropTypes.any,\n validateStatus: PropTypes.oneOf(['', 'success', 'warning', 'error', 'validating']),\n hasFeedback: PropTypes.bool,\n required: PropTypes.bool,\n colon: PropTypes.bool,\n fieldDecoratorId: PropTypes.string,\n fieldDecoratorOptions: PropTypes.object,\n selfUpdate: PropTypes.bool,\n labelAlign: PropTypes.oneOf(['left', 'right'])\n};\nfunction comeFromSlot() {\n var vnodes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var itemVnode = arguments[1];\n\n var isSlot = false;\n for (var i = 0, len = vnodes.length; i < len; i++) {\n var vnode = vnodes[i];\n if (vnode && (vnode === itemVnode || vnode.$vnode === itemVnode)) {\n isSlot = true;\n } else {\n var componentOptions = vnode.componentOptions || vnode.$vnode && vnode.$vnode.componentOptions;\n var children = componentOptions ? componentOptions.children : vnode.$children;\n isSlot = comeFromSlot(children, itemVnode);\n }\n if (isSlot) {\n break;\n }\n }\n return isSlot;\n}\n\nexport default {\n name: 'AFormItem',\n __ANT_FORM_ITEM: true,\n mixins: [BaseMixin],\n props: initDefaultProps(FormItemProps, {\n hasFeedback: false\n }),\n provide: function provide() {\n return {\n isFormItemChildren: true\n };\n },\n\n inject: {\n isFormItemChildren: { 'default': false },\n FormContext: { 'default': function _default() {\n return {};\n } },\n decoratorFormProps: { 'default': function _default() {\n return {};\n } },\n collectFormItemContext: { 'default': function _default() {\n return noop;\n } },\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n data: function data() {\n return { helpShow: false };\n },\n\n computed: {\n itemSelfUpdate: function itemSelfUpdate() {\n return !!(this.selfUpdate === undefined ? this.FormContext.selfUpdate : this.selfUpdate);\n }\n },\n created: function created() {\n this.collectContext();\n },\n beforeUpdate: function beforeUpdate() {\n if (process.env.NODE_ENV !== 'production') {\n this.collectContext();\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.collectFormItemContext(this.$vnode && this.$vnode.context, 'delete');\n },\n mounted: function mounted() {\n var _$props = this.$props,\n help = _$props.help,\n validateStatus = _$props.validateStatus;\n\n warning(this.getControls(this.slotDefault, true).length <= 1 || help !== undefined || validateStatus !== undefined, 'Form.Item', 'Cannot generate `validateStatus` and `help` automatically, ' + 'while there are more than one `getFieldDecorator` in it.');\n warning(!this.fieldDecoratorId, 'Form.Item', '`fieldDecoratorId` is deprecated. please use `v-decorator={id, options}` instead.');\n },\n\n methods: {\n collectContext: function collectContext() {\n if (this.FormContext.form && this.FormContext.form.templateContext) {\n var templateContext = this.FormContext.form.templateContext;\n\n var vnodes = Object.values(templateContext.$slots || {}).reduce(function (a, b) {\n return [].concat(_toConsumableArray(a), _toConsumableArray(b));\n }, []);\n var isSlot = comeFromSlot(vnodes, this.$vnode);\n warning(!isSlot, 'You can not set FormItem from slot, please use slot-scope instead slot');\n var isSlotScope = false;\n // 进一步判断是否是通过slot-scope传递\n if (!isSlot && this.$vnode.context !== templateContext) {\n isSlotScope = comeFromSlot(this.$vnode.context.$children, templateContext.$vnode);\n }\n if (!isSlotScope && !isSlot) {\n this.collectFormItemContext(this.$vnode.context);\n }\n }\n },\n getHelpMessage: function getHelpMessage() {\n var help = getComponentFromProp(this, 'help');\n var onlyControl = this.getOnlyControl();\n if (help === undefined && onlyControl) {\n var errors = this.getField().errors;\n if (errors) {\n return intersperseSpace(errors.map(function (e, index) {\n var node = null;\n if (isValidElement(e)) {\n node = e;\n } else if (isValidElement(e.message)) {\n node = e.message;\n }\n return node ? cloneElement(node, { key: index }) : e.message;\n }));\n } else {\n return '';\n }\n }\n\n return help;\n },\n getControls: function getControls() {\n var childrenArray = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var recursively = arguments[1];\n\n var controls = [];\n for (var i = 0; i < childrenArray.length; i++) {\n if (!recursively && controls.length > 0) {\n break;\n }\n\n var child = childrenArray[i];\n if (!child.tag && child.text.trim() === '') {\n continue;\n }\n\n if (getSlotOptions(child).__ANT_FORM_ITEM) {\n continue;\n }\n var children = getAllChildren(child);\n var attrs = child.data && child.data.attrs || {};\n if (FIELD_META_PROP in attrs) {\n // And means FIELD_DATA_PROP in child.props, too.\n controls.push(child);\n } else if (children) {\n controls = controls.concat(this.getControls(children, recursively));\n }\n }\n return controls;\n },\n getOnlyControl: function getOnlyControl() {\n var child = this.getControls(this.slotDefault, false)[0];\n return child !== undefined ? child : null;\n },\n getChildAttr: function getChildAttr(prop) {\n var child = this.getOnlyControl();\n var data = {};\n if (!child) {\n return undefined;\n }\n if (child.data) {\n data = child.data;\n } else if (child.$vnode && child.$vnode.data) {\n data = child.$vnode.data;\n }\n return data[prop] || data.attrs[prop];\n },\n getId: function getId() {\n return this.getChildAttr('id');\n },\n getMeta: function getMeta() {\n return this.getChildAttr(FIELD_META_PROP);\n },\n getField: function getField() {\n return this.getChildAttr(FIELD_DATA_PROP);\n },\n getValidateStatus: function getValidateStatus() {\n var onlyControl = this.getOnlyControl();\n if (!onlyControl) {\n return '';\n }\n var field = this.getField();\n if (field.validating) {\n return 'validating';\n }\n if (field.errors) {\n return 'error';\n }\n var fieldValue = 'value' in field ? field.value : this.getMeta().initialValue;\n if (fieldValue !== undefined && fieldValue !== null && fieldValue !== '') {\n return 'success';\n }\n return '';\n },\n\n\n // Resolve duplicated ids bug between different forms\n // https://github.com/ant-design/ant-design/issues/7351\n onLabelClick: function onLabelClick() {\n var id = this.id || this.getId();\n if (!id) {\n return;\n }\n var formItemNode = this.$el;\n var control = formItemNode.querySelector('[id=\"' + id + '\"]');\n if (control && control.focus) {\n control.focus();\n }\n },\n onHelpAnimEnd: function onHelpAnimEnd(_key, helpShow) {\n this.helpShow = helpShow;\n if (!helpShow) {\n this.$forceUpdate();\n }\n },\n isRequired: function isRequired() {\n var required = this.required;\n\n if (required !== undefined) {\n return required;\n }\n if (this.getOnlyControl()) {\n var meta = this.getMeta() || {};\n var validate = meta.validate || [];\n\n return validate.filter(function (item) {\n return !!item.rules;\n }).some(function (item) {\n return item.rules.some(function (rule) {\n return rule.required;\n });\n });\n }\n return false;\n },\n renderHelp: function renderHelp(prefixCls) {\n var _this = this;\n\n var h = this.$createElement;\n\n var help = this.getHelpMessage();\n var children = help ? h(\n 'div',\n { 'class': prefixCls + '-explain', key: 'help' },\n [help]\n ) : null;\n if (children) {\n this.helpShow = !!children;\n }\n var transitionProps = getTransitionProps('show-help', {\n afterEnter: function afterEnter() {\n return _this.onHelpAnimEnd('help', true);\n },\n afterLeave: function afterLeave() {\n return _this.onHelpAnimEnd('help', false);\n }\n });\n return h(\n 'transition',\n _mergeJSXProps([transitionProps, { key: 'help' }]),\n [children]\n );\n },\n renderExtra: function renderExtra(prefixCls) {\n var h = this.$createElement;\n\n var extra = getComponentFromProp(this, 'extra');\n return extra ? h(\n 'div',\n { 'class': prefixCls + '-extra' },\n [extra]\n ) : null;\n },\n renderValidateWrapper: function renderValidateWrapper(prefixCls, c1, c2, c3) {\n var h = this.$createElement;\n\n var props = this.$props;\n var onlyControl = this.getOnlyControl;\n var validateStatus = props.validateStatus === undefined && onlyControl ? this.getValidateStatus() : props.validateStatus;\n\n var classes = prefixCls + '-item-control';\n if (validateStatus) {\n classes = classNames(prefixCls + '-item-control', {\n 'has-feedback': validateStatus && props.hasFeedback,\n 'has-success': validateStatus === 'success',\n 'has-warning': validateStatus === 'warning',\n 'has-error': validateStatus === 'error',\n 'is-validating': validateStatus === 'validating'\n });\n }\n var iconType = '';\n switch (validateStatus) {\n case 'success':\n iconType = 'check-circle';\n break;\n case 'warning':\n iconType = 'exclamation-circle';\n break;\n case 'error':\n iconType = 'close-circle';\n break;\n case 'validating':\n iconType = 'loading';\n break;\n default:\n iconType = '';\n break;\n }\n var icon = props.hasFeedback && iconType ? h(\n 'span',\n { 'class': prefixCls + '-item-children-icon' },\n [h(Icon, {\n attrs: { type: iconType, theme: iconType === 'loading' ? 'outlined' : 'filled' }\n })]\n ) : null;\n return h(\n 'div',\n { 'class': classes },\n [h(\n 'span',\n { 'class': prefixCls + '-item-children' },\n [c1, icon]\n ), c2, c3]\n );\n },\n renderWrapper: function renderWrapper(prefixCls, children) {\n var h = this.$createElement;\n\n var _ref = this.isFormItemChildren ? {} : this.FormContext,\n contextWrapperCol = _ref.wrapperCol;\n\n var wrapperCol = this.wrapperCol;\n\n var mergedWrapperCol = wrapperCol || contextWrapperCol || {};\n\n var style = mergedWrapperCol.style,\n id = mergedWrapperCol.id,\n on = mergedWrapperCol.on,\n restProps = _objectWithoutProperties(mergedWrapperCol, ['style', 'id', 'on']);\n\n var className = classNames(prefixCls + '-item-control-wrapper', mergedWrapperCol['class']);\n var colProps = {\n props: restProps,\n 'class': className,\n key: 'wrapper',\n style: style,\n id: id,\n on: on\n };\n return h(\n Col,\n colProps,\n [children]\n );\n },\n renderLabel: function renderLabel(prefixCls) {\n var _classNames;\n\n var h = this.$createElement;\n var _FormContext = this.FormContext,\n vertical = _FormContext.vertical,\n contextLabelAlign = _FormContext.labelAlign,\n contextLabelCol = _FormContext.labelCol,\n contextColon = _FormContext.colon;\n var labelAlign = this.labelAlign,\n labelCol = this.labelCol,\n colon = this.colon,\n id = this.id,\n htmlFor = this.htmlFor;\n\n var label = getComponentFromProp(this, 'label');\n var required = this.isRequired();\n var mergedLabelCol = labelCol || contextLabelCol || {};\n\n var mergedLabelAlign = labelAlign || contextLabelAlign;\n var labelClsBasic = prefixCls + '-item-label';\n var labelColClassName = classNames(labelClsBasic, mergedLabelAlign === 'left' && labelClsBasic + '-left', mergedLabelCol['class']);\n\n var labelColClass = mergedLabelCol['class'],\n labelColStyle = mergedLabelCol.style,\n labelColId = mergedLabelCol.id,\n on = mergedLabelCol.on,\n restProps = _objectWithoutProperties(mergedLabelCol, ['class', 'style', 'id', 'on']);\n\n var labelChildren = label;\n // Keep label is original where there should have no colon\n var computedColon = colon === true || contextColon !== false && colon !== false;\n var haveColon = computedColon && !vertical;\n // Remove duplicated user input colon\n if (haveColon && typeof label === 'string' && label.trim() !== '') {\n labelChildren = label.replace(/[::]\\s*$/, '');\n }\n\n var labelClassName = classNames((_classNames = {}, _defineProperty(_classNames, prefixCls + '-item-required', required), _defineProperty(_classNames, prefixCls + '-item-no-colon', !computedColon), _classNames));\n var colProps = {\n props: restProps,\n 'class': labelColClassName,\n key: 'label',\n style: labelColStyle,\n id: labelColId,\n on: on\n };\n\n return label ? h(\n Col,\n colProps,\n [h(\n 'label',\n {\n attrs: {\n 'for': htmlFor || id || this.getId(),\n\n title: typeof label === 'string' ? label : ''\n },\n 'class': labelClassName, on: {\n 'click': this.onLabelClick\n }\n },\n [labelChildren]\n )]\n ) : null;\n },\n renderChildren: function renderChildren(prefixCls) {\n return [this.renderLabel(prefixCls), this.renderWrapper(prefixCls, this.renderValidateWrapper(prefixCls, this.slotDefault, this.renderHelp(prefixCls), this.renderExtra(prefixCls)))];\n },\n renderFormItem: function renderFormItem() {\n var _itemClassName;\n\n var h = this.$createElement;\n var customizePrefixCls = this.$props.prefixCls;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('form', customizePrefixCls);\n var children = this.renderChildren(prefixCls);\n var itemClassName = (_itemClassName = {}, _defineProperty(_itemClassName, prefixCls + '-item', true), _defineProperty(_itemClassName, prefixCls + '-item-with-help', this.helpShow), _itemClassName);\n\n return h(\n Row,\n { 'class': classNames(itemClassName), key: 'row' },\n [children]\n );\n },\n decoratorOption: function decoratorOption(vnode) {\n if (vnode.data && vnode.data.directives) {\n var directive = find(vnode.data.directives, ['name', 'decorator']);\n warning(!directive || directive && Array.isArray(directive.value), 'Form', 'Invalid directive: type check failed for directive \"decorator\". Expected Array, got ' + _typeof(directive ? directive.value : directive) + '. At ' + vnode.tag + '.');\n return directive ? directive.value : null;\n } else {\n return null;\n }\n },\n decoratorChildren: function decoratorChildren(vnodes) {\n var FormContext = this.FormContext;\n\n var getFieldDecorator = FormContext.form.getFieldDecorator;\n for (var i = 0, len = vnodes.length; i < len; i++) {\n var vnode = vnodes[i];\n if (getSlotOptions(vnode).__ANT_FORM_ITEM) {\n break;\n }\n if (vnode.children) {\n vnode.children = this.decoratorChildren(cloneVNodes(vnode.children));\n } else if (vnode.componentOptions && vnode.componentOptions.children) {\n vnode.componentOptions.children = this.decoratorChildren(cloneVNodes(vnode.componentOptions.children));\n }\n var option = this.decoratorOption(vnode);\n if (option && option[0]) {\n vnodes[i] = getFieldDecorator(option[0], option[1], this)(vnode);\n }\n }\n return vnodes;\n }\n },\n\n render: function render() {\n var $slots = this.$slots,\n decoratorFormProps = this.decoratorFormProps,\n fieldDecoratorId = this.fieldDecoratorId,\n _fieldDecoratorOption = this.fieldDecoratorOptions,\n fieldDecoratorOptions = _fieldDecoratorOption === undefined ? {} : _fieldDecoratorOption,\n FormContext = this.FormContext;\n\n var child = filterEmpty($slots['default'] || []);\n if (decoratorFormProps.form && fieldDecoratorId && child.length) {\n var getFieldDecorator = decoratorFormProps.form.getFieldDecorator;\n child[0] = getFieldDecorator(fieldDecoratorId, fieldDecoratorOptions, this)(child[0]);\n warning(!(child.length > 1), 'Form', '`autoFormCreate` just `decorator` then first children. but you can use JSX to support multiple children');\n this.slotDefault = child;\n } else if (FormContext.form) {\n child = cloneVNodes(child);\n this.slotDefault = this.decoratorChildren(child);\n } else {\n this.slotDefault = child;\n }\n return this.renderFormItem();\n }\n};","export var FIELD_META_PROP = 'data-__meta';\nexport var FIELD_DATA_PROP = 'data-__field';","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport { ColProps } from '../grid/Col';\nimport Vue from 'vue';\nimport isRegExp from 'lodash/isRegExp';\nimport warning from '../_util/warning';\nimport createDOMForm from '../vc-form/src/createDOMForm';\nimport createFormField from '../vc-form/src/createFormField';\nimport FormItem from './FormItem';\nimport { FIELD_META_PROP, FIELD_DATA_PROP } from './constants';\nimport { initDefaultProps, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\n\nexport var FormCreateOption = {\n onFieldsChange: PropTypes.func,\n onValuesChange: PropTypes.func,\n mapPropsToFields: PropTypes.func,\n validateMessages: PropTypes.any,\n withRef: PropTypes.bool,\n name: PropTypes.string\n};\n\n// function create\nexport var WrappedFormUtils = {\n /** 获取一组输入控件的值,如不传入参数,则获取全部组件的值 */\n getFieldsValue: PropTypes.func,\n /** 获取一个输入控件的值*/\n getFieldValue: PropTypes.func,\n /** 设置一组输入控件的值*/\n setFieldsValue: PropTypes.func,\n /** 设置一组输入控件的值*/\n setFields: PropTypes.func,\n /** 校验并获取一组输入域的值与 Error */\n validateFields: PropTypes.func,\n // validateFields(fieldNames: Array, options: Object, callback: ValidateCallback): void;\n // validateFields(fieldNames: Array, callback: ValidateCallback): void;\n // validateFields(options: Object, callback: ValidateCallback): void;\n // validateFields(callback: ValidateCallback): void;\n // validateFields(): void;\n /** 与 `validateFields` 相似,但校验完后,如果校验不通过的菜单域不在可见范围内,则自动滚动进可见范围 */\n validateFieldsAndScroll: PropTypes.func,\n // validateFieldsAndScroll(fieldNames?: Array, options?: Object, callback?: ValidateCallback): void;\n // validateFieldsAndScroll(fieldNames?: Array, callback?: ValidateCallback): void;\n // validateFieldsAndScroll(options?: Object, callback?: ValidateCallback): void;\n // validateFieldsAndScroll(callback?: ValidateCallback): void;\n // validateFieldsAndScroll(): void;\n /** 获取某个输入控件的 Error */\n getFieldError: PropTypes.func,\n getFieldsError: PropTypes.func,\n /** 判断一个输入控件是否在校验状态*/\n isFieldValidating: PropTypes.func,\n isFieldTouched: PropTypes.func,\n isFieldsTouched: PropTypes.func,\n /** 重置一组输入控件的值与状态,如不传入参数,则重置所有组件 */\n resetFields: PropTypes.func,\n\n getFieldDecorator: PropTypes.func\n};\n\nexport var FormProps = {\n layout: PropTypes.oneOf(['horizontal', 'inline', 'vertical']),\n labelCol: PropTypes.shape(ColProps).loose,\n wrapperCol: PropTypes.shape(ColProps).loose,\n colon: PropTypes.bool,\n labelAlign: PropTypes.oneOf(['left', 'right']),\n form: PropTypes.object,\n // onSubmit: React.FormEventHandler;\n prefixCls: PropTypes.string,\n hideRequiredMark: PropTypes.bool,\n autoFormCreate: PropTypes.func,\n options: PropTypes.object,\n selfUpdate: PropTypes.bool\n};\n\nexport var ValidationRule = {\n /** validation error message */\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n /** built-in validation type, available options: https://github.com/yiminghe/async-validator#type */\n type: PropTypes.string,\n /** indicates whether field is required */\n required: PropTypes.boolean,\n /** treat required fields that only contain whitespace as errors */\n whitespace: PropTypes.boolean,\n /** validate the exact length of a field */\n len: PropTypes.number,\n /** validate the min length of a field */\n min: PropTypes.number,\n /** validate the max length of a field */\n max: PropTypes.number,\n /** validate the value from a list of possible values */\n 'enum': PropTypes.oneOfType([String, PropTypes.arrayOf(String)]),\n /** validate from a regular expression */\n pattern: PropTypes.custom(isRegExp),\n /** transform a value before validation */\n transform: PropTypes.func,\n /** custom validate function (Note: callback must be called) */\n validator: PropTypes.func\n};\n\n// export type ValidateCallback = (errors: any, values: any) => void;\n\n// export type GetFieldDecoratorOptions = {\n// /** 子节点的值的属性,如 Checkbox 的是 'checked' */\n// valuePropName?: string;\n// /** 子节点的初始值,类型、可选值均由子节点决定 */\n// initialValue?: any;\n// /** 收集子节点的值的时机 */\n// trigger?: string;\n// /** 可以把 onChange 的参数转化为控件的值,例如 DatePicker 可设为:(date, dateString) => dateString */\n// getValueFromEvent?: (...args: any[]) => any;\n// /** Get the component props according to field value. */\n// getValueProps?: (value: any) => any;\n// /** 校验子节点值的时机 */\n// validateTrigger?: string | string[];\n// /** 校验规则,参见 [async-validator](https://github.com/yiminghe/async-validator) */\n// rules?: ValidationRule[];\n// /** 是否和其他控件互斥,特别用于 Radio 单选控件 */\n// exclusive?: boolean;\n// /** Normalize value to form component */\n// normalize?: (value: any, prevValue: any, allValues: any) => any;\n// /** Whether stop validate on first rule of error for this field. */\n// validateFirst?: boolean;\n// /** 是否一直保留子节点的信息 */\n// preserve?: boolean;\n// };\n\nvar Form = {\n name: 'AForm',\n props: initDefaultProps(FormProps, {\n layout: 'horizontal',\n hideRequiredMark: false,\n colon: true\n }),\n Item: FormItem,\n createFormField: createFormField,\n create: function create() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return createDOMForm(_extends({\n fieldNameProp: 'id'\n }, options, {\n fieldMetaProp: FIELD_META_PROP,\n fieldDataProp: FIELD_DATA_PROP\n }));\n },\n createForm: function createForm(context) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var V = Base.Vue || Vue;\n return new V(Form.create(_extends({}, options, { templateContext: context }))());\n },\n created: function created() {\n this.formItemContexts = new Map();\n },\n provide: function provide() {\n var _this = this;\n\n return {\n FormContext: this,\n // https://github.com/vueComponent/ant-design-vue/issues/446\n collectFormItemContext: this.form && this.form.templateContext ? function (c) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'add';\n\n var formItemContexts = _this.formItemContexts;\n var number = formItemContexts.get(c) || 0;\n if (type === 'delete') {\n if (number <= 1) {\n formItemContexts['delete'](c);\n } else {\n formItemContexts.set(c, number - 1);\n }\n } else {\n if (c !== _this.form.templateContext) {\n formItemContexts.set(c, number + 1);\n }\n }\n } : function () {}\n };\n },\n\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n watch: {\n form: function form() {\n this.$forceUpdate();\n }\n },\n computed: {\n vertical: function vertical() {\n return this.layout === 'vertical';\n }\n },\n beforeUpdate: function beforeUpdate() {\n this.formItemContexts.forEach(function (number, c) {\n if (c.$forceUpdate) {\n c.$forceUpdate();\n }\n });\n },\n updated: function updated() {\n if (this.form && this.form.cleanUpUselessFields) {\n this.form.cleanUpUselessFields();\n }\n },\n\n methods: {\n onSubmit: function onSubmit(e) {\n if (!getListeners(this).submit) {\n e.preventDefault();\n } else {\n this.$emit('submit', e);\n }\n }\n },\n\n render: function render() {\n var _classNames,\n _this2 = this;\n\n var h = arguments[0];\n var customizePrefixCls = this.prefixCls,\n hideRequiredMark = this.hideRequiredMark,\n layout = this.layout,\n onSubmit = this.onSubmit,\n $slots = this.$slots,\n autoFormCreate = this.autoFormCreate,\n _options = this.options,\n options = _options === undefined ? {} : _options;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('form', customizePrefixCls);\n\n var formClassName = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, prefixCls + '-horizontal', layout === 'horizontal'), _defineProperty(_classNames, prefixCls + '-vertical', layout === 'vertical'), _defineProperty(_classNames, prefixCls + '-inline', layout === 'inline'), _defineProperty(_classNames, prefixCls + '-hide-required-mark', hideRequiredMark), _classNames));\n if (autoFormCreate) {\n warning(false, 'Form', '`autoFormCreate` is deprecated. please use `form` instead.');\n var DomForm = this.DomForm || createDOMForm(_extends({\n fieldNameProp: 'id'\n }, options, {\n fieldMetaProp: FIELD_META_PROP,\n fieldDataProp: FIELD_DATA_PROP,\n templateContext: this.$vnode.context\n }))({\n provide: function provide() {\n return {\n decoratorFormProps: this.$props\n };\n },\n data: function data() {\n return {\n children: $slots['default'],\n formClassName: formClassName,\n submit: onSubmit\n };\n },\n created: function created() {\n autoFormCreate(this.form);\n },\n render: function render() {\n var h = arguments[0];\n var children = this.children,\n formClassName = this.formClassName,\n submit = this.submit;\n\n return h(\n 'form',\n {\n on: {\n 'submit': submit\n },\n 'class': formClassName },\n [children]\n );\n }\n });\n if (this.domForm) {\n this.domForm.children = $slots['default'];\n this.domForm.submit = onSubmit;\n this.domForm.formClassName = formClassName;\n }\n this.DomForm = DomForm;\n\n return h(DomForm, {\n attrs: {\n wrappedComponentRef: function wrappedComponentRef(inst) {\n _this2.domForm = inst;\n }\n }\n });\n }\n return h(\n 'form',\n {\n on: {\n 'submit': onSubmit\n },\n 'class': formClassName },\n [$slots['default']]\n );\n }\n};\n\nexport default Form;","import Vue from 'vue';\nimport Form from './Form';\nimport ref from 'vue-ref';\nimport FormDecoratorDirective from '../_util/FormDecoratorDirective';\nimport Base from '../base';\n\nVue.use(ref, { name: 'ant-ref' });\nVue.use(FormDecoratorDirective);\nVue.prototype.$form = Form;\n\nexport { FormProps, FormCreateOption, ValidationRule } from './Form';\nexport { FormItemProps } from './FormItem';\n\n/* istanbul ignore next */\nForm.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Form.name, Form);\n Vue.component(Form.Item.name, Form.Item);\n Vue.prototype.$form = Form;\n};\n\nexport default Form;","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport _typeof from 'babel-runtime/helpers/typeof';\nimport PropTypes from '../_util/vue-types';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport { getListeners } from '../_util/props-util';\n\nvar stringOrNumber = PropTypes.oneOfType([PropTypes.string, PropTypes.number]);\n\nexport var ColSize = PropTypes.shape({\n span: stringOrNumber,\n order: stringOrNumber,\n offset: stringOrNumber,\n push: stringOrNumber,\n pull: stringOrNumber\n}).loose;\n\nvar objectOrNumber = PropTypes.oneOfType([PropTypes.string, PropTypes.number, ColSize]);\n\nexport var ColProps = {\n span: stringOrNumber,\n order: stringOrNumber,\n offset: stringOrNumber,\n push: stringOrNumber,\n pull: stringOrNumber,\n xs: objectOrNumber,\n sm: objectOrNumber,\n md: objectOrNumber,\n lg: objectOrNumber,\n xl: objectOrNumber,\n xxl: objectOrNumber,\n prefixCls: PropTypes.string,\n flex: stringOrNumber\n};\n\nexport default {\n name: 'ACol',\n props: ColProps,\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } },\n rowContext: {\n 'default': function _default() {\n return null;\n }\n }\n },\n methods: {\n parseFlex: function parseFlex(flex) {\n if (typeof flex === 'number') {\n return flex + ' ' + flex + ' auto';\n }\n if (/^\\d+(\\.\\d+)?(px|em|rem|%)$/.test(flex)) {\n return '0 0 ' + flex;\n }\n return flex;\n }\n },\n render: function render() {\n var _this = this,\n _extends3;\n\n var h = arguments[0];\n var span = this.span,\n order = this.order,\n offset = this.offset,\n push = this.push,\n pull = this.pull,\n flex = this.flex,\n customizePrefixCls = this.prefixCls,\n $slots = this.$slots,\n rowContext = this.rowContext;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('col', customizePrefixCls);\n\n var sizeClassObj = {};\n ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].forEach(function (size) {\n var _extends2;\n\n var sizeProps = {};\n var propSize = _this[size];\n if (typeof propSize === 'number') {\n sizeProps.span = propSize;\n } else if ((typeof propSize === 'undefined' ? 'undefined' : _typeof(propSize)) === 'object') {\n sizeProps = propSize || {};\n }\n\n sizeClassObj = _extends({}, sizeClassObj, (_extends2 = {}, _defineProperty(_extends2, prefixCls + '-' + size + '-' + sizeProps.span, sizeProps.span !== undefined), _defineProperty(_extends2, prefixCls + '-' + size + '-order-' + sizeProps.order, sizeProps.order || sizeProps.order === 0), _defineProperty(_extends2, prefixCls + '-' + size + '-offset-' + sizeProps.offset, sizeProps.offset || sizeProps.offset === 0), _defineProperty(_extends2, prefixCls + '-' + size + '-push-' + sizeProps.push, sizeProps.push || sizeProps.push === 0), _defineProperty(_extends2, prefixCls + '-' + size + '-pull-' + sizeProps.pull, sizeProps.pull || sizeProps.pull === 0), _extends2));\n });\n var classes = _extends((_extends3 = {}, _defineProperty(_extends3, '' + prefixCls, true), _defineProperty(_extends3, prefixCls + '-' + span, span !== undefined), _defineProperty(_extends3, prefixCls + '-order-' + order, order), _defineProperty(_extends3, prefixCls + '-offset-' + offset, offset), _defineProperty(_extends3, prefixCls + '-push-' + push, push), _defineProperty(_extends3, prefixCls + '-pull-' + pull, pull), _extends3), sizeClassObj);\n var divProps = {\n on: getListeners(this),\n 'class': classes,\n style: {}\n };\n if (rowContext) {\n var gutter = rowContext.getGutter();\n if (gutter) {\n divProps.style = _extends({}, gutter[0] > 0 ? {\n paddingLeft: gutter[0] / 2 + 'px',\n paddingRight: gutter[0] / 2 + 'px'\n } : {}, gutter[1] > 0 ? {\n paddingTop: gutter[1] / 2 + 'px',\n paddingBottom: gutter[1] / 2 + 'px'\n } : {});\n }\n }\n\n if (flex) {\n divProps.style.flex = this.parseFlex(flex);\n }\n\n return h(\n 'div',\n divProps,\n [$slots['default']]\n );\n }\n};","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _typeof from 'babel-runtime/helpers/typeof';\nimport _extends from 'babel-runtime/helpers/extends';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport ResponsiveObserve from '../_util/responsiveObserve';\n\nvar RowProps = {\n gutter: PropTypes.oneOfType([PropTypes.object, PropTypes.number, PropTypes.array]),\n type: PropTypes.oneOf(['flex']),\n align: PropTypes.oneOf(['top', 'middle', 'bottom', 'stretch']),\n justify: PropTypes.oneOf(['start', 'end', 'center', 'space-around', 'space-between']),\n prefixCls: PropTypes.string\n};\n\nvar responsiveArray = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\n\nexport default {\n name: 'ARow',\n mixins: [BaseMixin],\n props: _extends({}, RowProps, {\n gutter: PropTypes.oneOfType([PropTypes.object, PropTypes.number, PropTypes.array]).def(0)\n }),\n provide: function provide() {\n return {\n rowContext: this\n };\n },\n\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n data: function data() {\n return {\n screens: {}\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.token = ResponsiveObserve.subscribe(function (screens) {\n var gutter = _this.gutter;\n\n if ((typeof gutter === 'undefined' ? 'undefined' : _typeof(gutter)) === 'object' || Array.isArray(gutter) && (_typeof(gutter[0]) === 'object' || _typeof(gutter[1]) === 'object')) {\n _this.screens = screens;\n }\n });\n });\n },\n beforeDestroy: function beforeDestroy() {\n ResponsiveObserve.unsubscribe(this.token);\n },\n\n methods: {\n getGutter: function getGutter() {\n var results = [0, 0];\n var gutter = this.gutter,\n screens = this.screens;\n\n var normalizedGutter = Array.isArray(gutter) ? gutter : [gutter, 0];\n normalizedGutter.forEach(function (g, index) {\n if ((typeof g === 'undefined' ? 'undefined' : _typeof(g)) === 'object') {\n for (var i = 0; i < responsiveArray.length; i++) {\n var breakpoint = responsiveArray[i];\n if (screens[breakpoint] && g[breakpoint] !== undefined) {\n results[index] = g[breakpoint];\n break;\n }\n }\n } else {\n results[index] = g || 0;\n }\n });\n return results;\n }\n },\n\n render: function render() {\n var _classes;\n\n var h = arguments[0];\n var type = this.type,\n justify = this.justify,\n align = this.align,\n customizePrefixCls = this.prefixCls,\n $slots = this.$slots;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('row', customizePrefixCls);\n\n var gutter = this.getGutter();\n var classes = (_classes = {}, _defineProperty(_classes, prefixCls, !type), _defineProperty(_classes, prefixCls + '-' + type, type), _defineProperty(_classes, prefixCls + '-' + type + '-' + justify, type && justify), _defineProperty(_classes, prefixCls + '-' + type + '-' + align, type && align), _classes);\n var rowStyle = _extends({}, gutter[0] > 0 ? {\n marginLeft: gutter[0] / -2 + 'px',\n marginRight: gutter[0] / -2 + 'px'\n } : {}, gutter[1] > 0 ? {\n marginTop: gutter[1] / -2 + 'px',\n marginBottom: gutter[1] / -2 + 'px'\n } : {});\n return h(\n 'div',\n { 'class': classes, style: rowStyle },\n [$slots['default']]\n );\n }\n};","import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport Icon from './index';\nimport { mergeProps } from '../_util/props-util';\n\nvar customCache = new Set();\n\nexport default function create(options) {\n var scriptUrl = options.scriptUrl,\n _options$extraCommonP = options.extraCommonProps,\n extraCommonProps = _options$extraCommonP === undefined ? {} : _options$extraCommonP;\n\n /**\n * DOM API required.\n * Make sure in browser environment.\n * The Custom Icon will create a