{"version":3,"sources":["webpack:///./node_modules/ant-design-vue/es/cascader/index.js","webpack:///./node_modules/ant-design-vue/es/breadcrumb/BreadcrumbItem.js","webpack:///./node_modules/ant-design-vue/es/breadcrumb/Breadcrumb.js","webpack:///./node_modules/ant-design-vue/es/breadcrumb/BreadcrumbSeparator.js","webpack:///./node_modules/ant-design-vue/es/breadcrumb/index.js","webpack:///./node_modules/ant-design-vue/es/calendar/locale/en_US.js","webpack:///./node_modules/ant-design-vue/es/calendar/Header.js","webpack:///./node_modules/ant-design-vue/es/calendar/index.js","webpack:///./node_modules/ant-design-vue/es/button/button.js","webpack:///./node_modules/ant-design-vue/es/button/index.js","webpack:///./node_modules/ant-design-vue/es/button/button-group.js","webpack:///./node_modules/ant-design-vue/es/back-top/index.js","webpack:///./node_modules/ant-design-vue/es/badge/ScrollNumber.js","webpack:///./node_modules/ant-design-vue/es/badge/Badge.js","webpack:///./node_modules/ant-design-vue/es/badge/index.js","webpack:///./node_modules/ant-design-vue/es/button/buttonTypes.js","webpack:///./node_modules/ant-design-vue/es/checkbox/Checkbox.js","webpack:///./node_modules/ant-design-vue/es/checkbox/Group.js","webpack:///./node_modules/ant-design-vue/es/checkbox/index.js","webpack:///./node_modules/ant-design-vue/es/card/Card.js","webpack:///./node_modules/ant-design-vue/es/card/Meta.js","webpack:///./node_modules/ant-design-vue/es/card/Grid.js","webpack:///./node_modules/ant-design-vue/es/card/index.js","webpack:///./node_modules/ant-design-vue/es/base/index.js","webpack:///./node_modules/ant-design-vue/es/carousel/index.js"],"names":["CascaderOptionType","shape","value","oneOfType","string","number","label","any","disabled","bool","children","array","key","loose","FieldNamesType","isRequired","CascaderExpandTrigger","oneOf","ShowSearchType","filter","func","render","sort","matchInputWidth","limit","Boolean","Number","noop","CascaderProps","options","arrayOf","def","defaultValue","displayRender","transitionName","popupStyle","object","popupClassName","popupPlacement","placeholder","size","allowClear","showSearch","notFoundContent","loadData","expandTrigger","changeOnSelect","prefixCls","inputPrefixCls","getPopupContainer","popupVisible","fieldNames","autoFocus","suffixIcon","defaultLimit","defaultFilterOption","inputValue","path","names","some","option","indexOf","defaultSortFilteredOption","a","b","callback","elem","findIndex","getFilledFieldNames","_ref","_ref$fieldNames","undefined","flattenTree","arguments","length","props","ancestor","flattenOptions","childrenName","forEach","concat","push","defaultDisplayRender","_ref2","labels","join","Cascader","inheritAttrs","name","mixins","model","prop","event","provide","savePopupRef","this","inject","configProvider","localeData","data","cachedOptions","sValue","inputFocused","sPopupVisible","$props","mounted","_this","$nextTick","$refs","picker","focus","watch","val","setState","methods","ref","popupRef","highlightKeyword","str","keyword","h","$createElement","split","map","node","index","defaultRenderFilteredOption","_ref3","_this2","handleChange","selectedOptions","__IS_FILTERED_OPTION","unwrappedValue","unwrappedSelectedOptions","setValue","handlePopupVisibleChange","state","$emit","handleInputFocus","e","handleInputBlur","handleInputClick","stopPropagation","nativeEvent","stopImmediatePropagation","handleKeyDown","keyCode","BACKSPACE","SPACE","handleInputChange","target","getLabel","$scopedSlots","Array","isArray","o","level","childrenKeyName","clearSelection","preventDefault","generateFilteredOptions","renderEmpty","_ref5","_showSearch$filter","_showSearch$sort","_showSearch$limit","showSearchRender","_$data","$data","_$data$flattenOptions","filtered","matchCount","match","_ref4","input","blur","_classNames","_classNames2","_classNames3","$slots","_$data2","_ref6","getContextPopupContainer","customizePrefixCls","customizeInputPrefixCls","_props$placeholder","_props$showSearch","otherProps","getPrefixCls","sizeCls","clearIcon","attrs","type","theme","on","arrowCls","pickerCls","tempInputProps","dropdownMenuColumnStyle","isNotFound","height","resultListMatchInputWidth","width","$el","offsetWidth","inputProps","readOnly","autoComplete","click","keydown","change","inputIcon","style","expandIcon","loadingIcon","spin","cascaderProps","popupVisibleChange","Vue","use","component","__ANT_BREADCRUMB_ITEM","href","separator","overlay","renderBreadcrumbNode","breadcrumbItem","placement","link","Route","breadcrumbName","BreadcrumbProps","routes","params","itemRender","getBreadcrumbName","route","paramsKeys","Object","keys","replace","RegExp","replacement","defaultItemRender","paths","isLastItem","getPath","addChildPath","childPath","originalPaths","genForRoutes","_ref2$routes","_ref2$params","_ref2$itemRender","child","Item","BreadcrumbItem","crumbs","_params","element","warning","__ANT_BREADCRUMB_SEPARATOR","Breadcrumb","Separator","BreadcrumbSeparator","install","Option","getMonthsLocale","current","clone","months","i","month","monthsShort","HeaderProps","locale","fullscreen","boolean","yearSelectOffset","yearSelectTotal","validRange","headerRender","getYearSelectElement","year","_locale","start","end","get","suffix","dropdownMatchSelectWidth","String","getCalenderHeaderNode","onYearChange","getMonthSelectElement","_validRange","rangeStart","rangeEnd","currentYear","onMonthChange","newValue","parseInt","_validRange2","newYear","newMonth","onInternalTypeChange","onTypeChange","calenderHeaderNode","getMonthYearSelections","_$props","yearReactNode","monthReactNode","getTypeSwitch","_$props2","_$props2$locale","Group","onValueChange","apply","prototype","slice","call","headerRenderCustom","_$props3","onChange","typeSwitch","_getMonthYearSelectio","zerofixed","v","isMomentArray","find","moment","CalendarMode","mode","disabledDate","custom","valueFormat","Calendar","BaseMixin","interopDefault","_sPrefixCls","sMode","onHeaderValueChange","onHeaderTypeChange","onPanelChange","onSelect","way","prevValue","getDateRange","startDate","endDate","inRange","isBetween","getDefaultLocale","result","lang","monthCellRender2","monthCellRender","dateCellRender2","dateCellRender","date","renderCalendar","localeCode","dateFullCellRender","monthFullCellRender","cls","fullCalendarProps","Select","showHeader","select","Header","FullCalendar","LocaleReceiver","componentName","defaultLocale","scopedSlots","rxTwoCNChar","isTwoCNChar","test","bind","buttonTypes","__ANT_BUTTON","sizeMap","large","small","sLoading","loading","hasTwoCNChar","computed","classes","ghost","block","icon","autoInsertSpace","autoInsertSpaceInButton","iconType","preVal","clearTimeout","delayTimeout","delay","setTimeout","fixTwoCNChar","updated","beforeDestroy","buttonNode","buttonText","textContent","isNeedInserted","handleClick","insertSpace","needInserted","text","trim","htmlType","$attrs","buttonProps","iconNode","kids","ButtonGroupProps","validator","includes","_classes","getDefaultTarget","window","BackTopProps","visibilityHeight","BackTop","scrollEvent","visible","getTarget","handleScroll","activated","remove","getCurrentScrollTop","targetNode","pageYOffset","document","body","scrollTop","documentElement","scrollToTop","_target","getContainer","_target2","defaultElement","divProps","backTopBtn","transitionProps","getNumberArray","num","toString","reverse","isNaN","ScrollNumberProps","count","title","displayComponent","className","animateStarted","sCount","lastCount","timeout","onAnimated","_clearTimeout","getPositionByNum","currentCount","Math","abs","currentDigit","lastDigit","renderNumberList","position","childrenToReturn","renderCurrentNumber","removeTransition","transition","msTransform","WebkitTransform","transform","renderNumberElement","_component","Tag","restProps","newProps","borderColor","boxShadow","BadgeProps","showZero","overflowCount","dot","scrollNumberPrefixCls","status","color","offset","numberStyle","isPresetColor","getNumberedDispayCount","badgeCount","displayCount","getDispayCount","isDot","getScrollNumberTitle","getStyleWithOffset","right","marginTop","isNumeric","getBadgeClassName","hasStatus","isZero","numberedDispayCount","isHidden","isEmpty","renderStatusText","hidden","renderDispayComponent","customNode","renderBadgeNumber","_scrollNumberCls","scrollNumberCls","statusStyle","background","ScrollNumber","directives","customizeScrollNumberPrefixCls","scrollNumber","statusText","statusCls","styleWithOffset","statusTextColor","getTransitionProps","Badge","__ANT_CHECKBOX","defaultChecked","checked","isGroup","id","indeterminate","checkboxGroupContext","_value","_checkboxGroupContext","checkboxGroup","registerValue","cancelValue","_checkboxGroupContext2","_checkboxGroupContext3","targetChecked","vcCheckbox","_getListeners","_getListeners$mouseen","mouseenter","_getListeners$mousele","mouseleave","restListeners","checkboxProps","_len","args","_key","toggleOption","classString","checkboxClass","registeredValues","getOptions","optionIndex","splice","indexA","opt","indexB","groupPrefixCls","Checkbox","TabPane","extra","bordered","bodyStyle","headStyle","hoverable","actions","tabList","tabProps","tabBarExtraContent","activeTabKey","defaultActiveTabKey","widerPadding","getAction","actionList","action","onTabChange","isContainGrid","obj","containGrid","__ANT_CARD_GRID","_classString","_extends2","_$props$headStyle","_$props$bodyStyle","_$props$bordered","_$props$size","_$props$tabProps","loadingBlockStyle","padding","loadingBlock","gutter","span","hasActiveTabKey","tabsProps","head","tabs","item","temp","tab","_item$scopedSlots","titleDom","extraDom","cover","coverDom","actionDom","description","avatar","avatarDom","descriptionDom","MetaDetail","_$props$hoverable","Card","Meta","Grid","base","matchMediaPolyfill","mediaQuery","media","matches","addListener","removeListener","matchMedia","SlickCarousel","CarouselEffect","CarouselProps","effect","dots","vertical","autoplay","easing","beforeChange","afterChange","accessibility","nextArrow","prevArrow","pauseOnHover","adaptiveHeight","arrows","autoplaySpeed","centerMode","centerPadding","cssEase","dotsClass","draggable","fade","focusOnSelect","infinite","initialSlide","lazyLoad","rtl","slide","slidesToShow","slidesToScroll","speed","swipe","swipeToSlide","touchMove","touchThreshold","variableWidth","useCSS","slickGoTo","responsive","dotPosition","Carousel","beforeMount","onWindowResized","leading","addEventListener","innerSlider","slick","removeEventListener","cancel","getDotPosition","autoPlay","next","slickNext","prev","slickPrev","goTo","dontAnimate","SlickCarouselProps"],"mappings":"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","file":"js/chunk-vendors~9617957a.ab04b71c.js","sourcesContent":["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 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 en_US from '../../date-picker/locale/en_US';\nexport default en_US;","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 _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 _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 _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 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 _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 _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 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 _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;"],"sourceRoot":""}