{"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","undefined","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","filterBelongToScrollBody","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","multiple","input","checked","MenuItem","_this5","originSelectedKeys","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","isTheSameComponents","components1","components2","every","getFilteredValueColumns","state","getFiltersFromColumns","col","colKey","isFiltersChanged","columnKey","Column","ColumnGroup","inject","configProvider","provide","warning","x","CheckboxPropsCache","$root","constructor","observable","getDefaultSortOrder","sFilters","getDefaultFilters","sPagination","getDefaultPagination","pivot","sComponents","filterDataCnt","previousState","newPagination","current","pageSize","oldVal","filteredValueColumns","filtersFromColumns","newFilters","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","_","handleChange","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","marginDirection","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","PresetColorTypes","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","formatTimeStr","duration","leftDuration","escapeRegex","keepList","str","templateText","replacedText","unit","config","_config$format","interopDefault","moment","valueOf","diff","max","REFRESH_INTERVAL","getTime","countdownId","syncTimer","beforeDestroy","stopTimer","timestamp","Date","now","startTimer","window","setInterval","statistic","clearInterval","formatCountdown","valueRenderHtml","Statistic","Countdown","SpinSize","wrapperClassName","tip","delay","indicator","defaultIndicator","shouldDelay","isNaN","Content","shouldBeDelayed","originalUpdateSpinning","updateSpinning","debouncifyUpdateSpinning","sSpinning","cancelExistingSpin","cancel","getChildren","renderIndicator","dotClassName","_spinClassName","spinClassName","spinElement","_containerClassName","containerClassName","getStepsProps","defaultProps","iconPrefix","initial","labelPlacement","status","progressDot","Steps","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","createNewTab","onTabClick","onPrevClick","onNextClick","_contentCls","_props$type","_props$animated","tabPaneAnimated","tabPane","childrenWithClose","closeIcon","tab","renderTabBarSlot","tabBarProps","contentCls","tabsProps","renderTabContent","TabContent","animatedWithMargin","__ANT_TAB_PANE","tooltipProps","SliderProps","tooltipPrefixCls","range","reverse","min","marks","dots","included","vertical","tipFormatter","tooltipVisible","tooltipPlacement","getTooltipPopupContainer","Slider","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.f061ba88.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":""}