{"version":3,"sources":["webpack:///./node_modules/ant-design-vue/es/vc-table/src/utils.js","webpack:///./node_modules/lodash-es/_assignMergeValue.js","webpack:///./node_modules/lodash-es/_safeGet.js","webpack:///./node_modules/lodash-es/toPlainObject.js","webpack:///./node_modules/lodash-es/_baseMergeDeep.js","webpack:///./node_modules/lodash-es/_baseMerge.js","webpack:///./node_modules/lodash-es/_isIterateeCall.js","webpack:///./node_modules/lodash-es/_createAssigner.js","webpack:///./node_modules/lodash-es/merge.js","webpack:///./node_modules/ant-design-vue/es/vc-table/src/ColGroup.js","webpack:///./node_modules/ant-design-vue/es/vc-table/src/fixUtil.js","webpack:///./node_modules/ant-design-vue/es/vc-table/src/TableHeaderRow.js","webpack:///./node_modules/ant-design-vue/es/vc-table/src/TableHeader.js","webpack:///./node_modules/ant-design-vue/es/vc-table/src/TableCell.js","webpack:///./node_modules/ant-design-vue/es/vc-table/src/TableRow.js","webpack:///./node_modules/ant-design-vue/es/vc-table/src/ExpandIcon.js","webpack:///./node_modules/ant-design-vue/es/vc-table/src/ExpandableRow.js","webpack:///./node_modules/ant-design-vue/es/vc-table/src/BaseTable.js","webpack:///./node_modules/ant-design-vue/es/vc-table/src/HeadTable.js","webpack:///./node_modules/ant-design-vue/es/vc-table/src/BodyTable.js","webpack:///./node_modules/ant-design-vue/es/vc-table/src/ExpandableTable.js","webpack:///./node_modules/ant-design-vue/es/_util/hooks/useLayoutState.js","webpack:///./node_modules/ant-design-vue/es/vc-table/src/useColumnManager.js","webpack:///./node_modules/ant-design-vue/es/vc-table/src/useStickyOffsets.js","webpack:///./node_modules/ant-design-vue/es/vc-table/src/Table.js","webpack:///./node_modules/ant-design-vue/es/vc-table/index.js","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/_util/BaseMixin2.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/lodash-es/_arraySome.js","webpack:///./node_modules/lodash-es/_equalArrays.js","webpack:///./node_modules/lodash-es/_mapToArray.js","webpack:///./node_modules/lodash-es/_equalByTag.js","webpack:///./node_modules/lodash-es/_equalObjects.js","webpack:///./node_modules/lodash-es/_baseIsEqualDeep.js","webpack:///./node_modules/lodash-es/_baseIsEqual.js","webpack:///./node_modules/lodash-es/_baseProperty.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///./node_modules/lodash-es/findIndex.js","webpack:///./node_modules/async-validator/dist-web/index.js","webpack:///./node_modules/ant-design-vue/es/vc-pagination/locale/zh_CN.js","webpack:///./node_modules/ant-design-vue/es/form/utils/typeUtil.js","webpack:///./node_modules/ant-design-vue/es/form/utils/valueUtil.js","webpack:///./node_modules/ant-design-vue/es/form/utils/messages.js","webpack:///./node_modules/ant-design-vue/es/form/utils/validateUtil.js","webpack:///./node_modules/lodash-es/_createFind.js","webpack:///./node_modules/lodash-es/find.js","webpack:///./node_modules/ant-design-vue/es/form/context.js","webpack:///./node_modules/ant-design-vue/es/form/FormItemLabel.js","webpack:///./node_modules/ant-design-vue/es/form/ErrorList.js","webpack:///./node_modules/ant-design-vue/es/form/FormItemInput.js","webpack:///./node_modules/ant-design-vue/es/form/FormItem.js","webpack:///./node_modules/ant-design-vue/es/form/utils/asyncUtil.js","webpack:///./node_modules/lodash-es/isEqual.js","webpack:///./node_modules/compute-scroll-into-view/dist/index.module.js","webpack:///./node_modules/scroll-into-view-if-needed/es/index.js","webpack:///./node_modules/lodash-es/_baseIntersection.js","webpack:///./node_modules/lodash-es/_castArrayLikeObject.js","webpack:///./node_modules/lodash-es/intersection.js","webpack:///./node_modules/ant-design-vue/es/form/useForm.js","webpack:///./node_modules/ant-design-vue/es/form/Form.js","webpack:///./node_modules/ant-design-vue/es/form/index.js","webpack:///./node_modules/ant-design-vue/es/pagination/MiniSelect.js","webpack:///./node_modules/ant-design-vue/es/vc-pagination/Pager.js","webpack:///./node_modules/ant-design-vue/es/vc-pagination/KeyCode.js","webpack:///./node_modules/ant-design-vue/es/vc-pagination/Options.js","webpack:///./node_modules/ant-design-vue/es/vc-pagination/Pagination.js","webpack:///./node_modules/ant-design-vue/es/pagination/Pagination.js","webpack:///./node_modules/ant-design-vue/es/popover/style/index.js","webpack:///./node_modules/ant-design-vue/es/divider/style/index.js","webpack:///./node_modules/ant-design-vue/es/radio/style/index.js","webpack:///./node_modules/ant-design-vue/es/radio/Radio.js","webpack:///./node_modules/ant-design-vue/es/radio/Group.js","webpack:///./node_modules/ant-design-vue/es/radio/RadioButton.js","webpack:///./node_modules/ant-design-vue/es/radio/index.js","webpack:///./node_modules/lodash-es/cloneDeep.js","webpack:///./node_modules/ant-design-vue/es/_util/transButton.js","webpack:///./node_modules/ant-design-vue/es/pagination/style/index.js","webpack:///./node_modules/lodash-es/indexOf.js","webpack:///./node_modules/ant-design-vue/es/_util/component-classes.js","webpack:///./node_modules/lodash-es/_createBaseFor.js","webpack:///./node_modules/lodash-es/_baseFor.js","webpack:///./node_modules/ant-design-vue/es/tag/CheckableTag.js","webpack:///./node_modules/ant-design-vue/es/tag/index.js","webpack:///./src/views/components/Content.vue","webpack:///./src/views/components/Content.vue?db3a","webpack:///./node_modules/lodash-es/_baseIsMatch.js","webpack:///./node_modules/lodash-es/_isStrictComparable.js","webpack:///./node_modules/lodash-es/_getMatchData.js","webpack:///./node_modules/lodash-es/_matchesStrictComparable.js","webpack:///./node_modules/lodash-es/_baseMatches.js","webpack:///./node_modules/lodash-es/_baseHasIn.js","webpack:///./node_modules/lodash-es/_hasPath.js","webpack:///./node_modules/lodash-es/hasIn.js","webpack:///./node_modules/lodash-es/_baseMatchesProperty.js","webpack:///./node_modules/lodash-es/_basePropertyDeep.js","webpack:///./node_modules/lodash-es/property.js","webpack:///./node_modules/lodash-es/_baseIteratee.js","webpack:///./src/views/components/CSignSupported.vue","webpack:///./src/views/components/CSignSupported.vue?959d","webpack:///./node_modules/bignumber.js/bignumber.js","webpack:///./node_modules/ant-design-vue/es/typography/util.js","webpack:///./node_modules/ant-design-vue/es/typography/Editable.js","webpack:///./node_modules/ant-design-vue/es/typography/Typography.js","webpack:///./node_modules/ant-design-vue/es/_util/copy-to-clipboard/toggle-selection.js","webpack:///./node_modules/ant-design-vue/es/_util/copy-to-clipboard/index.js","webpack:///./node_modules/ant-design-vue/es/typography/Base.js","webpack:///./node_modules/ant-design-vue/es/typography/Link.js","webpack:///./node_modules/ant-design-vue/es/typography/Paragraph.js","webpack:///./node_modules/ant-design-vue/es/typography/Text.js","webpack:///./node_modules/ant-design-vue/es/typography/Title.js","webpack:///./node_modules/ant-design-vue/es/typography/index.js","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./node_modules/ant-design-vue/es/divider/index.js","webpack:///./src/views/printWaybill/Details.vue","webpack:///./src/views/printWaybill/Details.vue?a680","webpack:///./node_modules/ant-design-vue/es/tag/style/index.js","webpack:///./node_modules/ant-design-vue/es/typography/style/index.js","webpack:///./node_modules/ant-design-vue/es/checkbox/Checkbox.js","webpack:///./node_modules/ant-design-vue/es/checkbox/Group.js","webpack:///./node_modules/ant-design-vue/es/checkbox/index.js","webpack:///./node_modules/ant-design-vue/es/table/style/index.js","webpack:///./src/views/components/CFee.vue","webpack:///./src/views/components/CFee.vue?e32f","webpack:///./src/api/modules/printWaybill/list.js","webpack:///./node_modules/ant-design-vue/es/pagination/index.js","webpack:///./node_modules/ant-design-vue/es/checkbox/style/index.js","webpack:///./node_modules/ant-design-vue/es/form/style/index.js","webpack:///./node_modules/ant-design-vue/es/vc-checkbox/src/Checkbox.js","webpack:///./node_modules/ant-design-vue/es/vc-checkbox/src/index.js","webpack:///./src/views/components/Content.vue?27af"],"names":["scrollbarVerticalSize","scrollbarHorizontalSize","scrollbarMeasure","position","top","width","height","INTERNAL_COL_DEFINE","measureScrollbar","_ref","_ref$direction","direction","prefixCls","document","window","isVertical","scrollDiv","createElement","Object","keys","forEach","scrollProp","style","className","concat","overflowY","overflowX","body","appendChild","size","offsetWidth","clientWidth","offsetHeight","clientHeight","removeChild","debounce","func","wait","immediate","timeout","debounceFunc","_len","arguments","length","args","Array","_key","context","this","persist","later","apply","callNow","clearTimeout","setTimeout","cancel","remove","array","item","index","indexOf","front","slice","last","getDataAndAriaProps","props","reduce","memo","key","substr","getColumnsKey","columns","columnKeys","column","_ref2","dataIndex","push","undefined","validateValue","val","assignMergeValue","object","value","eq","safeGet","toPlainObject","keysIn","baseMergeDeep","source","srcIndex","mergeFunc","customizer","stack","objValue","srcValue","stacked","get","newValue","isCommon","isArr","isArray","isBuff","isBuffer","isTyped","isTypedArray","isArrayLikeObject","isPlainObject","isArguments","isObject","isFunction","set","baseMerge","isIterateeCall","type","isArrayLike","createAssigner","assigner","sources","guard","merge","name","inheritAttrs","fixed","string","setup","table","store","render","leafColumns","expandIconAsCell","onColumnResize","cols","columnManager","leftLeafColumns","rightLeafColumns","map","additionalProps","mergedKey","w","default","minWidth","getCellFixedInfo","colStart","colEnd","stickyOffsets","fixLeft","fixRight","startColumn","endColumn","left","right","lastFixLeft","firstFixRight","lastFixRight","firstFixLeft","nextColumn","prevColumn","prevFixLeft","nextFixRight","nextFixLeft","prevFixRight","isSticky","__rest","s","e","t","p","prototype","hasOwnProperty","call","getOwnPropertySymbols","i","propertyIsEnumerable","TableHeaderRow","number","rows","row","components","customHeaderRow","fixedColumnsHeadRowsHeight","headerHeight","HeaderRow","header","HeaderCell","cell","rowProps","customStyle","_this$store","_classNames","isLast","children","cellProps","fixedInfo","customProps","customHeaderCell","headerCellProps","colSpan","align","textAlign","fixedStyle","isFixLeft","isFixRight","class","classNames","ellipsis","parseHeaderRows","rootColumns","fillRowCells","colIndex","rowIndex","currentColIndex","colSpans","filter","Boolean","title","subColumns","total","count","hasSubColumns","rowSpan","rowCount","_loop","isRequired","expander","_this$table","sComponents","showHeader","renderExpandIndentCell","HeaderWrapper","wrapper","isInvalidRenderCellText","text","toString","record","indent","indentSize","expandIcon","any","component","methods","handleClick","onCellClick","BodyCell","fixedInfoList","customRender","_column$className","transformCellText","rootPrefixCls","tdProps","onClick","attrs","_tdProps","customCell","indentText","paddingLeft","cellClassName","noop","TableRow","mixins","BaseMixin","customRow","rowKey","oneOfType","hasExpandIcon","looseBool","renderExpandIcon","renderExpandIconCell","expandedRow","isAnyColumnsFixed","ancestorKeys","expandIconColumnIndex","expandRowByClick","visible","expandedRowKeys","every","k","includes","expandedRowsHeight","fixedColumnsBodyRowsHeight","hovered","currentHoverKey","data","rowRef","shouldRender","mounted","_this","$nextTick","saveRowRef","watch","updated","_this2","onRowClick","event","rowPropFunc","__emit","onRowDoubleClick","onContextMenu","onMouseEnter","onMouseLeave","setExpandedRowHeight","getBoundingClientRect","setRowHeight","getStyle","$attrs","display","_this3","_this$customRow","BodyRow","cells","warning","TableCell","_a","customClass","customClassName","rowClassName","bodyRowProps","onDblclick","onMouseenter","onMouseleave","onContextmenu","expandable","expanded","needIndentSpaced","onExpand","expandClassName","ExpandableRow","childrenColumnName","expandedRowRender","beforeUnmount","handleDestroy","columnIndex","_this$$props","$props","tempExpandIconAsCell","tempExpandIconColumnIndex","handleExpandChange","handleRowClick","ExpandIcon","childrenData","expandableRowProps","BaseTable","tableClassName","hasHead","hasBody","getRowKey","getColumns","_this$$props$columns","handleRowHover","isHover","renderRows","renderData","_Object$assign","$data","_Object$assign$custom","_Object$assign$onRowC","_Object$assign$onRowD","_Object$assign$onRowC2","onRowContextMenu","_Object$assign$onRowM","onRowMouseEnter","_Object$assign$onRowM2","onRowMouseLeave","onHoverProps","onHover","rowPrefixCls","onExpandedChange","expandableRow","tableRowProps","ref","scroll","tableStyle","x","sum","parseFloat","Table","BodyWrapper","ColGroup","TableHeader","handleBodyScrollLeft","saveRef","useFixedHeader","headStyle","scrollbarWidth","y","scrollbarWidthOfHeader","marginBottom","paddingBottom","handleBodyScroll","handleWheel","_this$table2","bodyStyle","maxHeight","WebkitTransform","baseTable","useTabIndex","expandedRowClassName","defaultExpandAllRows","defaultExpandedRowKeys","ExpandableTable","finalExpandedRowKeys","handleUpdated","latestExpandedRows","destroy","preventDefault","stopPropagation","expandedRowIndex","iconColumn","unshift","renderExpandedRow","colCount","parentKey","_renderRows","nextAncestorKeys","nextIndent","some","useLayoutState","defaultState","stateRef","tempState","updateBatchRef","rafRef","setFrameState","updater","prevBatch","batchUpdater","useColumnManager","_leafColumns","cls","groupedColumns","_groupColumns","currentRow","parentColumn","grouped","setRowSpan","newColumn","isAnyColumnsLeftFixed","isAnyColumnsRightFixed","leftColumns","rightColumns","useStickyOffsets","colWidths","columnCount","leftOffsets","rightOffsets","start","end","id","footer","emptyText","shape","loose","tableLayout","colsKeys","_useLayoutState","Map","_useLayoutState2","colsWidths","updateColsWidths","pureColWidths","columnKey","widths","newWidths","_","bodyRef","pingedLeft","pingedRight","horizonScroll","onScroll","currentTarget","scrollWidth","scrollLeft","$el","onFullTableResize","preData","computed","dataLen","_components","preVal","hasScrollX","resetScrollX","created","setScrollPosition","debouncedWindowResize","handleWindowResize","resizeEvent","addEventListener","ref_headTable","ref_bodyTable","scrollPosition","tableNode","RegExp","add","setScrollPositionClassName","node","scrollToLeft","scrollToRight","isTableLayoutFixed","_this$$props$scroll","syncFixedTableRowHeight","tableRect","headRows","querySelectorAll","bodyRows","state","acc","getAttribute","shallowequal","_this$scroll","target","_this$scroll2","lastScrollLeft","handleBodyScrollTop","_this$scroll3","ref_fixedColumnsBodyLeft","ref_fixedColumnsBodyRight","scrollTop","lastScrollTop","_this$$props$scroll2","navigator","userAgent","match","wd","deltaY","bodyTable","fixedColumnsBodyLeft","fixedColumnsBodyRight","_this4","saveTableNodeRef","renderMainTable","scrollable","renderTable","renderEmptyText","renderFooter","options","_this$scroll4","headTable","HeadTable","BodyTable","renderTitle","emptyClassName","_this5","dataAndAriaProps","expandableTableProps","slots","ColumnFilterItem","columnProps","VNodeChild","oneOf","filters","arrayOf","onFilter","Function","filterMultiple","filterDropdown","filterDropdownVisible","onFilterDropdownVisibleChange","sorter","defaultSortOrder","filterIcon","filteredValue","filtered","defaultFilteredValue","sortOrder","sortDirections","TableLocale","filterTitle","filterConfirm","filterReset","selectAll","selectInvert","sortTitle","expand","collapse","RowSelectionType","tableRowSelection","selectedRowKeys","getCheckboxProps","selections","hideDefaultSelections","columnWidth","selectWay","columnTitle","tableProps","dropdownPrefixCls","rowSelection","pagination","dataSource","loading","locale","bordered","getPopupContainer","onExpandedRowsChange","onChange","SelectionCheckboxAllProps","propsSymbol","disabled","getCheckboxPropsByItem","getRecordKey","onSelect","SelectionBoxProps","defaultSelection","FilterMenuProps","selectedKeys","confirmFilter","handleFilter","setState","callback","newState","getDerivedStateFromProps","isMounted","$forceUpdate","eventName","toUpperCase","substring","l","flatArray","childrenName","result","loop","newItem","treeMap","tree","mapper","extra","flatFilter","generateValueMaps","items","maps","BaseMixin2","initDefaultProps","sSelectedKeys","sVisible","sValueKeys","neverShown","sKeyPathOfSelectedItem","getDropdownVisible","setSelectedKeys","setVisible","handleClearFilters","handleConfirm","confirmFilter2","onVisibleChange","handleMenuItemClick","info","keyPath","keyPathOfSelectedItem","hasSubMenu","_this$column$filters","propSelectedKeys","valueKeys","renderMenus","_this$$props2","containSelected","subMenuCls","SubMenu","renderMenuItem","renderFilterIcon","_classNames2","_b","dropdownIconClass","FilterFilled","multiple","input","MenuItem","originSelectedKeys","dropdownMenuClass","confirm","clearFilters","menus","checked","selectionDirty","rest","checkboxProps","checkSelection","byDefaultChecked","defaultChecked","getIndeterminateState","someCheckedNotByDefaultChecked","someCheckedByDefaultChecked","getCheckState","defaultSelections","indeterminate","handleSelectAllChange","$emit","selection","Item","selectionPrefixCls","customSelections","newSelections","menu","DownOutlined","__ANT_TABLE_COLUMN_GROUP","BodyRowProps","createBodyRow","Component","selected","_className","getRowSelection","getColumnKey","a","b","other","defaultPagination","onShowSizeChange","emptyObject","bodyRow","isTheSameComponents","components1","components2","getFilteredValueColumns","getFiltersFromColumns","col","colKey","isFiltersChanged","defaultTableProps","Column","ColumnGroup","vcTable","checkboxPropsCache","configProvider","getDefaultSortOrder","getDefaultFilters","getDefaultPagination","sFilters","sPagination","pivot","filterDataCnt","handler","previousState","newPagination","current","pageSize","deep","oldVal","filteredValueColumns","filtersFromColumns","newFilters","sortColumn","sSortColumn","sSortOrder","getSortOrderColumns","sortState","getSortStateFromColumns","setTableRef","getDefaultSelection","getFlatData","defaultCurrent","defaultPageSize","hasPagination","definedFilters","defaultFilteredValueColumns","defaultFilters","soFar","definedSortState","defaultSortedColumn","sortedColumn","getMaxCurrent","_this$sPagination","Math","floor","recordKey","getSorterFn","getCurrentPageData","getLocalData","Number","MAX_VALUE","getFlatCurrentPageData","currentState","sorterFn","recursiveSort","findColumn","values","v","onRow","custom","setSelectedRowKeys","selectionInfo","changeRowKeys","nativeEvent","selectedRows","onSelectMultiple","changeRows","onSelectAll","_changeRows","onSelectInvert","generatePopupContainerFunc","scrollToFirstRow","scrollToFirstRowOnChange","scrollTo","getContainer","isSameColumn","nextFilters","currentColumnKeys","c","filtersToSetState","prepareParamsArguments","sSelectionDirty","handleSelect","_this6","realIndex","findIndex","shiftKey","sign","dist","abs","step","j","handleRadioSelect","handleSelectRow","selectionKey","onSelectFunc","_this7","changeableRowKeys","splice","customSelectionStartIndex","handlePageChange","otherArguments","handleShowSizeChange","nextPagination","toggleSortOrder","newSortOrder","methodIndex","isSortColumn","currentColumn","order","field","currentDataSource","myKey","_this8","_this$childrenColumnN","sort","LocaleReceiver","renderPagination","paginationPosition","restProps","paginationProps","renderSelectionBox","_this9","_ref3","handleChange","selectionBoxProps","SelectionBox","renderRowSelection","_ref4","_this10","selectionColumnClass","selectionColumn","checkboxAllDisabled","SelectionCheckboxAll","Symbol","renderColumnsDropdown","_ref5","_this11","_classNames3","sortButton","colFilters","isAscend","isDescend","ascend","CaretUpFilled","descend","CaretDownFilled","colProps","onHeaderCellClick","renderColumnTitle","_this$$data","_ref6","_classNames4","_this12","renderEmpty","contextLocale","contextGetPopupContainer","realGetPopupContainer","mergedLocale","classString","columnsWithRowSelection","vcTableProps","_this13","customizePrefixCls","customizeDropdownPrefixCls","customizeTransformCellText","_this$configProvider","getContextPopupContainer","tct","spinning","getPrefixCls","paginationPatchClass","spinProps","_this$$attrs","normalize","elements","flattenElements","element","_c","_d","_e","restSlots","updateColumns","$slots","_col$slots","slotTitle","slotFooter","_$slots$expandedRowRe","tProps","install","app","arraySome","predicate","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","equalArrays","bitmask","equalFunc","isPartial","arrLength","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","mapToArray","boolTag","dateTag","errorTag","mapTag","numberTag","regexpTag","setTag","stringTag","symbolTag","arrayBufferTag","dataViewTag","symbolProto","symbolValueOf","valueOf","equalByTag","tag","byteLength","byteOffset","buffer","message","convert","objectProto","equalObjects","objProps","objLength","othProps","objStacked","skipCtor","objCtor","constructor","othCtor","argsTag","arrayTag","objectTag","baseIsEqualDeep","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","baseIsEqual","isObjectLike","baseProperty","_objectWithoutPropertiesLoose","excluded","sourceKeys","_objectWithoutProperties","objectWithoutPropertiesLoose","sourceSymbolKeys","nativeMax","max","fromIndex","_extends","assign","_inheritsLoose","subClass","superClass","create","_setPrototypeOf","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","_construct","Parent","Class","Constructor","bind","instance","_isNativeFunction","fn","_wrapNativeSuper","_cache","TypeError","has","Wrapper","enumerable","writable","configurable","formatRegExp","convertFieldsError","errors","fields","error","format","f","len","str","String","replace","JSON","stringify","isNativeStringType","isEmptyValue","asyncParallelArray","arr","results","asyncSerialArray","next","original","flattenObjArr","objArr","ret","process","AsyncValidationError","_Error","Error","asyncMap","option","first","_pending","Promise","resolve","reject","flattenArr","firstFields","objArrKeys","objArrLength","pending","complementError","rule","oe","fullField","deepMerge","required","messages","whitespace","test","pattern","email","url","hex","types","integer","parseInt","regexp","date","getTime","getMonth","getYear","isNaN","method","ruleType","range","min","spRegexp","num","ENUM","join","pattern$1","lastIndex","mismatch","_pattern","rules","validate","_boolean","floatFn","ENUM$1","enumerable$1","pattern$2","dateObject","Date","required$1","type$1","validators","newMessages","parse","invalid","clone","cloned","Schema","descriptor","_messages","define","z","source_","oc","complete","_errors","messages$1","series","r","transform","validator","getValidationMethod","getType","errorFields","doIt","res","defaultField","addFullfield","schema","cb","suppressWarning","fieldsSchema","fieldSchema","errs","finalErrors","asyncValidator","then","messageIndex","register","items_per_page","jump_to","jump_to_confirm","page","prev_page","next_page","prev_5","next_5","prev_3","next_3","toArray","getNamePath","path","containsNamePath","namePathList","namePath","matchNamePath","obj","internalSetValues","newStore","prevValue","recursive","setValues","restValues","changedNamePath","nameUnit","typeTemplate","defaultValidateMessages","enum","boolean","float","__awaiter","thisArg","_arguments","P","generator","adopt","fulfilled","rejected","done","AsyncValidator","replaceMessage","template","kv","validateRule","messageVariables","mark","_callee","cloneRule","subRuleField","subResults","fillVariableResult","wrap","_context","prev","ruleIndex","validateMessages","t0","console","all","subValue","sent","abrupt","stop","validateFirst","summaryPromise","filledRules","currentRule","originValidatorFunc","hasPromise","wrappedCallback","promise","catch","err","w1","warningOnly","i1","w2","i2","_callee2","_context2","rulePromises","finishOnFirstFailed","finishOnAllFailed","_callee3","_context3","errorsList","_callee4","_context4","ruleError","createFind","findIndexFunc","collection","iterable","iteratee","find","FormContextKey","labelAlign","vertical","addField","_eventKey","_field","removeField","model","requiredMark","FormItemPrefixContextKey","emit","htmlFor","labelCol","colon","_useLocaleReceiver","_useLocaleReceiver2","formLocale","label","_useInjectForm","contextLabelAlign","contextLabelCol","contextColon","mergedLabelCol","mergedLabelAlign","labelClsBasic","labelColClassName","labelChildren","computedColon","haveColon","trim","tooltip","optional","Form","labelClassName","Col","displayName","_useConfigInject","useConfigInject","_useInjectFormItemPre","status","innerStatus","cacheErrors","help","newValues","onDomErrorVisibleChange","flush","baseClassName","transitionProps","onAfterLeave","iconMap","success","CheckCircleFilled","ExclamationCircleFilled","CloseCircleFilled","validating","LoadingOutlined","FormItemInput","formContext","contextWrapperCol","wrapperCol","subFormContext","_props$help","_props$errors","hasFeedback","validateStatus","_props$extra","mergedWrapperCol","IconNode","icon","inputDom","errorListDom","ErrorList","extraDom","getPropByPath","strict","tempObj","keyArr","formItemProps","def","prop","autoLink","validateTrigger","hidden","indexGuid","__ANT_NEW_FORM_ITEM","expose","eventKey","fieldName","validateDisabled","domErrorVisible","inputRef","fieldId","formName","mergedId","fieldValue","initialValue","cloneDeep","mergedValidateTrigger","rulesRef","formRules","selfRules","requiredRule","trigger","validateState","validateRules","_props$validateFirst","triggerName","filteredRules","triggerList","onFieldBlur","onFieldChange","clearValidate","resetField","onLabelClick","control","querySelector","focus","registered","itemClassName","_f","firstChildren","originalEvents","originalBlur","onBlur","originalChange","Row","allPromiseFinish","promiseList","hasError","isEqual","nodeType","n","scrollHeight","getComputedStyle","ownerDocument","defaultView","frameElement","d","scrollMode","block","u","inline","h","boundary","skipOverflowHiddenElements","scrollingElement","documentElement","parentElement","m","visualViewport","innerWidth","g","innerHeight","scrollX","pageXOffset","scrollY","pageYOffset","W","H","E","M","bottom","V","I","C","T","B","D","O","R","X","Y","L","S","borderLeftWidth","q","borderTopWidth","borderRightWidth","A","borderBottomWidth","F","G","J","K","N","el","isOptionsObject","defaultBehavior","actions","behavior","canSmoothScroll","getOptions","scrollIntoView","targetIsDetached","contains","computeOptions","nativeMin","baseIntersection","arrays","comparator","caches","maxLength","Infinity","outer","cache","castArrayLikeObject","intersection","mapped","split","isValid","useForm","modelRef","initialModel","validateInfos","rulesKeys","resetFields","filterRules","lastValidatePromise","validateFields","names","validateField","warnings","ruleErrors","mergedErrors","mergedWarnings","returnPromise","errorList","outOfDate","promises","mergeValidateInfo","infos","arg","oldModel","modelFn","oldProp","debounceOptions","omit","validateOnRuleChange","formProps","layout","hideRequiredMark","scrollToFirstError","onSubmit","onFinish","onFinishFailed","isEqualName","name1","name2","FormItem","emits","contextForm","form","mergedRequiredMark","formClassName","getFieldsByNameList","nameList","provideNameList","handleFinishFailed","errorInfo","scrollToFieldOptions","scrollToField","getElementById","getFieldsValue","fieldNamePath","handleSubmit","Option","selectOptionsProps","selelctProps","active","showTitle","itemRender","handleKeyPress","_cls","originalElement","ZERO","NINE","NUMPAD_ZERO","NUMPAD_NINE","BACKSPACE","DELETE","ENTER","ARROW_UP","ARROW_DOWN","changeSize","quickGo","selectComponentClass","pageSizeOptions","buildOptionText","selectPrefixCls","goButton","goInputText","getValidValue","defaultBuildOptionText","opt","_e$target","composing","isComposing","handleBlur","relatedTarget","go","keyCode","Select","changeSelect","goInput","gotoButton","triggerNode","parentNode","isInteger","isFinite","defaultItemRender","calculatePage","statePageSize","hideOnSinglePage","showSizeChanger","showLessItems","showPrevNextJumpers","showQuickJumper","showTotal","simple","prevIcon","nextIcon","jumpPrevIcon","jumpNextIcon","hasOnChange","hasCurrent","warn","stateCurrent","stateCurrentInputValue","newCurrent","oldValue","$refs","paginationNode","lastCurrentNode","activeElement","blur","_current","getJumpPrevPage","getJumpNextPage","getItemIcon","iconNode","inputValue","allPages","shouldDisplayQuickJumper","handleKeyDown","handleKeyUp","changePageSize","preCurrent","currentPage","hasPrev","hasNext","jumpPrev","jumpNext","runIfEnter","charCode","restParams","runIfEnterPrev","runIfEnterNext","runIfEnterJumpPrev","runIfEnterJumpNext","handleGoTO","extraAttrs","restAttrs","pagerList","firstPager","lastPager","pageBufferSize","prevPage","nextPage","pagerProps","onKeypress","Pager","prevItemTitle","nextItemTitle","jumpPrevClassString","jumpNextClassString","_i","_active","totalText","prevDisabled","nextDisabled","Options","showSizeChange","role","getIconsProps","LeftOutlined","RightOutlined","DoubleLeftOutlined","DoubleRightOutlined","customizeSelectPrefixCls","customLocale","isSmall","MiniSelect","mini","radioProps","isGroup","autofocus","onFocus","radioGroupContext","vcCheckbox","targetChecked","onChange2","onRadioChange","radioGroup","rProps","stateValue","wrapperClassString","defaultValue","buttonStyle","updatingValue","ev","lastValue","groupPrefixCls","Radio","otherProps","Group","Button","CLONE_DEEP_FLAG","CLONE_SYMBOLS_FLAG","inlineStyle","border","background","padding","lineHeight","TransButton","noStyle","domRef","onKeyDown","onKeyUp","mergedStyle","pointerEvents","toInteger","re","ClassList","list","classList","shift","_removeMatching","force","toggle","createBaseFor","fromRight","keysFunc","baseFor","CheckableTag","PresetColorRegex","PresetStatusColorRegex","tagProps","color","closable","closeIcon","onClose","Tag","handleCloseClick","defaultPrevented","isPresetColor","tagClassName","_props$icon","_props$closeIcon","_props$closable","renderCloseIcon","CloseOutlined","tagStyle","backgroundColor","kids","isNeedWave","tagNode","hasTitle","justify","showRefresh","handleRefresh","hasFooter","contentHeight","ARow","ACol","ASpace","AButton","commit","getters","dispatch","contentFooter","contentTitle","contentBodyWrap","debounceTimer","calcHeight","debounceCalc","refreshTimer","removeEventListener","__exports__","baseIsMatch","matchData","noCustomizer","isStrictComparable","getMatchData","matchesStrictComparable","baseMatches","baseHasIn","hasPath","hasFunc","isLength","hasIn","baseMatchesProperty","basePropertyDeep","property","baseIteratee","identity","controlStatus","readonly","selectedItem","$t","$enumLangkey","signatureType","$filters","formatCurrencyAmount","symbol","fee","preview","signFeeOptions","editable","selectedKey","handleSignatureTypeClick","ACheckbox","ARadio","ARadioGroup","newVal","isSelected","globalObject","BigNumber","isNumeric","mathceil","ceil","mathfloor","bignumberError","tooManyDigits","BASE","LOG_BASE","MAX_SAFE_INTEGER","POWS_TEN","SQRT_BASE","MAX","configObject","div","convertBase","parseNumeric","ONE","DECIMAL_PLACES","ROUNDING_MODE","TO_EXP_NEG","TO_EXP_POS","MIN_EXP","MAX_EXP","CRYPTO","MODULO_MODE","POW_PRECISION","FORMAT","prefix","groupSize","secondaryGroupSize","groupSeparator","decimalSeparator","fractionGroupSize","fractionGroupSeparator","suffix","ALPHABET","alphabetHasNormalDecimalDigits","alphabet","caseChanged","isNum","_isBigNumber","charCodeAt","search","intCheck","round","DEBUG","charAt","toLowerCase","rm","c0","ne","coeffToString","toExponential","toFixedPoint","maxOrMin","normalise","pop","sd","ni","rd","xc","pows10","out","ROUND_UP","ROUND_DOWN","ROUND_CEIL","ROUND_FLOOR","ROUND_HALF_UP","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_CEIL","ROUND_HALF_FLOOR","EUCLID","config","crypto","getRandomValues","randomBytes","EXPONENTIAL_AT","RANGE","isBigNumber","maximum","lt","minimum","gt","random","pow2_53","random53bitInt","dp","rand","Uint32Array","copy","plus","decimal","toBaseOut","baseIn","baseOut","arrL","reverse","callerIsToString","pow","multiply","base","temp","xlo","xhi","carry","klo","khi","compare","aL","bL","cmp","subtract","more","prod","prodL","qc","rem","remL","rem0","xi","xL","yc0","yL","yz","yc","NaN","bitFloor","basePrefix","dotAfter","dotBefore","isInfinityOrNaN","whitespaceOrPlus","p1","p2","absoluteValue","comparedTo","decimalPlaces","dividedBy","dividedToIntegerBy","idiv","exponentiatedBy","half","isModExp","nIsBig","nIsNeg","nIsOdd","isOdd","mod","times","integerValue","isEqualTo","isGreaterThan","isGreaterThanOrEqualTo","gte","isLessThan","isLessThanOrEqualTo","lte","isNegative","isPositive","isZero","minus","xLTy","xe","ye","modulo","multipliedBy","xcL","ycL","ylo","yhi","zc","sqrtBase","negated","precision","shiftedBy","squareRoot","sqrt","rep","toFixed","toFormat","g1","g2","intPart","fractionPart","isNeg","intDigits","toFraction","md","d0","d1","d2","exp","n0","n1","toNumber","toPrecision","toJSON","zs","ellipsisContainer","Editable","maxlength","autoSize","onSave","onCancel","onEnd","originContent","lastKeyCode","inComposition","cancelFlag","textArea","saveTextAreaRef","onCompositionStart","onCompositionEnd","KeyCode","ctrlKey","altKey","metaKey","confirmChange","ESC","resizableTextArea","innerTextArea","setSelectionRange","TextArea","EnterOutlined","TEXT_NODE","COMMENT_NODE","wrapperStyle","margin","pxToNumber","styleToString","styleNames","getPropertyValue","setAttribute","_option$suffix","originStyle","originEle","originCSS","paddingTop","minHeight","zIndex","textOverflow","whiteSpace","webkitLineClamp","vm","content","fixedContent","inRange","mount","unmount","innerHTML","childNodes","cloneNode","fixedNodes","ellipsisChildren","ellipsisContentHolder","ellipsisTextNode","createTextNode","ellipsisStr","appendChildNode","insertBefore","measureText","textNode","fullText","startLoc","endLoc","lastSuccessLoc","midLoc","currentText","textContent","currentStepText","finished","vNode","measureNode","childNode","_measureNode","Typography","_b$component","deselectCurrent","getSelection","rangeCount","ranges","getRangeAt","tagName","removeAllRanges","addRange","clipboardToIE11Formatting","defaultMessage","copyKey","reselectPrevious","debug","createRange","clip","webkitUserSelect","MozUserSelect","msUserSelect","userSelect","clipboardData","clearData","_format","setData","onCopy","selectNodeContents","successful","execCommand","prompt","removeRange","isLineClampSupport","isTextOverflowSupport","ELLIPSIS_STR","Base","edit","copied","ellipsisText","ellipsisContent","isEllipsis","clientRendered","expandStr","copyStr","copiedStr","editStr","copyId","rafId","prevProps","contentRef","editIcon","getChildrenText","innerText","onExpandClick","onEditClick","triggerEdit","onEditChange","onContentChange","onEditCancel","onCopyClick","copyable","copyConfig","raf","resizeOnNextFrame","editing","onStart","syncEllipsis","canUseCSSEllipsis","_ellipsis$value","onEllipsis","_ellipsis$value2","_measure","renderOperations","ell","wrapperDecorations","code","underline","del","delete","strong","keyboard","currentContent","needed","_currentContent","renderExpand","forceRender","_ellipsis$value3","expandContent","ellipsisSymbol","renderEdit","editableIcon","EditOutlined","editableTooltip","ariaLabel","renderCopy","defaultTitle","copyableTooltip","defaultIcon","CheckOutlined","CopyOutlined","copyableIcon","renderEditInput","_editable$value","forceRenderExpanded","_children","_ellipsis$value4","textProps","cssEllipsis","cssTextOverflow","cssLineClamp","_title","restContent","showTooltip","ellipsisTooltip","WebkitLineClamp","rel","mergedProps","navigate","paragraphProps","TITLE_ELE_LIST","_props$level","level","titleProps","Text","Title","Paragraph","Link","module","exports","require","dividerProps","dashed","orientation","plain","Divider","prefixClsRef","orientationPrefix","contentBody","gutter","flex","pageInfo","waybillOperationStatus","customerNo","planNo","from","getAddressLanguageName","destinationType","destinationTypeEnum","OtherAddress","to","no","companyName","telephone","transportRoutes","transportRoutesEnum","international","channelTable","logisticsBaseInfo","isCommercial","utcToCurrentTime","creationTime","transferOrderNo","track","trackRemark","trackTime","data-source","packingInformation","serialNumber","weight","gToKg","girth","volume","cmCubicToM","totalWeight","totalVolume","tranPlanCharacteristics","secondColumns","logisticsCode","logisticsName","logisticsType","deliveryType","referenceAging","daysMin","daysMax","freights","currencySymbol","amountToFixed2","averagePrice","totalFeeWithoutServices","details","chargeableWeight","volumeWeightParam","canChooseServerInfoes","logisticsRegionInfo","isChooseDdp","isChooseSign","ddpFee","signFeeDtos","isVatRequired","vatCode","fees","warehouseFrees","totalFee","getTotalFee","handleClose","ASpin","ATable","ADivider","ATag","Content","CFee","CSignSupported","vueI18n","useScope","route","router","delVisitedRoute","currentRoute","getLanguageName","cnName","enName","language","checkValue","params","supplierLogisticScheme","finally","__ANT_CHECKBOX","checkboxGroupContext","_value","_this$checkboxGroupCo","checkboxGroup","registerValue","cancelValue","_this$checkboxGroupCo2","_this$checkboxGroupCo3","_$attrs$onMouseenter","_$attrs$onMouseleave","onInput","toggleOption","sValue","checkboxClass","registeredValues","_this$options","optionIndex","indexA","indexB","Checkbox","span","remark","feeType","AFormItem","ATypographyText","APopover","Api","getPagedList","printWaybillPlan","updateWaybillOperationStatus","getWaybillTrackList","getById","getSupplierLogisticByWayBill","getSupplierLogisticByWayBillChooseOne","updateChooseSupplierLogistic","exportWayBill","client","request","urlHelper","combineURLs","siteOptions","baseURL","tabindex","sChecked","eventShiftKey","eventObj","others","globalProps","inputProps"],"mappings":"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","file":"js/chunk-63de5991.a6612e97.js","sourcesContent":["var scrollbarVerticalSize;\nvar scrollbarHorizontalSize; // Measure scrollbar width for padding body during modal show/hide\n\nvar scrollbarMeasure = {\n position: 'absolute',\n top: '-9999px',\n width: '50px',\n height: '50px'\n};\nexport var INTERNAL_COL_DEFINE = 'RC_TABLE_INTERNAL_COL_DEFINE';\nexport function measureScrollbar(_ref) {\n var _ref$direction = _ref.direction,\n direction = _ref$direction === void 0 ? 'vertical' : _ref$direction,\n prefixCls = _ref.prefixCls;\n\n if (typeof document === 'undefined' || typeof window === 'undefined') {\n return 0;\n }\n\n var isVertical = direction === 'vertical';\n\n if (isVertical && scrollbarVerticalSize) {\n return scrollbarVerticalSize;\n }\n\n if (!isVertical && scrollbarHorizontalSize) {\n return scrollbarHorizontalSize;\n }\n\n var scrollDiv = document.createElement('div');\n Object.keys(scrollbarMeasure).forEach(function (scrollProp) {\n scrollDiv.style[scrollProp] = scrollbarMeasure[scrollProp];\n }); // apply hide scrollbar className ahead\n\n scrollDiv.className = \"\".concat(prefixCls, \"-hide-scrollbar scroll-div-append-to-body\"); // Append related overflow style\n\n if (isVertical) {\n scrollDiv.style.overflowY = 'scroll';\n } else {\n scrollDiv.style.overflowX = 'scroll';\n }\n\n document.body.appendChild(scrollDiv);\n var size = 0;\n\n if (isVertical) {\n size = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n scrollbarVerticalSize = size;\n } else {\n size = scrollDiv.offsetHeight - scrollDiv.clientHeight;\n scrollbarHorizontalSize = size;\n }\n\n document.body.removeChild(scrollDiv);\n return size;\n}\nexport function debounce(func, wait, immediate) {\n var timeout;\n\n function debounceFunc() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var context = this; // https://fb.me/react-event-pooling\n\n if (args[0] && args[0].persist) {\n args[0].persist();\n }\n\n var later = function later() {\n timeout = null;\n\n if (!immediate) {\n func.apply(context, args);\n }\n };\n\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n\n if (callNow) {\n func.apply(context, args);\n }\n }\n\n debounceFunc.cancel = function cancel() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n };\n\n return debounceFunc;\n}\nexport function remove(array, item) {\n var index = array.indexOf(item);\n var front = array.slice(0, index);\n var last = array.slice(index + 1, array.length);\n return front.concat(last);\n}\n/**\n * Returns only data- and aria- key/value pairs\n * @param {object} props\n */\n\nexport function getDataAndAriaProps(props) {\n return Object.keys(props).reduce(function (memo, key) {\n if (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-') {\n memo[key] = props[key];\n }\n\n return memo;\n }, {});\n}\nexport function getColumnsKey(columns) {\n var columnKeys = [];\n columns.forEach(function (column) {\n var _ref2 = column || {},\n key = _ref2.key,\n dataIndex = _ref2.dataIndex;\n\n columnKeys.push(key !== undefined ? key : dataIndex);\n });\n return columnKeys;\n}\nexport function validateValue(val) {\n return val !== null && val !== undefined;\n}","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignMergeValue;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nexport default safeGet;\n","import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nexport default toPlainObject;\n","import assignMergeValue from './_assignMergeValue.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\nimport copyArray from './_copyArray.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\nimport isBuffer from './isBuffer.js';\nimport isFunction from './isFunction.js';\nimport isObject from './isObject.js';\nimport isPlainObject from './isPlainObject.js';\nimport isTypedArray from './isTypedArray.js';\nimport safeGet from './_safeGet.js';\nimport toPlainObject from './toPlainObject.js';\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nexport default baseMergeDeep;\n","import Stack from './_Stack.js';\nimport assignMergeValue from './_assignMergeValue.js';\nimport baseFor from './_baseFor.js';\nimport baseMergeDeep from './_baseMergeDeep.js';\nimport isObject from './isObject.js';\nimport keysIn from './keysIn.js';\nimport safeGet from './_safeGet.js';\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nexport default baseMerge;\n","import eq from './eq.js';\nimport isArrayLike from './isArrayLike.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nexport default isIterateeCall;\n","import baseRest from './_baseRest.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nexport default createAssigner;\n","import baseMerge from './_baseMerge.js';\nimport createAssigner from './_createAssigner.js';\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nexport default merge;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { createVNode as _createVNode } from \"vue\";\nimport { inject } from 'vue';\nimport PropTypes from '../../_util/vue-types';\nimport { INTERNAL_COL_DEFINE } from './utils';\nimport ResizeObserver from '../../vc-resize-observer';\nexport default {\n name: 'ColGroup',\n inheritAttrs: false,\n props: {\n fixed: PropTypes.string,\n columns: PropTypes.array\n },\n setup: function setup() {\n return {\n table: inject('table', {}),\n store: inject('table-store', function () {\n return {};\n })\n };\n },\n render: function render() {\n var fixed = this.fixed,\n table = this.table;\n var prefixCls = table.prefixCls,\n expandIconAsCell = table.expandIconAsCell,\n onColumnResize = table.onColumnResize;\n var cols = [];\n\n if (expandIconAsCell && fixed !== 'right') {\n cols.push(_createVNode(\"col\", {\n \"class\": \"\".concat(prefixCls, \"-expand-icon-col\"),\n \"key\": \"rc-table-expand-icon-col\"\n }, null));\n }\n\n var leafColumns;\n var columnManager = this.store.columnManager;\n\n if (fixed === 'left') {\n leafColumns = columnManager.leftLeafColumns;\n } else if (fixed === 'right') {\n leafColumns = columnManager.rightLeafColumns;\n } else {\n leafColumns = columnManager.leafColumns;\n }\n\n cols = cols.concat(leafColumns.map(function (_ref) {\n var key = _ref.key,\n dataIndex = _ref.dataIndex,\n width = _ref.width,\n additionalProps = _ref[INTERNAL_COL_DEFINE];\n var mergedKey = key !== undefined ? key : dataIndex;\n var w = typeof width === 'number' ? \"\".concat(width, \"px\") : width;\n return _createVNode(ResizeObserver, {\n \"onResize\": function onResize(_ref2) {\n var offsetWidth = _ref2.offsetWidth;\n onColumnResize(mergedKey, offsetWidth);\n }\n }, {\n default: function _default() {\n return [_createVNode(\"col\", _objectSpread({\n \"data-key\": mergedKey,\n \"key\": mergedKey,\n \"style\": {\n width: w,\n minWidth: w\n }\n }, additionalProps), null)];\n }\n });\n }));\n return _createVNode(\"colgroup\", null, [cols]);\n }\n};","export function getCellFixedInfo(colStart, colEnd, columns, stickyOffsets, direction) {\n var startColumn = columns[colStart] || {};\n var endColumn = columns[colEnd] || {};\n var fixLeft;\n var fixRight;\n\n if (startColumn.fixed === 'left') {\n fixLeft = stickyOffsets.left[colStart];\n } else if (endColumn.fixed === 'right') {\n fixRight = stickyOffsets.right[colEnd];\n }\n\n var lastFixLeft = false;\n var firstFixRight = false;\n var lastFixRight = false;\n var firstFixLeft = false;\n var nextColumn = columns[colEnd + 1];\n var prevColumn = columns[colStart - 1];\n\n if (direction === 'rtl') {\n if (fixLeft !== undefined) {\n var prevFixLeft = prevColumn && prevColumn.fixed === 'left';\n firstFixLeft = !prevFixLeft;\n } else if (fixRight !== undefined) {\n var nextFixRight = nextColumn && nextColumn.fixed === 'right';\n lastFixRight = !nextFixRight;\n }\n } else if (fixLeft !== undefined) {\n var nextFixLeft = nextColumn && nextColumn.fixed === 'left';\n lastFixLeft = !nextFixLeft;\n } else if (fixRight !== undefined) {\n var prevFixRight = prevColumn && prevColumn.fixed === 'right';\n firstFixRight = !prevFixRight;\n }\n\n return {\n fixLeft: fixLeft,\n fixRight: fixRight,\n lastFixLeft: lastFixLeft,\n firstFixRight: firstFixRight,\n lastFixRight: lastFixRight,\n firstFixLeft: firstFixLeft,\n isSticky: stickyOffsets.isSticky\n };\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport classNames from '../../_util/classNames';\nimport PropTypes from '../../_util/vue-types';\nimport { computed, inject } from 'vue';\nimport { getCellFixedInfo } from './fixUtil';\nvar TableHeaderRow = {\n name: 'TableHeaderRow',\n inheritAttrs: false,\n props: {\n index: PropTypes.number,\n fixed: PropTypes.string,\n columns: PropTypes.array,\n rows: PropTypes.array,\n row: PropTypes.array,\n components: PropTypes.object,\n customHeaderRow: PropTypes.func,\n prefixCls: PropTypes.prefixCls\n },\n setup: function setup(props) {\n var store = inject('table-store', function () {\n return {};\n });\n return {\n height: computed(function () {\n var fixedColumnsHeadRowsHeight = store.fixedColumnsHeadRowsHeight;\n var columns = props.columns,\n rows = props.rows,\n fixed = props.fixed;\n var headerHeight = fixedColumnsHeadRowsHeight[0];\n\n if (!fixed) {\n return null;\n }\n\n if (headerHeight && columns) {\n if (headerHeight === 'auto') {\n return 'auto';\n }\n\n return \"\".concat(headerHeight / rows.length, \"px\");\n }\n\n return null;\n }),\n store: store\n };\n },\n render: function render() {\n var row = this.row,\n index = this.index,\n height = this.height,\n components = this.components,\n customHeaderRow = this.customHeaderRow,\n prefixCls = this.prefixCls;\n var HeaderRow = components.header.row;\n var HeaderCell = components.header.cell;\n var rowProps = customHeaderRow(row.map(function (cell) {\n return cell.column;\n }), index);\n var customStyle = rowProps ? rowProps.style : {};\n\n var style = _extends({\n height: height\n }, customStyle);\n\n if (style.height === null) {\n delete style.height;\n }\n\n var _this$store = this.store,\n stickyOffsets = _this$store.stickyOffsets,\n columnManager = _this$store.columnManager;\n return _createVNode(HeaderRow, _objectSpread(_objectSpread({}, rowProps), {}, {\n \"style\": style\n }), {\n default: function _default() {\n return [row.map(function (cell, i) {\n var _classNames;\n\n var column = cell.column,\n isLast = cell.isLast,\n children = cell.children,\n className = cell.className,\n cellProps = __rest(cell, [\"column\", \"isLast\", \"children\", \"className\"]);\n\n var fixedInfo = getCellFixedInfo(cell.colStart, cell.colEnd, columnManager.leafColumns, stickyOffsets);\n var customProps = column.customHeaderCell ? column.customHeaderCell(column) : {};\n\n var headerCellProps = _extends(_extends(_extends({}, cellProps), customProps), {\n key: column.key || column.dataIndex || i\n });\n\n if (headerCellProps.colSpan === 0) {\n return null;\n }\n\n if (column.align) {\n headerCellProps.style = _extends(_extends({}, customProps.style), {\n textAlign: column.align\n });\n } // ====================== Fixed =======================\n\n\n var fixLeft = fixedInfo.fixLeft,\n fixRight = fixedInfo.fixRight,\n firstFixLeft = fixedInfo.firstFixLeft,\n lastFixLeft = fixedInfo.lastFixLeft,\n firstFixRight = fixedInfo.firstFixRight,\n lastFixRight = fixedInfo.lastFixRight;\n var fixedStyle = {};\n var isFixLeft = typeof fixLeft === 'number';\n var isFixRight = typeof fixRight === 'number';\n\n if (isFixLeft) {\n fixedStyle.position = 'sticky';\n fixedStyle.left = \"\".concat(fixLeft, \"px\");\n }\n\n if (isFixRight) {\n fixedStyle.position = 'sticky';\n fixedStyle.right = \"\".concat(fixRight, \"px\");\n }\n\n headerCellProps.class = classNames(customProps.class, customProps.className, column.class, column.className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-align-\").concat(column.align), !!column.align), _defineProperty(_classNames, \"\".concat(prefixCls, \"-row-cell-ellipsis\"), !!column.ellipsis), _defineProperty(_classNames, \"\".concat(prefixCls, \"-row-cell-break-word\"), !!column.width), _defineProperty(_classNames, \"\".concat(prefixCls, \"-row-cell-last\"), isLast), _defineProperty(_classNames, \"\".concat(prefixCls, \"-cell-fix-left\"), isFixLeft), _defineProperty(_classNames, \"\".concat(prefixCls, \"-cell-fix-left-first\"), firstFixLeft), _defineProperty(_classNames, \"\".concat(prefixCls, \"-cell-fix-left-last\"), lastFixLeft), _defineProperty(_classNames, \"\".concat(prefixCls, \"-cell-fix-right\"), isFixRight), _defineProperty(_classNames, \"\".concat(prefixCls, \"-cell-fix-right-first\"), firstFixRight), _defineProperty(_classNames, \"\".concat(prefixCls, \"-cell-fix-right-last\"), lastFixRight), _classNames));\n headerCellProps.style = _extends(_extends({}, headerCellProps.style || {}), fixedStyle);\n\n if (typeof HeaderCell === 'function') {\n return HeaderCell(headerCellProps, children);\n }\n\n return _createVNode(HeaderCell, headerCellProps, {\n default: function _default() {\n return [children];\n }\n });\n })];\n }\n });\n }\n};\nexport default TableHeaderRow;","import { createVNode as _createVNode } from \"vue\";\nimport { inject } from 'vue';\nimport PropTypes from '../../_util/vue-types';\nimport TableHeaderRow from './TableHeaderRow';\n\nfunction parseHeaderRows(rootColumns) {\n var rows = [];\n\n function fillRowCells(columns, colIndex) {\n var rowIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n // Init rows\n rows[rowIndex] = rows[rowIndex] || [];\n var currentColIndex = colIndex;\n var colSpans = columns.filter(Boolean).map(function (column) {\n var cell = {\n key: column.key,\n className: column.className || column.class || '',\n children: column.title,\n column: column,\n colStart: currentColIndex\n };\n var colSpan = 1;\n var subColumns = column.children;\n\n if (subColumns && subColumns.length > 0) {\n colSpan = fillRowCells(subColumns, currentColIndex, rowIndex + 1).reduce(function (total, count) {\n return total + count;\n }, 0);\n cell.hasSubColumns = true;\n }\n\n if ('colSpan' in column) {\n colSpan = column.colSpan;\n }\n\n if ('rowSpan' in column) {\n cell.rowSpan = column.rowSpan;\n }\n\n cell.colSpan = colSpan;\n cell.colEnd = cell.colStart + colSpan - 1;\n rows[rowIndex].push(cell);\n currentColIndex += colSpan;\n return colSpan;\n });\n return colSpans;\n } // Generate `rows` cell data\n\n\n fillRowCells(rootColumns, 0); // Handle `rowSpan`\n\n var rowCount = rows.length;\n\n var _loop = function _loop(rowIndex) {\n rows[rowIndex].forEach(function (cell) {\n if (!('rowSpan' in cell) && !cell.hasSubColumns) {\n // eslint-disable-next-line no-param-reassign\n cell.rowSpan = rowCount - rowIndex;\n }\n });\n };\n\n for (var rowIndex = 0; rowIndex < rowCount; rowIndex += 1) {\n _loop(rowIndex);\n }\n\n return rows;\n}\n\nexport default {\n name: 'TableHeader',\n inheritAttrs: false,\n props: {\n fixed: PropTypes.string,\n columns: PropTypes.array.isRequired,\n expander: PropTypes.object.isRequired\n },\n setup: function setup() {\n return {\n table: inject('table', {})\n };\n },\n render: function render() {\n var _this$table = this.table,\n components = _this$table.sComponents,\n prefixCls = _this$table.prefixCls,\n showHeader = _this$table.showHeader,\n customHeaderRow = _this$table.customHeaderRow;\n var expander = this.expander,\n columns = this.columns,\n fixed = this.fixed;\n\n if (!showHeader) {\n return null;\n }\n\n var rows = parseHeaderRows(this.columns);\n expander.renderExpandIndentCell(rows, fixed);\n var HeaderWrapper = components.header.wrapper;\n return _createVNode(HeaderWrapper, {\n \"class\": \"\".concat(prefixCls, \"-thead\")\n }, {\n default: function _default() {\n return [rows.map(function (row, index) {\n return _createVNode(TableHeaderRow, {\n \"prefixCls\": prefixCls,\n \"key\": index,\n \"index\": index,\n \"fixed\": fixed,\n \"columns\": columns,\n \"rows\": rows,\n \"row\": row,\n \"components\": components,\n \"customHeaderRow\": customHeaderRow\n }, null);\n })];\n }\n });\n }\n};","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\nimport { inject, toRaw } from 'vue';\nimport PropTypes from '../../_util/vue-types';\nimport get from 'lodash-es/get';\nimport classNames from '../../_util/classNames';\nimport { isValidElement } from '../../_util/props-util';\n\nfunction isInvalidRenderCellText(text) {\n return text && !isValidElement(text) && Object.prototype.toString.call(text) === '[object Object]';\n}\n\nexport default {\n name: 'TableCell',\n inheritAttrs: false,\n props: {\n record: PropTypes.object,\n prefixCls: PropTypes.string,\n index: PropTypes.number,\n indent: PropTypes.number,\n indentSize: PropTypes.number,\n column: PropTypes.object,\n expandIcon: PropTypes.any,\n component: PropTypes.any,\n colIndex: PropTypes.number\n },\n setup: function setup() {\n return {\n table: inject('table', {}),\n store: inject('table-store', {})\n };\n },\n methods: {\n handleClick: function handleClick(e) {\n var record = this.record,\n onCellClick = this.column.onCellClick;\n\n if (onCellClick) {\n onCellClick(record, e);\n }\n }\n },\n render: function render() {\n var _classNames;\n\n var record = this.record,\n indentSize = this.indentSize,\n prefixCls = this.prefixCls,\n indent = this.indent,\n index = this.index,\n expandIcon = this.expandIcon,\n column = this.column,\n BodyCell = this.component;\n var fixedInfoList = this.store.fixedInfoList || [];\n var fixedInfo = fixedInfoList[this.colIndex];\n var fixLeft = fixedInfo.fixLeft,\n fixRight = fixedInfo.fixRight,\n firstFixLeft = fixedInfo.firstFixLeft,\n lastFixLeft = fixedInfo.lastFixLeft,\n firstFixRight = fixedInfo.firstFixRight,\n lastFixRight = fixedInfo.lastFixRight; // ====================== Fixed =======================\n\n var fixedStyle = {};\n var isFixLeft = typeof fixLeft === 'number';\n var isFixRight = typeof fixRight === 'number';\n\n if (isFixLeft) {\n fixedStyle.position = 'sticky';\n fixedStyle.left = \"\".concat(fixLeft, \"px\");\n }\n\n if (isFixRight) {\n fixedStyle.position = 'sticky';\n fixedStyle.right = \"\".concat(fixRight, \"px\");\n }\n\n var dataIndex = column.dataIndex,\n customRender = column.customRender,\n _column$className = column.className,\n className = _column$className === void 0 ? '' : _column$className;\n var _this$table = this.table,\n transformCellText = _this$table.transformCellText,\n rootPrefixCls = _this$table.prefixCls; // We should return undefined if no dataIndex is specified, but in order to\n // be compatible with object-path's behavior, we return the record object instead.\n\n var text;\n\n if (typeof dataIndex === 'number') {\n text = get(record, dataIndex);\n } else if (!dataIndex || dataIndex.length === 0) {\n text = record;\n } else {\n text = get(record, dataIndex);\n }\n\n var tdProps = {\n onClick: this.handleClick\n };\n var colSpan;\n var rowSpan;\n\n if (customRender) {\n text = customRender({\n text: text,\n record: record,\n index: index,\n column: column\n });\n\n if (isInvalidRenderCellText(text)) {\n tdProps = text.props || text.attrs || tdProps;\n var _tdProps = tdProps;\n colSpan = _tdProps.colSpan;\n rowSpan = _tdProps.rowSpan;\n text = text.children;\n }\n }\n\n if (column.customCell) {\n tdProps = _extends(_extends({}, tdProps), column.customCell(record, index));\n } // Fix https://github.com/ant-design/ant-design/issues/1202\n\n\n if (isInvalidRenderCellText(text)) {\n text = null;\n }\n\n if (transformCellText) {\n text = transformCellText({\n text: text,\n column: column,\n record: record,\n index: index\n });\n }\n\n var indentText = expandIcon ? _createVNode(\"span\", {\n \"style\": {\n paddingLeft: \"\".concat(indentSize * indent, \"px\")\n },\n \"class\": \"\".concat(prefixCls, \"-indent indent-level-\").concat(indent)\n }, null) : null;\n\n if (rowSpan === 0 || colSpan === 0) {\n return null;\n }\n\n if (column.align) {\n tdProps.style = _extends({\n textAlign: column.align\n }, tdProps.style);\n }\n\n var cellClassName = classNames(className, column.class, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-cell-ellipsis\"), !!column.ellipsis), _defineProperty(_classNames, \"\".concat(prefixCls, \"-cell-break-word\"), !!column.width), _defineProperty(_classNames, \"\".concat(rootPrefixCls, \"-cell-fix-left\"), isFixLeft), _defineProperty(_classNames, \"\".concat(rootPrefixCls, \"-cell-fix-left-first\"), firstFixLeft), _defineProperty(_classNames, \"\".concat(rootPrefixCls, \"-cell-fix-left-last\"), lastFixLeft), _defineProperty(_classNames, \"\".concat(rootPrefixCls, \"-cell-fix-right\"), isFixRight), _defineProperty(_classNames, \"\".concat(rootPrefixCls, \"-cell-fix-right-first\"), firstFixRight), _defineProperty(_classNames, \"\".concat(rootPrefixCls, \"-cell-fix-right-last\"), lastFixRight), _classNames));\n\n if (column.ellipsis) {\n if (typeof text === 'string') {\n tdProps.title = text;\n } else if (text) {// const { props: textProps } = text;\n // if (textProps && textProps.children && typeof textProps.children === 'string') {\n // tdProps.attrs.title = textProps.children;\n // }\n }\n }\n\n return _createVNode(BodyCell, _objectSpread(_objectSpread({\n \"class\": cellClassName\n }, tdProps), {}, {\n style: _extends(_extends({}, tdProps.style || {}), fixedStyle)\n }), {\n default: function _default() {\n return [indentText, expandIcon, toRaw(text)];\n }\n });\n }\n};","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport classNames from '../../_util/classNames';\nimport PropTypes, { withUndefined } from '../../_util/vue-types';\nimport TableCell from './TableCell';\nimport { initDefaultProps, findDOMNode } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport warning from '../../_util/warning';\nimport { computed, inject } from 'vue';\n\nfunction noop() {}\n\nvar TableRow = {\n name: 'TableRow',\n inheritAttrs: false,\n mixins: [BaseMixin],\n props: initDefaultProps({\n customRow: PropTypes.func,\n // onRowClick: PropTypes.func,\n // onRowDoubleClick: PropTypes.func,\n // onRowContextMenu: PropTypes.func,\n // onRowMouseEnter: PropTypes.func,\n // onRowMouseLeave: PropTypes.func,\n record: PropTypes.object,\n prefixCls: PropTypes.string,\n // onHover: PropTypes.func,\n columns: PropTypes.array,\n index: PropTypes.number,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n className: PropTypes.string,\n indent: PropTypes.number,\n indentSize: PropTypes.number,\n hasExpandIcon: PropTypes.func,\n fixed: withUndefined(PropTypes.oneOfType([PropTypes.string, PropTypes.looseBool])),\n renderExpandIcon: PropTypes.func,\n renderExpandIconCell: PropTypes.func,\n components: PropTypes.any,\n expandedRow: PropTypes.looseBool,\n isAnyColumnsFixed: PropTypes.looseBool,\n ancestorKeys: PropTypes.array.isRequired,\n expandIconColumnIndex: PropTypes.number,\n expandRowByClick: PropTypes.looseBool // visible: PropTypes.looseBool,\n // hovered: PropTypes.looseBool,\n // height: PropTypes.any,\n\n }, {\n // expandIconColumnIndex: 0,\n // expandRowByClick: false,\n hasExpandIcon: function hasExpandIcon() {},\n renderExpandIcon: function renderExpandIcon() {},\n renderExpandIconCell: function renderExpandIconCell() {}\n }),\n setup: function setup(props) {\n var store = inject('table-store', function () {\n return {};\n });\n var visible = computed(function () {\n var expandedRowKeys = store.expandedRowKeys;\n var ancestorKeys = props.ancestorKeys;\n return !!(ancestorKeys.length === 0 || ancestorKeys.every(function (k) {\n return expandedRowKeys.includes(k);\n }));\n });\n var height = computed(function () {\n var expandedRowsHeight = store.expandedRowsHeight,\n fixedColumnsBodyRowsHeight = store.fixedColumnsBodyRowsHeight;\n var fixed = props.fixed,\n rowKey = props.rowKey;\n\n if (!fixed) {\n return null;\n }\n\n if (expandedRowsHeight[rowKey]) {\n return expandedRowsHeight[rowKey];\n }\n\n if (fixedColumnsBodyRowsHeight[rowKey]) {\n return fixedColumnsBodyRowsHeight[rowKey];\n }\n\n return null;\n });\n var hovered = computed(function () {\n var currentHoverKey = store.currentHoverKey;\n var rowKey = props.rowKey;\n return currentHoverKey === rowKey;\n });\n return {\n store: store,\n visible: visible,\n hovered: hovered,\n height: height\n };\n },\n data: function data() {\n this.rowRef = null;\n return {\n shouldRender: this.visible\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n if (this.shouldRender) {\n this.$nextTick(function () {\n _this.saveRowRef();\n });\n }\n },\n watch: {\n visible: function visible(val) {\n if (val) {\n this.shouldRender = true;\n }\n }\n },\n updated: function updated() {\n var _this2 = this;\n\n if (this.shouldRender && !this.rowRef) {\n this.$nextTick(function () {\n _this2.saveRowRef();\n });\n }\n },\n methods: {\n onRowClick: function onRowClick(event) {\n var rowPropFunc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var record = this.record,\n index = this.index;\n\n this.__emit('rowClick', record, index, event);\n\n rowPropFunc(event);\n },\n onRowDoubleClick: function onRowDoubleClick(event) {\n var rowPropFunc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var record = this.record,\n index = this.index;\n\n this.__emit('rowDoubleClick', record, index, event);\n\n rowPropFunc(event);\n },\n onContextMenu: function onContextMenu(event) {\n var rowPropFunc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var record = this.record,\n index = this.index;\n\n this.__emit('rowContextmenu', record, index, event);\n\n rowPropFunc(event);\n },\n onMouseEnter: function onMouseEnter(event) {\n var rowPropFunc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var record = this.record,\n index = this.index,\n rowKey = this.rowKey;\n\n this.__emit('hover', true, rowKey);\n\n this.__emit('rowMouseenter', record, index, event);\n\n rowPropFunc(event);\n },\n onMouseLeave: function onMouseLeave(event) {\n var rowPropFunc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var record = this.record,\n index = this.index,\n rowKey = this.rowKey;\n\n this.__emit('hover', false, rowKey);\n\n this.__emit('rowMouseleave', record, index, event);\n\n rowPropFunc(event);\n },\n setExpandedRowHeight: function setExpandedRowHeight() {\n var store = this.store,\n rowKey = this.rowKey;\n var expandedRowsHeight = store.expandedRowsHeight;\n var height = this.rowRef.getBoundingClientRect().height;\n expandedRowsHeight = _extends(_extends({}, expandedRowsHeight), _defineProperty({}, rowKey, height));\n store.expandedRowsHeight = expandedRowsHeight;\n },\n setRowHeight: function setRowHeight() {\n var store = this.store,\n rowKey = this.rowKey;\n var fixedColumnsBodyRowsHeight = store.fixedColumnsBodyRowsHeight;\n var height = this.rowRef.getBoundingClientRect().height;\n store.fixedColumnsBodyRowsHeight = _extends(_extends({}, fixedColumnsBodyRowsHeight), _defineProperty({}, rowKey, height));\n },\n getStyle: function getStyle() {\n var height = this.height,\n visible = this.visible;\n var style = this.$attrs.style || {};\n\n if (height) {\n style = _extends(_extends({}, style), {\n height: height\n });\n }\n\n if (!visible && !style.display) {\n style = _extends(_extends({}, style), {\n display: 'none'\n });\n }\n\n return style;\n },\n saveRowRef: function saveRowRef() {\n this.rowRef = findDOMNode(this);\n var isAnyColumnsFixed = this.isAnyColumnsFixed,\n fixed = this.fixed,\n expandedRow = this.expandedRow,\n ancestorKeys = this.ancestorKeys;\n\n if (!isAnyColumnsFixed) {\n return;\n }\n\n if (!fixed && expandedRow) {\n this.setExpandedRowHeight();\n }\n\n if (!fixed && ancestorKeys.length >= 0) {\n this.setRowHeight();\n }\n }\n },\n render: function render() {\n var _this3 = this;\n\n if (!this.shouldRender) {\n return null;\n }\n\n var prefixCls = this.prefixCls,\n columns = this.columns,\n record = this.record,\n rowKey = this.rowKey,\n index = this.index,\n _this$customRow = this.customRow,\n customRow = _this$customRow === void 0 ? noop : _this$customRow,\n indent = this.indent,\n indentSize = this.indentSize,\n hovered = this.hovered,\n height = this.height,\n visible = this.visible,\n components = this.components,\n hasExpandIcon = this.hasExpandIcon,\n renderExpandIcon = this.renderExpandIcon,\n renderExpandIconCell = this.renderExpandIconCell;\n var BodyRow = components.body.row;\n var BodyCell = components.body.cell;\n var className = this.$attrs.class || '';\n\n if (hovered) {\n className += \" \".concat(prefixCls, \"-hover\");\n }\n\n var cells = [];\n renderExpandIconCell(cells);\n\n for (var i = 0; i < columns.length; i += 1) {\n var column = columns[i];\n warning(column.onCellClick === undefined, 'column[onCellClick] is deprecated, please use column[customCell] instead.');\n cells.push(_createVNode(TableCell, {\n \"prefixCls\": prefixCls,\n \"record\": record,\n \"indentSize\": indentSize,\n \"indent\": indent,\n \"index\": index,\n \"colIndex\": i,\n \"column\": column,\n \"key\": column.key || column.dataIndex,\n \"expandIcon\": hasExpandIcon(i) && renderExpandIcon(),\n \"component\": BodyCell\n }, null));\n }\n\n var _a = customRow(record, index) || {},\n customClass = _a.class,\n customClassName = _a.className,\n customStyle = _a.style,\n rowProps = __rest(_a, [\"class\", \"className\", \"style\"]);\n\n var style = {\n height: typeof height === 'number' ? \"\".concat(height, \"px\") : height\n };\n\n if (!visible) {\n style.display = 'none';\n }\n\n style = _extends(_extends({}, style), customStyle);\n var rowClassName = classNames(prefixCls, className, \"\".concat(prefixCls, \"-level-\").concat(indent), customClassName, customClass);\n\n var bodyRowProps = _extends(_extends({}, rowProps), {\n style: style,\n onClick: function onClick(e) {\n _this3.onRowClick(e, rowProps.onClick);\n },\n onDblclick: function onDblclick(e) {\n _this3.onRowDoubleClick(e, rowProps.onDblclick);\n },\n onMouseenter: function onMouseenter(e) {\n _this3.onMouseEnter(e, rowProps.onMouseenter);\n },\n onMouseleave: function onMouseleave(e) {\n _this3.onMouseLeave(e, rowProps.onMouseleave);\n },\n onContextmenu: function onContextmenu(e) {\n _this3.onContextMenu(e, rowProps.onContextmenu);\n },\n class: rowClassName,\n 'data-row-key': rowKey\n });\n\n return _createVNode(BodyRow, bodyRowProps, {\n default: function _default() {\n return [cells];\n }\n });\n }\n};\nexport default TableRow;","import { createVNode as _createVNode } from \"vue\";\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nexport default {\n name: 'ExpandIcon',\n mixins: [BaseMixin],\n inheritAttrs: false,\n props: {\n record: PropTypes.object,\n prefixCls: PropTypes.string,\n expandable: PropTypes.any,\n expanded: PropTypes.looseBool,\n needIndentSpaced: PropTypes.looseBool\n },\n methods: {\n onExpand: function onExpand(e) {\n this.__emit('expand', this.record, e);\n }\n },\n render: function render() {\n var expandable = this.expandable,\n prefixCls = this.prefixCls,\n onExpand = this.onExpand,\n needIndentSpaced = this.needIndentSpaced,\n expanded = this.expanded;\n\n if (expandable) {\n var expandClassName = expanded ? 'expanded' : 'collapsed';\n return _createVNode(\"span\", {\n \"class\": \"\".concat(prefixCls, \"-expand-icon \").concat(prefixCls, \"-\").concat(expandClassName),\n \"onClick\": onExpand\n }, null);\n }\n\n if (needIndentSpaced) {\n return _createVNode(\"span\", {\n \"class\": \"\".concat(prefixCls, \"-expand-icon \").concat(prefixCls, \"-spaced\")\n }, null);\n }\n\n return null;\n }\n};","import { createVNode as _createVNode } from \"vue\";\nimport PropTypes, { withUndefined } from '../../_util/vue-types';\nimport ExpandIcon from './ExpandIcon';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getSlot } from '../../_util/props-util';\nimport { computed, inject } from 'vue';\nvar ExpandableRow = {\n mixins: [BaseMixin],\n name: 'ExpandableRow',\n inheritAttrs: false,\n props: {\n prefixCls: PropTypes.string.isRequired,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n fixed: withUndefined(PropTypes.oneOfType([PropTypes.string, PropTypes.looseBool])),\n record: PropTypes.oneOfType([PropTypes.object, PropTypes.array]).isRequired,\n indentSize: PropTypes.number,\n needIndentSpaced: PropTypes.looseBool.isRequired,\n expandRowByClick: PropTypes.looseBool,\n expandIconAsCell: PropTypes.looseBool,\n expandIconColumnIndex: PropTypes.number,\n childrenColumnName: PropTypes.string,\n expandedRowRender: PropTypes.func,\n expandIcon: PropTypes.func // onExpandedChange: PropTypes.func.isRequired,\n // onRowClick: PropTypes.func,\n // children: PropTypes.func.isRequired,\n\n },\n setup: function setup(props) {\n var store = inject('table-store', function () {\n return {};\n });\n return {\n expanded: computed(function () {\n return store.expandedRowKeys.includes(props.rowKey);\n })\n };\n },\n beforeUnmount: function beforeUnmount() {\n this.handleDestroy();\n },\n methods: {\n hasExpandIcon: function hasExpandIcon(columnIndex) {\n var _this$$props = this.$props,\n expandRowByClick = _this$$props.expandRowByClick,\n expandIcon = _this$$props.expandIcon;\n\n if (this.tempExpandIconAsCell || columnIndex !== this.tempExpandIconColumnIndex) {\n return false;\n }\n\n return !!expandIcon || !expandRowByClick;\n },\n handleExpandChange: function handleExpandChange(record, event) {\n var expanded = this.expanded,\n rowKey = this.rowKey;\n\n this.__emit('expandedChange', !expanded, record, event, rowKey);\n },\n handleDestroy: function handleDestroy() {\n var rowKey = this.rowKey,\n record = this.record;\n\n this.__emit('expandedChange', false, record, null, rowKey, true);\n },\n handleRowClick: function handleRowClick(record, index, event) {\n var expandRowByClick = this.expandRowByClick;\n\n if (expandRowByClick) {\n this.handleExpandChange(record, event);\n }\n\n this.__emit('rowClick', record, index, event);\n },\n renderExpandIcon: function renderExpandIcon() {\n var prefixCls = this.prefixCls,\n expanded = this.expanded,\n record = this.record,\n needIndentSpaced = this.needIndentSpaced,\n expandIcon = this.expandIcon;\n\n if (expandIcon) {\n return expandIcon({\n prefixCls: prefixCls,\n expanded: expanded,\n record: record,\n needIndentSpaced: needIndentSpaced,\n expandable: this.expandable,\n onExpand: this.handleExpandChange\n });\n }\n\n return _createVNode(ExpandIcon, {\n \"expandable\": this.expandable,\n \"prefixCls\": prefixCls,\n \"onExpand\": this.handleExpandChange,\n \"needIndentSpaced\": needIndentSpaced,\n \"expanded\": expanded,\n \"record\": record\n }, null);\n },\n renderExpandIconCell: function renderExpandIconCell(cells) {\n if (!this.tempExpandIconAsCell) {\n return;\n }\n\n var prefixCls = this.prefixCls;\n cells.push(_createVNode(\"td\", {\n \"class\": \"\".concat(prefixCls, \"-expand-icon-cell\"),\n \"key\": \"rc-table-expand-icon-cell\"\n }, [this.renderExpandIcon()]));\n }\n },\n render: function render() {\n var childrenColumnName = this.childrenColumnName,\n expandedRowRender = this.expandedRowRender,\n indentSize = this.indentSize,\n record = this.record,\n fixed = this.fixed,\n expanded = this.expanded;\n this.tempExpandIconAsCell = fixed !== 'right' ? this.expandIconAsCell : false;\n this.tempExpandIconColumnIndex = fixed !== 'right' ? this.expandIconColumnIndex : -1;\n var childrenData = record[childrenColumnName];\n this.expandable = !!(childrenData || expandedRowRender);\n var expandableRowProps = {\n indentSize: indentSize,\n expanded: expanded,\n hasExpandIcon: this.hasExpandIcon,\n renderExpandIcon: this.renderExpandIcon,\n renderExpandIconCell: this.renderExpandIconCell,\n onRowClick: this.handleRowClick\n };\n return getSlot(this, 'default', expandableRowProps);\n }\n};\nexport default ExpandableRow;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nimport { inject } from 'vue';\nimport PropTypes, { withUndefined } from '../../_util/vue-types';\nimport classNames from '../../_util/classNames';\nimport ColGroup from './ColGroup';\nimport TableHeader from './TableHeader';\nimport TableRow from './TableRow';\nimport ExpandableRow from './ExpandableRow';\n\nfunction noop() {}\n\nvar BaseTable = {\n name: 'BaseTable',\n inheritAttrs: false,\n props: {\n fixed: withUndefined(PropTypes.oneOfType([PropTypes.string, PropTypes.looseBool])),\n columns: PropTypes.array.isRequired,\n tableClassName: PropTypes.string.isRequired,\n hasHead: PropTypes.looseBool.isRequired,\n hasBody: PropTypes.looseBool.isRequired,\n expander: PropTypes.object.isRequired,\n getRowKey: PropTypes.func,\n isAnyColumnsFixed: PropTypes.looseBool\n },\n setup: function setup() {\n return {\n table: inject('table', function () {\n return {};\n }),\n store: inject('table-store', function () {\n return {};\n })\n };\n },\n methods: {\n getColumns: function getColumns(cols) {\n var _this$$props$columns = this.$props.columns,\n columns = _this$$props$columns === void 0 ? [] : _this$$props$columns;\n return (cols || columns).map(function (column) {\n return _extends(_extends({}, column), {\n className: classNames(column.className, column.class)\n });\n });\n },\n handleRowHover: function handleRowHover(isHover, key) {\n this.store.currentHoverKey = isHover ? key : null;\n },\n renderRows: function renderRows(renderData, indent) {\n var _this = this;\n\n var ancestorKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n\n var _Object$assign = _extends(_extends(_extends({}, this.table.$attrs), this.table.$props), this.table.$data),\n components = _Object$assign.sComponents,\n prefixCls = _Object$assign.prefixCls,\n childrenColumnName = _Object$assign.childrenColumnName,\n rowClassName = _Object$assign.rowClassName,\n _Object$assign$custom = _Object$assign.customRow,\n customRow = _Object$assign$custom === void 0 ? noop : _Object$assign$custom,\n _Object$assign$onRowC = _Object$assign.onRowClick,\n onRowClick = _Object$assign$onRowC === void 0 ? noop : _Object$assign$onRowC,\n _Object$assign$onRowD = _Object$assign.onRowDoubleClick,\n onRowDoubleClick = _Object$assign$onRowD === void 0 ? noop : _Object$assign$onRowD,\n _Object$assign$onRowC2 = _Object$assign.onRowContextMenu,\n onRowContextMenu = _Object$assign$onRowC2 === void 0 ? noop : _Object$assign$onRowC2,\n _Object$assign$onRowM = _Object$assign.onRowMouseEnter,\n onRowMouseEnter = _Object$assign$onRowM === void 0 ? noop : _Object$assign$onRowM,\n _Object$assign$onRowM2 = _Object$assign.onRowMouseLeave,\n onRowMouseLeave = _Object$assign$onRowM2 === void 0 ? noop : _Object$assign$onRowM2,\n rowRef = _Object$assign.rowRef;\n\n var columnManager = this.store.columnManager;\n var getRowKey = this.getRowKey,\n fixed = this.fixed,\n expander = this.expander,\n isAnyColumnsFixed = this.isAnyColumnsFixed;\n var rows = [];\n\n var _loop = function _loop(i) {\n var record = renderData[i];\n var key = getRowKey(record, i);\n var className = typeof rowClassName === 'string' ? rowClassName : rowClassName(record, i, indent);\n var onHoverProps = {};\n\n if (columnManager.isAnyColumnsFixed) {\n onHoverProps.onHover = _this.handleRowHover;\n }\n\n var leafColumns = void 0;\n\n if (fixed === 'left') {\n leafColumns = columnManager.leftLeafColumns;\n } else if (fixed === 'right') {\n leafColumns = columnManager.rightLeafColumns;\n } else {\n leafColumns = _this.getColumns(columnManager.leafColumns);\n }\n\n var rowPrefixCls = \"\".concat(prefixCls, \"-row\");\n\n var expandableRowProps = _extends(_extends({}, expander.props), {\n fixed: fixed,\n index: i,\n prefixCls: rowPrefixCls,\n record: record,\n rowKey: key,\n needIndentSpaced: expander.needIndentSpaced,\n key: key,\n onRowClick: onRowClick,\n onExpandedChange: expander.handleExpandChange\n });\n\n var row = _createVNode(ExpandableRow, expandableRowProps, {\n default: function _default(expandableRow) {\n var tableRowProps = _extends(_extends(_extends({\n fixed: fixed,\n indent: indent,\n record: record,\n index: i,\n prefixCls: rowPrefixCls,\n childrenColumnName: childrenColumnName,\n columns: leafColumns,\n rowKey: key,\n ancestorKeys: ancestorKeys,\n components: components,\n isAnyColumnsFixed: isAnyColumnsFixed,\n customRow: customRow,\n onRowDoubleClick: onRowDoubleClick,\n onRowContextMenu: onRowContextMenu,\n onRowMouseEnter: onRowMouseEnter,\n onRowMouseLeave: onRowMouseLeave\n }, onHoverProps), {\n class: className,\n ref: rowRef(record, i, indent)\n }), expandableRow);\n\n return _createVNode(TableRow, tableRowProps, null);\n }\n });\n\n rows.push(row);\n expander.renderRows(_this.renderRows, rows, record, i, indent, fixed, key, ancestorKeys);\n };\n\n for (var i = 0; i < renderData.length; i += 1) {\n _loop(i);\n }\n\n return rows;\n }\n },\n render: function render() {\n var _this2 = this;\n\n var _this$table = this.table,\n components = _this$table.sComponents,\n prefixCls = _this$table.prefixCls,\n scroll = _this$table.scroll,\n data = _this$table.data;\n var _this$$props = this.$props,\n expander = _this$$props.expander,\n tableClassName = _this$$props.tableClassName,\n hasHead = _this$$props.hasHead,\n hasBody = _this$$props.hasBody,\n fixed = _this$$props.fixed;\n var columns = this.getColumns();\n var tableStyle = {};\n\n if (!fixed && scroll.x) {\n // not set width, then use content fixed width\n tableStyle.width = scroll.x === true ? 'auto' : scroll.x;\n tableStyle.width = typeof tableStyle.width === 'number' ? \"\".concat(tableStyle.width, \"px\") : tableStyle.width;\n }\n\n if (fixed) {\n var width = columns.reduce(function (sum, _ref) {\n var w = _ref.width;\n return sum + parseFloat(w, 10);\n }, 0);\n\n if (width > 0) {\n tableStyle.width = width + 'px';\n }\n }\n\n var Table = hasBody ? components.table : 'table';\n var BodyWrapper = components.body.wrapper;\n var body;\n\n if (hasBody) {\n body = _createVNode(BodyWrapper, {\n \"class\": \"\".concat(prefixCls, \"-tbody\")\n }, {\n default: function _default() {\n return [_this2.renderRows(data, 0)];\n }\n });\n }\n\n return _createVNode(Table, {\n \"class\": tableClassName,\n \"style\": tableStyle,\n \"key\": \"table\"\n }, {\n default: function _default() {\n return [_createVNode(ColGroup, {\n \"columns\": columns,\n \"fixed\": fixed\n }, null), hasHead && _createVNode(TableHeader, {\n \"expander\": expander,\n \"columns\": columns,\n \"fixed\": fixed\n }, null), body];\n }\n });\n }\n};\nexport default BaseTable;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { createVNode as _createVNode } from \"vue\";\nimport { inject } from 'vue';\nimport PropTypes, { withUndefined } from '../../_util/vue-types';\nimport { measureScrollbar } from './utils';\nimport BaseTable from './BaseTable';\nimport classNames from '../../_util/classNames';\nexport default {\n name: 'HeadTable',\n inheritAttrs: false,\n props: {\n fixed: withUndefined(PropTypes.oneOfType([PropTypes.string, PropTypes.looseBool])),\n columns: PropTypes.array.isRequired,\n tableClassName: PropTypes.string.isRequired,\n handleBodyScrollLeft: PropTypes.func.isRequired,\n expander: PropTypes.object.isRequired\n },\n setup: function setup() {\n return {\n table: inject('table', {})\n };\n },\n render: function render() {\n var columns = this.columns,\n fixed = this.fixed,\n tableClassName = this.tableClassName,\n handleBodyScrollLeft = this.handleBodyScrollLeft,\n expander = this.expander,\n table = this.table;\n var prefixCls = table.prefixCls,\n scroll = table.scroll,\n showHeader = table.showHeader,\n saveRef = table.saveRef;\n var useFixedHeader = table.useFixedHeader;\n var headStyle = {};\n var scrollbarWidth = measureScrollbar({\n direction: 'vertical'\n });\n\n if (scroll.y) {\n useFixedHeader = true; // https://github.com/ant-design/ant-design/issues/17051\n\n var scrollbarWidthOfHeader = measureScrollbar({\n direction: 'horizontal',\n prefixCls: prefixCls\n }); // Add negative margin bottom for scroll bar overflow bug\n\n if (scrollbarWidthOfHeader > 0 && !fixed) {\n headStyle.marginBottom = \"-\".concat(scrollbarWidthOfHeader, \"px\");\n headStyle.paddingBottom = '0px'; // https://github.com/ant-design/ant-design/pull/19986\n\n headStyle.minWidth = \"\".concat(scrollbarWidth, \"px\"); // https://github.com/ant-design/ant-design/issues/17051\n\n headStyle.overflowX = 'scroll';\n headStyle.overflowY = scrollbarWidth === 0 ? 'hidden' : 'scroll';\n }\n }\n\n if (!useFixedHeader || !showHeader) {\n return null;\n }\n\n return _createVNode(\"div\", {\n \"key\": \"headTable\",\n \"ref\": fixed ? function () {} : saveRef('headTable'),\n \"class\": classNames(\"\".concat(prefixCls, \"-header\"), _defineProperty({}, \"\".concat(prefixCls, \"-hide-scrollbar\"), scrollbarWidth > 0)),\n \"style\": headStyle,\n \"onScroll\": handleBodyScrollLeft\n }, [_createVNode(BaseTable, {\n \"tableClassName\": tableClassName,\n \"hasHead\": true,\n \"hasBody\": false,\n \"fixed\": fixed,\n \"columns\": columns,\n \"expander\": expander\n }, null)]);\n }\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\nimport { inject } from 'vue';\nimport PropTypes from '../../_util/vue-types';\nimport BaseTable from './BaseTable';\nexport default {\n name: 'BodyTable',\n inheritAttrs: false,\n props: {\n columns: PropTypes.array.isRequired,\n tableClassName: PropTypes.string.isRequired,\n handleBodyScroll: PropTypes.func.isRequired,\n handleWheel: PropTypes.func.isRequired,\n getRowKey: PropTypes.func.isRequired,\n expander: PropTypes.object.isRequired,\n isAnyColumnsFixed: PropTypes.looseBool\n },\n setup: function setup() {\n return {\n table: inject('table', {})\n };\n },\n render: function render() {\n var _this$table = this.table,\n prefixCls = _this$table.prefixCls,\n scroll = _this$table.scroll;\n var columns = this.columns,\n tableClassName = this.tableClassName,\n getRowKey = this.getRowKey,\n handleBodyScroll = this.handleBodyScroll,\n handleWheel = this.handleWheel,\n expander = this.expander,\n isAnyColumnsFixed = this.isAnyColumnsFixed;\n var _this$table2 = this.table,\n useFixedHeader = _this$table2.useFixedHeader,\n saveRef = _this$table2.saveRef;\n\n var bodyStyle = _extends({}, this.table.bodyStyle);\n\n if (scroll.y) {\n // maxHeight will make fixed-Table scrolling not working\n // so we only set maxHeight to body-Table here\n var maxHeight = bodyStyle.maxHeight || scroll.y;\n maxHeight = typeof maxHeight === 'number' ? \"\".concat(maxHeight, \"px\") : maxHeight;\n bodyStyle.maxHeight = maxHeight;\n bodyStyle.overflowY = bodyStyle.overflowY || 'scroll';\n useFixedHeader = true;\n }\n\n if (scroll.x) {\n bodyStyle.overflowX = bodyStyle.overflowX || 'auto'; // Fix weired webkit render bug\n // https://github.com/ant-design/ant-design/issues/7783\n\n bodyStyle.WebkitTransform = 'translate3d (0, 0, 0)';\n\n if (!scroll.y) {\n bodyStyle.overflowY = 'hidden';\n }\n }\n\n var baseTable = _createVNode(BaseTable, {\n \"tableClassName\": tableClassName,\n \"hasHead\": !useFixedHeader,\n \"hasBody\": true,\n \"columns\": columns,\n \"expander\": expander,\n \"getRowKey\": getRowKey,\n \"isAnyColumnsFixed\": isAnyColumnsFixed\n }, null); // Should provides `tabindex` if use scroll to enable keyboard scroll\n\n\n var useTabIndex = scroll && (scroll.x || scroll.y);\n return _createVNode(\"div\", {\n \"tabindex\": useTabIndex ? -1 : undefined,\n \"key\": \"bodyTable\",\n \"class\": \"\".concat(prefixCls, \"-body\"),\n \"style\": bodyStyle,\n \"ref\": saveRef('bodyTable'),\n \"onWheel\": handleWheel,\n \"onScroll\": handleBodyScroll\n }, [baseTable]);\n }\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport { createVNode as _createVNode } from \"vue\";\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport shallowEqual from '../../_util/shallowequal';\nimport TableRow from './TableRow';\nimport { remove } from './utils';\nimport { initDefaultProps, getOptionProps, getSlot } from '../../_util/props-util';\nimport { inject } from 'vue';\nexport var ExpandableTableProps = function ExpandableTableProps() {\n return {\n expandIconAsCell: PropTypes.looseBool,\n expandRowByClick: PropTypes.looseBool,\n expandedRowKeys: PropTypes.array,\n expandedRowClassName: PropTypes.func,\n defaultExpandAllRows: PropTypes.looseBool,\n defaultExpandedRowKeys: PropTypes.array,\n expandIconColumnIndex: PropTypes.number,\n expandedRowRender: PropTypes.func,\n expandIcon: PropTypes.func,\n childrenColumnName: PropTypes.string,\n indentSize: PropTypes.number,\n // onExpand: PropTypes.func,\n // onExpandedRowsChange: PropTypes.func,\n columnManager: PropTypes.object.isRequired,\n prefixCls: PropTypes.string.isRequired,\n data: PropTypes.array,\n getRowKey: PropTypes.func\n };\n};\nvar ExpandableTable = {\n name: 'ExpandableTable',\n inheritAttrs: false,\n mixins: [BaseMixin],\n props: initDefaultProps(ExpandableTableProps(), {\n expandIconAsCell: false,\n expandedRowClassName: function expandedRowClassName() {\n return '';\n },\n expandIconColumnIndex: 0,\n defaultExpandAllRows: false,\n defaultExpandedRowKeys: [],\n childrenColumnName: 'children',\n indentSize: 15\n }),\n setup: function setup(props) {\n var store = inject('table-store', function () {\n return {};\n });\n var data = props.data,\n childrenColumnName = props.childrenColumnName,\n defaultExpandAllRows = props.defaultExpandAllRows,\n expandedRowKeys = props.expandedRowKeys,\n defaultExpandedRowKeys = props.defaultExpandedRowKeys,\n getRowKey = props.getRowKey;\n var finalExpandedRowKeys = [];\n\n var rows = _toConsumableArray(data);\n\n if (defaultExpandAllRows) {\n for (var i = 0; i < rows.length; i += 1) {\n var row = rows[i];\n finalExpandedRowKeys.push(getRowKey(row, i));\n rows = rows.concat(row[childrenColumnName] || []);\n }\n } else {\n finalExpandedRowKeys = expandedRowKeys || defaultExpandedRowKeys;\n }\n\n _extends(store, {\n expandedRowsHeight: {},\n expandedRowKeys: finalExpandedRowKeys\n });\n\n return {\n store: store\n };\n },\n mounted: function mounted() {\n this.handleUpdated();\n },\n updated: function updated() {\n this.handleUpdated();\n },\n watch: {\n expandedRowKeys: function expandedRowKeys(val) {\n var _this = this;\n\n this.$nextTick(function () {\n _this.store.expandedRowKeys = val;\n });\n }\n },\n methods: {\n handleUpdated: function handleUpdated() {\n // We should record latest expanded rows to avoid multiple rows remove cause `onExpandedRowsChange` trigger many times\n this.latestExpandedRows = null;\n },\n handleExpandChange: function handleExpandChange(expanded, record, event, rowKey) {\n var destroy = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n var expandedRowKeys = this.store.expandedRowKeys;\n\n if (expanded) {\n // row was expaned\n expandedRowKeys = [].concat(_toConsumableArray(expandedRowKeys), [rowKey]);\n } else {\n // row was collapse\n var expandedRowIndex = expandedRowKeys.indexOf(rowKey);\n\n if (expandedRowIndex !== -1) {\n expandedRowKeys = remove(expandedRowKeys, rowKey);\n }\n }\n\n if (!this.expandedRowKeys) {\n this.store.expandedRowKeys = expandedRowKeys;\n } // De-dup of repeat call\n\n\n if (!this.latestExpandedRows || !shallowEqual(this.latestExpandedRows, expandedRowKeys)) {\n this.latestExpandedRows = expandedRowKeys;\n\n this.__emit('expandedRowsChange', expandedRowKeys);\n }\n\n if (!destroy) {\n this.__emit('expand', expanded, record);\n }\n },\n renderExpandIndentCell: function renderExpandIndentCell(rows, fixed) {\n var prefixCls = this.prefixCls,\n expandIconAsCell = this.expandIconAsCell;\n\n if (!expandIconAsCell || fixed === 'right' || !rows.length) {\n return;\n }\n\n var iconColumn = {\n key: 'rc-table-expand-icon-cell',\n className: \"\".concat(prefixCls, \"-expand-icon-th\"),\n title: '',\n rowSpan: rows.length\n };\n rows[0].unshift(_extends(_extends({}, iconColumn), {\n column: iconColumn\n }));\n },\n renderExpandedRow: function renderExpandedRow(record, index, expandedRowRender, className, ancestorKeys, indent, fixed) {\n var _this2 = this;\n\n var prefixCls = this.prefixCls,\n expandIconAsCell = this.expandIconAsCell,\n indentSize = this.indentSize;\n var parentKey = ancestorKeys[ancestorKeys.length - 1];\n var rowKey = \"\".concat(parentKey, \"-extra-row\");\n var components = {\n body: {\n row: 'tr',\n cell: 'td'\n }\n };\n var colCount;\n\n if (fixed === 'left') {\n colCount = this.columnManager.leftLeafColumns.value.length;\n } else if (fixed === 'right') {\n colCount = this.columnManager.rightLeafColumns.value.length;\n } else {\n colCount = this.columnManager.leafColumns.value.length;\n }\n\n var columns = [{\n key: 'extra-row',\n customRender: function customRender() {\n var expandedRowKeys = _this2.store.expandedRowKeys;\n var expanded = expandedRowKeys.includes(parentKey);\n return {\n props: {\n colSpan: colCount\n },\n children: fixed !== 'right' ? expandedRowRender({\n record: record,\n index: index,\n indent: indent,\n expanded: expanded\n }) : ' '\n };\n }\n }];\n\n if (expandIconAsCell && fixed !== 'right') {\n columns.unshift({\n key: 'expand-icon-placeholder',\n customRender: function customRender() {\n return null;\n }\n });\n }\n\n return _createVNode(TableRow, {\n \"key\": rowKey,\n \"columns\": columns,\n \"class\": className,\n \"rowKey\": rowKey,\n \"ancestorKeys\": ancestorKeys,\n \"prefixCls\": \"\".concat(prefixCls, \"-expanded-row\"),\n \"indentSize\": indentSize,\n \"indent\": indent,\n \"fixed\": fixed,\n \"components\": components,\n \"expandedRow\": true,\n \"hasExpandIcon\": function hasExpandIcon() {}\n }, null);\n },\n renderRows: function renderRows(_renderRows, rows, record, index, indent, fixed, parentKey, ancestorKeys) {\n var expandedRowClassName = this.expandedRowClassName,\n expandedRowRender = this.expandedRowRender,\n childrenColumnName = this.childrenColumnName;\n var childrenData = record[childrenColumnName];\n var nextAncestorKeys = [].concat(_toConsumableArray(ancestorKeys), [parentKey]);\n var nextIndent = indent + 1;\n\n if (expandedRowRender) {\n rows.push(this.renderExpandedRow(record, index, expandedRowRender, expandedRowClassName(record, index, indent), nextAncestorKeys, nextIndent, fixed));\n }\n\n if (childrenData) {\n rows.push.apply(rows, _toConsumableArray(_renderRows(childrenData, nextIndent, nextAncestorKeys)));\n }\n }\n },\n render: function render() {\n var data = this.data,\n childrenColumnName = this.childrenColumnName;\n var props = getOptionProps(this);\n var needIndentSpaced = data.some(function (record) {\n return record[childrenColumnName];\n });\n return getSlot(this, 'default', {\n props: _extends(_extends({}, props), this.$attrs),\n needIndentSpaced: needIndentSpaced,\n renderRows: this.renderRows,\n handleExpandChange: this.handleExpandChange,\n renderExpandIndentCell: this.renderExpandIndentCell\n });\n }\n};\nexport default ExpandableTable;","import { onBeforeUnmount, ref } from 'vue';\nimport wrapperRaf from '../raf';\n/**\n * Execute code before next frame but async\n */\n\nexport function useLayoutState(defaultState) {\n var stateRef = ref(defaultState);\n var tempState = stateRef.value;\n var updateBatchRef = [];\n var rafRef = ref();\n\n function setFrameState(updater) {\n wrapperRaf.cancel(rafRef.value);\n updateBatchRef.push(updater);\n rafRef.value = wrapperRaf(function () {\n var prevBatch = updateBatchRef; // const prevState = stateRef.value;\n\n updateBatchRef = [];\n prevBatch.forEach(function (batchUpdater) {\n tempState = batchUpdater(tempState);\n }); // if (tempState !== stateRef.value) {\n\n stateRef.value = tempState; // }\n });\n }\n\n onBeforeUnmount(function () {\n wrapperRaf.cancel(rafRef.value);\n });\n return [stateRef, setFrameState];\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport { computed } from 'vue';\nexport default function useColumnManager(columns) {\n var _leafColumns = function _leafColumns(cls) {\n var fixed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var leafColumns = [];\n cls.forEach(function (column) {\n column.fixed = fixed || column.fixed;\n\n if (!column.children) {\n leafColumns.push(column);\n } else {\n leafColumns.push.apply(leafColumns, _toConsumableArray(_leafColumns(column.children, column.fixed)));\n }\n });\n return leafColumns;\n }; // add appropriate rowspan and colspan to column\n\n\n var groupedColumns = computed(function () {\n var _groupColumns = function _groupColumns(cls) {\n var currentRow = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var parentColumn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rows = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];\n var fixed = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n // track how many rows we got\n rows[currentRow] = rows[currentRow] || [];\n var grouped = [];\n\n var setRowSpan = function setRowSpan(column) {\n var rowSpan = rows.length - currentRow;\n\n if (column && !column.children && // parent columns.value are supposed to be one row\n rowSpan > 1 && (!column.rowSpan || column.rowSpan < rowSpan)) {\n column.rowSpan = rowSpan;\n }\n };\n\n cls.forEach(function (column, index) {\n var newColumn = _extends({}, column);\n\n newColumn.fixed = fixed || column.fixed;\n rows[currentRow].push(newColumn);\n parentColumn.colSpan = parentColumn.colSpan || 0;\n\n if (newColumn.children && newColumn.children.length > 0) {\n newColumn.children = _groupColumns(newColumn.children, currentRow + 1, newColumn, rows, newColumn.fixed);\n parentColumn.colSpan += newColumn.colSpan;\n } else {\n parentColumn.colSpan += 1;\n } // update rowspan to all same row columns.value\n\n\n for (var i = 0; i < rows[currentRow].length - 1; i += 1) {\n setRowSpan(rows[currentRow][i]);\n } // last column, update rowspan immediately\n\n\n if (index + 1 === cls.length) {\n setRowSpan(newColumn);\n }\n\n grouped.push(newColumn);\n });\n return grouped;\n };\n\n return _groupColumns(columns.value);\n });\n var isAnyColumnsFixed = computed(function () {\n return columns.value.some(function (column) {\n return !!column.fixed;\n });\n });\n var isAnyColumnsLeftFixed = computed(function () {\n return columns.value.some(function (column) {\n return column.fixed === 'left' || column.fixed === true;\n });\n });\n var isAnyColumnsRightFixed = computed(function () {\n return columns.value.some(function (column) {\n return column.fixed === 'right';\n });\n });\n var leftColumns = computed(function () {\n return groupedColumns.value.filter(function (column) {\n return column.fixed === 'left' || column.fixed === true;\n });\n });\n var rightColumns = computed(function () {\n return groupedColumns.value.filter(function (column) {\n return column.fixed === 'right';\n });\n });\n var leafColumns = computed(function () {\n return _leafColumns(columns.value);\n });\n var leftLeafColumns = computed(function () {\n return _leafColumns(leftColumns.value);\n });\n var rightLeafColumns = computed(function () {\n return _leafColumns(rightColumns.value);\n });\n return {\n groupedColumns: groupedColumns,\n isAnyColumnsFixed: isAnyColumnsFixed,\n isAnyColumnsLeftFixed: isAnyColumnsLeftFixed,\n isAnyColumnsRightFixed: isAnyColumnsRightFixed,\n leftColumns: leftColumns,\n rightColumns: rightColumns,\n leafColumns: leafColumns,\n leftLeafColumns: leftLeafColumns,\n rightLeafColumns: rightLeafColumns\n };\n}","import { ref, watch } from 'vue';\n/**\n * Get sticky column offset width\n */\n\nfunction useStickyOffsets(colWidths, columns) {\n var stickyOffsets = ref({\n left: [],\n right: []\n });\n var columnCount = ref();\n watch(columns, function () {\n columnCount.value = columns.value.length;\n }, {\n immediate: true\n });\n watch([colWidths, columnCount], function () {\n var leftOffsets = [];\n var rightOffsets = [];\n var left = 0;\n var right = 0;\n\n for (var start = 0; start < columnCount.value; start += 1) {\n // Left offset\n leftOffsets[start] = left;\n left += colWidths.value[start] || 0; // Right offset\n\n var end = columnCount.value - start - 1;\n rightOffsets[end] = right;\n right += colWidths.value[end] || 0;\n }\n\n stickyOffsets.value = {\n left: leftOffsets,\n right: rightOffsets\n };\n });\n return stickyOffsets;\n}\n\nexport default useStickyOffsets;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\n\n/* eslint-disable camelcase */\nimport { provide, markRaw, defineComponent, nextTick, reactive, computed, ref, onUpdated, onMounted, toRef } from 'vue';\nimport shallowequal from '../../_util/shallowequal';\nimport merge from 'lodash-es/merge';\nimport classes from '../../_util/component-classes';\nimport classNames from '../../_util/classNames';\nimport PropTypes from '../../_util/vue-types';\nimport { debounce, getColumnsKey, getDataAndAriaProps, validateValue } from './utils';\nimport warning from '../../_util/warning';\nimport addEventListener from '../../vc-util/Dom/addEventListener';\nimport HeadTable from './HeadTable';\nimport BodyTable from './BodyTable';\nimport ExpandableTable from './ExpandableTable';\nimport { initDefaultProps, getOptionProps } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { useLayoutState } from '../../_util/hooks/useLayoutState';\nimport useColumnManager from './useColumnManager';\nimport useStickyOffsets from './useStickyOffsets';\nimport { getCellFixedInfo } from './fixUtil';\nimport ResizeObserver from '../../vc-resize-observer';\nexport default defineComponent({\n name: 'Table',\n mixins: [BaseMixin],\n inheritAttrs: false,\n props: initDefaultProps({\n data: PropTypes.array,\n useFixedHeader: PropTypes.looseBool,\n columns: PropTypes.array,\n prefixCls: PropTypes.string,\n bodyStyle: PropTypes.object,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n rowClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n customRow: PropTypes.func,\n customHeaderRow: PropTypes.func,\n // onRowClick: PropTypes.func,\n // onRowDoubleClick: PropTypes.func,\n // onRowContextMenu: PropTypes.func,\n // onRowMouseEnter: PropTypes.func,\n // onRowMouseLeave: PropTypes.func,\n showHeader: PropTypes.looseBool,\n title: PropTypes.func,\n id: PropTypes.string,\n footer: PropTypes.func,\n emptyText: PropTypes.any,\n scroll: PropTypes.object,\n rowRef: PropTypes.func,\n // getBodyWrapper: PropTypes.func,\n components: PropTypes.shape({\n table: PropTypes.any,\n header: PropTypes.shape({\n wrapper: PropTypes.any,\n row: PropTypes.any,\n cell: PropTypes.any\n }).loose,\n body: PropTypes.shape({\n wrapper: PropTypes.any,\n row: PropTypes.any,\n cell: PropTypes.any\n }).loose\n }).loose,\n expandIconAsCell: PropTypes.looseBool,\n expandedRowKeys: PropTypes.array,\n expandedRowClassName: PropTypes.func,\n defaultExpandAllRows: PropTypes.looseBool,\n defaultExpandedRowKeys: PropTypes.array,\n expandIconColumnIndex: PropTypes.number,\n expandedRowRender: PropTypes.func,\n childrenColumnName: PropTypes.string,\n indentSize: PropTypes.number,\n expandRowByClick: PropTypes.looseBool,\n expandIcon: PropTypes.func,\n tableLayout: PropTypes.string,\n transformCellText: PropTypes.func\n }, {\n data: [],\n useFixedHeader: false,\n rowKey: 'key',\n rowClassName: function rowClassName() {\n return '';\n },\n prefixCls: 'rc-table',\n bodyStyle: {},\n showHeader: true,\n scroll: {},\n rowRef: function rowRef() {\n return null;\n },\n emptyText: function emptyText() {\n return 'No Data';\n },\n customHeaderRow: function customHeaderRow() {}\n }),\n setup: function setup(props) {\n var columnManager = useColumnManager(toRef(props, 'columns'));\n var colsKeys = computed(function () {\n return getColumnsKey(columnManager.leafColumns.value);\n });\n\n var _useLayoutState = useLayoutState(new Map()),\n _useLayoutState2 = _slicedToArray(_useLayoutState, 2),\n colsWidths = _useLayoutState2[0],\n updateColsWidths = _useLayoutState2[1];\n\n var pureColWidths = computed(function () {\n return colsKeys.value.map(function (columnKey) {\n return colsWidths.value.get(columnKey);\n });\n });\n var stickyOffsets = useStickyOffsets(pureColWidths, columnManager.leafColumns);\n\n var onColumnResize = function onColumnResize(columnKey, width) {\n updateColsWidths(function (widths) {\n if (widths.get(columnKey) !== width) {\n var newWidths = new Map(widths);\n newWidths.set(columnKey, width);\n return newWidths;\n }\n\n return widths;\n });\n };\n\n var fixedInfoList = computed(function () {\n return columnManager.leafColumns.value.map(function (_, colIndex) {\n return getCellFixedInfo(colIndex, colIndex, columnManager.leafColumns.value, stickyOffsets.value);\n });\n });\n var store = reactive({\n currentHoverKey: null,\n fixedColumnsHeadRowsHeight: [],\n fixedColumnsBodyRowsHeight: {},\n expandedRowsHeight: {},\n expandedRowKeys: [],\n columnManager: columnManager,\n fixedInfoList: fixedInfoList,\n stickyOffsets: stickyOffsets\n });\n provide('table-store', store);\n var bodyRef = ref();\n var pingedLeft = ref(false);\n var pingedRight = ref(false);\n var horizonScroll = computed(function () {\n return props.scroll && validateValue(props.scroll.x);\n });\n\n var onScroll = function onScroll(currentTarget) {\n var scrollWidth = currentTarget.scrollWidth,\n clientWidth = currentTarget.clientWidth,\n scrollLeft = currentTarget.scrollLeft;\n pingedLeft.value = scrollLeft > 0;\n pingedRight.value = scrollLeft < scrollWidth - clientWidth;\n };\n\n onUpdated(function () {\n nextTick(function () {\n horizonScroll.value && onScroll(bodyRef.value.$el);\n });\n });\n onMounted(function () {\n nextTick(function () {\n horizonScroll.value && onScroll(bodyRef.value.$el);\n });\n });\n\n var onFullTableResize = function onFullTableResize() {\n horizonScroll.value && onScroll(bodyRef.value.$el);\n };\n\n return {\n bodyRef: bodyRef,\n store: store,\n onColumnResize: onColumnResize,\n columnManager: columnManager,\n onScroll: onScroll,\n pingedLeft: pingedLeft,\n pingedRight: pingedRight,\n onFullTableResize: onFullTableResize\n };\n },\n data: function data() {\n this.preData = _toConsumableArray(this.data);\n return {\n sComponents: markRaw(merge({\n table: 'table',\n header: {\n wrapper: 'thead',\n row: 'tr',\n cell: 'th'\n },\n body: {\n wrapper: 'tbody',\n row: 'tr',\n cell: 'td'\n }\n }, this.components))\n };\n },\n computed: {\n dataLen: function dataLen() {\n return this.$props.data.length;\n }\n },\n watch: {\n components: function components() {\n this._components = merge({\n table: 'table',\n header: {\n wrapper: 'thead',\n row: 'tr',\n cell: 'th'\n },\n body: {\n wrapper: 'tbody',\n row: 'tr',\n cell: 'td'\n }\n }, this.components);\n },\n dataLen: function dataLen(val, preVal) {\n var _this = this;\n\n if ((val === 0 || preVal === 0) && this.hasScrollX()) {\n nextTick(function () {\n _this.resetScrollX();\n });\n }\n }\n },\n created: function created() {\n provide('table', this);\n this.setScrollPosition('left');\n this.debouncedWindowResize = debounce(this.handleWindowResize, 150);\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.$nextTick(function () {\n if (_this2.columnManager.isAnyColumnsFixed.value) {\n _this2.handleWindowResize();\n\n _this2.resizeEvent = addEventListener(window, 'resize', _this2.debouncedWindowResize);\n } // https://github.com/ant-design/ant-design/issues/11635\n\n\n if (_this2.ref_headTable) {\n _this2.ref_headTable.scrollLeft = 0;\n }\n\n if (_this2.ref_bodyTable) {\n _this2.ref_bodyTable.scrollLeft = 0;\n }\n });\n },\n updated: function updated() {\n var _this3 = this;\n\n this.$nextTick(function () {\n if (_this3.columnManager.isAnyColumnsFixed.value) {\n _this3.handleWindowResize();\n\n if (!_this3.resizeEvent) {\n _this3.resizeEvent = addEventListener(window, 'resize', _this3.debouncedWindowResize);\n }\n }\n });\n },\n beforeUnmount: function beforeUnmount() {\n if (this.resizeEvent) {\n this.resizeEvent.remove();\n }\n\n if (this.debouncedWindowResize) {\n this.debouncedWindowResize.cancel();\n }\n },\n methods: {\n getRowKey: function getRowKey(record, index) {\n var rowKey = this.rowKey;\n var key = typeof rowKey === 'function' ? rowKey(record, index) : record[rowKey];\n warning(key !== undefined, 'Each record in table should have a unique `key` prop,' + 'or set `rowKey` to an unique primary key.');\n return key === undefined ? index : key;\n },\n setScrollPosition: function setScrollPosition(position) {\n this.scrollPosition = position;\n\n if (this.tableNode) {\n var prefixCls = this.prefixCls;\n\n if (position === 'both') {\n classes(this.tableNode).remove(new RegExp(\"^\".concat(prefixCls, \"-scroll-position-.+$\"))).add(\"\".concat(prefixCls, \"-scroll-position-left\")).add(\"\".concat(prefixCls, \"-scroll-position-right\"));\n } else {\n classes(this.tableNode).remove(new RegExp(\"^\".concat(prefixCls, \"-scroll-position-.+$\"))).add(\"\".concat(prefixCls, \"-scroll-position-\").concat(position));\n }\n }\n },\n setScrollPositionClassName: function setScrollPositionClassName() {\n var node = this.ref_bodyTable;\n var scrollToLeft = node.scrollLeft === 0;\n var scrollToRight = node.scrollLeft + 1 >= node.children[0].getBoundingClientRect().width - node.getBoundingClientRect().width;\n\n if (scrollToLeft && scrollToRight) {\n this.setScrollPosition('both');\n } else if (scrollToLeft) {\n this.setScrollPosition('left');\n } else if (scrollToRight) {\n this.setScrollPosition('right');\n } else if (this.scrollPosition !== 'middle') {\n this.setScrollPosition('middle');\n }\n },\n isTableLayoutFixed: function isTableLayoutFixed() {\n var _this$$props = this.$props,\n tableLayout = _this$$props.tableLayout,\n _this$$props$columns = _this$$props.columns,\n columns = _this$$props$columns === void 0 ? [] : _this$$props$columns,\n useFixedHeader = _this$$props.useFixedHeader,\n _this$$props$scroll = _this$$props.scroll,\n scroll = _this$$props$scroll === void 0 ? {} : _this$$props$scroll;\n\n if (typeof tableLayout !== 'undefined') {\n return tableLayout === 'fixed';\n } // if one column is ellipsis, use fixed table layout to fix align issue\n\n\n if (columns.some(function (_ref) {\n var ellipsis = _ref.ellipsis;\n return !!ellipsis;\n })) {\n return true;\n } // if header fixed, use fixed table layout to fix align issue\n\n\n if (useFixedHeader || scroll.y) {\n return true;\n } // if scroll.x is number/px/% width value, we should fixed table layout\n // to avoid long word layout broken issue\n\n\n if (scroll.x && scroll.x !== true && scroll.x !== 'max-content') {\n return true;\n }\n\n return false;\n },\n handleWindowResize: function handleWindowResize() {\n this.syncFixedTableRowHeight();\n this.setScrollPositionClassName();\n },\n syncFixedTableRowHeight: function syncFixedTableRowHeight() {\n var tableRect = this.tableNode.getBoundingClientRect(); // If tableNode's height less than 0, suppose it is hidden and don't recalculate rowHeight.\n // see: https://github.com/ant-design/ant-design/issues/4836\n\n if (tableRect.height !== undefined && tableRect.height <= 0) {\n return;\n }\n\n var prefixCls = this.prefixCls;\n var headRows = this.ref_headTable ? this.ref_headTable.querySelectorAll('thead') : this.ref_bodyTable.querySelectorAll('thead');\n var bodyRows = this.ref_bodyTable.querySelectorAll(\".\".concat(prefixCls, \"-row\")) || [];\n var fixedColumnsHeadRowsHeight = [].map.call(headRows, function (row) {\n return row.getBoundingClientRect().height ? row.getBoundingClientRect().height - 0.5 : 'auto';\n });\n var state = this.store;\n var fixedColumnsBodyRowsHeight = [].reduce.call(bodyRows, function (acc, row) {\n var rowKey = row.getAttribute('data-row-key');\n var height = row.getBoundingClientRect().height || state.fixedColumnsBodyRowsHeight[rowKey] || 'auto';\n acc[rowKey] = height;\n return acc;\n }, {});\n\n if (shallowequal(state.fixedColumnsHeadRowsHeight, fixedColumnsHeadRowsHeight) && shallowequal(state.fixedColumnsBodyRowsHeight, fixedColumnsBodyRowsHeight)) {\n return;\n }\n\n this.store.fixedColumnsHeadRowsHeight = fixedColumnsHeadRowsHeight;\n this.store.fixedColumnsBodyRowsHeight = fixedColumnsBodyRowsHeight;\n },\n resetScrollX: function resetScrollX() {\n if (this.ref_headTable) {\n this.ref_headTable.scrollLeft = 0;\n }\n\n if (this.ref_bodyTable) {\n this.ref_bodyTable.scrollLeft = 0;\n }\n },\n hasScrollX: function hasScrollX() {\n var _this$scroll = this.scroll,\n scroll = _this$scroll === void 0 ? {} : _this$scroll;\n return 'x' in scroll;\n },\n handleBodyScrollLeft: function handleBodyScrollLeft(e) {\n var target = e.target;\n var _this$scroll2 = this.scroll,\n scroll = _this$scroll2 === void 0 ? {} : _this$scroll2;\n var ref_headTable = this.ref_headTable,\n ref_bodyTable = this.ref_bodyTable;\n\n if (target.scrollLeft !== this.lastScrollLeft && scroll.x) {\n if (target === ref_bodyTable && ref_headTable) {\n ref_headTable.scrollLeft = target.scrollLeft;\n } else if (target === ref_headTable && ref_bodyTable) {\n ref_bodyTable.scrollLeft = target.scrollLeft;\n }\n\n this.setScrollPositionClassName();\n } // Remember last scrollLeft for scroll direction detecting.\n\n\n this.lastScrollLeft = target.scrollLeft;\n },\n handleBodyScrollTop: function handleBodyScrollTop(e) {\n var target = e.target; // Fix https://github.com/ant-design/ant-design/issues/9033\n\n if (e.currentTarget !== target) {\n return;\n }\n\n var _this$scroll3 = this.scroll,\n scroll = _this$scroll3 === void 0 ? {} : _this$scroll3;\n var ref_headTable = this.ref_headTable,\n ref_bodyTable = this.ref_bodyTable,\n ref_fixedColumnsBodyLeft = this.ref_fixedColumnsBodyLeft,\n ref_fixedColumnsBodyRight = this.ref_fixedColumnsBodyRight;\n\n if (target.scrollTop !== this.lastScrollTop && scroll.y && target !== ref_headTable) {\n var scrollTop = target.scrollTop;\n\n if (ref_fixedColumnsBodyLeft && target !== ref_fixedColumnsBodyLeft) {\n ref_fixedColumnsBodyLeft.scrollTop = scrollTop;\n }\n\n if (ref_fixedColumnsBodyRight && target !== ref_fixedColumnsBodyRight) {\n ref_fixedColumnsBodyRight.scrollTop = scrollTop;\n }\n\n if (ref_bodyTable && target !== ref_bodyTable) {\n ref_bodyTable.scrollTop = scrollTop;\n }\n } // Remember last scrollTop for scroll direction detecting.\n\n\n this.lastScrollTop = target.scrollTop;\n },\n handleBodyScroll: function handleBodyScroll(e) {\n this.onScroll(e.target);\n this.handleBodyScrollLeft(e);\n this.handleBodyScrollTop(e);\n },\n handleWheel: function handleWheel(event) {\n var _this$$props$scroll2 = this.$props.scroll,\n scroll = _this$$props$scroll2 === void 0 ? {} : _this$$props$scroll2;\n\n if (window.navigator.userAgent.match(/Trident\\/7\\./) && scroll.y) {\n event.preventDefault();\n var wd = event.deltaY;\n var target = event.target;\n var bodyTable = this.ref_bodyTable,\n fixedColumnsBodyLeft = this.ref_fixedColumnsBodyLeft,\n fixedColumnsBodyRight = this.ref_fixedColumnsBodyRight;\n var scrollTop = 0;\n\n if (this.lastScrollTop) {\n scrollTop = this.lastScrollTop + wd;\n } else {\n scrollTop = wd;\n }\n\n if (fixedColumnsBodyLeft && target !== fixedColumnsBodyLeft) {\n fixedColumnsBodyLeft.scrollTop = scrollTop;\n }\n\n if (fixedColumnsBodyRight && target !== fixedColumnsBodyRight) {\n fixedColumnsBodyRight.scrollTop = scrollTop;\n }\n\n if (bodyTable && target !== bodyTable) {\n bodyTable.scrollTop = scrollTop;\n }\n }\n },\n // saveChildrenRef(name, node) {\n // this[`ref_${name}`] = node;\n // },\n saveRef: function saveRef(name) {\n var _this4 = this;\n\n return function (node) {\n _this4[\"ref_\".concat(name)] = node;\n };\n },\n saveTableNodeRef: function saveTableNodeRef(node) {\n this.tableNode = node;\n },\n renderMainTable: function renderMainTable() {\n var scroll = this.scroll,\n prefixCls = this.prefixCls;\n var isAnyColumnsFixed = this.columnManager.isAnyColumnsFixed.value;\n var scrollable = isAnyColumnsFixed || scroll.x || scroll.y;\n var table = [this.renderTable({\n columns: this.columnManager.groupedColumns.value,\n isAnyColumnsFixed: isAnyColumnsFixed\n }), this.renderEmptyText(), this.renderFooter()];\n return scrollable ? _createVNode(ResizeObserver, {\n \"onResize\": this.onFullTableResize\n }, {\n default: function _default() {\n return [_createVNode(\"div\", {\n \"class\": \"\".concat(prefixCls, \"-scroll\")\n }, [table])];\n }\n }) : table;\n },\n renderTable: function renderTable(options) {\n var columns = options.columns,\n isAnyColumnsFixed = options.isAnyColumnsFixed;\n var prefixCls = this.prefixCls,\n _this$scroll4 = this.scroll,\n scroll = _this$scroll4 === void 0 ? {} : _this$scroll4;\n var tableClassName = scroll.x ? \"\".concat(prefixCls, \"-fixed\") : '';\n\n var headTable = _createVNode(HeadTable, {\n \"key\": \"head\",\n \"columns\": columns,\n \"tableClassName\": tableClassName,\n \"handleBodyScrollLeft\": this.handleBodyScrollLeft,\n \"expander\": this.expander\n }, null);\n\n var bodyTable = _createVNode(BodyTable, {\n \"key\": \"body\",\n \"columns\": columns,\n \"tableClassName\": tableClassName,\n \"getRowKey\": this.getRowKey,\n \"handleWheel\": this.handleWheel,\n \"handleBodyScroll\": this.handleBodyScroll,\n \"expander\": this.expander,\n \"isAnyColumnsFixed\": isAnyColumnsFixed,\n \"ref\": \"bodyRef\"\n }, null);\n\n return [headTable, bodyTable];\n },\n renderTitle: function renderTitle() {\n var title = this.title,\n prefixCls = this.prefixCls,\n data = this.data;\n return title ? _createVNode(\"div\", {\n \"class\": \"\".concat(prefixCls, \"-title\"),\n \"key\": \"title\"\n }, [title(data)]) : null;\n },\n renderFooter: function renderFooter() {\n var footer = this.footer,\n prefixCls = this.prefixCls,\n data = this.data;\n return footer ? _createVNode(\"div\", {\n \"class\": \"\".concat(prefixCls, \"-footer\"),\n \"key\": \"footer\"\n }, [footer(data)]) : null;\n },\n renderEmptyText: function renderEmptyText() {\n var emptyText = this.emptyText,\n prefixCls = this.prefixCls,\n data = this.data;\n\n if (data.length) {\n return null;\n }\n\n var emptyClassName = \"\".concat(prefixCls, \"-placeholder\");\n return _createVNode(\"div\", {\n \"class\": emptyClassName,\n \"key\": \"emptyText\"\n }, [typeof emptyText === 'function' ? emptyText() : emptyText]);\n }\n },\n render: function render() {\n var _classNames,\n _this5 = this;\n\n var props = _extends(_extends({}, getOptionProps(this)), this.$attrs);\n\n var columnManager = this.columnManager,\n getRowKey = this.getRowKey;\n var prefixCls = props.prefixCls;\n var tableClassName = classNames(props.prefixCls, props.class, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-fixed-header\"), props.useFixedHeader || props.scroll && props.scroll.y), _defineProperty(_classNames, \"\".concat(prefixCls, \"-scroll-position-left \").concat(prefixCls, \"-scroll-position-right\"), this.scrollPosition === 'both'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-scroll-position-\").concat(this.scrollPosition), this.scrollPosition !== 'both'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-layout-fixed\"), this.isTableLayoutFixed()), _defineProperty(_classNames, \"\".concat(prefixCls, \"-ping-left\"), this.pingedLeft), _defineProperty(_classNames, \"\".concat(prefixCls, \"-ping-right\"), this.pingedRight), _classNames));\n var dataAndAriaProps = getDataAndAriaProps(props);\n\n var expandableTableProps = _extends(_extends({}, props), {\n columnManager: columnManager,\n getRowKey: getRowKey\n });\n\n return _createVNode(ExpandableTable, expandableTableProps, {\n default: function _default(expander) {\n _this5.expander = expander;\n return _createVNode(\"div\", _objectSpread({\n \"ref\": _this5.saveTableNodeRef,\n \"class\": tableClassName,\n \"style\": props.style,\n \"id\": props.id\n }, dataAndAriaProps), [_this5.renderTitle(), _createVNode(\"div\", {\n \"class\": \"\".concat(prefixCls, \"-content\")\n }, [_this5.renderMainTable()])]);\n }\n });\n }\n});","// base rc-table 6.10.9\nimport Table from './src/Table';\nimport Column from './src/Column';\nimport ColumnGroup from './src/ColumnGroup';\nimport { INTERNAL_COL_DEFINE } from './src/utils'; // const Table = {\n// name: 'Table',\n// inheritAttrs: false,\n// Column,\n// ColumnGroup,\n// props: T.props,\n// methods: {\n// getTableNode() {\n// return this.table.tableNode;\n// },\n// getBodyTable() {\n// return this.table.ref_bodyTable;\n// },\n// saveTable(node) {\n// this.table = node;\n// },\n// },\n// render() {\n// const props = getOptionProps(this);\n// const columns = props.columns;\n// const tProps = {\n// ...props,\n// ...this.$attrs,\n// columns,\n// ref: this.saveTable,\n// };\n// return ;\n// },\n// };\n\nexport default Table;\nexport { Column, ColumnGroup, INTERNAL_COL_DEFINE };","import { createVNode as _createVNode } from \"vue\";\n\nvar FilterDropdownMenuWrapper = function FilterDropdownMenuWrapper(props, _ref) {\n var slots = _ref.slots;\n\n var _a;\n\n return _createVNode(\"div\", {\n \"class\": props.class,\n \"onClick\": function onClick(e) {\n return e.stopPropagation();\n }\n }, [(_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)]);\n};\n\nFilterDropdownMenuWrapper.inheritAttrs = false;\nexport default FilterDropdownMenuWrapper;","import PropTypes, { withUndefined } from '../_util/vue-types';\nimport { paginationProps as getPaginationProps, paginationConfig } from '../pagination';\nimport { getSpinProps } from '../spin';\nimport { tuple } from '../_util/type';\nvar PaginationProps = getPaginationProps();\nexport var ColumnFilterItem = PropTypes.shape({\n text: PropTypes.string,\n value: PropTypes.string,\n children: PropTypes.array\n}).loose;\nexport var columnProps = {\n title: PropTypes.VNodeChild,\n key: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n dataIndex: PropTypes.string,\n customRender: PropTypes.func,\n customCell: PropTypes.func,\n customHeaderCell: PropTypes.func,\n align: PropTypes.oneOf(tuple('left', 'right', 'center')),\n ellipsis: PropTypes.looseBool,\n filters: PropTypes.arrayOf(ColumnFilterItem),\n onFilter: {\n type: Function\n },\n filterMultiple: PropTypes.looseBool,\n filterDropdown: PropTypes.any,\n filterDropdownVisible: PropTypes.looseBool,\n onFilterDropdownVisibleChange: {\n type: Function\n },\n sorter: PropTypes.oneOfType([PropTypes.looseBool, PropTypes.func]),\n defaultSortOrder: PropTypes.oneOf(tuple('ascend', 'descend')),\n colSpan: PropTypes.number,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n className: PropTypes.string,\n fixed: withUndefined(PropTypes.oneOfType([PropTypes.looseBool, PropTypes.oneOf(tuple('left', 'right'))])),\n filterIcon: PropTypes.any,\n filteredValue: PropTypes.array,\n filtered: PropTypes.looseBool,\n defaultFilteredValue: PropTypes.array,\n sortOrder: withUndefined(PropTypes.oneOfType([PropTypes.looseBool, PropTypes.oneOf(tuple('ascend', 'descend'))])),\n sortDirections: PropTypes.array // children?: ColumnProps[];\n // onCellClick?: (record: T, event: any) => void;\n // onCell?: (record: T) => any;\n // onHeaderCell?: (props: ColumnProps) => any;\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;\nexport var RowSelectionType = PropTypes.oneOf(tuple('checkbox', 'radio')); // 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: withUndefined(PropTypes.oneOfType([PropTypes.array, PropTypes.looseBool])),\n hideDefaultSelections: PropTypes.looseBool,\n fixed: PropTypes.looseBool,\n columnWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectWay: PropTypes.oneOf(tuple('onSelect', 'onSelectMultiple', 'onSelectAll', 'onSelectInvert')),\n columnTitle: PropTypes.any\n};\nvar paginationProps = paginationConfig();\nexport var tableProps = {\n prefixCls: PropTypes.string,\n dropdownPrefixCls: PropTypes.string,\n rowSelection: PropTypes.oneOfType([PropTypes.shape(tableRowSelection).loose, Object]),\n pagination: withUndefined(PropTypes.oneOfType([PropTypes.shape(paginationProps).loose, PropTypes.looseBool])),\n size: PropTypes.oneOf(tuple('default', 'middle', 'small', 'large')),\n dataSource: PropTypes.array,\n components: PropTypes.object,\n columns: {\n type: Array\n },\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n rowClassName: PropTypes.func,\n expandedRowRender: PropTypes.any,\n defaultExpandAllRows: PropTypes.looseBool,\n defaultExpandedRowKeys: PropTypes.array,\n expandedRowKeys: PropTypes.array,\n expandIconAsCell: PropTypes.looseBool,\n expandIconColumnIndex: PropTypes.number,\n expandRowByClick: PropTypes.looseBool,\n loading: PropTypes.oneOfType([PropTypes.shape(getSpinProps()).loose, PropTypes.looseBool]),\n locale: TableLocale,\n indentSize: PropTypes.number,\n customRow: PropTypes.func,\n customHeaderRow: PropTypes.func,\n useFixedHeader: PropTypes.looseBool,\n bordered: PropTypes.looseBool,\n showHeader: PropTypes.looseBool,\n footer: PropTypes.func,\n title: PropTypes.func,\n scroll: {\n type: Object\n },\n childrenColumnName: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n bodyStyle: PropTypes.style,\n sortDirections: {\n type: Array\n },\n tableLayout: PropTypes.string,\n getPopupContainer: PropTypes.func,\n expandIcon: PropTypes.func,\n transformCellText: PropTypes.func,\n onExpandedRowsChange: PropTypes.func,\n onExpand: PropTypes.func,\n onChange: PropTypes.func,\n onRowClick: PropTypes.func // style?: React.CSSProperties;\n // children?: React.ReactNode;\n\n};\nexport var SelectionCheckboxAllProps = {\n propsSymbol: PropTypes.any,\n store: PropTypes.any,\n locale: PropTypes.any,\n disabled: PropTypes.looseBool,\n getCheckboxPropsByItem: PropTypes.func,\n getRecordKey: PropTypes.func,\n data: PropTypes.array,\n prefixCls: PropTypes.string,\n hideDefaultSelections: PropTypes.looseBool,\n selections: PropTypes.oneOfType([PropTypes.array, PropTypes.looseBool]),\n getPopupContainer: PropTypes.func,\n onSelect: PropTypes.func\n}; // export interface SelectionCheckboxAllState {\n// checked: PropTypes.looseBool,\n// indeterminate: PropTypes.looseBool,\n// }\n\nexport var SelectionBoxProps = {\n store: PropTypes.any,\n type: RowSelectionType,\n defaultSelection: PropTypes.array,\n rowIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n name: PropTypes.string,\n disabled: PropTypes.looseBool,\n id: PropTypes.string // onChange: React.ChangeEventHandler;\n\n}; // export interface SelectionBoxState {\n// checked?: PropTypes.looseBool,\n// }\n\nexport var FilterMenuProps = {\n locale: TableLocale,\n selectedKeys: PropTypes.array,\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}; // export interface FilterMenuState {\n// selectedKeys: string[];\n// keyPathOfSelectedItem: { [key: string]: string };\n// visible?: PropTypes.looseBool,\n// }","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { nextTick } from 'vue';\nimport { getOptionProps } from './props-util';\nexport default {\n methods: {\n setState: function setState() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n var newState = typeof state === 'function' ? state(this, this.$props) : state;\n\n if (this.getDerivedStateFromProps) {\n var s = this.getDerivedStateFromProps(getOptionProps(this), _extends(_extends({}, this), newState));\n\n if (s === null) {\n return;\n } else {\n newState = _extends(_extends({}, newState), s || {});\n }\n }\n\n _extends(this, newState);\n\n if (this._.isMounted) {\n this.$forceUpdate();\n }\n\n nextTick(function () {\n callback && callback();\n });\n },\n __emit: function __emit() {\n // 直接调用事件,底层组件不需要vueTool记录events\n var args = [].slice.call(arguments, 0);\n var eventName = args[0];\n eventName = \"on\".concat(eventName[0].toUpperCase()).concat(eventName.substring(1));\n var event = this.$props[eventName] || this.$attrs[eventName];\n\n if (args.length && event) {\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n event[i].apply(event, _toConsumableArray(args.slice(1)));\n }\n } else {\n event.apply(void 0, _toConsumableArray(args.slice(1)));\n }\n }\n }\n }\n};","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _extends from \"@babel/runtime/helpers/esm/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 var result = [];\n\n var loop = function loop(array) {\n array.forEach(function (item) {\n if (item[childrenName]) {\n var newItem = _extends({}, item);\n\n delete newItem[childrenName];\n result.push(newItem);\n\n if (item[childrenName].length > 0) {\n loop(item[childrenName]);\n }\n } else {\n result.push(item);\n }\n });\n };\n\n loop(data);\n return result;\n}\nexport function treeMap(tree, mapper) {\n var childrenName = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'children';\n return tree.map(function (node, index) {\n var extra = {};\n\n if (node[childrenName]) {\n extra[childrenName] = treeMap(node[childrenName], mapper, childrenName);\n }\n\n return _extends(_extends({}, mapper(node, index)), extra);\n });\n}\nexport function flatFilter(tree, callback) {\n return tree.reduce(function (acc, node) {\n if (callback(node)) {\n acc.push(node);\n }\n\n if (node.children) {\n var children = flatFilter(node.children, callback);\n acc.push.apply(acc, _toConsumableArray(children));\n }\n\n return acc;\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 (items || []).forEach(function (_ref) {\n var value = _ref.value,\n children = _ref.children;\n maps[value.toString()] = value;\n generateValueMaps(children, maps);\n });\n return maps;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { createVNode as _createVNode } from \"vue\";\nimport { reactive, defineComponent, nextTick, computed, watch } from 'vue';\nimport FilterFilled from '@ant-design/icons-vue/FilterFilled';\nimport Menu, { SubMenu, MenuItem } from '../menu';\nimport classNames from '../_util/classNames';\nimport shallowequal from '../_util/shallowequal';\nimport Dropdown from '../dropdown';\nimport Checkbox from '../checkbox';\nimport Radio from '../radio';\nimport FilterDropdownMenuWrapper from './FilterDropdownMenuWrapper';\nimport { FilterMenuProps } from './interface';\nimport { isValidElement } from '../_util/props-util';\nimport initDefaultProps from '../_util/props-util/initDefaultProps';\nimport { cloneElement } from '../_util/vnode';\nimport BaseMixin2 from '../_util/BaseMixin2';\nimport { generateValueMaps } from './util';\n\nfunction stopPropagation(e) {\n e.stopPropagation();\n}\n\nexport default defineComponent({\n name: 'FilterMenu',\n mixins: [BaseMixin2],\n inheritAttrs: false,\n props: initDefaultProps(FilterMenuProps, {\n column: {}\n }),\n setup: function setup(props) {\n var sSelectedKeys = computed(function () {\n return props.selectedKeys;\n });\n var sVisible = computed(function () {\n return 'filterDropdownVisible' in props.column ? props.column.filterDropdownVisible : false;\n });\n var sValueKeys = computed(function () {\n return generateValueMaps(props.column.filters);\n });\n var state = reactive({\n neverShown: false,\n sSelectedKeys: sSelectedKeys.value,\n sKeyPathOfSelectedItem: {},\n sVisible: sVisible.value,\n sValueKeys: sValueKeys.value\n });\n watch(sSelectedKeys, function () {\n state.sSelectedKeys = sSelectedKeys.value;\n });\n watch(sVisible, function () {\n state.sVisible = sVisible.value;\n });\n watch(sValueKeys, function () {\n state.sValueKeys = sValueKeys.value;\n }); // watchEffect(\n // () => {\n // const { column } = nextProps;\n // if (!shallowequal(preProps.selectedKeys, nextProps.selectedKeys)) {\n // state.sSelectedKeys = nextProps.selectedKeys;\n // }\n // if (!shallowequal((preProps.column || {}).filters, (nextProps.column || {}).filters)) {\n // state.sValueKeys = generateValueMaps(nextProps.column.filters);\n // }\n // if ('filterDropdownVisible' in column) {\n // state.sVisible = column.filterDropdownVisible;\n // }\n // preProps = { ...nextProps };\n // },\n // { flush: 'sync' },\n // );\n\n return state;\n },\n methods: {\n getDropdownVisible: function getDropdownVisible() {\n return !!this.sVisible;\n },\n setSelectedKeys: function setSelectedKeys(_ref) {\n var selectedKeys = _ref.selectedKeys;\n this.setState({\n sSelectedKeys: selectedKeys\n });\n },\n setVisible: function setVisible(visible) {\n var column = this.column;\n\n if (!('filterDropdownVisible' in column)) {\n this.setState({\n sVisible: visible\n });\n }\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 this.setVisible(false); // 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\n this.$forceUpdate();\n nextTick(this.confirmFilter2);\n },\n onVisibleChange: function onVisibleChange(visible) {\n this.setVisible(visible);\n var column = this.$props.column; // 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.sSelectedKeys;\n\n if (!info.keyPath || info.keyPath.length <= 1) {\n return;\n }\n\n var keyPathOfSelectedItem = this.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\n this.setState({\n sKeyPathOfSelectedItem: keyPathOfSelectedItem\n });\n },\n hasSubMenu: function hasSubMenu() {\n var _this$column$filters = this.column.filters,\n filters = _this$column$filters === void 0 ? [] : _this$column$filters;\n return filters.some(function (item) {\n return !!(item.children && item.children.length > 0);\n });\n },\n confirmFilter2: function confirmFilter2() {\n var _this$$props = this.$props,\n column = _this$$props.column,\n propSelectedKeys = _this$$props.selectedKeys,\n confirmFilter = _this$$props.confirmFilter;\n var selectedKeys = this.sSelectedKeys,\n valueKeys = this.sValueKeys;\n var filterDropdown = column.filterDropdown;\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 _this = this;\n\n var _this$$props2 = this.$props,\n dropdownPrefixCls = _this$$props2.dropdownPrefixCls,\n prefixCls = _this$$props2.prefixCls;\n return items.map(function (item) {\n if (item.children && item.children.length > 0) {\n var sKeyPathOfSelectedItem = _this.sKeyPathOfSelectedItem;\n var containSelected = Object.keys(sKeyPathOfSelectedItem).some(function (key) {\n return sKeyPathOfSelectedItem[key].indexOf(item.value) >= 0;\n });\n var subMenuCls = classNames(\"\".concat(prefixCls, \"-dropdown-submenu\"), _defineProperty({}, \"\".concat(dropdownPrefixCls, \"-submenu-contain-selected\"), containSelected));\n return _createVNode(SubMenu, {\n \"title\": item.text,\n \"popupClassName\": subMenuCls,\n \"key\": item.value\n }, {\n default: function _default() {\n return [_this.renderMenus(item.children)];\n }\n });\n }\n\n return _this.renderMenuItem(item);\n });\n },\n renderFilterIcon: function renderFilterIcon() {\n var _classNames2;\n\n var _a, _b;\n\n var column = this.column,\n locale = this.locale,\n prefixCls = this.prefixCls,\n selectedKeys = this.selectedKeys;\n var filtered = selectedKeys && selectedKeys.length > 0;\n var filterIcon = column.filterIcon;\n\n if (typeof filterIcon === 'function') {\n filterIcon = filterIcon({\n filtered: filtered,\n column: column\n });\n }\n\n var dropdownIconClass = classNames((_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-selected\"), 'filtered' in column ? column.filtered : filtered), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-open\"), this.getDropdownVisible()), _classNames2));\n\n if (!filterIcon) {\n return _createVNode(FilterFilled, {\n \"title\": locale.filterTitle,\n \"class\": dropdownIconClass,\n \"onClick\": stopPropagation\n }, null);\n }\n\n if (filterIcon.length === 1 && isValidElement(filterIcon[0])) {\n return cloneElement(filterIcon[0], {\n title: ((_a = filterIcon.props) === null || _a === void 0 ? void 0 : _a.title) || locale.filterTitle,\n onClick: stopPropagation,\n class: classNames(\"\".concat(prefixCls, \"-icon\"), dropdownIconClass, (_b = filterIcon.props) === null || _b === void 0 ? void 0 : _b.class)\n });\n }\n\n return _createVNode(\"span\", {\n \"class\": classNames(\"\".concat(prefixCls, \"-icon\"), dropdownIconClass),\n \"onClick\": stopPropagation\n }, [filterIcon]);\n },\n renderMenuItem: function renderMenuItem(item) {\n var column = this.column;\n var selectedKeys = this.sSelectedKeys;\n var multiple = 'filterMultiple' in column ? column.filterMultiple : true;\n var input = multiple ? _createVNode(Checkbox, {\n \"checked\": selectedKeys && selectedKeys.indexOf(item.value) >= 0\n }, null) : _createVNode(Radio, {\n \"checked\": selectedKeys && selectedKeys.indexOf(item.value) >= 0\n }, null);\n return _createVNode(MenuItem, {\n \"key\": item.value\n }, {\n default: function _default() {\n return [input, _createVNode(\"span\", null, [item.text])];\n }\n });\n }\n },\n render: function render() {\n var _this2 = this;\n\n var originSelectedKeys = this.sSelectedKeys;\n var column = this.column,\n locale = this.locale,\n prefixCls = this.prefixCls,\n dropdownPrefixCls = this.dropdownPrefixCls,\n getPopupContainer = this.getPopupContainer; // default multiple selection in filter dropdown\n\n var multiple = 'filterMultiple' in column ? column.filterMultiple : true;\n var dropdownMenuClass = classNames(_defineProperty({}, \"\".concat(dropdownPrefixCls, \"-menu-without-submenu\"), !this.hasSubMenu()));\n var filterDropdown = column.filterDropdown;\n\n if (filterDropdown instanceof Function) {\n filterDropdown = filterDropdown({\n prefixCls: \"\".concat(dropdownPrefixCls, \"-custom\"),\n setSelectedKeys: function setSelectedKeys(selectedKeys) {\n return _this2.setSelectedKeys({\n selectedKeys: selectedKeys\n });\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 ? _createVNode(FilterDropdownMenuWrapper, {\n \"class\": \"\".concat(prefixCls, \"-dropdown\")\n }, {\n default: function _default() {\n return [filterDropdown];\n }\n }) : _createVNode(FilterDropdownMenuWrapper, {\n \"class\": \"\".concat(prefixCls, \"-dropdown\")\n }, {\n default: function _default() {\n return [_createVNode(Menu, {\n \"multiple\": multiple,\n \"onClick\": _this2.handleMenuItemClick,\n \"prefixCls\": \"\".concat(dropdownPrefixCls, \"-menu\"),\n \"class\": dropdownMenuClass,\n \"onSelect\": _this2.setSelectedKeys,\n \"onDeselect\": _this2.setSelectedKeys,\n \"selectedKeys\": originSelectedKeys,\n \"getPopupContainer\": getPopupContainer\n }, {\n default: function _default() {\n return [_this2.renderMenus(column.filters)];\n }\n }), _createVNode(\"div\", {\n \"class\": \"\".concat(prefixCls, \"-dropdown-btns\")\n }, [_createVNode(\"a\", {\n \"class\": \"\".concat(prefixCls, \"-dropdown-link confirm\"),\n \"onClick\": _this2.handleConfirm\n }, [locale.filterConfirm]), _createVNode(\"a\", {\n \"class\": \"\".concat(prefixCls, \"-dropdown-link clear\"),\n \"onClick\": _this2.handleClearFilters\n }, [locale.filterReset])])];\n }\n });\n return _createVNode(Dropdown, {\n \"trigger\": ['click'],\n \"placement\": \"bottomRight\",\n \"visible\": this.getDropdownVisible(),\n \"onVisibleChange\": this.onVisibleChange,\n \"getPopupContainer\": getPopupContainer,\n \"forceRender\": true,\n \"overlay\": menus\n }, {\n default: function _default() {\n return [_this2.renderFilterIcon()];\n }\n });\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport { computed, defineComponent } from 'vue';\nimport Checkbox from '../checkbox';\nimport Radio from '../radio';\nimport { SelectionBoxProps } from './interface';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getOptionProps } from '../_util/props-util';\nexport default defineComponent({\n name: 'SelectionBox',\n mixins: [BaseMixin],\n inheritAttrs: false,\n props: SelectionBoxProps,\n setup: function setup(props) {\n return {\n checked: computed(function () {\n var store = props.store,\n defaultSelection = props.defaultSelection,\n rowIndex = props.rowIndex;\n var checked = false;\n\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\n return checked;\n })\n };\n },\n render: function render() {\n var _a = _extends(_extends({}, getOptionProps(this)), this.$attrs),\n type = _a.type,\n rowIndex = _a.rowIndex,\n rest = __rest(_a, [\"type\", \"rowIndex\"]);\n\n var checked = this.checked;\n\n var checkboxProps = _extends({\n checked: checked\n }, rest);\n\n if (type === 'radio') {\n checkboxProps.value = rowIndex;\n return _createVNode(Radio, checkboxProps, null);\n }\n\n return _createVNode(Checkbox, checkboxProps, null);\n }\n});","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\nimport DownOutlined from '@ant-design/icons-vue/DownOutlined';\nimport Checkbox from '../checkbox';\nimport Dropdown from '../dropdown';\nimport Menu from '../menu';\nimport classNames from '../_util/classNames';\nimport { SelectionCheckboxAllProps } from './interface';\nimport BaseMixin from '../_util/BaseMixin';\nimport { computed, defineComponent } from 'vue';\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 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(_extends({}, props), {\n data: data,\n type: 'some',\n byDefaultChecked: false\n })) && !checkSelection(_extends(_extends({}, props), {\n data: data,\n type: 'every',\n byDefaultChecked: false\n }));\n var someCheckedByDefaultChecked = checkSelection(_extends(_extends({}, props), {\n data: data,\n type: 'some',\n byDefaultChecked: true\n })) && !checkSelection(_extends(_extends({}, props), {\n data: data,\n type: 'every',\n byDefaultChecked: true\n }));\n\n if (store.selectionDirty) {\n return someCheckedNotByDefaultChecked;\n }\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\n if (store.selectionDirty) {\n return checkSelection(_extends(_extends({}, props), {\n data: data,\n type: 'every',\n byDefaultChecked: false\n }));\n }\n\n return checkSelection(_extends(_extends({}, props), {\n data: data,\n type: 'every',\n byDefaultChecked: false\n })) || checkSelection(_extends(_extends({}, props), {\n data: data,\n type: 'every',\n byDefaultChecked: true\n }));\n}\n\nexport default defineComponent({\n name: 'SelectionCheckboxAll',\n mixins: [BaseMixin],\n inheritAttrs: false,\n props: SelectionCheckboxAllProps,\n setup: function setup(props) {\n return {\n defaultSelections: [],\n checked: computed(function () {\n return getCheckState(props);\n }),\n indeterminate: computed(function () {\n return getIndeterminateState(props);\n })\n };\n },\n created: function created() {\n var props = this.$props;\n this.defaultSelections = props.hideDefaultSelections ? [] : [{\n key: 'all',\n text: props.locale.selectAll\n }, {\n key: 'invert',\n text: props.locale.selectInvert\n }];\n },\n methods: {\n handleSelectAllChange: function handleSelectAllChange(e) {\n var checked = e.target.checked;\n this.$emit('select', checked ? 'all' : 'removeAll', 0, null);\n },\n renderMenus: function renderMenus(selections) {\n var _this = this;\n\n return selections.map(function (selection, index) {\n return _createVNode(Menu.Item, {\n \"key\": selection.key || index\n }, {\n default: function _default() {\n return [_createVNode(\"div\", {\n \"onClick\": function onClick() {\n _this.$emit('select', selection.key, index, selection.onSelect);\n }\n }, [selection.text])];\n }\n });\n });\n }\n },\n render: function render() {\n var _this2 = this;\n\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 var selectionPrefixCls = \"\".concat(prefixCls, \"-selection\");\n var customSelections = null;\n\n if (selections) {\n var newSelections = Array.isArray(selections) ? this.defaultSelections.concat(selections) : this.defaultSelections;\n\n var menu = _createVNode(Menu, {\n \"class\": \"\".concat(selectionPrefixCls, \"-menu\"),\n \"selectedKeys\": []\n }, {\n default: function _default() {\n return [_this2.renderMenus(newSelections)];\n }\n });\n\n customSelections = newSelections.length > 0 ? _createVNode(Dropdown, {\n \"getPopupContainer\": getPopupContainer,\n \"overlay\": menu\n }, {\n default: function _default() {\n return [_createVNode(\"div\", {\n \"class\": \"\".concat(selectionPrefixCls, \"-down\")\n }, [_createVNode(DownOutlined, null, null)])];\n }\n }) : null;\n }\n\n return _createVNode(\"div\", {\n \"class\": selectionPrefixCls\n }, [_createVNode(Checkbox, {\n \"class\": classNames(_defineProperty({}, \"\".concat(selectionPrefixCls, \"-select-all-custom\"), customSelections)),\n \"checked\": checked,\n \"indeterminate\": indeterminate,\n \"disabled\": disabled,\n \"onChange\": this.handleSelectAllChange\n }, null), customSelections]);\n }\n});","import { defineComponent } from 'vue';\nimport { columnProps } from './interface';\nexport default defineComponent({\n name: 'ATableColumn',\n props: columnProps,\n render: function render() {\n return null;\n }\n});","import { defineComponent } from 'vue';\nimport PropTypes, { withUndefined } from '../_util/vue-types';\nimport { tuple } from '../_util/type';\nexport default defineComponent({\n name: 'ATableColumnGroup',\n props: {\n fixed: withUndefined(PropTypes.oneOfType([PropTypes.looseBool, PropTypes.oneOf(tuple('left', 'right'))])),\n title: PropTypes.any\n },\n __ANT_TABLE_COLUMN_GROUP: true,\n render: function render() {\n return null;\n }\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\nimport PropTypes from '../_util/vue-types';\nimport { computed, defineComponent } from 'vue';\nimport { getSlot } from '../_util/props-util';\nimport omit from 'omit.js';\nvar BodyRowProps = {\n store: PropTypes.object,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n prefixCls: PropTypes.string\n};\nexport default function createBodyRow() {\n var Component = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'tr';\n var BodyRow = defineComponent({\n name: 'BodyRow',\n inheritAttrs: false,\n props: BodyRowProps,\n setup: function setup(props) {\n return {\n selected: computed(function () {\n var _a;\n\n return ((_a = props.store) === null || _a === void 0 ? void 0 : _a.selectedRowKeys.indexOf(props.rowKey)) >= 0;\n })\n };\n },\n render: function render() {\n var _className,\n _this = this;\n\n var rowProps = omit(_extends(_extends({}, this.$props), this.$attrs), ['prefixCls', 'rowKey', 'store', 'class']);\n var className = (_className = {}, _defineProperty(_className, \"\".concat(this.prefixCls, \"-row-selected\"), this.selected), _defineProperty(_className, this.$attrs.class, !!this.$attrs.class), _className);\n return _createVNode(Component, _objectSpread({\n \"class\": className\n }, rowProps), {\n default: function _default() {\n return [getSlot(_this)];\n }\n });\n }\n });\n return BodyRow;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport { defineComponent, inject, markRaw, reactive } from 'vue';\nimport CaretUpFilled from '@ant-design/icons-vue/CaretUpFilled';\nimport CaretDownFilled from '@ant-design/icons-vue/CaretDownFilled';\nimport VcTable, { INTERNAL_COL_DEFINE } from '../vc-table';\nimport classNames from '../_util/classNames';\nimport shallowEqual from '../_util/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 { getOptionProps } from '../_util/props-util';\nimport initDefaultProps from '../_util/props-util/initDefaultProps';\nimport BaseMixin from '../_util/BaseMixin';\nimport { defaultConfigProvider } from '../config-provider';\nimport { tableProps } from './interface';\nimport Pagination from '../pagination';\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';\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\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 } // https://github.com/ant-design/ant-design/issues/19398\n\n\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 * Avoid creating new object, so that parent component's shouldComponentUpdate\n * can works appropriately。\n */\n\nvar emptyObject = {};\n\nvar createComponents = function createComponents() {\n var components = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var bodyRow = components && components.body && components.body.row;\n return _extends(_extends({}, components), {\n body: _extends(_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 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\n return Object.keys(filters).some(function (columnKey) {\n return filters[columnKey] !== state.filters[columnKey];\n });\n}\n\nexport var defaultTableProps = 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});\nexport default defineComponent({\n name: 'Table',\n mixins: [BaseMixin],\n inheritAttrs: false,\n Column: Column,\n ColumnGroup: ColumnGroup,\n props: defaultTableProps,\n setup: function setup(props) {\n var store = reactive({\n selectedRowKeys: getRowSelection(props).selectedRowKeys || [],\n selectionDirty: false\n });\n return {\n vcTable: null,\n checkboxPropsCache: {},\n store: store,\n configProvider: inject('configProvider', defaultConfigProvider)\n };\n },\n data: function data() {\n var props = getOptionProps(this);\n warning(!props.expandedRowRender || !('scroll' in props), '`expandedRowRender` and `scroll` are not compatible. Please use one of them at one time.');\n var getDefaultSortOrder = this.getDefaultSortOrder,\n getDefaultFilters = this.getDefaultFilters,\n getDefaultPagination = this.getDefaultPagination;\n return _extends(_extends({}, getDefaultSortOrder(props.columns || [])), {\n // 减少状态\n sFilters: getDefaultFilters(props.columns),\n sPagination: getDefaultPagination(this.$props),\n pivot: undefined,\n sComponents: markRaw(createComponents(this.components)),\n filterDataCnt: 0\n });\n },\n watch: {\n pagination: {\n handler: function handler(val) {\n this.setState(function (previousState) {\n var newPagination = _extends(_extends(_extends({}, defaultPagination), previousState.sPagination), val);\n\n newPagination.current = newPagination.current || 1;\n newPagination.pageSize = newPagination.pageSize || 10;\n return {\n 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 deep: true\n },\n dataSource: function dataSource() {\n this.store.selectionDirty = false;\n this.checkboxPropsCache = {};\n },\n columns: function columns(val) {\n var filteredValueColumns = getFilteredValueColumns({\n columns: val\n }, val);\n\n if (filteredValueColumns.length > 0) {\n var filtersFromColumns = getFiltersFromColumns({\n columns: val\n }, val);\n\n var newFilters = _extends({}, this.sFilters);\n\n Object.keys(filtersFromColumns).forEach(function (key) {\n newFilters[key] = filtersFromColumns[key];\n });\n\n if (isFiltersChanged({\n filters: this.sFilters\n }, newFilters)) {\n this.setState({\n sFilters: newFilters\n });\n }\n }\n },\n components: {\n handler: function handler(val, oldVal) {\n if (!isTheSameComponents(val, oldVal)) {\n var components = createComponents(val);\n this.setState({\n 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\n if (!isSameColumn(sortState.sSortColumn, sortColumn) || sortState.sSortOrder !== sortOrder) {\n this.setState(sortState);\n }\n }\n },\n methods: {\n setTableRef: function setTableRef(table) {\n this.vcTable = table;\n },\n getCheckboxPropsByItem: function getCheckboxPropsByItem(item, index) {\n var rowSelection = getRowSelection(this.$props);\n\n if (!rowSelection.getCheckboxProps) {\n return {};\n }\n\n var key = this.getRecordKey(item, index); // Cache checkboxProps\n\n if (!this.checkboxPropsCache[key]) {\n this.checkboxPropsCache[key] = rowSelection.getCheckboxProps(item) || {};\n }\n\n return this.checkboxPropsCache[key];\n },\n getDefaultSelection: function getDefaultSelection() {\n var _this = this;\n\n var rowSelection = getRowSelection(this.$props);\n\n if (!rowSelection.getCheckboxProps) {\n return [];\n }\n\n return this.getFlatData().filter(function (item, rowIndex) {\n return _this.getCheckboxPropsByItem(item, rowIndex).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;\n\n if ('current' in pagination) {\n current = pagination.current;\n } else if ('defaultCurrent' in pagination) {\n current = pagination.defaultCurrent;\n }\n\n var pageSize;\n\n if ('pageSize' in pagination) {\n pageSize = pagination.pageSize;\n } else if ('defaultPageSize' in pagination) {\n pageSize = pagination.defaultPageSize;\n }\n\n return this.hasPagination(props) ? _extends(_extends(_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({\n columns: this.columns\n }, columns);\n var defaultFilteredValueColumns = flatFilter(columns || [], function (column) {\n return typeof column.defaultFilteredValue !== 'undefined';\n });\n var defaultFilters = defaultFilteredValueColumns.reduce(function (soFar, col) {\n var colKey = getColumnKey(col);\n soFar[colKey] = col.defaultFilteredValue;\n return soFar;\n }, {});\n return _extends(_extends({}, defaultFilters), definedFilters);\n },\n getDefaultSortOrder: function getDefaultSortOrder(columns) {\n var definedSortState = this.getSortStateFromColumns(columns);\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 _this$sPagination = this.sPagination,\n current = _this$sPagination.current,\n pageSize = _this$sPagination.pageSize;\n\n if ((current - 1) * pageSize >= total) {\n return Math.floor((total - 1) / pageSize) + 1;\n }\n\n return current;\n },\n getRecordKey: function getRecordKey(record, index) {\n var rowKey = this.rowKey;\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\n if (result !== 0) {\n return sortOrder === 'descend' ? -result : result;\n }\n\n return 0;\n };\n },\n getCurrentPageData: function getCurrentPageData() {\n var data = this.getLocalData();\n this.filterDataCnt = data.length;\n var current;\n var pageSize;\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\n return data;\n },\n getFlatData: function getFlatData() {\n var childrenColumnName = this.$props.childrenColumnName;\n return flatArray(this.getLocalData(null, false), childrenColumnName);\n },\n getFlatCurrentPageData: function getFlatCurrentPageData() {\n var childrenColumnName = this.$props.childrenColumnName;\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 var currentState = state || this.$data;\n var filters = currentState.sFilters;\n var dataSource = this.$props.dataSource;\n var data = dataSource || []; // 优化本地排序\n\n data = data.slice(0);\n var sorterFn = this.getSorterFn(currentState);\n\n if (sorterFn) {\n // 使用新数组,避免改变原数组导致无限循环更新\n // https://github.com/vueComponent/ant-design-vue/issues/2270\n data = this.recursiveSort(_toConsumableArray(data), sorterFn);\n } // 筛选\n\n\n if (filter && filters) {\n Object.keys(filters).forEach(function (columnKey) {\n var col = _this2.findColumn(columnKey);\n\n if (!col) {\n return;\n }\n\n var values = filters[columnKey] || [];\n\n if (values.length === 0) {\n return;\n }\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\n return data;\n },\n onRow: function onRow(prefixCls, record, index) {\n var customRow = this.customRow;\n var custom = customRow ? customRow(record, index) : {};\n return _extends(_extends({}, custom), {\n prefixCls: prefixCls,\n store: this.store,\n rowKey: this.getRecordKey(record, index)\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 var rowSelection = getRowSelection(this.$props);\n\n if (rowSelection && !('selectedRowKeys' in rowSelection)) {\n this.store.selectedRowKeys = selectedRowKeys;\n }\n\n var data = this.getFlatData();\n\n if (!rowSelection.onChange && !rowSelection[selectWay]) {\n return;\n }\n\n var selectedRows = data.filter(function (row, i) {\n return selectedRowKeys.indexOf(_this3.getRecordKey(row, i)) >= 0;\n });\n\n if (rowSelection.onChange) {\n rowSelection.onChange(selectedRowKeys, selectedRows);\n }\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\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 var table = this.vcTable;\n\n if (getPopupContainer) {\n return getPopupContainer;\n } // Use undefined to let rc component use default logic.\n\n\n return scroll && table ? function () {\n return table.tableNode;\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.vcTable.ref_bodyTable;\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\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\n var pagination = _extends({}, this.sPagination);\n\n var filters = _extends(_extends({}, this.sFilters), _defineProperty({}, getColumnKey(column), nextFilters)); // Remove filters not in current columns\n\n\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\n var filtersToSetState = _extends({}, filters); // Remove filters which is controlled\n\n\n getFilteredValueColumns({\n columns: props.columns\n }).forEach(function (col) {\n var columnKey = getColumnKey(col);\n\n if (columnKey) {\n delete filtersToSetState[columnKey];\n }\n });\n\n if (Object.keys(filtersToSetState).length > 0) {\n newState.sFilters = filtersToSetState;\n } // Controlled current prop will not respond user interaction\n\n\n if (_typeof(props.pagination) === 'object' && 'current' in props.pagination) {\n newState.sPagination = _extends(_extends({}, pagination), {\n current: this.sPagination.current\n });\n }\n\n this.setState(newState, function () {\n _this5.scrollToFirstRow();\n\n _this5.store.selectionDirty = false;\n\n _this5.$emit.apply(_this5, ['change'].concat(_toConsumableArray(_this5.prepareParamsArguments(_extends(_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 var rows = this.getFlatCurrentPageData();\n var realIndex = rowIndex;\n\n if (this.$props.expandedRowRender) {\n realIndex = rows.findIndex(function (row) {\n return _this6.getRecordKey(row, rowIndex) === key;\n });\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\n var rowKey = _this6.getRecordKey(row, i);\n\n var checkboxProps = _this6.getCheckboxPropsByItem(row, i);\n\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({\n pivot: realIndex\n });\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\n this.setState({\n pivot: realIndex\n });\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).disabled;\n }).map(function (item, i) {\n return _this7.getRecordKey(item, i);\n });\n var changeRowKeys = [];\n var selectWay = 'onSelectAll';\n var checked; // handle default selection\n\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\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\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\n changeRowKeys.push(key);\n selectWay = 'onSelectInvert';\n });\n break;\n\n default:\n break;\n }\n\n this.store.selectionDirty = true; // when select custom selection, callback selections[n].onSelect\n\n var rowSelection = this.rowSelection;\n var customSelectionStartIndex = 2;\n\n if (rowSelection && rowSelection.hideDefaultSelections) {\n customSelectionStartIndex = 0;\n }\n\n if (index >= customSelectionStartIndex && typeof onSelectFunc === 'function') {\n return onSelectFunc(changeableRowKeys);\n }\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\n var pagination = _extends({}, this.sPagination);\n\n if (current) {\n pagination.current = current;\n } else {\n pagination.current = pagination.current || 1;\n }\n\n for (var _len = arguments.length, otherArguments = new 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(otherArguments));\n var newState = {\n sPagination: pagination\n }; // Controlled current prop will not respond user interaction\n\n if (props.pagination && _typeof(props.pagination) === 'object' && 'current' in props.pagination) {\n newState.sPagination = _extends(_extends({}, pagination), {\n current: this.sPagination.current\n });\n }\n\n this.setState(newState, this.scrollToFirstRow);\n this.store.selectionDirty = false;\n this.$emit.apply(this, ['change'].concat(_toConsumableArray(this.prepareParamsArguments(_extends(_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\n var nextPagination = _extends(_extends({}, pagination), {\n pageSize: pageSize,\n current: current\n });\n\n this.setState({\n sPagination: nextPagination\n }, this.scrollToFirstRow);\n this.$emit.apply(this, ['change'].concat(_toConsumableArray(this.prepareParamsArguments(_extends(_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 var newSortOrder; // 切换另一列时,丢弃 sortOrder 的状态\n\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\n var newState = {\n sSortOrder: newSortOrder,\n sSortColumn: newSortOrder ? column : null\n }; // Controlled\n\n if (this.getSortOrderColumns().length === 0) {\n this.setState(newState, this.scrollToFirstRow);\n }\n\n this.$emit.apply(this, ['change'].concat(_toConsumableArray(this.prepareParamsArguments(_extends(_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\n return getColumnKey(sortColumn) === getColumnKey(column);\n },\n // Get pagination, filters, sorter\n prepareParamsArguments: function prepareParamsArguments(state, column) {\n var pagination = _extends({}, state.sPagination); // remove useless handle function in Table.onChange\n\n\n delete pagination.onChange;\n delete pagination.onShowSizeChange;\n var filters = state.sFilters;\n var sorter = {};\n var currentColumn = column;\n\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 return [pagination, filters, sorter, extra];\n },\n findColumn: function findColumn(myKey) {\n var column;\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 _this$childrenColumnN = this.childrenColumnName,\n childrenColumnName = _this$childrenColumnN === void 0 ? 'children' : _this$childrenColumnN;\n return data.sort(sorterFn).map(function (item) {\n return item[childrenColumnName] ? _extends(_extends({}, item), _defineProperty({}, childrenColumnName, _this8.recursiveSort(_toConsumableArray(item[childrenColumnName]), sorterFn))) : item;\n });\n },\n renderExpandIcon: function renderExpandIcon(prefixCls) {\n if (this.expandIcon) {\n return this.expandIcon;\n }\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 _createVNode(LocaleReceiver, {\n \"componentName\": \"Table\",\n \"defaultLocale\": defaultLocale.Table,\n \"children\": function children(locale) {\n var _classNames;\n\n return _createVNode(TransButton, {\n \"class\": classNames(\"\".concat(prefixCls, \"-row-expand-icon\"), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-row-collapsed\"), !expanded), _defineProperty(_classNames, \"\".concat(prefixCls, \"-row-expanded\"), expanded), _classNames)),\n \"onClick\": function onClick(event) {\n onExpand(record, event);\n },\n \"aria-label\": expanded ? locale.collapse : locale.expand,\n \"noStyle\": true\n }, null);\n }\n }, null);\n }\n\n if (needIndentSpaced) {\n return _createVNode(\"span\", {\n \"class\": \"\".concat(prefixCls, \"-row-expand-icon \").concat(prefixCls, \"-row-spaced\")\n }, null);\n }\n\n return null;\n };\n },\n renderPagination: function renderPagination(prefixCls, paginationPosition) {\n // 强制不需要分页\n if (!this.hasPagination()) {\n return null;\n }\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\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 = __rest(pagination, [\"class\", \"style\", \"onChange\", \"onShowSizeChange\"]); // eslint-disable-line\n\n\n var paginationProps = _extends(_extends({\n key: \"pagination-\".concat(paginationPosition),\n class: classNames(cls, \"\".concat(prefixCls, \"-pagination\"))\n }, restProps), {\n total: total,\n size: size,\n current: this.getMaxCurrent(total),\n style: style,\n onChange: this.handlePageChange,\n onShowSizeChange: this.handleShowSizeChange\n });\n\n return total > 0 && (position === paginationPosition || position === 'both') ? _createVNode(Pagination, paginationProps, null) : null;\n },\n renderSelectionBox: function renderSelectionBox(type) {\n var _this9 = this;\n\n return function (_ref3) {\n var record = _ref3.record,\n index = _ref3.index;\n\n var rowKey = _this9.getRecordKey(record, index); // 从 1 开始\n\n\n var props = _this9.getCheckboxPropsByItem(record, index);\n\n var handleChange = function handleChange(e) {\n type === 'radio' ? _this9.handleRadioSelect(record, index, e) : _this9.handleSelect(record, index, e);\n };\n\n var selectionBoxProps = _extends({\n type: type,\n store: _this9.store,\n rowIndex: rowKey,\n defaultSelection: _this9.getDefaultSelection(),\n onChange: handleChange\n }, props);\n\n return _createVNode(\"span\", {\n \"onClick\": stopPropagation\n }, [_createVNode(SelectionBox, selectionBoxProps, null)]);\n };\n },\n renderRowSelection: function renderRowSelection(_ref4) {\n var _this10 = this;\n\n var prefixCls = _ref4.prefixCls,\n locale = _ref4.locale,\n getPopupContainer = _ref4.getPopupContainer;\n var rowSelection = this.rowSelection;\n var columns = this.columns.concat();\n\n if (rowSelection) {\n var data = this.getFlatCurrentPageData().filter(function (item, index) {\n if (rowSelection.getCheckboxProps) {\n return !_this10.getCheckboxPropsByItem(item, index).disabled;\n }\n\n return true;\n });\n var selectionColumnClass = classNames(\"\".concat(prefixCls, \"-selection-column\"), _defineProperty({}, \"\".concat(prefixCls, \"-selection-column-custom\"), rowSelection.selections));\n\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: \"\".concat(prefixCls, \"-selection-col\")\n });\n\n if (rowSelection.type !== 'radio') {\n var checkboxAllDisabled = data.every(function (item, index) {\n return _this10.getCheckboxPropsByItem(item, index).disabled;\n });\n selectionColumn.title = selectionColumn.title || _createVNode(SelectionCheckboxAll, {\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 \"onSelect\": this.handleSelectRow,\n \"selections\": rowSelection.selections,\n \"hideDefaultSelections\": rowSelection.hideDefaultSelections,\n \"getPopupContainer\": this.generatePopupContainerFunc(getPopupContainer),\n \"propsSymbol\": Symbol()\n }, null);\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\n if (columns[0] && columns[0].key === 'selection-column') {\n columns[0] = selectionColumn;\n } else {\n columns.unshift(selectionColumn);\n }\n }\n\n return columns;\n },\n renderColumnsDropdown: function renderColumnsDropdown(_ref5) {\n var _this11 = this;\n\n var prefixCls = _ref5.prefixCls,\n dropdownPrefixCls = _ref5.dropdownPrefixCls,\n columns = _ref5.columns,\n locale = _ref5.locale,\n getPopupContainer = _ref5.getPopupContainer;\n var sortOrder = this.sSortOrder,\n filters = this.sFilters;\n return treeMap(columns, function (column, i) {\n var _classNames3;\n\n var key = getColumnKey(column, i);\n var filterDropdown;\n var sortButton;\n var customHeaderCell = column.customHeaderCell;\n\n var isSortColumn = _this11.isSortColumn(column);\n\n if (column.filters && column.filters.length > 0 || column.filterDropdown) {\n var colFilters = key in filters ? filters[key] : [];\n filterDropdown = _createVNode(FilterDropdown, {\n \"locale\": locale,\n \"column\": column,\n \"selectedKeys\": colFilters,\n \"confirmFilter\": _this11.handleFilter,\n \"prefixCls\": \"\".concat(prefixCls, \"-filter\"),\n \"dropdownPrefixCls\": dropdownPrefixCls || 'ant-dropdown',\n \"getPopupContainer\": _this11.generatePopupContainerFunc(getPopupContainer),\n \"key\": \"filter-dropdown\"\n }, null);\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\n var ascend = sortDirections.indexOf('ascend') !== -1 && _createVNode(CaretUpFilled, {\n \"class\": \"\".concat(prefixCls, \"-column-sorter-up \").concat(isAscend ? 'on' : 'off'),\n \"key\": \"caret-up\"\n }, null);\n\n var descend = sortDirections.indexOf('descend') !== -1 && _createVNode(CaretDownFilled, {\n \"class\": \"\".concat(prefixCls, \"-column-sorter-down \").concat(isDescend ? 'on' : 'off'),\n \"key\": \"caret-down\"\n }, null);\n\n sortButton = _createVNode(\"div\", {\n \"title\": locale.sortTitle,\n \"class\": classNames(\"\".concat(prefixCls, \"-column-sorter-inner\"), ascend && descend && \"\".concat(prefixCls, \"-column-sorter-inner-full\")),\n \"key\": \"sorter\"\n }, [ascend, descend]);\n\n customHeaderCell = function customHeaderCell(col) {\n var colProps = {}; // Get original first\n\n if (column.customHeaderCell) {\n colProps = _extends({}, column.customHeaderCell(col));\n } // Add sorter logic\n\n\n var onHeaderCellClick = colProps.onClick;\n\n colProps.onClick = function () {\n _this11.toggleSortOrder(column);\n\n if (onHeaderCellClick) {\n onHeaderCellClick.apply(void 0, arguments);\n }\n };\n\n return colProps;\n };\n }\n\n return _extends(_extends({}, column), {\n className: classNames(column.className, (_classNames3 = {}, _defineProperty(_classNames3, \"\".concat(prefixCls, \"-column-has-actions\"), sortButton || filterDropdown), _defineProperty(_classNames3, \"\".concat(prefixCls, \"-column-has-filters\"), filterDropdown), _defineProperty(_classNames3, \"\".concat(prefixCls, \"-column-has-sorters\"), sortButton), _defineProperty(_classNames3, \"\".concat(prefixCls, \"-column-sort\"), isSortColumn && sortOrder), _classNames3)),\n title: [_createVNode(\"span\", {\n \"key\": \"title\",\n \"class\": \"\".concat(prefixCls, \"-header-column\")\n }, [_createVNode(\"div\", {\n \"class\": sortButton ? \"\".concat(prefixCls, \"-column-sorters\") : undefined\n }, [_createVNode(\"span\", {\n \"class\": \"\".concat(prefixCls, \"-column-title\")\n }, [_this11.renderColumnTitle(column.title)]), _createVNode(\"span\", {\n \"class\": \"\".concat(prefixCls, \"-column-sorter\")\n }, [sortButton])])]), filterDropdown],\n customHeaderCell: customHeaderCell\n });\n });\n },\n renderColumnTitle: function renderColumnTitle(title) {\n var _this$$data = this.$data,\n filters = _this$$data.sFilters,\n sortOrder = _this$$data.sSortOrder,\n sortColumn = _this$$data.sSortColumn; // 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\n return title;\n },\n renderTable: function renderTable(_ref6) {\n var _classNames4,\n _this12 = this;\n\n var prefixCls = _ref6.prefixCls,\n renderEmpty = _ref6.renderEmpty,\n dropdownPrefixCls = _ref6.dropdownPrefixCls,\n contextLocale = _ref6.contextLocale,\n contextGetPopupContainer = _ref6.getPopupContainer,\n transformCellText = _ref6.transformCellText;\n\n var _a = _extends(_extends({}, getOptionProps(this)), this.$attrs),\n showHeader = _a.showHeader,\n locale = _a.locale,\n getPopupContainer = _a.getPopupContainer,\n style = _a.style,\n restProps = __rest(_a, [\"showHeader\", \"locale\", \"getPopupContainer\", \"style\"]);\n\n var data = this.getCurrentPageData();\n var expandIconAsCell = this.expandedRowRender && this.expandIconAsCell !== false; // use props.getPopupContainer first\n\n var realGetPopupContainer = getPopupContainer || contextGetPopupContainer; // Merge too locales\n\n var mergedLocale = _extends(_extends({}, contextLocale), locale);\n\n if (!locale || !locale.emptyText) {\n mergedLocale.emptyText = renderEmpty('Table');\n }\n\n var classString = classNames((_classNames4 = {}, _defineProperty(_classNames4, \"\".concat(prefixCls, \"-\").concat(this.size), true), _defineProperty(_classNames4, \"\".concat(prefixCls, \"-bordered\"), this.bordered), _defineProperty(_classNames4, \"\".concat(prefixCls, \"-empty\"), !data.length), _defineProperty(_classNames4, \"\".concat(prefixCls, \"-without-column-header\"), !showHeader), _classNames4));\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\n newColumn.key = getColumnKey(newColumn, i);\n return newColumn;\n });\n var expandIconColumnIndex = columns[0] && columns[0].key === 'selection-column' ? 1 : 0;\n\n if ('expandIconColumnIndex' in restProps) {\n expandIconColumnIndex = restProps.expandIconColumnIndex;\n }\n\n var vcTableProps = _extends(_extends({\n key: 'table',\n 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 class: classString,\n ref: this.setTableRef\n });\n\n return _createVNode(VcTable, vcTableProps, null);\n }\n },\n render: function render() {\n var _this13 = this;\n\n var customizePrefixCls = this.prefixCls,\n customizeDropdownPrefixCls = this.dropdownPrefixCls,\n customizeTransformCellText = this.transformCellText;\n var data = this.getCurrentPageData();\n var _this$configProvider = this.configProvider,\n getContextPopupContainer = _this$configProvider.getPopupContainer,\n tct = _this$configProvider.transformCellText;\n var getPopupContainer = this.getPopupContainer || getContextPopupContainer;\n var transformCellText = customizeTransformCellText || tct;\n var loading = this.loading;\n\n if (typeof loading === 'boolean') {\n loading = {\n spinning: loading\n };\n }\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var renderEmpty = this.configProvider.renderEmpty;\n var prefixCls = getPrefixCls('table', customizePrefixCls);\n var dropdownPrefixCls = getPrefixCls('dropdown', customizeDropdownPrefixCls);\n\n var table = _createVNode(LocaleReceiver, {\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 }, null); // if there is no pagination or no data,\n // the height of spin should decrease by half of pagination\n\n\n var paginationPatchClass = this.hasPagination() && data && data.length !== 0 ? \"\".concat(prefixCls, \"-with-pagination\") : \"\".concat(prefixCls, \"-without-pagination\");\n\n var spinProps = _extends(_extends({}, loading), {\n class: loading && loading.spinning ? \"\".concat(paginationPatchClass, \" \").concat(prefixCls, \"-spin-holder\") : ''\n });\n\n var _this$$attrs = this.$attrs,\n className = _this$$attrs.class,\n style = _this$$attrs.style;\n return _createVNode(\"div\", {\n \"class\": classNames(\"\".concat(prefixCls, \"-wrapper\"), className),\n \"style\": style\n }, [_createVNode(Spin, spinProps, {\n default: function _default() {\n return [_this13.renderPagination(prefixCls, 'top'), table, _this13.renderPagination(prefixCls, 'bottom')];\n }\n })]);\n }\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport { defineComponent } from 'vue';\nimport T, { defaultTableProps } from './Table';\nimport { getOptionProps, getKey, getPropsData, getSlot, flattenChildren } from '../_util/props-util';\nvar Table = defineComponent({\n name: 'ATable',\n Column: T.Column,\n ColumnGroup: T.ColumnGroup,\n inheritAttrs: false,\n props: defaultTableProps,\n methods: {\n normalize: function normalize() {\n var _this = this;\n\n var elements = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var flattenElements = flattenChildren(elements);\n var columns = [];\n flattenElements.forEach(function (element) {\n var _a, _b, _c, _d;\n\n if (!element) {\n return;\n }\n\n var key = getKey(element);\n var style = ((_a = element.props) === null || _a === void 0 ? void 0 : _a.style) || {};\n var cls = ((_b = element.props) === null || _b === void 0 ? void 0 : _b.class) || '';\n var props = getPropsData(element);\n\n var _e = element.children || {},\n children = _e.default,\n restSlots = __rest(_e, [\"default\"]);\n\n var column = _extends(_extends(_extends({}, restSlots), props), {\n style: style,\n class: cls\n });\n\n if (key) {\n column.key = key;\n }\n\n if ((_c = element.type) === null || _c === void 0 ? void 0 : _c.__ANT_TABLE_COLUMN_GROUP) {\n column.children = _this.normalize(typeof children === 'function' ? children() : children);\n } else {\n var customRender = (_d = element.children) === null || _d === void 0 ? void 0 : _d.default;\n column.customRender = column.customRender || customRender;\n }\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 var columns = [];\n var $slots = this.$slots;\n cols.forEach(function (col) {\n var _col$slots = col.slots,\n slots = _col$slots === void 0 ? {} : _col$slots,\n restProps = __rest(col, [\"slots\"]);\n\n var column = _extends({}, restProps);\n\n Object.keys(slots).forEach(function (key) {\n var name = slots[key];\n\n if (column[key] === undefined && $slots[name]) {\n column[key] = $slots[name];\n }\n }); // if (slotScopeName && $scopedSlots[slotScopeName]) {\n // column.customRender = column.customRender || $scopedSlots[slotScopeName]\n // }\n\n if (col.children) {\n column.children = _this2.updateColumns(column.children);\n }\n\n columns.push(column);\n });\n return columns;\n }\n },\n render: function render() {\n var normalize = this.normalize,\n $slots = this.$slots;\n\n var props = _extends(_extends({}, getOptionProps(this)), this.$attrs);\n\n var columns = props.columns ? this.updateColumns(props.columns) : normalize(getSlot(this));\n var title = props.title,\n footer = props.footer;\n var slotTitle = $slots.title,\n slotFooter = $slots.footer,\n _$slots$expandedRowRe = $slots.expandedRowRender,\n expandedRowRender = _$slots$expandedRowRe === void 0 ? props.expandedRowRender : _$slots$expandedRowRe,\n expandIcon = $slots.expandIcon;\n title = title || slotTitle;\n footer = footer || slotFooter;\n\n var tProps = _extends(_extends({}, props), {\n columns: columns,\n title: title,\n footer: footer,\n expandedRowRender: expandedRowRender,\n expandIcon: this.$props.expandIcon || expandIcon\n });\n\n return _createVNode(T, _objectSpread(_objectSpread({}, tProps), {}, {\n \"ref\": \"table\"\n }), null);\n }\n});\n/* istanbul ignore next */\n\nTable.install = function (app) {\n app.component(Table.name, Table);\n app.component(Table.Column.name, Table.Column);\n app.component(Table.ColumnGroup.name, Table.ColumnGroup);\n return app;\n};\n\nexport var TableColumn = Table.Column;\nexport var TableColumnGroup = Table.ColumnGroup;\nexport default Table;","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nexport default arraySome;\n","import SetCache from './_SetCache.js';\nimport arraySome from './_arraySome.js';\nimport cacheHas from './_cacheHas.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nexport default equalArrays;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nexport default mapToArray;\n","import Symbol from './_Symbol.js';\nimport Uint8Array from './_Uint8Array.js';\nimport eq from './eq.js';\nimport equalArrays from './_equalArrays.js';\nimport mapToArray from './_mapToArray.js';\nimport setToArray from './_setToArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nexport default equalByTag;\n","import getAllKeys from './_getAllKeys.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nexport default equalObjects;\n","import Stack from './_Stack.js';\nimport equalArrays from './_equalArrays.js';\nimport equalByTag from './_equalByTag.js';\nimport equalObjects from './_equalObjects.js';\nimport getTag from './_getTag.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nexport default baseIsEqualDeep;\n","import baseIsEqualDeep from './_baseIsEqualDeep.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nexport default baseIsEqual;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nexport default baseProperty;\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","import baseFindIndex from './_baseFindIndex.js';\nimport baseIteratee from './_baseIteratee.js';\nimport toInteger from './toInteger.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nexport default findIndex;\n","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\n/* eslint no-console:0 */\nvar formatRegExp = /%[sdj%]/g;\nvar warning = function warning() {}; // don't print warning message when in production env or node runtime\n\nif (typeof process !== 'undefined' && process.env && process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && typeof document !== 'undefined') {\n warning = function warning(type, errors) {\n if (typeof console !== 'undefined' && console.warn) {\n if (errors.every(function (e) {\n return typeof e === 'string';\n })) {\n console.warn(type, errors);\n }\n }\n };\n}\n\nfunction convertFieldsError(errors) {\n if (!errors || !errors.length) return null;\n var fields = {};\n errors.forEach(function (error) {\n var field = error.field;\n fields[field] = fields[field] || [];\n fields[field].push(error);\n });\n return fields;\n}\nfunction format() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var i = 1;\n var f = args[0];\n var len = args.length;\n\n if (typeof f === 'function') {\n return f.apply(null, args.slice(1));\n }\n\n if (typeof f === 'string') {\n var str = String(f).replace(formatRegExp, function (x) {\n if (x === '%%') {\n return '%';\n }\n\n if (i >= len) {\n return x;\n }\n\n switch (x) {\n case '%s':\n return String(args[i++]);\n\n case '%d':\n return Number(args[i++]);\n\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n\n break;\n\n default:\n return x;\n }\n });\n return str;\n }\n\n return f;\n}\n\nfunction isNativeStringType(type) {\n return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'date' || type === 'pattern';\n}\n\nfunction isEmptyValue(value, type) {\n if (value === undefined || value === null) {\n return true;\n }\n\n if (type === 'array' && Array.isArray(value) && !value.length) {\n return true;\n }\n\n if (isNativeStringType(type) && typeof value === 'string' && !value) {\n return true;\n }\n\n return false;\n}\n\nfunction asyncParallelArray(arr, func, callback) {\n var results = [];\n var total = 0;\n var arrLength = arr.length;\n\n function count(errors) {\n results.push.apply(results, errors);\n total++;\n\n if (total === arrLength) {\n callback(results);\n }\n }\n\n arr.forEach(function (a) {\n func(a, count);\n });\n}\n\nfunction asyncSerialArray(arr, func, callback) {\n var index = 0;\n var arrLength = arr.length;\n\n function next(errors) {\n if (errors && errors.length) {\n callback(errors);\n return;\n }\n\n var original = index;\n index = index + 1;\n\n if (original < arrLength) {\n func(arr[original], next);\n } else {\n callback([]);\n }\n }\n\n next([]);\n}\n\nfunction flattenObjArr(objArr) {\n var ret = [];\n Object.keys(objArr).forEach(function (k) {\n ret.push.apply(ret, objArr[k]);\n });\n return ret;\n}\n\nvar AsyncValidationError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(AsyncValidationError, _Error);\n\n function AsyncValidationError(errors, fields) {\n var _this;\n\n _this = _Error.call(this, 'Async Validation Error') || this;\n _this.errors = errors;\n _this.fields = fields;\n return _this;\n }\n\n return AsyncValidationError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\nfunction asyncMap(objArr, option, func, callback) {\n if (option.first) {\n var _pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n callback(errors);\n return errors.length ? reject(new AsyncValidationError(errors, convertFieldsError(errors))) : resolve();\n };\n\n var flattenArr = flattenObjArr(objArr);\n asyncSerialArray(flattenArr, func, next);\n });\n\n _pending[\"catch\"](function (e) {\n return e;\n });\n\n return _pending;\n }\n\n var firstFields = option.firstFields || [];\n\n if (firstFields === true) {\n firstFields = Object.keys(objArr);\n }\n\n var objArrKeys = Object.keys(objArr);\n var objArrLength = objArrKeys.length;\n var total = 0;\n var results = [];\n var pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n results.push.apply(results, errors);\n total++;\n\n if (total === objArrLength) {\n callback(results);\n return results.length ? reject(new AsyncValidationError(results, convertFieldsError(results))) : resolve();\n }\n };\n\n if (!objArrKeys.length) {\n callback(results);\n resolve();\n }\n\n objArrKeys.forEach(function (key) {\n var arr = objArr[key];\n\n if (firstFields.indexOf(key) !== -1) {\n asyncSerialArray(arr, func, next);\n } else {\n asyncParallelArray(arr, func, next);\n }\n });\n });\n pending[\"catch\"](function (e) {\n return e;\n });\n return pending;\n}\nfunction complementError(rule) {\n return function (oe) {\n if (oe && oe.message) {\n oe.field = oe.field || rule.fullField;\n return oe;\n }\n\n return {\n message: typeof oe === 'function' ? oe() : oe,\n field: oe.field || rule.fullField\n };\n };\n}\nfunction deepMerge(target, source) {\n if (source) {\n for (var s in source) {\n if (source.hasOwnProperty(s)) {\n var value = source[s];\n\n if (typeof value === 'object' && typeof target[s] === 'object') {\n target[s] = _extends({}, target[s], value);\n } else {\n target[s] = value;\n }\n }\n }\n }\n\n return target;\n}\n\n/**\n * Rule for validating required fields.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction required(rule, value, source, errors, options, type) {\n if (rule.required && (!source.hasOwnProperty(rule.field) || isEmptyValue(value, type || rule.type))) {\n errors.push(format(options.messages.required, rule.fullField));\n }\n}\n\n/**\n * Rule for validating whitespace.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction whitespace(rule, value, source, errors, options) {\n if (/^\\s+$/.test(value) || value === '') {\n errors.push(format(options.messages.whitespace, rule.fullField));\n }\n}\n\n/* eslint max-len:0 */\n\nvar pattern = {\n // http://emailregex.com/\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n url: new RegExp(\"^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[0-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))|localhost)(?::\\\\d{2,5})?(?:(/|\\\\?|#)[^\\\\s]*)?$\", 'i'),\n hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i\n};\nvar types = {\n integer: function integer(value) {\n return types.number(value) && parseInt(value, 10) === value;\n },\n \"float\": function float(value) {\n return types.number(value) && !types.integer(value);\n },\n array: function array(value) {\n return Array.isArray(value);\n },\n regexp: function regexp(value) {\n if (value instanceof RegExp) {\n return true;\n }\n\n try {\n return !!new RegExp(value);\n } catch (e) {\n return false;\n }\n },\n date: function date(value) {\n return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function' && !isNaN(value.getTime());\n },\n number: function number(value) {\n if (isNaN(value)) {\n return false;\n }\n\n return typeof value === 'number';\n },\n object: function object(value) {\n return typeof value === 'object' && !types.array(value);\n },\n method: function method(value) {\n return typeof value === 'function';\n },\n email: function email(value) {\n return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255;\n },\n url: function url(value) {\n return typeof value === 'string' && !!value.match(pattern.url);\n },\n hex: function hex(value) {\n return typeof value === 'string' && !!value.match(pattern.hex);\n }\n};\n/**\n * Rule for validating the type of a value.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction type(rule, value, source, errors, options) {\n if (rule.required && value === undefined) {\n required(rule, value, source, errors, options);\n return;\n }\n\n var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];\n var ruleType = rule.type;\n\n if (custom.indexOf(ruleType) > -1) {\n if (!types[ruleType](value)) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n } // straight typeof check\n\n } else if (ruleType && typeof value !== rule.type) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n }\n}\n\n/**\n * Rule for validating minimum and maximum allowed values.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction range(rule, value, source, errors, options) {\n var len = typeof rule.len === 'number';\n var min = typeof rule.min === 'number';\n var max = typeof rule.max === 'number'; // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n\n var spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n var val = value;\n var key = null;\n var num = typeof value === 'number';\n var str = typeof value === 'string';\n var arr = Array.isArray(value);\n\n if (num) {\n key = 'number';\n } else if (str) {\n key = 'string';\n } else if (arr) {\n key = 'array';\n } // if the value is not of a supported type for range validation\n // the validation rule rule should use the\n // type property to also test for a particular type\n\n\n if (!key) {\n return false;\n }\n\n if (arr) {\n val = value.length;\n }\n\n if (str) {\n // 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".lenght !== 3\n val = value.replace(spRegexp, '_').length;\n }\n\n if (len) {\n if (val !== rule.len) {\n errors.push(format(options.messages[key].len, rule.fullField, rule.len));\n }\n } else if (min && !max && val < rule.min) {\n errors.push(format(options.messages[key].min, rule.fullField, rule.min));\n } else if (max && !min && val > rule.max) {\n errors.push(format(options.messages[key].max, rule.fullField, rule.max));\n } else if (min && max && (val < rule.min || val > rule.max)) {\n errors.push(format(options.messages[key].range, rule.fullField, rule.min, rule.max));\n }\n}\n\nvar ENUM = 'enum';\n/**\n * Rule for validating a value exists in an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction enumerable(rule, value, source, errors, options) {\n rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];\n\n if (rule[ENUM].indexOf(value) === -1) {\n errors.push(format(options.messages[ENUM], rule.fullField, rule[ENUM].join(', ')));\n }\n}\n\n/**\n * Rule for validating a regular expression pattern.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction pattern$1(rule, value, source, errors, options) {\n if (rule.pattern) {\n if (rule.pattern instanceof RegExp) {\n // if a RegExp instance is passed, reset `lastIndex` in case its `global`\n // flag is accidentally set to `true`, which in a validation scenario\n // is not necessary and the result might be misleading\n rule.pattern.lastIndex = 0;\n\n if (!rule.pattern.test(value)) {\n errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n } else if (typeof rule.pattern === 'string') {\n var _pattern = new RegExp(rule.pattern);\n\n if (!_pattern.test(value)) {\n errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n }\n }\n}\n\nvar rules = {\n required: required,\n whitespace: whitespace,\n type: type,\n range: range,\n \"enum\": enumerable,\n pattern: pattern$1\n};\n\n/**\n * Performs validation for string types.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction string(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, 'string');\n\n if (!isEmptyValue(value, 'string')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n rules.pattern(rule, value, source, errors, options);\n\n if (rule.whitespace === true) {\n rules.whitespace(rule, value, source, errors, options);\n }\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a function.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction method(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction number(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (value === '') {\n value = undefined;\n }\n\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a boolean.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction _boolean(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates the regular expression type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction regexp(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a number is an integer.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction integer(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a number is a floating point number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction floatFn(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates an array.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction array(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if ((value === undefined || value === null) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, 'array');\n\n if (value !== undefined && value !== null) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates an object.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction object(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\nvar ENUM$1 = 'enum';\n/**\n * Validates an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction enumerable$1(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules[ENUM$1](rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a regular expression pattern.\n *\n * Performs validation when a rule only contains\n * a pattern property but is not declared as a string type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction pattern$2(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value, 'string')) {\n rules.pattern(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\nfunction date(rule, value, callback, source, options) {\n // console.log('integer rule called %j', rule);\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); // console.log('validate on %s value', value);\n\n if (validate) {\n if (isEmptyValue(value, 'date') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value, 'date')) {\n var dateObject;\n\n if (value instanceof Date) {\n dateObject = value;\n } else {\n dateObject = new Date(value);\n }\n\n rules.type(rule, dateObject, source, errors, options);\n\n if (dateObject) {\n rules.range(rule, dateObject.getTime(), source, errors, options);\n }\n }\n }\n\n callback(errors);\n}\n\nfunction required$1(rule, value, callback, source, options) {\n var errors = [];\n var type = Array.isArray(value) ? 'array' : typeof value;\n rules.required(rule, value, source, errors, options, type);\n callback(errors);\n}\n\nfunction type$1(rule, value, callback, source, options) {\n var ruleType = rule.type;\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, ruleType) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, ruleType);\n\n if (!isEmptyValue(value, ruleType)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Performs validation for any type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction any(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n }\n\n callback(errors);\n}\n\nvar validators = {\n string: string,\n method: method,\n number: number,\n \"boolean\": _boolean,\n regexp: regexp,\n integer: integer,\n \"float\": floatFn,\n array: array,\n object: object,\n \"enum\": enumerable$1,\n pattern: pattern$2,\n date: date,\n url: type$1,\n hex: type$1,\n email: type$1,\n required: required$1,\n any: any\n};\n\nfunction newMessages() {\n return {\n \"default\": 'Validation error on field %s',\n required: '%s is required',\n \"enum\": '%s must be one of %s',\n whitespace: '%s cannot be empty',\n date: {\n format: '%s date %s is invalid for format %s',\n parse: '%s date could not be parsed, %s is invalid ',\n invalid: '%s date %s is invalid'\n },\n types: {\n string: '%s is not a %s',\n method: '%s is not a %s (function)',\n array: '%s is not an %s',\n object: '%s is not an %s',\n number: '%s is not a %s',\n date: '%s is not a %s',\n \"boolean\": '%s is not a %s',\n integer: '%s is not an %s',\n \"float\": '%s is not a %s',\n regexp: '%s is not a valid %s',\n email: '%s is not a valid %s',\n url: '%s is not a valid %s',\n hex: '%s is not a valid %s'\n },\n string: {\n len: '%s must be exactly %s characters',\n min: '%s must be at least %s characters',\n max: '%s cannot be longer than %s characters',\n range: '%s must be between %s and %s characters'\n },\n number: {\n len: '%s must equal %s',\n min: '%s cannot be less than %s',\n max: '%s cannot be greater than %s',\n range: '%s must be between %s and %s'\n },\n array: {\n len: '%s must be exactly %s in length',\n min: '%s cannot be less than %s in length',\n max: '%s cannot be greater than %s in length',\n range: '%s must be between %s and %s in length'\n },\n pattern: {\n mismatch: '%s value %s does not match pattern %s'\n },\n clone: function clone() {\n var cloned = JSON.parse(JSON.stringify(this));\n cloned.clone = this.clone;\n return cloned;\n }\n };\n}\nvar messages = newMessages();\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\n\nfunction Schema(descriptor) {\n this.rules = null;\n this._messages = messages;\n this.define(descriptor);\n}\n\nSchema.prototype = {\n messages: function messages(_messages) {\n if (_messages) {\n this._messages = deepMerge(newMessages(), _messages);\n }\n\n return this._messages;\n },\n define: function define(rules) {\n if (!rules) {\n throw new Error('Cannot configure a schema with no rules');\n }\n\n if (typeof rules !== 'object' || Array.isArray(rules)) {\n throw new Error('Rules must be an object');\n }\n\n this.rules = {};\n var z;\n var item;\n\n for (z in rules) {\n if (rules.hasOwnProperty(z)) {\n item = rules[z];\n this.rules[z] = Array.isArray(item) ? item : [item];\n }\n }\n },\n validate: function validate(source_, o, oc) {\n var _this = this;\n\n if (o === void 0) {\n o = {};\n }\n\n if (oc === void 0) {\n oc = function oc() {};\n }\n\n var source = source_;\n var options = o;\n var callback = oc;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (!this.rules || Object.keys(this.rules).length === 0) {\n if (callback) {\n callback();\n }\n\n return Promise.resolve();\n }\n\n function complete(results) {\n var i;\n var errors = [];\n var fields = {};\n\n function add(e) {\n if (Array.isArray(e)) {\n var _errors;\n\n errors = (_errors = errors).concat.apply(_errors, e);\n } else {\n errors.push(e);\n }\n }\n\n for (i = 0; i < results.length; i++) {\n add(results[i]);\n }\n\n if (!errors.length) {\n errors = null;\n fields = null;\n } else {\n fields = convertFieldsError(errors);\n }\n\n callback(errors, fields);\n }\n\n if (options.messages) {\n var messages$1 = this.messages();\n\n if (messages$1 === messages) {\n messages$1 = newMessages();\n }\n\n deepMerge(messages$1, options.messages);\n options.messages = messages$1;\n } else {\n options.messages = this.messages();\n }\n\n var arr;\n var value;\n var series = {};\n var keys = options.keys || Object.keys(this.rules);\n keys.forEach(function (z) {\n arr = _this.rules[z];\n value = source[z];\n arr.forEach(function (r) {\n var rule = r;\n\n if (typeof rule.transform === 'function') {\n if (source === source_) {\n source = _extends({}, source);\n }\n\n value = source[z] = rule.transform(value);\n }\n\n if (typeof rule === 'function') {\n rule = {\n validator: rule\n };\n } else {\n rule = _extends({}, rule);\n }\n\n rule.validator = _this.getValidationMethod(rule);\n rule.field = z;\n rule.fullField = rule.fullField || z;\n rule.type = _this.getType(rule);\n\n if (!rule.validator) {\n return;\n }\n\n series[z] = series[z] || [];\n series[z].push({\n rule: rule,\n value: value,\n source: source,\n field: z\n });\n });\n });\n var errorFields = {};\n return asyncMap(series, options, function (data, doIt) {\n var rule = data.rule;\n var deep = (rule.type === 'object' || rule.type === 'array') && (typeof rule.fields === 'object' || typeof rule.defaultField === 'object');\n deep = deep && (rule.required || !rule.required && data.value);\n rule.field = data.field;\n\n function addFullfield(key, schema) {\n return _extends({}, schema, {\n fullField: rule.fullField + \".\" + key\n });\n }\n\n function cb(e) {\n if (e === void 0) {\n e = [];\n }\n\n var errors = e;\n\n if (!Array.isArray(errors)) {\n errors = [errors];\n }\n\n if (!options.suppressWarning && errors.length) {\n Schema.warning('async-validator:', errors);\n }\n\n if (errors.length && rule.message !== undefined) {\n errors = [].concat(rule.message);\n }\n\n errors = errors.map(complementError(rule));\n\n if (options.first && errors.length) {\n errorFields[rule.field] = 1;\n return doIt(errors);\n }\n\n if (!deep) {\n doIt(errors);\n } else {\n // if rule is required but the target object\n // does not exist fail at the rule level and don't\n // go deeper\n if (rule.required && !data.value) {\n if (rule.message !== undefined) {\n errors = [].concat(rule.message).map(complementError(rule));\n } else if (options.error) {\n errors = [options.error(rule, format(options.messages.required, rule.field))];\n }\n\n return doIt(errors);\n }\n\n var fieldsSchema = {};\n\n if (rule.defaultField) {\n for (var k in data.value) {\n if (data.value.hasOwnProperty(k)) {\n fieldsSchema[k] = rule.defaultField;\n }\n }\n }\n\n fieldsSchema = _extends({}, fieldsSchema, data.rule.fields);\n\n for (var f in fieldsSchema) {\n if (fieldsSchema.hasOwnProperty(f)) {\n var fieldSchema = Array.isArray(fieldsSchema[f]) ? fieldsSchema[f] : [fieldsSchema[f]];\n fieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f));\n }\n }\n\n var schema = new Schema(fieldsSchema);\n schema.messages(options.messages);\n\n if (data.rule.options) {\n data.rule.options.messages = options.messages;\n data.rule.options.error = options.error;\n }\n\n schema.validate(data.value, data.rule.options || options, function (errs) {\n var finalErrors = [];\n\n if (errors && errors.length) {\n finalErrors.push.apply(finalErrors, errors);\n }\n\n if (errs && errs.length) {\n finalErrors.push.apply(finalErrors, errs);\n }\n\n doIt(finalErrors.length ? finalErrors : null);\n });\n }\n }\n\n var res;\n\n if (rule.asyncValidator) {\n res = rule.asyncValidator(rule, data.value, cb, data.source, options);\n } else if (rule.validator) {\n res = rule.validator(rule, data.value, cb, data.source, options);\n\n if (res === true) {\n cb();\n } else if (res === false) {\n cb(rule.message || rule.field + \" fails\");\n } else if (res instanceof Array) {\n cb(res);\n } else if (res instanceof Error) {\n cb(res.message);\n }\n }\n\n if (res && res.then) {\n res.then(function () {\n return cb();\n }, function (e) {\n return cb(e);\n });\n }\n }, function (results) {\n complete(results);\n });\n },\n getType: function getType(rule) {\n if (rule.type === undefined && rule.pattern instanceof RegExp) {\n rule.type = 'pattern';\n }\n\n if (typeof rule.validator !== 'function' && rule.type && !validators.hasOwnProperty(rule.type)) {\n throw new Error(format('Unknown rule type %s', rule.type));\n }\n\n return rule.type || 'string';\n },\n getValidationMethod: function getValidationMethod(rule) {\n if (typeof rule.validator === 'function') {\n return rule.validator;\n }\n\n var keys = Object.keys(rule);\n var messageIndex = keys.indexOf('message');\n\n if (messageIndex !== -1) {\n keys.splice(messageIndex, 1);\n }\n\n if (keys.length === 1 && keys[0] === 'required') {\n return validators.required;\n }\n\n return validators[this.getType(rule)] || false;\n }\n};\n\nSchema.register = function register(type, validator) {\n if (typeof validator !== 'function') {\n throw new Error('Cannot register a validator by type, validator is not a function');\n }\n\n validators[type] = validator;\n};\n\nSchema.warning = warning;\nSchema.messages = messages;\nSchema.validators = validators;\n\nexport default Schema;\n//# sourceMappingURL=index.js.map\n","export default {\n // Options.jsx\n items_per_page: '条/页',\n jump_to: '跳至',\n jump_to_confirm: '确定',\n page: '页',\n // Pagination.jsx\n prev_page: '上一页',\n next_page: '下一页',\n prev_5: '向前 5 页',\n next_5: '向后 5 页',\n prev_3: '向前 3 页',\n next_3: '向后 3 页'\n};","export function toArray(value) {\n if (value === undefined || value === null) {\n return [];\n }\n\n return Array.isArray(value) ? value : [value];\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { toArray } from './typeUtil';\n/**\n * Convert name to internal supported format.\n * This function should keep since we still thinking if need support like `a.b.c` format.\n * 'a' => ['a']\n * 123 => [123]\n * ['a', 123] => ['a', 123]\n */\n\nexport function getNamePath(path) {\n return toArray(path);\n}\nexport function containsNamePath(namePathList, namePath) {\n return namePathList && namePathList.some(function (path) {\n return matchNamePath(path, namePath);\n });\n}\n\nfunction isObject(obj) {\n return _typeof(obj) === 'object' && obj !== null && Object.getPrototypeOf(obj) === Object.prototype;\n}\n/**\n * Copy values into store and return a new values object\n * ({ a: 1, b: { c: 2 } }, { a: 4, b: { d: 5 } }) => { a: 4, b: { c: 2, d: 5 } }\n */\n\n\nfunction internalSetValues(store, values) {\n var newStore = Array.isArray(store) ? _toConsumableArray(store) : _extends({}, store);\n\n if (!values) {\n return newStore;\n }\n\n Object.keys(values).forEach(function (key) {\n var prevValue = newStore[key];\n var value = values[key]; // If both are object (but target is not array), we use recursion to set deep value\n\n var recursive = isObject(prevValue) && isObject(value);\n newStore[key] = recursive ? internalSetValues(prevValue, value || {}) : value;\n });\n return newStore;\n}\n\nexport function setValues(store) {\n for (var _len = arguments.length, restValues = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n restValues[_key - 1] = arguments[_key];\n }\n\n return restValues.reduce(function (current, newStore) {\n return internalSetValues(current, newStore);\n }, store);\n}\nexport function matchNamePath(namePath, changedNamePath) {\n if (!namePath || !changedNamePath || namePath.length !== changedNamePath.length) {\n return false;\n }\n\n return namePath.every(function (nameUnit, i) {\n return changedNamePath[i] === nameUnit;\n });\n}","var typeTemplate = \"'${name}' is not a valid ${type}\";\nexport var defaultValidateMessages = {\n default: \"Validation error on field '${name}'\",\n required: \"'${name}' is required\",\n enum: \"'${name}' must be one of [${enum}]\",\n whitespace: \"'${name}' cannot be empty\",\n date: {\n format: \"'${name}' is invalid for format date\",\n parse: \"'${name}' could not be parsed as date\",\n invalid: \"'${name}' is invalid date\"\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n boolean: typeTemplate,\n integer: typeTemplate,\n float: typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: \"'${name}' must be exactly ${len} characters\",\n min: \"'${name}' must be at least ${min} characters\",\n max: \"'${name}' cannot be longer than ${max} characters\",\n range: \"'${name}' must be between ${min} and ${max} characters\"\n },\n number: {\n len: \"'${name}' must equal ${len}\",\n min: \"'${name}' cannot be less than ${min}\",\n max: \"'${name}' cannot be greater than ${max}\",\n range: \"'${name}' must be between ${min} and ${max}\"\n },\n array: {\n len: \"'${name}' must be exactly ${len} in length\",\n min: \"'${name}' cannot be less than ${min} in length\",\n max: \"'${name}' cannot be greater than ${max} in length\",\n range: \"'${name}' must be between ${min} and ${max} in length\"\n },\n pattern: {\n mismatch: \"'${name}' does not match pattern ${pattern}\"\n }\n};","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\nvar __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nimport RawAsyncValidator from 'async-validator';\nimport { cloneVNode } from 'vue';\nimport { warning } from '../../vc-util/warning';\nimport { setValues } from './valueUtil';\nimport { defaultValidateMessages } from './messages';\nimport { isValidElement } from '../../_util/props-util'; // Remove incorrect original ts define\n\nvar AsyncValidator = RawAsyncValidator;\n/**\n * Replace with template.\n * `I'm ${name}` + { name: 'bamboo' } = I'm bamboo\n */\n\nfunction replaceMessage(template, kv) {\n return template.replace(/\\$\\{\\w+\\}/g, function (str) {\n var key = str.slice(2, -1);\n return kv[key];\n });\n}\n\nfunction validateRule(name, value, rule, options, messageVariables) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var cloneRule, subRuleField, validator, messages, result, subResults, kv, fillVariableResult;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n cloneRule = _extends({}, rule); // Bug of `async-validator`\n\n delete cloneRule.ruleIndex; // We should special handle array validate\n\n subRuleField = null;\n\n if (cloneRule && cloneRule.type === 'array' && cloneRule.defaultField) {\n subRuleField = cloneRule.defaultField;\n delete cloneRule.defaultField;\n }\n\n validator = new AsyncValidator(_defineProperty({}, name, [cloneRule]));\n messages = setValues({}, defaultValidateMessages, options.validateMessages);\n validator.messages(messages);\n result = [];\n _context.prev = 8;\n _context.next = 11;\n return Promise.resolve(validator.validate(_defineProperty({}, name, value), _extends({}, options)));\n\n case 11:\n _context.next = 16;\n break;\n\n case 13:\n _context.prev = 13;\n _context.t0 = _context[\"catch\"](8);\n\n if (_context.t0.errors) {\n result = _context.t0.errors.map(function (_ref, index) {\n var message = _ref.message;\n return (// Wrap VueNode with `key`\n isValidElement(message) ? cloneVNode(message, {\n key: \"error_\".concat(index)\n }) : message\n );\n });\n } else {\n console.error(_context.t0);\n result = [messages.default()];\n }\n\n case 16:\n if (!(!result.length && subRuleField)) {\n _context.next = 21;\n break;\n }\n\n _context.next = 19;\n return Promise.all(value.map(function (subValue, i) {\n return validateRule(\"\".concat(name, \".\").concat(i), subValue, subRuleField, options, messageVariables);\n }));\n\n case 19:\n subResults = _context.sent;\n return _context.abrupt(\"return\", subResults.reduce(function (prev, errors) {\n return [].concat(_toConsumableArray(prev), _toConsumableArray(errors));\n }, []));\n\n case 21:\n // Replace message with variables\n kv = _extends(_extends(_extends({}, rule), {\n name: name,\n enum: (rule.enum || []).join(', ')\n }), messageVariables);\n fillVariableResult = result.map(function (error) {\n if (typeof error === 'string') {\n return replaceMessage(error, kv);\n }\n\n return error;\n });\n return _context.abrupt(\"return\", fillVariableResult);\n\n case 24:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[8, 13]]);\n }));\n}\n/**\n * We use `async-validator` to validate the value.\n * But only check one value in a time to avoid namePath validate issue.\n */\n\n\nexport function validateRules(namePath, value, rules, options, validateFirst, messageVariables) {\n var _this = this;\n\n var name = namePath.join('.'); // Fill rule with context\n\n var filledRules = rules.map(function (currentRule, ruleIndex) {\n var originValidatorFunc = currentRule.validator;\n\n var cloneRule = _extends(_extends({}, currentRule), {\n ruleIndex: ruleIndex\n }); // Replace validator if needed\n\n\n if (originValidatorFunc) {\n cloneRule.validator = function (rule, val, callback) {\n var hasPromise = false; // Wrap callback only accept when promise not provided\n\n var wrappedCallback = function wrappedCallback() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n // Wait a tick to make sure return type is a promise\n Promise.resolve().then(function () {\n warning(!hasPromise, 'Your validator function has already return a promise. `callback` will be ignored.');\n\n if (!hasPromise) {\n callback.apply(void 0, args);\n }\n });\n }; // Get promise\n\n\n var promise = originValidatorFunc(rule, val, wrappedCallback);\n hasPromise = promise && typeof promise.then === 'function' && typeof promise.catch === 'function';\n /**\n * 1. Use promise as the first priority.\n * 2. If promise not exist, use callback with warning instead\n */\n\n warning(hasPromise, '`callback` is deprecated. Please return a promise instead.');\n\n if (hasPromise) {\n promise.then(function () {\n callback();\n }).catch(function (err) {\n callback(err || ' ');\n });\n }\n };\n }\n\n return cloneRule;\n }).sort(function (_ref2, _ref3) {\n var w1 = _ref2.warningOnly,\n i1 = _ref2.ruleIndex;\n var w2 = _ref3.warningOnly,\n i2 = _ref3.ruleIndex;\n\n if (!!w1 === !!w2) {\n // Let keep origin order\n return i1 - i2;\n }\n\n if (w1) {\n return 1;\n }\n\n return -1;\n }); // Do validate rules\n\n var summaryPromise;\n\n if (validateFirst === true) {\n // >>>>> Validate by serialization\n summaryPromise = new Promise(function (resolve, reject) {\n return __awaiter(_this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var i, rule, errors;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n i = 0;\n\n case 1:\n if (!(i < filledRules.length)) {\n _context2.next = 12;\n break;\n }\n\n rule = filledRules[i];\n _context2.next = 5;\n return validateRule(name, value, rule, options, messageVariables);\n\n case 5:\n errors = _context2.sent;\n\n if (!errors.length) {\n _context2.next = 9;\n break;\n }\n\n reject([{\n errors: errors,\n rule: rule\n }]);\n return _context2.abrupt(\"return\");\n\n case 9:\n i += 1;\n _context2.next = 1;\n break;\n\n case 12:\n /* eslint-enable */\n resolve([]);\n\n case 13:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n });\n } else {\n // >>>>> Validate by parallel\n var rulePromises = filledRules.map(function (rule) {\n return validateRule(name, value, rule, options, messageVariables).then(function (errors) {\n return {\n errors: errors,\n rule: rule\n };\n });\n });\n summaryPromise = (validateFirst ? finishOnFirstFailed(rulePromises) : finishOnAllFailed(rulePromises)).then(function (errors) {\n // Always change to rejection for Field to catch\n return Promise.reject(errors);\n });\n } // Internal catch error to avoid console error log.\n\n\n summaryPromise.catch(function (e) {\n return e;\n });\n return summaryPromise;\n}\n\nfunction finishOnAllFailed(rulePromises) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", Promise.all(rulePromises).then(function (errorsList) {\n var _ref4;\n\n var errors = (_ref4 = []).concat.apply(_ref4, _toConsumableArray(errorsList));\n\n return errors;\n }));\n\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n}\n\nfunction finishOnFirstFailed(rulePromises) {\n return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {\n var count;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n count = 0;\n return _context4.abrupt(\"return\", new Promise(function (resolve) {\n rulePromises.forEach(function (promise) {\n promise.then(function (ruleError) {\n if (ruleError.errors.length) {\n resolve([ruleError]);\n }\n\n count += 1;\n\n if (count === rulePromises.length) {\n resolve([]);\n }\n });\n });\n }));\n\n case 2:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n}","import baseIteratee from './_baseIteratee.js';\nimport isArrayLike from './isArrayLike.js';\nimport keys from './keys.js';\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\nexport default createFind;\n","import createFind from './_createFind.js';\nimport findIndex from './findIndex.js';\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\nexport default find;\n","import { inject, provide, computed } from 'vue';\nexport var FormContextKey = Symbol('formContextKey');\nexport var useProvideForm = function useProvideForm(state) {\n provide(FormContextKey, state);\n};\nexport var useInjectForm = function useInjectForm() {\n return inject(FormContextKey, {\n labelAlign: computed(function () {\n return 'right';\n }),\n vertical: computed(function () {\n return false;\n }),\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n addField: function addField(_eventKey, _field) {},\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n removeField: function removeField(_eventKey) {},\n model: computed(function () {\n return undefined;\n }),\n rules: computed(function () {\n return undefined;\n }),\n requiredMark: computed(function () {\n return false;\n })\n });\n};\nexport var FormItemPrefixContextKey = Symbol('formItemPrefixContextKey');\nexport var useProvideFormItemPrefix = function useProvideFormItemPrefix(state) {\n provide(FormItemPrefixContextKey, state);\n};\nexport var useInjectFormItemPrefix = function useInjectFormItemPrefix() {\n return inject(FormItemPrefixContextKey, {\n prefixCls: computed(function () {\n return '';\n })\n });\n};","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode, Fragment as _Fragment } from \"vue\";\nimport Col from '../grid/Col';\nimport { useInjectForm } from './context';\nimport { useLocaleReceiver } from '../locale-provider/LocaleReceiver';\nimport defaultLocale from '../locale/default';\nimport classNames from '../_util/classNames';\n\nvar FormItemLabel = function FormItemLabel(props, _ref) {\n var _classNames;\n\n var slots = _ref.slots,\n emit = _ref.emit,\n attrs = _ref.attrs;\n\n var _a, _b, _c, _d, _e;\n\n var _Object$assign = _extends(_extends({}, props), attrs),\n prefixCls = _Object$assign.prefixCls,\n htmlFor = _Object$assign.htmlFor,\n labelCol = _Object$assign.labelCol,\n labelAlign = _Object$assign.labelAlign,\n colon = _Object$assign.colon,\n required = _Object$assign.required,\n requiredMark = _Object$assign.requiredMark;\n\n var _useLocaleReceiver = useLocaleReceiver('Form'),\n _useLocaleReceiver2 = _slicedToArray(_useLocaleReceiver, 1),\n formLocale = _useLocaleReceiver2[0];\n\n var label = (_a = props.label) !== null && _a !== void 0 ? _a : (_b = slots.label) === null || _b === void 0 ? void 0 : _b.call(slots);\n if (!label) return null;\n\n var _useInjectForm = useInjectForm(),\n vertical = _useInjectForm.vertical,\n contextLabelAlign = _useInjectForm.labelAlign,\n contextLabelCol = _useInjectForm.labelCol,\n contextColon = _useInjectForm.colon;\n\n var mergedLabelCol = labelCol || (contextLabelCol === null || contextLabelCol === void 0 ? void 0 : contextLabelCol.value) || {};\n var mergedLabelAlign = labelAlign || (contextLabelAlign === null || contextLabelAlign === void 0 ? void 0 : contextLabelAlign.value);\n var labelClsBasic = \"\".concat(prefixCls, \"-item-label\");\n var labelColClassName = classNames(labelClsBasic, mergedLabelAlign === 'left' && \"\".concat(labelClsBasic, \"-left\"), mergedLabelCol.class);\n var labelChildren = label; // Keep label is original where there should have no colon\n\n var computedColon = colon === true || (contextColon === null || contextColon === void 0 ? void 0 : contextColon.value) !== false && colon !== false;\n var haveColon = computedColon && !vertical.value; // Remove duplicated user input colon\n\n if (haveColon && typeof label === 'string' && label.trim() !== '') {\n labelChildren = label.replace(/[:|:]\\s*$/, '');\n }\n\n labelChildren = _createVNode(_Fragment, null, [labelChildren, (_c = slots.tooltip) === null || _c === void 0 ? void 0 : _c.call(slots, {\n class: \"\".concat(prefixCls, \"-item-tooltip\")\n })]); // Add required mark if optional\n\n if (requiredMark === 'optional' && !required) {\n labelChildren = _createVNode(_Fragment, null, [labelChildren, _createVNode(\"span\", {\n \"class\": \"\".concat(prefixCls, \"-item-optional\")\n }, [((_d = formLocale.value) === null || _d === void 0 ? void 0 : _d.optional) || ((_e = defaultLocale.Form) === null || _e === void 0 ? void 0 : _e.optional)])]);\n }\n\n var labelClassName = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-item-required\"), required), _defineProperty(_classNames, \"\".concat(prefixCls, \"-item-required-mark-optional\"), requiredMark === 'optional'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-item-no-colon\"), !computedColon), _classNames));\n return _createVNode(Col, _objectSpread(_objectSpread({}, mergedLabelCol), {}, {\n \"class\": labelColClassName\n }), {\n default: function _default() {\n return [_createVNode(\"label\", {\n \"html-for\": htmlFor,\n \"class\": labelClassName,\n \"title\": typeof label === 'string' ? label : '',\n \"onClick\": function onClick(e) {\n return emit('click', e);\n }\n }, [labelChildren])];\n }\n });\n};\n\nFormItemLabel.displayName = 'FormItemLabel';\nFormItemLabel.inheritAttrs = false;\nexport default FormItemLabel;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport { createVNode as _createVNode } from \"vue\";\nimport { useInjectFormItemPrefix } from './context';\nimport { defineComponent, onBeforeUnmount, ref, watch } from 'vue';\nimport classNames from '../_util/classNames';\nimport Transition, { getTransitionProps } from '../_util/transition';\nimport useConfigInject from '../_util/hooks/useConfigInject';\nexport default defineComponent({\n name: 'ErrorList',\n props: ['errors', 'help', 'onDomErrorVisibleChange'],\n setup: function setup(props) {\n var _useConfigInject = useConfigInject('', props),\n rootPrefixCls = _useConfigInject.prefixCls;\n\n var _useInjectFormItemPre = useInjectFormItemPrefix(),\n prefixCls = _useInjectFormItemPre.prefixCls,\n status = _useInjectFormItemPre.status;\n\n var visible = ref(!!(props.errors && props.errors.length));\n var innerStatus = ref(status.value);\n var timeout = ref();\n var cacheErrors = ref(_toConsumableArray(props.errors));\n watch([function () {\n return _toConsumableArray(props.errors);\n }, function () {\n return props.help;\n }], function (newValues) {\n window.clearTimeout(timeout.value);\n\n if (props.help) {\n visible.value = !!(props.errors && props.errors.length);\n\n if (visible.value) {\n cacheErrors.value = newValues[0];\n }\n } else {\n timeout.value = window.setTimeout(function () {\n visible.value = !!(props.errors && props.errors.length);\n\n if (visible.value) {\n cacheErrors.value = newValues[0];\n }\n });\n }\n });\n onBeforeUnmount(function () {\n window.clearTimeout(timeout.value);\n }); // Memo status in same visible\n\n watch([visible, status], function () {\n if (visible.value && status.value) {\n innerStatus.value = status.value;\n }\n });\n watch(visible, function () {\n var _a;\n\n if (visible.value) {\n (_a = props.onDomErrorVisibleChange) === null || _a === void 0 ? void 0 : _a.call(props, true);\n }\n }, {\n immediate: true,\n flush: 'post'\n });\n return function () {\n var _a;\n\n var baseClassName = \"\".concat(prefixCls.value, \"-item-explain\");\n var transitionProps = getTransitionProps(\"\".concat(rootPrefixCls.value, \"-show-help\"), {\n onAfterLeave: function onAfterLeave() {\n var _a;\n\n (_a = props.onDomErrorVisibleChange) === null || _a === void 0 ? void 0 : _a.call(props, false);\n }\n });\n return _createVNode(Transition, transitionProps, {\n default: function _default() {\n return [visible.value ? _createVNode(\"div\", {\n \"class\": classNames(baseClassName, _defineProperty({}, \"\".concat(baseClassName, \"-\").concat(innerStatus.value), innerStatus.value)),\n \"key\": \"help\"\n }, [(_a = cacheErrors.value) === null || _a === void 0 ? void 0 : _a.map(function (error, index) {\n return _createVNode(\"div\", {\n \"key\": index,\n \"role\": \"alert\"\n }, [error]);\n })]) : null];\n }\n });\n };\n }\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\nimport LoadingOutlined from '@ant-design/icons-vue/LoadingOutlined';\nimport CloseCircleFilled from '@ant-design/icons-vue/CloseCircleFilled';\nimport CheckCircleFilled from '@ant-design/icons-vue/CheckCircleFilled';\nimport ExclamationCircleFilled from '@ant-design/icons-vue/ExclamationCircleFilled';\nimport Col from '../grid/Col';\nimport { useProvideForm, useInjectForm, useProvideFormItemPrefix } from './context';\nimport ErrorList from './ErrorList';\nimport classNames from '../_util/classNames';\nimport { computed, defineComponent, onUnmounted } from 'vue';\nvar iconMap = {\n success: CheckCircleFilled,\n warning: ExclamationCircleFilled,\n error: CloseCircleFilled,\n validating: LoadingOutlined\n};\nvar FormItemInput = defineComponent({\n slots: ['help', 'extra', 'errors'],\n inheritAttrs: false,\n props: ['prefixCls', 'errors', 'hasFeedback', 'validateStatus', 'onDomErrorVisibleChange', 'wrapperCol', 'help', 'extra', 'status'],\n setup: function setup(props, _ref) {\n var slots = _ref.slots;\n var formContext = useInjectForm();\n var contextWrapperCol = formContext.wrapperCol; // Pass to sub FormItem should not with col info\n\n var subFormContext = _extends({}, formContext);\n\n delete subFormContext.labelCol;\n delete subFormContext.wrapperCol;\n useProvideForm(subFormContext);\n useProvideFormItemPrefix({\n prefixCls: computed(function () {\n return props.prefixCls;\n }),\n status: computed(function () {\n return props.status;\n })\n });\n onUnmounted(function () {\n props.onDomErrorVisibleChange(false);\n });\n return function () {\n var _a, _b, _c, _d;\n\n var prefixCls = props.prefixCls,\n wrapperCol = props.wrapperCol,\n _props$help = props.help,\n help = _props$help === void 0 ? (_a = slots.help) === null || _a === void 0 ? void 0 : _a.call(slots) : _props$help,\n _props$errors = props.errors,\n errors = _props$errors === void 0 ? (_b = slots.errors) === null || _b === void 0 ? void 0 : _b.call(slots) : _props$errors,\n onDomErrorVisibleChange = props.onDomErrorVisibleChange,\n hasFeedback = props.hasFeedback,\n validateStatus = props.validateStatus,\n _props$extra = props.extra,\n extra = _props$extra === void 0 ? (_c = slots.extra) === null || _c === void 0 ? void 0 : _c.call(slots) : _props$extra;\n var baseClassName = \"\".concat(prefixCls, \"-item\");\n var mergedWrapperCol = wrapperCol || (contextWrapperCol === null || contextWrapperCol === void 0 ? void 0 : contextWrapperCol.value) || {};\n var className = classNames(\"\".concat(baseClassName, \"-control\"), mergedWrapperCol.class); // Should provides additional icon if `hasFeedback`\n\n var IconNode = validateStatus && iconMap[validateStatus];\n var icon = hasFeedback && IconNode ? _createVNode(\"span\", {\n \"class\": \"\".concat(baseClassName, \"-children-icon\")\n }, [_createVNode(IconNode, null, null)]) : null;\n\n var inputDom = _createVNode(\"div\", {\n \"class\": \"\".concat(baseClassName, \"-control-input\")\n }, [_createVNode(\"div\", {\n \"class\": \"\".concat(baseClassName, \"-control-input-content\")\n }, [(_d = slots.default) === null || _d === void 0 ? void 0 : _d.call(slots)]), icon]);\n\n var errorListDom = _createVNode(ErrorList, {\n \"errors\": errors,\n \"help\": help,\n \"onDomErrorVisibleChange\": onDomErrorVisibleChange\n }, null); // If extra = 0, && will goes wrong\n // 0&&error -> 0\n\n\n var extraDom = extra ? _createVNode(\"div\", {\n \"class\": \"\".concat(baseClassName, \"-extra\")\n }, [extra]) : null;\n return _createVNode(Col, _objectSpread(_objectSpread({}, mergedWrapperCol), {}, {\n \"class\": className\n }), {\n default: function _default() {\n return [inputDom, errorListDom, extraDom];\n }\n });\n };\n }\n});\nexport default FormItemInput;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { createVNode as _createVNode } from \"vue\";\nimport { watch } from 'vue';\nimport { defineComponent, computed, nextTick, ref, watchEffect, onBeforeUnmount } from 'vue';\nimport cloneDeep from 'lodash-es/cloneDeep';\nimport PropTypes from '../_util/vue-types';\nimport Row from '../grid/Row';\nimport { isValidElement, flattenChildren, filterEmpty } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { cloneElement } from '../_util/vnode';\nimport { validateRules as validateRulesUtil } from './utils/validateUtil';\nimport { getNamePath } from './utils/valueUtil';\nimport { toArray } from './utils/typeUtil';\nimport { warning } from '../vc-util/warning';\nimport find from 'lodash-es/find';\nimport { tuple } from '../_util/type';\nimport useConfigInject from '../_util/hooks/useConfigInject';\nimport { useInjectForm } from './context';\nimport FormItemLabel from './FormItemLabel';\nimport FormItemInput from './FormItemInput';\nvar ValidateStatuses = tuple('success', 'warning', 'error', 'validating', '');\n\nfunction getPropByPath(obj, namePathList, strict) {\n var tempObj = obj;\n var keyArr = namePathList;\n var i = 0;\n\n try {\n for (var len = keyArr.length; i < len - 1; ++i) {\n if (!tempObj && !strict) break;\n var key = keyArr[i];\n\n if (key in tempObj) {\n tempObj = tempObj[key];\n } else {\n if (strict) {\n throw Error('please transfer a valid name path to form item!');\n }\n\n break;\n }\n }\n\n if (strict && !tempObj) {\n throw Error('please transfer a valid name path to form item!');\n }\n } catch (error) {\n console.error('please transfer a valid name path to form item!');\n }\n\n return {\n o: tempObj,\n k: keyArr[i],\n v: tempObj ? tempObj[keyArr[i]] : undefined\n };\n}\n\nexport var formItemProps = {\n id: PropTypes.string,\n htmlFor: PropTypes.string,\n prefixCls: PropTypes.string,\n label: PropTypes.VNodeChild,\n help: PropTypes.VNodeChild,\n extra: PropTypes.VNodeChild,\n labelCol: {\n type: Object\n },\n wrapperCol: {\n type: Object\n },\n hasFeedback: PropTypes.looseBool.def(false),\n colon: PropTypes.looseBool,\n labelAlign: PropTypes.oneOf(tuple('left', 'right')),\n prop: {\n type: [String, Number, Array]\n },\n name: {\n type: [String, Number, Array]\n },\n rules: PropTypes.oneOfType([Array, Object]),\n autoLink: PropTypes.looseBool.def(true),\n required: PropTypes.looseBool,\n validateFirst: PropTypes.looseBool,\n validateStatus: PropTypes.oneOf(tuple('', 'success', 'warning', 'error', 'validating')),\n validateTrigger: {\n type: [String, Array]\n },\n messageVariables: {\n type: Object\n },\n hidden: Boolean\n};\nvar indexGuid = 0;\nexport default defineComponent({\n name: 'AFormItem',\n mixins: [BaseMixin],\n inheritAttrs: false,\n __ANT_NEW_FORM_ITEM: true,\n props: formItemProps,\n slots: ['help', 'label', 'extra'],\n setup: function setup(props, _ref) {\n var slots = _ref.slots,\n attrs = _ref.attrs,\n expose = _ref.expose;\n warning(props.prop === undefined, \"`prop` is deprecated. Please use `name` instead.\");\n var eventKey = \"form-item-\".concat(++indexGuid);\n\n var _useConfigInject = useConfigInject('form', props),\n prefixCls = _useConfigInject.prefixCls;\n\n var formContext = useInjectForm();\n var fieldName = computed(function () {\n return props.name || props.prop;\n });\n var errors = ref([]);\n var validateDisabled = ref(false);\n var domErrorVisible = ref(false);\n var inputRef = ref();\n var namePath = computed(function () {\n var val = fieldName.value;\n return getNamePath(val);\n });\n var fieldId = computed(function () {\n var id = props.id;\n\n if (id) {\n return id;\n } else if (!namePath.value.length) {\n return undefined;\n } else {\n var formName = formContext.name.value;\n var mergedId = namePath.value.join('_');\n return formName ? \"\".concat(formName, \"_\").concat(mergedId) : mergedId;\n }\n });\n var fieldValue = computed(function () {\n var model = formContext.model.value;\n\n if (!model || !fieldName.value) {\n return;\n }\n\n return getPropByPath(model, namePath.value, true).v;\n });\n var initialValue = ref(cloneDeep(fieldValue.value));\n var mergedValidateTrigger = computed(function () {\n var validateTrigger = props.validateTrigger !== undefined ? props.validateTrigger : formContext.validateTrigger.value;\n validateTrigger = validateTrigger === undefined ? 'change' : validateTrigger;\n return toArray(validateTrigger);\n });\n var rulesRef = computed(function () {\n var formRules = formContext.rules.value;\n var selfRules = props.rules;\n var requiredRule = props.required !== undefined ? {\n required: !!props.required,\n trigger: mergedValidateTrigger.value\n } : [];\n var prop = getPropByPath(formRules, namePath.value);\n formRules = formRules ? prop.o[prop.k] || prop.v : [];\n var rules = [].concat(selfRules || formRules || []);\n\n if (find(rules, function (rule) {\n return rule.required;\n })) {\n return rules;\n } else {\n return rules.concat(requiredRule);\n }\n });\n var isRequired = computed(function () {\n var rules = rulesRef.value;\n var isRequired = false;\n\n if (rules && rules.length) {\n rules.every(function (rule) {\n if (rule.required) {\n isRequired = true;\n return false;\n }\n\n return true;\n });\n }\n\n return isRequired || props.required;\n });\n var validateState = ref();\n watchEffect(function () {\n validateState.value = props.validateStatus;\n });\n\n var validateRules = function validateRules(options) {\n var _props$validateFirst = props.validateFirst,\n validateFirst = _props$validateFirst === void 0 ? false : _props$validateFirst,\n messageVariables = props.messageVariables;\n\n var _ref2 = options || {},\n triggerName = _ref2.triggerName;\n\n var filteredRules = rulesRef.value;\n\n if (triggerName) {\n filteredRules = filteredRules.filter(function (rule) {\n var trigger = rule.trigger;\n\n if (!trigger && !mergedValidateTrigger.value.length) {\n return true;\n }\n\n var triggerList = toArray(trigger || mergedValidateTrigger.value);\n return triggerList.includes(triggerName);\n });\n }\n\n if (!filteredRules.length) {\n return Promise.resolve();\n }\n\n var promise = validateRulesUtil(namePath.value, fieldValue.value, filteredRules, options, validateFirst, messageVariables);\n validateState.value = 'validating';\n errors.value = [];\n promise.catch(function (e) {\n return e;\n }).then(function () {\n var results = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n if (validateState.value === 'validating') {\n var res = results.filter(function (result) {\n return result && result.errors.length;\n });\n validateState.value = res.length ? 'error' : 'success';\n errors.value = res.map(function (r) {\n return r.errors;\n });\n }\n });\n return promise;\n };\n\n var onFieldBlur = function onFieldBlur() {\n validateRules({\n triggerName: 'blur'\n });\n };\n\n var onFieldChange = function onFieldChange() {\n if (validateDisabled.value) {\n validateDisabled.value = false;\n return;\n }\n\n validateRules({\n triggerName: 'change'\n });\n };\n\n var clearValidate = function clearValidate() {\n validateState.value = '';\n validateDisabled.value = false;\n errors.value = [];\n };\n\n var resetField = function resetField() {\n validateState.value = '';\n validateDisabled.value = true;\n errors.value = [];\n var model = formContext.model.value || {};\n var value = fieldValue.value;\n var prop = getPropByPath(model, namePath.value, true);\n\n if (Array.isArray(value)) {\n prop.o[prop.k] = [].concat(initialValue.value);\n } else {\n prop.o[prop.k] = initialValue.value;\n } // reset validateDisabled after onFieldChange triggered\n\n\n nextTick(function () {\n validateDisabled.value = false;\n });\n };\n\n var onLabelClick = function onLabelClick() {\n var id = fieldId.value;\n\n if (!id || !inputRef.value) {\n return;\n }\n\n var control = inputRef.value.$el.querySelector(\"[id=\\\"\".concat(id, \"\\\"]\"));\n\n if (control && control.focus) {\n control.focus();\n }\n };\n\n expose({\n onFieldBlur: onFieldBlur,\n onFieldChange: onFieldChange,\n clearValidate: clearValidate,\n resetField: resetField\n });\n var registered = false;\n watch(fieldName, function (val) {\n if (val) {\n if (!registered) {\n registered = true;\n formContext.addField(eventKey, {\n fieldValue: fieldValue,\n fieldId: fieldId,\n fieldName: fieldName,\n resetField: resetField,\n clearValidate: clearValidate,\n namePath: namePath,\n validateRules: validateRules,\n rules: rulesRef\n });\n }\n } else {\n registered = false;\n formContext.removeField(eventKey);\n }\n }, {\n immediate: true\n });\n onBeforeUnmount(function () {\n formContext.removeField(eventKey);\n }); // const onHelpAnimEnd = (_key: string, helpShow: boolean) => {\n // this.helpShow = helpShow;\n // if (!helpShow) {\n // this.$forceUpdate();\n // }\n // };\n\n var itemClassName = computed(function () {\n var _ref3;\n\n return _ref3 = {}, _defineProperty(_ref3, \"\".concat(prefixCls.value, \"-item\"), true), _defineProperty(_ref3, \"\".concat(prefixCls.value, \"-item-has-feedback\"), validateState.value && props.hasFeedback), _defineProperty(_ref3, \"\".concat(prefixCls.value, \"-item-has-success\"), validateState.value === 'success'), _defineProperty(_ref3, \"\".concat(prefixCls.value, \"-item-has-warning\"), validateState.value === 'warning'), _defineProperty(_ref3, \"\".concat(prefixCls.value, \"-item-has-error\"), validateState.value === 'error'), _defineProperty(_ref3, \"\".concat(prefixCls.value, \"-item-is-validating\"), validateState.value === 'validating'), _defineProperty(_ref3, \"\".concat(prefixCls.value, \"-item-hidden\"), props.hidden), _ref3;\n });\n return function () {\n var _a, _b, _c, _d, _e, _f;\n\n var help = (_a = props.help) !== null && _a !== void 0 ? _a : slots.help ? filterEmpty(slots.help()) : null;\n var children = flattenChildren((_b = slots.default) === null || _b === void 0 ? void 0 : _b.call(slots));\n var firstChildren = children[0];\n\n if (fieldName.value && props.autoLink && isValidElement(firstChildren)) {\n var originalEvents = firstChildren.props || {};\n var originalBlur = originalEvents.onBlur;\n var originalChange = originalEvents.onChange;\n firstChildren = cloneElement(firstChildren, _extends(_extends({}, fieldId.value ? {\n id: fieldId.value\n } : undefined), {\n onBlur: function onBlur() {\n if (Array.isArray(originalChange)) {\n for (var i = 0, l = originalChange.length; i < l; i++) {\n originalBlur[i].apply(originalBlur, arguments);\n }\n } else if (originalBlur) {\n originalBlur.apply(void 0, arguments);\n }\n\n onFieldBlur();\n },\n onChange: function onChange() {\n if (Array.isArray(originalChange)) {\n for (var i = 0, l = originalChange.length; i < l; i++) {\n originalChange[i].apply(originalChange, arguments);\n }\n } else if (originalChange) {\n originalChange.apply(void 0, arguments);\n }\n\n onFieldChange();\n }\n }));\n }\n\n return _createVNode(Row, _objectSpread(_objectSpread({}, attrs), {}, {\n \"class\": [itemClassName.value, domErrorVisible.value || !!help ? \"\".concat(prefixCls.value, \"-item-with-help\") : '', attrs.class],\n \"key\": \"row\"\n }), {\n default: function _default() {\n return [_createVNode(FormItemLabel, _objectSpread(_objectSpread({}, props), {}, {\n \"htmlFor\": fieldId.value,\n \"required\": isRequired.value,\n \"requiredMark\": formContext.requiredMark.value,\n \"prefixCls\": prefixCls.value,\n \"onClick\": onLabelClick,\n \"label\": (_c = props.label) !== null && _c !== void 0 ? _c : (_d = slots.label) === null || _d === void 0 ? void 0 : _d.call(slots)\n }), null), _createVNode(FormItemInput, _objectSpread(_objectSpread({}, props), {}, {\n \"errors\": help !== undefined && help !== null ? toArray(help) : errors.value,\n \"prefixCls\": prefixCls.value,\n \"status\": validateState.value,\n \"onDomErrorVisibleChange\": function onDomErrorVisibleChange(v) {\n return domErrorVisible.value = v;\n },\n \"validateStatus\": validateState.value,\n \"ref\": inputRef,\n \"help\": help,\n \"extra\": (_e = props.extra) !== null && _e !== void 0 ? _e : (_f = slots.extra) === null || _f === void 0 ? void 0 : _f.call(slots)\n }), {\n default: function _default() {\n return [[firstChildren, children.slice(1)]];\n }\n })];\n }\n });\n };\n }\n});","export function allPromiseFinish(promiseList) {\n var hasError = false;\n var count = promiseList.length;\n var results = [];\n\n if (!promiseList.length) {\n return Promise.resolve([]);\n }\n\n return new Promise(function (resolve, reject) {\n promiseList.forEach(function (promise, index) {\n promise.catch(function (e) {\n hasError = true;\n return e;\n }).then(function (result) {\n count -= 1;\n results[index] = result;\n\n if (count > 0) {\n return;\n }\n\n if (hasError) {\n reject(results);\n }\n\n resolve(results);\n });\n });\n });\n}","import baseIsEqual from './_baseIsEqual.js';\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nexport default isEqual;\n","function t(t){return\"object\"==typeof t&&null!=t&&1===t.nodeType}function e(t,e){return(!e||\"hidden\"!==t)&&\"visible\"!==t&&\"clip\"!==t}function n(t,n){if(t.clientHeighte||o>t&&l=e&&d>=n?o-t-r:l>e&&dn?l-e+i:0}export default function(e,i){var o=window,l=i.scrollMode,d=i.block,u=i.inline,h=i.boundary,a=i.skipOverflowHiddenElements,c=\"function\"==typeof h?h:function(t){return t!==h};if(!t(e))throw new TypeError(\"Invalid target\");for(var f=document.scrollingElement||document.documentElement,s=[],p=e;t(p)&&c(p);){if((p=p.parentElement)===f){s.push(p);break}null!=p&&p===document.body&&n(p)&&!n(document.documentElement)||null!=p&&n(p,a)&&s.push(p)}for(var m=o.visualViewport?o.visualViewport.width:innerWidth,g=o.visualViewport?o.visualViewport.height:innerHeight,w=window.scrollX||pageXOffset,v=window.scrollY||pageYOffset,W=e.getBoundingClientRect(),b=W.height,H=W.width,y=W.top,E=W.right,M=W.bottom,V=W.left,x=\"start\"===d||\"nearest\"===d?y:\"end\"===d?M:y+b/2,I=\"center\"===u?V+H/2:\"end\"===u?E:V,C=[],T=0;T=0&&V>=0&&M<=g&&E<=m&&y>=R&&M<=Y&&V>=L&&E<=X)return C;var S=getComputedStyle(k),j=parseInt(S.borderLeftWidth,10),q=parseInt(S.borderTopWidth,10),z=parseInt(S.borderRightWidth,10),A=parseInt(S.borderBottomWidth,10),F=0,G=0,J=\"offsetWidth\"in k?k.offsetWidth-k.clientWidth-j-z:0,K=\"offsetHeight\"in k?k.offsetHeight-k.clientHeight-q-A:0;if(f===k)F=\"start\"===d?x:\"end\"===d?x-g:\"nearest\"===d?r(v,v+g,g,q,A,v+x,v+x+b,b):x-g/2,G=\"start\"===u?I:\"center\"===u?I-m/2:\"end\"===u?I-m:r(w,w+m,m,j,z,w+I,w+I+H,H),F=Math.max(0,F+v),G=Math.max(0,G+w);else{F=\"start\"===d?x-R-q:\"end\"===d?x-Y+A+K:\"nearest\"===d?r(R,Y,D,q,A+K,x,x+b,b):x-(R+D/2)+K/2,G=\"start\"===u?I-L-j:\"center\"===u?I-(L+O/2)+J/2:\"end\"===u?I-X+z+J:r(L,X,O,j,z+J,I,I+H,H);var N=k.scrollLeft,P=k.scrollTop;x+=P-(F=Math.max(0,Math.min(P+F,k.scrollHeight-D+K))),I+=N-(G=Math.max(0,Math.min(N+G,k.scrollWidth-O+J)))}C.push({el:k,top:F,left:G})}return C}\n//# sourceMappingURL=index.module.js.map\n","import compute from 'compute-scroll-into-view';\n\nfunction isOptionsObject(options) {\n return options === Object(options) && Object.keys(options).length !== 0;\n}\n\nfunction defaultBehavior(actions, behavior) {\n if (behavior === void 0) {\n behavior = 'auto';\n }\n\n var canSmoothScroll = ('scrollBehavior' in document.body.style);\n actions.forEach(function (_ref) {\n var el = _ref.el,\n top = _ref.top,\n left = _ref.left;\n\n if (el.scroll && canSmoothScroll) {\n el.scroll({\n top: top,\n left: left,\n behavior: behavior\n });\n } else {\n el.scrollTop = top;\n el.scrollLeft = left;\n }\n });\n}\n\nfunction getOptions(options) {\n if (options === false) {\n return {\n block: 'end',\n inline: 'nearest'\n };\n }\n\n if (isOptionsObject(options)) {\n return options;\n }\n\n return {\n block: 'start',\n inline: 'nearest'\n };\n}\n\nfunction scrollIntoView(target, options) {\n var targetIsDetached = !target.ownerDocument.documentElement.contains(target);\n\n if (isOptionsObject(options) && typeof options.behavior === 'function') {\n return options.behavior(targetIsDetached ? [] : compute(target, options));\n }\n\n if (targetIsDetached) {\n return;\n }\n\n var computeOptions = getOptions(options);\n return defaultBehavior(compute(target, computeOptions), computeOptions.behavior);\n}\n\nexport default scrollIntoView;","import SetCache from './_SetCache.js';\nimport arrayIncludes from './_arrayIncludes.js';\nimport arrayIncludesWith from './_arrayIncludesWith.js';\nimport arrayMap from './_arrayMap.js';\nimport baseUnary from './_baseUnary.js';\nimport cacheHas from './_cacheHas.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\nfunction baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nexport default baseIntersection;\n","import isArrayLikeObject from './isArrayLikeObject.js';\n\n/**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\nfunction castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n}\n\nexport default castArrayLikeObject;\n","import arrayMap from './_arrayMap.js';\nimport baseIntersection from './_baseIntersection.js';\nimport baseRest from './_baseRest.js';\nimport castArrayLikeObject from './_castArrayLikeObject.js';\n\n/**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\nvar intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n});\n\nexport default intersection;\n","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { computed } from 'vue';\nimport { reactive, watch, nextTick, unref } from 'vue';\nimport cloneDeep from 'lodash-es/cloneDeep';\nimport intersection from 'lodash-es/intersection';\nimport isEqual from 'lodash-es/isEqual';\nimport debounce from 'lodash-es/debounce';\nimport omit from 'lodash-es/omit';\nimport { validateRules } from './utils/validateUtil';\nimport { defaultValidateMessages } from './utils/messages';\nimport { allPromiseFinish } from './utils/asyncUtil';\n\nfunction isRequired(rules) {\n var isRequired = false;\n\n if (rules && rules.length) {\n rules.every(function (rule) {\n if (rule.required) {\n isRequired = true;\n return false;\n }\n\n return true;\n });\n }\n\n return isRequired;\n}\n\nfunction toArray(value) {\n if (value === undefined || value === null) {\n return [];\n }\n\n return Array.isArray(value) ? value : [value];\n}\n\nfunction getPropByPath(obj, path, strict) {\n var tempObj = obj;\n path = path.replace(/\\[(\\w+)\\]/g, '.$1');\n path = path.replace(/^\\./, '');\n var keyArr = path.split('.');\n var i = 0;\n\n for (var len = keyArr.length; i < len - 1; ++i) {\n if (!tempObj && !strict) break;\n var key = keyArr[i];\n\n if (key in tempObj) {\n tempObj = tempObj[key];\n } else {\n if (strict) {\n throw new Error('please transfer a valid name path to validate!');\n }\n\n break;\n }\n }\n\n return {\n o: tempObj,\n k: keyArr[i],\n v: tempObj ? tempObj[keyArr[i]] : null,\n isValid: tempObj && keyArr[i] in tempObj\n };\n}\n\nfunction useForm(modelRef, rulesRef, options) {\n var initialModel = cloneDeep(unref(modelRef));\n var validateInfos = {};\n var rulesKeys = computed(function () {\n return Object.keys(unref(rulesRef));\n });\n rulesKeys.value.forEach(function (key) {\n validateInfos[key] = {\n autoLink: false,\n required: isRequired(unref(rulesRef)[key])\n };\n });\n validateInfos = reactive(validateInfos);\n\n var resetFields = function resetFields(newValues) {\n _extends(unref(modelRef), _extends(_extends({}, cloneDeep(initialModel)), newValues));\n\n nextTick(function () {\n Object.keys(validateInfos).forEach(function (key) {\n validateInfos[key] = {\n autoLink: false,\n required: isRequired(unref(rulesRef)[key])\n };\n });\n });\n };\n\n var filterRules = function filterRules() {\n var rules = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var trigger = arguments.length > 1 ? arguments[1] : undefined;\n\n if (!trigger.length) {\n return rules;\n } else {\n return rules.filter(function (rule) {\n var triggerList = toArray(rule.trigger || 'change');\n return intersection(triggerList, trigger).length;\n });\n }\n };\n\n var lastValidatePromise = null;\n\n var validateFields = function validateFields(names) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var strict = arguments.length > 2 ? arguments[2] : undefined;\n // Collect result in promise list\n var promiseList = [];\n var values = {};\n\n var _loop = function _loop(i) {\n var name = names[i];\n var prop = getPropByPath(unref(modelRef), name, strict);\n if (!prop.isValid) return \"continue\";\n values[name] = prop.v;\n var rules = filterRules(unref(rulesRef)[name], toArray(option && option.trigger));\n\n if (rules.length) {\n promiseList.push(validateField(name, prop.v, rules, option || {}).then(function () {\n return {\n name: name,\n errors: [],\n warnings: []\n };\n }).catch(function (ruleErrors) {\n var mergedErrors = [];\n var mergedWarnings = [];\n ruleErrors.forEach(function (_ref) {\n var warningOnly = _ref.rule.warningOnly,\n errors = _ref.errors;\n\n if (warningOnly) {\n mergedWarnings.push.apply(mergedWarnings, _toConsumableArray(errors));\n } else {\n mergedErrors.push.apply(mergedErrors, _toConsumableArray(errors));\n }\n });\n\n if (mergedErrors.length) {\n return Promise.reject({\n name: name,\n errors: mergedErrors,\n warnings: mergedWarnings\n });\n }\n\n return {\n name: name,\n errors: mergedErrors,\n warnings: mergedWarnings\n };\n }));\n }\n };\n\n for (var i = 0; i < names.length; i++) {\n var _ret = _loop(i);\n\n if (_ret === \"continue\") continue;\n }\n\n var summaryPromise = allPromiseFinish(promiseList);\n lastValidatePromise = summaryPromise;\n var returnPromise = summaryPromise.then(function () {\n if (lastValidatePromise === summaryPromise) {\n return Promise.resolve(values);\n }\n\n return Promise.reject([]);\n }).catch(function (results) {\n var errorList = results.filter(function (result) {\n return result && result.errors.length;\n });\n return Promise.reject({\n values: values,\n errorFields: errorList,\n outOfDate: lastValidatePromise !== summaryPromise\n });\n }); // Do not throw in console\n\n returnPromise.catch(function (e) {\n return e;\n });\n return returnPromise;\n };\n\n var validateField = function validateField(name, value, rules) {\n var option = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var promise = validateRules([name], value, rules, _extends({\n validateMessages: defaultValidateMessages\n }, option), !!option.validateFirst);\n validateInfos[name].validateStatus = 'validating';\n promise.catch(function (e) {\n return e;\n }).then(function () {\n var results = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n if (validateInfos[name].validateStatus === 'validating') {\n var res = results.filter(function (result) {\n return result && result.errors.length;\n });\n validateInfos[name].validateStatus = res.length ? 'error' : 'success';\n validateInfos[name].help = res.length ? res.map(function (r) {\n return r.errors;\n }) : '';\n }\n });\n return promise;\n };\n\n var validate = function validate(names, option) {\n var keys = [];\n var strict = true;\n\n if (!names) {\n strict = false;\n keys = rulesKeys.value;\n } else if (Array.isArray(names)) {\n keys = names;\n } else {\n keys = [names];\n }\n\n var promises = validateFields(keys, option || {}, strict); // Do not throw in console\n\n promises.catch(function (e) {\n return e;\n });\n return promises;\n };\n\n var clearValidate = function clearValidate(names) {\n var keys = [];\n\n if (!names) {\n keys = rulesKeys.value;\n } else if (Array.isArray(names)) {\n keys = names;\n } else {\n keys = [names];\n }\n\n keys.forEach(function (key) {\n validateInfos[key] && _extends(validateInfos[key], {\n validateStatus: '',\n help: ''\n });\n });\n };\n\n var mergeValidateInfo = function mergeValidateInfo(items) {\n var info = {\n autoLink: false\n };\n var help = [];\n var infos = Array.isArray(items) ? items : [items];\n\n for (var i = 0; i < infos.length; i++) {\n var arg = infos[i];\n\n if ((arg === null || arg === void 0 ? void 0 : arg.validateStatus) === 'error') {\n info.validateStatus = 'error';\n arg.help && help.push(arg.help);\n }\n\n info.required = info.required || (arg === null || arg === void 0 ? void 0 : arg.required);\n }\n\n info.help = help;\n return info;\n };\n\n var oldModel = initialModel;\n\n var modelFn = function modelFn(model) {\n var names = [];\n rulesKeys.value.forEach(function (key) {\n var prop = getPropByPath(model, key, false);\n var oldProp = getPropByPath(oldModel, key, false);\n\n if (!isEqual(prop.v, oldProp.v)) {\n names.push(key);\n }\n });\n validate(names, {\n trigger: 'change'\n });\n oldModel = cloneDeep(model);\n };\n\n var debounceOptions = options === null || options === void 0 ? void 0 : options.debounce;\n watch(modelRef, debounceOptions && debounceOptions.wait ? debounce(modelFn, debounceOptions.wait, omit(debounceOptions, ['wait'])) : modelFn, {\n immediate: options && !!options.immediate,\n deep: true\n });\n watch(rulesRef, function () {\n if (options && options.validateOnRuleChange) {\n validate();\n }\n }, {\n deep: true\n });\n return {\n modelRef: modelRef,\n rulesRef: rulesRef,\n initialModel: initialModel,\n validateInfos: validateInfos,\n resetFields: resetFields,\n validate: validate,\n validateField: validateField,\n mergeValidateInfo: mergeValidateInfo,\n clearValidate: clearValidate\n };\n}\n\nexport default useForm;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { createVNode as _createVNode } from \"vue\";\nimport { defineComponent, computed, watch, ref } from 'vue';\nimport PropTypes from '../_util/vue-types';\nimport classNames from '../_util/classNames';\nimport warning from '../_util/warning';\nimport FormItem from './FormItem';\nimport { getNamePath, containsNamePath } from './utils/valueUtil';\nimport { defaultValidateMessages } from './utils/messages';\nimport { allPromiseFinish } from './utils/asyncUtil';\nimport { toArray } from './utils/typeUtil';\nimport isEqual from 'lodash-es/isEqual';\nimport scrollIntoView from 'scroll-into-view-if-needed';\nimport initDefaultProps from '../_util/props-util/initDefaultProps';\nimport { tuple } from '../_util/type';\nimport { useInjectSize } from '../_util/hooks/useSize';\nimport useConfigInject from '../_util/hooks/useConfigInject';\nimport { useProvideForm } from './context';\nimport useForm from './useForm';\nexport var formProps = {\n layout: PropTypes.oneOf(tuple('horizontal', 'inline', 'vertical')),\n labelCol: {\n type: Object\n },\n wrapperCol: {\n type: Object\n },\n colon: PropTypes.looseBool,\n labelAlign: PropTypes.oneOf(tuple('left', 'right')),\n prefixCls: PropTypes.string,\n requiredMark: {\n type: [String, Boolean],\n default: undefined\n },\n\n /** @deprecated Will warning in future branch. Pls use `requiredMark` instead. */\n hideRequiredMark: PropTypes.looseBool,\n model: PropTypes.object,\n rules: {\n type: Object\n },\n validateMessages: PropTypes.object,\n validateOnRuleChange: PropTypes.looseBool,\n // 提交失败自动滚动到第一个错误字段\n scrollToFirstError: {\n type: [Boolean, Object]\n },\n onSubmit: PropTypes.func,\n onFinish: PropTypes.func,\n onFinishFailed: PropTypes.func,\n name: PropTypes.string,\n validateTrigger: {\n type: [String, Array]\n },\n size: {\n type: String\n }\n};\n\nfunction isEqualName(name1, name2) {\n return isEqual(toArray(name1), toArray(name2));\n}\n\nvar Form = defineComponent({\n name: 'AForm',\n inheritAttrs: false,\n props: initDefaultProps(formProps, {\n layout: 'horizontal',\n hideRequiredMark: false,\n colon: true\n }),\n Item: FormItem,\n useForm: useForm,\n emits: ['finishFailed', 'submit', 'finish'],\n setup: function setup(props, _ref) {\n var emit = _ref.emit,\n slots = _ref.slots,\n expose = _ref.expose,\n attrs = _ref.attrs;\n var size = useInjectSize(props);\n\n var _useConfigInject = useConfigInject('form', props),\n prefixCls = _useConfigInject.prefixCls,\n direction = _useConfigInject.direction,\n contextForm = _useConfigInject.form;\n\n var requiredMark = computed(function () {\n return props.requiredMark === '' || props.requiredMark;\n });\n var mergedRequiredMark = computed(function () {\n var _a;\n\n if (requiredMark.value !== undefined) {\n return requiredMark.value;\n }\n\n if (contextForm && ((_a = contextForm.value) === null || _a === void 0 ? void 0 : _a.requiredMark) !== undefined) {\n return contextForm.value.requiredMark;\n }\n\n if (props.hideRequiredMark) {\n return false;\n }\n\n return true;\n });\n var formClassName = computed(function () {\n var _classNames;\n\n return classNames(prefixCls.value, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls.value, \"-\").concat(props.layout), true), _defineProperty(_classNames, \"\".concat(prefixCls.value, \"-hide-required-mark\"), mergedRequiredMark.value === false), _defineProperty(_classNames, \"\".concat(prefixCls.value, \"-rtl\"), direction.value === 'rtl'), _defineProperty(_classNames, \"\".concat(prefixCls.value, \"-\").concat(size.value), size.value), _classNames));\n });\n var lastValidatePromise = ref();\n var fields = {};\n\n var addField = function addField(eventKey, field) {\n fields[eventKey] = field;\n };\n\n var removeField = function removeField(eventKey) {\n delete fields[eventKey];\n };\n\n var getFieldsByNameList = function getFieldsByNameList(nameList) {\n var provideNameList = !!nameList;\n var namePathList = provideNameList ? toArray(nameList).map(getNamePath) : [];\n\n if (!provideNameList) {\n return Object.values(fields);\n } else {\n return Object.values(fields).filter(function (field) {\n return namePathList.findIndex(function (namePath) {\n return isEqualName(namePath, field.fieldName.value);\n }) > -1;\n });\n }\n };\n\n var resetFields = function resetFields(name) {\n if (!props.model) {\n warning(false, 'Form', 'model is required for resetFields to work.');\n return;\n }\n\n getFieldsByNameList(name).forEach(function (field) {\n field.resetField();\n });\n };\n\n var clearValidate = function clearValidate(name) {\n getFieldsByNameList(name).forEach(function (field) {\n field.clearValidate();\n });\n };\n\n var handleFinishFailed = function handleFinishFailed(errorInfo) {\n var scrollToFirstError = props.scrollToFirstError;\n emit('finishFailed', errorInfo);\n\n if (scrollToFirstError && errorInfo.errorFields.length) {\n var scrollToFieldOptions = {};\n\n if (_typeof(scrollToFirstError) === 'object') {\n scrollToFieldOptions = scrollToFirstError;\n }\n\n scrollToField(errorInfo.errorFields[0].name, scrollToFieldOptions);\n }\n };\n\n var validate = function validate() {\n return validateField.apply(void 0, arguments);\n };\n\n var scrollToField = function scrollToField(name) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var fields = getFieldsByNameList(name);\n\n if (fields.length) {\n var fieldId = fields[0].fieldId.value;\n var node = fieldId ? document.getElementById(fieldId) : null;\n\n if (node) {\n scrollIntoView(node, _extends({\n scrollMode: 'if-needed',\n block: 'nearest'\n }, options));\n }\n }\n }; // eslint-disable-next-line no-unused-vars\n\n\n var getFieldsValue = function getFieldsValue() {\n var nameList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var values = {};\n Object.values(fields).forEach(function (_ref2) {\n var fieldName = _ref2.fieldName,\n fieldValue = _ref2.fieldValue;\n values[fieldName.value] = fieldValue.value;\n });\n\n if (nameList === true) {\n return values;\n } else {\n var res = {};\n toArray(nameList).forEach(function (namePath) {\n return res[namePath] = values[namePath];\n });\n return res;\n }\n };\n\n var validateFields = function validateFields(nameList, options) {\n warning(!(nameList instanceof Function), 'Form', 'validateFields/validateField/validate not support callback, please use promise instead');\n\n if (!props.model) {\n warning(false, 'Form', 'model is required for validateFields to work.');\n return Promise.reject('Form `model` is required for validateFields to work.');\n }\n\n var provideNameList = !!nameList;\n var namePathList = provideNameList ? toArray(nameList).map(getNamePath) : []; // Collect result in promise list\n\n var promiseList = [];\n Object.values(fields).forEach(function (field) {\n var _a; // Add field if not provide `nameList`\n\n\n if (!provideNameList) {\n namePathList.push(field.namePath.value);\n } // Skip if without rule\n\n\n if (!((_a = field.rules) === null || _a === void 0 ? void 0 : _a.value.length)) {\n return;\n }\n\n var fieldNamePath = field.namePath.value; // Add field validate rule in to promise list\n\n if (!provideNameList || containsNamePath(namePathList, fieldNamePath)) {\n var promise = field.validateRules(_extends({\n validateMessages: _extends(_extends({}, defaultValidateMessages), props.validateMessages)\n }, options)); // Wrap promise with field\n\n promiseList.push(promise.then(function () {\n return {\n name: fieldNamePath,\n errors: [],\n warnings: []\n };\n }).catch(function (ruleErrors) {\n var mergedErrors = [];\n var mergedWarnings = [];\n ruleErrors.forEach(function (_ref3) {\n var warningOnly = _ref3.rule.warningOnly,\n errors = _ref3.errors;\n\n if (warningOnly) {\n mergedWarnings.push.apply(mergedWarnings, _toConsumableArray(errors));\n } else {\n mergedErrors.push.apply(mergedErrors, _toConsumableArray(errors));\n }\n });\n\n if (mergedErrors.length) {\n return Promise.reject({\n name: fieldNamePath,\n errors: mergedErrors,\n warnings: mergedWarnings\n });\n }\n\n return {\n name: fieldNamePath,\n errors: mergedErrors,\n warnings: mergedWarnings\n };\n }));\n }\n });\n var summaryPromise = allPromiseFinish(promiseList);\n lastValidatePromise.value = summaryPromise;\n var returnPromise = summaryPromise.then(function () {\n if (lastValidatePromise.value === summaryPromise) {\n return Promise.resolve(getFieldsValue(namePathList));\n }\n\n return Promise.reject([]);\n }).catch(function (results) {\n var errorList = results.filter(function (result) {\n return result && result.errors.length;\n });\n return Promise.reject({\n values: getFieldsValue(namePathList),\n errorFields: errorList,\n outOfDate: lastValidatePromise.value !== summaryPromise\n });\n }); // Do not throw in console\n\n returnPromise.catch(function (e) {\n return e;\n });\n return returnPromise;\n };\n\n var validateField = function validateField() {\n return validateFields.apply(void 0, arguments);\n };\n\n var handleSubmit = function handleSubmit(e) {\n e.preventDefault();\n e.stopPropagation();\n emit('submit', e);\n var res = validateFields();\n res.then(function (values) {\n emit('finish', values);\n }).catch(function (errors) {\n handleFinishFailed(errors);\n });\n };\n\n expose({\n resetFields: resetFields,\n clearValidate: clearValidate,\n validateFields: validateFields,\n getFieldsValue: getFieldsValue,\n validate: validate,\n scrollToField: scrollToField\n });\n useProvideForm({\n model: computed(function () {\n return props.model;\n }),\n name: computed(function () {\n return props.name;\n }),\n labelAlign: computed(function () {\n return props.labelAlign;\n }),\n labelCol: computed(function () {\n return props.labelCol;\n }),\n wrapperCol: computed(function () {\n return props.wrapperCol;\n }),\n vertical: computed(function () {\n return props.layout === 'vertical';\n }),\n colon: computed(function () {\n return props.colon;\n }),\n requiredMark: mergedRequiredMark,\n validateTrigger: computed(function () {\n return props.validateTrigger;\n }),\n rules: computed(function () {\n return props.rules;\n }),\n addField: addField,\n removeField: removeField\n });\n watch(function () {\n return props.rules;\n }, function () {\n if (props.validateOnRuleChange) {\n validateFields();\n }\n });\n return function () {\n var _a;\n\n return _createVNode(\"form\", _objectSpread(_objectSpread({}, attrs), {}, {\n \"onSubmit\": handleSubmit,\n \"class\": [formClassName.value, attrs.class]\n }), [(_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)]);\n };\n }\n});\nexport default Form;","import Form, { formProps } from './Form';\nimport FormItem, { formItemProps } from './FormItem';\nimport useForm from './useForm';\n/* istanbul ignore next */\n\nForm.install = function (app) {\n app.component(Form.name, Form);\n app.component(Form.Item.name, Form.Item);\n return app;\n};\n\nexport { FormItem, formItemProps, formProps, useForm };\nexport default Form;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\nimport { defineComponent } from 'vue';\nimport VcSelect, { SelectProps } from '../select';\nimport { getOptionProps, getSlot } from '../_util/props-util';\nexport default defineComponent({\n inheritAttrs: false,\n props: SelectProps(),\n Option: VcSelect.Option,\n render: function render() {\n var _this = this;\n\n var selectOptionsProps = getOptionProps(this);\n\n var selelctProps = _extends(_extends(_extends({}, selectOptionsProps), {\n size: 'small'\n }), this.$attrs);\n\n return _createVNode(VcSelect, selelctProps, {\n default: function _default() {\n return [getSlot(_this)];\n }\n });\n }\n});","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { createVNode as _createVNode } from \"vue\";\nimport PropTypes from '../_util/vue-types';\nimport classNames from '../_util/classNames';\nimport BaseMixin from '../_util/BaseMixin';\nexport default {\n name: 'Pager',\n mixins: [BaseMixin],\n inheritAttrs: false,\n props: {\n rootPrefixCls: PropTypes.string,\n page: PropTypes.number,\n active: PropTypes.looseBool,\n last: PropTypes.looseBool,\n locale: PropTypes.object,\n showTitle: PropTypes.looseBool,\n itemRender: {\n type: Function,\n default: function _default() {}\n }\n },\n methods: {\n handleClick: function handleClick() {\n this.__emit('click', this.page);\n },\n handleKeyPress: function handleKeyPress(event) {\n this.__emit('keypress', event, this.handleClick, this.page);\n }\n },\n render: function render() {\n var _classNames;\n\n var _this$$attrs = this.$attrs,\n _cls = _this$$attrs.class,\n style = _this$$attrs.style;\n var props = this.$props;\n var prefixCls = \"\".concat(props.rootPrefixCls, \"-item\");\n var cls = classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(props.page), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-active\"), props.active), _defineProperty(_classNames, \"\".concat(prefixCls, \"-disabled\"), !props.page), _classNames), _cls);\n return _createVNode(\"li\", {\n \"onClick\": this.handleClick,\n \"onKeypress\": this.handleKeyPress,\n \"title\": this.showTitle ? this.page : null,\n \"tabindex\": \"0\",\n \"class\": cls,\n \"style\": style\n }, [this.itemRender({\n page: this.page,\n type: 'page',\n originalElement: _createVNode(\"a\", null, [this.page])\n })]);\n }\n};","export default {\n ZERO: 48,\n NINE: 57,\n NUMPAD_ZERO: 96,\n NUMPAD_NINE: 105,\n BACKSPACE: 8,\n DELETE: 46,\n ENTER: 13,\n ARROW_UP: 38,\n ARROW_DOWN: 40\n};","import { createVNode as _createVNode } from \"vue\";\nimport PropTypes from '../_util/vue-types';\nimport KEYCODE from './KeyCode';\nimport BaseMixin from '../_util/BaseMixin';\nimport { withDirectives } from 'vue';\nimport antInput from '../_util/antInputDirective';\nexport default {\n mixins: [BaseMixin],\n props: {\n disabled: PropTypes.looseBool,\n changeSize: PropTypes.func,\n quickGo: PropTypes.func,\n selectComponentClass: PropTypes.any,\n current: PropTypes.number,\n pageSizeOptions: PropTypes.array.def(['10', '20', '30', '40']),\n pageSize: PropTypes.number,\n buildOptionText: PropTypes.func,\n locale: PropTypes.object,\n rootPrefixCls: PropTypes.string,\n selectPrefixCls: PropTypes.string,\n goButton: PropTypes.any\n },\n data: function data() {\n return {\n goInputText: ''\n };\n },\n methods: {\n getValidValue: function getValidValue() {\n var goInputText = this.goInputText,\n current = this.current;\n return !goInputText || isNaN(goInputText) ? current : Number(goInputText);\n },\n defaultBuildOptionText: function defaultBuildOptionText(opt) {\n return \"\".concat(opt.value, \" \").concat(this.locale.items_per_page);\n },\n handleChange: function handleChange(e) {\n var _e$target = e.target,\n value = _e$target.value,\n composing = _e$target.composing;\n if (e.isComposing || composing || this.goInputText === value) return;\n this.setState({\n goInputText: value\n });\n },\n handleBlur: function handleBlur(e) {\n var _this$$props = this.$props,\n goButton = _this$$props.goButton,\n quickGo = _this$$props.quickGo,\n rootPrefixCls = _this$$props.rootPrefixCls;\n\n if (goButton) {\n return;\n }\n\n if (e.relatedTarget && (e.relatedTarget.className.indexOf(\"\".concat(rootPrefixCls, \"-prev\")) >= 0 || e.relatedTarget.className.indexOf(\"\".concat(rootPrefixCls, \"-next\")) >= 0)) {\n return;\n }\n\n quickGo(this.getValidValue());\n },\n go: function go(e) {\n var goInputText = this.goInputText;\n\n if (goInputText === '') {\n return;\n }\n\n if (e.keyCode === KEYCODE.ENTER || e.type === 'click') {\n // https://github.com/vueComponent/ant-design-vue/issues/1316\n this.quickGo(this.getValidValue());\n this.setState({\n goInputText: ''\n });\n }\n }\n },\n render: function render() {\n var _this = this;\n\n var rootPrefixCls = this.rootPrefixCls,\n locale = this.locale,\n changeSize = this.changeSize,\n quickGo = this.quickGo,\n goButton = this.goButton,\n Select = this.selectComponentClass,\n defaultBuildOptionText = this.defaultBuildOptionText,\n selectPrefixCls = this.selectPrefixCls,\n pageSize = this.pageSize,\n pageSizeOptions = this.pageSizeOptions,\n goInputText = this.goInputText,\n disabled = this.disabled;\n var prefixCls = \"\".concat(rootPrefixCls, \"-options\");\n var changeSelect = null;\n var goInput = null;\n var gotoButton = null;\n\n if (!changeSize && !quickGo) {\n return null;\n }\n\n if (changeSize && Select) {\n var buildOptionText = this.buildOptionText || defaultBuildOptionText;\n var options = pageSizeOptions.map(function (opt, i) {\n return _createVNode(Select.Option, {\n \"key\": i,\n \"value\": opt\n }, {\n default: function _default() {\n return [buildOptionText({\n value: opt\n })];\n }\n });\n });\n changeSelect = _createVNode(Select, {\n \"disabled\": disabled,\n \"prefixCls\": selectPrefixCls,\n \"showSearch\": false,\n \"class\": \"\".concat(prefixCls, \"-size-changer\"),\n \"optionLabelProp\": \"children\",\n \"value\": (pageSize || pageSizeOptions[0]).toString(),\n \"onChange\": function onChange(value) {\n return _this.changeSize(Number(value));\n },\n \"getPopupContainer\": function getPopupContainer(triggerNode) {\n return triggerNode.parentNode;\n }\n }, {\n default: function _default() {\n return [options];\n }\n });\n }\n\n if (quickGo) {\n if (goButton) {\n gotoButton = typeof goButton === 'boolean' ? _createVNode(\"button\", {\n \"type\": \"button\",\n \"onClick\": this.go,\n \"onKeyup\": this.go,\n \"disabled\": disabled\n }, [locale.jump_to_confirm]) : _createVNode(\"span\", {\n \"onClick\": this.go,\n \"onKeyup\": this.go\n }, [goButton]);\n }\n\n goInput = _createVNode(\"div\", {\n \"class\": \"\".concat(prefixCls, \"-quick-jumper\")\n }, [locale.jump_to, withDirectives(_createVNode(\"input\", {\n \"disabled\": disabled,\n \"type\": \"text\",\n \"value\": goInputText,\n \"onInput\": this.handleChange,\n \"onChange\": this.handleChange,\n \"onKeyup\": this.go,\n \"onBlur\": this.handleBlur\n }, null), [[antInput]]), locale.page, gotoButton]);\n }\n\n return _createVNode(\"li\", {\n \"class\": \"\".concat(prefixCls)\n }, [changeSelect, goInput]);\n }\n};","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { createTextVNode as _createTextVNode, createVNode as _createVNode } from \"vue\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { hasProp, getOptionProps, getComponent, splitAttrs } from '../_util/props-util';\nimport Pager from './Pager';\nimport Options from './Options';\nimport LOCALE from './locale/zh_CN';\nimport KEYCODE from './KeyCode';\nimport classNames from '../_util/classNames';\nimport { defineComponent, withDirectives } from 'vue';\nimport antInput from '../_util/antInputDirective';\n\nfunction noop() {} // 是否是正整数\n\n\nfunction isInteger(value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n}\n\nfunction defaultItemRender(_ref) {\n var originalElement = _ref.originalElement;\n return originalElement;\n}\n\nfunction calculatePage(p, state, props) {\n var pageSize = p;\n\n if (typeof pageSize === 'undefined') {\n pageSize = state.statePageSize;\n }\n\n return Math.floor((props.total - 1) / pageSize) + 1;\n}\n\nexport default defineComponent({\n name: 'Pagination',\n mixins: [BaseMixin],\n inheritAttrs: false,\n props: {\n disabled: PropTypes.looseBool,\n prefixCls: PropTypes.string.def('rc-pagination'),\n selectPrefixCls: PropTypes.string.def('rc-select'),\n current: PropTypes.number,\n defaultCurrent: PropTypes.number.def(1),\n total: PropTypes.number.def(0),\n pageSize: PropTypes.number,\n defaultPageSize: PropTypes.number.def(10),\n hideOnSinglePage: PropTypes.looseBool.def(false),\n showSizeChanger: PropTypes.looseBool.def(false),\n showLessItems: PropTypes.looseBool.def(false),\n // showSizeChange: PropTypes.func.def(noop),\n selectComponentClass: PropTypes.any,\n showPrevNextJumpers: PropTypes.looseBool.def(true),\n showQuickJumper: PropTypes.oneOfType([PropTypes.looseBool, PropTypes.object]).def(false),\n showTitle: PropTypes.looseBool.def(true),\n pageSizeOptions: PropTypes.arrayOf(PropTypes.string),\n buildOptionText: PropTypes.func,\n showTotal: PropTypes.func,\n simple: PropTypes.looseBool,\n locale: PropTypes.object.def(LOCALE),\n itemRender: PropTypes.func,\n prevIcon: PropTypes.any,\n nextIcon: PropTypes.any,\n jumpPrevIcon: PropTypes.any,\n jumpNextIcon: PropTypes.any\n },\n data: function data() {\n var props = getOptionProps(this);\n var hasOnChange = this.onChange !== noop;\n var hasCurrent = ('current' in props);\n\n if (hasCurrent && !hasOnChange) {\n console.warn('Warning: You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.'); // eslint-disable-line\n }\n\n var current = this.defaultCurrent;\n\n if ('current' in props) {\n current = this.current;\n }\n\n var pageSize = this.defaultPageSize;\n\n if ('pageSize' in props) {\n pageSize = this.pageSize;\n }\n\n current = Math.min(current, calculatePage(pageSize, undefined, props));\n return {\n stateCurrent: current,\n stateCurrentInputValue: current,\n statePageSize: pageSize\n };\n },\n watch: {\n current: function current(val) {\n this.setState({\n stateCurrent: val,\n stateCurrentInputValue: val\n });\n },\n pageSize: function pageSize(val) {\n var newState = {};\n var current = this.stateCurrent;\n var newCurrent = calculatePage(val, this.$data, this.$props);\n current = current > newCurrent ? newCurrent : current;\n\n if (!hasProp(this, 'current')) {\n newState.stateCurrent = current;\n newState.stateCurrentInputValue = current;\n }\n\n newState.statePageSize = val;\n this.setState(newState);\n },\n stateCurrent: function stateCurrent(val, oldValue) {\n var _this = this;\n\n // When current page change, fix focused style of prev item\n // A hacky solution of https://github.com/ant-design/ant-design/issues/8948\n this.$nextTick(function () {\n if (_this.$refs.paginationNode) {\n var lastCurrentNode = _this.$refs.paginationNode.querySelector(\".\".concat(_this.prefixCls, \"-item-\").concat(oldValue));\n\n if (lastCurrentNode && document.activeElement === lastCurrentNode) {\n lastCurrentNode.blur();\n }\n }\n });\n },\n total: function total() {\n var newState = {};\n var newCurrent = calculatePage(this.pageSize, this.$data, this.$props);\n\n if (hasProp(this, 'current')) {\n var current = Math.min(this.current, newCurrent);\n newState.stateCurrent = current;\n newState.stateCurrentInputValue = current;\n } else {\n var _current = this.stateCurrent;\n\n if (_current === 0 && newCurrent > 0) {\n _current = 1;\n } else {\n _current = Math.min(this.stateCurrent, newCurrent);\n }\n\n newState.stateCurrent = _current;\n }\n\n this.setState(newState);\n }\n },\n methods: {\n getJumpPrevPage: function getJumpPrevPage() {\n return Math.max(1, this.stateCurrent - (this.showLessItems ? 3 : 5));\n },\n getJumpNextPage: function getJumpNextPage() {\n return Math.min(calculatePage(undefined, this.$data, this.$props), this.stateCurrent + (this.showLessItems ? 3 : 5));\n },\n getItemIcon: function getItemIcon(icon) {\n var prefixCls = this.$props.prefixCls;\n\n var iconNode = getComponent(this, icon, this.$props) || _createVNode(\"a\", {\n \"class\": \"\".concat(prefixCls, \"-item-link\")\n }, null);\n\n return iconNode;\n },\n getValidValue: function getValidValue(e) {\n var inputValue = e.target.value;\n var allPages = calculatePage(undefined, this.$data, this.$props);\n var stateCurrentInputValue = this.$data.stateCurrentInputValue;\n var value;\n\n if (inputValue === '') {\n value = inputValue;\n } else if (isNaN(Number(inputValue))) {\n value = stateCurrentInputValue;\n } else if (inputValue >= allPages) {\n value = allPages;\n } else {\n value = Number(inputValue);\n }\n\n return value;\n },\n isValid: function isValid(page) {\n return isInteger(page) && page !== this.stateCurrent;\n },\n shouldDisplayQuickJumper: function shouldDisplayQuickJumper() {\n var _this$$props = this.$props,\n showQuickJumper = _this$$props.showQuickJumper,\n pageSize = _this$$props.pageSize,\n total = _this$$props.total;\n\n if (total <= pageSize) {\n return false;\n }\n\n return showQuickJumper;\n },\n // calculatePage (p) {\n // let pageSize = p\n // if (typeof pageSize === 'undefined') {\n // pageSize = this.statePageSize\n // }\n // return Math.floor((this.total - 1) / pageSize) + 1\n // },\n handleKeyDown: function handleKeyDown(event) {\n if (event.keyCode === KEYCODE.ARROW_UP || event.keyCode === KEYCODE.ARROW_DOWN) {\n event.preventDefault();\n }\n },\n handleKeyUp: function handleKeyUp(e) {\n if (e.isComposing || e.target.composing) return;\n var value = this.getValidValue(e);\n var stateCurrentInputValue = this.stateCurrentInputValue;\n\n if (value !== stateCurrentInputValue) {\n this.setState({\n stateCurrentInputValue: value\n });\n }\n\n if (e.keyCode === KEYCODE.ENTER) {\n this.handleChange(value);\n } else if (e.keyCode === KEYCODE.ARROW_UP) {\n this.handleChange(value - 1);\n } else if (e.keyCode === KEYCODE.ARROW_DOWN) {\n this.handleChange(value + 1);\n }\n },\n changePageSize: function changePageSize(size) {\n var current = this.stateCurrent;\n var preCurrent = current;\n var newCurrent = calculatePage(size, this.$data, this.$props);\n current = current > newCurrent ? newCurrent : current; // fix the issue:\n // Once 'total' is 0, 'current' in 'onShowSizeChange' is 0, which is not correct.\n\n if (newCurrent === 0) {\n current = this.stateCurrent;\n }\n\n if (typeof size === 'number') {\n if (!hasProp(this, 'pageSize')) {\n this.setState({\n statePageSize: size\n });\n }\n\n if (!hasProp(this, 'current')) {\n this.setState({\n stateCurrent: current,\n stateCurrentInputValue: current\n });\n }\n }\n\n this.__emit('update:pageSize', size);\n\n if (current !== preCurrent) {\n this.__emit('update:current', current);\n }\n\n this.__emit('showSizeChange', current, size);\n },\n handleChange: function handleChange(p) {\n var disabled = this.$props.disabled;\n var page = p;\n\n if (this.isValid(page) && !disabled) {\n var currentPage = calculatePage(undefined, this.$data, this.$props);\n\n if (page > currentPage) {\n page = currentPage;\n } else if (page < 1) {\n page = 1;\n }\n\n if (!hasProp(this, 'current')) {\n this.setState({\n stateCurrent: page,\n stateCurrentInputValue: page\n });\n } // this.__emit('input', page)\n\n\n this.__emit('update:current', page);\n\n this.__emit('change', page, this.statePageSize);\n\n return page;\n }\n\n return this.stateCurrent;\n },\n prev: function prev() {\n if (this.hasPrev()) {\n this.handleChange(this.stateCurrent - 1);\n }\n },\n next: function next() {\n if (this.hasNext()) {\n this.handleChange(this.stateCurrent + 1);\n }\n },\n jumpPrev: function jumpPrev() {\n this.handleChange(this.getJumpPrevPage());\n },\n jumpNext: function jumpNext() {\n this.handleChange(this.getJumpNextPage());\n },\n hasPrev: function hasPrev() {\n return this.stateCurrent > 1;\n },\n hasNext: function hasNext() {\n return this.stateCurrent < calculatePage(undefined, this.$data, this.$props);\n },\n runIfEnter: function runIfEnter(event, callback) {\n if (event.key === 'Enter' || event.charCode === 13) {\n for (var _len = arguments.length, restParams = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n restParams[_key - 2] = arguments[_key];\n }\n\n callback.apply(void 0, restParams);\n }\n },\n runIfEnterPrev: function runIfEnterPrev(event) {\n this.runIfEnter(event, this.prev);\n },\n runIfEnterNext: function runIfEnterNext(event) {\n this.runIfEnter(event, this.next);\n },\n runIfEnterJumpPrev: function runIfEnterJumpPrev(event) {\n this.runIfEnter(event, this.jumpPrev);\n },\n runIfEnterJumpNext: function runIfEnterJumpNext(event) {\n this.runIfEnter(event, this.jumpNext);\n },\n handleGoTO: function handleGoTO(event) {\n if (event.keyCode === KEYCODE.ENTER || event.type === 'click') {\n this.handleChange(this.stateCurrentInputValue);\n }\n }\n },\n render: function render() {\n var _classNames;\n\n var _this$$props2 = this.$props,\n prefixCls = _this$$props2.prefixCls,\n disabled = _this$$props2.disabled;\n\n var _a = splitAttrs(this.$attrs).extraAttrs,\n className = _a.class,\n restAttrs = __rest(_a, [\"class\"]); // When hideOnSinglePage is true and there is only 1 page, hide the pager\n\n\n if (this.hideOnSinglePage === true && this.total <= this.statePageSize) {\n return null;\n }\n\n var itemRender = this.itemRender || defaultItemRender;\n var props = this.$props;\n var locale = this.locale;\n var allPages = calculatePage(undefined, this.$data, this.$props);\n var pagerList = [];\n var jumpPrev = null;\n var jumpNext = null;\n var firstPager = null;\n var lastPager = null;\n var gotoButton = null;\n var goButton = this.showQuickJumper && this.showQuickJumper.goButton;\n var pageBufferSize = this.showLessItems ? 1 : 2;\n var stateCurrent = this.stateCurrent,\n statePageSize = this.statePageSize;\n var prevPage = stateCurrent - 1 > 0 ? stateCurrent - 1 : 0;\n var nextPage = stateCurrent + 1 < allPages ? stateCurrent + 1 : allPages;\n\n if (this.simple) {\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = _createVNode(\"button\", {\n \"type\": \"button\",\n \"onClick\": this.handleGoTO,\n \"onKeyup\": this.handleGoTO\n }, [locale.jump_to_confirm]);\n } else {\n gotoButton = _createVNode(\"span\", {\n \"onClick\": this.handleGoTO,\n \"onKeyup\": this.handleGoTO\n }, [goButton]);\n }\n\n var _gotoButton = function () {\n return gotoButton;\n }();\n\n gotoButton = _createVNode(\"li\", {\n \"title\": this.showTitle ? \"\".concat(locale.jump_to).concat(this.stateCurrent, \"/\").concat(allPages) : null,\n \"class\": \"\".concat(prefixCls, \"-simple-pager\")\n }, [gotoButton]);\n }\n\n var hasPrev = this.hasPrev();\n var hasNext = this.hasNext();\n return _createVNode(\"ul\", _objectSpread({\n \"class\": classNames(\"\".concat(prefixCls, \" \").concat(prefixCls, \"-simple\"), className)\n }, restAttrs), [_createVNode(\"li\", {\n \"title\": this.showTitle ? locale.prev_page : null,\n \"onClick\": this.prev,\n \"tabindex\": hasPrev ? 0 : null,\n \"onKeypress\": this.runIfEnterPrev,\n \"class\": \"\".concat(hasPrev ? '' : \"\".concat(prefixCls, \"-disabled\"), \" \").concat(prefixCls, \"-prev\"),\n \"aria-disabled\": !this.hasPrev()\n }, [itemRender({\n page: prevPage,\n type: 'prev',\n originalElement: this.getItemIcon('prevIcon')\n })]), _createVNode(\"li\", {\n \"title\": this.showTitle ? \"\".concat(stateCurrent, \"/\").concat(allPages) : null,\n \"class\": \"\".concat(prefixCls, \"-simple-pager\")\n }, [withDirectives(_createVNode(\"input\", {\n \"type\": \"text\",\n \"value\": this.stateCurrentInputValue,\n \"onKeydown\": this.handleKeyDown,\n \"onKeyup\": this.handleKeyUp,\n \"onInput\": this.handleKeyUp,\n \"onChange\": this.handleKeyUp,\n \"size\": \"3\"\n }, null), [[antInput]]), _createVNode(\"span\", {\n \"class\": \"\".concat(prefixCls, \"-slash\")\n }, [_createTextVNode(\"\\uFF0F\")]), allPages]), _createVNode(\"li\", {\n \"title\": this.showTitle ? locale.next_page : null,\n \"onClick\": this.next,\n \"tabindex\": this.hasNext ? 0 : null,\n \"onKeypress\": this.runIfEnterNext,\n \"class\": \"\".concat(hasNext ? '' : \"\".concat(prefixCls, \"-disabled\"), \" \").concat(prefixCls, \"-next\"),\n \"aria-disabled\": !this.hasNext()\n }, [itemRender({\n page: nextPage,\n type: 'next',\n originalElement: this.getItemIcon('nextIcon')\n })]), gotoButton]);\n }\n\n if (allPages <= 5 + pageBufferSize * 2) {\n var pagerProps = {\n locale: locale,\n rootPrefixCls: prefixCls,\n showTitle: props.showTitle,\n itemRender: itemRender,\n onClick: this.handleChange,\n onKeypress: this.runIfEnter\n };\n\n if (!allPages) {\n pagerList.push(_createVNode(Pager, _objectSpread(_objectSpread({}, pagerProps), {}, {\n \"key\": \"noPager\",\n \"page\": allPages,\n \"class\": \"\".concat(prefixCls, \"-disabled\")\n }), null));\n }\n\n for (var i = 1; i <= allPages; i++) {\n var active = stateCurrent === i;\n pagerList.push(_createVNode(Pager, _objectSpread(_objectSpread({}, pagerProps), {}, {\n \"key\": i,\n \"page\": i,\n \"active\": active\n }), null));\n }\n } else {\n var prevItemTitle = this.showLessItems ? locale.prev_3 : locale.prev_5;\n var nextItemTitle = this.showLessItems ? locale.next_3 : locale.next_5;\n\n if (this.showPrevNextJumpers) {\n var jumpPrevClassString = \"\".concat(prefixCls, \"-jump-prev\");\n\n if (props.jumpPrevIcon) {\n jumpPrevClassString += \" \".concat(prefixCls, \"-jump-prev-custom-icon\");\n }\n\n jumpPrev = _createVNode(\"li\", {\n \"title\": this.showTitle ? prevItemTitle : null,\n \"key\": \"prev\",\n \"onClick\": this.jumpPrev,\n \"tabindex\": \"0\",\n \"onKeypress\": this.runIfEnterJumpPrev,\n \"class\": jumpPrevClassString\n }, [itemRender({\n page: this.getJumpPrevPage(),\n type: 'jump-prev',\n originalElement: this.getItemIcon('jumpPrevIcon')\n })]);\n var jumpNextClassString = \"\".concat(prefixCls, \"-jump-next\");\n\n if (props.jumpNextIcon) {\n jumpNextClassString += \" \".concat(prefixCls, \"-jump-next-custom-icon\");\n }\n\n jumpNext = _createVNode(\"li\", {\n \"title\": this.showTitle ? nextItemTitle : null,\n \"key\": \"next\",\n \"tabindex\": \"0\",\n \"onClick\": this.jumpNext,\n \"onKeypress\": this.runIfEnterJumpNext,\n \"class\": jumpNextClassString\n }, [itemRender({\n page: this.getJumpNextPage(),\n type: 'jump-next',\n originalElement: this.getItemIcon('jumpNextIcon')\n })]);\n }\n\n lastPager = _createVNode(Pager, {\n \"locale\": locale,\n \"last\": true,\n \"rootPrefixCls\": prefixCls,\n \"onClick\": this.handleChange,\n \"onKeypress\": this.runIfEnter,\n \"key\": allPages,\n \"page\": allPages,\n \"active\": false,\n \"showTitle\": this.showTitle,\n \"itemRender\": itemRender\n }, null);\n firstPager = _createVNode(Pager, {\n \"locale\": locale,\n \"rootPrefixCls\": prefixCls,\n \"onClick\": this.handleChange,\n \"onKeypress\": this.runIfEnter,\n \"key\": 1,\n \"page\": 1,\n \"active\": false,\n \"showTitle\": this.showTitle,\n \"itemRender\": itemRender\n }, null);\n var left = Math.max(1, stateCurrent - pageBufferSize);\n var right = Math.min(stateCurrent + pageBufferSize, allPages);\n\n if (stateCurrent - 1 <= pageBufferSize) {\n right = 1 + pageBufferSize * 2;\n }\n\n if (allPages - stateCurrent <= pageBufferSize) {\n left = allPages - pageBufferSize * 2;\n }\n\n for (var _i = left; _i <= right; _i++) {\n var _active = stateCurrent === _i;\n\n pagerList.push(_createVNode(Pager, {\n \"locale\": locale,\n \"rootPrefixCls\": prefixCls,\n \"onClick\": this.handleChange,\n \"onKeypress\": this.runIfEnter,\n \"key\": _i,\n \"page\": _i,\n \"active\": _active,\n \"showTitle\": this.showTitle,\n \"itemRender\": itemRender\n }, null));\n }\n\n if (stateCurrent - 1 >= pageBufferSize * 2 && stateCurrent !== 1 + 2) {\n pagerList[0] = _createVNode(Pager, {\n \"locale\": locale,\n \"rootPrefixCls\": prefixCls,\n \"onClick\": this.handleChange,\n \"onKeypress\": this.runIfEnter,\n \"key\": left,\n \"page\": left,\n \"class\": \"\".concat(prefixCls, \"-item-after-jump-prev\"),\n \"active\": false,\n \"showTitle\": this.showTitle,\n \"itemRender\": itemRender\n }, null);\n pagerList.unshift(jumpPrev);\n }\n\n if (allPages - stateCurrent >= pageBufferSize * 2 && stateCurrent !== allPages - 2) {\n pagerList[pagerList.length - 1] = _createVNode(Pager, {\n \"locale\": locale,\n \"rootPrefixCls\": prefixCls,\n \"onClick\": this.handleChange,\n \"onKeypress\": this.runIfEnter,\n \"key\": right,\n \"page\": right,\n \"class\": \"\".concat(prefixCls, \"-item-before-jump-next\"),\n \"active\": false,\n \"showTitle\": this.showTitle,\n \"itemRender\": itemRender\n }, null);\n pagerList.push(jumpNext);\n }\n\n if (left !== 1) {\n pagerList.unshift(firstPager);\n }\n\n if (right !== allPages) {\n pagerList.push(lastPager);\n }\n }\n\n var totalText = null;\n\n if (this.showTotal) {\n totalText = _createVNode(\"li\", {\n \"class\": \"\".concat(prefixCls, \"-total-text\")\n }, [this.showTotal(this.total, [this.total === 0 ? 0 : (stateCurrent - 1) * statePageSize + 1, stateCurrent * statePageSize > this.total ? this.total : stateCurrent * statePageSize])]);\n }\n\n var prevDisabled = !this.hasPrev() || !allPages;\n var nextDisabled = !this.hasNext() || !allPages;\n var buildOptionText = this.buildOptionText || this.$slots.buildOptionText;\n return _createVNode(\"ul\", _objectSpread(_objectSpread({\n \"unselectable\": \"unselectable\",\n \"ref\": \"paginationNode\"\n }, restAttrs), {}, {\n \"class\": classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls), true), _defineProperty(_classNames, \"\".concat(prefixCls, \"-disabled\"), disabled), _classNames), className)\n }), [totalText, _createVNode(\"li\", {\n \"title\": this.showTitle ? locale.prev_page : null,\n \"onClick\": this.prev,\n \"tabindex\": prevDisabled ? null : 0,\n \"onKeypress\": this.runIfEnterPrev,\n \"class\": \"\".concat(!prevDisabled ? '' : \"\".concat(prefixCls, \"-disabled\"), \" \").concat(prefixCls, \"-prev\"),\n \"aria-disabled\": prevDisabled\n }, [itemRender({\n page: prevPage,\n type: 'prev',\n originalElement: this.getItemIcon('prevIcon')\n })]), pagerList, _createVNode(\"li\", {\n \"title\": this.showTitle ? locale.next_page : null,\n \"onClick\": this.next,\n \"tabindex\": nextDisabled ? null : 0,\n \"onKeypress\": this.runIfEnterNext,\n \"class\": \"\".concat(!nextDisabled ? '' : \"\".concat(prefixCls, \"-disabled\"), \" \").concat(prefixCls, \"-next\"),\n \"aria-disabled\": nextDisabled\n }, [itemRender({\n page: nextPage,\n type: 'next',\n originalElement: this.getItemIcon('nextIcon')\n })]), _createVNode(Options, {\n \"disabled\": disabled,\n \"locale\": locale,\n \"rootPrefixCls\": prefixCls,\n \"selectComponentClass\": this.selectComponentClass,\n \"selectPrefixCls\": this.selectPrefixCls,\n \"changeSize\": this.showSizeChanger ? this.changePageSize : null,\n \"current\": stateCurrent,\n \"pageSize\": statePageSize,\n \"pageSizeOptions\": this.pageSizeOptions,\n \"buildOptionText\": buildOptionText || null,\n \"quickGo\": this.shouldDisplayQuickJumper() ? this.handleChange : null,\n \"goButton\": goButton\n }, null)]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createTextVNode as _createTextVNode, createVNode as _createVNode } from \"vue\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport { defineComponent, inject } from 'vue';\nimport LeftOutlined from '@ant-design/icons-vue/LeftOutlined';\nimport RightOutlined from '@ant-design/icons-vue/RightOutlined';\nimport DoubleLeftOutlined from '@ant-design/icons-vue/DoubleLeftOutlined';\nimport DoubleRightOutlined from '@ant-design/icons-vue/DoubleRightOutlined';\nimport { tuple } from '../_util/type';\nimport PropTypes, { withUndefined } from '../_util/vue-types';\nimport VcSelect from '../select';\nimport MiniSelect from './MiniSelect';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport { getOptionProps } from '../_util/props-util';\nimport VcPagination from '../vc-pagination';\nimport enUS from '../vc-pagination/locale/en_US';\nimport { defaultConfigProvider } from '../config-provider';\nimport classNames from '../_util/classNames';\nexport var paginationProps = function paginationProps() {\n return {\n total: PropTypes.number,\n defaultCurrent: PropTypes.number,\n disabled: PropTypes.looseBool,\n current: PropTypes.number,\n defaultPageSize: PropTypes.number,\n pageSize: PropTypes.number,\n hideOnSinglePage: PropTypes.looseBool,\n showSizeChanger: PropTypes.looseBool,\n pageSizeOptions: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])),\n buildOptionText: PropTypes.func,\n showSizeChange: PropTypes.func,\n showQuickJumper: withUndefined(PropTypes.oneOfType([PropTypes.looseBool, PropTypes.object])),\n showTotal: PropTypes.any,\n size: PropTypes.string,\n simple: PropTypes.looseBool,\n locale: PropTypes.object,\n prefixCls: PropTypes.string,\n selectPrefixCls: PropTypes.string,\n itemRender: PropTypes.func,\n role: PropTypes.string,\n showLessItems: PropTypes.looseBool,\n onChange: PropTypes.func,\n onShowSizeChange: PropTypes.func,\n 'onUpdate:current': PropTypes.func,\n 'onUpdate:pageSize': PropTypes.func\n };\n};\nexport var paginationConfig = function paginationConfig() {\n return _extends(_extends({}, paginationProps()), {\n position: PropTypes.oneOf(tuple('top', 'bottom', 'both'))\n });\n};\nexport default defineComponent({\n name: 'APagination',\n inheritAttrs: false,\n props: _extends({}, paginationProps()),\n emits: ['change', 'showSizeChange', 'update:current', 'update:pageSize'],\n setup: function setup() {\n return {\n configProvider: inject('configProvider', defaultConfigProvider)\n };\n },\n methods: {\n getIconsProps: function getIconsProps(prefixCls) {\n var prevIcon = _createVNode(\"a\", {\n \"class\": \"\".concat(prefixCls, \"-item-link\")\n }, [_createVNode(LeftOutlined, null, null)]);\n\n var nextIcon = _createVNode(\"a\", {\n \"class\": \"\".concat(prefixCls, \"-item-link\")\n }, [_createVNode(RightOutlined, null, null)]);\n\n var jumpPrevIcon = _createVNode(\"a\", {\n \"class\": \"\".concat(prefixCls, \"-item-link\")\n }, [_createVNode(\"div\", {\n \"class\": \"\".concat(prefixCls, \"-item-container\")\n }, [_createVNode(DoubleLeftOutlined, {\n \"class\": \"\".concat(prefixCls, \"-item-link-icon\")\n }, null), _createVNode(\"span\", {\n \"class\": \"\".concat(prefixCls, \"-item-ellipsis\")\n }, [_createTextVNode(\"\\u2022\\u2022\\u2022\")])])]);\n\n var jumpNextIcon = _createVNode(\"a\", {\n \"class\": \"\".concat(prefixCls, \"-item-link\")\n }, [_createVNode(\"div\", {\n \"class\": \"\".concat(prefixCls, \"-item-container\")\n }, [_createVNode(DoubleRightOutlined, {\n \"class\": \"\".concat(prefixCls, \"-item-link-icon\")\n }, null), _createVNode(\"span\", {\n \"class\": \"\".concat(prefixCls, \"-item-ellipsis\")\n }, [_createTextVNode(\"\\u2022\\u2022\\u2022\")])])]);\n\n return {\n prevIcon: prevIcon,\n nextIcon: nextIcon,\n jumpPrevIcon: jumpPrevIcon,\n jumpNextIcon: jumpNextIcon\n };\n },\n renderPagination: function renderPagination(contextLocale) {\n var _a = getOptionProps(this),\n customizePrefixCls = _a.prefixCls,\n customizeSelectPrefixCls = _a.selectPrefixCls,\n buildOptionText = _a.buildOptionText,\n size = _a.size,\n customLocale = _a.locale,\n restProps = __rest(_a, [\"prefixCls\", \"selectPrefixCls\", \"buildOptionText\", \"size\", \"locale\"]);\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('pagination', customizePrefixCls);\n var selectPrefixCls = getPrefixCls('select', customizeSelectPrefixCls);\n var isSmall = size === 'small';\n\n var paginationProps = _extends(_extends(_extends(_extends(_extends({\n prefixCls: prefixCls,\n selectPrefixCls: selectPrefixCls\n }, restProps), this.getIconsProps(prefixCls)), {\n selectComponentClass: isSmall ? MiniSelect : VcSelect,\n locale: _extends(_extends({}, contextLocale), customLocale),\n buildOptionText: buildOptionText || this.$slots.buildOptionText\n }), this.$attrs), {\n class: classNames({\n mini: isSmall\n }, this.$attrs.class),\n itemRender: this.itemRender || this.$slots.itemRender\n });\n\n return _createVNode(VcPagination, paginationProps, null);\n }\n },\n render: function render() {\n return _createVNode(LocaleReceiver, {\n \"componentName\": \"Pagination\",\n \"defaultLocale\": enUS,\n \"children\": this.renderPagination\n }, null);\n }\n});","import '../../style/index.less';\nimport './index.less'; // style dependencies\n// deps-lint-skip: tooltip","import '../../style/index.less';\nimport './index.less';","import '../../style/index.less';\nimport './index.less';","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport { defineComponent, inject } from 'vue';\nimport PropTypes from '../_util/vue-types';\nimport VcCheckbox from '../vc-checkbox';\nimport classNames from '../_util/classNames';\nimport { getOptionProps } from '../_util/props-util';\nimport { defaultConfigProvider } from '../config-provider';\nexport var radioProps = {\n prefixCls: PropTypes.string,\n defaultChecked: PropTypes.looseBool,\n checked: PropTypes.looseBool,\n disabled: PropTypes.looseBool,\n isGroup: PropTypes.looseBool,\n value: PropTypes.any,\n name: PropTypes.string,\n id: PropTypes.string,\n autofocus: PropTypes.looseBool,\n type: PropTypes.string.def('radio'),\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func\n};\nexport default defineComponent({\n name: 'ARadio',\n props: radioProps,\n emits: ['update:checked', 'update:value', 'change', 'blur', 'focus'],\n setup: function setup() {\n return {\n configProvider: inject('configProvider', defaultConfigProvider),\n radioGroupContext: inject('radioGroupContext', null)\n };\n },\n methods: {\n focus: function focus() {\n this.$refs.vcCheckbox.focus();\n },\n blur: function blur() {\n this.$refs.vcCheckbox.blur();\n },\n handleChange: function handleChange(event) {\n var targetChecked = event.target.checked;\n this.$emit('update:checked', targetChecked);\n this.$emit('update:value', targetChecked);\n this.$emit('change', event);\n },\n onChange2: function onChange2(e) {\n this.$emit('change', e);\n\n if (this.radioGroupContext && this.radioGroupContext.onRadioChange) {\n this.radioGroupContext.onRadioChange(e);\n }\n }\n },\n render: function render() {\n var _classNames;\n\n var $slots = this.$slots,\n radioGroup = this.radioGroupContext;\n var props = getOptionProps(this);\n\n var customizePrefixCls = props.prefixCls,\n restProps = __rest(props, [\"prefixCls\"]);\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('radio', customizePrefixCls);\n\n var rProps = _extends({\n prefixCls: prefixCls\n }, restProps);\n\n if (radioGroup) {\n rProps.name = radioGroup.name;\n rProps.onChange = this.onChange2;\n rProps.checked = props.value === radioGroup.stateValue;\n rProps.disabled = props.disabled || radioGroup.disabled;\n } else {\n rProps.onChange = this.handleChange;\n }\n\n var wrapperClassString = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-wrapper\"), true), _defineProperty(_classNames, \"\".concat(prefixCls, \"-wrapper-checked\"), rProps.checked), _defineProperty(_classNames, \"\".concat(prefixCls, \"-wrapper-disabled\"), rProps.disabled), _classNames));\n return _createVNode(\"label\", {\n \"class\": wrapperClassString\n }, [_createVNode(VcCheckbox, _objectSpread(_objectSpread({}, rProps), {}, {\n \"ref\": \"vcCheckbox\"\n }), null), $slots.default && _createVNode(\"span\", null, [$slots.default()])]);\n }\n});","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { createVNode as _createVNode } from \"vue\";\nimport { provide, inject, nextTick, defineComponent } from 'vue';\nimport classNames from '../_util/classNames';\nimport PropTypes from '../_util/vue-types';\nimport Radio from './Radio';\nimport { getOptionProps, filterEmpty, hasProp, getSlot } from '../_util/props-util';\nimport { defaultConfigProvider } from '../config-provider';\nimport { tuple } from '../_util/type';\nexport default defineComponent({\n name: 'ARadioGroup',\n props: {\n prefixCls: PropTypes.string,\n defaultValue: PropTypes.any,\n value: PropTypes.any,\n size: PropTypes.oneOf(tuple('large', 'default', 'small')).def('default'),\n options: PropTypes.array,\n disabled: PropTypes.looseBool,\n name: PropTypes.string,\n buttonStyle: PropTypes.string.def('outline'),\n onChange: PropTypes.func\n },\n emits: ['update:value', 'change'],\n setup: function setup() {\n return {\n updatingValue: false,\n configProvider: inject('configProvider', defaultConfigProvider),\n radioGroupContext: null\n };\n },\n data: function data() {\n var value = this.value,\n defaultValue = this.defaultValue;\n return {\n stateValue: value === undefined ? defaultValue : value\n };\n },\n watch: {\n value: function value(val) {\n this.updatingValue = false;\n this.stateValue = val;\n }\n },\n // computed: {\n // radioOptions() {\n // const { disabled } = this;\n // return this.options.map(option => {\n // return typeof option === 'string'\n // ? { label: option, value: option }\n // : { ...option, disabled: option.disabled === undefined ? disabled : option.disabled };\n // });\n // },\n // },\n created: function created() {\n this.radioGroupContext = provide('radioGroupContext', this);\n },\n methods: {\n onRadioChange: function onRadioChange(ev) {\n var _this = this;\n\n var lastValue = this.stateValue;\n var value = ev.target.value;\n\n if (!hasProp(this, 'value')) {\n this.stateValue = value;\n } // nextTick for https://github.com/vueComponent/ant-design-vue/issues/1280\n\n\n if (!this.updatingValue && value !== lastValue) {\n this.updatingValue = true;\n this.$emit('update:value', value);\n this.$emit('change', ev);\n }\n\n nextTick(function () {\n _this.updatingValue = false;\n });\n }\n },\n render: function render() {\n var _this2 = this;\n\n var props = getOptionProps(this);\n var customizePrefixCls = props.prefixCls,\n options = props.options,\n buttonStyle = props.buttonStyle;\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('radio', customizePrefixCls);\n var groupPrefixCls = \"\".concat(prefixCls, \"-group\");\n var classString = classNames(groupPrefixCls, \"\".concat(groupPrefixCls, \"-\").concat(buttonStyle), _defineProperty({}, \"\".concat(groupPrefixCls, \"-\").concat(props.size), props.size));\n var children = filterEmpty(getSlot(this)); // 如果存在 options, 优先使用\n\n if (options && options.length > 0) {\n children = options.map(function (option) {\n if (typeof option === 'string') {\n return _createVNode(Radio, {\n \"key\": option,\n \"prefixCls\": prefixCls,\n \"disabled\": props.disabled,\n \"value\": option,\n \"checked\": _this2.stateValue === option\n }, {\n default: function _default() {\n return [option];\n }\n });\n }\n\n return _createVNode(Radio, {\n \"key\": \"radio-group-value-options-\".concat(option.value),\n \"prefixCls\": prefixCls,\n \"disabled\": option.disabled || props.disabled,\n \"value\": option.value,\n \"checked\": _this2.stateValue === option.value\n }, {\n default: function _default() {\n return [option.label];\n }\n });\n });\n }\n\n return _createVNode(\"div\", {\n \"class\": classString\n }, [children]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport { defineComponent, inject } from 'vue';\nimport Radio, { radioProps } from './Radio';\nimport { getOptionProps, getSlot } from '../_util/props-util';\nimport { defaultConfigProvider } from '../config-provider';\nexport default defineComponent({\n name: 'ARadioButton',\n props: _extends({}, radioProps),\n setup: function setup() {\n return {\n configProvider: inject('configProvider', defaultConfigProvider),\n radioGroupContext: inject('radioGroupContext', {})\n };\n },\n render: function render() {\n var _this = this;\n\n var props = getOptionProps(this);\n\n var customizePrefixCls = props.prefixCls,\n otherProps = __rest(props, [\"prefixCls\"]);\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('radio-button', customizePrefixCls);\n\n var rProps = _extends({\n prefixCls: prefixCls\n }, otherProps);\n\n if (this.radioGroupContext) {\n rProps.onChange = this.radioGroupContext.onRadioChange;\n rProps.checked = props.value === this.radioGroupContext.stateValue;\n rProps.disabled = props.disabled || this.radioGroupContext.disabled;\n }\n\n return _createVNode(Radio, rProps, {\n default: function _default() {\n return [getSlot(_this)];\n }\n });\n }\n});","import Radio from './Radio';\nimport Group from './Group';\nimport Button from './RadioButton';\nRadio.Group = Group;\nRadio.Button = Button;\n/* istanbul ignore next */\n\nRadio.install = function (app) {\n app.component(Radio.name, Radio);\n app.component(Radio.Group.name, Radio.Group);\n app.component(Radio.Button.name, Radio.Button);\n return app;\n};\n\nexport { Button, Group, Button as RadioButton, Group as RadioGroup };\nexport default Radio;","import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nexport default cloneDeep;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport { defineComponent, ref, onMounted } from 'vue';\n/**\n * Wrap of sub component which need use as Button capacity (like Icon component).\n * This helps accessibility reader to tread as a interactive button to operation.\n */\n\nimport KeyCode from './KeyCode';\nimport PropTypes from './vue-types';\nvar inlineStyle = {\n border: 0,\n background: 'transparent',\n padding: 0,\n lineHeight: 'inherit',\n display: 'inline-block'\n};\nvar TransButton = defineComponent({\n name: 'TransButton',\n inheritAttrs: false,\n props: {\n noStyle: PropTypes.looseBool,\n onClick: PropTypes.func,\n disabled: PropTypes.looseBool,\n autofocus: PropTypes.looseBool\n },\n setup: function setup(props, _ref) {\n var slots = _ref.slots,\n emit = _ref.emit,\n attrs = _ref.attrs,\n expose = _ref.expose;\n var domRef = ref();\n\n var onKeyDown = function onKeyDown(event) {\n var keyCode = event.keyCode;\n\n if (keyCode === KeyCode.ENTER) {\n event.preventDefault();\n }\n };\n\n var onKeyUp = function onKeyUp(event) {\n var keyCode = event.keyCode;\n\n if (keyCode === KeyCode.ENTER) {\n emit('click', event);\n }\n };\n\n var onClick = function onClick(e) {\n emit('click', e);\n };\n\n var focus = function focus() {\n if (domRef.value) {\n domRef.value.focus();\n }\n };\n\n var blur = function blur() {\n if (domRef.value) {\n domRef.value.blur();\n }\n };\n\n onMounted(function () {\n if (props.autofocus) {\n focus();\n }\n });\n expose({\n focus: focus,\n blur: blur\n });\n return function () {\n var _a;\n\n var noStyle = props.noStyle,\n disabled = props.disabled,\n restProps = __rest(props, [\"noStyle\", \"disabled\"]);\n\n var mergedStyle = {};\n\n if (!noStyle) {\n mergedStyle = _extends({}, inlineStyle);\n }\n\n if (disabled) {\n mergedStyle.pointerEvents = 'none';\n }\n\n return _createVNode(\"div\", _objectSpread(_objectSpread(_objectSpread({\n \"role\": \"button\",\n \"tabindex\": 0,\n \"ref\": domRef\n }, restProps), attrs), {}, {\n \"onClick\": onClick,\n \"onKeydown\": onKeyDown,\n \"onKeyup\": onKeyUp,\n \"style\": _extends(_extends({}, mergedStyle), attrs.style || {})\n }), [(_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)]);\n };\n }\n});\nexport default TransButton;","import '../../style/index.less';\nimport './index.less'; // style dependencies\n\nimport '../../select/style';","import baseIndexOf from './_baseIndexOf.js';\nimport toInteger from './toInteger.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Gets the index at which the first occurrence of `value` is found in `array`\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. If `fromIndex` is negative, it's used as the\n * offset from the end of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.indexOf([1, 2, 1, 2], 2);\n * // => 1\n *\n * // Search from the `fromIndex`.\n * _.indexOf([1, 2, 1, 2], 2, 2);\n * // => 3\n */\nfunction indexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseIndexOf(array, value, index);\n}\n\nexport default indexOf;\n","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\n\n/**\n * source by `component-classes`\n * https://github.com/component/classes.git\n */\nimport indexOf from 'lodash-es/indexOf';\n/**\n * Whitespace regexp.\n */\n\nvar re = /\\s+/;\nexport var ClassList = /*#__PURE__*/function () {\n function ClassList(el) {\n _classCallCheck(this, ClassList);\n\n if (!el || !el.nodeType) {\n throw new Error('A DOM element reference is required');\n }\n\n this.el = el;\n this.list = el.classList;\n }\n\n _createClass(ClassList, [{\n key: \"array\",\n value: function array() {\n var className = this.el.getAttribute('class') || '';\n var str = className.replace(/^\\s+|\\s+$/g, '');\n var arr = str.split(re);\n if ('' === arr[0]) arr.shift();\n return arr;\n }\n /**\n * Add class `name` if not already present.\n *\n * @param {String} name\n * @return {ClassList}\n * @api public\n */\n\n }, {\n key: \"add\",\n value: function add(name) {\n // classList\n if (this.list) {\n this.list.add(name);\n return this;\n } // fallback\n\n\n var arr = this.array();\n var i = indexOf(arr, name);\n if (!~i) arr.push(name);\n this.el.className = arr.join(' ');\n return this;\n }\n /**\n * Remove class `name` when present, or\n * pass a regular expression to remove\n * any which match.\n *\n * @param {String|RegExp} name\n * @return {ClassList}\n * @api public\n */\n\n }, {\n key: \"remove\",\n value: function remove(name) {\n if ('[object RegExp]' === toString.call(name)) {\n return this._removeMatching(name);\n } // classList\n\n\n if (this.list) {\n this.list.remove(name);\n return this;\n } // fallback\n\n\n var arr = this.array();\n var i = indexOf(arr, name);\n if (~i) arr.splice(i, 1);\n this.el.className = arr.join(' ');\n return this;\n }\n /**\n * Remove all classes matching `re`.\n *\n * @param {RegExp} re\n * @return {ClassList}\n * @api private\n */\n\n }, {\n key: \"_removeMatching\",\n value: function _removeMatching(re) {\n var arr = this.array();\n\n for (var i = 0; i < arr.length; i++) {\n if (re.test(arr[i])) {\n this.remove(arr[i]);\n }\n }\n\n return this;\n }\n /**\n * Toggle class `name`, can force state via `force`.\n *\n * For browsers that support classList, but do not support `force` yet,\n * the mistake will be detected and corrected.\n *\n * @param {String} name\n * @param {Boolean} force\n * @return {ClassList}\n * @api public\n */\n\n }, {\n key: \"toggle\",\n value: function toggle(name, force) {\n // classList\n if (this.list) {\n if ('undefined' !== typeof force) {\n if (force !== this.list.toggle(name, force)) {\n this.list.toggle(name); // toggle again to correct\n }\n } else {\n this.list.toggle(name);\n }\n\n return this;\n } // fallback\n\n\n if ('undefined' !== typeof force) {\n if (!force) {\n this.remove(name);\n } else {\n this.add(name);\n }\n } else {\n if (this.has(name)) {\n this.remove(name);\n } else {\n this.add(name);\n }\n }\n\n return this;\n }\n /**\n * Check if class `name` is present.\n *\n * @param {String} name\n * @api public\n */\n\n }, {\n key: \"has\",\n value: function has(name) {\n return this.list ? this.list.contains(name) : !!~indexOf(this.array(), name);\n }\n /**\n * Check if class `name` is present.\n *\n * @param {String} name\n * @api public\n */\n\n }, {\n key: \"contains\",\n value: function contains(name) {\n return this.has(name);\n }\n }]);\n\n return ClassList;\n}();\n/**\n * Wrap `el` in a `ClassList`.\n *\n * @param {Element} el\n * @return {ClassList}\n * @api public\n */\n\nexport default function (el) {\n return new ClassList(el);\n}","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nexport default createBaseFor;\n","import createBaseFor from './_createBaseFor.js';\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nexport default baseFor;\n","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { createVNode as _createVNode } from \"vue\";\nimport { defineComponent, computed } from 'vue';\nimport classNames from '../_util/classNames';\nimport PropTypes from '../_util/vue-types';\nimport useConfigInject from '../_util/hooks/useConfigInject';\nvar CheckableTag = defineComponent({\n name: 'ACheckableTag',\n props: {\n prefixCls: PropTypes.string,\n checked: PropTypes.looseBool,\n onChange: {\n type: Function\n },\n onClick: {\n type: Function\n }\n },\n emits: ['update:checked', 'change', 'click'],\n setup: function setup(props, _ref) {\n var slots = _ref.slots,\n emit = _ref.emit;\n\n var _useConfigInject = useConfigInject('tag', props),\n prefixCls = _useConfigInject.prefixCls;\n\n var handleClick = function handleClick(e) {\n var checked = props.checked;\n emit('update:checked', !checked);\n emit('change', !checked);\n emit('click', e);\n };\n\n var cls = computed(function () {\n var _classNames;\n\n return classNames(prefixCls.value, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls.value, \"-checkable\"), true), _defineProperty(_classNames, \"\".concat(prefixCls.value, \"-checkable-checked\"), props.checked), _classNames));\n });\n return function () {\n var _a;\n\n return _createVNode(\"span\", {\n \"class\": cls.value,\n \"onClick\": handleClick\n }, [(_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)]);\n };\n }\n});\nexport default CheckableTag;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Fragment as _Fragment, createVNode as _createVNode } from \"vue\";\nimport { ref, defineComponent, watchEffect, computed } from 'vue';\nimport classNames from '../_util/classNames';\nimport PropTypes from '../_util/vue-types';\nimport CloseOutlined from '@ant-design/icons-vue/CloseOutlined';\nimport Wave from '../_util/wave';\nimport { PresetColorTypes, PresetStatusColorTypes } from '../_util/colors';\nimport CheckableTag from './CheckableTag';\nimport useConfigInject from '../_util/hooks/useConfigInject';\nvar PresetColorRegex = new RegExp(\"^(\".concat(PresetColorTypes.join('|'), \")(-inverse)?$\"));\nvar PresetStatusColorRegex = new RegExp(\"^(\".concat(PresetStatusColorTypes.join('|'), \")$\"));\nvar tagProps = {\n prefixCls: PropTypes.string,\n color: {\n type: String\n },\n closable: PropTypes.looseBool.def(false),\n closeIcon: PropTypes.VNodeChild,\n visible: PropTypes.looseBool,\n onClose: {\n type: Function\n },\n icon: PropTypes.VNodeChild\n};\nvar Tag = defineComponent({\n name: 'ATag',\n props: tagProps,\n emits: ['update:visible', 'close'],\n slots: ['closeIcon', 'icon'],\n setup: function setup(props, _ref) {\n var slots = _ref.slots,\n emit = _ref.emit,\n attrs = _ref.attrs;\n\n var _useConfigInject = useConfigInject('tag', props),\n prefixCls = _useConfigInject.prefixCls,\n direction = _useConfigInject.direction;\n\n var visible = ref(true);\n watchEffect(function () {\n if (props.visible !== undefined) {\n visible.value = props.visible;\n }\n });\n\n var handleCloseClick = function handleCloseClick(e) {\n e.stopPropagation();\n emit('update:visible', false);\n emit('close', e);\n\n if (e.defaultPrevented) {\n return;\n }\n\n if (props.visible === undefined) {\n visible.value = false;\n }\n };\n\n var isPresetColor = computed(function () {\n var color = props.color;\n\n if (!color) {\n return false;\n }\n\n return PresetColorRegex.test(color) || PresetStatusColorRegex.test(color);\n });\n var tagClassName = computed(function () {\n var _classNames;\n\n return classNames(prefixCls.value, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls.value, \"-\").concat(props.color), isPresetColor.value), _defineProperty(_classNames, \"\".concat(prefixCls.value, \"-has-color\"), props.color && !isPresetColor.value), _defineProperty(_classNames, \"\".concat(prefixCls.value, \"-hidden\"), !visible.value), _defineProperty(_classNames, \"\".concat(prefixCls.value, \"-rtl\"), direction.value === 'rtl'), _classNames));\n });\n return function () {\n var _a, _b, _c;\n\n var _props$icon = props.icon,\n icon = _props$icon === void 0 ? (_a = slots.icon) === null || _a === void 0 ? void 0 : _a.call(slots) : _props$icon,\n color = props.color,\n _props$closeIcon = props.closeIcon,\n closeIcon = _props$closeIcon === void 0 ? (_b = slots.closeIcon) === null || _b === void 0 ? void 0 : _b.call(slots) : _props$closeIcon,\n _props$closable = props.closable,\n closable = _props$closable === void 0 ? false : _props$closable;\n\n var renderCloseIcon = function renderCloseIcon() {\n if (closable) {\n return closeIcon ? _createVNode(\"div\", {\n \"class\": \"\".concat(prefixCls, \"-close-icon\"),\n \"onClick\": handleCloseClick\n }, [closeIcon]) : _createVNode(CloseOutlined, {\n \"class\": \"\".concat(prefixCls, \"-close-icon\"),\n \"onClick\": handleCloseClick\n }, null);\n }\n\n return null;\n };\n\n var tagStyle = {\n backgroundColor: color && !isPresetColor.value ? color : undefined\n };\n var iconNode = icon || null;\n var children = (_c = slots.default) === null || _c === void 0 ? void 0 : _c.call(slots);\n var kids = iconNode ? _createVNode(_Fragment, null, [iconNode, _createVNode(\"span\", null, [children])]) : children;\n var isNeedWave = ('onClick' in attrs);\n\n var tagNode = _createVNode(\"span\", {\n \"class\": tagClassName.value,\n \"style\": tagStyle\n }, [kids, renderCloseIcon()]);\n\n return isNeedWave ? _createVNode(Wave, null, {\n default: function _default() {\n return [tagNode];\n }\n }) : tagNode;\n };\n }\n});\nTag.CheckableTag = CheckableTag;\n\nTag.install = function (app) {\n app.component(Tag.name, Tag);\n app.component(CheckableTag.name, CheckableTag);\n return app;\n};\n\nexport { CheckableTag };\nexport default Tag;","\r\n\r\n\r\n\r\n","import { render } from \"./Content.vue?vue&type=template&id=a622e286&scoped=true\"\nimport script from \"./Content.vue?vue&type=script&lang=js\"\nexport * from \"./Content.vue?vue&type=script&lang=js\"\n\nimport \"./Content.vue?vue&type=style&index=0&id=a622e286&lang=less&scoped=true\"\n\nimport exportComponent from \"F:\\\\WorkPlace\\\\cws-frontend\\\\cws-user-side\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a622e286\"]])\n\nexport default __exports__","import Stack from './_Stack.js';\nimport baseIsEqual from './_baseIsEqual.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nexport default baseIsMatch;\n","import isObject from './isObject.js';\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nexport default isStrictComparable;\n","import isStrictComparable from './_isStrictComparable.js';\nimport keys from './keys.js';\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nexport default getMatchData;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nexport default matchesStrictComparable;\n","import baseIsMatch from './_baseIsMatch.js';\nimport getMatchData from './_getMatchData.js';\nimport matchesStrictComparable from './_matchesStrictComparable.js';\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nexport default baseMatches;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nexport default baseHasIn;\n","import castPath from './_castPath.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isIndex from './_isIndex.js';\nimport isLength from './isLength.js';\nimport toKey from './_toKey.js';\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nexport default hasPath;\n","import baseHasIn from './_baseHasIn.js';\nimport hasPath from './_hasPath.js';\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nexport default hasIn;\n","import baseIsEqual from './_baseIsEqual.js';\nimport get from './get.js';\nimport hasIn from './hasIn.js';\nimport isKey from './_isKey.js';\nimport isStrictComparable from './_isStrictComparable.js';\nimport matchesStrictComparable from './_matchesStrictComparable.js';\nimport toKey from './_toKey.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nexport default baseMatchesProperty;\n","import baseGet from './_baseGet.js';\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nexport default basePropertyDeep;\n","import baseProperty from './_baseProperty.js';\nimport basePropertyDeep from './_basePropertyDeep.js';\nimport isKey from './_isKey.js';\nimport toKey from './_toKey.js';\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nexport default property;\n","import baseMatches from './_baseMatches.js';\nimport baseMatchesProperty from './_baseMatchesProperty.js';\nimport identity from './identity.js';\nimport isArray from './isArray.js';\nimport property from './property.js';\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nexport default baseIteratee;\n","\r\n\r\n\r\n\r\n\r\n","import { render } from \"./CSignSupported.vue?vue&type=template&id=dfaa36c2\"\nimport script from \"./CSignSupported.vue?vue&type=script&lang=js\"\nexport * from \"./CSignSupported.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\WorkPlace\\\\cws-frontend\\\\cws-user-side\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__",";(function (globalObject) {\r\n 'use strict';\r\n\r\n/*\r\n * bignumber.js v9.1.0\r\n * A JavaScript library for arbitrary-precision arithmetic.\r\n * https://github.com/MikeMcl/bignumber.js\r\n * Copyright (c) 2022 Michael Mclaughlin \r\n * MIT Licensed.\r\n *\r\n * BigNumber.prototype methods | BigNumber methods\r\n * |\r\n * absoluteValue abs | clone\r\n * comparedTo | config set\r\n * decimalPlaces dp | DECIMAL_PLACES\r\n * dividedBy div | ROUNDING_MODE\r\n * dividedToIntegerBy idiv | EXPONENTIAL_AT\r\n * exponentiatedBy pow | RANGE\r\n * integerValue | CRYPTO\r\n * isEqualTo eq | MODULO_MODE\r\n * isFinite | POW_PRECISION\r\n * isGreaterThan gt | FORMAT\r\n * isGreaterThanOrEqualTo gte | ALPHABET\r\n * isInteger | isBigNumber\r\n * isLessThan lt | maximum max\r\n * isLessThanOrEqualTo lte | minimum min\r\n * isNaN | random\r\n * isNegative | sum\r\n * isPositive |\r\n * isZero |\r\n * minus |\r\n * modulo mod |\r\n * multipliedBy times |\r\n * negated |\r\n * plus |\r\n * precision sd |\r\n * shiftedBy |\r\n * squareRoot sqrt |\r\n * toExponential |\r\n * toFixed |\r\n * toFormat |\r\n * toFraction |\r\n * toJSON |\r\n * toNumber |\r\n * toPrecision |\r\n * toString |\r\n * valueOf |\r\n *\r\n */\r\n\r\n\r\n var BigNumber,\r\n isNumeric = /^-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?$/i,\r\n mathceil = Math.ceil,\r\n mathfloor = Math.floor,\r\n\r\n bignumberError = '[BigNumber Error] ',\r\n tooManyDigits = bignumberError + 'Number primitive has more than 15 significant digits: ',\r\n\r\n BASE = 1e14,\r\n LOG_BASE = 14,\r\n MAX_SAFE_INTEGER = 0x1fffffffffffff, // 2^53 - 1\r\n // MAX_INT32 = 0x7fffffff, // 2^31 - 1\r\n POWS_TEN = [1, 10, 100, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13],\r\n SQRT_BASE = 1e7,\r\n\r\n // EDITABLE\r\n // The limit on the value of DECIMAL_PLACES, TO_EXP_NEG, TO_EXP_POS, MIN_EXP, MAX_EXP, and\r\n // the arguments to toExponential, toFixed, toFormat, and toPrecision.\r\n MAX = 1E9; // 0 to MAX_INT32\r\n\r\n\r\n /*\r\n * Create and return a BigNumber constructor.\r\n */\r\n function clone(configObject) {\r\n var div, convertBase, parseNumeric,\r\n P = BigNumber.prototype = { constructor: BigNumber, toString: null, valueOf: null },\r\n ONE = new BigNumber(1),\r\n\r\n\r\n //----------------------------- EDITABLE CONFIG DEFAULTS -------------------------------\r\n\r\n\r\n // The default values below must be integers within the inclusive ranges stated.\r\n // The values can also be changed at run-time using BigNumber.set.\r\n\r\n // The maximum number of decimal places for operations involving division.\r\n DECIMAL_PLACES = 20, // 0 to MAX\r\n\r\n // The rounding mode used when rounding to the above decimal places, and when using\r\n // toExponential, toFixed, toFormat and toPrecision, and round (default value).\r\n // UP 0 Away from zero.\r\n // DOWN 1 Towards zero.\r\n // CEIL 2 Towards +Infinity.\r\n // FLOOR 3 Towards -Infinity.\r\n // HALF_UP 4 Towards nearest neighbour. If equidistant, up.\r\n // HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.\r\n // HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.\r\n // HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.\r\n // HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.\r\n ROUNDING_MODE = 4, // 0 to 8\r\n\r\n // EXPONENTIAL_AT : [TO_EXP_NEG , TO_EXP_POS]\r\n\r\n // The exponent value at and beneath which toString returns exponential notation.\r\n // Number type: -7\r\n TO_EXP_NEG = -7, // 0 to -MAX\r\n\r\n // The exponent value at and above which toString returns exponential notation.\r\n // Number type: 21\r\n TO_EXP_POS = 21, // 0 to MAX\r\n\r\n // RANGE : [MIN_EXP, MAX_EXP]\r\n\r\n // The minimum exponent value, beneath which underflow to zero occurs.\r\n // Number type: -324 (5e-324)\r\n MIN_EXP = -1e7, // -1 to -MAX\r\n\r\n // The maximum exponent value, above which overflow to Infinity occurs.\r\n // Number type: 308 (1.7976931348623157e+308)\r\n // For MAX_EXP > 1e7, e.g. new BigNumber('1e100000000').plus(1) may be slow.\r\n MAX_EXP = 1e7, // 1 to MAX\r\n\r\n // Whether to use cryptographically-secure random number generation, if available.\r\n CRYPTO = false, // true or false\r\n\r\n // The modulo mode used when calculating the modulus: a mod n.\r\n // The quotient (q = a / n) is calculated according to the corresponding rounding mode.\r\n // The remainder (r) is calculated as: r = a - n * q.\r\n //\r\n // UP 0 The remainder is positive if the dividend is negative, else is negative.\r\n // DOWN 1 The remainder has the same sign as the dividend.\r\n // This modulo mode is commonly known as 'truncated division' and is\r\n // equivalent to (a % n) in JavaScript.\r\n // FLOOR 3 The remainder has the same sign as the divisor (Python %).\r\n // HALF_EVEN 6 This modulo mode implements the IEEE 754 remainder function.\r\n // EUCLID 9 Euclidian division. q = sign(n) * floor(a / abs(n)).\r\n // The remainder is always positive.\r\n //\r\n // The truncated division, floored division, Euclidian division and IEEE 754 remainder\r\n // modes are commonly used for the modulus operation.\r\n // Although the other rounding modes can also be used, they may not give useful results.\r\n MODULO_MODE = 1, // 0 to 9\r\n\r\n // The maximum number of significant digits of the result of the exponentiatedBy operation.\r\n // If POW_PRECISION is 0, there will be unlimited significant digits.\r\n POW_PRECISION = 0, // 0 to MAX\r\n\r\n // The format specification used by the BigNumber.prototype.toFormat method.\r\n FORMAT = {\r\n prefix: '',\r\n groupSize: 3,\r\n secondaryGroupSize: 0,\r\n groupSeparator: ',',\r\n decimalSeparator: '.',\r\n fractionGroupSize: 0,\r\n fractionGroupSeparator: '\\xA0', // non-breaking space\r\n suffix: ''\r\n },\r\n\r\n // The alphabet used for base conversion. It must be at least 2 characters long, with no '+',\r\n // '-', '.', whitespace, or repeated character.\r\n // '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_'\r\n ALPHABET = '0123456789abcdefghijklmnopqrstuvwxyz',\r\n alphabetHasNormalDecimalDigits = true;\r\n\r\n\r\n //------------------------------------------------------------------------------------------\r\n\r\n\r\n // CONSTRUCTOR\r\n\r\n\r\n /*\r\n * The BigNumber constructor and exported function.\r\n * Create and return a new instance of a BigNumber object.\r\n *\r\n * v {number|string|BigNumber} A numeric value.\r\n * [b] {number} The base of v. Integer, 2 to ALPHABET.length inclusive.\r\n */\r\n function BigNumber(v, b) {\r\n var alphabet, c, caseChanged, e, i, isNum, len, str,\r\n x = this;\r\n\r\n // Enable constructor call without `new`.\r\n if (!(x instanceof BigNumber)) return new BigNumber(v, b);\r\n\r\n if (b == null) {\r\n\r\n if (v && v._isBigNumber === true) {\r\n x.s = v.s;\r\n\r\n if (!v.c || v.e > MAX_EXP) {\r\n x.c = x.e = null;\r\n } else if (v.e < MIN_EXP) {\r\n x.c = [x.e = 0];\r\n } else {\r\n x.e = v.e;\r\n x.c = v.c.slice();\r\n }\r\n\r\n return;\r\n }\r\n\r\n if ((isNum = typeof v == 'number') && v * 0 == 0) {\r\n\r\n // Use `1 / n` to handle minus zero also.\r\n x.s = 1 / v < 0 ? (v = -v, -1) : 1;\r\n\r\n // Fast path for integers, where n < 2147483648 (2**31).\r\n if (v === ~~v) {\r\n for (e = 0, i = v; i >= 10; i /= 10, e++);\r\n\r\n if (e > MAX_EXP) {\r\n x.c = x.e = null;\r\n } else {\r\n x.e = e;\r\n x.c = [v];\r\n }\r\n\r\n return;\r\n }\r\n\r\n str = String(v);\r\n } else {\r\n\r\n if (!isNumeric.test(str = String(v))) return parseNumeric(x, str, isNum);\r\n\r\n x.s = str.charCodeAt(0) == 45 ? (str = str.slice(1), -1) : 1;\r\n }\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n\r\n // Exponential form?\r\n if ((i = str.search(/e/i)) > 0) {\r\n\r\n // Determine exponent.\r\n if (e < 0) e = i;\r\n e += +str.slice(i + 1);\r\n str = str.substring(0, i);\r\n } else if (e < 0) {\r\n\r\n // Integer.\r\n e = str.length;\r\n }\r\n\r\n } else {\r\n\r\n // '[BigNumber Error] Base {not a primitive number|not an integer|out of range}: {b}'\r\n intCheck(b, 2, ALPHABET.length, 'Base');\r\n\r\n // Allow exponential notation to be used with base 10 argument, while\r\n // also rounding to DECIMAL_PLACES as with other bases.\r\n if (b == 10 && alphabetHasNormalDecimalDigits) {\r\n x = new BigNumber(v);\r\n return round(x, DECIMAL_PLACES + x.e + 1, ROUNDING_MODE);\r\n }\r\n\r\n str = String(v);\r\n\r\n if (isNum = typeof v == 'number') {\r\n\r\n // Avoid potential interpretation of Infinity and NaN as base 44+ values.\r\n if (v * 0 != 0) return parseNumeric(x, str, isNum, b);\r\n\r\n x.s = 1 / v < 0 ? (str = str.slice(1), -1) : 1;\r\n\r\n // '[BigNumber Error] Number primitive has more than 15 significant digits: {n}'\r\n if (BigNumber.DEBUG && str.replace(/^0\\.0*|\\./, '').length > 15) {\r\n throw Error\r\n (tooManyDigits + v);\r\n }\r\n } else {\r\n x.s = str.charCodeAt(0) === 45 ? (str = str.slice(1), -1) : 1;\r\n }\r\n\r\n alphabet = ALPHABET.slice(0, b);\r\n e = i = 0;\r\n\r\n // Check that str is a valid base b number.\r\n // Don't use RegExp, so alphabet can contain special characters.\r\n for (len = str.length; i < len; i++) {\r\n if (alphabet.indexOf(c = str.charAt(i)) < 0) {\r\n if (c == '.') {\r\n\r\n // If '.' is not the first character and it has not be found before.\r\n if (i > e) {\r\n e = len;\r\n continue;\r\n }\r\n } else if (!caseChanged) {\r\n\r\n // Allow e.g. hexadecimal 'FF' as well as 'ff'.\r\n if (str == str.toUpperCase() && (str = str.toLowerCase()) ||\r\n str == str.toLowerCase() && (str = str.toUpperCase())) {\r\n caseChanged = true;\r\n i = -1;\r\n e = 0;\r\n continue;\r\n }\r\n }\r\n\r\n return parseNumeric(x, String(v), isNum, b);\r\n }\r\n }\r\n\r\n // Prevent later check for length on converted number.\r\n isNum = false;\r\n str = convertBase(str, b, 10, x.s);\r\n\r\n // Decimal point?\r\n if ((e = str.indexOf('.')) > -1) str = str.replace('.', '');\r\n else e = str.length;\r\n }\r\n\r\n // Determine leading zeros.\r\n for (i = 0; str.charCodeAt(i) === 48; i++);\r\n\r\n // Determine trailing zeros.\r\n for (len = str.length; str.charCodeAt(--len) === 48;);\r\n\r\n if (str = str.slice(i, ++len)) {\r\n len -= i;\r\n\r\n // '[BigNumber Error] Number primitive has more than 15 significant digits: {n}'\r\n if (isNum && BigNumber.DEBUG &&\r\n len > 15 && (v > MAX_SAFE_INTEGER || v !== mathfloor(v))) {\r\n throw Error\r\n (tooManyDigits + (x.s * v));\r\n }\r\n\r\n // Overflow?\r\n if ((e = e - i - 1) > MAX_EXP) {\r\n\r\n // Infinity.\r\n x.c = x.e = null;\r\n\r\n // Underflow?\r\n } else if (e < MIN_EXP) {\r\n\r\n // Zero.\r\n x.c = [x.e = 0];\r\n } else {\r\n x.e = e;\r\n x.c = [];\r\n\r\n // Transform base\r\n\r\n // e is the base 10 exponent.\r\n // i is where to slice str to get the first element of the coefficient array.\r\n i = (e + 1) % LOG_BASE;\r\n if (e < 0) i += LOG_BASE; // i < 1\r\n\r\n if (i < len) {\r\n if (i) x.c.push(+str.slice(0, i));\r\n\r\n for (len -= LOG_BASE; i < len;) {\r\n x.c.push(+str.slice(i, i += LOG_BASE));\r\n }\r\n\r\n i = LOG_BASE - (str = str.slice(i)).length;\r\n } else {\r\n i -= len;\r\n }\r\n\r\n for (; i--; str += '0');\r\n x.c.push(+str);\r\n }\r\n } else {\r\n\r\n // Zero.\r\n x.c = [x.e = 0];\r\n }\r\n }\r\n\r\n\r\n // CONSTRUCTOR PROPERTIES\r\n\r\n\r\n BigNumber.clone = clone;\r\n\r\n BigNumber.ROUND_UP = 0;\r\n BigNumber.ROUND_DOWN = 1;\r\n BigNumber.ROUND_CEIL = 2;\r\n BigNumber.ROUND_FLOOR = 3;\r\n BigNumber.ROUND_HALF_UP = 4;\r\n BigNumber.ROUND_HALF_DOWN = 5;\r\n BigNumber.ROUND_HALF_EVEN = 6;\r\n BigNumber.ROUND_HALF_CEIL = 7;\r\n BigNumber.ROUND_HALF_FLOOR = 8;\r\n BigNumber.EUCLID = 9;\r\n\r\n\r\n /*\r\n * Configure infrequently-changing library-wide settings.\r\n *\r\n * Accept an object with the following optional properties (if the value of a property is\r\n * a number, it must be an integer within the inclusive range stated):\r\n *\r\n * DECIMAL_PLACES {number} 0 to MAX\r\n * ROUNDING_MODE {number} 0 to 8\r\n * EXPONENTIAL_AT {number|number[]} -MAX to MAX or [-MAX to 0, 0 to MAX]\r\n * RANGE {number|number[]} -MAX to MAX (not zero) or [-MAX to -1, 1 to MAX]\r\n * CRYPTO {boolean} true or false\r\n * MODULO_MODE {number} 0 to 9\r\n * POW_PRECISION {number} 0 to MAX\r\n * ALPHABET {string} A string of two or more unique characters which does\r\n * not contain '.'.\r\n * FORMAT {object} An object with some of the following properties:\r\n * prefix {string}\r\n * groupSize {number}\r\n * secondaryGroupSize {number}\r\n * groupSeparator {string}\r\n * decimalSeparator {string}\r\n * fractionGroupSize {number}\r\n * fractionGroupSeparator {string}\r\n * suffix {string}\r\n *\r\n * (The values assigned to the above FORMAT object properties are not checked for validity.)\r\n *\r\n * E.g.\r\n * BigNumber.config({ DECIMAL_PLACES : 20, ROUNDING_MODE : 4 })\r\n *\r\n * Ignore properties/parameters set to null or undefined, except for ALPHABET.\r\n *\r\n * Return an object with the properties current values.\r\n */\r\n BigNumber.config = BigNumber.set = function (obj) {\r\n var p, v;\r\n\r\n if (obj != null) {\r\n\r\n if (typeof obj == 'object') {\r\n\r\n // DECIMAL_PLACES {number} Integer, 0 to MAX inclusive.\r\n // '[BigNumber Error] DECIMAL_PLACES {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'DECIMAL_PLACES')) {\r\n v = obj[p];\r\n intCheck(v, 0, MAX, p);\r\n DECIMAL_PLACES = v;\r\n }\r\n\r\n // ROUNDING_MODE {number} Integer, 0 to 8 inclusive.\r\n // '[BigNumber Error] ROUNDING_MODE {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'ROUNDING_MODE')) {\r\n v = obj[p];\r\n intCheck(v, 0, 8, p);\r\n ROUNDING_MODE = v;\r\n }\r\n\r\n // EXPONENTIAL_AT {number|number[]}\r\n // Integer, -MAX to MAX inclusive or\r\n // [integer -MAX to 0 inclusive, 0 to MAX inclusive].\r\n // '[BigNumber Error] EXPONENTIAL_AT {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'EXPONENTIAL_AT')) {\r\n v = obj[p];\r\n if (v && v.pop) {\r\n intCheck(v[0], -MAX, 0, p);\r\n intCheck(v[1], 0, MAX, p);\r\n TO_EXP_NEG = v[0];\r\n TO_EXP_POS = v[1];\r\n } else {\r\n intCheck(v, -MAX, MAX, p);\r\n TO_EXP_NEG = -(TO_EXP_POS = v < 0 ? -v : v);\r\n }\r\n }\r\n\r\n // RANGE {number|number[]} Non-zero integer, -MAX to MAX inclusive or\r\n // [integer -MAX to -1 inclusive, integer 1 to MAX inclusive].\r\n // '[BigNumber Error] RANGE {not a primitive number|not an integer|out of range|cannot be zero}: {v}'\r\n if (obj.hasOwnProperty(p = 'RANGE')) {\r\n v = obj[p];\r\n if (v && v.pop) {\r\n intCheck(v[0], -MAX, -1, p);\r\n intCheck(v[1], 1, MAX, p);\r\n MIN_EXP = v[0];\r\n MAX_EXP = v[1];\r\n } else {\r\n intCheck(v, -MAX, MAX, p);\r\n if (v) {\r\n MIN_EXP = -(MAX_EXP = v < 0 ? -v : v);\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' cannot be zero: ' + v);\r\n }\r\n }\r\n }\r\n\r\n // CRYPTO {boolean} true or false.\r\n // '[BigNumber Error] CRYPTO not true or false: {v}'\r\n // '[BigNumber Error] crypto unavailable'\r\n if (obj.hasOwnProperty(p = 'CRYPTO')) {\r\n v = obj[p];\r\n if (v === !!v) {\r\n if (v) {\r\n if (typeof crypto != 'undefined' && crypto &&\r\n (crypto.getRandomValues || crypto.randomBytes)) {\r\n CRYPTO = v;\r\n } else {\r\n CRYPTO = !v;\r\n throw Error\r\n (bignumberError + 'crypto unavailable');\r\n }\r\n } else {\r\n CRYPTO = v;\r\n }\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' not true or false: ' + v);\r\n }\r\n }\r\n\r\n // MODULO_MODE {number} Integer, 0 to 9 inclusive.\r\n // '[BigNumber Error] MODULO_MODE {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'MODULO_MODE')) {\r\n v = obj[p];\r\n intCheck(v, 0, 9, p);\r\n MODULO_MODE = v;\r\n }\r\n\r\n // POW_PRECISION {number} Integer, 0 to MAX inclusive.\r\n // '[BigNumber Error] POW_PRECISION {not a primitive number|not an integer|out of range}: {v}'\r\n if (obj.hasOwnProperty(p = 'POW_PRECISION')) {\r\n v = obj[p];\r\n intCheck(v, 0, MAX, p);\r\n POW_PRECISION = v;\r\n }\r\n\r\n // FORMAT {object}\r\n // '[BigNumber Error] FORMAT not an object: {v}'\r\n if (obj.hasOwnProperty(p = 'FORMAT')) {\r\n v = obj[p];\r\n if (typeof v == 'object') FORMAT = v;\r\n else throw Error\r\n (bignumberError + p + ' not an object: ' + v);\r\n }\r\n\r\n // ALPHABET {string}\r\n // '[BigNumber Error] ALPHABET invalid: {v}'\r\n if (obj.hasOwnProperty(p = 'ALPHABET')) {\r\n v = obj[p];\r\n\r\n // Disallow if less than two characters,\r\n // or if it contains '+', '-', '.', whitespace, or a repeated character.\r\n if (typeof v == 'string' && !/^.?$|[+\\-.\\s]|(.).*\\1/.test(v)) {\r\n alphabetHasNormalDecimalDigits = v.slice(0, 10) == '0123456789';\r\n ALPHABET = v;\r\n } else {\r\n throw Error\r\n (bignumberError + p + ' invalid: ' + v);\r\n }\r\n }\r\n\r\n } else {\r\n\r\n // '[BigNumber Error] Object expected: {v}'\r\n throw Error\r\n (bignumberError + 'Object expected: ' + obj);\r\n }\r\n }\r\n\r\n return {\r\n DECIMAL_PLACES: DECIMAL_PLACES,\r\n ROUNDING_MODE: ROUNDING_MODE,\r\n EXPONENTIAL_AT: [TO_EXP_NEG, TO_EXP_POS],\r\n RANGE: [MIN_EXP, MAX_EXP],\r\n CRYPTO: CRYPTO,\r\n MODULO_MODE: MODULO_MODE,\r\n POW_PRECISION: POW_PRECISION,\r\n FORMAT: FORMAT,\r\n ALPHABET: ALPHABET\r\n };\r\n };\r\n\r\n\r\n /*\r\n * Return true if v is a BigNumber instance, otherwise return false.\r\n *\r\n * If BigNumber.DEBUG is true, throw if a BigNumber instance is not well-formed.\r\n *\r\n * v {any}\r\n *\r\n * '[BigNumber Error] Invalid BigNumber: {v}'\r\n */\r\n BigNumber.isBigNumber = function (v) {\r\n if (!v || v._isBigNumber !== true) return false;\r\n if (!BigNumber.DEBUG) return true;\r\n\r\n var i, n,\r\n c = v.c,\r\n e = v.e,\r\n s = v.s;\r\n\r\n out: if ({}.toString.call(c) == '[object Array]') {\r\n\r\n if ((s === 1 || s === -1) && e >= -MAX && e <= MAX && e === mathfloor(e)) {\r\n\r\n // If the first element is zero, the BigNumber value must be zero.\r\n if (c[0] === 0) {\r\n if (e === 0 && c.length === 1) return true;\r\n break out;\r\n }\r\n\r\n // Calculate number of digits that c[0] should have, based on the exponent.\r\n i = (e + 1) % LOG_BASE;\r\n if (i < 1) i += LOG_BASE;\r\n\r\n // Calculate number of digits of c[0].\r\n //if (Math.ceil(Math.log(c[0] + 1) / Math.LN10) == i) {\r\n if (String(c[0]).length == i) {\r\n\r\n for (i = 0; i < c.length; i++) {\r\n n = c[i];\r\n if (n < 0 || n >= BASE || n !== mathfloor(n)) break out;\r\n }\r\n\r\n // Last element cannot be zero, unless it is the only element.\r\n if (n !== 0) return true;\r\n }\r\n }\r\n\r\n // Infinity/NaN\r\n } else if (c === null && e === null && (s === null || s === 1 || s === -1)) {\r\n return true;\r\n }\r\n\r\n throw Error\r\n (bignumberError + 'Invalid BigNumber: ' + v);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the maximum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.maximum = BigNumber.max = function () {\r\n return maxOrMin(arguments, P.lt);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the minimum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.minimum = BigNumber.min = function () {\r\n return maxOrMin(arguments, P.gt);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber with a random value equal to or greater than 0 and less than 1,\r\n * and with dp, or DECIMAL_PLACES if dp is omitted, decimal places (or less if trailing\r\n * zeros are produced).\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp}'\r\n * '[BigNumber Error] crypto unavailable'\r\n */\r\n BigNumber.random = (function () {\r\n var pow2_53 = 0x20000000000000;\r\n\r\n // Return a 53 bit integer n, where 0 <= n < 9007199254740992.\r\n // Check if Math.random() produces more than 32 bits of randomness.\r\n // If it does, assume at least 53 bits are produced, otherwise assume at least 30 bits.\r\n // 0x40000000 is 2^30, 0x800000 is 2^23, 0x1fffff is 2^21 - 1.\r\n var random53bitInt = (Math.random() * pow2_53) & 0x1fffff\r\n ? function () { return mathfloor(Math.random() * pow2_53); }\r\n : function () { return ((Math.random() * 0x40000000 | 0) * 0x800000) +\r\n (Math.random() * 0x800000 | 0); };\r\n\r\n return function (dp) {\r\n var a, b, e, k, v,\r\n i = 0,\r\n c = [],\r\n rand = new BigNumber(ONE);\r\n\r\n if (dp == null) dp = DECIMAL_PLACES;\r\n else intCheck(dp, 0, MAX);\r\n\r\n k = mathceil(dp / LOG_BASE);\r\n\r\n if (CRYPTO) {\r\n\r\n // Browsers supporting crypto.getRandomValues.\r\n if (crypto.getRandomValues) {\r\n\r\n a = crypto.getRandomValues(new Uint32Array(k *= 2));\r\n\r\n for (; i < k;) {\r\n\r\n // 53 bits:\r\n // ((Math.pow(2, 32) - 1) * Math.pow(2, 21)).toString(2)\r\n // 11111 11111111 11111111 11111111 11100000 00000000 00000000\r\n // ((Math.pow(2, 32) - 1) >>> 11).toString(2)\r\n // 11111 11111111 11111111\r\n // 0x20000 is 2^21.\r\n v = a[i] * 0x20000 + (a[i + 1] >>> 11);\r\n\r\n // Rejection sampling:\r\n // 0 <= v < 9007199254740992\r\n // Probability that v >= 9e15, is\r\n // 7199254740992 / 9007199254740992 ~= 0.0008, i.e. 1 in 1251\r\n if (v >= 9e15) {\r\n b = crypto.getRandomValues(new Uint32Array(2));\r\n a[i] = b[0];\r\n a[i + 1] = b[1];\r\n } else {\r\n\r\n // 0 <= v <= 8999999999999999\r\n // 0 <= (v % 1e14) <= 99999999999999\r\n c.push(v % 1e14);\r\n i += 2;\r\n }\r\n }\r\n i = k / 2;\r\n\r\n // Node.js supporting crypto.randomBytes.\r\n } else if (crypto.randomBytes) {\r\n\r\n // buffer\r\n a = crypto.randomBytes(k *= 7);\r\n\r\n for (; i < k;) {\r\n\r\n // 0x1000000000000 is 2^48, 0x10000000000 is 2^40\r\n // 0x100000000 is 2^32, 0x1000000 is 2^24\r\n // 11111 11111111 11111111 11111111 11111111 11111111 11111111\r\n // 0 <= v < 9007199254740992\r\n v = ((a[i] & 31) * 0x1000000000000) + (a[i + 1] * 0x10000000000) +\r\n (a[i + 2] * 0x100000000) + (a[i + 3] * 0x1000000) +\r\n (a[i + 4] << 16) + (a[i + 5] << 8) + a[i + 6];\r\n\r\n if (v >= 9e15) {\r\n crypto.randomBytes(7).copy(a, i);\r\n } else {\r\n\r\n // 0 <= (v % 1e14) <= 99999999999999\r\n c.push(v % 1e14);\r\n i += 7;\r\n }\r\n }\r\n i = k / 7;\r\n } else {\r\n CRYPTO = false;\r\n throw Error\r\n (bignumberError + 'crypto unavailable');\r\n }\r\n }\r\n\r\n // Use Math.random.\r\n if (!CRYPTO) {\r\n\r\n for (; i < k;) {\r\n v = random53bitInt();\r\n if (v < 9e15) c[i++] = v % 1e14;\r\n }\r\n }\r\n\r\n k = c[--i];\r\n dp %= LOG_BASE;\r\n\r\n // Convert trailing digits to zeros according to dp.\r\n if (k && dp) {\r\n v = POWS_TEN[LOG_BASE - dp];\r\n c[i] = mathfloor(k / v) * v;\r\n }\r\n\r\n // Remove trailing elements which are zero.\r\n for (; c[i] === 0; c.pop(), i--);\r\n\r\n // Zero?\r\n if (i < 0) {\r\n c = [e = 0];\r\n } else {\r\n\r\n // Remove leading elements which are zero and adjust exponent accordingly.\r\n for (e = -1 ; c[0] === 0; c.splice(0, 1), e -= LOG_BASE);\r\n\r\n // Count the digits of the first element of c to determine leading zeros, and...\r\n for (i = 1, v = c[0]; v >= 10; v /= 10, i++);\r\n\r\n // adjust the exponent accordingly.\r\n if (i < LOG_BASE) e -= LOG_BASE - i;\r\n }\r\n\r\n rand.e = e;\r\n rand.c = c;\r\n return rand;\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Return a BigNumber whose value is the sum of the arguments.\r\n *\r\n * arguments {number|string|BigNumber}\r\n */\r\n BigNumber.sum = function () {\r\n var i = 1,\r\n args = arguments,\r\n sum = new BigNumber(args[0]);\r\n for (; i < args.length;) sum = sum.plus(args[i++]);\r\n return sum;\r\n };\r\n\r\n\r\n // PRIVATE FUNCTIONS\r\n\r\n\r\n // Called by BigNumber and BigNumber.prototype.toString.\r\n convertBase = (function () {\r\n var decimal = '0123456789';\r\n\r\n /*\r\n * Convert string of baseIn to an array of numbers of baseOut.\r\n * Eg. toBaseOut('255', 10, 16) returns [15, 15].\r\n * Eg. toBaseOut('ff', 16, 10) returns [2, 5, 5].\r\n */\r\n function toBaseOut(str, baseIn, baseOut, alphabet) {\r\n var j,\r\n arr = [0],\r\n arrL,\r\n i = 0,\r\n len = str.length;\r\n\r\n for (; i < len;) {\r\n for (arrL = arr.length; arrL--; arr[arrL] *= baseIn);\r\n\r\n arr[0] += alphabet.indexOf(str.charAt(i++));\r\n\r\n for (j = 0; j < arr.length; j++) {\r\n\r\n if (arr[j] > baseOut - 1) {\r\n if (arr[j + 1] == null) arr[j + 1] = 0;\r\n arr[j + 1] += arr[j] / baseOut | 0;\r\n arr[j] %= baseOut;\r\n }\r\n }\r\n }\r\n\r\n return arr.reverse();\r\n }\r\n\r\n // Convert a numeric string of baseIn to a numeric string of baseOut.\r\n // If the caller is toString, we are converting from base 10 to baseOut.\r\n // If the caller is BigNumber, we are converting from baseIn to base 10.\r\n return function (str, baseIn, baseOut, sign, callerIsToString) {\r\n var alphabet, d, e, k, r, x, xc, y,\r\n i = str.indexOf('.'),\r\n dp = DECIMAL_PLACES,\r\n rm = ROUNDING_MODE;\r\n\r\n // Non-integer.\r\n if (i >= 0) {\r\n k = POW_PRECISION;\r\n\r\n // Unlimited precision.\r\n POW_PRECISION = 0;\r\n str = str.replace('.', '');\r\n y = new BigNumber(baseIn);\r\n x = y.pow(str.length - i);\r\n POW_PRECISION = k;\r\n\r\n // Convert str as if an integer, then restore the fraction part by dividing the\r\n // result by its base raised to a power.\r\n\r\n y.c = toBaseOut(toFixedPoint(coeffToString(x.c), x.e, '0'),\r\n 10, baseOut, decimal);\r\n y.e = y.c.length;\r\n }\r\n\r\n // Convert the number as integer.\r\n\r\n xc = toBaseOut(str, baseIn, baseOut, callerIsToString\r\n ? (alphabet = ALPHABET, decimal)\r\n : (alphabet = decimal, ALPHABET));\r\n\r\n // xc now represents str as an integer and converted to baseOut. e is the exponent.\r\n e = k = xc.length;\r\n\r\n // Remove trailing zeros.\r\n for (; xc[--k] == 0; xc.pop());\r\n\r\n // Zero?\r\n if (!xc[0]) return alphabet.charAt(0);\r\n\r\n // Does str represent an integer? If so, no need for the division.\r\n if (i < 0) {\r\n --e;\r\n } else {\r\n x.c = xc;\r\n x.e = e;\r\n\r\n // The sign is needed for correct rounding.\r\n x.s = sign;\r\n x = div(x, y, dp, rm, baseOut);\r\n xc = x.c;\r\n r = x.r;\r\n e = x.e;\r\n }\r\n\r\n // xc now represents str converted to baseOut.\r\n\r\n // THe index of the rounding digit.\r\n d = e + dp + 1;\r\n\r\n // The rounding digit: the digit to the right of the digit that may be rounded up.\r\n i = xc[d];\r\n\r\n // Look at the rounding digits and mode to determine whether to round up.\r\n\r\n k = baseOut / 2;\r\n r = r || d < 0 || xc[d + 1] != null;\r\n\r\n r = rm < 4 ? (i != null || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : i > k || i == k &&(rm == 4 || r || rm == 6 && xc[d - 1] & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n\r\n // If the index of the rounding digit is not greater than zero, or xc represents\r\n // zero, then the result of the base conversion is zero or, if rounding up, a value\r\n // such as 0.00001.\r\n if (d < 1 || !xc[0]) {\r\n\r\n // 1^-dp or 0\r\n str = r ? toFixedPoint(alphabet.charAt(1), -dp, alphabet.charAt(0)) : alphabet.charAt(0);\r\n } else {\r\n\r\n // Truncate xc to the required number of decimal places.\r\n xc.length = d;\r\n\r\n // Round up?\r\n if (r) {\r\n\r\n // Rounding up may mean the previous digit has to be rounded up and so on.\r\n for (--baseOut; ++xc[--d] > baseOut;) {\r\n xc[d] = 0;\r\n\r\n if (!d) {\r\n ++e;\r\n xc = [1].concat(xc);\r\n }\r\n }\r\n }\r\n\r\n // Determine trailing zeros.\r\n for (k = xc.length; !xc[--k];);\r\n\r\n // E.g. [4, 11, 15] becomes 4bf.\r\n for (i = 0, str = ''; i <= k; str += alphabet.charAt(xc[i++]));\r\n\r\n // Add leading zeros, decimal point and trailing zeros as required.\r\n str = toFixedPoint(str, e, alphabet.charAt(0));\r\n }\r\n\r\n // The caller will add the sign.\r\n return str;\r\n };\r\n })();\r\n\r\n\r\n // Perform division in the specified base. Called by div and convertBase.\r\n div = (function () {\r\n\r\n // Assume non-zero x and k.\r\n function multiply(x, k, base) {\r\n var m, temp, xlo, xhi,\r\n carry = 0,\r\n i = x.length,\r\n klo = k % SQRT_BASE,\r\n khi = k / SQRT_BASE | 0;\r\n\r\n for (x = x.slice(); i--;) {\r\n xlo = x[i] % SQRT_BASE;\r\n xhi = x[i] / SQRT_BASE | 0;\r\n m = khi * xlo + xhi * klo;\r\n temp = klo * xlo + ((m % SQRT_BASE) * SQRT_BASE) + carry;\r\n carry = (temp / base | 0) + (m / SQRT_BASE | 0) + khi * xhi;\r\n x[i] = temp % base;\r\n }\r\n\r\n if (carry) x = [carry].concat(x);\r\n\r\n return x;\r\n }\r\n\r\n function compare(a, b, aL, bL) {\r\n var i, cmp;\r\n\r\n if (aL != bL) {\r\n cmp = aL > bL ? 1 : -1;\r\n } else {\r\n\r\n for (i = cmp = 0; i < aL; i++) {\r\n\r\n if (a[i] != b[i]) {\r\n cmp = a[i] > b[i] ? 1 : -1;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return cmp;\r\n }\r\n\r\n function subtract(a, b, aL, base) {\r\n var i = 0;\r\n\r\n // Subtract b from a.\r\n for (; aL--;) {\r\n a[aL] -= i;\r\n i = a[aL] < b[aL] ? 1 : 0;\r\n a[aL] = i * base + a[aL] - b[aL];\r\n }\r\n\r\n // Remove leading zeros.\r\n for (; !a[0] && a.length > 1; a.splice(0, 1));\r\n }\r\n\r\n // x: dividend, y: divisor.\r\n return function (x, y, dp, rm, base) {\r\n var cmp, e, i, more, n, prod, prodL, q, qc, rem, remL, rem0, xi, xL, yc0,\r\n yL, yz,\r\n s = x.s == y.s ? 1 : -1,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n // Either NaN, Infinity or 0?\r\n if (!xc || !xc[0] || !yc || !yc[0]) {\r\n\r\n return new BigNumber(\r\n\r\n // Return NaN if either NaN, or both Infinity or 0.\r\n !x.s || !y.s || (xc ? yc && xc[0] == yc[0] : !yc) ? NaN :\r\n\r\n // Return ±0 if x is ±0 or y is ±Infinity, or return ±Infinity as y is ±0.\r\n xc && xc[0] == 0 || !yc ? s * 0 : s / 0\r\n );\r\n }\r\n\r\n q = new BigNumber(s);\r\n qc = q.c = [];\r\n e = x.e - y.e;\r\n s = dp + e + 1;\r\n\r\n if (!base) {\r\n base = BASE;\r\n e = bitFloor(x.e / LOG_BASE) - bitFloor(y.e / LOG_BASE);\r\n s = s / LOG_BASE | 0;\r\n }\r\n\r\n // Result exponent may be one less then the current value of e.\r\n // The coefficients of the BigNumbers from convertBase may have trailing zeros.\r\n for (i = 0; yc[i] == (xc[i] || 0); i++);\r\n\r\n if (yc[i] > (xc[i] || 0)) e--;\r\n\r\n if (s < 0) {\r\n qc.push(1);\r\n more = true;\r\n } else {\r\n xL = xc.length;\r\n yL = yc.length;\r\n i = 0;\r\n s += 2;\r\n\r\n // Normalise xc and yc so highest order digit of yc is >= base / 2.\r\n\r\n n = mathfloor(base / (yc[0] + 1));\r\n\r\n // Not necessary, but to handle odd bases where yc[0] == (base / 2) - 1.\r\n // if (n > 1 || n++ == 1 && yc[0] < base / 2) {\r\n if (n > 1) {\r\n yc = multiply(yc, n, base);\r\n xc = multiply(xc, n, base);\r\n yL = yc.length;\r\n xL = xc.length;\r\n }\r\n\r\n xi = yL;\r\n rem = xc.slice(0, yL);\r\n remL = rem.length;\r\n\r\n // Add zeros to make remainder as long as divisor.\r\n for (; remL < yL; rem[remL++] = 0);\r\n yz = yc.slice();\r\n yz = [0].concat(yz);\r\n yc0 = yc[0];\r\n if (yc[1] >= base / 2) yc0++;\r\n // Not necessary, but to prevent trial digit n > base, when using base 3.\r\n // else if (base == 3 && yc0 == 1) yc0 = 1 + 1e-15;\r\n\r\n do {\r\n n = 0;\r\n\r\n // Compare divisor and remainder.\r\n cmp = compare(yc, rem, yL, remL);\r\n\r\n // If divisor < remainder.\r\n if (cmp < 0) {\r\n\r\n // Calculate trial digit, n.\r\n\r\n rem0 = rem[0];\r\n if (yL != remL) rem0 = rem0 * base + (rem[1] || 0);\r\n\r\n // n is how many times the divisor goes into the current remainder.\r\n n = mathfloor(rem0 / yc0);\r\n\r\n // Algorithm:\r\n // product = divisor multiplied by trial digit (n).\r\n // Compare product and remainder.\r\n // If product is greater than remainder:\r\n // Subtract divisor from product, decrement trial digit.\r\n // Subtract product from remainder.\r\n // If product was less than remainder at the last compare:\r\n // Compare new remainder and divisor.\r\n // If remainder is greater than divisor:\r\n // Subtract divisor from remainder, increment trial digit.\r\n\r\n if (n > 1) {\r\n\r\n // n may be > base only when base is 3.\r\n if (n >= base) n = base - 1;\r\n\r\n // product = divisor * trial digit.\r\n prod = multiply(yc, n, base);\r\n prodL = prod.length;\r\n remL = rem.length;\r\n\r\n // Compare product and remainder.\r\n // If product > remainder then trial digit n too high.\r\n // n is 1 too high about 5% of the time, and is not known to have\r\n // ever been more than 1 too high.\r\n while (compare(prod, rem, prodL, remL) == 1) {\r\n n--;\r\n\r\n // Subtract divisor from product.\r\n subtract(prod, yL < prodL ? yz : yc, prodL, base);\r\n prodL = prod.length;\r\n cmp = 1;\r\n }\r\n } else {\r\n\r\n // n is 0 or 1, cmp is -1.\r\n // If n is 0, there is no need to compare yc and rem again below,\r\n // so change cmp to 1 to avoid it.\r\n // If n is 1, leave cmp as -1, so yc and rem are compared again.\r\n if (n == 0) {\r\n\r\n // divisor < remainder, so n must be at least 1.\r\n cmp = n = 1;\r\n }\r\n\r\n // product = divisor\r\n prod = yc.slice();\r\n prodL = prod.length;\r\n }\r\n\r\n if (prodL < remL) prod = [0].concat(prod);\r\n\r\n // Subtract product from remainder.\r\n subtract(rem, prod, remL, base);\r\n remL = rem.length;\r\n\r\n // If product was < remainder.\r\n if (cmp == -1) {\r\n\r\n // Compare divisor and new remainder.\r\n // If divisor < new remainder, subtract divisor from remainder.\r\n // Trial digit n too low.\r\n // n is 1 too low about 5% of the time, and very rarely 2 too low.\r\n while (compare(yc, rem, yL, remL) < 1) {\r\n n++;\r\n\r\n // Subtract divisor from remainder.\r\n subtract(rem, yL < remL ? yz : yc, remL, base);\r\n remL = rem.length;\r\n }\r\n }\r\n } else if (cmp === 0) {\r\n n++;\r\n rem = [0];\r\n } // else cmp === 1 and n will be 0\r\n\r\n // Add the next digit, n, to the result array.\r\n qc[i++] = n;\r\n\r\n // Update the remainder.\r\n if (rem[0]) {\r\n rem[remL++] = xc[xi] || 0;\r\n } else {\r\n rem = [xc[xi]];\r\n remL = 1;\r\n }\r\n } while ((xi++ < xL || rem[0] != null) && s--);\r\n\r\n more = rem[0] != null;\r\n\r\n // Leading zero?\r\n if (!qc[0]) qc.splice(0, 1);\r\n }\r\n\r\n if (base == BASE) {\r\n\r\n // To calculate q.e, first get the number of digits of qc[0].\r\n for (i = 1, s = qc[0]; s >= 10; s /= 10, i++);\r\n\r\n round(q, dp + (q.e = i + e * LOG_BASE - 1) + 1, rm, more);\r\n\r\n // Caller is convertBase.\r\n } else {\r\n q.e = e;\r\n q.r = +more;\r\n }\r\n\r\n return q;\r\n };\r\n })();\r\n\r\n\r\n /*\r\n * Return a string representing the value of BigNumber n in fixed-point or exponential\r\n * notation rounded to the specified decimal places or significant digits.\r\n *\r\n * n: a BigNumber.\r\n * i: the index of the last digit required (i.e. the digit that may be rounded up).\r\n * rm: the rounding mode.\r\n * id: 1 (toExponential) or 2 (toPrecision).\r\n */\r\n function format(n, i, rm, id) {\r\n var c0, e, ne, len, str;\r\n\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n if (!n.c) return n.toString();\r\n\r\n c0 = n.c[0];\r\n ne = n.e;\r\n\r\n if (i == null) {\r\n str = coeffToString(n.c);\r\n str = id == 1 || id == 2 && (ne <= TO_EXP_NEG || ne >= TO_EXP_POS)\r\n ? toExponential(str, ne)\r\n : toFixedPoint(str, ne, '0');\r\n } else {\r\n n = round(new BigNumber(n), i, rm);\r\n\r\n // n.e may have changed if the value was rounded up.\r\n e = n.e;\r\n\r\n str = coeffToString(n.c);\r\n len = str.length;\r\n\r\n // toPrecision returns exponential notation if the number of significant digits\r\n // specified is less than the number of digits necessary to represent the integer\r\n // part of the value in fixed-point notation.\r\n\r\n // Exponential notation.\r\n if (id == 1 || id == 2 && (i <= e || e <= TO_EXP_NEG)) {\r\n\r\n // Append zeros?\r\n for (; len < i; str += '0', len++);\r\n str = toExponential(str, e);\r\n\r\n // Fixed-point notation.\r\n } else {\r\n i -= ne;\r\n str = toFixedPoint(str, e, '0');\r\n\r\n // Append zeros?\r\n if (e + 1 > len) {\r\n if (--i > 0) for (str += '.'; i--; str += '0');\r\n } else {\r\n i += e - len;\r\n if (i > 0) {\r\n if (e + 1 == len) str += '.';\r\n for (; i--; str += '0');\r\n }\r\n }\r\n }\r\n }\r\n\r\n return n.s < 0 && c0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // Handle BigNumber.max and BigNumber.min.\r\n function maxOrMin(args, method) {\r\n var n,\r\n i = 1,\r\n m = new BigNumber(args[0]);\r\n\r\n for (; i < args.length; i++) {\r\n n = new BigNumber(args[i]);\r\n\r\n // If any number is NaN, return NaN.\r\n if (!n.s) {\r\n m = n;\r\n break;\r\n } else if (method.call(m, n)) {\r\n m = n;\r\n }\r\n }\r\n\r\n return m;\r\n }\r\n\r\n\r\n /*\r\n * Strip trailing zeros, calculate base 10 exponent and check against MIN_EXP and MAX_EXP.\r\n * Called by minus, plus and times.\r\n */\r\n function normalise(n, c, e) {\r\n var i = 1,\r\n j = c.length;\r\n\r\n // Remove trailing zeros.\r\n for (; !c[--j]; c.pop());\r\n\r\n // Calculate the base 10 exponent. First get the number of digits of c[0].\r\n for (j = c[0]; j >= 10; j /= 10, i++);\r\n\r\n // Overflow?\r\n if ((e = i + e * LOG_BASE - 1) > MAX_EXP) {\r\n\r\n // Infinity.\r\n n.c = n.e = null;\r\n\r\n // Underflow?\r\n } else if (e < MIN_EXP) {\r\n\r\n // Zero.\r\n n.c = [n.e = 0];\r\n } else {\r\n n.e = e;\r\n n.c = c;\r\n }\r\n\r\n return n;\r\n }\r\n\r\n\r\n // Handle values that fail the validity test in BigNumber.\r\n parseNumeric = (function () {\r\n var basePrefix = /^(-?)0([xbo])(?=\\w[\\w.]*$)/i,\r\n dotAfter = /^([^.]+)\\.$/,\r\n dotBefore = /^\\.([^.]+)$/,\r\n isInfinityOrNaN = /^-?(Infinity|NaN)$/,\r\n whitespaceOrPlus = /^\\s*\\+(?=[\\w.])|^\\s+|\\s+$/g;\r\n\r\n return function (x, str, isNum, b) {\r\n var base,\r\n s = isNum ? str : str.replace(whitespaceOrPlus, '');\r\n\r\n // No exception on ±Infinity or NaN.\r\n if (isInfinityOrNaN.test(s)) {\r\n x.s = isNaN(s) ? null : s < 0 ? -1 : 1;\r\n } else {\r\n if (!isNum) {\r\n\r\n // basePrefix = /^(-?)0([xbo])(?=\\w[\\w.]*$)/i\r\n s = s.replace(basePrefix, function (m, p1, p2) {\r\n base = (p2 = p2.toLowerCase()) == 'x' ? 16 : p2 == 'b' ? 2 : 8;\r\n return !b || b == base ? p1 : m;\r\n });\r\n\r\n if (b) {\r\n base = b;\r\n\r\n // E.g. '1.' to '1', '.1' to '0.1'\r\n s = s.replace(dotAfter, '$1').replace(dotBefore, '0.$1');\r\n }\r\n\r\n if (str != s) return new BigNumber(s, base);\r\n }\r\n\r\n // '[BigNumber Error] Not a number: {n}'\r\n // '[BigNumber Error] Not a base {b} number: {n}'\r\n if (BigNumber.DEBUG) {\r\n throw Error\r\n (bignumberError + 'Not a' + (b ? ' base ' + b : '') + ' number: ' + str);\r\n }\r\n\r\n // NaN\r\n x.s = null;\r\n }\r\n\r\n x.c = x.e = null;\r\n }\r\n })();\r\n\r\n\r\n /*\r\n * Round x to sd significant digits using rounding mode rm. Check for over/under-flow.\r\n * If r is truthy, it is known that there are more digits after the rounding digit.\r\n */\r\n function round(x, sd, rm, r) {\r\n var d, i, j, k, n, ni, rd,\r\n xc = x.c,\r\n pows10 = POWS_TEN;\r\n\r\n // if x is not Infinity or NaN...\r\n if (xc) {\r\n\r\n // rd is the rounding digit, i.e. the digit after the digit that may be rounded up.\r\n // n is a base 1e14 number, the value of the element of array x.c containing rd.\r\n // ni is the index of n within x.c.\r\n // d is the number of digits of n.\r\n // i is the index of rd within n including leading zeros.\r\n // j is the actual index of rd within n (if < 0, rd is a leading zero).\r\n out: {\r\n\r\n // Get the number of digits of the first element of xc.\r\n for (d = 1, k = xc[0]; k >= 10; k /= 10, d++);\r\n i = sd - d;\r\n\r\n // If the rounding digit is in the first element of xc...\r\n if (i < 0) {\r\n i += LOG_BASE;\r\n j = sd;\r\n n = xc[ni = 0];\r\n\r\n // Get the rounding digit at index j of n.\r\n rd = n / pows10[d - j - 1] % 10 | 0;\r\n } else {\r\n ni = mathceil((i + 1) / LOG_BASE);\r\n\r\n if (ni >= xc.length) {\r\n\r\n if (r) {\r\n\r\n // Needed by sqrt.\r\n for (; xc.length <= ni; xc.push(0));\r\n n = rd = 0;\r\n d = 1;\r\n i %= LOG_BASE;\r\n j = i - LOG_BASE + 1;\r\n } else {\r\n break out;\r\n }\r\n } else {\r\n n = k = xc[ni];\r\n\r\n // Get the number of digits of n.\r\n for (d = 1; k >= 10; k /= 10, d++);\r\n\r\n // Get the index of rd within n.\r\n i %= LOG_BASE;\r\n\r\n // Get the index of rd within n, adjusted for leading zeros.\r\n // The number of leading zeros of n is given by LOG_BASE - d.\r\n j = i - LOG_BASE + d;\r\n\r\n // Get the rounding digit at index j of n.\r\n rd = j < 0 ? 0 : n / pows10[d - j - 1] % 10 | 0;\r\n }\r\n }\r\n\r\n r = r || sd < 0 ||\r\n\r\n // Are there any non-zero digits after the rounding digit?\r\n // The expression n % pows10[d - j - 1] returns all digits of n to the right\r\n // of the digit at j, e.g. if n is 908714 and j is 2, the expression gives 714.\r\n xc[ni + 1] != null || (j < 0 ? n : n % pows10[d - j - 1]);\r\n\r\n r = rm < 4\r\n ? (rd || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2))\r\n : rd > 5 || rd == 5 && (rm == 4 || r || rm == 6 &&\r\n\r\n // Check whether the digit to the left of the rounding digit is odd.\r\n ((i > 0 ? j > 0 ? n / pows10[d - j] : 0 : xc[ni - 1]) % 10) & 1 ||\r\n rm == (x.s < 0 ? 8 : 7));\r\n\r\n if (sd < 1 || !xc[0]) {\r\n xc.length = 0;\r\n\r\n if (r) {\r\n\r\n // Convert sd to decimal places.\r\n sd -= x.e + 1;\r\n\r\n // 1, 0.1, 0.01, 0.001, 0.0001 etc.\r\n xc[0] = pows10[(LOG_BASE - sd % LOG_BASE) % LOG_BASE];\r\n x.e = -sd || 0;\r\n } else {\r\n\r\n // Zero.\r\n xc[0] = x.e = 0;\r\n }\r\n\r\n return x;\r\n }\r\n\r\n // Remove excess digits.\r\n if (i == 0) {\r\n xc.length = ni;\r\n k = 1;\r\n ni--;\r\n } else {\r\n xc.length = ni + 1;\r\n k = pows10[LOG_BASE - i];\r\n\r\n // E.g. 56700 becomes 56000 if 7 is the rounding digit.\r\n // j > 0 means i > number of leading zeros of n.\r\n xc[ni] = j > 0 ? mathfloor(n / pows10[d - j] % pows10[j]) * k : 0;\r\n }\r\n\r\n // Round up?\r\n if (r) {\r\n\r\n for (; ;) {\r\n\r\n // If the digit to be rounded up is in the first element of xc...\r\n if (ni == 0) {\r\n\r\n // i will be the length of xc[0] before k is added.\r\n for (i = 1, j = xc[0]; j >= 10; j /= 10, i++);\r\n j = xc[0] += k;\r\n for (k = 1; j >= 10; j /= 10, k++);\r\n\r\n // if i != k the length has increased.\r\n if (i != k) {\r\n x.e++;\r\n if (xc[0] == BASE) xc[0] = 1;\r\n }\r\n\r\n break;\r\n } else {\r\n xc[ni] += k;\r\n if (xc[ni] != BASE) break;\r\n xc[ni--] = 0;\r\n k = 1;\r\n }\r\n }\r\n }\r\n\r\n // Remove trailing zeros.\r\n for (i = xc.length; xc[--i] === 0; xc.pop());\r\n }\r\n\r\n // Overflow? Infinity.\r\n if (x.e > MAX_EXP) {\r\n x.c = x.e = null;\r\n\r\n // Underflow? Zero.\r\n } else if (x.e < MIN_EXP) {\r\n x.c = [x.e = 0];\r\n }\r\n }\r\n\r\n return x;\r\n }\r\n\r\n\r\n function valueOf(n) {\r\n var str,\r\n e = n.e;\r\n\r\n if (e === null) return n.toString();\r\n\r\n str = coeffToString(n.c);\r\n\r\n str = e <= TO_EXP_NEG || e >= TO_EXP_POS\r\n ? toExponential(str, e)\r\n : toFixedPoint(str, e, '0');\r\n\r\n return n.s < 0 ? '-' + str : str;\r\n }\r\n\r\n\r\n // PROTOTYPE/INSTANCE METHODS\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the absolute value of this BigNumber.\r\n */\r\n P.absoluteValue = P.abs = function () {\r\n var x = new BigNumber(this);\r\n if (x.s < 0) x.s = 1;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * Return\r\n * 1 if the value of this BigNumber is greater than the value of BigNumber(y, b),\r\n * -1 if the value of this BigNumber is less than the value of BigNumber(y, b),\r\n * 0 if they have the same value,\r\n * or null if the value of either is NaN.\r\n */\r\n P.comparedTo = function (y, b) {\r\n return compare(this, new BigNumber(y, b));\r\n };\r\n\r\n\r\n /*\r\n * If dp is undefined or null or true or false, return the number of decimal places of the\r\n * value of this BigNumber, or null if the value of this BigNumber is ±Infinity or NaN.\r\n *\r\n * Otherwise, if dp is a number, return a new BigNumber whose value is the value of this\r\n * BigNumber rounded to a maximum of dp decimal places using rounding mode rm, or\r\n * ROUNDING_MODE if rm is omitted.\r\n *\r\n * [dp] {number} Decimal places: integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.decimalPlaces = P.dp = function (dp, rm) {\r\n var c, n, v,\r\n x = this;\r\n\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n return round(new BigNumber(x), dp + x.e + 1, rm);\r\n }\r\n\r\n if (!(c = x.c)) return null;\r\n n = ((v = c.length - 1) - bitFloor(this.e / LOG_BASE)) * LOG_BASE;\r\n\r\n // Subtract the number of trailing zeros of the last number.\r\n if (v = c[v]) for (; v % 10 == 0; v /= 10, n--);\r\n if (n < 0) n = 0;\r\n\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * n / 0 = I\r\n * n / N = N\r\n * n / I = 0\r\n * 0 / n = 0\r\n * 0 / 0 = N\r\n * 0 / N = N\r\n * 0 / I = 0\r\n * N / n = N\r\n * N / 0 = N\r\n * N / N = N\r\n * N / I = N\r\n * I / n = I\r\n * I / 0 = I\r\n * I / N = N\r\n * I / I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber divided by the value of\r\n * BigNumber(y, b), rounded according to DECIMAL_PLACES and ROUNDING_MODE.\r\n */\r\n P.dividedBy = P.div = function (y, b) {\r\n return div(this, new BigNumber(y, b), DECIMAL_PLACES, ROUNDING_MODE);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the integer part of dividing the value of this\r\n * BigNumber by the value of BigNumber(y, b).\r\n */\r\n P.dividedToIntegerBy = P.idiv = function (y, b) {\r\n return div(this, new BigNumber(y, b), 0, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a BigNumber whose value is the value of this BigNumber exponentiated by n.\r\n *\r\n * If m is present, return the result modulo m.\r\n * If n is negative round according to DECIMAL_PLACES and ROUNDING_MODE.\r\n * If POW_PRECISION is non-zero and m is not present, round to POW_PRECISION using ROUNDING_MODE.\r\n *\r\n * The modular power operation works efficiently when x, n, and m are integers, otherwise it\r\n * is equivalent to calculating x.exponentiatedBy(n).modulo(m) with a POW_PRECISION of 0.\r\n *\r\n * n {number|string|BigNumber} The exponent. An integer.\r\n * [m] {number|string|BigNumber} The modulus.\r\n *\r\n * '[BigNumber Error] Exponent not an integer: {n}'\r\n */\r\n P.exponentiatedBy = P.pow = function (n, m) {\r\n var half, isModExp, i, k, more, nIsBig, nIsNeg, nIsOdd, y,\r\n x = this;\r\n\r\n n = new BigNumber(n);\r\n\r\n // Allow NaN and ±Infinity, but not other non-integers.\r\n if (n.c && !n.isInteger()) {\r\n throw Error\r\n (bignumberError + 'Exponent not an integer: ' + valueOf(n));\r\n }\r\n\r\n if (m != null) m = new BigNumber(m);\r\n\r\n // Exponent of MAX_SAFE_INTEGER is 15.\r\n nIsBig = n.e > 14;\r\n\r\n // If x is NaN, ±Infinity, ±0 or ±1, or n is ±Infinity, NaN or ±0.\r\n if (!x.c || !x.c[0] || x.c[0] == 1 && !x.e && x.c.length == 1 || !n.c || !n.c[0]) {\r\n\r\n // The sign of the result of pow when x is negative depends on the evenness of n.\r\n // If +n overflows to ±Infinity, the evenness of n would be not be known.\r\n y = new BigNumber(Math.pow(+valueOf(x), nIsBig ? 2 - isOdd(n) : +valueOf(n)));\r\n return m ? y.mod(m) : y;\r\n }\r\n\r\n nIsNeg = n.s < 0;\r\n\r\n if (m) {\r\n\r\n // x % m returns NaN if abs(m) is zero, or m is NaN.\r\n if (m.c ? !m.c[0] : !m.s) return new BigNumber(NaN);\r\n\r\n isModExp = !nIsNeg && x.isInteger() && m.isInteger();\r\n\r\n if (isModExp) x = x.mod(m);\r\n\r\n // Overflow to ±Infinity: >=2**1e10 or >=1.0000024**1e15.\r\n // Underflow to ±0: <=0.79**1e10 or <=0.9999975**1e15.\r\n } else if (n.e > 9 && (x.e > 0 || x.e < -1 || (x.e == 0\r\n // [1, 240000000]\r\n ? x.c[0] > 1 || nIsBig && x.c[1] >= 24e7\r\n // [80000000000000] [99999750000000]\r\n : x.c[0] < 8e13 || nIsBig && x.c[0] <= 9999975e7))) {\r\n\r\n // If x is negative and n is odd, k = -0, else k = 0.\r\n k = x.s < 0 && isOdd(n) ? -0 : 0;\r\n\r\n // If x >= 1, k = ±Infinity.\r\n if (x.e > -1) k = 1 / k;\r\n\r\n // If n is negative return ±0, else return ±Infinity.\r\n return new BigNumber(nIsNeg ? 1 / k : k);\r\n\r\n } else if (POW_PRECISION) {\r\n\r\n // Truncating each coefficient array to a length of k after each multiplication\r\n // equates to truncating significant digits to POW_PRECISION + [28, 41],\r\n // i.e. there will be a minimum of 28 guard digits retained.\r\n k = mathceil(POW_PRECISION / LOG_BASE + 2);\r\n }\r\n\r\n if (nIsBig) {\r\n half = new BigNumber(0.5);\r\n if (nIsNeg) n.s = 1;\r\n nIsOdd = isOdd(n);\r\n } else {\r\n i = Math.abs(+valueOf(n));\r\n nIsOdd = i % 2;\r\n }\r\n\r\n y = new BigNumber(ONE);\r\n\r\n // Performs 54 loop iterations for n of 9007199254740991.\r\n for (; ;) {\r\n\r\n if (nIsOdd) {\r\n y = y.times(x);\r\n if (!y.c) break;\r\n\r\n if (k) {\r\n if (y.c.length > k) y.c.length = k;\r\n } else if (isModExp) {\r\n y = y.mod(m); //y = y.minus(div(y, m, 0, MODULO_MODE).times(m));\r\n }\r\n }\r\n\r\n if (i) {\r\n i = mathfloor(i / 2);\r\n if (i === 0) break;\r\n nIsOdd = i % 2;\r\n } else {\r\n n = n.times(half);\r\n round(n, n.e + 1, 1);\r\n\r\n if (n.e > 14) {\r\n nIsOdd = isOdd(n);\r\n } else {\r\n i = +valueOf(n);\r\n if (i === 0) break;\r\n nIsOdd = i % 2;\r\n }\r\n }\r\n\r\n x = x.times(x);\r\n\r\n if (k) {\r\n if (x.c && x.c.length > k) x.c.length = k;\r\n } else if (isModExp) {\r\n x = x.mod(m); //x = x.minus(div(x, m, 0, MODULO_MODE).times(m));\r\n }\r\n }\r\n\r\n if (isModExp) return y;\r\n if (nIsNeg) y = ONE.div(y);\r\n\r\n return m ? y.mod(m) : k ? round(y, POW_PRECISION, ROUNDING_MODE, more) : y;\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber rounded to an integer\r\n * using rounding mode rm, or ROUNDING_MODE if rm is omitted.\r\n *\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {rm}'\r\n */\r\n P.integerValue = function (rm) {\r\n var n = new BigNumber(this);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n return round(n, n.e + 1, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is equal to the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isEqualTo = P.eq = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is a finite number, otherwise return false.\r\n */\r\n P.isFinite = function () {\r\n return !!this.c;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is greater than the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isGreaterThan = P.gt = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is greater than or equal to the value of\r\n * BigNumber(y, b), otherwise return false.\r\n */\r\n P.isGreaterThanOrEqualTo = P.gte = function (y, b) {\r\n return (b = compare(this, new BigNumber(y, b))) === 1 || b === 0;\r\n\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is an integer, otherwise return false.\r\n */\r\n P.isInteger = function () {\r\n return !!this.c && bitFloor(this.e / LOG_BASE) > this.c.length - 2;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is less than the value of BigNumber(y, b),\r\n * otherwise return false.\r\n */\r\n P.isLessThan = P.lt = function (y, b) {\r\n return compare(this, new BigNumber(y, b)) < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is less than or equal to the value of\r\n * BigNumber(y, b), otherwise return false.\r\n */\r\n P.isLessThanOrEqualTo = P.lte = function (y, b) {\r\n return (b = compare(this, new BigNumber(y, b))) === -1 || b === 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is NaN, otherwise return false.\r\n */\r\n P.isNaN = function () {\r\n return !this.s;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is negative, otherwise return false.\r\n */\r\n P.isNegative = function () {\r\n return this.s < 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is positive, otherwise return false.\r\n */\r\n P.isPositive = function () {\r\n return this.s > 0;\r\n };\r\n\r\n\r\n /*\r\n * Return true if the value of this BigNumber is 0 or -0, otherwise return false.\r\n */\r\n P.isZero = function () {\r\n return !!this.c && this.c[0] == 0;\r\n };\r\n\r\n\r\n /*\r\n * n - 0 = n\r\n * n - N = N\r\n * n - I = -I\r\n * 0 - n = -n\r\n * 0 - 0 = 0\r\n * 0 - N = N\r\n * 0 - I = -I\r\n * N - n = N\r\n * N - 0 = N\r\n * N - N = N\r\n * N - I = N\r\n * I - n = I\r\n * I - 0 = I\r\n * I - N = N\r\n * I - I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber minus the value of\r\n * BigNumber(y, b).\r\n */\r\n P.minus = function (y, b) {\r\n var i, j, t, xLTy,\r\n x = this,\r\n a = x.s;\r\n\r\n y = new BigNumber(y, b);\r\n b = y.s;\r\n\r\n // Either NaN?\r\n if (!a || !b) return new BigNumber(NaN);\r\n\r\n // Signs differ?\r\n if (a != b) {\r\n y.s = -b;\r\n return x.plus(y);\r\n }\r\n\r\n var xe = x.e / LOG_BASE,\r\n ye = y.e / LOG_BASE,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n if (!xe || !ye) {\r\n\r\n // Either Infinity?\r\n if (!xc || !yc) return xc ? (y.s = -b, y) : new BigNumber(yc ? x : NaN);\r\n\r\n // Either zero?\r\n if (!xc[0] || !yc[0]) {\r\n\r\n // Return y if y is non-zero, x if x is non-zero, or zero if both are zero.\r\n return yc[0] ? (y.s = -b, y) : new BigNumber(xc[0] ? x :\r\n\r\n // IEEE 754 (2008) 6.3: n - n = -0 when rounding to -Infinity\r\n ROUNDING_MODE == 3 ? -0 : 0);\r\n }\r\n }\r\n\r\n xe = bitFloor(xe);\r\n ye = bitFloor(ye);\r\n xc = xc.slice();\r\n\r\n // Determine which is the bigger number.\r\n if (a = xe - ye) {\r\n\r\n if (xLTy = a < 0) {\r\n a = -a;\r\n t = xc;\r\n } else {\r\n ye = xe;\r\n t = yc;\r\n }\r\n\r\n t.reverse();\r\n\r\n // Prepend zeros to equalise exponents.\r\n for (b = a; b--; t.push(0));\r\n t.reverse();\r\n } else {\r\n\r\n // Exponents equal. Check digit by digit.\r\n j = (xLTy = (a = xc.length) < (b = yc.length)) ? a : b;\r\n\r\n for (a = b = 0; b < j; b++) {\r\n\r\n if (xc[b] != yc[b]) {\r\n xLTy = xc[b] < yc[b];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // x < y? Point xc to the array of the bigger number.\r\n if (xLTy) {\r\n t = xc;\r\n xc = yc;\r\n yc = t;\r\n y.s = -y.s;\r\n } \r\n\r\n b = (j = yc.length) - (i = xc.length);\r\n\r\n // Append zeros to xc if shorter.\r\n // No need to add zeros to yc if shorter as subtract only needs to start at yc.length.\r\n if (b > 0) for (; b--; xc[i++] = 0);\r\n b = BASE - 1;\r\n\r\n // Subtract yc from xc.\r\n for (; j > a;) {\r\n\r\n if (xc[--j] < yc[j]) {\r\n for (i = j; i && !xc[--i]; xc[i] = b);\r\n --xc[i];\r\n xc[j] += BASE;\r\n }\r\n\r\n xc[j] -= yc[j];\r\n }\r\n\r\n // Remove leading zeros and adjust exponent accordingly.\r\n for (; xc[0] == 0; xc.splice(0, 1), --ye);\r\n\r\n // Zero?\r\n if (!xc[0]) {\r\n\r\n // Following IEEE 754 (2008) 6.3,\r\n // n - n = +0 but n - n = -0 when rounding towards -Infinity.\r\n y.s = ROUNDING_MODE == 3 ? -1 : 1;\r\n y.c = [y.e = 0];\r\n return y;\r\n }\r\n\r\n // No need to check for Infinity as +x - +y != Infinity && -x - -y != Infinity\r\n // for finite x and y.\r\n return normalise(y, xc, ye);\r\n };\r\n\r\n\r\n /*\r\n * n % 0 = N\r\n * n % N = N\r\n * n % I = n\r\n * 0 % n = 0\r\n * -0 % n = -0\r\n * 0 % 0 = N\r\n * 0 % N = N\r\n * 0 % I = 0\r\n * N % n = N\r\n * N % 0 = N\r\n * N % N = N\r\n * N % I = N\r\n * I % n = N\r\n * I % 0 = N\r\n * I % N = N\r\n * I % I = N\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber modulo the value of\r\n * BigNumber(y, b). The result depends on the value of MODULO_MODE.\r\n */\r\n P.modulo = P.mod = function (y, b) {\r\n var q, s,\r\n x = this;\r\n\r\n y = new BigNumber(y, b);\r\n\r\n // Return NaN if x is Infinity or NaN, or y is NaN or zero.\r\n if (!x.c || !y.s || y.c && !y.c[0]) {\r\n return new BigNumber(NaN);\r\n\r\n // Return x if y is Infinity or x is zero.\r\n } else if (!y.c || x.c && !x.c[0]) {\r\n return new BigNumber(x);\r\n }\r\n\r\n if (MODULO_MODE == 9) {\r\n\r\n // Euclidian division: q = sign(y) * floor(x / abs(y))\r\n // r = x - qy where 0 <= r < abs(y)\r\n s = y.s;\r\n y.s = 1;\r\n q = div(x, y, 0, 3);\r\n y.s = s;\r\n q.s *= s;\r\n } else {\r\n q = div(x, y, 0, MODULO_MODE);\r\n }\r\n\r\n y = x.minus(q.times(y));\r\n\r\n // To match JavaScript %, ensure sign of zero is sign of dividend.\r\n if (!y.c[0] && MODULO_MODE == 1) y.s = x.s;\r\n\r\n return y;\r\n };\r\n\r\n\r\n /*\r\n * n * 0 = 0\r\n * n * N = N\r\n * n * I = I\r\n * 0 * n = 0\r\n * 0 * 0 = 0\r\n * 0 * N = N\r\n * 0 * I = N\r\n * N * n = N\r\n * N * 0 = N\r\n * N * N = N\r\n * N * I = N\r\n * I * n = I\r\n * I * 0 = N\r\n * I * N = N\r\n * I * I = I\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber multiplied by the value\r\n * of BigNumber(y, b).\r\n */\r\n P.multipliedBy = P.times = function (y, b) {\r\n var c, e, i, j, k, m, xcL, xlo, xhi, ycL, ylo, yhi, zc,\r\n base, sqrtBase,\r\n x = this,\r\n xc = x.c,\r\n yc = (y = new BigNumber(y, b)).c;\r\n\r\n // Either NaN, ±Infinity or ±0?\r\n if (!xc || !yc || !xc[0] || !yc[0]) {\r\n\r\n // Return NaN if either is NaN, or one is 0 and the other is Infinity.\r\n if (!x.s || !y.s || xc && !xc[0] && !yc || yc && !yc[0] && !xc) {\r\n y.c = y.e = y.s = null;\r\n } else {\r\n y.s *= x.s;\r\n\r\n // Return ±Infinity if either is ±Infinity.\r\n if (!xc || !yc) {\r\n y.c = y.e = null;\r\n\r\n // Return ±0 if either is ±0.\r\n } else {\r\n y.c = [0];\r\n y.e = 0;\r\n }\r\n }\r\n\r\n return y;\r\n }\r\n\r\n e = bitFloor(x.e / LOG_BASE) + bitFloor(y.e / LOG_BASE);\r\n y.s *= x.s;\r\n xcL = xc.length;\r\n ycL = yc.length;\r\n\r\n // Ensure xc points to longer array and xcL to its length.\r\n if (xcL < ycL) {\r\n zc = xc;\r\n xc = yc;\r\n yc = zc;\r\n i = xcL;\r\n xcL = ycL;\r\n ycL = i;\r\n } \r\n\r\n // Initialise the result array with zeros.\r\n for (i = xcL + ycL, zc = []; i--; zc.push(0));\r\n\r\n base = BASE;\r\n sqrtBase = SQRT_BASE;\r\n\r\n for (i = ycL; --i >= 0;) {\r\n c = 0;\r\n ylo = yc[i] % sqrtBase;\r\n yhi = yc[i] / sqrtBase | 0;\r\n\r\n for (k = xcL, j = i + k; j > i;) {\r\n xlo = xc[--k] % sqrtBase;\r\n xhi = xc[k] / sqrtBase | 0;\r\n m = yhi * xlo + xhi * ylo;\r\n xlo = ylo * xlo + ((m % sqrtBase) * sqrtBase) + zc[j] + c;\r\n c = (xlo / base | 0) + (m / sqrtBase | 0) + yhi * xhi;\r\n zc[j--] = xlo % base;\r\n }\r\n\r\n zc[j] = c;\r\n }\r\n\r\n if (c) {\r\n ++e;\r\n } else {\r\n zc.splice(0, 1);\r\n }\r\n\r\n return normalise(y, zc, e);\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber negated,\r\n * i.e. multiplied by -1.\r\n */\r\n P.negated = function () {\r\n var x = new BigNumber(this);\r\n x.s = -x.s || null;\r\n return x;\r\n };\r\n\r\n\r\n /*\r\n * n + 0 = n\r\n * n + N = N\r\n * n + I = I\r\n * 0 + n = n\r\n * 0 + 0 = 0\r\n * 0 + N = N\r\n * 0 + I = I\r\n * N + n = N\r\n * N + 0 = N\r\n * N + N = N\r\n * N + I = N\r\n * I + n = I\r\n * I + 0 = I\r\n * I + N = N\r\n * I + I = I\r\n *\r\n * Return a new BigNumber whose value is the value of this BigNumber plus the value of\r\n * BigNumber(y, b).\r\n */\r\n P.plus = function (y, b) {\r\n var t,\r\n x = this,\r\n a = x.s;\r\n\r\n y = new BigNumber(y, b);\r\n b = y.s;\r\n\r\n // Either NaN?\r\n if (!a || !b) return new BigNumber(NaN);\r\n\r\n // Signs differ?\r\n if (a != b) {\r\n y.s = -b;\r\n return x.minus(y);\r\n }\r\n\r\n var xe = x.e / LOG_BASE,\r\n ye = y.e / LOG_BASE,\r\n xc = x.c,\r\n yc = y.c;\r\n\r\n if (!xe || !ye) {\r\n\r\n // Return ±Infinity if either ±Infinity.\r\n if (!xc || !yc) return new BigNumber(a / 0);\r\n\r\n // Either zero?\r\n // Return y if y is non-zero, x if x is non-zero, or zero if both are zero.\r\n if (!xc[0] || !yc[0]) return yc[0] ? y : new BigNumber(xc[0] ? x : a * 0);\r\n }\r\n\r\n xe = bitFloor(xe);\r\n ye = bitFloor(ye);\r\n xc = xc.slice();\r\n\r\n // Prepend zeros to equalise exponents. Faster to use reverse then do unshifts.\r\n if (a = xe - ye) {\r\n if (a > 0) {\r\n ye = xe;\r\n t = yc;\r\n } else {\r\n a = -a;\r\n t = xc;\r\n }\r\n\r\n t.reverse();\r\n for (; a--; t.push(0));\r\n t.reverse();\r\n }\r\n\r\n a = xc.length;\r\n b = yc.length;\r\n\r\n // Point xc to the longer array, and b to the shorter length.\r\n if (a - b < 0) {\r\n t = yc;\r\n yc = xc;\r\n xc = t;\r\n b = a;\r\n } \r\n\r\n // Only start adding at yc.length - 1 as the further digits of xc can be ignored.\r\n for (a = 0; b;) {\r\n a = (xc[--b] = xc[b] + yc[b] + a) / BASE | 0;\r\n xc[b] = BASE === xc[b] ? 0 : xc[b] % BASE;\r\n }\r\n\r\n if (a) {\r\n xc = [a].concat(xc);\r\n ++ye;\r\n }\r\n\r\n // No need to check for zero, as +x + +y != 0 && -x + -y != 0\r\n // ye = MAX_EXP + 1 possible\r\n return normalise(y, xc, ye);\r\n };\r\n\r\n\r\n /*\r\n * If sd is undefined or null or true or false, return the number of significant digits of\r\n * the value of this BigNumber, or null if the value of this BigNumber is ±Infinity or NaN.\r\n * If sd is true include integer-part trailing zeros in the count.\r\n *\r\n * Otherwise, if sd is a number, return a new BigNumber whose value is the value of this\r\n * BigNumber rounded to a maximum of sd significant digits using rounding mode rm, or\r\n * ROUNDING_MODE if rm is omitted.\r\n *\r\n * sd {number|boolean} number: significant digits: integer, 1 to MAX inclusive.\r\n * boolean: whether to count integer-part trailing zeros: true or false.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {sd|rm}'\r\n */\r\n P.precision = P.sd = function (sd, rm) {\r\n var c, n, v,\r\n x = this;\r\n\r\n if (sd != null && sd !== !!sd) {\r\n intCheck(sd, 1, MAX);\r\n if (rm == null) rm = ROUNDING_MODE;\r\n else intCheck(rm, 0, 8);\r\n\r\n return round(new BigNumber(x), sd, rm);\r\n }\r\n\r\n if (!(c = x.c)) return null;\r\n v = c.length - 1;\r\n n = v * LOG_BASE + 1;\r\n\r\n if (v = c[v]) {\r\n\r\n // Subtract the number of trailing zeros of the last element.\r\n for (; v % 10 == 0; v /= 10, n--);\r\n\r\n // Add the number of digits of the first element.\r\n for (v = c[0]; v >= 10; v /= 10, n++);\r\n }\r\n\r\n if (sd && x.e + 1 > n) n = x.e + 1;\r\n\r\n return n;\r\n };\r\n\r\n\r\n /*\r\n * Return a new BigNumber whose value is the value of this BigNumber shifted by k places\r\n * (powers of 10). Shift to the right if n > 0, and to the left if n < 0.\r\n *\r\n * k {number} Integer, -MAX_SAFE_INTEGER to MAX_SAFE_INTEGER inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {k}'\r\n */\r\n P.shiftedBy = function (k) {\r\n intCheck(k, -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER);\r\n return this.times('1e' + k);\r\n };\r\n\r\n\r\n /*\r\n * sqrt(-n) = N\r\n * sqrt(N) = N\r\n * sqrt(-I) = N\r\n * sqrt(I) = I\r\n * sqrt(0) = 0\r\n * sqrt(-0) = -0\r\n *\r\n * Return a new BigNumber whose value is the square root of the value of this BigNumber,\r\n * rounded according to DECIMAL_PLACES and ROUNDING_MODE.\r\n */\r\n P.squareRoot = P.sqrt = function () {\r\n var m, n, r, rep, t,\r\n x = this,\r\n c = x.c,\r\n s = x.s,\r\n e = x.e,\r\n dp = DECIMAL_PLACES + 4,\r\n half = new BigNumber('0.5');\r\n\r\n // Negative/NaN/Infinity/zero?\r\n if (s !== 1 || !c || !c[0]) {\r\n return new BigNumber(!s || s < 0 && (!c || c[0]) ? NaN : c ? x : 1 / 0);\r\n }\r\n\r\n // Initial estimate.\r\n s = Math.sqrt(+valueOf(x));\r\n\r\n // Math.sqrt underflow/overflow?\r\n // Pass x to Math.sqrt as integer, then adjust the exponent of the result.\r\n if (s == 0 || s == 1 / 0) {\r\n n = coeffToString(c);\r\n if ((n.length + e) % 2 == 0) n += '0';\r\n s = Math.sqrt(+n);\r\n e = bitFloor((e + 1) / 2) - (e < 0 || e % 2);\r\n\r\n if (s == 1 / 0) {\r\n n = '5e' + e;\r\n } else {\r\n n = s.toExponential();\r\n n = n.slice(0, n.indexOf('e') + 1) + e;\r\n }\r\n\r\n r = new BigNumber(n);\r\n } else {\r\n r = new BigNumber(s + '');\r\n }\r\n\r\n // Check for zero.\r\n // r could be zero if MIN_EXP is changed after the this value was created.\r\n // This would cause a division by zero (x/t) and hence Infinity below, which would cause\r\n // coeffToString to throw.\r\n if (r.c[0]) {\r\n e = r.e;\r\n s = e + dp;\r\n if (s < 3) s = 0;\r\n\r\n // Newton-Raphson iteration.\r\n for (; ;) {\r\n t = r;\r\n r = half.times(t.plus(div(x, t, dp, 1)));\r\n\r\n if (coeffToString(t.c).slice(0, s) === (n = coeffToString(r.c)).slice(0, s)) {\r\n\r\n // The exponent of r may here be one less than the final result exponent,\r\n // e.g 0.0009999 (e-4) --> 0.001 (e-3), so adjust s so the rounding digits\r\n // are indexed correctly.\r\n if (r.e < e) --s;\r\n n = n.slice(s - 3, s + 1);\r\n\r\n // The 4th rounding digit may be in error by -1 so if the 4 rounding digits\r\n // are 9999 or 4999 (i.e. approaching a rounding boundary) continue the\r\n // iteration.\r\n if (n == '9999' || !rep && n == '4999') {\r\n\r\n // On the first iteration only, check to see if rounding up gives the\r\n // exact result as the nines may infinitely repeat.\r\n if (!rep) {\r\n round(t, t.e + DECIMAL_PLACES + 2, 0);\r\n\r\n if (t.times(t).eq(x)) {\r\n r = t;\r\n break;\r\n }\r\n }\r\n\r\n dp += 4;\r\n s += 4;\r\n rep = 1;\r\n } else {\r\n\r\n // If rounding digits are null, 0{0,4} or 50{0,3}, check for exact\r\n // result. If not, then there are further digits and m will be truthy.\r\n if (!+n || !+n.slice(1) && n.charAt(0) == '5') {\r\n\r\n // Truncate to the first rounding digit.\r\n round(r, r.e + DECIMAL_PLACES + 2, 1);\r\n m = !r.times(r).eq(x);\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return round(r, r.e + DECIMAL_PLACES + 1, ROUNDING_MODE, m);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in exponential notation and\r\n * rounded using ROUNDING_MODE to dp fixed decimal places.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.toExponential = function (dp, rm) {\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n dp++;\r\n }\r\n return format(this, dp, rm, 1);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in fixed-point notation rounding\r\n * to dp fixed decimal places using rounding mode rm, or ROUNDING_MODE if rm is omitted.\r\n *\r\n * Note: as with JavaScript's number type, (-0).toFixed(0) is '0',\r\n * but e.g. (-0.00001).toFixed(0) is '-0'.\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n */\r\n P.toFixed = function (dp, rm) {\r\n if (dp != null) {\r\n intCheck(dp, 0, MAX);\r\n dp = dp + this.e + 1;\r\n }\r\n return format(this, dp, rm);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in fixed-point notation rounded\r\n * using rm or ROUNDING_MODE to dp decimal places, and formatted according to the properties\r\n * of the format or FORMAT object (see BigNumber.set).\r\n *\r\n * The formatting object may contain some or all of the properties shown below.\r\n *\r\n * FORMAT = {\r\n * prefix: '',\r\n * groupSize: 3,\r\n * secondaryGroupSize: 0,\r\n * groupSeparator: ',',\r\n * decimalSeparator: '.',\r\n * fractionGroupSize: 0,\r\n * fractionGroupSeparator: '\\xA0', // non-breaking space\r\n * suffix: ''\r\n * };\r\n *\r\n * [dp] {number} Decimal places. Integer, 0 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n * [format] {object} Formatting options. See FORMAT pbject above.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {dp|rm}'\r\n * '[BigNumber Error] Argument not an object: {format}'\r\n */\r\n P.toFormat = function (dp, rm, format) {\r\n var str,\r\n x = this;\r\n\r\n if (format == null) {\r\n if (dp != null && rm && typeof rm == 'object') {\r\n format = rm;\r\n rm = null;\r\n } else if (dp && typeof dp == 'object') {\r\n format = dp;\r\n dp = rm = null;\r\n } else {\r\n format = FORMAT;\r\n }\r\n } else if (typeof format != 'object') {\r\n throw Error\r\n (bignumberError + 'Argument not an object: ' + format);\r\n }\r\n\r\n str = x.toFixed(dp, rm);\r\n\r\n if (x.c) {\r\n var i,\r\n arr = str.split('.'),\r\n g1 = +format.groupSize,\r\n g2 = +format.secondaryGroupSize,\r\n groupSeparator = format.groupSeparator || '',\r\n intPart = arr[0],\r\n fractionPart = arr[1],\r\n isNeg = x.s < 0,\r\n intDigits = isNeg ? intPart.slice(1) : intPart,\r\n len = intDigits.length;\r\n\r\n if (g2) {\r\n i = g1;\r\n g1 = g2;\r\n g2 = i;\r\n len -= i;\r\n } \r\n\r\n if (g1 > 0 && len > 0) {\r\n i = len % g1 || g1;\r\n intPart = intDigits.substr(0, i);\r\n for (; i < len; i += g1) intPart += groupSeparator + intDigits.substr(i, g1);\r\n if (g2 > 0) intPart += groupSeparator + intDigits.slice(i);\r\n if (isNeg) intPart = '-' + intPart;\r\n }\r\n\r\n str = fractionPart\r\n ? intPart + (format.decimalSeparator || '') + ((g2 = +format.fractionGroupSize)\r\n ? fractionPart.replace(new RegExp('\\\\d{' + g2 + '}\\\\B', 'g'),\r\n '$&' + (format.fractionGroupSeparator || ''))\r\n : fractionPart)\r\n : intPart;\r\n }\r\n\r\n return (format.prefix || '') + str + (format.suffix || '');\r\n };\r\n\r\n\r\n /*\r\n * Return an array of two BigNumbers representing the value of this BigNumber as a simple\r\n * fraction with an integer numerator and an integer denominator.\r\n * The denominator will be a positive non-zero value less than or equal to the specified\r\n * maximum denominator. If a maximum denominator is not specified, the denominator will be\r\n * the lowest value necessary to represent the number exactly.\r\n *\r\n * [md] {number|string|BigNumber} Integer >= 1, or Infinity. The maximum denominator.\r\n *\r\n * '[BigNumber Error] Argument {not an integer|out of range} : {md}'\r\n */\r\n P.toFraction = function (md) {\r\n var d, d0, d1, d2, e, exp, n, n0, n1, q, r, s,\r\n x = this,\r\n xc = x.c;\r\n\r\n if (md != null) {\r\n n = new BigNumber(md);\r\n\r\n // Throw if md is less than one or is not an integer, unless it is Infinity.\r\n if (!n.isInteger() && (n.c || n.s !== 1) || n.lt(ONE)) {\r\n throw Error\r\n (bignumberError + 'Argument ' +\r\n (n.isInteger() ? 'out of range: ' : 'not an integer: ') + valueOf(n));\r\n }\r\n }\r\n\r\n if (!xc) return new BigNumber(x);\r\n\r\n d = new BigNumber(ONE);\r\n n1 = d0 = new BigNumber(ONE);\r\n d1 = n0 = new BigNumber(ONE);\r\n s = coeffToString(xc);\r\n\r\n // Determine initial denominator.\r\n // d is a power of 10 and the minimum max denominator that specifies the value exactly.\r\n e = d.e = s.length - x.e - 1;\r\n d.c[0] = POWS_TEN[(exp = e % LOG_BASE) < 0 ? LOG_BASE + exp : exp];\r\n md = !md || n.comparedTo(d) > 0 ? (e > 0 ? d : n1) : n;\r\n\r\n exp = MAX_EXP;\r\n MAX_EXP = 1 / 0;\r\n n = new BigNumber(s);\r\n\r\n // n0 = d1 = 0\r\n n0.c[0] = 0;\r\n\r\n for (; ;) {\r\n q = div(n, d, 0, 1);\r\n d2 = d0.plus(q.times(d1));\r\n if (d2.comparedTo(md) == 1) break;\r\n d0 = d1;\r\n d1 = d2;\r\n n1 = n0.plus(q.times(d2 = n1));\r\n n0 = d2;\r\n d = n.minus(q.times(d2 = d));\r\n n = d2;\r\n }\r\n\r\n d2 = div(md.minus(d0), d1, 0, 1);\r\n n0 = n0.plus(d2.times(n1));\r\n d0 = d0.plus(d2.times(d1));\r\n n0.s = n1.s = x.s;\r\n e = e * 2;\r\n\r\n // Determine which fraction is closer to x, n0/d0 or n1/d1\r\n r = div(n1, d1, e, ROUNDING_MODE).minus(x).abs().comparedTo(\r\n div(n0, d0, e, ROUNDING_MODE).minus(x).abs()) < 1 ? [n1, d1] : [n0, d0];\r\n\r\n MAX_EXP = exp;\r\n\r\n return r;\r\n };\r\n\r\n\r\n /*\r\n * Return the value of this BigNumber converted to a number primitive.\r\n */\r\n P.toNumber = function () {\r\n return +valueOf(this);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber rounded to sd significant digits\r\n * using rounding mode rm or ROUNDING_MODE. If sd is less than the number of digits\r\n * necessary to represent the integer part of the value in fixed-point notation, then use\r\n * exponential notation.\r\n *\r\n * [sd] {number} Significant digits. Integer, 1 to MAX inclusive.\r\n * [rm] {number} Rounding mode. Integer, 0 to 8 inclusive.\r\n *\r\n * '[BigNumber Error] Argument {not a primitive number|not an integer|out of range}: {sd|rm}'\r\n */\r\n P.toPrecision = function (sd, rm) {\r\n if (sd != null) intCheck(sd, 1, MAX);\r\n return format(this, sd, rm, 2);\r\n };\r\n\r\n\r\n /*\r\n * Return a string representing the value of this BigNumber in base b, or base 10 if b is\r\n * omitted. If a base is specified, including base 10, round according to DECIMAL_PLACES and\r\n * ROUNDING_MODE. If a base is not specified, and this BigNumber has a positive exponent\r\n * that is equal to or greater than TO_EXP_POS, or a negative exponent equal to or less than\r\n * TO_EXP_NEG, return exponential notation.\r\n *\r\n * [b] {number} Integer, 2 to ALPHABET.length inclusive.\r\n *\r\n * '[BigNumber Error] Base {not a primitive number|not an integer|out of range}: {b}'\r\n */\r\n P.toString = function (b) {\r\n var str,\r\n n = this,\r\n s = n.s,\r\n e = n.e;\r\n\r\n // Infinity or NaN?\r\n if (e === null) {\r\n if (s) {\r\n str = 'Infinity';\r\n if (s < 0) str = '-' + str;\r\n } else {\r\n str = 'NaN';\r\n }\r\n } else {\r\n if (b == null) {\r\n str = e <= TO_EXP_NEG || e >= TO_EXP_POS\r\n ? toExponential(coeffToString(n.c), e)\r\n : toFixedPoint(coeffToString(n.c), e, '0');\r\n } else if (b === 10 && alphabetHasNormalDecimalDigits) {\r\n n = round(new BigNumber(n), DECIMAL_PLACES + e + 1, ROUNDING_MODE);\r\n str = toFixedPoint(coeffToString(n.c), n.e, '0');\r\n } else {\r\n intCheck(b, 2, ALPHABET.length, 'Base');\r\n str = convertBase(toFixedPoint(coeffToString(n.c), e, '0'), 10, b, s, true);\r\n }\r\n\r\n if (s < 0 && n.c[0]) str = '-' + str;\r\n }\r\n\r\n return str;\r\n };\r\n\r\n\r\n /*\r\n * Return as toString, but do not accept a base argument, and include the minus sign for\r\n * negative zero.\r\n */\r\n P.valueOf = P.toJSON = function () {\r\n return valueOf(this);\r\n };\r\n\r\n\r\n P._isBigNumber = true;\r\n\r\n if (configObject != null) BigNumber.set(configObject);\r\n\r\n return BigNumber;\r\n }\r\n\r\n\r\n // PRIVATE HELPER FUNCTIONS\r\n\r\n // These functions don't need access to variables,\r\n // e.g. DECIMAL_PLACES, in the scope of the `clone` function above.\r\n\r\n\r\n function bitFloor(n) {\r\n var i = n | 0;\r\n return n > 0 || n === i ? i : i - 1;\r\n }\r\n\r\n\r\n // Return a coefficient array as a string of base 10 digits.\r\n function coeffToString(a) {\r\n var s, z,\r\n i = 1,\r\n j = a.length,\r\n r = a[0] + '';\r\n\r\n for (; i < j;) {\r\n s = a[i++] + '';\r\n z = LOG_BASE - s.length;\r\n for (; z--; s = '0' + s);\r\n r += s;\r\n }\r\n\r\n // Determine trailing zeros.\r\n for (j = r.length; r.charCodeAt(--j) === 48;);\r\n\r\n return r.slice(0, j + 1 || 1);\r\n }\r\n\r\n\r\n // Compare the value of BigNumbers x and y.\r\n function compare(x, y) {\r\n var a, b,\r\n xc = x.c,\r\n yc = y.c,\r\n i = x.s,\r\n j = y.s,\r\n k = x.e,\r\n l = y.e;\r\n\r\n // Either NaN?\r\n if (!i || !j) return null;\r\n\r\n a = xc && !xc[0];\r\n b = yc && !yc[0];\r\n\r\n // Either zero?\r\n if (a || b) return a ? b ? 0 : -j : i;\r\n\r\n // Signs differ?\r\n if (i != j) return i;\r\n\r\n a = i < 0;\r\n b = k == l;\r\n\r\n // Either Infinity?\r\n if (!xc || !yc) return b ? 0 : !xc ^ a ? 1 : -1;\r\n\r\n // Compare exponents.\r\n if (!b) return k > l ^ a ? 1 : -1;\r\n\r\n j = (k = xc.length) < (l = yc.length) ? k : l;\r\n\r\n // Compare digit by digit.\r\n for (i = 0; i < j; i++) if (xc[i] != yc[i]) return xc[i] > yc[i] ^ a ? 1 : -1;\r\n\r\n // Compare lengths.\r\n return k == l ? 0 : k > l ^ a ? 1 : -1;\r\n }\r\n\r\n\r\n /*\r\n * Check that n is a primitive number, an integer, and in range, otherwise throw.\r\n */\r\n function intCheck(n, min, max, name) {\r\n if (n < min || n > max || n !== mathfloor(n)) {\r\n throw Error\r\n (bignumberError + (name || 'Argument') + (typeof n == 'number'\r\n ? n < min || n > max ? ' out of range: ' : ' not an integer: '\r\n : ' not a primitive number: ') + String(n));\r\n }\r\n }\r\n\r\n\r\n // Assumes finite n.\r\n function isOdd(n) {\r\n var k = n.c.length - 1;\r\n return bitFloor(n.e / LOG_BASE) == k && n.c[k] % 2 != 0;\r\n }\r\n\r\n\r\n function toExponential(str, e) {\r\n return (str.length > 1 ? str.charAt(0) + '.' + str.slice(1) : str) +\r\n (e < 0 ? 'e' : 'e+') + e;\r\n }\r\n\r\n\r\n function toFixedPoint(str, e, z) {\r\n var len, zs;\r\n\r\n // Negative exponent?\r\n if (e < 0) {\r\n\r\n // Prepend zeros.\r\n for (zs = z + '.'; ++e; zs += z);\r\n str = zs + str;\r\n\r\n // Positive exponent\r\n } else {\r\n len = str.length;\r\n\r\n // Append zeros.\r\n if (++e > len) {\r\n for (zs = z, e -= len; --e; zs += z);\r\n str += zs;\r\n } else if (e < len) {\r\n str = str.slice(0, e) + '.' + str.slice(e);\r\n }\r\n }\r\n\r\n return str;\r\n }\r\n\r\n\r\n // EXPORT\r\n\r\n\r\n BigNumber = clone();\r\n BigNumber['default'] = BigNumber.BigNumber = BigNumber;\r\n\r\n // AMD.\r\n if (typeof define == 'function' && define.amd) {\r\n define(function () { return BigNumber; });\r\n\r\n // Node.js and other environments that support module.exports.\r\n } else if (typeof module != 'undefined' && module.exports) {\r\n module.exports = BigNumber;\r\n\r\n // Browser.\r\n } else {\r\n if (!globalObject) {\r\n globalObject = typeof self != 'undefined' && self ? self : window;\r\n }\r\n\r\n globalObject.BigNumber = BigNumber;\r\n }\r\n})(this);\r\n","import { createVNode as _createVNode } from \"vue\";\nimport { createApp } from 'vue'; // We only handle element & text node.\n\nvar TEXT_NODE = 3;\nvar COMMENT_NODE = 8;\nvar ellipsisContainer;\nvar wrapperStyle = {\n padding: 0,\n margin: 0,\n display: 'inline',\n lineHeight: 'inherit'\n};\n\nfunction pxToNumber(value) {\n if (!value) return 0;\n var match = value.match(/^\\d*(\\.\\d*)?/);\n return match ? Number(match[0]) : 0;\n}\n\nfunction styleToString(style) {\n // There are some different behavior between Firefox & Chrome.\n // We have to handle this ourself.\n var styleNames = Array.prototype.slice.apply(style);\n return styleNames.map(function (name) {\n return \"\".concat(name, \": \").concat(style.getPropertyValue(name), \";\");\n }).join('');\n}\n\nexport default (function (originEle, option, content, fixedContent, ellipsisStr) {\n if (!ellipsisContainer) {\n ellipsisContainer = document.createElement('div');\n ellipsisContainer.setAttribute('aria-hidden', 'true');\n document.body.appendChild(ellipsisContainer);\n }\n\n var rows = option.rows,\n _option$suffix = option.suffix,\n suffix = _option$suffix === void 0 ? '' : _option$suffix; // Get origin style\n\n var originStyle = window.getComputedStyle(originEle);\n var originCSS = styleToString(originStyle);\n var lineHeight = pxToNumber(originStyle.lineHeight);\n var maxHeight = Math.round(lineHeight * (rows + 1) + pxToNumber(originStyle.paddingTop) + pxToNumber(originStyle.paddingBottom)); // Set shadow\n\n ellipsisContainer.setAttribute('style', originCSS);\n ellipsisContainer.style.position = 'fixed';\n ellipsisContainer.style.left = '0';\n ellipsisContainer.style.height = 'auto';\n ellipsisContainer.style.minHeight = 'auto';\n ellipsisContainer.style.maxHeight = 'auto';\n ellipsisContainer.style.top = '-999999px';\n ellipsisContainer.style.zIndex = '-1000'; // clean up css overflow\n\n ellipsisContainer.style.textOverflow = 'clip';\n ellipsisContainer.style.whiteSpace = 'normal';\n ellipsisContainer.style.webkitLineClamp = 'none'; // Render in the fake container\n\n var vm = createApp({\n render: function render() {\n return _createVNode(\"div\", {\n \"style\": wrapperStyle\n }, [_createVNode(\"span\", {\n \"style\": wrapperStyle\n }, [content, suffix]), _createVNode(\"span\", {\n \"style\": wrapperStyle\n }, [fixedContent])]);\n }\n });\n vm.mount(ellipsisContainer); // Check if ellipsis in measure div is height enough for content\n\n function inRange() {\n return ellipsisContainer.offsetHeight < maxHeight;\n } // Skip ellipsis if already match\n\n\n if (inRange()) {\n vm.unmount();\n return {\n content: content,\n text: ellipsisContainer.innerHTML,\n ellipsis: false\n };\n }\n\n var childNodes = Array.prototype.slice.apply(ellipsisContainer.childNodes[0].childNodes[0].cloneNode(true).childNodes).filter(function (_ref) {\n var nodeType = _ref.nodeType,\n data = _ref.data;\n return nodeType !== COMMENT_NODE && data !== '';\n });\n var fixedNodes = Array.prototype.slice.apply(ellipsisContainer.childNodes[0].childNodes[1].cloneNode(true).childNodes);\n vm.unmount(); // ========================= Find match ellipsis content =========================\n\n var ellipsisChildren = [];\n ellipsisContainer.innerHTML = ''; // Create origin content holder\n\n var ellipsisContentHolder = document.createElement('span');\n ellipsisContainer.appendChild(ellipsisContentHolder);\n var ellipsisTextNode = document.createTextNode(ellipsisStr + suffix);\n ellipsisContentHolder.appendChild(ellipsisTextNode);\n fixedNodes.forEach(function (childNode) {\n ellipsisContainer.appendChild(childNode);\n }); // Append before fixed nodes\n\n function appendChildNode(node) {\n ellipsisContentHolder.insertBefore(node, ellipsisTextNode);\n } // Get maximum text\n\n\n function measureText(textNode, fullText) {\n var startLoc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var endLoc = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : fullText.length;\n var lastSuccessLoc = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n var midLoc = Math.floor((startLoc + endLoc) / 2);\n var currentText = fullText.slice(0, midLoc);\n textNode.textContent = currentText;\n\n if (startLoc >= endLoc - 1) {\n // Loop when step is small\n for (var step = endLoc; step >= startLoc; step -= 1) {\n var currentStepText = fullText.slice(0, step);\n textNode.textContent = currentStepText;\n\n if (inRange() || !currentStepText) {\n return step === fullText.length ? {\n finished: false,\n vNode: fullText\n } : {\n finished: true,\n vNode: currentStepText\n };\n }\n }\n }\n\n if (inRange()) {\n return measureText(textNode, fullText, midLoc, endLoc, midLoc);\n }\n\n return measureText(textNode, fullText, startLoc, midLoc, lastSuccessLoc);\n }\n\n function measureNode(childNode) {\n var type = childNode.nodeType; // console.log('type', type);\n // if (type === ELEMENT_NODE) {\n // // We don't split element, it will keep if whole element can be displayed.\n // appendChildNode(childNode);\n // if (inRange()) {\n // return {\n // finished: false,\n // vNode: contentList[index],\n // };\n // }\n // // Clean up if can not pull in\n // ellipsisContentHolder.removeChild(childNode);\n // return {\n // finished: true,\n // vNode: null,\n // };\n // }\n\n if (type === TEXT_NODE) {\n var fullText = childNode.textContent || '';\n var textNode = document.createTextNode(fullText);\n appendChildNode(textNode);\n return measureText(textNode, fullText);\n } // Not handle other type of content\n\n\n return {\n finished: false,\n vNode: null\n };\n }\n\n childNodes.some(function (childNode) {\n var _measureNode = measureNode(childNode),\n finished = _measureNode.finished,\n vNode = _measureNode.vNode;\n\n if (vNode) {\n ellipsisChildren.push(vNode);\n }\n\n return finished;\n });\n return {\n content: ellipsisChildren,\n text: ellipsisContainer.innerHTML,\n ellipsis: true\n };\n});","import { createVNode as _createVNode } from \"vue\";\nimport KeyCode from '../_util/KeyCode';\nimport PropTypes from '../_util/vue-types';\nimport TextArea from '../input/TextArea';\nimport EnterOutlined from '@ant-design/icons-vue/EnterOutlined';\nimport { defineComponent, ref, reactive, watch, onMounted } from 'vue';\nvar Editable = defineComponent({\n name: 'Editable',\n props: {\n prefixCls: PropTypes.string,\n value: PropTypes.string,\n maxlength: PropTypes.number,\n autoSize: PropTypes.oneOfType([PropTypes.looseBool, PropTypes.object]),\n onSave: PropTypes.func,\n onCancel: PropTypes.func,\n onEnd: PropTypes.func,\n onChange: PropTypes.func,\n originContent: PropTypes.string\n },\n emits: ['save', 'cancel', 'end', 'change'],\n setup: function setup(props, _ref) {\n var emit = _ref.emit;\n var state = reactive({\n current: props.value || '',\n lastKeyCode: undefined,\n inComposition: false,\n cancelFlag: false\n });\n watch(function () {\n return props.value;\n }, function (current) {\n state.current = current;\n });\n var textArea = ref();\n onMounted(function () {\n var _a;\n\n if (textArea.value) {\n var resizableTextArea = (_a = textArea.value) === null || _a === void 0 ? void 0 : _a.resizableTextArea;\n var innerTextArea = resizableTextArea === null || resizableTextArea === void 0 ? void 0 : resizableTextArea.textArea;\n innerTextArea.focus();\n var length = innerTextArea.value.length;\n innerTextArea.setSelectionRange(length, length);\n }\n });\n\n function saveTextAreaRef(node) {\n textArea.value = node;\n }\n\n function onChange(_ref2) {\n var value = _ref2.target.value;\n state.current = value.replace(/[\\r\\n]/g, '');\n emit('change', state.current);\n }\n\n function onCompositionStart() {\n state.inComposition = true;\n }\n\n function onCompositionEnd() {\n state.inComposition = false;\n }\n\n function onKeyDown(e) {\n var keyCode = e.keyCode;\n\n if (keyCode === KeyCode.ENTER) {\n e.preventDefault();\n } // We don't record keyCode when IME is using\n\n\n if (state.inComposition) return;\n state.lastKeyCode = keyCode;\n }\n\n function onKeyUp(e) {\n var keyCode = e.keyCode,\n ctrlKey = e.ctrlKey,\n altKey = e.altKey,\n metaKey = e.metaKey,\n shiftKey = e.shiftKey; // Check if it's a real key\n\n if (state.lastKeyCode === keyCode && !state.inComposition && !ctrlKey && !altKey && !metaKey && !shiftKey) {\n if (keyCode === KeyCode.ENTER) {\n confirmChange();\n emit('end');\n } else if (keyCode === KeyCode.ESC) {\n state.current = props.originContent;\n emit('cancel');\n }\n }\n }\n\n function onBlur() {\n confirmChange();\n emit('end');\n }\n\n function confirmChange() {\n emit('save', state.current.trim());\n }\n\n return function () {\n return _createVNode(\"div\", {\n \"class\": \"\".concat(props.prefixCls, \" \").concat(props.prefixCls, \"-edit-content\")\n }, [_createVNode(TextArea, {\n \"ref\": saveTextAreaRef,\n \"maxlength\": props.maxlength,\n \"value\": state.current,\n \"onChange\": onChange,\n \"onKeydown\": onKeyDown,\n \"onKeyup\": onKeyUp,\n \"onCompositionstart\": onCompositionStart,\n \"onCompositionend\": onCompositionEnd,\n \"onBlur\": onBlur,\n \"autoSize\": props.autoSize === undefined || props.autoSize\n }, null), _createVNode(EnterOutlined, {\n \"class\": \"\".concat(props.prefixCls, \"-edit-content-confirm\")\n }, null)]);\n };\n }\n});\nexport default Editable;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport PropTypes from '../_util/vue-types';\nimport { defineComponent } from 'vue';\nimport useConfigInject from '../_util/hooks/useConfigInject';\nimport classNames from '../_util/classNames';\nvar Typography = defineComponent({\n name: 'ATypography',\n inheritAttrs: false,\n setup: function setup(props, _ref) {\n var slots = _ref.slots,\n attrs = _ref.attrs;\n\n var _useConfigInject = useConfigInject('typography', props),\n prefixCls = _useConfigInject.prefixCls;\n\n return function () {\n var _a;\n\n var _b = _extends(_extends({}, props), attrs),\n _prefixCls = _b.prefixCls,\n _className = _b.class,\n _b$component = _b.component,\n Component = _b$component === void 0 ? 'article' : _b$component,\n restProps = __rest(_b, [\"prefixCls\", \"class\", \"component\"]);\n\n return _createVNode(Component, _objectSpread({\n \"class\": classNames(prefixCls.value, attrs.class)\n }, restProps), {\n default: function _default() {\n return [(_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)];\n }\n });\n };\n }\n});\nTypography.props = {\n prefixCls: PropTypes.string,\n component: PropTypes.string\n};\nexport default Typography;","// copy from https://github.com/sudodoki/toggle-selection\n// refactor to esm\nvar deselectCurrent = function deselectCurrent() {\n var selection = document.getSelection();\n\n if (!selection.rangeCount) {\n return function () {};\n }\n\n var active = document.activeElement;\n var ranges = [];\n\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase() // .toUpperCase handles XHTML\n ) {\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' && selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function (range) {\n selection.addRange(range);\n });\n }\n\n active && active.focus();\n };\n};\n\nexport default deselectCurrent;","import deselectCurrent from './toggle-selection';\nvar clipboardToIE11Formatting = {\n 'text/plain': 'Text',\n 'text/html': 'Url',\n default: 'Text'\n};\nvar defaultMessage = 'Copy to clipboard: #{key}, Enter';\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? '⌘' : 'Ctrl') + '+C';\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n\n if (!options) {\n options = {};\n }\n\n var debug = options.debug || false;\n\n try {\n reselectPrevious = deselectCurrent();\n range = document.createRange();\n selection = document.getSelection();\n mark = document.createElement('span');\n mark.textContent = text; // reset user styles for span element\n\n mark.style.all = 'unset'; // prevents scrolling to the end of the page\n\n mark.style.position = 'fixed';\n mark.style.top = 0;\n mark.style.clip = 'rect(0, 0, 0, 0)'; // used to preserve spaces and line breaks\n\n mark.style.whiteSpace = 'pre'; // do not inherit user-select (it may be `none`)\n\n mark.style.webkitUserSelect = 'text';\n mark.style.MozUserSelect = 'text';\n mark.style.msUserSelect = 'text';\n mark.style.userSelect = 'text';\n mark.addEventListener('copy', function (e) {\n e.stopPropagation();\n\n if (options.format) {\n e.preventDefault();\n\n if (typeof e.clipboardData === 'undefined') {\n // IE 11\n debug && console.warn('unable to use e.clipboardData');\n debug && console.warn('trying IE specific stuff');\n window.clipboardData.clearData();\n\n var _format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting['default'];\n\n window.clipboardData.setData(_format, text);\n } else {\n // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n document.body.appendChild(mark);\n range.selectNodeContents(mark);\n selection.addRange(range);\n var successful = document.execCommand('copy');\n\n if (!successful) {\n throw new Error('copy command was unsuccessful');\n }\n\n success = true;\n } catch (err) {\n debug && console.error('unable to copy using execCommand: ', err);\n debug && console.warn('trying IE specific stuff');\n\n try {\n window.clipboardData.setData(options.format || 'text', text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error('unable to copy using clipboardData: ', err);\n debug && console.error('falling back to prompt');\n message = format('message' in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == 'function') {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n\n reselectPrevious();\n }\n\n return success;\n}\n\nexport default copy;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { Fragment as _Fragment, createVNode as _createVNode } from \"vue\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport omit from 'omit.js';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport warning from '../_util/warning';\nimport TransButton from '../_util/transButton';\nimport raf from '../_util/raf';\nimport isStyleSupport from '../_util/styleChecker';\nimport Editable from './Editable';\nimport measure from './util';\nimport PropTypes from '../_util/vue-types';\nimport Typography from './Typography';\nimport ResizeObserver from '../vc-resize-observer';\nimport Tooltip from '../tooltip';\nimport copy from '../_util/copy-to-clipboard';\nimport CheckOutlined from '@ant-design/icons-vue/CheckOutlined';\nimport CopyOutlined from '@ant-design/icons-vue/CopyOutlined';\nimport EditOutlined from '@ant-design/icons-vue/EditOutlined';\nimport { defineComponent, reactive, ref, onMounted, onBeforeUnmount, watch, watchEffect, nextTick, computed, toRaw } from 'vue';\nimport useConfigInject from '../_util/hooks/useConfigInject';\nvar isLineClampSupport = isStyleSupport('webkitLineClamp');\nvar isTextOverflowSupport = isStyleSupport('textOverflow');\nvar ELLIPSIS_STR = '...';\nvar Base = defineComponent({\n name: 'Base',\n inheritAttrs: false,\n emits: ['update:content'],\n setup: function setup(props, _ref) {\n var slots = _ref.slots,\n attrs = _ref.attrs,\n emit = _ref.emit;\n\n var _useConfigInject = useConfigInject('typography', props),\n prefixCls = _useConfigInject.prefixCls;\n\n var state = reactive({\n edit: false,\n copied: false,\n ellipsisText: '',\n ellipsisContent: null,\n isEllipsis: false,\n expanded: false,\n clientRendered: false,\n //locale\n expandStr: '',\n copyStr: '',\n copiedStr: '',\n editStr: '',\n copyId: undefined,\n rafId: undefined,\n prevProps: undefined,\n originContent: ''\n });\n var contentRef = ref();\n var editIcon = ref();\n var ellipsis = computed(function () {\n var ellipsis = props.ellipsis;\n if (!ellipsis) return {};\n return _extends({\n rows: 1,\n expandable: false\n }, _typeof(ellipsis) === 'object' ? ellipsis : null);\n });\n onMounted(function () {\n state.clientRendered = true;\n });\n onBeforeUnmount(function () {\n window.clearTimeout(state.copyId);\n raf.cancel(state.rafId);\n });\n watch([function () {\n return ellipsis.value.rows;\n }, function () {\n return props.content;\n }], function () {\n nextTick(function () {\n resizeOnNextFrame();\n });\n }, {\n flush: 'post',\n deep: true,\n immediate: true\n });\n watchEffect(function () {\n if (props.content === undefined) {\n warning(!props.editable, 'Typography', 'When `editable` is enabled, please use `content` instead of children');\n warning(!props.ellipsis, 'Typography', 'When `ellipsis` is enabled, please use `content` instead of children');\n }\n });\n\n function getChildrenText() {\n var _a, _b;\n\n return props.ellipsis || props.editable ? props.content : (_b = (_a = contentRef.value) === null || _a === void 0 ? void 0 : _a.$el) === null || _b === void 0 ? void 0 : _b.innerText;\n } // =============== Expand ===============\n\n\n function onExpandClick(e) {\n var onExpand = ellipsis.value.onExpand;\n state.expanded = true;\n onExpand === null || onExpand === void 0 ? void 0 : onExpand(e);\n } // ================ Edit ================\n\n\n function onEditClick(e) {\n e.preventDefault();\n state.originContent = props.content;\n triggerEdit(true);\n }\n\n function onEditChange(value) {\n onContentChange(value);\n triggerEdit(false);\n }\n\n function onContentChange(value) {\n var onChange = editable.value.onChange;\n\n if (value !== props.content) {\n emit('update:content', value);\n onChange === null || onChange === void 0 ? void 0 : onChange(value);\n }\n }\n\n function onEditCancel() {\n var _a, _b;\n\n (_b = (_a = editable.value).onCancel) === null || _b === void 0 ? void 0 : _b.call(_a);\n triggerEdit(false);\n } // ================ Copy ================\n\n\n function onCopyClick(e) {\n e.preventDefault();\n var copyable = props.copyable;\n\n var copyConfig = _extends({}, _typeof(copyable) === 'object' ? copyable : null);\n\n if (copyConfig.text === undefined) {\n copyConfig.text = getChildrenText();\n }\n\n copy(copyConfig.text || '');\n state.copied = true;\n nextTick(function () {\n if (copyConfig.onCopy) {\n copyConfig.onCopy();\n }\n\n state.copyId = window.setTimeout(function () {\n state.copied = false;\n }, 3000);\n });\n }\n\n var editable = computed(function () {\n var editable = props.editable;\n if (!editable) return {\n editing: state.edit\n };\n return _extends({\n editing: state.edit\n }, _typeof(editable) === 'object' ? editable : null);\n });\n\n function triggerEdit(edit) {\n var onStart = editable.value.onStart;\n\n if (edit && onStart) {\n onStart();\n }\n\n state.edit = edit;\n nextTick(function () {\n var _a;\n\n if (!edit) {\n (_a = editIcon.value) === null || _a === void 0 ? void 0 : _a.focus();\n }\n });\n } // ============== Ellipsis ==============\n\n\n function resizeOnNextFrame() {\n raf.cancel(state.rafId);\n state.rafId = raf(function () {\n // Do not bind `syncEllipsis`. It need for test usage on prototype\n syncEllipsis();\n });\n }\n\n var canUseCSSEllipsis = computed(function () {\n var _ellipsis$value = ellipsis.value,\n rows = _ellipsis$value.rows,\n expandable = _ellipsis$value.expandable,\n suffix = _ellipsis$value.suffix,\n onEllipsis = _ellipsis$value.onEllipsis,\n tooltip = _ellipsis$value.tooltip;\n if (suffix || tooltip) return false; // Can't use css ellipsis since we need to provide the place for button\n\n if (props.editable || props.copyable || expandable || onEllipsis) {\n return false;\n }\n\n if (rows === 1) {\n return isTextOverflowSupport;\n }\n\n return isLineClampSupport;\n });\n\n var syncEllipsis = function syncEllipsis() {\n var _a, _b;\n\n var ellipsisText = state.ellipsisText,\n isEllipsis = state.isEllipsis;\n var _ellipsis$value2 = ellipsis.value,\n rows = _ellipsis$value2.rows,\n suffix = _ellipsis$value2.suffix,\n onEllipsis = _ellipsis$value2.onEllipsis;\n if (!rows || rows < 0 || !((_a = contentRef.value) === null || _a === void 0 ? void 0 : _a.$el) || state.expanded || props.content === undefined) return; // Do not measure if css already support ellipsis\n\n if (canUseCSSEllipsis.value) return;\n\n var _measure = measure((_b = contentRef.value) === null || _b === void 0 ? void 0 : _b.$el, {\n rows: rows,\n suffix: suffix\n }, props.content, renderOperations(true), ELLIPSIS_STR),\n content = _measure.content,\n text = _measure.text,\n ell = _measure.ellipsis;\n\n if (ellipsisText !== text || state.isEllipsis !== ell) {\n state.ellipsisText = text;\n state.ellipsisContent = content;\n state.isEllipsis = ell;\n\n if (isEllipsis !== ell && onEllipsis) {\n onEllipsis(ell);\n }\n }\n };\n\n function wrapperDecorations(_ref2, content) {\n var mark = _ref2.mark,\n code = _ref2.code,\n underline = _ref2.underline,\n del = _ref2.delete,\n strong = _ref2.strong,\n keyboard = _ref2.keyboard;\n var currentContent = content;\n\n function wrap(needed, Tag) {\n if (!needed) return;\n\n var _currentContent = function () {\n return currentContent;\n }();\n\n currentContent = _createVNode(Tag, null, {\n default: function _default() {\n return [_currentContent];\n }\n });\n }\n\n wrap(strong, 'strong');\n wrap(underline, 'u');\n wrap(del, 'del');\n wrap(code, 'code');\n wrap(mark, 'mark');\n wrap(keyboard, 'kbd');\n return currentContent;\n }\n\n function renderExpand(forceRender) {\n var _ellipsis$value3 = ellipsis.value,\n expandable = _ellipsis$value3.expandable,\n symbol = _ellipsis$value3.symbol;\n if (!expandable) return null; // force render expand icon for measure usage or it will cause dead loop\n\n if (!forceRender && (state.expanded || !state.isEllipsis)) return null;\n var expandContent = (slots.ellipsisSymbol ? slots.ellipsisSymbol() : symbol) || state.expandStr;\n return _createVNode(\"a\", {\n \"key\": \"expand\",\n \"class\": \"\".concat(prefixCls.value, \"-expand\"),\n \"onClick\": onExpandClick,\n \"aria-label\": state.expandStr\n }, [expandContent]);\n }\n\n function renderEdit() {\n if (!props.editable) return;\n var tooltip = props.editable.tooltip;\n var icon = slots.editableIcon ? slots.editableIcon() : _createVNode(EditOutlined, {\n \"role\": \"button\"\n }, null);\n var title = slots.editableTooltip ? slots.editableTooltip() : state.editStr;\n var ariaLabel = typeof title === 'string' ? title : '';\n return _createVNode(Tooltip, {\n \"key\": \"edit\",\n \"title\": tooltip === false ? '' : title\n }, {\n default: function _default() {\n return [_createVNode(TransButton, {\n \"ref\": editIcon,\n \"class\": \"\".concat(prefixCls.value, \"-edit\"),\n \"onClick\": onEditClick,\n \"aria-label\": ariaLabel\n }, {\n default: function _default() {\n return [icon];\n }\n })];\n }\n });\n }\n\n function renderCopy() {\n if (!props.copyable) return;\n var tooltip = props.copyable.tooltip;\n var defaultTitle = state.copied ? state.copiedStr : state.copyStr;\n var title = slots.copyableTooltip ? slots.copyableTooltip({\n copied: state.copied\n }) : defaultTitle;\n var ariaLabel = typeof title === 'string' ? title : '';\n var defaultIcon = state.copied ? _createVNode(CheckOutlined, null, null) : _createVNode(CopyOutlined, null, null);\n var icon = slots.copyableIcon ? slots.copyableIcon({\n copied: !!state.copied\n }) : defaultIcon;\n return _createVNode(Tooltip, {\n \"key\": \"copy\",\n \"title\": tooltip === false ? '' : title\n }, {\n default: function _default() {\n return [_createVNode(TransButton, {\n \"class\": [\"\".concat(prefixCls.value, \"-copy\"), _defineProperty({}, \"\".concat(prefixCls.value, \"-copy-success\"), state.copied)],\n \"onClick\": onCopyClick,\n \"aria-label\": ariaLabel\n }, {\n default: function _default() {\n return [icon];\n }\n })];\n }\n });\n }\n\n function renderEditInput() {\n var className = attrs.class,\n style = attrs.style;\n var _editable$value = editable.value,\n maxlength = _editable$value.maxlength,\n autoSize = _editable$value.autoSize,\n onEnd = _editable$value.onEnd;\n return _createVNode(Editable, {\n \"class\": className,\n \"style\": style,\n \"prefixCls\": prefixCls.value,\n \"value\": props.content,\n \"originContent\": state.originContent,\n \"maxlength\": maxlength,\n \"autoSize\": autoSize,\n \"onSave\": onEditChange,\n \"onChange\": onContentChange,\n \"onCancel\": onEditCancel,\n \"onEnd\": onEnd\n }, null);\n }\n\n function renderOperations(forceRenderExpanded) {\n return [renderExpand(forceRenderExpanded), renderEdit(), renderCopy()].filter(function (node) {\n return node;\n });\n }\n\n return function () {\n var _a;\n\n var editing = editable.value.editing;\n\n var _children = props.ellipsis || props.editable ? props.content !== undefined ? props.content : (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots) : slots.default ? slots.default() : props.content;\n\n if (editing) {\n return renderEditInput();\n }\n\n return _createVNode(LocaleReceiver, {\n \"componentName\": \"Text\",\n \"children\": function children(locale) {\n var _ref4;\n\n var _a = _extends(_extends({}, props), attrs),\n type = _a.type,\n disabled = _a.disabled,\n content = _a.content,\n className = _a.class,\n style = _a.style,\n restProps = __rest(_a, [\"type\", \"disabled\", \"content\", \"class\", \"style\"]);\n\n var _ellipsis$value4 = ellipsis.value,\n rows = _ellipsis$value4.rows,\n suffix = _ellipsis$value4.suffix,\n tooltip = _ellipsis$value4.tooltip;\n var edit = locale.edit,\n copyStr = locale.copy,\n copied = locale.copied,\n expand = locale.expand;\n state.editStr = edit;\n state.copyStr = copyStr;\n state.copiedStr = copied;\n state.expandStr = expand;\n var textProps = omit(restProps, ['prefixCls', 'editable', 'copyable', 'ellipsis', 'mark', 'code', 'delete', 'underline', 'strong', 'keyboard']);\n var cssEllipsis = canUseCSSEllipsis.value;\n var cssTextOverflow = rows === 1 && cssEllipsis;\n var cssLineClamp = rows && rows > 1 && cssEllipsis;\n var textNode = _children;\n var ariaLabel; // Only use js ellipsis when css ellipsis not support\n\n if (rows && state.isEllipsis && !state.expanded && !cssEllipsis) {\n var _title = restProps.title;\n var restContent = _title || '';\n\n if (!_title && (typeof _children === 'string' || typeof _children === 'number')) {\n restContent = String(_children);\n } // show rest content as title on symbol\n\n\n restContent = restContent === null || restContent === void 0 ? void 0 : restContent.slice(String(state.ellipsisContent || '').length); // We move full content to outer element to avoid repeat read the content by accessibility\n\n textNode = _createVNode(_Fragment, null, [toRaw(state.ellipsisContent), _createVNode(\"span\", {\n \"title\": restContent,\n \"aria-hidden\": \"true\"\n }, [ELLIPSIS_STR]), suffix]);\n } else {\n textNode = _createVNode(_Fragment, null, [_children, suffix]);\n }\n\n textNode = wrapperDecorations(props, textNode);\n var showTooltip = tooltip && rows && state.isEllipsis && !state.expanded && !cssEllipsis;\n var title = slots.ellipsisTooltip ? slots.ellipsisTooltip() : tooltip;\n return _createVNode(ResizeObserver, {\n \"onResize\": resizeOnNextFrame,\n \"disabled\": !rows\n }, {\n default: function _default() {\n return [_createVNode(Typography, _objectSpread({\n \"ref\": contentRef,\n \"class\": [(_ref4 = {}, _defineProperty(_ref4, \"\".concat(prefixCls.value, \"-\").concat(type), type), _defineProperty(_ref4, \"\".concat(prefixCls.value, \"-disabled\"), disabled), _defineProperty(_ref4, \"\".concat(prefixCls.value, \"-ellipsis\"), rows), _defineProperty(_ref4, \"\".concat(prefixCls.value, \"-single-line\"), rows === 1), _defineProperty(_ref4, \"\".concat(prefixCls.value, \"-ellipsis-single-line\"), cssTextOverflow), _defineProperty(_ref4, \"\".concat(prefixCls.value, \"-ellipsis-multiple-line\"), cssLineClamp), _ref4), className],\n \"style\": _extends(_extends({}, style), {\n WebkitLineClamp: cssLineClamp ? rows : undefined\n }),\n \"aria-label\": ariaLabel\n }, textProps), {\n default: function _default() {\n return [showTooltip ? _createVNode(Tooltip, {\n \"title\": tooltip === true ? _children : title\n }, {\n default: function _default() {\n return [_createVNode(\"span\", null, [textNode])];\n }\n }) : textNode, renderOperations()];\n }\n })];\n }\n });\n }\n }, null);\n };\n }\n});\nexport var baseProps = function baseProps() {\n return {\n editable: PropTypes.oneOfType([PropTypes.looseBool, PropTypes.object]),\n copyable: PropTypes.oneOfType([PropTypes.looseBool, PropTypes.object]),\n prefixCls: PropTypes.string,\n component: PropTypes.string,\n type: PropTypes.oneOf(['secondary', 'success', 'danger', 'warning']),\n disabled: PropTypes.looseBool,\n ellipsis: PropTypes.oneOfType([PropTypes.looseBool, PropTypes.object]),\n code: PropTypes.looseBool,\n mark: PropTypes.looseBool,\n underline: PropTypes.looseBool,\n delete: PropTypes.looseBool,\n strong: PropTypes.looseBool,\n keyboard: PropTypes.looseBool,\n content: PropTypes.string\n };\n};\nBase.props = baseProps();\nexport default Base;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport warning from '../_util/warning';\nimport Base, { baseProps } from './Base';\nimport Omit from 'omit.js';\nimport PropTypes from '../_util/vue-types';\n\nvar Link = function Link(props, _ref) {\n var slots = _ref.slots,\n attrs = _ref.attrs;\n\n var _a = _extends(_extends({}, props), attrs),\n ellipsis = _a.ellipsis,\n rel = _a.rel,\n restProps = __rest(_a, [\"ellipsis\", \"rel\"]);\n\n warning(_typeof(ellipsis) !== 'object', 'Typography.Link', '`ellipsis` only supports boolean value.');\n\n var mergedProps = _extends(_extends({}, restProps), {\n rel: rel === undefined && restProps.target === '_blank' ? 'noopener noreferrer' : rel,\n ellipsis: !!ellipsis,\n component: 'a'\n }); // https://github.com/ant-design/ant-design/issues/26622\n // @ts-ignore\n\n\n delete mergedProps.navigate;\n return _createVNode(Base, mergedProps, slots);\n};\n\nLink.displayName = 'ATypographyLink';\nLink.inheritAttrs = false;\nLink.props = Omit(_extends(_extends({}, baseProps()), {\n ellipsis: PropTypes.looseBool\n}), ['component']);\nexport default Link;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport Omit from 'omit.js';\nimport Base, { baseProps } from './Base';\n\nvar Paragraph = function Paragraph(props, _ref) {\n var slots = _ref.slots,\n attrs = _ref.attrs;\n\n var paragraphProps = _extends(_extends(_extends({}, props), {\n component: 'div'\n }), attrs);\n\n return _createVNode(Base, paragraphProps, slots);\n};\n\nParagraph.displayName = 'ATypographyParagraph';\nParagraph.inheritAttrs = false;\nParagraph.props = Omit(baseProps(), ['component']);\nexport default Paragraph;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport warning from '../_util/warning';\nimport Base, { baseProps } from './Base';\nimport Omit from 'omit.js';\n\nvar Text = function Text(props, _ref) {\n var slots = _ref.slots,\n attrs = _ref.attrs;\n var ellipsis = props.ellipsis;\n warning(_typeof(ellipsis) !== 'object' || !ellipsis || !('expandable' in ellipsis) && !('rows' in ellipsis), 'Typography.Text', '`ellipsis` do not support `expandable` or `rows` props.');\n\n var textProps = _extends(_extends(_extends({}, props), {\n ellipsis: ellipsis && _typeof(ellipsis) === 'object' ? Omit(ellipsis, ['expandable', 'rows']) : ellipsis,\n component: 'span'\n }), attrs);\n\n return _createVNode(Base, textProps, slots);\n};\n\nText.displayName = 'ATypographyText';\nText.inheritAttrs = false;\nText.props = Omit(baseProps(), ['component']);\nexport default Text;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport Omit from 'omit.js';\nimport { tupleNum } from '../_util/type';\nimport PropTypes from '../_util/vue-types';\nimport warning from '../_util/warning';\nimport Base, { baseProps } from './Base';\nvar TITLE_ELE_LIST = tupleNum(1, 2, 3, 4, 5);\n\nvar Title = function Title(props, _ref) {\n var slots = _ref.slots,\n attrs = _ref.attrs;\n\n var _props$level = props.level,\n level = _props$level === void 0 ? 1 : _props$level,\n restProps = __rest(props, [\"level\"]);\n\n var component;\n\n if (TITLE_ELE_LIST.indexOf(level) !== -1) {\n component = \"h\".concat(level);\n } else {\n warning(false, 'Typography', 'Title only accept `1 | 2 | 3 | 4 | 5` as `level` value.');\n component = 'h1';\n }\n\n var titleProps = _extends(_extends(_extends({}, restProps), {\n component: component\n }), attrs);\n\n return _createVNode(Base, titleProps, slots);\n};\n\nTitle.displayName = 'ATypographyTitle';\nTitle.inheritAttrs = false;\nTitle.props = Omit(_extends(_extends({}, baseProps()), {\n level: PropTypes.number\n}), ['component', 'strong']);\nexport default Title;","import Base from './Base';\nimport Link from './Link';\nimport Paragraph from './Paragraph';\nimport Text from './Text';\nimport Title from './Title';\nimport Typography from './Typography';\nTypography.Text = Text;\nTypography.Title = Title;\nTypography.Paragraph = Paragraph;\nTypography.Link = Link;\nTypography.Base = Base;\n\nTypography.install = function (app) {\n app.component(Typography.name, Typography);\n app.component(Typography.Text.displayName, Text);\n app.component(Typography.Title.displayName, Title);\n app.component(Typography.Paragraph.displayName, Paragraph);\n app.component(Typography.Link.displayName, Link);\n return app;\n};\n\nexport { Text as TypographyText, Title as TypographyTitle, Paragraph as TypographyParagraph, Link as TypographyLink };\nexport default Typography;","module.exports = require(\"regenerator-runtime\");\n","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { createVNode as _createVNode } from \"vue\";\nimport { flattenChildren } from '../_util/props-util';\nimport { computed, defineComponent, inject } from 'vue';\nimport { defaultConfigProvider } from '../config-provider';\nimport { withInstall } from '../_util/type';\nexport var dividerProps = {\n prefixCls: String,\n type: {\n type: String,\n default: 'horizontal'\n },\n dashed: {\n type: Boolean,\n default: false\n },\n orientation: {\n type: String,\n default: 'center'\n },\n plain: {\n type: Boolean,\n default: false\n }\n};\nvar Divider = defineComponent({\n name: 'ADivider',\n props: dividerProps,\n setup: function setup(props, _ref) {\n var slots = _ref.slots;\n var configProvider = inject('configProvider', defaultConfigProvider);\n var prefixClsRef = computed(function () {\n return configProvider.getPrefixCls('divider', props.prefixCls);\n });\n var classString = computed(function () {\n var _ref2;\n\n var type = props.type,\n dashed = props.dashed,\n plain = props.plain;\n var prefixCls = prefixClsRef.value;\n return _ref2 = {}, _defineProperty(_ref2, prefixCls, true), _defineProperty(_ref2, \"\".concat(prefixCls, \"-\").concat(type), true), _defineProperty(_ref2, \"\".concat(prefixCls, \"-dashed\"), !!dashed), _defineProperty(_ref2, \"\".concat(prefixCls, \"-plain\"), !!plain), _defineProperty(_ref2, \"\".concat(prefixCls, \"-rtl\"), configProvider.direction === 'rtl'), _ref2;\n });\n var orientationPrefix = computed(function () {\n return props.orientation.length > 0 ? '-' + props.orientation : props.orientation;\n });\n return function () {\n var _a;\n\n var children = flattenChildren((_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots));\n return _createVNode(\"div\", {\n \"class\": [classString.value, children.length ? \"\".concat(prefixClsRef.value, \"-with-text \").concat(prefixClsRef.value, \"-with-text\").concat(orientationPrefix.value) : ''],\n \"role\": \"separator\"\n }, [children.length ? _createVNode(\"span\", {\n \"class\": \"\".concat(prefixClsRef.value, \"-inner-text\")\n }, [children]) : null]);\n };\n }\n});\nexport default withInstall(Divider);","\r\n\r\n\r\n","import { render } from \"./Details.vue?vue&type=template&id=6f74ccb6\"\nimport script from \"./Details.vue?vue&type=script&lang=js\"\nexport * from \"./Details.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\WorkPlace\\\\cws-frontend\\\\cws-user-side\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import '../../style/index.less';\nimport './index.less';","import '../../style/index.less';\nimport './index.less'; // style dependencies\n\nimport '../../tooltip/style';\nimport '../../input/style';","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport { defineComponent, inject, nextTick } from 'vue';\nimport PropTypes from '../_util/vue-types';\nimport classNames from '../_util/classNames';\nimport VcCheckbox from '../vc-checkbox';\nimport hasProp, { getOptionProps, getSlot } from '../_util/props-util';\nimport { defaultConfigProvider } from '../config-provider';\nimport warning from '../_util/warning';\n\nfunction noop() {}\n\nexport default defineComponent({\n name: 'ACheckbox',\n inheritAttrs: false,\n __ANT_CHECKBOX: true,\n props: {\n prefixCls: PropTypes.string,\n defaultChecked: PropTypes.looseBool,\n checked: PropTypes.looseBool,\n disabled: PropTypes.looseBool,\n isGroup: PropTypes.looseBool,\n value: PropTypes.any,\n name: PropTypes.string,\n id: PropTypes.string,\n indeterminate: PropTypes.looseBool,\n type: PropTypes.string.def('checkbox'),\n autofocus: PropTypes.looseBool,\n onChange: PropTypes.func,\n 'onUpdate:checked': PropTypes.func\n },\n emits: ['change', 'update:checked'],\n setup: function setup() {\n return {\n configProvider: inject('configProvider', defaultConfigProvider),\n checkboxGroupContext: inject('checkboxGroupContext', undefined)\n };\n },\n watch: {\n value: function value(_value, prevValue) {\n var _this = this;\n\n nextTick(function () {\n var _this$checkboxGroupCo = _this.checkboxGroupContext,\n checkboxGroup = _this$checkboxGroupCo === void 0 ? {} : _this$checkboxGroupCo;\n\n if (checkboxGroup.registerValue && checkboxGroup.cancelValue) {\n checkboxGroup.cancelValue(prevValue);\n checkboxGroup.registerValue(_value);\n }\n });\n }\n },\n mounted: function mounted() {\n var value = this.value,\n _this$checkboxGroupCo2 = this.checkboxGroupContext,\n checkboxGroup = _this$checkboxGroupCo2 === void 0 ? {} : _this$checkboxGroupCo2;\n\n if (checkboxGroup.registerValue) {\n checkboxGroup.registerValue(value);\n }\n\n warning(hasProp(this, 'checked') || this.checkboxGroupContext || !hasProp(this, 'value'), 'Checkbox', '`value` is not validate prop, do you mean `checked`?');\n },\n beforeUnmount: function beforeUnmount() {\n var value = this.value,\n _this$checkboxGroupCo3 = this.checkboxGroupContext,\n checkboxGroup = _this$checkboxGroupCo3 === void 0 ? {} : _this$checkboxGroupCo3;\n\n if (checkboxGroup.cancelValue) {\n checkboxGroup.cancelValue(value);\n }\n },\n methods: {\n handleChange: function handleChange(event) {\n var targetChecked = event.target.checked;\n this.$emit('update:checked', targetChecked); // this.$emit('input', targetChecked);\n\n this.$emit('change', event);\n },\n focus: function focus() {\n this.$refs.vcCheckbox.focus();\n },\n blur: function blur() {\n this.$refs.vcCheckbox.blur();\n }\n },\n render: function render() {\n var _this2 = this,\n _classNames;\n\n var props = getOptionProps(this);\n var checkboxGroup = this.checkboxGroupContext,\n $attrs = this.$attrs;\n var children = getSlot(this);\n\n var indeterminate = props.indeterminate,\n customizePrefixCls = props.prefixCls,\n restProps = __rest(props, [\"indeterminate\", \"prefixCls\"]);\n\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('checkbox', customizePrefixCls);\n\n var _$attrs$onMouseenter = $attrs.onMouseenter,\n onMouseenter = _$attrs$onMouseenter === void 0 ? noop : _$attrs$onMouseenter,\n _$attrs$onMouseleave = $attrs.onMouseleave,\n onMouseleave = _$attrs$onMouseleave === void 0 ? noop : _$attrs$onMouseleave,\n onInput = $attrs.onInput,\n className = $attrs.class,\n style = $attrs.style,\n restAttrs = __rest($attrs, [\"onMouseenter\", \"onMouseleave\", \"onInput\", \"class\", \"style\"]);\n\n var checkboxProps = _extends(_extends(_extends({}, restProps), {\n prefixCls: prefixCls\n }), restAttrs);\n\n if (checkboxGroup) {\n checkboxProps.onChange = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this2.$emit.apply(_this2, ['change'].concat(args));\n\n checkboxGroup.toggleOption({\n label: children,\n value: props.value\n });\n };\n\n checkboxProps.name = checkboxGroup.name;\n checkboxProps.checked = checkboxGroup.sValue.indexOf(props.value) !== -1;\n checkboxProps.disabled = props.disabled || checkboxGroup.disabled;\n checkboxProps.indeterminate = indeterminate;\n } else {\n checkboxProps.onChange = this.handleChange;\n }\n\n var classString = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-wrapper\"), true), _defineProperty(_classNames, \"\".concat(prefixCls, \"-wrapper-checked\"), checkboxProps.checked), _defineProperty(_classNames, \"\".concat(prefixCls, \"-wrapper-disabled\"), checkboxProps.disabled), _classNames), className);\n var checkboxClass = classNames(_defineProperty({}, \"\".concat(prefixCls, \"-indeterminate\"), indeterminate));\n return _createVNode(\"label\", {\n \"class\": classString,\n \"style\": style,\n \"onMouseenter\": onMouseenter,\n \"onMouseleave\": onMouseleave\n }, [_createVNode(VcCheckbox, _objectSpread(_objectSpread({}, checkboxProps), {}, {\n \"class\": checkboxClass,\n \"ref\": \"vcCheckbox\"\n }), null), children.length ? _createVNode(\"span\", null, [children]) : null]);\n }\n});","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\nimport { defineComponent, inject, provide } from 'vue';\nimport PropTypes from '../_util/vue-types';\nimport Checkbox from './Checkbox';\nimport hasProp, { getSlot } from '../_util/props-util';\nimport { defaultConfigProvider } from '../config-provider';\n\nfunction noop() {}\n\nexport default defineComponent({\n name: 'ACheckboxGroup',\n props: {\n name: PropTypes.string,\n prefixCls: PropTypes.string,\n defaultValue: {\n type: Array\n },\n value: {\n type: Array\n },\n options: {\n type: Array\n },\n disabled: PropTypes.looseBool,\n onChange: PropTypes.func\n },\n emits: ['change', 'update:value'],\n setup: function setup() {\n return {\n configProvider: inject('configProvider', defaultConfigProvider)\n };\n },\n data: function data() {\n var value = this.value,\n defaultValue = this.defaultValue;\n return {\n sValue: value || defaultValue || [],\n registeredValues: []\n };\n },\n watch: {\n value: function value(val) {\n this.sValue = val || [];\n }\n },\n created: function created() {\n provide('checkboxGroupContext', this);\n },\n methods: {\n getOptions: function getOptions() {\n var _this$options = this.options,\n options = _this$options === void 0 ? [] : _this$options,\n $slots = this.$slots;\n return options.map(function (option) {\n if (typeof option === 'string') {\n return {\n label: option,\n value: option\n };\n }\n\n var label = option.label;\n\n if (label === undefined && $slots.label) {\n label = $slots.label(option);\n }\n\n return _extends(_extends({}, option), {\n label: label\n });\n });\n },\n cancelValue: function cancelValue(value) {\n this.registeredValues = this.registeredValues.filter(function (val) {\n return val !== value;\n });\n },\n registerValue: function registerValue(value) {\n this.registeredValues = [].concat(_toConsumableArray(this.registeredValues), [value]);\n },\n toggleOption: function toggleOption(option) {\n var registeredValues = this.registeredValues;\n var optionIndex = this.sValue.indexOf(option.value);\n\n var value = _toConsumableArray(this.sValue);\n\n if (optionIndex === -1) {\n value.push(option.value);\n } else {\n value.splice(optionIndex, 1);\n }\n\n if (!hasProp(this, 'value')) {\n this.sValue = value;\n }\n\n var options = this.getOptions();\n var val = value.filter(function (val) {\n return registeredValues.indexOf(val) !== -1;\n }).sort(function (a, b) {\n var indexA = options.findIndex(function (opt) {\n return opt.value === a;\n });\n var indexB = options.findIndex(function (opt) {\n return opt.value === b;\n });\n return indexA - indexB;\n }); // this.$emit('input', val);\n\n this.$emit('update:value', val);\n this.$emit('change', val);\n }\n },\n render: function render() {\n var props = this.$props,\n state = this.$data;\n var customizePrefixCls = props.prefixCls,\n options = props.options;\n var getPrefixCls = this.configProvider.getPrefixCls;\n var prefixCls = getPrefixCls('checkbox', customizePrefixCls);\n var children = getSlot(this);\n var groupPrefixCls = \"\".concat(prefixCls, \"-group\");\n\n if (options && options.length > 0) {\n children = this.getOptions().map(function (option) {\n return _createVNode(Checkbox, {\n \"prefixCls\": prefixCls,\n \"key\": option.value.toString(),\n \"disabled\": 'disabled' in option ? option.disabled : props.disabled,\n \"indeterminate\": option.indeterminate,\n \"value\": option.value,\n \"checked\": state.sValue.indexOf(option.value) !== -1,\n \"onChange\": option.onChange || noop,\n \"class\": \"\".concat(groupPrefixCls, \"-item\")\n }, {\n default: function _default() {\n return [option.label];\n }\n });\n });\n }\n\n return _createVNode(\"div\", {\n \"class\": groupPrefixCls\n }, [children]);\n }\n});","import Checkbox from './Checkbox';\nimport CheckboxGroup from './Group';\nCheckbox.Group = CheckboxGroup;\n/* istanbul ignore next */\n\nCheckbox.install = function (app) {\n app.component(Checkbox.name, Checkbox);\n app.component(CheckboxGroup.name, CheckboxGroup);\n return app;\n};\n\nexport { CheckboxGroup };\nexport default Checkbox;","import '../../style/index.less';\nimport './index.less'; // style dependencies\n// deps-lint-skip: menu\n\nimport '../../empty/style';\nimport '../../radio/style';\nimport '../../checkbox/style';\nimport '../../dropdown/style';\nimport '../../spin/style';\nimport '../../pagination/style';","\r\n\r\n","import { render } from \"./CFee.vue?vue&type=template&id=636d8b05\"\nimport script from \"./CFee.vue?vue&type=script&lang=js\"\nexport * from \"./CFee.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"F:\\\\WorkPlace\\\\cws-frontend\\\\cws-user-side\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import client from \"../../client\";\r\nimport siteOptions from \"@/siteconfigs/index\";\r\nimport urlHelper from \"@/utils/urlHelper.js\";\r\n\r\nconst Api = {\r\n // 列表\r\n getPagedList: \"/api/WarehouseService/WaybillPlan/GetPagedList\",\r\n // 打印运单\r\n printWaybillPlan: \"/api/WarehouseService/WaybillPlan/PrintWaybillPlan\",\r\n // 取消运单\r\n updateWaybillOperationStatus:\r\n \"/api/WarehouseService/WaybillPlan/UpdateWaybillOperationStatus\",\r\n // 获取运单轨迹\r\n getWaybillTrackList: \"/api/WarehouseService/WaybillPlan/GetWaybillTrackList\",\r\n // 详情\r\n getById: \"/api/WarehouseService/WaybillPlan/Get\",\r\n // 供应商物流列表\r\n getSupplierLogisticByWayBill:\r\n \"/api/WarehouseService/SupplierLogistics/GetSupplierLogisticByWayBill\",\r\n // 供应商物流详情\r\n getSupplierLogisticByWayBillChooseOne:\r\n \"/api/WarehouseService/SupplierLogistics/GetSupplierLogisticByWayBillChooseOne\",\r\n // 选择物流并支付\r\n updateChooseSupplierLogistic:\r\n \"/api/WarehouseService/WaybillPlan/UpdateChooseSupplierLogistic\",\r\n // 导出运单列表\r\n exportWayBill: \"/api/WarehouseService/WaybillPlan/ExportWayBill\",\r\n};\r\n\r\nexport const getPagedList = (data) => {\r\n return client.request({\r\n url: Api.getPagedList,\r\n data,\r\n method: \"POST\",\r\n });\r\n};\r\n\r\nexport const printWaybillPlan = (data) => {\r\n return client.request({\r\n url: Api.printWaybillPlan,\r\n params: data,\r\n method: \"GET\",\r\n });\r\n};\r\n\r\nexport const updateWaybillOperationStatus = (data) => {\r\n return client.request({\r\n url: Api.updateWaybillOperationStatus,\r\n data,\r\n method: \"POST\",\r\n });\r\n};\r\n\r\nexport const getWaybillTrackList = (data) => {\r\n return client.request({\r\n url: Api.getWaybillTrackList,\r\n params: data,\r\n method: \"GET\",\r\n });\r\n};\r\n\r\nexport const getById = (data) => {\r\n return client.request({\r\n url: Api.getById,\r\n params: data,\r\n method: \"GET\",\r\n });\r\n};\r\n\r\nexport const getSupplierLogisticByWayBill = (data) => {\r\n return client.request({\r\n url: Api.getSupplierLogisticByWayBill,\r\n data,\r\n method: \"POST\",\r\n });\r\n};\r\n\r\nexport const getSupplierLogisticByWayBillChooseOne = (data) => {\r\n return client.request({\r\n url: Api.getSupplierLogisticByWayBillChooseOne,\r\n data,\r\n method: \"POST\",\r\n });\r\n};\r\n\r\nexport const updateChooseSupplierLogistic = (data) => {\r\n return client.request({\r\n url: Api.updateChooseSupplierLogistic,\r\n data,\r\n method: \"POST\",\r\n });\r\n};\r\n\r\nexport const exportWayBill = () => {\r\n let url = urlHelper.combineURLs(siteOptions.baseURL, Api.exportWayBill);\r\n return url;\r\n};\r\n","import Pagination from './Pagination';\nimport { withInstall } from '../_util/type';\nexport { paginationProps, paginationConfig } from './Pagination';\nexport default withInstall(Pagination);","import '../../style/index.less';\nimport './index.less';","import '../../style/index.less';\nimport './index.less'; // style dependencies\n\nimport '../../grid/style';\nimport '../../tooltip/style';","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport { nextTick, defineComponent } from 'vue';\nimport classNames from '../../_util/classNames';\nimport PropTypes, { withUndefined } from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOptionProps, hasProp, initDefaultProps } from '../../_util/props-util';\nexport default defineComponent({\n name: 'Checkbox',\n mixins: [BaseMixin],\n inheritAttrs: false,\n props: initDefaultProps({\n prefixCls: PropTypes.string,\n name: PropTypes.string,\n id: PropTypes.string,\n type: PropTypes.string,\n defaultChecked: withUndefined(PropTypes.oneOfType([PropTypes.number, PropTypes.looseBool])),\n checked: withUndefined(PropTypes.oneOfType([PropTypes.number, PropTypes.looseBool])),\n disabled: PropTypes.looseBool,\n // onFocus: PropTypes.func,\n // onBlur: PropTypes.func,\n // onChange: PropTypes.func,\n // onClick: PropTypes.func,\n tabindex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n readonly: PropTypes.looseBool,\n autofocus: PropTypes.looseBool,\n value: PropTypes.any\n }, {\n prefixCls: 'rc-checkbox',\n type: 'checkbox',\n defaultChecked: false\n }),\n data: function data() {\n var checked = hasProp(this, 'checked') ? this.checked : this.defaultChecked;\n return {\n sChecked: checked\n };\n },\n watch: {\n checked: function checked(val) {\n this.sChecked = val;\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n nextTick(function () {\n if (process.env.NODE_ENV === 'test') {\n if (_this.autofocus) {\n _this.$refs.input && _this.$refs.input.focus();\n }\n }\n });\n },\n methods: {\n focus: function focus() {\n this.$refs.input.focus();\n },\n blur: function blur() {\n this.$refs.input.blur();\n },\n handleChange: function handleChange(e) {\n var props = getOptionProps(this);\n\n if (props.disabled) {\n return;\n }\n\n if (!('checked' in props)) {\n this.sChecked = e.target.checked;\n }\n\n e.shiftKey = this.eventShiftKey;\n var eventObj = {\n target: _extends(_extends({}, props), {\n checked: e.target.checked\n }),\n stopPropagation: function stopPropagation() {\n e.stopPropagation();\n },\n preventDefault: function preventDefault() {\n e.preventDefault();\n },\n nativeEvent: e\n }; // fix https://github.com/vueComponent/ant-design-vue/issues/3047\n // 受控模式下维持现有状态\n\n if ('checked' in props) {\n this.$refs.input.checked = props.checked;\n }\n\n this.__emit('change', eventObj);\n\n this.eventShiftKey = false;\n },\n onClick: function onClick(e) {\n this.__emit('click', e); // onChange没能获取到shiftKey,使用onClick hack\n\n\n this.eventShiftKey = e.shiftKey;\n }\n },\n render: function render() {\n var _classNames;\n\n var _a = getOptionProps(this),\n prefixCls = _a.prefixCls,\n name = _a.name,\n id = _a.id,\n type = _a.type,\n disabled = _a.disabled,\n readonly = _a.readonly,\n tabindex = _a.tabindex,\n autofocus = _a.autofocus,\n value = _a.value,\n others = __rest(_a, [\"prefixCls\", \"name\", \"id\", \"type\", \"disabled\", \"readonly\", \"tabindex\", \"autofocus\", \"value\"]);\n\n var _this$$attrs = this.$attrs,\n className = _this$$attrs.class,\n onFocus = _this$$attrs.onFocus,\n onBlur = _this$$attrs.onBlur;\n var globalProps = Object.keys(_extends(_extends({}, others), this.$attrs)).reduce(function (prev, key) {\n if (key.substr(0, 5) === 'aria-' || key.substr(0, 5) === 'data-' || key === 'role') {\n prev[key] = others[key];\n }\n\n return prev;\n }, {});\n var sChecked = this.sChecked;\n var classString = classNames(prefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-checked\"), sChecked), _defineProperty(_classNames, \"\".concat(prefixCls, \"-disabled\"), disabled), _classNames));\n\n var inputProps = _extends(_extends({\n name: name,\n id: id,\n type: type,\n readonly: readonly,\n disabled: disabled,\n tabindex: tabindex,\n class: \"\".concat(prefixCls, \"-input\"),\n checked: !!sChecked,\n autofocus: autofocus,\n value: value\n }, globalProps), {\n onChange: this.handleChange,\n onClick: this.onClick,\n onFocus: onFocus,\n onBlur: onBlur\n });\n\n return _createVNode(\"span\", {\n \"class\": classString\n }, [_createVNode(\"input\", _objectSpread({\n \"ref\": \"input\"\n }, inputProps), null), _createVNode(\"span\", {\n \"class\": \"\".concat(prefixCls, \"-inner\")\n }, null)]);\n }\n});","import Checkbox from './Checkbox';\nexport default Checkbox;","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Content.vue?vue&type=style&index=0&id=a622e286&lang=less&scoped=true\""],"sourceRoot":""}