{"version":3,"sources":["webpack:///./node_modules/ant-design-vue/es/table/FilterDropdownMenuWrapper.js","webpack:///./node_modules/ant-design-vue/es/table/interface.js","webpack:///./node_modules/ant-design-vue/es/table/util.js","webpack:///./node_modules/ant-design-vue/es/table/filterDropdown.js","webpack:///./node_modules/ant-design-vue/es/table/SelectionBox.js","webpack:///./node_modules/ant-design-vue/es/table/SelectionCheckboxAll.js","webpack:///./node_modules/ant-design-vue/es/table/Column.js","webpack:///./node_modules/ant-design-vue/es/table/ColumnGroup.js","webpack:///./node_modules/ant-design-vue/es/table/createBodyRow.js","webpack:///./node_modules/ant-design-vue/es/table/Table.js","webpack:///./node_modules/ant-design-vue/es/table/index.js","webpack:///./node_modules/ant-design-vue/es/switch/index.js","webpack:///./node_modules/ant-design-vue/es/space/index.js","webpack:///./node_modules/ant-design-vue/es/skeleton/Avatar.js","webpack:///./node_modules/ant-design-vue/es/skeleton/Title.js","webpack:///./node_modules/ant-design-vue/es/skeleton/Paragraph.js","webpack:///./node_modules/ant-design-vue/es/skeleton/index.js","webpack:///./node_modules/ant-design-vue/es/tag/Tag.js","webpack:///./node_modules/ant-design-vue/es/tag/CheckableTag.js","webpack:///./node_modules/ant-design-vue/es/tag/index.js","webpack:///./node_modules/ant-design-vue/es/spin/index.js","webpack:///./node_modules/ant-design-vue/es/select/index.js","webpack:///./node_modules/ant-design-vue/es/row/index.js","webpack:///./node_modules/ant-design-vue/es/statistic/Number.js","webpack:///./node_modules/ant-design-vue/es/statistic/Statistic.js","webpack:///./node_modules/ant-design-vue/es/statistic/utils.js","webpack:///./node_modules/ant-design-vue/es/statistic/Countdown.js","webpack:///./node_modules/ant-design-vue/es/statistic/index.js","webpack:///./node_modules/ant-design-vue/es/spin/Spin.js","webpack:///./node_modules/ant-design-vue/es/steps/index.js","webpack:///./node_modules/ant-design-vue/es/tabs/TabBar.js","webpack:///./node_modules/ant-design-vue/es/tabs/tabs.js","webpack:///./node_modules/ant-design-vue/es/tabs/index.js","webpack:///./node_modules/ant-design-vue/es/slider/index.js"],"names":["name","methods","handelClick","e","stopPropagation","render","h","arguments","$slots","this","on","PaginationProps","SpinProps","ColumnFilterItem","shape","text","string","value","children","array","loose","ColumnProps","title","any","dataIndex","customRender","func","customCell","customHeaderCell","align","oneOf","ellipsis","bool","filters","arrayOf","filterMultiple","filterDropdown","filterDropdownVisible","sorter","oneOfType","boolean","defaultSortOrder","colSpan","number","width","className","fixed","filterIcon","filteredValue","filtered","defaultFilteredValue","sortOrder","sortDirections","TableLocale","filterTitle","filterConfirm","filterReset","emptyText","selectAll","selectInvert","sortTitle","expand","collapse","RowSelectionType","TableRowSelection","type","selectedRowKeys","getCheckboxProps","selections","hideDefaultSelections","columnWidth","selectWay","columnTitle","TableProps","prefixCls","dropdownPrefixCls","rowSelection","pagination","position","size","dataSource","components","object","columns","rowKey","rowClassName","expandedRowRender","defaultExpandAllRows","defaultExpandedRowKeys","expandedRowKeys","expandIconAsCell","expandIconColumnIndex","expandRowByClick","loading","locale","indentSize","customRow","customHeaderRow","useFixedHeader","bordered","showHeader","footer","scroll","childrenColumnName","bodyStyle","tableLayout","getPopupContainer","expandIcon","transformCellText","SelectionCheckboxAllProps","store","disabled","getCheckboxPropsByItem","getRecordKey","data","SelectionBoxProps","defaultSelection","rowIndex","id","FilterMenuProps","_propsSymbol","selectedKeys","column","confirmFilter","handleFilter","flatArray","length","childrenName","result","loop","forEach","item","newItem","push","treeMap","tree","mapper","map","node","index","extra","flatFilter","callback","reduce","acc","apply","generateValueMaps","items","maps","_ref","toString","mixins","BaseMixin","props","visible","preProps","sSelectedKeys","sKeyPathOfSelectedItem","sVisible","sValueKeys","watch","nextProps","newState","Object","keys","setState","mounted","_this","$nextTick","setNeverShown","updated","_this2","getDropdownVisible","neverShown","rootNode","$el","setSelectedKeys","setVisible","onFilterDropdownVisibleChange","handleClearFilters","handleConfirm","_this3","confirmFilter2","$forceUpdate","onVisibleChange","$props","Function","handleMenuItemClick","info","$data","keyPath","keyPathOfSelectedItem","indexOf","key","hasSubMenu","_column$filters","some","_$props","propSelectedKeys","_$data","valueKeys","filter","renderMenus","_this4","$createElement","_$props2","containSelected","subMenuCls","SubMenu","attrs","popupClassName","renderMenuItem","renderFilterIcon","_classNames2","dropdownIconClass","click","theme","input","checked","MenuItem","_this5","originSelectedKeys","multiple","dropdownMenuClass","confirm","clearFilters","menus","FilterDropdownMenuWrapper","val","trigger","placement","forceRender","slot","computed","selectionDirty","_getOptionProps","rest","checkboxProps","checkSelection","byDefaultChecked","i","defaultChecked","getIndeterminateState","someCheckedNotByDefaultChecked","someCheckedByDefaultChecked","getCheckState","defaultSelections","indeterminate","handler","setCheckState","deep","immediate","_ref2","prevState","handleSelectAllChange","target","$emit","selection","Item","onSelect","selectionPrefixCls","customSelections","newSelections","Array","isArray","concat","menu","__ANT_TABLE_COLUMN_GROUP","BodyRowProps","createBodyRow","Component","BodyRow","selected","noop","getRowSelection","getColumnKey","a","b","other","defaultPagination","onChange","onShowSizeChange","emptyObject","bodyRow","body","row","getFilteredValueColumns","state","getFiltersFromColumns","col","colKey","Column","ColumnGroup","inject","configProvider","provide","warning","x","CheckboxPropsCache","$root","constructor","observable","getDefaultSortOrder","sFilters","getDefaultFilters","sPagination","getDefaultPagination","pivot","sComponents","filterDataCnt","previousState","newPagination","current","pageSize","oldVal","filtersFromColumns","newFilters","columnKey","isFiltersChanged","components1","components2","every","isTheSameComponents","sortColumn","sSortColumn","sSortOrder","getSortOrderColumns","sortState","getSortStateFromColumns","getDefaultSelection","getFlatData","record","defaultCurrent","defaultPageSize","hasPagination","definedFilters","defaultFilteredValueColumns","defaultFilters","soFar","definedSortState","defaultSortedColumn","sortedColumn","getMaxCurrent","total","_sPagination","Math","floor","recordKey","getSorterFn","getCurrentPageData","getLocalData","Number","MAX_VALUE","slice","getFlatCurrentPageData","currentState","sorterFn","recursiveSort","findColumn","values","onFilter","v","onRow","custom","setSelectedRowKeys","selectionInfo","changeRowKeys","nativeEvent","selectedRows","onSelectMultiple","changeRows","onSelectAll","_changeRows","onSelectInvert","generatePopupContainerFunc","table","$refs","vcTable","getTableNode","scrollToFirstRow","scrollToFirstRowOnChange","scrollTo","getContainer","getBodyTable","isSameColumn","nextFilters","currentColumnKeys","c","filtersToSetState","prepareParamsArguments","sSelectionDirty","handleSelect","_this6","rows","realIndex","findIndex","shiftKey","direction","sign","dist","abs","step","_loop","includes","j","handleRadioSelect","handleSelectRow","selectionKey","onSelectFunc","_this7","changeableRowKeys","splice","customSelectionStartIndex","handlePageChange","_len","otherArguments","_key","handleShowSizeChange","nextPagination","toggleSortOrder","newSortOrder","methodIndex","isSortColumn","currentColumn","order","field","currentDataSource","myKey","_this8","_childrenColumnName","sort","renderExpandIcon","expandable","expanded","needIndentSpaced","onExpand","LocaleReceiver","componentName","defaultLocale","Table","_classNames","event","noStyle","renderPagination","paginationPosition","cls","style","restProps","paginationProps","change","showSizeChange","renderSelectionBox","_this9","_","selectionBoxProps","SelectionBox","renderRowSelection","_ref3","_this10","selectionColumnClass","selectionColumn","checkboxAllDisabled","SelectionCheckboxAll","unshift","renderColumnsDropdown","_ref4","_this11","_classNames3","sortButton","colFilters","Symbol","isAscend","isDescend","ascend","descend","colProps","onHeaderCellClick","renderColumnTitle","renderTable","_ref5","_classNames4","_this12","renderEmpty","contextLocale","contextGetPopupContainer","realGetPopupContainer","mergedLocale","classString","columnsWithRowSelection","newColumn","vcTableProps","ref","_this13","customizePrefixCls","customizeDropdownPrefixCls","customizeTransformCellText","_configProvider","getContextPopupContainer","tct","spinning","getPrefixCls","paginationPatchClass","spinProps","use","normalize","elements","element","tag","events","listeners","k","startsWith","substr","_getSlots","restSlots","scopedSlots","updateColumns","cols","$scopedSlots","_col$slots","slots","_col$scopedSlots","slotTitle","slotFooter","_$scopedSlots$expande","tProps","Vue","component","Switch","__ANT_SWITCH","model","prop","checkedChildren","unCheckedChildren","tabIndex","autoFocus","focus","refSwitchNode","blur","created","_classes","classes","loadingIcon","switchProps","insertExtraNode","SpaceSizeType","spaceSize","small","middle","large","SpaceProps","Space","functional","content","injections","_content$props","len","mergedAlign","someSpaceClass","itemClassName","child","skeletonAvatarProps","SkeletonAvatarProps","Avatar","sizeCls","shapeCls","sizeStyle","height","lineHeight","skeletonTitleProps","SkeletonTitleProps","Title","zWidth","widthUnit","skeletonParagraphProps","SkeletonParagraphProps","Paragraph","getWidth","_rows","rowList","SkeletonProps","active","avatar","paragraph","getComponentProps","getAvatarBasicProps","hasTitle","hasParagraph","getTitleBasicProps","hasAvatar","getParagraphBasicProps","basicProps","Skeleton","avatarNode","avatarProps","contentNode","$title","titleProps","paragraphNode","paragraphProps","PresetColorRegex","RegExp","join","color","closable","def","afterClose","_visible","defaultPrevented","handleIconClick","isPresetColor","test","getTagStyle","backgroundColor","getTagClassName","renderCloseIcon","directives","transitionProps","getTransitionProps","appear","Boolean","handleClick","Tag","CheckableTag","install","setDefaultIndicator","AbstractSelectProps","showAction","String","notFoundContent","transitionName","choiceTransitionName","showSearch","allowClear","placeholder","defaultActiveFirstOption","dropdownClassName","dropdownStyle","dropdownMenuStyle","dropdownMatchSelectWidth","filterOption","backfill","showArrow","open","defaultOpen","autoClearSearchValue","dropdownRender","Value","SelectValue","SelectProps","defaultValue","mode","optionLabelProp","firstActiveValue","maxTagCount","maxTagPlaceholder","maxTagTextLength","optionFilterProp","labelInValue","tokenSeparators","getInputElement","options","suffixIcon","removeIcon","clearIcon","menuItemSelectedIcon","SelectPropTypes","SECRET_COMBOBOX_MODE_DO_NOT_USE","Select","Option","OptGroup","propTypes","savePopupRef","getNotFoundContent","isCombobox","popupRef","vcSelect","renderSuffixIcon","_cls","modeConfig","tags","combobox","finalRemoveIcon","finalClearIcon","finalMenuItemSelectedIcon","selectProps","inputIcon","option","_option$label","label","restOption","__propsSymbol__","context","_context$props","formatter","precision","decimalSeparator","_context$props$groupS","groupSeparator","valueNode","cells","match","negative","int","decimal","replace","StatisticProps","format","valueStyle","valueRender","prefix","suffix","_$props$value","timeUnits","config","_config$format","interopDefault","moment","valueOf","duration","leftDuration","escapeRegex","keepList","str","templateText","replacedText","unit","formatTimeStr","max","getTime","countdownId","syncTimer","beforeDestroy","stopTimer","Date","now","startTimer","window","setInterval","statistic","clearInterval","formatCountdown","valueRenderHtml","Statistic","Countdown","SpinSize","wrapperClassName","tip","delay","indicator","defaultIndicator","Content","shouldBeDelayed","isNaN","shouldDelay","originalUpdateSpinning","updateSpinning","debouncifyUpdateSpinning","sSpinning","cancelExistingSpin","cancel","getChildren","renderIndicator","dotClassName","_spinClassName","spinClassName","spinElement","_containerClassName","containerClassName","Steps","defaultProps","iconPrefix","initial","labelPlacement","status","progressDot","getStepsProps","Step","customizeIconPrefixCls","icons","finish","error","stepsProps","TabBar","inheritAttrs","tabBarStyle","tabBarExtraContent","tabPosition","tabBarPosition","animated","renderTabBar","panels","activeKey","tabBarGutter","_$props$animated","_$props$type","inkBarAnimated","inkBar","isVertical","prevIconType","nextIconType","prevIcon","nextIcon","renderProps","$attrs","extraContent","RenderTabBar","ScrollableInkTabBar","TabPane","defaultActiveKey","hideAdd","destroyInactiveTabPane","NO_FLEX","tabNode","removeTab","targetKey","isValid","handleChange","createNewTab","onTabClick","onPrevClick","onNextClick","_contentCls","_props$type","_props$animated","tabPaneAnimated","tabPane","childrenWithClose","closeIcon","tab","renderTabBarSlot","tabBarProps","contentCls","tabsProps","renderTabContent","TabContent","animatedWithMargin","T","__ANT_TAB_PANE","tooltipProps","Slider","tooltipPrefixCls","range","reverse","min","marks","dots","included","vertical","tipFormatter","tooltipVisible","tooltipPlacement","getTooltipPopupContainer","visibles","toggleTooltipVisible","handleWithTooltip","dragging","isTipFormatter","overlayClassName","document","handleProps","mouseenter","mouseleave","sliderRef","customizeTooltipPrefixCls","vcRangeProps","handle","vcSliderProps"],"mappings":"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","file":"js/chunk-vendors~2b38b85e.349d801e.js","sourcesContent":["export default {\n name: 'FilterDropdownMenuWrapper',\n methods: {\n handelClick: function handelClick(e) {\n e.stopPropagation();\n //this.$emit('click', e);\n }\n },\n render: function render() {\n var h = arguments[0];\n var $slots = this.$slots,\n handelClick = this.handelClick;\n\n return h(\n 'div',\n {\n on: {\n 'click': handelClick\n }\n },\n [$slots['default']]\n );\n }\n};","import _extends from 'babel-runtime/helpers/extends';\nimport PropTypes from '../_util/vue-types';\nimport { PaginationProps as getPaginationProps } from '../pagination';\nimport { SpinProps as getSpinProps } from '../spin';\n\nvar PaginationProps = getPaginationProps();\nvar SpinProps = getSpinProps();\n\n// export type CompareFn = ((a: T, b: T) => number);\nexport var ColumnFilterItem = PropTypes.shape({\n text: PropTypes.string,\n value: PropTypes.string,\n children: PropTypes.array\n}).loose;\n\nexport var ColumnProps = {\n title: PropTypes.any,\n // key?: React.Key;\n dataIndex: PropTypes.string,\n customRender: PropTypes.func,\n customCell: PropTypes.func,\n customHeaderCell: PropTypes.func,\n align: PropTypes.oneOf(['left', 'right', 'center']),\n ellipsis: PropTypes.bool,\n filters: PropTypes.arrayOf(ColumnFilterItem),\n // onFilter: (value: any, record: T) => PropTypes.bool,\n filterMultiple: PropTypes.bool,\n filterDropdown: PropTypes.any,\n filterDropdownVisible: PropTypes.bool,\n // onFilterDropdownVisibleChange?: (visible: boolean) => void;\n sorter: PropTypes.oneOfType([PropTypes.boolean, PropTypes.func]),\n defaultSortOrder: PropTypes.oneOf(['ascend', 'descend']),\n colSpan: PropTypes.number,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n className: PropTypes.string,\n fixed: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['left', 'right'])]),\n filterIcon: PropTypes.any,\n filteredValue: PropTypes.array,\n filtered: PropTypes.bool,\n defaultFilteredValue: PropTypes.array,\n sortOrder: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['ascend', 'descend'])]),\n sortDirections: PropTypes.array\n // children?: ColumnProps[];\n // onCellClick?: (record: T, event: any) => void;\n // onCell?: (record: T) => any;\n // onHeaderCell?: (props: ColumnProps) => any;\n};\n\n// export interface TableComponents {\n// table?: any;\n// header?: {\n// wrapper?: any;\n// row?: any;\n// cell?: any;\n// };\n// body?: {\n// wrapper?: any;\n// row?: any;\n// cell?: any;\n// };\n// }\n\nexport var TableLocale = PropTypes.shape({\n filterTitle: PropTypes.string,\n filterConfirm: PropTypes.any,\n filterReset: PropTypes.any,\n emptyText: PropTypes.any,\n selectAll: PropTypes.any,\n selectInvert: PropTypes.any,\n sortTitle: PropTypes.string,\n expand: PropTypes.string,\n collapse: PropTypes.string\n}).loose;\n\nexport var RowSelectionType = PropTypes.oneOf(['checkbox', 'radio']);\n// export type SelectionSelectFn = (record: T, selected: boolean, selectedRows: Object[]) => any;\n\nexport var TableRowSelection = {\n type: RowSelectionType,\n selectedRowKeys: PropTypes.array,\n // onChange?: (selectedRowKeys: string[] | number[], selectedRows: Object[]) => any;\n getCheckboxProps: PropTypes.func,\n // onSelect?: SelectionSelectFn;\n // onSelectAll?: (selected: boolean, selectedRows: Object[], changeRows: Object[]) => any;\n // onSelectInvert?: (selectedRows: Object[]) => any;\n selections: PropTypes.oneOfType([PropTypes.array, PropTypes.bool]),\n hideDefaultSelections: PropTypes.bool,\n fixed: PropTypes.bool,\n columnWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectWay: PropTypes.oneOf(['onSelect', 'onSelectMultiple', 'onSelectAll', 'onSelectInvert']),\n columnTitle: PropTypes.any\n};\n\nexport var TableProps = {\n prefixCls: PropTypes.string,\n dropdownPrefixCls: PropTypes.string,\n rowSelection: PropTypes.oneOfType([PropTypes.shape(TableRowSelection).loose, null]),\n pagination: PropTypes.oneOfType([PropTypes.shape(_extends({}, PaginationProps, {\n position: PropTypes.oneOf(['top', 'bottom', 'both'])\n })).loose, PropTypes.bool]),\n size: PropTypes.oneOf(['default', 'middle', 'small', 'large']),\n dataSource: PropTypes.array,\n components: PropTypes.object,\n columns: PropTypes.array,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n rowClassName: PropTypes.func,\n expandedRowRender: PropTypes.any,\n defaultExpandAllRows: PropTypes.bool,\n defaultExpandedRowKeys: PropTypes.array,\n expandedRowKeys: PropTypes.array,\n expandIconAsCell: PropTypes.bool,\n expandIconColumnIndex: PropTypes.number,\n expandRowByClick: PropTypes.bool,\n // onExpandedRowsChange?: (expandedRowKeys: string[] | number[]) => void;\n // onExpand?: (expanded: boolean, record: T) => void;\n // onChange?: (pagination: PaginationProps | boolean, filters: string[], sorter: Object) => any;\n loading: PropTypes.oneOfType([PropTypes.shape(SpinProps).loose, PropTypes.bool]),\n locale: TableLocale,\n indentSize: PropTypes.number,\n // onRowClick?: (record: T, index: number, event: Event) => any;\n customRow: PropTypes.func,\n customHeaderRow: PropTypes.func,\n useFixedHeader: PropTypes.bool,\n bordered: PropTypes.bool,\n showHeader: PropTypes.bool,\n footer: PropTypes.func,\n title: PropTypes.func,\n scroll: PropTypes.object,\n childrenColumnName: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n bodyStyle: PropTypes.any,\n sortDirections: PropTypes.array,\n tableLayout: PropTypes.string,\n getPopupContainer: PropTypes.func,\n expandIcon: PropTypes.func,\n transformCellText: PropTypes.func\n // className?: PropTypes.string,\n // style?: React.CSSProperties;\n // children?: React.ReactNode;\n};\n\n// export interface TableStateFilters {\n// [key: string]: string[];\n// }\n\n// export interface TableState {\n// pagination: PaginationProps;\n// filters: TableStateFilters;\n// sortColumn: ColumnProps | null;\n// sortOrder: PropTypes.string,\n// }\n\n// export type SelectionItemSelectFn = (key: string[]) => any;\n\n// export interface SelectionItem {\n// key: PropTypes.string,\n// text: PropTypes.any,\n// onSelect: SelectionItemSelectFn;\n// }\n\nexport var SelectionCheckboxAllProps = {\n store: PropTypes.any,\n locale: PropTypes.any,\n disabled: PropTypes.bool,\n getCheckboxPropsByItem: PropTypes.func,\n getRecordKey: PropTypes.func,\n data: PropTypes.array,\n prefixCls: PropTypes.string,\n // onSelect: (key: string, index: number, selectFunc: any) => void;\n hideDefaultSelections: PropTypes.bool,\n selections: PropTypes.oneOfType([PropTypes.array, PropTypes.bool]),\n getPopupContainer: PropTypes.func\n};\n\n// export interface SelectionCheckboxAllState {\n// checked: PropTypes.bool,\n// indeterminate: PropTypes.bool,\n// }\n\nexport var SelectionBoxProps = {\n store: PropTypes.any,\n type: RowSelectionType,\n defaultSelection: PropTypes.arrayOf([PropTypes.string, PropTypes.number]),\n rowIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n name: PropTypes.string,\n disabled: PropTypes.bool,\n id: PropTypes.string\n // onChange: React.ChangeEventHandler;\n};\n\n// export interface SelectionBoxState {\n// checked?: PropTypes.bool,\n// }\n\nexport var FilterMenuProps = {\n _propsSymbol: PropTypes.any,\n locale: TableLocale,\n selectedKeys: PropTypes.arrayOf([PropTypes.string, PropTypes.number]),\n column: PropTypes.object,\n confirmFilter: PropTypes.func,\n prefixCls: PropTypes.string,\n dropdownPrefixCls: PropTypes.string,\n getPopupContainer: PropTypes.func,\n handleFilter: PropTypes.func\n};\n\n// export interface FilterMenuState {\n// selectedKeys: string[];\n// keyPathOfSelectedItem: { [key: string]: string };\n// visible?: PropTypes.bool,\n// }","import _toConsumableArray from 'babel-runtime/helpers/toConsumableArray';\nimport _extends from 'babel-runtime/helpers/extends';\nexport function flatArray() {\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var childrenName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'children';\n\n var result = [];\n var loop = function loop(array) {\n array.forEach(function (item) {\n if (item[childrenName]) {\n var newItem = _extends({}, item);\n delete newItem[childrenName];\n result.push(newItem);\n if (item[childrenName].length > 0) {\n loop(item[childrenName]);\n }\n } else {\n result.push(item);\n }\n });\n };\n loop(data);\n return result;\n}\n\nexport function treeMap(tree, mapper) {\n var childrenName = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'children';\n\n return tree.map(function (node, index) {\n var extra = {};\n if (node[childrenName]) {\n extra[childrenName] = treeMap(node[childrenName], mapper, childrenName);\n }\n return _extends({}, mapper(node, index), extra);\n });\n}\n\nexport function flatFilter(tree, callback) {\n return tree.reduce(function (acc, node) {\n if (callback(node)) {\n acc.push(node);\n }\n if (node.children) {\n var children = flatFilter(node.children, callback);\n acc.push.apply(acc, _toConsumableArray(children));\n }\n return acc;\n }, []);\n}\n\n// export function normalizeColumns (elements) {\n// const columns = []\n// React.Children.forEach(elements, (element) => {\n// if (!React.isValidElement(element)) {\n// return\n// }\n// const column = {\n// ...element.props,\n// }\n// if (element.key) {\n// column.key = element.key\n// }\n// if (element.type && element.type.__ANT_TABLE_COLUMN_GROUP) {\n// column.children = normalizeColumns(column.children)\n// }\n// columns.push(column)\n// })\n// return columns\n// }\n\nexport function generateValueMaps(items) {\n var maps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n (items || []).forEach(function (_ref) {\n var value = _ref.value,\n children = _ref.children;\n\n maps[value.toString()] = value;\n generateValueMaps(children, maps);\n });\n return maps;\n}","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport Menu, { SubMenu, Item as MenuItem } from '../vc-menu';\nimport closest from 'dom-closest';\nimport classNames from 'classnames';\nimport shallowequal from 'shallowequal';\nimport Dropdown from '../dropdown';\nimport Icon from '../icon';\nimport Checkbox from '../checkbox';\nimport Radio from '../radio';\nimport FilterDropdownMenuWrapper from './FilterDropdownMenuWrapper';\nimport { FilterMenuProps } from './interface';\nimport { initDefaultProps, getOptionProps, isValidElement } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport BaseMixin from '../_util/BaseMixin';\nimport { generateValueMaps } from './util';\n\nfunction stopPropagation(e) {\n e.stopPropagation();\n}\n\nexport default {\n name: 'FilterMenu',\n mixins: [BaseMixin],\n props: initDefaultProps(FilterMenuProps, {\n handleFilter: function handleFilter() {},\n\n column: {}\n }),\n\n data: function data() {\n var visible = 'filterDropdownVisible' in this.column ? this.column.filterDropdownVisible : false;\n this.preProps = _extends({}, getOptionProps(this));\n return {\n sSelectedKeys: this.selectedKeys,\n sKeyPathOfSelectedItem: {}, // 记录所有有选中子菜单的祖先菜单\n sVisible: visible,\n sValueKeys: generateValueMaps(this.column.filters)\n };\n },\n\n watch: {\n _propsSymbol: function _propsSymbol() {\n var nextProps = getOptionProps(this);\n var column = nextProps.column;\n\n var newState = {};\n\n /**\n * if the state is visible the component should ignore updates on selectedKeys prop to avoid\n * that the user selection is lost\n * this happens frequently when a table is connected on some sort of realtime data\n * Fixes https://github.com/ant-design/ant-design/issues/10289 and\n * https://github.com/ant-design/ant-design/issues/10209\n */\n if ('selectedKeys' in nextProps && !shallowequal(this.preProps.selectedKeys, nextProps.selectedKeys)) {\n newState.sSelectedKeys = nextProps.selectedKeys;\n }\n if (!shallowequal((this.preProps.column || {}).filters, (nextProps.column || {}).filters)) {\n newState.sValueKeys = generateValueMaps(nextProps.column.filters);\n }\n if ('filterDropdownVisible' in column) {\n newState.sVisible = column.filterDropdownVisible;\n }\n if (Object.keys(newState).length > 0) {\n this.setState(newState);\n }\n this.preProps = _extends({}, nextProps);\n }\n },\n\n mounted: function mounted() {\n var _this = this;\n\n var column = this.column;\n\n this.$nextTick(function () {\n _this.setNeverShown(column);\n });\n },\n updated: function updated() {\n var _this2 = this;\n\n var column = this.column;\n\n this.$nextTick(function () {\n _this2.setNeverShown(column);\n });\n },\n\n methods: {\n getDropdownVisible: function getDropdownVisible() {\n return this.neverShown ? false : this.sVisible;\n },\n setNeverShown: function setNeverShown(column) {\n var rootNode = this.$el;\n var filterBelongToScrollBody = !!closest(rootNode, '.ant-table-scroll');\n if (filterBelongToScrollBody) {\n // When fixed column have filters, there will be two dropdown menus\n // Filter dropdown menu inside scroll body should never be shown\n // To fix https://github.com/ant-design/ant-design/issues/5010 and\n // https://github.com/ant-design/ant-design/issues/7909\n this.neverShown = !!column.fixed;\n }\n },\n setSelectedKeys: function setSelectedKeys(_ref) {\n var selectedKeys = _ref.selectedKeys;\n\n this.setState({ sSelectedKeys: selectedKeys });\n },\n setVisible: function setVisible(visible) {\n var column = this.column;\n\n if (!('filterDropdownVisible' in column)) {\n this.setState({ sVisible: visible });\n }\n if (column.onFilterDropdownVisibleChange) {\n column.onFilterDropdownVisibleChange(visible);\n }\n },\n handleClearFilters: function handleClearFilters() {\n this.setState({\n sSelectedKeys: []\n }, this.handleConfirm);\n },\n handleConfirm: function handleConfirm() {\n var _this3 = this;\n\n this.setVisible(false);\n this.confirmFilter2();\n // Call `setSelectedKeys` & `confirm` in the same time will make filter data not up to date\n // https://github.com/ant-design/ant-design/issues/12284\n this.$forceUpdate();\n this.$nextTick(function () {\n _this3.confirmFilter;\n });\n },\n onVisibleChange: function onVisibleChange(visible) {\n this.setVisible(visible);\n var column = this.$props.column;\n // https://github.com/ant-design/ant-design/issues/17833\n\n if (!visible && !(column.filterDropdown instanceof Function)) {\n this.confirmFilter2();\n }\n },\n handleMenuItemClick: function handleMenuItemClick(info) {\n var selectedKeys = this.$data.sSelectedKeys;\n\n if (!info.keyPath || info.keyPath.length <= 1) {\n return;\n }\n var keyPathOfSelectedItem = this.$data.sKeyPathOfSelectedItem;\n\n if (selectedKeys && selectedKeys.indexOf(info.key) >= 0) {\n // deselect SubMenu child\n delete keyPathOfSelectedItem[info.key];\n } else {\n // select SubMenu child\n keyPathOfSelectedItem[info.key] = info.keyPath;\n }\n this.setState({ sKeyPathOfSelectedItem: keyPathOfSelectedItem });\n },\n hasSubMenu: function hasSubMenu() {\n var _column$filters = this.column.filters,\n filters = _column$filters === undefined ? [] : _column$filters;\n\n return filters.some(function (item) {\n return !!(item.children && item.children.length > 0);\n });\n },\n confirmFilter2: function confirmFilter2() {\n var _$props = this.$props,\n column = _$props.column,\n propSelectedKeys = _$props.selectedKeys,\n confirmFilter = _$props.confirmFilter;\n var _$data = this.$data,\n selectedKeys = _$data.sSelectedKeys,\n valueKeys = _$data.sValueKeys;\n var filterDropdown = column.filterDropdown;\n\n\n if (!shallowequal(selectedKeys, propSelectedKeys)) {\n confirmFilter(column, filterDropdown ? selectedKeys : selectedKeys.map(function (key) {\n return valueKeys[key];\n }).filter(function (key) {\n return key !== undefined;\n }));\n }\n },\n renderMenus: function renderMenus(items) {\n var _this4 = this;\n\n var h = this.$createElement;\n var _$props2 = this.$props,\n dropdownPrefixCls = _$props2.dropdownPrefixCls,\n prefixCls = _$props2.prefixCls;\n\n return items.map(function (item) {\n if (item.children && item.children.length > 0) {\n var sKeyPathOfSelectedItem = _this4.sKeyPathOfSelectedItem;\n\n var containSelected = Object.keys(sKeyPathOfSelectedItem).some(function (key) {\n return sKeyPathOfSelectedItem[key].indexOf(item.value) >= 0;\n });\n var subMenuCls = classNames(prefixCls + '-dropdown-submenu', _defineProperty({}, dropdownPrefixCls + '-submenu-contain-selected', containSelected));\n return h(\n SubMenu,\n {\n attrs: { title: item.text, popupClassName: subMenuCls },\n key: item.value },\n [_this4.renderMenus(item.children)]\n );\n }\n return _this4.renderMenuItem(item);\n });\n },\n renderFilterIcon: function renderFilterIcon() {\n var _classNames2;\n\n var h = this.$createElement;\n var column = this.column,\n locale = this.locale,\n prefixCls = this.prefixCls,\n selectedKeys = this.selectedKeys;\n\n var filtered = selectedKeys && selectedKeys.length > 0;\n var filterIcon = column.filterIcon;\n if (typeof filterIcon === 'function') {\n filterIcon = filterIcon(filtered, column);\n }\n var dropdownIconClass = classNames((_classNames2 = {}, _defineProperty(_classNames2, prefixCls + '-selected', 'filtered' in column ? column.filtered : filtered), _defineProperty(_classNames2, prefixCls + '-open', this.getDropdownVisible()), _classNames2));\n if (!filterIcon) {\n return h(Icon, {\n attrs: {\n title: locale.filterTitle,\n type: 'filter',\n theme: 'filled'\n },\n 'class': dropdownIconClass,\n on: {\n 'click': stopPropagation\n }\n });\n }\n if (filterIcon.length === 1 && isValidElement(filterIcon[0])) {\n return cloneElement(filterIcon[0], {\n on: {\n click: stopPropagation\n },\n 'class': classNames(prefixCls + '-icon', dropdownIconClass)\n });\n }\n return h(\n 'span',\n { 'class': classNames(prefixCls + '-icon', dropdownIconClass) },\n [filterIcon]\n );\n },\n renderMenuItem: function renderMenuItem(item) {\n var h = this.$createElement;\n var column = this.column;\n var selectedKeys = this.$data.sSelectedKeys;\n\n var multiple = 'filterMultiple' in column ? column.filterMultiple : true;\n\n var input = multiple ? h(Checkbox, {\n attrs: { checked: selectedKeys && selectedKeys.indexOf(item.value) >= 0 }\n }) : h(Radio, {\n attrs: { checked: selectedKeys && selectedKeys.indexOf(item.value) >= 0 }\n });\n\n return h(\n MenuItem,\n { key: item.value },\n [input, h('span', [item.text])]\n );\n }\n },\n\n render: function render() {\n var _this5 = this;\n\n var h = arguments[0];\n var originSelectedKeys = this.$data.sSelectedKeys;\n var column = this.column,\n locale = this.locale,\n prefixCls = this.prefixCls,\n dropdownPrefixCls = this.dropdownPrefixCls,\n getPopupContainer = this.getPopupContainer;\n // default multiple selection in filter dropdown\n\n var multiple = 'filterMultiple' in column ? column.filterMultiple : true;\n var dropdownMenuClass = classNames(_defineProperty({}, dropdownPrefixCls + '-menu-without-submenu', !this.hasSubMenu()));\n var filterDropdown = column.filterDropdown;\n\n if (filterDropdown instanceof Function) {\n filterDropdown = filterDropdown({\n prefixCls: dropdownPrefixCls + '-custom',\n setSelectedKeys: function setSelectedKeys(selectedKeys) {\n return _this5.setSelectedKeys({ selectedKeys: selectedKeys });\n },\n selectedKeys: originSelectedKeys,\n confirm: this.handleConfirm,\n clearFilters: this.handleClearFilters,\n filters: column.filters,\n visible: this.getDropdownVisible(),\n column: column\n });\n }\n\n var menus = filterDropdown ? h(\n FilterDropdownMenuWrapper,\n { 'class': prefixCls + '-dropdown' },\n [filterDropdown]\n ) : h(\n FilterDropdownMenuWrapper,\n { 'class': prefixCls + '-dropdown' },\n [h(\n Menu,\n {\n attrs: {\n multiple: multiple,\n\n prefixCls: dropdownPrefixCls + '-menu',\n\n selectedKeys: originSelectedKeys && originSelectedKeys.map(function (val) {\n return val;\n }),\n getPopupContainer: getPopupContainer\n },\n on: {\n 'click': this.handleMenuItemClick,\n 'select': this.setSelectedKeys,\n 'deselect': this.setSelectedKeys\n },\n 'class': dropdownMenuClass\n },\n [this.renderMenus(column.filters)]\n ), h(\n 'div',\n { 'class': prefixCls + '-dropdown-btns' },\n [h(\n 'a',\n { 'class': prefixCls + '-dropdown-link confirm', on: {\n 'click': this.handleConfirm\n }\n },\n [locale.filterConfirm]\n ), h(\n 'a',\n { 'class': prefixCls + '-dropdown-link clear', on: {\n 'click': this.handleClearFilters\n }\n },\n [locale.filterReset]\n )]\n )]\n );\n\n return h(\n Dropdown,\n {\n attrs: {\n trigger: ['click'],\n placement: 'bottomRight',\n visible: this.getDropdownVisible(),\n\n getPopupContainer: getPopupContainer,\n forceRender: true\n },\n on: {\n 'visibleChange': this.onVisibleChange\n }\n },\n [h(\n 'template',\n { slot: 'overlay' },\n [menus]\n ), this.renderFilterIcon()]\n );\n }\n};","import _extends from 'babel-runtime/helpers/extends';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport Checkbox from '../checkbox';\nimport Radio from '../radio';\nimport { SelectionBoxProps } from './interface';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getOptionProps, getListeners } from '../_util/props-util';\n\nexport default {\n name: 'SelectionBox',\n mixins: [BaseMixin],\n props: SelectionBoxProps,\n computed: {\n checked: function checked() {\n var _$props = this.$props,\n store = _$props.store,\n defaultSelection = _$props.defaultSelection,\n rowIndex = _$props.rowIndex;\n\n var checked = false;\n if (store.selectionDirty) {\n checked = store.selectedRowKeys.indexOf(rowIndex) >= 0;\n } else {\n checked = store.selectedRowKeys.indexOf(rowIndex) >= 0 || defaultSelection.indexOf(rowIndex) >= 0;\n }\n return checked;\n }\n },\n render: function render() {\n var h = arguments[0];\n\n var _getOptionProps = getOptionProps(this),\n type = _getOptionProps.type,\n rowIndex = _getOptionProps.rowIndex,\n rest = _objectWithoutProperties(_getOptionProps, ['type', 'rowIndex']);\n\n var checked = this.checked;\n\n var checkboxProps = {\n props: _extends({\n checked: checked\n }, rest),\n on: getListeners(this)\n };\n if (type === 'radio') {\n checkboxProps.props.value = rowIndex;\n return h(Radio, checkboxProps);\n }\n return h(Checkbox, checkboxProps);\n }\n};","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport Checkbox from '../checkbox';\nimport Dropdown from '../dropdown';\nimport Menu from '../menu';\nimport Icon from '../icon';\nimport classNames from 'classnames';\nimport { SelectionCheckboxAllProps } from './interface';\nimport BaseMixin from '../_util/BaseMixin';\n\nfunction checkSelection(_ref) {\n var store = _ref.store,\n getCheckboxPropsByItem = _ref.getCheckboxPropsByItem,\n getRecordKey = _ref.getRecordKey,\n data = _ref.data,\n type = _ref.type,\n byDefaultChecked = _ref.byDefaultChecked;\n\n return byDefaultChecked ? data[type](function (item, i) {\n return getCheckboxPropsByItem(item, i).defaultChecked;\n }) : data[type](function (item, i) {\n return store.selectedRowKeys.indexOf(getRecordKey(item, i)) >= 0;\n });\n}\n\nfunction getIndeterminateState(props) {\n var store = props.store,\n data = props.data;\n\n if (!data.length) {\n return false;\n }\n\n var someCheckedNotByDefaultChecked = checkSelection(_extends({}, props, {\n data: data,\n type: 'some',\n byDefaultChecked: false\n })) && !checkSelection(_extends({}, props, {\n data: data,\n type: 'every',\n byDefaultChecked: false\n }));\n var someCheckedByDefaultChecked = checkSelection(_extends({}, props, {\n data: data,\n type: 'some',\n byDefaultChecked: true\n })) && !checkSelection(_extends({}, props, {\n data: data,\n type: 'every',\n byDefaultChecked: true\n }));\n\n if (store.selectionDirty) {\n return someCheckedNotByDefaultChecked;\n }\n return someCheckedNotByDefaultChecked || someCheckedByDefaultChecked;\n}\n\nfunction getCheckState(props) {\n var store = props.store,\n data = props.data;\n\n if (!data.length) {\n return false;\n }\n if (store.selectionDirty) {\n return checkSelection(_extends({}, props, {\n data: data,\n type: 'every',\n byDefaultChecked: false\n }));\n }\n return checkSelection(_extends({}, props, {\n data: data,\n type: 'every',\n byDefaultChecked: false\n })) || checkSelection(_extends({}, props, {\n data: data,\n type: 'every',\n byDefaultChecked: true\n }));\n}\n\nexport default {\n name: 'SelectionCheckboxAll',\n mixins: [BaseMixin],\n props: SelectionCheckboxAllProps,\n data: function data() {\n var props = this.$props;\n\n this.defaultSelections = props.hideDefaultSelections ? [] : [{\n key: 'all',\n text: props.locale.selectAll\n }, {\n key: 'invert',\n text: props.locale.selectInvert\n }];\n return {\n checked: getCheckState(props),\n indeterminate: getIndeterminateState(props)\n };\n },\n\n\n watch: {\n $props: {\n handler: function handler() {\n this.setCheckState(this.$props);\n },\n\n deep: true,\n immediate: true\n }\n },\n\n methods: {\n checkSelection: function checkSelection(props, data, type, byDefaultChecked) {\n var _ref2 = props || this.$props,\n store = _ref2.store,\n getCheckboxPropsByItem = _ref2.getCheckboxPropsByItem,\n getRecordKey = _ref2.getRecordKey;\n // type should be 'every' | 'some'\n\n\n if (type === 'every' || type === 'some') {\n return byDefaultChecked ? data[type](function (item, i) {\n return getCheckboxPropsByItem(item, i).props.defaultChecked;\n }) : data[type](function (item, i) {\n return store.selectedRowKeys.indexOf(getRecordKey(item, i)) >= 0;\n });\n }\n return false;\n },\n setCheckState: function setCheckState(props) {\n var checked = getCheckState(props);\n var indeterminate = getIndeterminateState(props);\n this.setState(function (prevState) {\n var newState = {};\n if (indeterminate !== prevState.indeterminate) {\n newState.indeterminate = indeterminate;\n }\n if (checked !== prevState.checked) {\n newState.checked = checked;\n }\n return newState;\n });\n },\n handleSelectAllChange: function handleSelectAllChange(e) {\n var checked = e.target.checked;\n\n this.$emit('select', checked ? 'all' : 'removeAll', 0, null);\n },\n renderMenus: function renderMenus(selections) {\n var _this = this;\n\n var h = this.$createElement;\n\n return selections.map(function (selection, index) {\n return h(\n Menu.Item,\n { key: selection.key || index },\n [h(\n 'div',\n {\n on: {\n 'click': function click() {\n _this.$emit('select', selection.key, index, selection.onSelect);\n }\n }\n },\n [selection.text]\n )]\n );\n });\n }\n },\n\n render: function render() {\n var h = arguments[0];\n var disabled = this.disabled,\n prefixCls = this.prefixCls,\n selections = this.selections,\n getPopupContainer = this.getPopupContainer,\n checked = this.checked,\n indeterminate = this.indeterminate;\n\n\n var selectionPrefixCls = prefixCls + '-selection';\n\n var customSelections = null;\n\n if (selections) {\n var newSelections = Array.isArray(selections) ? this.defaultSelections.concat(selections) : this.defaultSelections;\n\n var menu = h(\n Menu,\n { 'class': selectionPrefixCls + '-menu', attrs: { selectedKeys: [] }\n },\n [this.renderMenus(newSelections)]\n );\n\n customSelections = newSelections.length > 0 ? h(\n Dropdown,\n {\n attrs: { getPopupContainer: getPopupContainer }\n },\n [h(\n 'template',\n { slot: 'overlay' },\n [menu]\n ), h(\n 'div',\n { 'class': selectionPrefixCls + '-down' },\n [h(Icon, {\n attrs: { type: 'down' }\n })]\n )]\n ) : null;\n }\n\n return h(\n 'div',\n { 'class': selectionPrefixCls },\n [h(Checkbox, {\n 'class': classNames(_defineProperty({}, selectionPrefixCls + '-select-all-custom', customSelections)),\n attrs: { checked: checked,\n indeterminate: indeterminate,\n disabled: disabled\n },\n on: {\n 'change': this.handleSelectAllChange\n }\n }), customSelections]\n );\n }\n};","import { ColumnProps } from './interface';\n\nexport default {\n name: 'ATableColumn',\n props: ColumnProps\n};","import PropTypes from '../_util/vue-types';\n\nexport default {\n name: 'ATableColumnGroup',\n props: {\n fixed: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['left', 'right'])]),\n title: PropTypes.any\n },\n __ANT_TABLE_COLUMN_GROUP: true\n};","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport PropTypes from '../_util/vue-types';\nimport { getListeners } from '../_util/props-util';\n\nvar BodyRowProps = {\n store: PropTypes.any,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n prefixCls: PropTypes.string\n};\n\nexport default function createBodyRow() {\n var Component = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'tr';\n\n var BodyRow = {\n name: 'BodyRow',\n props: BodyRowProps,\n computed: {\n selected: function selected() {\n return this.$props.store.selectedRowKeys.indexOf(this.$props.rowKey) >= 0;\n }\n },\n render: function render() {\n var h = arguments[0];\n\n var className = _defineProperty({}, this.prefixCls + '-row-selected', this.selected);\n\n return h(\n Component,\n _mergeJSXProps([{ 'class': className }, { on: getListeners(this) }]),\n [this.$slots['default']]\n );\n }\n };\n\n return BodyRow;\n}","import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _toConsumableArray from 'babel-runtime/helpers/toConsumableArray';\nimport _typeof from 'babel-runtime/helpers/typeof';\nimport _extends from 'babel-runtime/helpers/extends';\nimport VcTable, { INTERNAL_COL_DEFINE } from '../vc-table';\nimport classNames from 'classnames';\nimport shallowEqual from 'shallowequal';\nimport FilterDropdown from './filterDropdown';\nimport SelectionBox from './SelectionBox';\nimport SelectionCheckboxAll from './SelectionCheckboxAll';\nimport Column from './Column';\nimport ColumnGroup from './ColumnGroup';\nimport createBodyRow from './createBodyRow';\nimport { flatArray, treeMap, flatFilter } from './util';\nimport { initDefaultProps, mergeProps, getOptionProps, getListeners } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport { TableProps } from './interface';\nimport Pagination from '../pagination';\nimport Icon from '../icon';\nimport Spin from '../spin';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport defaultLocale from '../locale-provider/default';\nimport warning from '../_util/warning';\nimport scrollTo from '../_util/scrollTo';\nimport TransButton from '../_util/transButton';\nimport Vue from 'vue';\n\nfunction noop() {}\n\nfunction stopPropagation(e) {\n e.stopPropagation();\n}\n\nfunction getRowSelection(props) {\n return props.rowSelection || {};\n}\n\nfunction getColumnKey(column, index) {\n return column.key || column.dataIndex || index;\n}\n\nfunction isSameColumn(a, b) {\n if (a && b && a.key && a.key === b.key) {\n return true;\n }\n return a === b || shallowEqual(a, b, function (value, other) {\n // https://github.com/ant-design/ant-design/issues/12737\n if (typeof value === 'function' && typeof other === 'function') {\n return value === other || value.toString() === other.toString();\n }\n // https://github.com/ant-design/ant-design/issues/19398\n if (Array.isArray(value) && Array.isArray(other)) {\n return value === other || shallowEqual(value, other);\n }\n });\n}\n\nvar defaultPagination = {\n onChange: noop,\n onShowSizeChange: noop\n};\n\n/**\n * Avoid creating new object, so that parent component's shouldComponentUpdate\n * can works appropriately。\n */\nvar emptyObject = {};\n\nvar createComponents = function createComponents() {\n var components = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var bodyRow = components && components.body && components.body.row;\n return _extends({}, components, {\n body: _extends({}, components.body, {\n row: createBodyRow(bodyRow)\n })\n });\n};\n\nfunction isTheSameComponents() {\n var components1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var components2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return components1 === components2 || ['table', 'header', 'body'].every(function (key) {\n return shallowEqual(components1[key], components2[key]);\n });\n}\n\nfunction getFilteredValueColumns(state, columns) {\n return flatFilter(columns || (state || {}).columns || [], function (column) {\n return typeof column.filteredValue !== 'undefined';\n });\n}\n\nfunction getFiltersFromColumns(state, columns) {\n var filters = {};\n getFilteredValueColumns(state, columns).forEach(function (col) {\n var colKey = getColumnKey(col);\n filters[colKey] = col.filteredValue;\n });\n return filters;\n}\n\nfunction isFiltersChanged(state, filters) {\n if (Object.keys(filters).length !== Object.keys(state.filters).length) {\n return true;\n }\n return Object.keys(filters).some(function (columnKey) {\n return filters[columnKey] !== state.filters[columnKey];\n });\n}\n\nexport default {\n name: 'Table',\n Column: Column,\n ColumnGroup: ColumnGroup,\n mixins: [BaseMixin],\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n provide: function provide() {\n return {\n store: this.store\n };\n },\n\n props: initDefaultProps(TableProps, {\n dataSource: [],\n useFixedHeader: false,\n // rowSelection: null,\n size: 'default',\n loading: false,\n bordered: false,\n indentSize: 20,\n locale: {},\n rowKey: 'key',\n showHeader: true,\n sortDirections: ['ascend', 'descend'],\n childrenColumnName: 'children'\n }),\n\n data: function data() {\n var props = getOptionProps(this);\n warning(!props.expandedRowRender || !('scroll' in props) || !props.scroll.x, '`expandedRowRender` and `scroll` are not compatible. Please use one of them at one time.');\n this.CheckboxPropsCache = {};\n\n this.store = (this.$root.constructor.observable || Vue.observable)({\n selectedRowKeys: getRowSelection(this.$props).selectedRowKeys || [],\n selectionDirty: false\n });\n return _extends({}, this.getDefaultSortOrder(props.columns || []), {\n // 减少状态\n sFilters: this.getDefaultFilters(props.columns),\n sPagination: this.getDefaultPagination(this.$props),\n pivot: undefined,\n sComponents: createComponents(this.components),\n filterDataCnt: 0\n });\n },\n\n watch: {\n pagination: {\n handler: function handler(val) {\n this.setState(function (previousState) {\n var newPagination = _extends({}, defaultPagination, previousState.sPagination, val);\n newPagination.current = newPagination.current || 1;\n newPagination.pageSize = newPagination.pageSize || 10;\n return { sPagination: val !== false ? newPagination : emptyObject };\n });\n },\n\n deep: true\n },\n rowSelection: {\n handler: function handler(val, oldVal) {\n if (val && 'selectedRowKeys' in val) {\n this.store.selectedRowKeys = val.selectedRowKeys || [];\n var rowSelection = this.rowSelection;\n\n if (rowSelection && val.getCheckboxProps !== rowSelection.getCheckboxProps) {\n this.CheckboxPropsCache = {};\n }\n } else if (oldVal && !val) {\n this.store.selectedRowKeys = [];\n }\n },\n\n deep: true\n },\n\n dataSource: function dataSource() {\n this.store.selectionDirty = false;\n this.CheckboxPropsCache = {};\n },\n columns: function columns(val) {\n var filteredValueColumns = getFilteredValueColumns({ columns: val }, val);\n if (filteredValueColumns.length > 0) {\n var filtersFromColumns = getFiltersFromColumns({ columns: val }, val);\n var newFilters = _extends({}, this.sFilters);\n Object.keys(filtersFromColumns).forEach(function (key) {\n newFilters[key] = filtersFromColumns[key];\n });\n if (isFiltersChanged({ filters: this.sFilters }, newFilters)) {\n this.setState({ sFilters: newFilters });\n }\n }\n this.$forceUpdate();\n },\n\n components: {\n handler: function handler(val, oldVal) {\n if (!isTheSameComponents(val, oldVal)) {\n var components = createComponents(val);\n this.setState({ sComponents: components });\n }\n },\n\n deep: true\n }\n },\n updated: function updated() {\n var columns = this.columns,\n sortColumn = this.sSortColumn,\n sortOrder = this.sSortOrder;\n\n if (this.getSortOrderColumns(columns).length > 0) {\n var sortState = this.getSortStateFromColumns(columns);\n if (!isSameColumn(sortState.sSortColumn, sortColumn) || sortState.sSortOrder !== sortOrder) {\n this.setState(sortState);\n }\n }\n },\n\n methods: {\n getCheckboxPropsByItem: function getCheckboxPropsByItem(item, index) {\n var rowSelection = getRowSelection(this.$props);\n if (!rowSelection.getCheckboxProps) {\n return { props: {} };\n }\n var key = this.getRecordKey(item, index);\n // Cache checkboxProps\n if (!this.CheckboxPropsCache[key]) {\n this.CheckboxPropsCache[key] = rowSelection.getCheckboxProps(item);\n }\n this.CheckboxPropsCache[key].props = this.CheckboxPropsCache[key].props || {};\n return this.CheckboxPropsCache[key];\n },\n getDefaultSelection: function getDefaultSelection() {\n var _this = this;\n\n var rowSelection = getRowSelection(this.$props);\n if (!rowSelection.getCheckboxProps) {\n return [];\n }\n return this.getFlatData().filter(function (item, rowIndex) {\n return _this.getCheckboxPropsByItem(item, rowIndex).props.defaultChecked;\n }).map(function (record, rowIndex) {\n return _this.getRecordKey(record, rowIndex);\n });\n },\n getDefaultPagination: function getDefaultPagination(props) {\n var pagination = _typeof(props.pagination) === 'object' ? props.pagination : {};\n var current = void 0;\n if ('current' in pagination) {\n current = pagination.current;\n } else if ('defaultCurrent' in pagination) {\n current = pagination.defaultCurrent;\n }\n var pageSize = void 0;\n if ('pageSize' in pagination) {\n pageSize = pagination.pageSize;\n } else if ('defaultPageSize' in pagination) {\n pageSize = pagination.defaultPageSize;\n }\n return this.hasPagination(props) ? _extends({}, defaultPagination, pagination, {\n current: current || 1,\n pageSize: pageSize || 10\n }) : {};\n },\n getSortOrderColumns: function getSortOrderColumns(columns) {\n return flatFilter(columns || this.columns || [], function (column) {\n return 'sortOrder' in column;\n });\n },\n getDefaultFilters: function getDefaultFilters(columns) {\n var definedFilters = getFiltersFromColumns({ columns: this.columns }, columns);\n\n var defaultFilteredValueColumns = flatFilter(columns || [], function (column) {\n return typeof column.defaultFilteredValue !== 'undefined';\n });\n\n var defaultFilters = defaultFilteredValueColumns.reduce(function (soFar, col) {\n var colKey = getColumnKey(col);\n soFar[colKey] = col.defaultFilteredValue;\n return soFar;\n }, {});\n\n return _extends({}, defaultFilters, definedFilters);\n },\n getDefaultSortOrder: function getDefaultSortOrder(columns) {\n var definedSortState = this.getSortStateFromColumns(columns);\n\n var defaultSortedColumn = flatFilter(columns || [], function (column) {\n return column.defaultSortOrder != null;\n })[0];\n\n if (defaultSortedColumn && !definedSortState.sortColumn) {\n return {\n sSortColumn: defaultSortedColumn,\n sSortOrder: defaultSortedColumn.defaultSortOrder\n };\n }\n\n return definedSortState;\n },\n getSortStateFromColumns: function getSortStateFromColumns(columns) {\n // return first column which sortOrder is not falsy\n var sortedColumn = this.getSortOrderColumns(columns).filter(function (col) {\n return col.sortOrder;\n })[0];\n\n if (sortedColumn) {\n return {\n sSortColumn: sortedColumn,\n sSortOrder: sortedColumn.sortOrder\n };\n }\n\n return {\n sSortColumn: null,\n sSortOrder: null\n };\n },\n getMaxCurrent: function getMaxCurrent(total) {\n var _sPagination = this.sPagination,\n current = _sPagination.current,\n pageSize = _sPagination.pageSize;\n\n if ((current - 1) * pageSize >= total) {\n return Math.floor((total - 1) / pageSize) + 1;\n }\n return current;\n },\n getRecordKey: function getRecordKey(record, index) {\n var rowKey = this.rowKey;\n\n var recordKey = typeof rowKey === 'function' ? rowKey(record, index) : record[rowKey];\n warning(recordKey !== undefined, 'Table', 'Each record in dataSource of table should have a unique `key` prop, ' + 'or set `rowKey` of Table to an unique primary key, ');\n return recordKey === undefined ? index : recordKey;\n },\n getSorterFn: function getSorterFn(state) {\n var _ref = state || this.$data,\n sortOrder = _ref.sSortOrder,\n sortColumn = _ref.sSortColumn;\n\n if (!sortOrder || !sortColumn || typeof sortColumn.sorter !== 'function') {\n return;\n }\n\n return function (a, b) {\n var result = sortColumn.sorter(a, b, sortOrder);\n if (result !== 0) {\n return sortOrder === 'descend' ? -result : result;\n }\n return 0;\n };\n },\n getCurrentPageData: function getCurrentPageData() {\n var data = this.getLocalData();\n this.filterDataCnt = data.length;\n var current = void 0;\n var pageSize = void 0;\n var sPagination = this.sPagination;\n // 如果没有分页的话,默认全部展示\n if (!this.hasPagination()) {\n pageSize = Number.MAX_VALUE;\n current = 1;\n } else {\n pageSize = sPagination.pageSize;\n current = this.getMaxCurrent(sPagination.total || data.length);\n }\n\n // 分页\n // ---\n // 当数据量少于等于每页数量时,直接设置数据\n // 否则进行读取分页数据\n if (data.length > pageSize || pageSize === Number.MAX_VALUE) {\n data = data.slice((current - 1) * pageSize, current * pageSize);\n }\n return data;\n },\n getFlatData: function getFlatData() {\n var childrenColumnName = this.$props.childrenColumnName;\n\n return flatArray(this.getLocalData(null, false), childrenColumnName);\n },\n getFlatCurrentPageData: function getFlatCurrentPageData() {\n var childrenColumnName = this.$props.childrenColumnName;\n\n return flatArray(this.getCurrentPageData(), childrenColumnName);\n },\n getLocalData: function getLocalData(state) {\n var _this2 = this;\n\n var filter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n var currentState = state || this.$data;\n var filters = currentState.sFilters;\n var dataSource = this.$props.dataSource;\n\n var data = dataSource || [];\n // 优化本地排序\n data = data.slice(0);\n var sorterFn = this.getSorterFn(currentState);\n if (sorterFn) {\n // 使用新数组,避免改变原数组导致无限循环更新\n // https://github.com/vueComponent/ant-design-vue/issues/2270\n data = this.recursiveSort([].concat(_toConsumableArray(data)), sorterFn);\n }\n // 筛选\n if (filter && filters) {\n Object.keys(filters).forEach(function (columnKey) {\n var col = _this2.findColumn(columnKey);\n if (!col) {\n return;\n }\n var values = filters[columnKey] || [];\n if (values.length === 0) {\n return;\n }\n var onFilter = col.onFilter;\n data = onFilter ? data.filter(function (record) {\n return values.some(function (v) {\n return onFilter(v, record);\n });\n }) : data;\n });\n }\n return data;\n },\n onRow: function onRow(prefixCls, record, index) {\n var customRow = this.customRow;\n\n var custom = customRow ? customRow(record, index) : {};\n return mergeProps(custom, {\n props: {\n prefixCls: prefixCls,\n store: this.store,\n rowKey: this.getRecordKey(record, index)\n }\n });\n },\n setSelectedRowKeys: function setSelectedRowKeys(selectedRowKeys, selectionInfo) {\n var _this3 = this;\n\n var selectWay = selectionInfo.selectWay,\n record = selectionInfo.record,\n checked = selectionInfo.checked,\n changeRowKeys = selectionInfo.changeRowKeys,\n nativeEvent = selectionInfo.nativeEvent;\n\n var rowSelection = getRowSelection(this.$props);\n if (rowSelection && !('selectedRowKeys' in rowSelection)) {\n this.store.selectedRowKeys = selectedRowKeys;\n }\n var data = this.getFlatData();\n if (!rowSelection.onChange && !rowSelection[selectWay]) {\n return;\n }\n var selectedRows = data.filter(function (row, i) {\n return selectedRowKeys.indexOf(_this3.getRecordKey(row, i)) >= 0;\n });\n if (rowSelection.onChange) {\n rowSelection.onChange(selectedRowKeys, selectedRows);\n }\n if (selectWay === 'onSelect' && rowSelection.onSelect) {\n rowSelection.onSelect(record, checked, selectedRows, nativeEvent);\n } else if (selectWay === 'onSelectMultiple' && rowSelection.onSelectMultiple) {\n var changeRows = data.filter(function (row, i) {\n return changeRowKeys.indexOf(_this3.getRecordKey(row, i)) >= 0;\n });\n rowSelection.onSelectMultiple(checked, selectedRows, changeRows);\n } else if (selectWay === 'onSelectAll' && rowSelection.onSelectAll) {\n var _changeRows = data.filter(function (row, i) {\n return changeRowKeys.indexOf(_this3.getRecordKey(row, i)) >= 0;\n });\n rowSelection.onSelectAll(checked, selectedRows, _changeRows);\n } else if (selectWay === 'onSelectInvert' && rowSelection.onSelectInvert) {\n rowSelection.onSelectInvert(selectedRowKeys);\n }\n },\n generatePopupContainerFunc: function generatePopupContainerFunc(getPopupContainer) {\n var scroll = this.$props.scroll;\n\n var table = this.$refs.vcTable;\n if (getPopupContainer) {\n return getPopupContainer;\n }\n // Use undefined to let rc component use default logic.\n return scroll && table ? function () {\n return table.getTableNode();\n } : undefined;\n },\n scrollToFirstRow: function scrollToFirstRow() {\n var _this4 = this;\n\n var scroll = this.$props.scroll;\n\n if (scroll && scroll.scrollToFirstRowOnChange !== false) {\n scrollTo(0, {\n getContainer: function getContainer() {\n return _this4.$refs.vcTable.getBodyTable();\n }\n });\n }\n },\n isSameColumn: function isSameColumn(a, b) {\n if (a && b && a.key && a.key === b.key) {\n return true;\n }\n return a === b || shallowEqual(a, b, function (value, other) {\n if (typeof value === 'function' && typeof other === 'function') {\n return value === other || value.toString() === other.toString();\n }\n });\n },\n handleFilter: function handleFilter(column, nextFilters) {\n var _this5 = this;\n\n var props = this.$props;\n var pagination = _extends({}, this.sPagination);\n var filters = _extends({}, this.sFilters, _defineProperty({}, getColumnKey(column), nextFilters));\n // Remove filters not in current columns\n var currentColumnKeys = [];\n treeMap(this.columns, function (c) {\n if (!c.children) {\n currentColumnKeys.push(getColumnKey(c));\n }\n });\n Object.keys(filters).forEach(function (columnKey) {\n if (currentColumnKeys.indexOf(columnKey) < 0) {\n delete filters[columnKey];\n }\n });\n\n if (props.pagination) {\n // Reset current prop\n pagination.current = 1;\n pagination.onChange(pagination.current);\n }\n\n var newState = {\n sPagination: pagination,\n sFilters: {}\n };\n var filtersToSetState = _extends({}, filters);\n // Remove filters which is controlled\n getFilteredValueColumns({ columns: props.columns }).forEach(function (col) {\n var columnKey = getColumnKey(col);\n if (columnKey) {\n delete filtersToSetState[columnKey];\n }\n });\n if (Object.keys(filtersToSetState).length > 0) {\n newState.sFilters = filtersToSetState;\n }\n\n // Controlled current prop will not respond user interaction\n if (_typeof(props.pagination) === 'object' && 'current' in props.pagination) {\n newState.sPagination = _extends({}, pagination, {\n current: this.sPagination.current\n });\n }\n\n this.setState(newState, function () {\n _this5.scrollToFirstRow();\n _this5.store.selectionDirty = false;\n _this5.$emit.apply(_this5, ['change'].concat(_toConsumableArray(_this5.prepareParamsArguments(_extends({}, _this5.$data, {\n sSelectionDirty: false,\n sFilters: filters,\n sPagination: pagination\n })))));\n });\n },\n handleSelect: function handleSelect(record, rowIndex, e) {\n var _this6 = this;\n\n var checked = e.target.checked;\n var nativeEvent = e.nativeEvent;\n var defaultSelection = this.store.selectionDirty ? [] : this.getDefaultSelection();\n var selectedRowKeys = this.store.selectedRowKeys.concat(defaultSelection);\n var key = this.getRecordKey(record, rowIndex);\n var pivot = this.$data.pivot;\n\n var rows = this.getFlatCurrentPageData();\n var realIndex = rowIndex;\n if (this.$props.expandedRowRender) {\n realIndex = rows.findIndex(function (row) {\n return _this6.getRecordKey(row, rowIndex) === key;\n });\n }\n if (nativeEvent.shiftKey && pivot !== undefined && realIndex !== pivot) {\n var changeRowKeys = [];\n var direction = Math.sign(pivot - realIndex);\n var dist = Math.abs(pivot - realIndex);\n var step = 0;\n\n var _loop = function _loop() {\n var i = realIndex + step * direction;\n step += 1;\n var row = rows[i];\n var rowKey = _this6.getRecordKey(row, i);\n var checkboxProps = _this6.getCheckboxPropsByItem(row, i);\n if (!checkboxProps.disabled) {\n if (selectedRowKeys.includes(rowKey)) {\n if (!checked) {\n selectedRowKeys = selectedRowKeys.filter(function (j) {\n return rowKey !== j;\n });\n changeRowKeys.push(rowKey);\n }\n } else if (checked) {\n selectedRowKeys.push(rowKey);\n changeRowKeys.push(rowKey);\n }\n }\n };\n\n while (step <= dist) {\n _loop();\n }\n\n this.setState({ pivot: realIndex });\n this.store.selectionDirty = true;\n this.setSelectedRowKeys(selectedRowKeys, {\n selectWay: 'onSelectMultiple',\n record: record,\n checked: checked,\n changeRowKeys: changeRowKeys,\n nativeEvent: nativeEvent\n });\n } else {\n if (checked) {\n selectedRowKeys.push(this.getRecordKey(record, realIndex));\n } else {\n selectedRowKeys = selectedRowKeys.filter(function (i) {\n return key !== i;\n });\n }\n this.setState({ pivot: realIndex });\n this.store.selectionDirty = true;\n this.setSelectedRowKeys(selectedRowKeys, {\n selectWay: 'onSelect',\n record: record,\n checked: checked,\n changeRowKeys: undefined,\n nativeEvent: nativeEvent\n });\n }\n },\n handleRadioSelect: function handleRadioSelect(record, rowIndex, e) {\n var checked = e.target.checked;\n var nativeEvent = e.nativeEvent;\n var key = this.getRecordKey(record, rowIndex);\n var selectedRowKeys = [key];\n this.store.selectionDirty = true;\n this.setSelectedRowKeys(selectedRowKeys, {\n selectWay: 'onSelect',\n record: record,\n checked: checked,\n changeRowKeys: undefined,\n nativeEvent: nativeEvent\n });\n },\n handleSelectRow: function handleSelectRow(selectionKey, index, onSelectFunc) {\n var _this7 = this;\n\n var data = this.getFlatCurrentPageData();\n var defaultSelection = this.store.selectionDirty ? [] : this.getDefaultSelection();\n var selectedRowKeys = this.store.selectedRowKeys.concat(defaultSelection);\n var changeableRowKeys = data.filter(function (item, i) {\n return !_this7.getCheckboxPropsByItem(item, i).props.disabled;\n }).map(function (item, i) {\n return _this7.getRecordKey(item, i);\n });\n\n var changeRowKeys = [];\n var selectWay = 'onSelectAll';\n var checked = void 0;\n // handle default selection\n switch (selectionKey) {\n case 'all':\n changeableRowKeys.forEach(function (key) {\n if (selectedRowKeys.indexOf(key) < 0) {\n selectedRowKeys.push(key);\n changeRowKeys.push(key);\n }\n });\n selectWay = 'onSelectAll';\n checked = true;\n break;\n case 'removeAll':\n changeableRowKeys.forEach(function (key) {\n if (selectedRowKeys.indexOf(key) >= 0) {\n selectedRowKeys.splice(selectedRowKeys.indexOf(key), 1);\n changeRowKeys.push(key);\n }\n });\n selectWay = 'onSelectAll';\n checked = false;\n break;\n case 'invert':\n changeableRowKeys.forEach(function (key) {\n if (selectedRowKeys.indexOf(key) < 0) {\n selectedRowKeys.push(key);\n } else {\n selectedRowKeys.splice(selectedRowKeys.indexOf(key), 1);\n }\n changeRowKeys.push(key);\n selectWay = 'onSelectInvert';\n });\n break;\n default:\n break;\n }\n\n this.store.selectionDirty = true;\n // when select custom selection, callback selections[n].onSelect\n var rowSelection = this.rowSelection;\n\n var customSelectionStartIndex = 2;\n if (rowSelection && rowSelection.hideDefaultSelections) {\n customSelectionStartIndex = 0;\n }\n if (index >= customSelectionStartIndex && typeof onSelectFunc === 'function') {\n return onSelectFunc(changeableRowKeys);\n }\n this.setSelectedRowKeys(selectedRowKeys, {\n selectWay: selectWay,\n checked: checked,\n changeRowKeys: changeRowKeys\n });\n },\n handlePageChange: function handlePageChange(current) {\n var props = this.$props;\n var pagination = _extends({}, this.sPagination);\n if (current) {\n pagination.current = current;\n } else {\n pagination.current = pagination.current || 1;\n }\n\n for (var _len = arguments.length, otherArguments = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n otherArguments[_key - 1] = arguments[_key];\n }\n\n pagination.onChange.apply(pagination, [pagination.current].concat(_toConsumableArray(otherArguments)));\n\n var newState = {\n sPagination: pagination\n };\n // Controlled current prop will not respond user interaction\n if (props.pagination && _typeof(props.pagination) === 'object' && 'current' in props.pagination) {\n newState.sPagination = _extends({}, pagination, {\n current: this.sPagination.current\n });\n }\n this.setState(newState, this.scrollToFirstRow);\n\n this.store.selectionDirty = false;\n this.$emit.apply(this, ['change'].concat(_toConsumableArray(this.prepareParamsArguments(_extends({}, this.$data, {\n sSelectionDirty: false,\n sPagination: pagination\n })))));\n },\n handleShowSizeChange: function handleShowSizeChange(current, pageSize) {\n var pagination = this.sPagination;\n pagination.onShowSizeChange(current, pageSize);\n var nextPagination = _extends({}, pagination, {\n pageSize: pageSize,\n current: current\n });\n this.setState({ sPagination: nextPagination }, this.scrollToFirstRow);\n this.$emit.apply(this, ['change'].concat(_toConsumableArray(this.prepareParamsArguments(_extends({}, this.$data, {\n sPagination: nextPagination\n })))));\n },\n toggleSortOrder: function toggleSortOrder(column) {\n var sortDirections = column.sortDirections || this.sortDirections;\n var sortOrder = this.sSortOrder,\n sortColumn = this.sSortColumn;\n // 只同时允许一列进行排序,否则会导致排序顺序的逻辑问题\n\n var newSortOrder = void 0;\n // 切换另一列时,丢弃 sortOrder 的状态\n if (isSameColumn(sortColumn, column) && sortOrder !== undefined) {\n // 按照sortDirections的内容依次切换排序状态\n var methodIndex = sortDirections.indexOf(sortOrder) + 1;\n newSortOrder = methodIndex === sortDirections.length ? undefined : sortDirections[methodIndex];\n } else {\n newSortOrder = sortDirections[0];\n }\n var newState = {\n sSortOrder: newSortOrder,\n sSortColumn: newSortOrder ? column : null\n };\n\n // Controlled\n if (this.getSortOrderColumns().length === 0) {\n this.setState(newState, this.scrollToFirstRow);\n }\n this.$emit.apply(this, ['change'].concat(_toConsumableArray(this.prepareParamsArguments(_extends({}, this.$data, newState), column))));\n },\n hasPagination: function hasPagination(props) {\n return (props || this.$props).pagination !== false;\n },\n isSortColumn: function isSortColumn(column) {\n var sortColumn = this.sSortColumn;\n\n if (!column || !sortColumn) {\n return false;\n }\n return getColumnKey(sortColumn) === getColumnKey(column);\n },\n\n\n // Get pagination, filters, sorter\n prepareParamsArguments: function prepareParamsArguments(state, column) {\n var pagination = _extends({}, state.sPagination);\n // remove useless handle function in Table.onChange\n delete pagination.onChange;\n delete pagination.onShowSizeChange;\n var filters = state.sFilters;\n var sorter = {};\n var currentColumn = column;\n if (state.sSortColumn && state.sSortOrder) {\n currentColumn = state.sSortColumn;\n sorter.column = state.sSortColumn;\n sorter.order = state.sSortOrder;\n }\n\n if (currentColumn) {\n sorter.field = currentColumn.dataIndex;\n sorter.columnKey = getColumnKey(currentColumn);\n }\n\n var extra = {\n currentDataSource: this.getLocalData(state)\n };\n\n return [pagination, filters, sorter, extra];\n },\n findColumn: function findColumn(myKey) {\n var column = void 0;\n treeMap(this.columns, function (c) {\n if (getColumnKey(c) === myKey) {\n column = c;\n }\n });\n return column;\n },\n recursiveSort: function recursiveSort(data, sorterFn) {\n var _this8 = this;\n\n var _childrenColumnName = this.childrenColumnName,\n childrenColumnName = _childrenColumnName === undefined ? 'children' : _childrenColumnName;\n\n return data.sort(sorterFn).map(function (item) {\n return item[childrenColumnName] ? _extends({}, item, _defineProperty({}, childrenColumnName, _this8.recursiveSort([].concat(_toConsumableArray(item[childrenColumnName])), sorterFn))) : item;\n });\n },\n renderExpandIcon: function renderExpandIcon(prefixCls) {\n var h = this.$createElement;\n\n return function (_ref2) {\n var expandable = _ref2.expandable,\n expanded = _ref2.expanded,\n needIndentSpaced = _ref2.needIndentSpaced,\n record = _ref2.record,\n onExpand = _ref2.onExpand;\n\n if (expandable) {\n return h(\n LocaleReceiver,\n {\n attrs: { componentName: 'Table', defaultLocale: defaultLocale.Table }\n },\n [function (locale) {\n var _classNames;\n\n return h(TransButton, {\n 'class': classNames(prefixCls + '-row-expand-icon', (_classNames = {}, _defineProperty(_classNames, prefixCls + '-row-collapsed', !expanded), _defineProperty(_classNames, prefixCls + '-row-expanded', expanded), _classNames)),\n on: {\n 'click': function click(event) {\n onExpand(record, event);\n }\n },\n attrs: {\n 'aria-label': expanded ? locale.collapse : locale.expand,\n noStyle: true\n }\n });\n }]\n );\n }\n\n if (needIndentSpaced) {\n return h('span', { 'class': prefixCls + '-row-expand-icon ' + prefixCls + '-row-spaced' });\n }\n\n return null;\n };\n },\n renderPagination: function renderPagination(prefixCls, paginationPosition) {\n var h = this.$createElement;\n\n // 强制不需要分页\n if (!this.hasPagination()) {\n return null;\n }\n var size = 'default';\n var pagination = this.sPagination;\n\n if (pagination.size) {\n size = pagination.size;\n } else if (this.size === 'middle' || this.size === 'small') {\n size = 'small';\n }\n var position = pagination.position || 'bottom';\n var total = pagination.total || this.filterDataCnt;\n\n var cls = pagination['class'],\n style = pagination.style,\n onChange = pagination.onChange,\n onShowSizeChange = pagination.onShowSizeChange,\n restProps = _objectWithoutProperties(pagination, ['class', 'style', 'onChange', 'onShowSizeChange']); // eslint-disable-line\n\n\n var paginationProps = mergeProps({\n key: 'pagination-' + paginationPosition,\n 'class': classNames(cls, prefixCls + '-pagination'),\n props: _extends({}, restProps, {\n total: total,\n size: size,\n current: this.getMaxCurrent(total)\n }),\n style: style,\n on: {\n change: this.handlePageChange,\n showSizeChange: this.handleShowSizeChange\n }\n });\n return total > 0 && (position === paginationPosition || position === 'both') ? h(Pagination, paginationProps) : null;\n },\n renderSelectionBox: function renderSelectionBox(type) {\n var _this9 = this;\n\n var h = this.$createElement;\n\n return function (_, record, index) {\n var rowKey = _this9.getRecordKey(record, index); // 从 1 开始\n var props = _this9.getCheckboxPropsByItem(record, index);\n var handleChange = function handleChange(e) {\n type === 'radio' ? _this9.handleRadioSelect(record, index, e) : _this9.handleSelect(record, index, e);\n };\n var selectionBoxProps = mergeProps({\n props: {\n type: type,\n store: _this9.store,\n rowIndex: rowKey,\n defaultSelection: _this9.getDefaultSelection()\n },\n on: {\n change: handleChange\n }\n }, props);\n\n return h(\n 'span',\n {\n on: {\n 'click': stopPropagation\n }\n },\n [h(SelectionBox, selectionBoxProps)]\n );\n };\n },\n renderRowSelection: function renderRowSelection(_ref3) {\n var _this10 = this;\n\n var prefixCls = _ref3.prefixCls,\n locale = _ref3.locale,\n getPopupContainer = _ref3.getPopupContainer;\n var h = this.$createElement;\n var rowSelection = this.rowSelection;\n\n var columns = this.columns.concat();\n if (rowSelection) {\n var data = this.getFlatCurrentPageData().filter(function (item, index) {\n if (rowSelection.getCheckboxProps) {\n return !_this10.getCheckboxPropsByItem(item, index).props.disabled;\n }\n return true;\n });\n var selectionColumnClass = classNames(prefixCls + '-selection-column', _defineProperty({}, prefixCls + '-selection-column-custom', rowSelection.selections));\n var selectionColumn = _defineProperty({\n key: 'selection-column',\n customRender: this.renderSelectionBox(rowSelection.type),\n className: selectionColumnClass,\n fixed: rowSelection.fixed,\n width: rowSelection.columnWidth,\n title: rowSelection.columnTitle\n }, INTERNAL_COL_DEFINE, {\n 'class': prefixCls + '-selection-col'\n });\n if (rowSelection.type !== 'radio') {\n var checkboxAllDisabled = data.every(function (item, index) {\n return _this10.getCheckboxPropsByItem(item, index).props.disabled;\n });\n selectionColumn.title = selectionColumn.title || h(SelectionCheckboxAll, {\n attrs: {\n store: this.store,\n locale: locale,\n data: data,\n getCheckboxPropsByItem: this.getCheckboxPropsByItem,\n getRecordKey: this.getRecordKey,\n disabled: checkboxAllDisabled,\n prefixCls: prefixCls,\n\n selections: rowSelection.selections,\n hideDefaultSelections: rowSelection.hideDefaultSelections,\n getPopupContainer: this.generatePopupContainerFunc(getPopupContainer)\n },\n on: {\n 'select': this.handleSelectRow\n }\n });\n }\n if ('fixed' in rowSelection) {\n selectionColumn.fixed = rowSelection.fixed;\n } else if (columns.some(function (column) {\n return column.fixed === 'left' || column.fixed === true;\n })) {\n selectionColumn.fixed = 'left';\n }\n if (columns[0] && columns[0].key === 'selection-column') {\n columns[0] = selectionColumn;\n } else {\n columns.unshift(selectionColumn);\n }\n }\n return columns;\n },\n renderColumnsDropdown: function renderColumnsDropdown(_ref4) {\n var _this11 = this;\n\n var prefixCls = _ref4.prefixCls,\n dropdownPrefixCls = _ref4.dropdownPrefixCls,\n columns = _ref4.columns,\n locale = _ref4.locale,\n getPopupContainer = _ref4.getPopupContainer;\n var h = this.$createElement;\n var sortOrder = this.sSortOrder,\n filters = this.sFilters;\n\n return treeMap(columns, function (column, i) {\n var _classNames3;\n\n var key = getColumnKey(column, i);\n var filterDropdown = void 0;\n var sortButton = void 0;\n var customHeaderCell = column.customHeaderCell;\n var isSortColumn = _this11.isSortColumn(column);\n if (column.filters && column.filters.length > 0 || column.filterDropdown) {\n var colFilters = key in filters ? filters[key] : [];\n filterDropdown = h(FilterDropdown, {\n attrs: {\n _propsSymbol: Symbol(),\n locale: locale,\n column: column,\n selectedKeys: colFilters,\n confirmFilter: _this11.handleFilter,\n prefixCls: prefixCls + '-filter',\n dropdownPrefixCls: dropdownPrefixCls || 'ant-dropdown',\n getPopupContainer: _this11.generatePopupContainerFunc(getPopupContainer)\n },\n key: 'filter-dropdown'\n });\n }\n if (column.sorter) {\n var sortDirections = column.sortDirections || _this11.sortDirections;\n var isAscend = isSortColumn && sortOrder === 'ascend';\n var isDescend = isSortColumn && sortOrder === 'descend';\n var ascend = sortDirections.indexOf('ascend') !== -1 && h(Icon, {\n 'class': prefixCls + '-column-sorter-up ' + (isAscend ? 'on' : 'off'),\n attrs: { type: 'caret-up',\n theme: 'filled'\n },\n key: 'caret-up'\n });\n\n var descend = sortDirections.indexOf('descend') !== -1 && h(Icon, {\n 'class': prefixCls + '-column-sorter-down ' + (isDescend ? 'on' : 'off'),\n attrs: { type: 'caret-down',\n theme: 'filled'\n },\n key: 'caret-down'\n });\n\n sortButton = h(\n 'div',\n {\n attrs: {\n title: locale.sortTitle\n },\n 'class': classNames(prefixCls + '-column-sorter-inner', ascend && descend && prefixCls + '-column-sorter-inner-full'),\n key: 'sorter'\n },\n [ascend, descend]\n );\n customHeaderCell = function customHeaderCell(col) {\n var colProps = {};\n // Get original first\n if (column.customHeaderCell) {\n colProps = _extends({}, column.customHeaderCell(col));\n }\n colProps.on = colProps.on || {};\n // Add sorter logic\n var onHeaderCellClick = colProps.on.click;\n colProps.on.click = function () {\n _this11.toggleSortOrder(column);\n if (onHeaderCellClick) {\n onHeaderCellClick.apply(undefined, arguments);\n }\n };\n return colProps;\n };\n }\n return _extends({}, column, {\n className: classNames(column.className, (_classNames3 = {}, _defineProperty(_classNames3, prefixCls + '-column-has-actions', sortButton || filterDropdown), _defineProperty(_classNames3, prefixCls + '-column-has-filters', filterDropdown), _defineProperty(_classNames3, prefixCls + '-column-has-sorters', sortButton), _defineProperty(_classNames3, prefixCls + '-column-sort', isSortColumn && sortOrder), _classNames3)),\n title: [h(\n 'span',\n { key: 'title', 'class': prefixCls + '-header-column' },\n [h(\n 'div',\n { 'class': sortButton ? prefixCls + '-column-sorters' : undefined },\n [h(\n 'span',\n { 'class': prefixCls + '-column-title' },\n [_this11.renderColumnTitle(column.title)]\n ), h(\n 'span',\n { 'class': prefixCls + '-column-sorter' },\n [sortButton]\n )]\n )]\n ), filterDropdown],\n customHeaderCell: customHeaderCell\n });\n });\n },\n renderColumnTitle: function renderColumnTitle(title) {\n var _$data = this.$data,\n filters = _$data.sFilters,\n sortOrder = _$data.sSortOrder,\n sortColumn = _$data.sSortColumn;\n // https://github.com/ant-design/ant-design/issues/11246#issuecomment-405009167\n\n if (title instanceof Function) {\n return title({\n filters: filters,\n sortOrder: sortOrder,\n sortColumn: sortColumn\n });\n }\n return title;\n },\n renderTable: function renderTable(_ref5) {\n var _classNames4,\n _this12 = this;\n\n var prefixCls = _ref5.prefixCls,\n renderEmpty = _ref5.renderEmpty,\n dropdownPrefixCls = _ref5.dropdownPrefixCls,\n contextLocale = _ref5.contextLocale,\n contextGetPopupContainer = _ref5.getPopupContainer,\n transformCellText = _ref5.transformCellText;\n var h = this.$createElement;\n\n var _getOptionProps = getOptionProps(this),\n showHeader = _getOptionProps.showHeader,\n locale = _getOptionProps.locale,\n getPopupContainer = _getOptionProps.getPopupContainer,\n expandIcon = _getOptionProps.expandIcon,\n restProps = _objectWithoutProperties(_getOptionProps, ['showHeader', 'locale', 'getPopupContainer', 'expandIcon']);\n\n var data = this.getCurrentPageData();\n var expandIconAsCell = this.expandedRowRender && this.expandIconAsCell !== false;\n\n // use props.getPopupContainer first\n var realGetPopupContainer = getPopupContainer || contextGetPopupContainer;\n\n // Merge too locales\n var mergedLocale = _extends({}, contextLocale, locale);\n if (!locale || !locale.emptyText) {\n mergedLocale.emptyText = renderEmpty(h, 'Table');\n }\n\n var classString = classNames((_classNames4 = {}, _defineProperty(_classNames4, prefixCls + '-' + this.size, true), _defineProperty(_classNames4, prefixCls + '-bordered', this.bordered), _defineProperty(_classNames4, prefixCls + '-empty', !data.length), _defineProperty(_classNames4, prefixCls + '-without-column-header', !showHeader), _classNames4));\n\n var columnsWithRowSelection = this.renderRowSelection({\n prefixCls: prefixCls,\n locale: mergedLocale,\n getPopupContainer: realGetPopupContainer\n });\n var columns = this.renderColumnsDropdown({\n columns: columnsWithRowSelection,\n prefixCls: prefixCls,\n dropdownPrefixCls: dropdownPrefixCls,\n locale: mergedLocale,\n getPopupContainer: realGetPopupContainer\n }).map(function (column, i) {\n var newColumn = _extends({}, column);\n newColumn.key = getColumnKey(newColumn, i);\n return newColumn;\n });\n\n var expandIconColumnIndex = columns[0] && columns[0].key === 'selection-column' ? 1 : 0;\n if ('expandIconColumnIndex' in restProps) {\n expandIconColumnIndex = restProps.expandIconColumnIndex;\n }\n var vcTableProps = {\n key: 'table',\n props: _extends({\n expandIcon: expandIcon || this.renderExpandIcon(prefixCls)\n }, restProps, {\n customRow: function customRow(record, index) {\n return _this12.onRow(prefixCls, record, index);\n },\n components: this.sComponents,\n prefixCls: prefixCls,\n data: data,\n columns: columns,\n showHeader: showHeader,\n expandIconColumnIndex: expandIconColumnIndex,\n expandIconAsCell: expandIconAsCell,\n emptyText: mergedLocale.emptyText,\n transformCellText: transformCellText\n }),\n on: getListeners(this),\n 'class': classString,\n ref: 'vcTable'\n };\n return h(VcTable, vcTableProps);\n }\n },\n\n render: function render() {\n var _this13 = this;\n\n var h = arguments[0];\n var customizePrefixCls = this.prefixCls,\n customizeDropdownPrefixCls = this.dropdownPrefixCls,\n customizeTransformCellText = this.transformCellText;\n\n var data = this.getCurrentPageData();\n var _configProvider = this.configProvider,\n getContextPopupContainer = _configProvider.getPopupContainer,\n tct = _configProvider.transformCellText;\n\n var getPopupContainer = this.getPopupContainer || getContextPopupContainer;\n var transformCellText = customizeTransformCellText || tct;\n var loading = this.loading;\n if (typeof loading === 'boolean') {\n loading = {\n props: {\n spinning: loading\n }\n };\n } else {\n loading = {\n props: _extends({}, loading)\n };\n }\n var getPrefixCls = this.configProvider.getPrefixCls;\n var renderEmpty = this.configProvider.renderEmpty;\n\n var prefixCls = getPrefixCls('table', customizePrefixCls);\n var dropdownPrefixCls = getPrefixCls('dropdown', customizeDropdownPrefixCls);\n\n var table = h(LocaleReceiver, {\n attrs: {\n componentName: 'Table',\n defaultLocale: defaultLocale.Table,\n children: function children(locale) {\n return _this13.renderTable({\n prefixCls: prefixCls,\n renderEmpty: renderEmpty,\n dropdownPrefixCls: dropdownPrefixCls,\n contextLocale: locale,\n getPopupContainer: getPopupContainer,\n transformCellText: transformCellText\n });\n }\n }\n });\n\n // if there is no pagination or no data,\n // the height of spin should decrease by half of pagination\n var paginationPatchClass = this.hasPagination() && data && data.length !== 0 ? prefixCls + '-with-pagination' : prefixCls + '-without-pagination';\n var spinProps = _extends({}, loading, {\n 'class': loading.props && loading.props.spinning ? paginationPatchClass + ' ' + prefixCls + '-spin-holder' : ''\n });\n return h(\n 'div',\n { 'class': classNames(prefixCls + '-wrapper') },\n [h(\n Spin,\n spinProps,\n [this.renderPagination(prefixCls, 'top'), table, this.renderPagination(prefixCls, 'bottom')]\n )]\n );\n }\n};","import _extends from 'babel-runtime/helpers/extends';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport T from './Table';\nimport ref from 'vue-ref';\nimport Vue from 'vue';\nimport { getOptionProps, getKey, getClass, getStyle, getEvents, getSlotOptions, camelize, getSlots, getListeners } from '../_util/props-util';\nimport Base from '../base';\n\nVue.use(ref, { name: 'ant-ref' });\n\nvar Table = {\n name: 'ATable',\n Column: T.Column,\n ColumnGroup: T.ColumnGroup,\n props: T.props,\n methods: {\n normalize: function normalize() {\n var _this = this;\n\n var elements = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var columns = [];\n elements.forEach(function (element) {\n if (!element.tag) {\n return;\n }\n var key = getKey(element);\n var style = getStyle(element);\n var cls = getClass(element);\n var props = getOptionProps(element);\n var events = getEvents(element);\n var listeners = {};\n Object.keys(events).forEach(function (e) {\n /*\n Convert events on template Column to function props onPropAbcChange in Table.columns prop.\n If you write template code like below:\n \n You will get these events:\n {\n 'prop-abc-change': this.f1,\n 'update:prop-abc': [this.f2, e => this.dataAbc = e],\n 'update:propAbc': e => this.dataAbc = e,\n }\n All of these events would be treat as column.onPropAbcChange,\n but only one of them will be valid, which can not be determined.\n */\n var k = void 0;\n if (e.startsWith('update:')) {\n k = 'on-' + e.substr('update:'.length) + '-change';\n } else {\n k = 'on-' + e;\n }\n listeners[camelize(k)] = events[e];\n });\n\n var _getSlots = getSlots(element),\n children = _getSlots['default'],\n restSlots = _objectWithoutProperties(_getSlots, ['default']);\n\n var column = _extends({}, restSlots, props, { style: style, 'class': cls }, listeners);\n if (key) {\n column.key = key;\n }\n if (getSlotOptions(element).__ANT_TABLE_COLUMN_GROUP) {\n column.children = _this.normalize(typeof children === 'function' ? children() : children);\n } else {\n var customRender = element.data && element.data.scopedSlots && element.data.scopedSlots['default'];\n column.customRender = column.customRender || customRender;\n }\n columns.push(column);\n });\n return columns;\n },\n updateColumns: function updateColumns() {\n var _this2 = this;\n\n var cols = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var columns = [];\n var $slots = this.$slots,\n $scopedSlots = this.$scopedSlots;\n\n cols.forEach(function (col) {\n var _col$slots = col.slots,\n slots = _col$slots === undefined ? {} : _col$slots,\n _col$scopedSlots = col.scopedSlots,\n scopedSlots = _col$scopedSlots === undefined ? {} : _col$scopedSlots,\n restProps = _objectWithoutProperties(col, ['slots', 'scopedSlots']);\n\n var column = _extends({}, restProps);\n Object.keys(slots).forEach(function (key) {\n var name = slots[key];\n if (column[key] === undefined && $slots[name]) {\n column[key] = $slots[name].length === 1 ? $slots[name][0] : $slots[name];\n }\n });\n Object.keys(scopedSlots).forEach(function (key) {\n var name = scopedSlots[key];\n if (column[key] === undefined && $scopedSlots[name]) {\n column[key] = $scopedSlots[name];\n }\n });\n // if (slotScopeName && $scopedSlots[slotScopeName]) {\n // column.customRender = column.customRender || $scopedSlots[slotScopeName]\n // }\n if (col.children) {\n column.children = _this2.updateColumns(column.children);\n }\n columns.push(column);\n });\n return columns;\n }\n },\n render: function render() {\n var h = arguments[0];\n var $slots = this.$slots,\n normalize = this.normalize,\n $scopedSlots = this.$scopedSlots;\n\n var props = getOptionProps(this);\n var columns = props.columns ? this.updateColumns(props.columns) : normalize($slots['default']);\n var title = props.title,\n footer = props.footer;\n var slotTitle = $scopedSlots.title,\n slotFooter = $scopedSlots.footer,\n _$scopedSlots$expande = $scopedSlots.expandedRowRender,\n expandedRowRender = _$scopedSlots$expande === undefined ? props.expandedRowRender : _$scopedSlots$expande,\n expandIcon = $scopedSlots.expandIcon;\n\n title = title || slotTitle;\n footer = footer || slotFooter;\n var tProps = {\n props: _extends({}, props, {\n columns: columns,\n title: title,\n footer: footer,\n expandedRowRender: expandedRowRender,\n expandIcon: this.$props.expandIcon || expandIcon\n }),\n on: getListeners(this)\n };\n return h(T, tProps);\n }\n};\n/* istanbul ignore next */\nTable.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Table.name, Table);\n Vue.component(Table.Column.name, Table.Column);\n Vue.component(Table.ColumnGroup.name, Table.ColumnGroup);\n};\n\nexport default Table;","import _extends from 'babel-runtime/helpers/extends';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport PropTypes from '../_util/vue-types';\nimport hasProp, { getOptionProps, getComponentFromProp, getListeners } from '../_util/props-util';\nimport VcSwitch from '../vc-switch';\nimport Wave from '../_util/wave';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\nimport warning from '../_util/warning';\n\nvar Switch = {\n name: 'ASwitch',\n __ANT_SWITCH: true,\n model: {\n prop: 'checked',\n event: 'change'\n },\n props: {\n prefixCls: PropTypes.string,\n // size=default and size=large are the same\n size: PropTypes.oneOf(['small', 'default', 'large']),\n disabled: PropTypes.bool,\n checkedChildren: PropTypes.any,\n unCheckedChildren: PropTypes.any,\n tabIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n checked: PropTypes.bool,\n defaultChecked: PropTypes.bool,\n autoFocus: PropTypes.bool,\n loading: PropTypes.bool\n },\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n methods: {\n focus: function focus() {\n this.$refs.refSwitchNode.focus();\n },\n blur: function blur() {\n this.$refs.refSwitchNode.blur();\n }\n },\n created: function created() {\n warning(hasProp(this, 'checked') || !hasProp(this, 'value'), 'Switch', '`value` is not validate prop, do you mean `checked`?');\n },\n render: function render() {\n var _classes;\n\n var h = arguments[0];\n\n var _getOptionProps = getOptionProps(this),\n customizePrefixCls = _getOptionProps.prefixCls,\n size = _getOptionProps.size,\n loading = _getOptionProps.loading,\n disabled = _getOptionProps.disabled,\n restProps = _objectWithoutProperties(_getOptionProps, ['prefixCls', 'size', 'loading', 'disabled']);\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('switch', customizePrefixCls);\n\n var classes = (_classes = {}, _defineProperty(_classes, prefixCls + '-small', size === 'small'), _defineProperty(_classes, prefixCls + '-loading', loading), _classes);\n var loadingIcon = loading ? h(Icon, {\n attrs: { type: 'loading' },\n 'class': prefixCls + '-loading-icon' }) : null;\n var switchProps = {\n props: _extends({}, restProps, {\n prefixCls: prefixCls,\n loadingIcon: loadingIcon,\n checkedChildren: getComponentFromProp(this, 'checkedChildren'),\n unCheckedChildren: getComponentFromProp(this, 'unCheckedChildren'),\n disabled: disabled || loading\n }),\n on: getListeners(this),\n 'class': classes,\n ref: 'refSwitchNode'\n };\n return h(\n Wave,\n {\n attrs: { insertExtraNode: true }\n },\n [h(VcSwitch, switchProps)]\n );\n }\n};\n\n/* istanbul ignore next */\nSwitch.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Switch.name, Switch);\n};\n\nexport default Switch;","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport PropTypes from '../_util/vue-types';\nimport { filterEmpty, initDefaultProps } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport var SpaceSizeType = PropTypes.oneOfType([PropTypes.number, PropTypes.oneOf(['small', 'middle', 'large'])]);\n\nvar spaceSize = {\n small: 8,\n middle: 16,\n large: 24\n};\n\nexport var SpaceProps = {\n prefixCls: PropTypes.string,\n size: SpaceSizeType,\n direction: PropTypes.oneOf(['horizontal', 'vertical']),\n align: PropTypes.oneOf(['start', 'end', 'center', 'baseline'])\n};\n\nvar Space = {\n functional: true,\n name: 'ASpace',\n props: initDefaultProps(SpaceProps, {\n size: 'small',\n direction: 'horizontal'\n }),\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n render: function render(h, content) {\n var _ref;\n\n var customizePrefixCls = content.prefixCls,\n configProvider = content.injections.configProvider,\n children = content.children;\n var _content$props = content.props,\n align = _content$props.align,\n size = _content$props.size,\n direction = _content$props.direction;\n\n\n var getPrefixCls = configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('space', customizePrefixCls);\n var items = filterEmpty(children);\n var len = items.length;\n\n if (len === 0) {\n return null;\n }\n\n var mergedAlign = align === undefined && direction === 'horizontal' ? 'center' : align;\n\n var someSpaceClass = [(_ref = {}, _defineProperty(_ref, prefixCls, true), _defineProperty(_ref, prefixCls + '-' + direction, true), _defineProperty(_ref, prefixCls + '-align-' + mergedAlign, mergedAlign), _ref)];\n\n if (content.data['class']) {\n someSpaceClass.push(content.data['class']);\n }\n\n var itemClassName = prefixCls + '-item';\n var marginDirection = 'marginRight'; // directionConfig === 'rtl' ? 'marginLeft' : 'marginRight';\n\n return h(\n 'div',\n _mergeJSXProps([content.data, { 'class': someSpaceClass }]),\n [items.map(function (child, i) {\n return h(\n 'div',\n {\n 'class': itemClassName,\n key: itemClassName + '-' + i,\n style: i === len - 1 ? {} : _defineProperty({}, direction === 'vertical' ? 'marginBottom' : marginDirection, typeof size === 'string' ? spaceSize[size] + 'px' : size + 'px')\n },\n [child]\n );\n })]\n );\n }\n};\n\n/* istanbul ignore next */\nSpace.install = function (Vue) {\n Vue.component(Space.name, Space);\n};\nexport default Space;","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport { initDefaultProps } from '../_util/props-util';\n\nvar skeletonAvatarProps = {\n prefixCls: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.oneOf(['large', 'small', 'default']), PropTypes.number]),\n shape: PropTypes.oneOf(['circle', 'square'])\n};\n\nexport var SkeletonAvatarProps = PropTypes.shape(skeletonAvatarProps).loose;\n\nvar Avatar = {\n props: initDefaultProps(skeletonAvatarProps, {\n size: 'large'\n }),\n render: function render() {\n var _classNames, _classNames2;\n\n var h = arguments[0];\n var _$props = this.$props,\n prefixCls = _$props.prefixCls,\n size = _$props.size,\n shape = _$props.shape;\n\n\n var sizeCls = classNames((_classNames = {}, _defineProperty(_classNames, prefixCls + '-lg', size === 'large'), _defineProperty(_classNames, prefixCls + '-sm', size === 'small'), _classNames));\n\n var shapeCls = classNames((_classNames2 = {}, _defineProperty(_classNames2, prefixCls + '-circle', shape === 'circle'), _defineProperty(_classNames2, prefixCls + '-square', shape === 'square'), _classNames2));\n\n var sizeStyle = typeof size === 'number' ? {\n width: size + 'px',\n height: size + 'px',\n lineHeight: size + 'px'\n } : {};\n\n return h('span', { 'class': classNames(prefixCls, sizeCls, shapeCls), style: sizeStyle });\n }\n};\n\nexport default Avatar;","import PropTypes from '../_util/vue-types';\n\nvar skeletonTitleProps = {\n prefixCls: PropTypes.string,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n};\n\nexport var SkeletonTitleProps = PropTypes.shape(skeletonTitleProps);\n\nvar Title = {\n props: skeletonTitleProps,\n render: function render() {\n var h = arguments[0];\n var _$props = this.$props,\n prefixCls = _$props.prefixCls,\n width = _$props.width;\n\n var zWidth = typeof width === 'number' ? width + 'px' : width;\n return h('h3', { 'class': prefixCls, style: { width: zWidth } });\n }\n};\n\nexport default Title;","import _toConsumableArray from 'babel-runtime/helpers/toConsumableArray';\nimport PropTypes from '../_util/vue-types';\n\nvar widthUnit = PropTypes.oneOfType([PropTypes.number, PropTypes.string]);\n\nvar skeletonParagraphProps = {\n prefixCls: PropTypes.string,\n width: PropTypes.oneOfType([widthUnit, PropTypes.arrayOf(widthUnit)]),\n rows: PropTypes.number\n};\n\nexport var SkeletonParagraphProps = PropTypes.shape(skeletonParagraphProps);\n\nvar Paragraph = {\n props: skeletonParagraphProps,\n methods: {\n getWidth: function getWidth(index) {\n var width = this.width,\n _rows = this.rows,\n rows = _rows === undefined ? 2 : _rows;\n\n if (Array.isArray(width)) {\n return width[index];\n }\n // last paragraph\n if (rows - 1 === index) {\n return width;\n }\n return undefined;\n }\n },\n render: function render() {\n var _this = this;\n\n var h = arguments[0];\n var _$props = this.$props,\n prefixCls = _$props.prefixCls,\n rows = _$props.rows;\n\n var rowList = [].concat(_toConsumableArray(Array(rows))).map(function (_, index) {\n var width = _this.getWidth(index);\n return h('li', { key: index, style: { width: typeof width === 'number' ? width + 'px' : width } });\n });\n return h(\n 'ul',\n { 'class': prefixCls },\n [rowList]\n );\n }\n};\n\nexport default Paragraph;","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport _typeof from 'babel-runtime/helpers/typeof';\nimport classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport { initDefaultProps, hasProp } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Avatar, { SkeletonAvatarProps } from './Avatar';\nimport Title, { SkeletonTitleProps } from './Title';\nimport Paragraph, { SkeletonParagraphProps } from './Paragraph';\nimport Base from '../base';\n\nexport var SkeletonProps = {\n active: PropTypes.bool,\n loading: PropTypes.bool,\n prefixCls: PropTypes.string,\n children: PropTypes.any,\n avatar: PropTypes.oneOfType([PropTypes.string, SkeletonAvatarProps, PropTypes.bool]),\n title: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, SkeletonTitleProps]),\n paragraph: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, SkeletonParagraphProps])\n};\n\nfunction getComponentProps(prop) {\n if (prop && (typeof prop === 'undefined' ? 'undefined' : _typeof(prop)) === 'object') {\n return prop;\n }\n return {};\n}\n\nfunction getAvatarBasicProps(hasTitle, hasParagraph) {\n if (hasTitle && !hasParagraph) {\n return { shape: 'square' };\n }\n\n return { shape: 'circle' };\n}\n\nfunction getTitleBasicProps(hasAvatar, hasParagraph) {\n if (!hasAvatar && hasParagraph) {\n return { width: '38%' };\n }\n\n if (hasAvatar && hasParagraph) {\n return { width: '50%' };\n }\n\n return {};\n}\n\nfunction getParagraphBasicProps(hasAvatar, hasTitle) {\n var basicProps = {};\n\n // Width\n if (!hasAvatar || !hasTitle) {\n basicProps.width = '61%';\n }\n\n // Rows\n if (!hasAvatar && hasTitle) {\n basicProps.rows = 3;\n } else {\n basicProps.rows = 2;\n }\n\n return basicProps;\n}\n\nvar Skeleton = {\n name: 'ASkeleton',\n props: initDefaultProps(SkeletonProps, {\n avatar: false,\n title: true,\n paragraph: true\n }),\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n render: function render() {\n var h = arguments[0];\n var _$props = this.$props,\n customizePrefixCls = _$props.prefixCls,\n loading = _$props.loading,\n avatar = _$props.avatar,\n title = _$props.title,\n paragraph = _$props.paragraph,\n active = _$props.active;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n\n if (loading || !hasProp(this, 'loading')) {\n var _classNames;\n\n var hasAvatar = !!avatar || avatar === '';\n var hasTitle = !!title;\n var hasParagraph = !!paragraph;\n\n // Avatar\n var avatarNode = void 0;\n if (hasAvatar) {\n var avatarProps = {\n props: _extends({\n prefixCls: prefixCls + '-avatar'\n }, getAvatarBasicProps(hasTitle, hasParagraph), getComponentProps(avatar))\n };\n\n avatarNode = h(\n 'div',\n { 'class': prefixCls + '-header' },\n [h(Avatar, avatarProps)]\n );\n }\n\n var contentNode = void 0;\n if (hasTitle || hasParagraph) {\n // Title\n var $title = void 0;\n if (hasTitle) {\n var titleProps = {\n props: _extends({\n prefixCls: prefixCls + '-title'\n }, getTitleBasicProps(hasAvatar, hasParagraph), getComponentProps(title))\n };\n\n $title = h(Title, titleProps);\n }\n\n // Paragraph\n var paragraphNode = void 0;\n if (hasParagraph) {\n var paragraphProps = {\n props: _extends({\n prefixCls: prefixCls + '-paragraph'\n }, getParagraphBasicProps(hasAvatar, hasTitle), getComponentProps(paragraph))\n };\n\n paragraphNode = h(Paragraph, paragraphProps);\n }\n\n contentNode = h(\n 'div',\n { 'class': prefixCls + '-content' },\n [$title, paragraphNode]\n );\n }\n\n var cls = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, prefixCls + '-with-avatar', hasAvatar), _defineProperty(_classNames, prefixCls + '-active', active), _classNames));\n\n return h(\n 'div',\n { 'class': cls },\n [avatarNode, contentNode]\n );\n }\n var children = this.$slots['default'];\n return children && children.length === 1 ? children[0] : h('span', [children]);\n }\n};\n/* istanbul ignore next */\nSkeleton.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Skeleton.name, Skeleton);\n};\nexport default Skeleton;","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport PropTypes from '../_util/vue-types';\nimport Icon from '../icon';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport omit from 'omit.js';\nimport Wave from '../_util/wave';\nimport { hasProp, getListeners, getOptionProps } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport warning from '../_util/warning';\n\nvar PresetColorTypes = ['pink', 'red', 'yellow', 'orange', 'cyan', 'green', 'blue', 'purple', 'geekblue', 'magenta', 'volcano', 'gold', 'lime'];\nvar PresetColorRegex = new RegExp('^(' + PresetColorTypes.join('|') + ')(-inverse)?$');\n\nexport default {\n name: 'ATag',\n mixins: [BaseMixin],\n model: {\n prop: 'visible',\n event: 'close.visible'\n },\n props: {\n prefixCls: PropTypes.string,\n color: PropTypes.string,\n closable: PropTypes.bool.def(false),\n visible: PropTypes.bool,\n afterClose: PropTypes.func\n },\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n data: function data() {\n var _visible = true;\n var props = getOptionProps(this);\n if ('visible' in props) {\n _visible = this.visible;\n }\n warning(!('afterClose' in props), 'Tag', \"'afterClose' will be deprecated, please use 'close' event, we will remove this in the next version.\");\n return {\n _visible: _visible\n };\n },\n\n watch: {\n visible: function visible(val) {\n this.setState({\n _visible: val\n });\n }\n },\n methods: {\n setVisible: function setVisible(visible, e) {\n this.$emit('close', e);\n this.$emit('close.visible', false);\n var afterClose = this.afterClose;\n if (afterClose) {\n // next version remove.\n afterClose();\n }\n if (e.defaultPrevented) {\n return;\n }\n if (!hasProp(this, 'visible')) {\n this.setState({ _visible: visible });\n }\n },\n handleIconClick: function handleIconClick(e) {\n e.stopPropagation();\n this.setVisible(false, e);\n },\n isPresetColor: function isPresetColor() {\n var color = this.$props.color;\n\n if (!color) {\n return false;\n }\n return PresetColorRegex.test(color);\n },\n getTagStyle: function getTagStyle() {\n var color = this.$props.color;\n\n var isPresetColor = this.isPresetColor();\n return {\n backgroundColor: color && !isPresetColor ? color : undefined\n };\n },\n getTagClassName: function getTagClassName(prefixCls) {\n var _ref;\n\n var color = this.$props.color;\n\n var isPresetColor = this.isPresetColor();\n return _ref = {}, _defineProperty(_ref, prefixCls, true), _defineProperty(_ref, prefixCls + '-' + color, isPresetColor), _defineProperty(_ref, prefixCls + '-has-color', color && !isPresetColor), _ref;\n },\n renderCloseIcon: function renderCloseIcon() {\n var h = this.$createElement;\n var closable = this.$props.closable;\n\n return closable ? h(Icon, {\n attrs: { type: 'close' },\n on: {\n 'click': this.handleIconClick\n }\n }) : null;\n }\n },\n\n render: function render() {\n var h = arguments[0];\n var customizePrefixCls = this.$props.prefixCls;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('tag', customizePrefixCls);\n var visible = this.$data._visible;\n\n var tag = h(\n 'span',\n _mergeJSXProps([{\n directives: [{\n name: 'show',\n value: visible\n }]\n }, { on: omit(getListeners(this), ['close']) }, {\n 'class': this.getTagClassName(prefixCls),\n style: this.getTagStyle()\n }]),\n [this.$slots['default'], this.renderCloseIcon()]\n );\n var transitionProps = getTransitionProps(prefixCls + '-zoom', {\n appear: false\n });\n return h(Wave, [h(\n 'transition',\n transitionProps,\n [tag]\n )]);\n }\n};","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport PropTypes from '../_util/vue-types';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport default {\n name: 'ACheckableTag',\n model: {\n prop: 'checked'\n },\n props: {\n prefixCls: PropTypes.string,\n checked: Boolean\n },\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n computed: {\n classes: function classes() {\n var _ref;\n\n var checked = this.checked,\n customizePrefixCls = this.prefixCls;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('tag', customizePrefixCls);\n return _ref = {}, _defineProperty(_ref, '' + prefixCls, true), _defineProperty(_ref, prefixCls + '-checkable', true), _defineProperty(_ref, prefixCls + '-checkable-checked', checked), _ref;\n }\n },\n methods: {\n handleClick: function handleClick() {\n var checked = this.checked;\n\n this.$emit('input', !checked);\n this.$emit('change', !checked);\n }\n },\n render: function render() {\n var h = arguments[0];\n var classes = this.classes,\n handleClick = this.handleClick,\n $slots = this.$slots;\n\n return h(\n 'div',\n { 'class': classes, on: {\n 'click': handleClick\n }\n },\n [$slots['default']]\n );\n }\n};","import Tag from './Tag';\nimport CheckableTag from './CheckableTag';\nimport Base from '../base';\n\nTag.CheckableTag = CheckableTag;\n\n/* istanbul ignore next */\nTag.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Tag.name, Tag);\n Vue.component(Tag.CheckableTag.name, Tag.CheckableTag);\n};\n\nexport default Tag;","import Spin, { setDefaultIndicator } from './Spin';\nimport Base from '../base';\n\nexport { SpinProps } from './Spin';\n\nSpin.setDefaultIndicator = setDefaultIndicator;\n\n/* istanbul ignore next */\nSpin.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Spin.name, Spin);\n};\n\nexport default Spin;","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _extends from 'babel-runtime/helpers/extends';\nimport warning from '../_util/warning';\nimport omit from 'omit.js';\nimport PropTypes from '../_util/vue-types';\nimport { Select as VcSelect, Option, OptGroup } from '../vc-select';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport { getComponentFromProp, getOptionProps, filterEmpty, isValidElement, getListeners } from '../_util/props-util';\nimport Icon from '../icon';\nimport { cloneElement } from '../_util/vnode';\nimport Base from '../base';\n\nvar AbstractSelectProps = function AbstractSelectProps() {\n return {\n prefixCls: PropTypes.string,\n size: PropTypes.oneOf(['small', 'large', 'default']),\n showAction: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(String)]),\n notFoundContent: PropTypes.any,\n transitionName: PropTypes.string,\n choiceTransitionName: PropTypes.string,\n showSearch: PropTypes.bool,\n allowClear: PropTypes.bool,\n disabled: PropTypes.bool,\n tabIndex: PropTypes.number,\n placeholder: PropTypes.any,\n defaultActiveFirstOption: PropTypes.bool,\n dropdownClassName: PropTypes.string,\n dropdownStyle: PropTypes.any,\n dropdownMenuStyle: PropTypes.any,\n dropdownMatchSelectWidth: PropTypes.bool,\n // onSearch: (value: string) => any,\n filterOption: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n autoFocus: PropTypes.bool,\n backfill: PropTypes.bool,\n showArrow: PropTypes.bool,\n getPopupContainer: PropTypes.func,\n open: PropTypes.bool,\n defaultOpen: PropTypes.bool,\n autoClearSearchValue: PropTypes.bool,\n dropdownRender: PropTypes.func,\n loading: PropTypes.bool\n };\n};\nvar Value = PropTypes.shape({\n key: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n}).loose;\n\nvar SelectValue = PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([Value, PropTypes.string, PropTypes.number])), Value]);\n\nvar SelectProps = _extends({}, AbstractSelectProps(), {\n value: SelectValue,\n defaultValue: SelectValue,\n // mode: PropTypes.oneOf(['default', 'multiple', 'tags', 'combobox']),\n mode: PropTypes.string,\n optionLabelProp: PropTypes.string,\n firstActiveValue: PropTypes.oneOfType([String, PropTypes.arrayOf(String)]),\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.any,\n maxTagTextLength: PropTypes.number,\n dropdownMatchSelectWidth: PropTypes.bool,\n optionFilterProp: PropTypes.string,\n labelInValue: PropTypes.boolean,\n getPopupContainer: PropTypes.func,\n tokenSeparators: PropTypes.arrayOf(PropTypes.string),\n getInputElement: PropTypes.func,\n options: PropTypes.array,\n suffixIcon: PropTypes.any,\n removeIcon: PropTypes.any,\n clearIcon: PropTypes.any,\n menuItemSelectedIcon: PropTypes.any\n});\n\nvar SelectPropTypes = {\n prefixCls: PropTypes.string,\n size: PropTypes.oneOf(['default', 'large', 'small']),\n // combobox: PropTypes.bool,\n notFoundContent: PropTypes.any,\n showSearch: PropTypes.bool,\n optionLabelProp: PropTypes.string,\n transitionName: PropTypes.string,\n choiceTransitionName: PropTypes.string\n};\n\nexport { AbstractSelectProps, SelectValue, SelectProps };\nvar SECRET_COMBOBOX_MODE_DO_NOT_USE = 'SECRET_COMBOBOX_MODE_DO_NOT_USE';\nvar Select = {\n SECRET_COMBOBOX_MODE_DO_NOT_USE: SECRET_COMBOBOX_MODE_DO_NOT_USE,\n Option: _extends({}, Option, { name: 'ASelectOption' }),\n OptGroup: _extends({}, OptGroup, { name: 'ASelectOptGroup' }),\n name: 'ASelect',\n props: _extends({}, SelectProps, {\n showSearch: PropTypes.bool.def(false),\n transitionName: PropTypes.string.def('slide-up'),\n choiceTransitionName: PropTypes.string.def('zoom')\n }),\n propTypes: SelectPropTypes,\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 },\n created: function created() {\n warning(this.$props.mode !== 'combobox', 'Select', 'The combobox mode of Select is deprecated,' + 'it will be removed in next major version,' + 'please use AutoComplete instead');\n },\n\n methods: {\n getNotFoundContent: function getNotFoundContent(renderEmpty) {\n var h = this.$createElement;\n var notFoundContent = getComponentFromProp(this, 'notFoundContent');\n if (notFoundContent !== undefined) {\n return notFoundContent;\n }\n if (this.isCombobox()) {\n return null;\n }\n return renderEmpty(h, 'Select');\n },\n savePopupRef: function savePopupRef(ref) {\n this.popupRef = ref;\n },\n focus: function focus() {\n this.$refs.vcSelect.focus();\n },\n blur: function blur() {\n this.$refs.vcSelect.blur();\n },\n isCombobox: function isCombobox() {\n var mode = this.mode;\n\n return mode === 'combobox' || mode === SECRET_COMBOBOX_MODE_DO_NOT_USE;\n },\n renderSuffixIcon: function renderSuffixIcon(prefixCls) {\n var h = this.$createElement;\n var loading = this.$props.loading;\n\n var suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n if (suffixIcon) {\n return isValidElement(suffixIcon) ? cloneElement(suffixIcon, { 'class': prefixCls + '-arrow-icon' }) : suffixIcon;\n }\n if (loading) {\n return h(Icon, {\n attrs: { type: 'loading' }\n });\n }\n return h(Icon, {\n attrs: { type: 'down' },\n 'class': prefixCls + '-arrow-icon' });\n }\n },\n render: function render() {\n var _cls;\n\n var h = arguments[0];\n\n var _getOptionProps = getOptionProps(this),\n customizePrefixCls = _getOptionProps.prefixCls,\n size = _getOptionProps.size,\n mode = _getOptionProps.mode,\n options = _getOptionProps.options,\n getPopupContainer = _getOptionProps.getPopupContainer,\n showArrow = _getOptionProps.showArrow,\n restProps = _objectWithoutProperties(_getOptionProps, ['prefixCls', 'size', 'mode', 'options', 'getPopupContainer', 'showArrow']);\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var renderEmpty = this.configProvider.renderEmpty;\n var prefixCls = getPrefixCls('select', customizePrefixCls);\n\n var getContextPopupContainer = this.configProvider.getPopupContainer;\n\n var removeIcon = getComponentFromProp(this, 'removeIcon');\n removeIcon = Array.isArray(removeIcon) ? removeIcon[0] : removeIcon;\n var clearIcon = getComponentFromProp(this, 'clearIcon');\n clearIcon = Array.isArray(clearIcon) ? clearIcon[0] : clearIcon;\n var menuItemSelectedIcon = getComponentFromProp(this, 'menuItemSelectedIcon');\n menuItemSelectedIcon = Array.isArray(menuItemSelectedIcon) ? menuItemSelectedIcon[0] : menuItemSelectedIcon;\n var rest = omit(restProps, ['inputIcon', 'removeIcon', 'clearIcon', 'suffixIcon', 'menuItemSelectedIcon']);\n\n var cls = (_cls = {}, _defineProperty(_cls, prefixCls + '-lg', size === 'large'), _defineProperty(_cls, prefixCls + '-sm', size === 'small'), _defineProperty(_cls, prefixCls + '-show-arrow', showArrow), _cls);\n\n var optionLabelProp = this.$props.optionLabelProp;\n\n if (this.isCombobox()) {\n // children 带 dom 结构时,无法填入输入框\n optionLabelProp = optionLabelProp || 'value';\n }\n\n var modeConfig = {\n multiple: mode === 'multiple',\n tags: mode === 'tags',\n combobox: this.isCombobox()\n };\n var finalRemoveIcon = removeIcon && (isValidElement(removeIcon) ? cloneElement(removeIcon, { 'class': prefixCls + '-remove-icon' }) : removeIcon) || h(Icon, {\n attrs: { type: 'close' },\n 'class': prefixCls + '-remove-icon' });\n\n var finalClearIcon = clearIcon && (isValidElement(clearIcon) ? cloneElement(clearIcon, { 'class': prefixCls + '-clear-icon' }) : clearIcon) || h(Icon, {\n attrs: { type: 'close-circle', theme: 'filled' },\n 'class': prefixCls + '-clear-icon' });\n\n var finalMenuItemSelectedIcon = menuItemSelectedIcon && (isValidElement(menuItemSelectedIcon) ? cloneElement(menuItemSelectedIcon, { 'class': prefixCls + '-selected-icon' }) : menuItemSelectedIcon) || h(Icon, {\n attrs: { type: 'check' },\n 'class': prefixCls + '-selected-icon' });\n\n var selectProps = {\n props: _extends({\n inputIcon: this.renderSuffixIcon(prefixCls),\n removeIcon: finalRemoveIcon,\n clearIcon: finalClearIcon,\n menuItemSelectedIcon: finalMenuItemSelectedIcon,\n showArrow: showArrow\n }, rest, modeConfig, {\n prefixCls: prefixCls,\n optionLabelProp: optionLabelProp || 'children',\n notFoundContent: this.getNotFoundContent(renderEmpty),\n maxTagPlaceholder: getComponentFromProp(this, 'maxTagPlaceholder'),\n placeholder: getComponentFromProp(this, 'placeholder'),\n children: options ? options.map(function (option) {\n var key = option.key,\n _option$label = option.label,\n label = _option$label === undefined ? option.title : _option$label,\n on = option.on,\n cls = option['class'],\n style = option.style,\n restOption = _objectWithoutProperties(option, ['key', 'label', 'on', 'class', 'style']);\n\n return h(\n Option,\n _mergeJSXProps([{ key: key }, { props: restOption, on: on, 'class': cls, style: style }]),\n [label]\n );\n }) : filterEmpty(this.$slots['default']),\n __propsSymbol__: Symbol(),\n dropdownRender: getComponentFromProp(this, 'dropdownRender', {}, false),\n getPopupContainer: getPopupContainer || getContextPopupContainer\n }),\n on: getListeners(this),\n 'class': cls,\n ref: 'vcSelect'\n };\n return h(VcSelect, selectProps);\n }\n};\n\n/* istanbul ignore next */\nSelect.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Select.name, Select);\n Vue.component(Select.Option.name, Select.Option);\n Vue.component(Select.OptGroup.name, Select.OptGroup);\n};\n\nexport default Select;","import { Row } from '../grid';\nimport Base from '../base';\n\n/* istanbul ignore next */\nRow.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Row.name, Row);\n};\n\nexport default Row;","import padEnd from 'lodash/padEnd';\n\nexport default {\n name: 'AStatisticNumber',\n functional: true,\n render: function render(h, context) {\n var _context$props = context.props,\n value = _context$props.value,\n formatter = _context$props.formatter,\n precision = _context$props.precision,\n decimalSeparator = _context$props.decimalSeparator,\n _context$props$groupS = _context$props.groupSeparator,\n groupSeparator = _context$props$groupS === undefined ? '' : _context$props$groupS,\n prefixCls = _context$props.prefixCls;\n\n var valueNode = void 0;\n\n if (typeof formatter === 'function') {\n // Customize formatter\n valueNode = formatter({ value: value, h: h });\n } else {\n // Internal formatter\n var val = String(value);\n var cells = val.match(/^(-?)(\\d*)(\\.(\\d+))?$/);\n // Process if illegal number\n if (!cells) {\n valueNode = val;\n } else {\n var negative = cells[1];\n var int = cells[2] || '0';\n var decimal = cells[4] || '';\n\n int = int.replace(/\\B(?=(\\d{3})+(?!\\d))/g, groupSeparator);\n if (typeof precision === 'number') {\n decimal = padEnd(decimal, precision, '0').slice(0, precision);\n }\n\n if (decimal) {\n decimal = '' + decimalSeparator + decimal;\n }\n\n valueNode = [h(\n 'span',\n { key: 'int', 'class': prefixCls + '-content-value-int' },\n [negative, int]\n ), decimal && h(\n 'span',\n { key: 'decimal', 'class': prefixCls + '-content-value-decimal' },\n [decimal]\n )];\n }\n }\n\n return h(\n 'span',\n { 'class': prefixCls + '-content-value' },\n [valueNode]\n );\n }\n};","import _extends from 'babel-runtime/helpers/extends';\nimport PropTypes from '../_util/vue-types';\nimport { getComponentFromProp, initDefaultProps } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport StatisticNumber from './Number';\n\nexport var StatisticProps = {\n prefixCls: PropTypes.string,\n decimalSeparator: PropTypes.string,\n groupSeparator: PropTypes.string,\n format: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]),\n valueStyle: PropTypes.any,\n valueRender: PropTypes.any,\n formatter: PropTypes.any,\n precision: PropTypes.number,\n prefix: PropTypes.any,\n suffix: PropTypes.any,\n title: PropTypes.any\n};\n\nexport default {\n name: 'AStatistic',\n props: initDefaultProps(StatisticProps, {\n decimalSeparator: '.',\n groupSeparator: ','\n }),\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n\n render: function render() {\n var h = arguments[0];\n var _$props = this.$props,\n customizePrefixCls = _$props.prefixCls,\n _$props$value = _$props.value,\n value = _$props$value === undefined ? 0 : _$props$value,\n valueStyle = _$props.valueStyle,\n valueRender = _$props.valueRender;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('statistic', customizePrefixCls);\n\n var title = getComponentFromProp(this, 'title');\n var prefix = getComponentFromProp(this, 'prefix');\n var suffix = getComponentFromProp(this, 'suffix');\n var formatter = getComponentFromProp(this, 'formatter', {}, false);\n var valueNode = h(StatisticNumber, { props: _extends({}, this.$props, { prefixCls: prefixCls, value: value, formatter: formatter }) });\n if (valueRender) {\n valueNode = valueRender(valueNode);\n }\n\n return h(\n 'div',\n { 'class': prefixCls },\n [title && h(\n 'div',\n { 'class': prefixCls + '-title' },\n [title]\n ), h(\n 'div',\n { style: valueStyle, 'class': prefixCls + '-content' },\n [prefix && h(\n 'span',\n { 'class': prefixCls + '-content-prefix' },\n [prefix]\n ), valueNode, suffix && h(\n 'span',\n { 'class': prefixCls + '-content-suffix' },\n [suffix]\n )]\n )]\n );\n }\n};","import _slicedToArray from 'babel-runtime/helpers/slicedToArray';\nimport * as moment from 'moment';\nimport padStart from 'lodash/padStart';\n\nimport interopDefault from '../_util/interopDefault';\n\n// Countdown\nvar timeUnits = [['Y', 1000 * 60 * 60 * 24 * 365], // years\n['M', 1000 * 60 * 60 * 24 * 30], // months\n['D', 1000 * 60 * 60 * 24], // days\n['H', 1000 * 60 * 60], // hours\n['m', 1000 * 60], // minutes\n['s', 1000], // seconds\n['S', 1]];\n\nexport function formatTimeStr(duration, format) {\n var leftDuration = duration;\n\n var escapeRegex = /\\[[^\\]]*\\]/g;\n var keepList = (format.match(escapeRegex) || []).map(function (str) {\n return str.slice(1, -1);\n });\n var templateText = format.replace(escapeRegex, '[]');\n\n var replacedText = timeUnits.reduce(function (current, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n name = _ref2[0],\n unit = _ref2[1];\n\n if (current.indexOf(name) !== -1) {\n var value = Math.floor(leftDuration / unit);\n leftDuration -= value * unit;\n return current.replace(new RegExp(name + '+', 'g'), function (match) {\n var len = match.length;\n return padStart(value.toString(), len, '0');\n });\n }\n return current;\n }, templateText);\n\n var index = 0;\n return replacedText.replace(escapeRegex, function () {\n var match = keepList[index];\n index += 1;\n return match;\n });\n}\n\nexport function formatCountdown(value, config) {\n var _config$format = config.format,\n format = _config$format === undefined ? '' : _config$format;\n\n var target = interopDefault(moment)(value).valueOf();\n var current = interopDefault(moment)().valueOf();\n var diff = Math.max(target - current, 0);\n return formatTimeStr(diff, format);\n}","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport _extends from 'babel-runtime/helpers/extends';\nimport * as moment from 'moment';\nimport interopDefault from '../_util/interopDefault';\nimport { initDefaultProps, getListeners } from '../_util/props-util';\nimport Statistic, { StatisticProps } from './Statistic';\nimport { formatCountdown as _formatCountdown } from './utils';\n\nvar REFRESH_INTERVAL = 1000 / 30;\n\nfunction getTime(value) {\n return interopDefault(moment)(value).valueOf();\n}\n\nexport default {\n name: 'AStatisticCountdown',\n props: initDefaultProps(StatisticProps, {\n format: 'HH:mm:ss'\n }),\n\n created: function created() {\n this.countdownId = undefined;\n },\n mounted: function mounted() {\n this.syncTimer();\n },\n updated: function updated() {\n this.syncTimer();\n },\n beforeDestroy: function beforeDestroy() {\n this.stopTimer();\n },\n\n\n methods: {\n syncTimer: function syncTimer() {\n var value = this.$props.value;\n\n var timestamp = getTime(value);\n if (timestamp >= Date.now()) {\n this.startTimer();\n } else {\n this.stopTimer();\n }\n },\n startTimer: function startTimer() {\n var _this = this;\n\n if (this.countdownId) return;\n this.countdownId = window.setInterval(function () {\n _this.$refs.statistic.$forceUpdate();\n _this.syncTimer();\n }, REFRESH_INTERVAL);\n },\n stopTimer: function stopTimer() {\n var value = this.$props.value;\n\n if (this.countdownId) {\n clearInterval(this.countdownId);\n this.countdownId = undefined;\n\n var timestamp = getTime(value);\n if (timestamp < Date.now()) {\n this.$emit('finish');\n }\n }\n },\n formatCountdown: function formatCountdown(_ref) {\n var value = _ref.value,\n config = _ref.config;\n var format = this.$props.format;\n\n return _formatCountdown(value, _extends({}, config, { format: format }));\n },\n\n\n valueRenderHtml: function valueRenderHtml(node) {\n return node;\n }\n },\n\n render: function render() {\n var h = arguments[0];\n\n return h(Statistic, _mergeJSXProps([{\n ref: 'statistic'\n }, {\n props: _extends({}, this.$props, {\n valueRender: this.valueRenderHtml,\n formatter: this.formatCountdown\n }),\n on: getListeners(this)\n }]));\n }\n};","import Statistic from './Statistic';\nimport Countdown from './Countdown';\nimport Base from '../base';\n\nStatistic.Countdown = Countdown;\n/* istanbul ignore next */\nStatistic.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Statistic.name, Statistic);\n Vue.component(Statistic.Countdown.name, Statistic.Countdown);\n};\n\nexport default Statistic;","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport debounce from 'lodash/debounce';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { filterEmpty, initDefaultProps, isValidElement, getComponentFromProp, getListeners } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport var SpinSize = PropTypes.oneOf(['small', 'default', 'large']);\n\nexport var SpinProps = function SpinProps() {\n return {\n prefixCls: PropTypes.string,\n spinning: PropTypes.bool,\n size: SpinSize,\n wrapperClassName: PropTypes.string,\n tip: PropTypes.string,\n delay: PropTypes.number,\n indicator: PropTypes.any\n };\n};\n\n// Render indicator\nvar defaultIndicator = void 0;\n\nfunction shouldDelay(spinning, delay) {\n return !!spinning && !!delay && !isNaN(Number(delay));\n}\n\nexport function setDefaultIndicator(Content) {\n defaultIndicator = typeof Content.indicator === 'function' ? Content.indicator : function (h) {\n return h(Content.indicator);\n };\n}\n\nexport default {\n name: 'ASpin',\n mixins: [BaseMixin],\n props: initDefaultProps(SpinProps(), {\n size: 'default',\n spinning: true,\n wrapperClassName: ''\n }),\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n data: function data() {\n var spinning = this.spinning,\n delay = this.delay;\n\n var shouldBeDelayed = shouldDelay(spinning, delay);\n this.originalUpdateSpinning = this.updateSpinning;\n this.debouncifyUpdateSpinning(this.$props);\n return {\n sSpinning: spinning && !shouldBeDelayed\n };\n },\n mounted: function mounted() {\n this.updateSpinning();\n },\n updated: function updated() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.debouncifyUpdateSpinning();\n _this.updateSpinning();\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.cancelExistingSpin();\n },\n\n methods: {\n debouncifyUpdateSpinning: function debouncifyUpdateSpinning(props) {\n var _ref = props || this.$props,\n delay = _ref.delay;\n\n if (delay) {\n this.cancelExistingSpin();\n this.updateSpinning = debounce(this.originalUpdateSpinning, delay);\n }\n },\n updateSpinning: function updateSpinning() {\n var spinning = this.spinning,\n sSpinning = this.sSpinning;\n\n if (sSpinning !== spinning) {\n this.setState({ sSpinning: spinning });\n }\n },\n cancelExistingSpin: function cancelExistingSpin() {\n var updateSpinning = this.updateSpinning;\n\n if (updateSpinning && updateSpinning.cancel) {\n updateSpinning.cancel();\n }\n },\n getChildren: function getChildren() {\n if (this.$slots && this.$slots['default']) {\n return filterEmpty(this.$slots['default']);\n }\n return null;\n },\n renderIndicator: function renderIndicator(h, prefixCls) {\n // const h = this.$createElement\n var dotClassName = prefixCls + '-dot';\n var indicator = getComponentFromProp(this, 'indicator');\n // should not be render default indicator when indicator value is null\n if (indicator === null) {\n return null;\n }\n if (Array.isArray(indicator)) {\n indicator = filterEmpty(indicator);\n indicator = indicator.length === 1 ? indicator[0] : indicator;\n }\n if (isValidElement(indicator)) {\n return cloneElement(indicator, { 'class': dotClassName });\n }\n\n if (defaultIndicator && isValidElement(defaultIndicator(h))) {\n return cloneElement(defaultIndicator(h), { 'class': dotClassName });\n }\n\n return h(\n 'span',\n { 'class': dotClassName + ' ' + prefixCls + '-dot-spin' },\n [h('i', { 'class': prefixCls + '-dot-item' }), h('i', { 'class': prefixCls + '-dot-item' }), h('i', { 'class': prefixCls + '-dot-item' }), h('i', { 'class': prefixCls + '-dot-item' })]\n );\n }\n },\n render: function render(h) {\n var _spinClassName;\n\n var _$props = this.$props,\n size = _$props.size,\n customizePrefixCls = _$props.prefixCls,\n tip = _$props.tip,\n wrapperClassName = _$props.wrapperClassName,\n restProps = _objectWithoutProperties(_$props, ['size', 'prefixCls', 'tip', 'wrapperClassName']);\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('spin', customizePrefixCls);\n\n var sSpinning = this.sSpinning;\n\n var spinClassName = (_spinClassName = {}, _defineProperty(_spinClassName, prefixCls, true), _defineProperty(_spinClassName, prefixCls + '-sm', size === 'small'), _defineProperty(_spinClassName, prefixCls + '-lg', size === 'large'), _defineProperty(_spinClassName, prefixCls + '-spinning', sSpinning), _defineProperty(_spinClassName, prefixCls + '-show-text', !!tip), _spinClassName);\n\n var spinElement = h(\n 'div',\n _mergeJSXProps([restProps, { 'class': spinClassName }]),\n [this.renderIndicator(h, prefixCls), tip ? h(\n 'div',\n { 'class': prefixCls + '-text' },\n [tip]\n ) : null]\n );\n var children = this.getChildren();\n if (children) {\n var _containerClassName;\n\n var containerClassName = (_containerClassName = {}, _defineProperty(_containerClassName, prefixCls + '-container', true), _defineProperty(_containerClassName, prefixCls + '-blur', sSpinning), _containerClassName);\n\n return h(\n 'div',\n _mergeJSXProps([{ on: getListeners(this) }, {\n 'class': [prefixCls + '-nested-loading', wrapperClassName]\n }]),\n [sSpinning && h(\n 'div',\n { key: 'loading' },\n [spinElement]\n ), h(\n 'div',\n { 'class': containerClassName, key: 'container' },\n [children]\n )]\n );\n }\n return spinElement;\n }\n};","import _extends from 'babel-runtime/helpers/extends';\nimport PropTypes from '../_util/vue-types';\nimport { initDefaultProps, getOptionProps, getListeners } from '../_util/props-util';\nimport VcSteps from '../vc-steps';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\n\nvar getStepsProps = function getStepsProps() {\n var defaultProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var props = {\n prefixCls: PropTypes.string,\n iconPrefix: PropTypes.string,\n current: PropTypes.number,\n initial: PropTypes.number,\n labelPlacement: PropTypes.oneOf(['horizontal', 'vertical']).def('horizontal'),\n status: PropTypes.oneOf(['wait', 'process', 'finish', 'error']),\n size: PropTypes.oneOf(['default', 'small']),\n direction: PropTypes.oneOf(['horizontal', 'vertical']),\n progressDot: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n type: PropTypes.oneOf(['default', 'navigation'])\n };\n return initDefaultProps(props, defaultProps);\n};\n\nvar Steps = {\n name: 'ASteps',\n props: getStepsProps({\n current: 0\n }),\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n model: {\n prop: 'current',\n event: 'change'\n },\n Step: _extends({}, VcSteps.Step, { name: 'AStep' }),\n render: function render() {\n var h = arguments[0];\n\n var props = getOptionProps(this);\n var customizePrefixCls = props.prefixCls,\n customizeIconPrefixCls = props.iconPrefix;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('steps', customizePrefixCls);\n var iconPrefix = getPrefixCls('', customizeIconPrefixCls);\n\n var icons = {\n finish: h(Icon, {\n attrs: { type: 'check' },\n 'class': prefixCls + '-finish-icon' }),\n error: h(Icon, {\n attrs: { type: 'close' },\n 'class': prefixCls + '-error-icon' })\n };\n var stepsProps = {\n props: _extends({\n icons: icons,\n iconPrefix: iconPrefix,\n prefixCls: prefixCls\n }, props),\n on: getListeners(this),\n scopedSlots: this.$scopedSlots\n };\n return h(\n VcSteps,\n stepsProps,\n [this.$slots['default']]\n );\n }\n};\n\n/* istanbul ignore next */\nSteps.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Steps.name, Steps);\n Vue.component(Steps.Step.name, Steps.Step);\n};\n\nexport default Steps;","import _extends from 'babel-runtime/helpers/extends';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _typeof from 'babel-runtime/helpers/typeof';\nimport Icon from '../icon';\nimport ScrollableInkTabBar from '../vc-tabs/src/ScrollableInkTabBar';\nimport { cloneElement } from '../_util/vnode';\nimport PropTypes from '../_util/vue-types';\nimport { getListeners } from '../_util/props-util';\nvar TabBar = {\n name: 'TabBar',\n inheritAttrs: false,\n props: {\n prefixCls: PropTypes.string,\n tabBarStyle: PropTypes.object,\n tabBarExtraContent: PropTypes.any,\n type: PropTypes.oneOf(['line', 'card', 'editable-card']),\n tabPosition: PropTypes.oneOf(['top', 'right', 'bottom', 'left']).def('top'),\n tabBarPosition: PropTypes.oneOf(['top', 'right', 'bottom', 'left']),\n size: PropTypes.oneOf(['default', 'small', 'large']),\n animated: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n renderTabBar: PropTypes.func,\n panels: PropTypes.array.def([]),\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n tabBarGutter: PropTypes.number\n },\n render: function render() {\n var _cls;\n\n var h = arguments[0];\n var _$props = this.$props,\n tabBarStyle = _$props.tabBarStyle,\n _$props$animated = _$props.animated,\n animated = _$props$animated === undefined ? true : _$props$animated,\n renderTabBar = _$props.renderTabBar,\n tabBarExtraContent = _$props.tabBarExtraContent,\n tabPosition = _$props.tabPosition,\n prefixCls = _$props.prefixCls,\n _$props$type = _$props.type,\n type = _$props$type === undefined ? 'line' : _$props$type,\n size = _$props.size;\n\n var inkBarAnimated = (typeof animated === 'undefined' ? 'undefined' : _typeof(animated)) === 'object' ? animated.inkBar : animated;\n\n var isVertical = tabPosition === 'left' || tabPosition === 'right';\n var prevIconType = isVertical ? 'up' : 'left';\n var nextIconType = isVertical ? 'down' : 'right';\n var prevIcon = h(\n 'span',\n { 'class': prefixCls + '-tab-prev-icon' },\n [h(Icon, {\n attrs: { type: prevIconType },\n 'class': prefixCls + '-tab-prev-icon-target' })]\n );\n var nextIcon = h(\n 'span',\n { 'class': prefixCls + '-tab-next-icon' },\n [h(Icon, {\n attrs: { type: nextIconType },\n 'class': prefixCls + '-tab-next-icon-target' })]\n );\n\n // Additional className for style usage\n var cls = (_cls = {}, _defineProperty(_cls, prefixCls + '-' + tabPosition + '-bar', true), _defineProperty(_cls, prefixCls + '-' + size + '-bar', !!size), _defineProperty(_cls, prefixCls + '-card-bar', type && type.indexOf('card') >= 0), _cls);\n\n var renderProps = {\n props: _extends({}, this.$props, this.$attrs, {\n inkBarAnimated: inkBarAnimated,\n extraContent: tabBarExtraContent,\n prevIcon: prevIcon,\n nextIcon: nextIcon\n }),\n style: tabBarStyle,\n on: getListeners(this),\n 'class': cls\n };\n\n var RenderTabBar = void 0;\n\n if (renderTabBar) {\n RenderTabBar = renderTabBar(renderProps, ScrollableInkTabBar);\n // https://github.com/vueComponent/ant-design-vue/issues/2157\n return cloneElement(RenderTabBar, renderProps);\n } else {\n return h(ScrollableInkTabBar, renderProps);\n }\n }\n};\n\nexport default TabBar;","import _mergeJSXProps from 'babel-helper-vue-jsx-merge-props';\nimport _extends from 'babel-runtime/helpers/extends';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _typeof from 'babel-runtime/helpers/typeof';\nimport Icon from '../icon';\nimport VcTabs, { TabPane } from '../vc-tabs/src';\nimport TabContent from '../vc-tabs/src/TabContent';\nimport { isFlexSupported } from '../_util/styleChecker';\nimport PropTypes from '../_util/vue-types';\nimport { getComponentFromProp, getOptionProps, filterEmpty, getListeners } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport isValid from '../_util/isValid';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport TabBar from './TabBar';\n\nexport default {\n TabPane: TabPane,\n name: 'ATabs',\n model: {\n prop: 'activeKey',\n event: 'change'\n },\n props: {\n prefixCls: PropTypes.string,\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n defaultActiveKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n hideAdd: PropTypes.bool.def(false),\n tabBarStyle: PropTypes.object,\n tabBarExtraContent: PropTypes.any,\n destroyInactiveTabPane: PropTypes.bool.def(false),\n type: PropTypes.oneOf(['line', 'card', 'editable-card']),\n tabPosition: PropTypes.oneOf(['top', 'right', 'bottom', 'left']).def('top'),\n size: PropTypes.oneOf(['default', 'small', 'large']),\n animated: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n tabBarGutter: PropTypes.number,\n renderTabBar: PropTypes.func\n },\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n mounted: function mounted() {\n var NO_FLEX = ' no-flex';\n var tabNode = this.$el;\n if (tabNode && !isFlexSupported && tabNode.className.indexOf(NO_FLEX) === -1) {\n tabNode.className += NO_FLEX;\n }\n },\n\n methods: {\n removeTab: function removeTab(targetKey, e) {\n e.stopPropagation();\n if (isValid(targetKey)) {\n this.$emit('edit', targetKey, 'remove');\n }\n },\n handleChange: function handleChange(activeKey) {\n this.$emit('change', activeKey);\n },\n createNewTab: function createNewTab(targetKey) {\n this.$emit('edit', targetKey, 'add');\n },\n onTabClick: function onTabClick(val) {\n this.$emit('tabClick', val);\n },\n onPrevClick: function onPrevClick(val) {\n this.$emit('prevClick', val);\n },\n onNextClick: function onNextClick(val) {\n this.$emit('nextClick', val);\n }\n },\n\n render: function render() {\n var _cls,\n _this = this,\n _contentCls;\n\n var h = arguments[0];\n\n var props = getOptionProps(this);\n var customizePrefixCls = props.prefixCls,\n size = props.size,\n _props$type = props.type,\n type = _props$type === undefined ? 'line' : _props$type,\n tabPosition = props.tabPosition,\n _props$animated = props.animated,\n animated = _props$animated === undefined ? true : _props$animated,\n hideAdd = props.hideAdd,\n renderTabBar = props.renderTabBar;\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('tabs', customizePrefixCls);\n var children = filterEmpty(this.$slots['default']);\n\n var tabBarExtraContent = getComponentFromProp(this, 'tabBarExtraContent');\n var tabPaneAnimated = (typeof animated === 'undefined' ? 'undefined' : _typeof(animated)) === 'object' ? animated.tabPane : animated;\n\n // card tabs should not have animation\n if (type !== 'line') {\n tabPaneAnimated = 'animated' in props ? tabPaneAnimated : false;\n }\n var cls = (_cls = {}, _defineProperty(_cls, prefixCls + '-vertical', tabPosition === 'left' || tabPosition === 'right'), _defineProperty(_cls, prefixCls + '-' + size, !!size), _defineProperty(_cls, prefixCls + '-card', type.indexOf('card') >= 0), _defineProperty(_cls, prefixCls + '-' + type, true), _defineProperty(_cls, prefixCls + '-no-animation', !tabPaneAnimated), _cls);\n // only card type tabs can be added and closed\n var childrenWithClose = [];\n if (type === 'editable-card') {\n childrenWithClose = [];\n children.forEach(function (child, index) {\n var props = getOptionProps(child);\n var closable = props.closable;\n closable = typeof closable === 'undefined' ? true : closable;\n var closeIcon = closable ? h(Icon, {\n attrs: {\n type: 'close'\n },\n 'class': prefixCls + '-close-x',\n on: {\n 'click': function click(e) {\n return _this.removeTab(child.key, e);\n }\n }\n }) : null;\n childrenWithClose.push(cloneElement(child, {\n props: {\n tab: h(\n 'div',\n { 'class': closable ? undefined : prefixCls + '-tab-unclosable' },\n [getComponentFromProp(child, 'tab'), closeIcon]\n )\n },\n key: child.key || index\n }));\n });\n // Add new tab handler\n if (!hideAdd) {\n tabBarExtraContent = h('span', [h(Icon, {\n attrs: { type: 'plus' },\n 'class': prefixCls + '-new-tab', on: {\n 'click': this.createNewTab\n }\n }), tabBarExtraContent]);\n }\n }\n\n tabBarExtraContent = tabBarExtraContent ? h(\n 'div',\n { 'class': prefixCls + '-extra-content' },\n [tabBarExtraContent]\n ) : null;\n\n var renderTabBarSlot = renderTabBar || this.$scopedSlots.renderTabBar;\n var listeners = getListeners(this);\n var tabBarProps = {\n props: _extends({}, this.$props, {\n prefixCls: prefixCls,\n tabBarExtraContent: tabBarExtraContent,\n renderTabBar: renderTabBarSlot\n }),\n on: listeners\n };\n var contentCls = (_contentCls = {}, _defineProperty(_contentCls, prefixCls + '-' + tabPosition + '-content', true), _defineProperty(_contentCls, prefixCls + '-card-content', type.indexOf('card') >= 0), _contentCls);\n var tabsProps = {\n props: _extends({}, getOptionProps(this), {\n prefixCls: prefixCls,\n tabBarPosition: tabPosition,\n // https://github.com/vueComponent/ant-design-vue/issues/2030\n // 如仅传递 tabBarProps 会导致,第二次执行 renderTabBar 时,丢失 on 属性,\n // 添加key之后,会在babel jsx 插件中做一次merge,最终TabBar接收的是一个新的对象,而不是 tabBarProps\n renderTabBar: function renderTabBar() {\n return h(TabBar, _mergeJSXProps([{ key: 'tabBar' }, tabBarProps]));\n },\n renderTabContent: function renderTabContent() {\n return h(TabContent, { 'class': contentCls, attrs: { animated: tabPaneAnimated, animatedWithMargin: true }\n });\n },\n children: childrenWithClose.length > 0 ? childrenWithClose : children,\n __propsSymbol__: Symbol()\n }),\n on: _extends({}, listeners, {\n change: this.handleChange\n }),\n 'class': cls\n };\n return h(VcTabs, tabsProps);\n }\n};","import _extends from 'babel-runtime/helpers/extends';\nimport ref from 'vue-ref';\nimport Vue from 'vue';\nimport Tabs from './tabs';\nimport TabPane from '../vc-tabs/src/TabPane';\nimport TabContent from '../vc-tabs/src/TabContent';\nimport Base from '../base';\n\nTabs.TabPane = _extends({}, TabPane, { name: 'ATabPane', __ANT_TAB_PANE: true });\nTabs.TabContent = _extends({}, TabContent, { name: 'ATabContent' });\nVue.use(ref, { name: 'ant-ref' });\n\n/* istanbul ignore next */\nTabs.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Tabs.name, Tabs);\n Vue.component(Tabs.TabPane.name, Tabs.TabPane);\n Vue.component(Tabs.TabContent.name, Tabs.TabContent);\n};\n\nexport default Tabs;\nexport { TabPane, TabContent };","import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getOptionProps, getListeners } from '../_util/props-util';\nimport VcSlider from '../vc-slider/src/Slider';\nimport VcRange from '../vc-slider/src/Range';\nimport VcHandle from '../vc-slider/src/Handle';\nimport Tooltip from '../tooltip';\nimport Base from '../base';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport abstractTooltipProps from '../tooltip/abstractTooltipProps';\n\n// export interface SliderMarks {\n// [key]: React.ReactNode | {\n// style: React.CSSProperties,\n// label: React.ReactNode,\n// };\n// }\n// const SliderMarks = PropTypes.shape({\n// style: PropTypes.object,\n// label: PropTypes.any,\n// }).loose\nvar tooltipProps = abstractTooltipProps();\nexport var SliderProps = function SliderProps() {\n return {\n prefixCls: PropTypes.string,\n tooltipPrefixCls: PropTypes.string,\n range: PropTypes.bool,\n reverse: PropTypes.bool,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.oneOfType([PropTypes.number, PropTypes.any]),\n marks: PropTypes.object,\n dots: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)]),\n defaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)]),\n included: PropTypes.bool,\n disabled: PropTypes.bool,\n vertical: PropTypes.bool,\n tipFormatter: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n tooltipVisible: PropTypes.bool,\n tooltipPlacement: tooltipProps.placement,\n getTooltipPopupContainer: PropTypes.func\n };\n};\n\nvar Slider = {\n name: 'ASlider',\n model: {\n prop: 'value',\n event: 'change'\n },\n mixins: [BaseMixin],\n inject: {\n configProvider: { 'default': function _default() {\n return ConfigConsumerProps;\n } }\n },\n props: _extends({}, SliderProps(), {\n tipFormatter: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).def(function (value) {\n return value.toString();\n })\n }),\n data: function data() {\n return {\n visibles: {}\n };\n },\n\n methods: {\n toggleTooltipVisible: function toggleTooltipVisible(index, visible) {\n this.setState(function (_ref) {\n var visibles = _ref.visibles;\n return {\n visibles: _extends({}, visibles, _defineProperty({}, index, visible))\n };\n });\n },\n handleWithTooltip: function handleWithTooltip(tooltipPrefixCls, prefixCls, _ref2) {\n var _this = this;\n\n var value = _ref2.value,\n dragging = _ref2.dragging,\n index = _ref2.index,\n directives = _ref2.directives,\n on = _ref2.on,\n restProps = _objectWithoutProperties(_ref2, ['value', 'dragging', 'index', 'directives', 'on']);\n\n var h = this.$createElement;\n var _$props = this.$props,\n tipFormatter = _$props.tipFormatter,\n tooltipVisible = _$props.tooltipVisible,\n tooltipPlacement = _$props.tooltipPlacement,\n getTooltipPopupContainer = _$props.getTooltipPopupContainer;\n var visibles = this.visibles;\n\n var isTipFormatter = tipFormatter ? visibles[index] || dragging : false;\n var visible = tooltipVisible || tooltipVisible === undefined && isTipFormatter;\n var tooltipProps = {\n props: {\n prefixCls: tooltipPrefixCls,\n title: tipFormatter ? tipFormatter(value) : '',\n visible: visible,\n placement: tooltipPlacement || 'top',\n transitionName: 'zoom-down',\n overlayClassName: prefixCls + '-tooltip',\n getPopupContainer: getTooltipPopupContainer || function () {\n return document.body;\n }\n },\n key: index\n };\n var handleProps = {\n props: _extends({\n value: value\n }, restProps),\n directives: directives,\n on: _extends({}, on, {\n mouseenter: function mouseenter() {\n return _this.toggleTooltipVisible(index, true);\n },\n mouseleave: function mouseleave() {\n return _this.toggleTooltipVisible(index, false);\n }\n })\n };\n return h(\n Tooltip,\n tooltipProps,\n [h(VcHandle, handleProps)]\n );\n },\n focus: function focus() {\n this.$refs.sliderRef.focus();\n },\n blur: function blur() {\n this.$refs.sliderRef.blur();\n }\n },\n render: function render() {\n var _this2 = this;\n\n var h = arguments[0];\n\n var _getOptionProps = getOptionProps(this),\n range = _getOptionProps.range,\n customizePrefixCls = _getOptionProps.prefixCls,\n customizeTooltipPrefixCls = _getOptionProps.tooltipPrefixCls,\n restProps = _objectWithoutProperties(_getOptionProps, ['range', 'prefixCls', 'tooltipPrefixCls']);\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('slider', customizePrefixCls);\n var tooltipPrefixCls = getPrefixCls('tooltip', customizeTooltipPrefixCls);\n var listeners = getListeners(this);\n if (range) {\n var vcRangeProps = {\n props: _extends({}, restProps, {\n prefixCls: prefixCls,\n tooltipPrefixCls: tooltipPrefixCls,\n handle: function handle(info) {\n return _this2.handleWithTooltip(tooltipPrefixCls, prefixCls, info);\n }\n }),\n ref: 'sliderRef',\n on: listeners\n };\n return h(VcRange, vcRangeProps);\n }\n var vcSliderProps = {\n props: _extends({}, restProps, {\n prefixCls: prefixCls,\n tooltipPrefixCls: tooltipPrefixCls,\n handle: function handle(info) {\n return _this2.handleWithTooltip(tooltipPrefixCls, prefixCls, info);\n }\n }),\n ref: 'sliderRef',\n on: listeners\n };\n return h(VcSlider, vcSliderProps);\n }\n};\n\n/* istanbul ignore next */\nSlider.install = function (Vue) {\n Vue.use(Base);\n Vue.component(Slider.name, Slider);\n};\n\nexport default Slider;"],"sourceRoot":""}