1 line
3.9 MiB
1 line
3.9 MiB
{"version":3,"sources":["webpack://antd/webpack/universalModuleDefinition","webpack://antd/webpack/bootstrap","webpack://antd/./components/_util/vue-types/utils.js","webpack://antd/./components/_util/vue-types/index.js","webpack://antd/./components/_util/props-util.js","webpack://antd/./node_modules/babel-runtime/helpers/extends.js","webpack://antd/./node_modules/babel-runtime/helpers/defineProperty.js","webpack://antd/./components/_util/BaseMixin.js","webpack://antd/./node_modules/classnames/index.js","webpack://antd/./node_modules/babel-helper-vue-jsx-merge-props/index.js","webpack://antd/./components/config-provider/configConsumerProps.jsx","webpack://antd/./node_modules/@ant-design/icons-vue/es/components/Icon.js","webpack://antd/./node_modules/@ant-design/icons-vue/es/index.js","webpack://antd/./components/icon/IconFont.jsx","webpack://antd/./components/icon/utils.js","webpack://antd/./components/icon/twoTonePrimaryColor.js","webpack://antd/./components/icon/index.js","webpack://antd/./components/_util/vnode.js","webpack://antd/./components/_util/portalDirective.js","webpack://antd/./components/_util/antDirective.js","webpack://antd/./components/base/index.js","webpack://antd/./node_modules/babel-runtime/helpers/toConsumableArray.js","webpack://antd/./node_modules/babel-runtime/helpers/objectWithoutProperties.js","webpack://antd/./components/vc-util/warning.js","webpack://antd/./components/_util/warning.js","webpack://antd/./node_modules/babel-runtime/helpers/typeof.js","webpack://antd/external {\"root\":\"moment\",\"commonjs2\":\"moment\",\"commonjs\":\"moment\",\"amd\":\"moment\"}","webpack://antd/./node_modules/omit.js/es/index.js","webpack://antd/external {\"root\":\"Vue\",\"commonjs2\":\"vue\",\"commonjs\":\"vue\",\"amd\":\"vue\"}","webpack://antd/./components/vc-tree/src/util.js","webpack://antd/./node_modules/raf/index.js","webpack://antd/./components/vc-util/Dom/addEventListener.js","webpack://antd/./node_modules/babel-runtime/helpers/slicedToArray.js","webpack://antd/./components/_util/getTransitionProps.js","webpack://antd/./node_modules/warning/warning.js","webpack://antd/./node_modules/vue-ref/index.js","webpack://antd/./components/locale-provider/LocaleReceiver.jsx","webpack://antd/./node_modules/shallowequal/index.js","webpack://antd/./node_modules/dom-align/dist-web/index.js","webpack://antd/./components/vc-align/util.js","webpack://antd/./components/vc-align/Align.jsx","webpack://antd/./components/vc-align/index.js","webpack://antd/./components/vc-trigger/LazyRenderBox.jsx","webpack://antd/./components/vc-trigger/PopupInner.jsx","webpack://antd/./components/vc-trigger/Popup.jsx","webpack://antd/./components/vc-trigger/utils.js","webpack://antd/./components/_util/ContainerRender.jsx","webpack://antd/./components/vc-trigger/Trigger.jsx","webpack://antd/./components/vc-trigger/index.js","webpack://antd/./node_modules/lodash/debounce.js","webpack://antd/./components/vc-tooltip/placements.js","webpack://antd/./components/vc-tooltip/Content.jsx","webpack://antd/./components/vc-tooltip/Tooltip.jsx","webpack://antd/./components/vc-tooltip/index.js","webpack://antd/./components/tooltip/placements.js","webpack://antd/./components/tooltip/Tooltip.jsx","webpack://antd/./components/tooltip/index.js","webpack://antd/./components/_util/getRequestAnimationFrame.js","webpack://antd/./components/_util/requestAnimationTimeout.js","webpack://antd/./node_modules/lodash/set.js","webpack://antd/./node_modules/lodash/isObject.js","webpack://antd/./node_modules/lodash/isArray.js","webpack://antd/./node_modules/lodash/isPlainObject.js","webpack://antd/./components/locale-provider/default.js","webpack://antd/./components/upload/utils.jsx","webpack://antd/./node_modules/core-js/library/modules/_wks.js","webpack://antd/./node_modules/lodash/_root.js","webpack://antd/./components/upload/interface.jsx","webpack://antd/./components/vc-util/Dom/contains.js","webpack://antd/./components/_util/css-animation/Event.js","webpack://antd/./node_modules/core-js/library/modules/_core.js","webpack://antd/./node_modules/lodash/isObjectLike.js","webpack://antd/./components/vc-calendar/src/locale/en_US.js","webpack://antd/./components/_util/css-animation/index.js","webpack://antd/./components/empty/empty.jsx","webpack://antd/./components/empty/index.jsx","webpack://antd/./components/empty/simple.jsx","webpack://antd/./node_modules/core-js/library/modules/_global.js","webpack://antd/./node_modules/core-js/library/modules/_object-dp.js","webpack://antd/./node_modules/core-js/library/modules/_descriptors.js","webpack://antd/./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://antd/./node_modules/babel-runtime/helpers/classCallCheck.js","webpack://antd/./components/tooltip/abstractTooltipProps.js","webpack://antd/./node_modules/component-classes/index.js","webpack://antd/./node_modules/lodash/get.js","webpack://antd/./components/vc-tree/index.js","webpack://antd/./node_modules/lodash/isNil.js","webpack://antd/./components/upload/Upload.jsx","webpack://antd/./node_modules/@ant-design/icons-vue/es/utils.js","webpack://antd/./node_modules/core-js/library/modules/_has.js","webpack://antd/./node_modules/lodash/_baseGetTag.js","webpack://antd/./node_modules/lodash/_getNative.js","webpack://antd/./node_modules/lodash/eq.js","webpack://antd/./components/date-picker/locale/en_US.js","webpack://antd/./components/time-picker/locale/en_US.js","webpack://antd/./node_modules/array-tree-filter/lib/index.js","webpack://antd/./node_modules/core-js/library/modules/_hide.js","webpack://antd/./node_modules/core-js/library/modules/_an-object.js","webpack://antd/./node_modules/core-js/library/modules/_to-iobject.js","webpack://antd/./node_modules/core-js/library/modules/_iterators.js","webpack://antd/./node_modules/lodash/_Symbol.js","webpack://antd/./node_modules/lodash/_copyObject.js","webpack://antd/./node_modules/lodash/keys.js","webpack://antd/./node_modules/lodash/isArrayLike.js","webpack://antd/./node_modules/lodash/_castPath.js","webpack://antd/./node_modules/lodash/_toKey.js","webpack://antd/./components/_util/FormDecoratorDirective.js","webpack://antd/./node_modules/babel-runtime/helpers/createClass.js","webpack://antd/./components/_util/proxyComponent.jsx","webpack://antd/./components/vc-tree/src/TreeNode.jsx","webpack://antd/./components/locale/default.js","webpack://antd/./components/upload/Dragger.jsx","webpack://antd/./node_modules/core-js/library/modules/_export.js","webpack://antd/./node_modules/core-js/library/modules/_is-object.js","webpack://antd/./node_modules/core-js/library/modules/_fails.js","webpack://antd/./node_modules/core-js/library/modules/_property-desc.js","webpack://antd/./node_modules/lodash/keysIn.js","webpack://antd/./components/progress/utils.js","webpack://antd/./components/progress/line.jsx","webpack://antd/./components/vc-progress/src/enhancer.js","webpack://antd/./components/vc-progress/src/types.js","webpack://antd/./components/vc-progress/src/Circle.js","webpack://antd/./components/progress/circle.jsx","webpack://antd/./components/progress/progress.jsx","webpack://antd/./components/progress/index.jsx","webpack://antd/./components/vc-pagination/locale/en_US.js","webpack://antd/./components/calendar/locale/en_US.js","webpack://antd/./node_modules/core-js/library/modules/_object-keys.js","webpack://antd/./node_modules/core-js/library/modules/_library.js","webpack://antd/./node_modules/core-js/library/modules/_uid.js","webpack://antd/./node_modules/core-js/library/modules/_object-pie.js","webpack://antd/./node_modules/core-js/library/modules/_to-object.js","webpack://antd/./node_modules/core-js/library/modules/es6.string.iterator.js","webpack://antd/./node_modules/process/browser.js","webpack://antd/./node_modules/lodash/_Stack.js","webpack://antd/./node_modules/lodash/_ListCache.js","webpack://antd/./node_modules/lodash/_assocIndexOf.js","webpack://antd/./node_modules/lodash/_nativeCreate.js","webpack://antd/./node_modules/lodash/_getMapData.js","webpack://antd/./node_modules/lodash/isArguments.js","webpack://antd/./node_modules/lodash/isBuffer.js","webpack://antd/./node_modules/lodash/_isIndex.js","webpack://antd/./node_modules/lodash/_baseUnary.js","webpack://antd/./node_modules/lodash/_nodeUtil.js","webpack://antd/./node_modules/lodash/_getTag.js","webpack://antd/./node_modules/lodash/isSymbol.js","webpack://antd/./node_modules/lodash/_baseGet.js","webpack://antd/./node_modules/lodash/_baseIteratee.js","webpack://antd/./components/_util/antInputDirective.js","webpack://antd/./components/config-provider/renderEmpty.jsx","webpack://antd/./node_modules/lodash/cloneDeep.js","webpack://antd/./node_modules/lodash/omit.js","webpack://antd/./node_modules/lodash/isRegExp.js","webpack://antd/./node_modules/async-validator/dist-web/index.js","webpack://antd/./node_modules/json2mq/index.js","webpack://antd/./components/empty/style/index.js","webpack://antd/./node_modules/core-js/library/modules/_to-primitive.js","webpack://antd/./node_modules/core-js/library/modules/_cof.js","webpack://antd/./node_modules/core-js/library/modules/_defined.js","webpack://antd/./node_modules/core-js/library/modules/_to-integer.js","webpack://antd/./node_modules/core-js/library/modules/_shared-key.js","webpack://antd/./node_modules/core-js/library/modules/_shared.js","webpack://antd/./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack://antd/./node_modules/core-js/library/modules/_object-gops.js","webpack://antd/./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack://antd/./node_modules/core-js/library/modules/web.dom.iterable.js","webpack://antd/./node_modules/core-js/library/modules/_wks-ext.js","webpack://antd/./node_modules/core-js/library/modules/_wks-define.js","webpack://antd/(webpack)/buildin/global.js","webpack://antd/./node_modules/lodash/_getPrototype.js","webpack://antd/./node_modules/lodash/_Map.js","webpack://antd/./node_modules/lodash/isFunction.js","webpack://antd/./node_modules/lodash/_MapCache.js","webpack://antd/./node_modules/lodash/_assignValue.js","webpack://antd/./node_modules/lodash/_baseAssignValue.js","webpack://antd/(webpack)/buildin/module.js","webpack://antd/./node_modules/lodash/isTypedArray.js","webpack://antd/./node_modules/lodash/isLength.js","webpack://antd/./node_modules/lodash/_isPrototype.js","webpack://antd/./node_modules/lodash/_getSymbols.js","webpack://antd/./node_modules/lodash/_arrayPush.js","webpack://antd/./node_modules/lodash/_cloneArrayBuffer.js","webpack://antd/./node_modules/lodash/_isKey.js","webpack://antd/./node_modules/lodash/toString.js","webpack://antd/./node_modules/lodash/identity.js","webpack://antd/./node_modules/lodash/_setToArray.js","webpack://antd/./node_modules/lodash/toInteger.js","webpack://antd/./node_modules/lodash/_hasUnicode.js","webpack://antd/./node_modules/lodash/_stringSize.js","webpack://antd/./node_modules/lodash/findIndex.js","webpack://antd/./components/vc-pagination/locale/zh_CN.js","webpack://antd/./node_modules/@ant-design/icons/lib/dist.js","webpack://antd/./node_modules/lodash/merge.js","webpack://antd/./components/vc-upload/src/request.js","webpack://antd/./components/vc-upload/src/uid.js","webpack://antd/./components/vc-upload/src/attr-accept.js","webpack://antd/./components/vc-upload/src/traverseFileTree.js","webpack://antd/./components/vc-upload/src/AjaxUploader.jsx","webpack://antd/./components/vc-upload/src/IframeUploader.jsx","webpack://antd/./components/vc-upload/src/Upload.jsx","webpack://antd/./components/vc-upload/src/index.js","webpack://antd/./components/vc-upload/index.js","webpack://antd/./components/button/style/index.js","webpack://antd/./components/grid/style/index.js","webpack://antd/./components/select/style/index.js","webpack://antd/./components/input/style/index.js","webpack://antd/./components/tooltip/style/index.js","webpack://antd/./node_modules/babel-runtime/core-js/object/define-property.js","webpack://antd/./node_modules/core-js/library/modules/_ctx.js","webpack://antd/./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://antd/./node_modules/core-js/library/modules/_dom-create.js","webpack://antd/./node_modules/core-js/library/modules/_object-keys-internal.js","webpack://antd/./node_modules/core-js/library/modules/_iobject.js","webpack://antd/./node_modules/core-js/library/modules/_to-length.js","webpack://antd/./node_modules/core-js/library/modules/_iter-define.js","webpack://antd/./node_modules/core-js/library/modules/_redefine.js","webpack://antd/./node_modules/core-js/library/modules/_object-create.js","webpack://antd/./node_modules/core-js/library/modules/_object-gopn.js","webpack://antd/./node_modules/lodash/_freeGlobal.js","webpack://antd/./node_modules/lodash/_overArg.js","webpack://antd/./node_modules/core-js/library/modules/core.get-iterator-method.js","webpack://antd/./node_modules/core-js/library/modules/_classof.js","webpack://antd/./node_modules/component-indexof/index.js","webpack://antd/./node_modules/lodash/_baseClone.js","webpack://antd/./node_modules/lodash/_toSource.js","webpack://antd/./node_modules/lodash/_defineProperty.js","webpack://antd/./node_modules/lodash/_arrayLikeKeys.js","webpack://antd/./node_modules/lodash/_cloneBuffer.js","webpack://antd/./node_modules/lodash/_copyArray.js","webpack://antd/./node_modules/lodash/stubArray.js","webpack://antd/./node_modules/lodash/_getSymbolsIn.js","webpack://antd/./node_modules/lodash/_getAllKeys.js","webpack://antd/./node_modules/lodash/_baseGetAllKeys.js","webpack://antd/./node_modules/lodash/_getAllKeysIn.js","webpack://antd/./node_modules/lodash/_Set.js","webpack://antd/./node_modules/lodash/_Uint8Array.js","webpack://antd/./node_modules/lodash/_cloneTypedArray.js","webpack://antd/./node_modules/lodash/_initCloneObject.js","webpack://antd/./node_modules/lodash/toNumber.js","webpack://antd/./node_modules/enquire.js/src/index.js","webpack://antd/./node_modules/enquire.js/src/Util.js","webpack://antd/./node_modules/lodash/_arrayMap.js","webpack://antd/./node_modules/lodash/_baseToString.js","webpack://antd/./node_modules/lodash/_baseSlice.js","webpack://antd/./node_modules/lodash/_flatRest.js","webpack://antd/./node_modules/lodash/_overRest.js","webpack://antd/./node_modules/lodash/_setToString.js","webpack://antd/./node_modules/lodash/_baseIsEqual.js","webpack://antd/./node_modules/lodash/_equalArrays.js","webpack://antd/./node_modules/lodash/_SetCache.js","webpack://antd/./node_modules/lodash/_cacheHas.js","webpack://antd/./node_modules/lodash/_isStrictComparable.js","webpack://antd/./node_modules/lodash/_matchesStrictComparable.js","webpack://antd/./node_modules/lodash/hasIn.js","webpack://antd/./node_modules/lodash/_hasPath.js","webpack://antd/./node_modules/lodash/_baseProperty.js","webpack://antd/./node_modules/lodash/_baseFindIndex.js","webpack://antd/./node_modules/lodash/_baseSet.js","webpack://antd/./node_modules/lodash/_createPadding.js","webpack://antd/./node_modules/lodash/_assignMergeValue.js","webpack://antd/./node_modules/lodash/_baseFor.js","webpack://antd/./node_modules/lodash/_safeGet.js","webpack://antd/./node_modules/add-dom-event-listener/lib/index.js","webpack://antd/./node_modules/@ant-design/colors/lib/index.js","webpack://antd/./node_modules/is-mobile/index.js","webpack://antd/./node_modules/shallow-equal/arrays/index.js","webpack://antd/./node_modules/lodash/find.js","webpack://antd/./node_modules/lodash/has.js","webpack://antd/./node_modules/lodash/padEnd.js","webpack://antd/./node_modules/lodash/padStart.js","webpack://antd/./node_modules/dom-closest/index.js","webpack://antd/./node_modules/lodash/throttle.js","webpack://antd/./node_modules/lodash/uniqBy.js","webpack://antd/./node_modules/lodash/pick.js","webpack://antd/./components/upload/UploadList.jsx","webpack://antd/./node_modules/lodash/partition.js","webpack://antd/./components/spin/style/index.js","webpack://antd/./components/dropdown/style/index.js","webpack://antd/./components/radio/style/index.js","webpack://antd/./components/checkbox/style/index.js","webpack://antd/./components/pagination/style/index.js","webpack://antd/./node_modules/core-js/library/fn/object/define-property.js","webpack://antd/./node_modules/core-js/library/modules/es6.object.define-property.js","webpack://antd/./node_modules/core-js/library/modules/_a-function.js","webpack://antd/./node_modules/babel-runtime/core-js/object/assign.js","webpack://antd/./node_modules/core-js/library/fn/object/assign.js","webpack://antd/./node_modules/core-js/library/modules/es6.object.assign.js","webpack://antd/./node_modules/core-js/library/modules/_object-assign.js","webpack://antd/./node_modules/core-js/library/modules/_array-includes.js","webpack://antd/./node_modules/core-js/library/modules/_to-absolute-index.js","webpack://antd/./node_modules/babel-runtime/core-js/symbol/iterator.js","webpack://antd/./node_modules/core-js/library/fn/symbol/iterator.js","webpack://antd/./node_modules/core-js/library/modules/_string-at.js","webpack://antd/./node_modules/core-js/library/modules/_iter-create.js","webpack://antd/./node_modules/core-js/library/modules/_object-dps.js","webpack://antd/./node_modules/core-js/library/modules/_html.js","webpack://antd/./node_modules/core-js/library/modules/_object-gpo.js","webpack://antd/./node_modules/core-js/library/modules/es6.array.iterator.js","webpack://antd/./node_modules/core-js/library/modules/_add-to-unscopables.js","webpack://antd/./node_modules/core-js/library/modules/_iter-step.js","webpack://antd/./node_modules/babel-runtime/core-js/symbol.js","webpack://antd/./node_modules/core-js/library/fn/symbol/index.js","webpack://antd/./node_modules/core-js/library/modules/es6.symbol.js","webpack://antd/./node_modules/core-js/library/modules/_meta.js","webpack://antd/./node_modules/core-js/library/modules/_enum-keys.js","webpack://antd/./node_modules/core-js/library/modules/_is-array.js","webpack://antd/./node_modules/core-js/library/modules/_object-gopn-ext.js","webpack://antd/./node_modules/core-js/library/modules/_object-gopd.js","webpack://antd/./node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack://antd/./node_modules/core-js/library/modules/es7.symbol.observable.js","webpack://antd/./node_modules/lodash/_getRawTag.js","webpack://antd/./node_modules/lodash/_objectToString.js","webpack://antd/./node_modules/babel-runtime/core-js/array/from.js","webpack://antd/./node_modules/core-js/library/fn/array/from.js","webpack://antd/./node_modules/core-js/library/modules/es6.array.from.js","webpack://antd/./node_modules/core-js/library/modules/_iter-call.js","webpack://antd/./node_modules/core-js/library/modules/_is-array-iter.js","webpack://antd/./node_modules/core-js/library/modules/_create-property.js","webpack://antd/./node_modules/core-js/library/modules/_iter-detect.js","webpack://antd/./node_modules/babel-runtime/core-js/is-iterable.js","webpack://antd/./node_modules/core-js/library/fn/is-iterable.js","webpack://antd/./node_modules/core-js/library/modules/core.is-iterable.js","webpack://antd/./node_modules/babel-runtime/core-js/get-iterator.js","webpack://antd/./node_modules/core-js/library/fn/get-iterator.js","webpack://antd/./node_modules/core-js/library/modules/core.get-iterator.js","webpack://antd/./node_modules/performance-now/lib/performance-now.js","webpack://antd/./node_modules/add-dom-event-listener/lib/EventObject.js","webpack://antd/./node_modules/add-dom-event-listener/lib/EventBaseObject.js","webpack://antd/./node_modules/object-assign/index.js","webpack://antd/./node_modules/@ant-design/colors/lib/generate.js","webpack://antd/./node_modules/tinycolor2/tinycolor.js","webpack://antd/./node_modules/mutationobserver-shim/dist/mutationobserver.min.js","webpack://antd/./node_modules/lodash/_listCacheClear.js","webpack://antd/./node_modules/lodash/_listCacheDelete.js","webpack://antd/./node_modules/lodash/_listCacheGet.js","webpack://antd/./node_modules/lodash/_listCacheHas.js","webpack://antd/./node_modules/lodash/_listCacheSet.js","webpack://antd/./node_modules/lodash/_stackClear.js","webpack://antd/./node_modules/lodash/_stackDelete.js","webpack://antd/./node_modules/lodash/_stackGet.js","webpack://antd/./node_modules/lodash/_stackHas.js","webpack://antd/./node_modules/lodash/_stackSet.js","webpack://antd/./node_modules/lodash/_baseIsNative.js","webpack://antd/./node_modules/lodash/_isMasked.js","webpack://antd/./node_modules/lodash/_coreJsData.js","webpack://antd/./node_modules/lodash/_getValue.js","webpack://antd/./node_modules/lodash/_mapCacheClear.js","webpack://antd/./node_modules/lodash/_Hash.js","webpack://antd/./node_modules/lodash/_hashClear.js","webpack://antd/./node_modules/lodash/_hashDelete.js","webpack://antd/./node_modules/lodash/_hashGet.js","webpack://antd/./node_modules/lodash/_hashHas.js","webpack://antd/./node_modules/lodash/_hashSet.js","webpack://antd/./node_modules/lodash/_mapCacheDelete.js","webpack://antd/./node_modules/lodash/_isKeyable.js","webpack://antd/./node_modules/lodash/_mapCacheGet.js","webpack://antd/./node_modules/lodash/_mapCacheHas.js","webpack://antd/./node_modules/lodash/_mapCacheSet.js","webpack://antd/./node_modules/lodash/_arrayEach.js","webpack://antd/./node_modules/lodash/_baseAssign.js","webpack://antd/./node_modules/lodash/_baseTimes.js","webpack://antd/./node_modules/lodash/_baseIsArguments.js","webpack://antd/./node_modules/lodash/stubFalse.js","webpack://antd/./node_modules/lodash/_baseIsTypedArray.js","webpack://antd/./node_modules/lodash/_baseKeys.js","webpack://antd/./node_modules/lodash/_nativeKeys.js","webpack://antd/./node_modules/lodash/_baseAssignIn.js","webpack://antd/./node_modules/lodash/_baseKeysIn.js","webpack://antd/./node_modules/lodash/_nativeKeysIn.js","webpack://antd/./node_modules/lodash/_copySymbols.js","webpack://antd/./node_modules/lodash/_arrayFilter.js","webpack://antd/./node_modules/lodash/_copySymbolsIn.js","webpack://antd/./node_modules/lodash/_DataView.js","webpack://antd/./node_modules/lodash/_Promise.js","webpack://antd/./node_modules/lodash/_WeakMap.js","webpack://antd/./node_modules/lodash/_initCloneArray.js","webpack://antd/./node_modules/lodash/_initCloneByTag.js","webpack://antd/./node_modules/lodash/_cloneDataView.js","webpack://antd/./node_modules/lodash/_cloneRegExp.js","webpack://antd/./node_modules/lodash/_cloneSymbol.js","webpack://antd/./node_modules/lodash/_baseCreate.js","webpack://antd/./node_modules/lodash/isMap.js","webpack://antd/./node_modules/lodash/_baseIsMap.js","webpack://antd/./node_modules/lodash/isSet.js","webpack://antd/./node_modules/lodash/_baseIsSet.js","webpack://antd/./node_modules/lodash/now.js","webpack://antd/./node_modules/lodash/_baseTrim.js","webpack://antd/./node_modules/lodash/_trimmedEndIndex.js","webpack://antd/./node_modules/enquire.js/src/MediaQueryDispatch.js","webpack://antd/./node_modules/enquire.js/src/MediaQuery.js","webpack://antd/./node_modules/enquire.js/src/QueryHandler.js","webpack://antd/./node_modules/string-convert/camel2hyphen.js","webpack://antd/./node_modules/lodash/_baseUnset.js","webpack://antd/./node_modules/lodash/_stringToPath.js","webpack://antd/./node_modules/lodash/_memoizeCapped.js","webpack://antd/./node_modules/lodash/memoize.js","webpack://antd/./node_modules/lodash/last.js","webpack://antd/./node_modules/lodash/_parent.js","webpack://antd/./node_modules/lodash/_customOmitClone.js","webpack://antd/./node_modules/lodash/flatten.js","webpack://antd/./node_modules/lodash/_baseFlatten.js","webpack://antd/./node_modules/lodash/_isFlattenable.js","webpack://antd/./node_modules/lodash/_apply.js","webpack://antd/./node_modules/lodash/_baseSetToString.js","webpack://antd/./node_modules/lodash/constant.js","webpack://antd/./node_modules/lodash/_shortOut.js","webpack://antd/./node_modules/lodash/_baseIsRegExp.js","webpack://antd/./node_modules/lodash/_createFind.js","webpack://antd/./node_modules/lodash/_baseMatches.js","webpack://antd/./node_modules/lodash/_baseIsMatch.js","webpack://antd/./node_modules/lodash/_baseIsEqualDeep.js","webpack://antd/./node_modules/lodash/_setCacheAdd.js","webpack://antd/./node_modules/lodash/_setCacheHas.js","webpack://antd/./node_modules/lodash/_arraySome.js","webpack://antd/./node_modules/lodash/_equalByTag.js","webpack://antd/./node_modules/lodash/_mapToArray.js","webpack://antd/./node_modules/lodash/_equalObjects.js","webpack://antd/./node_modules/lodash/_getMatchData.js","webpack://antd/./node_modules/lodash/_baseMatchesProperty.js","webpack://antd/./node_modules/lodash/_baseHasIn.js","webpack://antd/./node_modules/lodash/property.js","webpack://antd/./node_modules/lodash/_basePropertyDeep.js","webpack://antd/./node_modules/lodash/toFinite.js","webpack://antd/./node_modules/lodash/_baseHas.js","webpack://antd/./node_modules/lodash/_baseRepeat.js","webpack://antd/./node_modules/lodash/_castSlice.js","webpack://antd/./node_modules/lodash/_asciiSize.js","webpack://antd/./node_modules/lodash/_unicodeSize.js","webpack://antd/./node_modules/lodash/_stringToArray.js","webpack://antd/./node_modules/lodash/_asciiToArray.js","webpack://antd/./node_modules/lodash/_unicodeToArray.js","webpack://antd/./node_modules/dom-matches/index.js","webpack://antd/./node_modules/lodash/_baseMerge.js","webpack://antd/./node_modules/lodash/_createBaseFor.js","webpack://antd/./node_modules/lodash/_baseMergeDeep.js","webpack://antd/./node_modules/lodash/isArrayLikeObject.js","webpack://antd/./node_modules/lodash/toPlainObject.js","webpack://antd/./node_modules/lodash/_createAssigner.js","webpack://antd/./node_modules/lodash/_baseRest.js","webpack://antd/./node_modules/lodash/_isIterateeCall.js","webpack://antd/./node_modules/lodash/_baseUniq.js","webpack://antd/./node_modules/lodash/_arrayIncludes.js","webpack://antd/./node_modules/lodash/_baseIndexOf.js","webpack://antd/./node_modules/lodash/_baseIsNaN.js","webpack://antd/./node_modules/lodash/_strictIndexOf.js","webpack://antd/./node_modules/lodash/_arrayIncludesWith.js","webpack://antd/./node_modules/lodash/_createSet.js","webpack://antd/./node_modules/lodash/noop.js","webpack://antd/./node_modules/lodash/_basePick.js","webpack://antd/./node_modules/lodash/_basePickBy.js","webpack://antd/./node_modules/lodash/_createAggregator.js","webpack://antd/./node_modules/lodash/_arrayAggregator.js","webpack://antd/./node_modules/lodash/_baseAggregator.js","webpack://antd/./node_modules/lodash/_baseEach.js","webpack://antd/./node_modules/lodash/_baseForOwn.js","webpack://antd/./node_modules/lodash/_createBaseEach.js","webpack://antd/./components/vc-resize-observer/index.jsx","webpack://antd/./components/_util/throttleByAnimationFrame.js","webpack://antd/./components/affix/utils.js","webpack://antd/./components/affix/index.jsx","webpack://antd/./components/_util/getScroll.js","webpack://antd/./components/_util/easings.js","webpack://antd/./components/_util/scrollTo.js","webpack://antd/./components/anchor/Anchor.jsx","webpack://antd/./components/anchor/AnchorLink.jsx","webpack://antd/./components/anchor/index.jsx","webpack://antd/./components/vc-select/Option.jsx","webpack://antd/./components/vc-select/OptGroup.jsx","webpack://antd/./components/_util/KeyCode.js","webpack://antd/./node_modules/dom-scroll-into-view/dist-web/index.js","webpack://antd/./components/_util/store/connect.jsx","webpack://antd/./components/vc-menu/utils/isMobile.js","webpack://antd/./components/vc-menu/util.js","webpack://antd/./components/vc-menu/MenuItem.jsx","webpack://antd/./components/vc-menu/MenuItemGroup.jsx","webpack://antd/./components/_util/store/PropTypes.js","webpack://antd/./components/_util/store/Provider.jsx","webpack://antd/./components/vc-menu/placements.js","webpack://antd/./components/vc-menu/SubMenu.jsx","webpack://antd/./components/vc-menu/DOMWrap.jsx","webpack://antd/./components/vc-menu/SubPopupMenu.jsx","webpack://antd/./components/vc-menu/commonPropsType.js","webpack://antd/./components/vc-menu/index.js","webpack://antd/./components/vc-menu/Menu.jsx","webpack://antd/./components/_util/store/create.js","webpack://antd/./components/vc-select/util.js","webpack://antd/./components/vc-select/DropdownMenu.jsx","webpack://antd/./components/vc-select/SelectTrigger.jsx","webpack://antd/./components/vc-select/PropTypes.js","webpack://antd/./components/_util/env.js","webpack://antd/./components/vc-select/Select.jsx","webpack://antd/./components/select/index.jsx","webpack://antd/./components/input/ClearableLabeledInput.jsx","webpack://antd/./components/input/calculateNodeHeight.js","webpack://antd/./components/_util/raf.js","webpack://antd/./components/input/inputProps.js","webpack://antd/./components/input/ResizableTextArea.jsx","webpack://antd/./components/input/TextArea.jsx","webpack://antd/./components/input/Input.jsx","webpack://antd/./components/input/Group.jsx","webpack://antd/./components/_util/wave.jsx","webpack://antd/./components/button/buttonTypes.js","webpack://antd/./components/button/button.jsx","webpack://antd/./components/button/button-group.jsx","webpack://antd/./components/button/index.js","webpack://antd/./components/input/Search.jsx","webpack://antd/./components/input/Password.jsx","webpack://antd/./components/input/index.js","webpack://antd/./components/auto-complete/InputElement.jsx","webpack://antd/./components/auto-complete/index.jsx","webpack://antd/./components/alert/index.jsx","webpack://antd/./components/avatar/Avatar.jsx","webpack://antd/./components/avatar/index.js","webpack://antd/./components/back-top/index.jsx","webpack://antd/./components/badge/ScrollNumber.jsx","webpack://antd/./components/_util/colors.js","webpack://antd/./components/_util/type.js","webpack://antd/./components/_util/isNumeric.js","webpack://antd/./components/badge/Badge.jsx","webpack://antd/./components/badge/index.js","webpack://antd/./components/vc-dropdown/src/placements.js","webpack://antd/./components/vc-dropdown/src/index.js","webpack://antd/./components/vc-dropdown/src/Dropdown.jsx","webpack://antd/./components/dropdown/getDropdownProps.js","webpack://antd/./components/dropdown/dropdown-button.jsx","webpack://antd/./components/dropdown/dropdown.jsx","webpack://antd/./components/breadcrumb/BreadcrumbItem.jsx","webpack://antd/./components/vc-menu/Divider.jsx","webpack://antd/./components/menu/SubMenu.jsx","webpack://antd/./components/_util/openAnimation.js","webpack://antd/./components/menu/MenuItem.jsx","webpack://antd/./components/menu/index.jsx","webpack://antd/./components/breadcrumb/Breadcrumb.jsx","webpack://antd/./components/breadcrumb/BreadcrumbSeparator.jsx","webpack://antd/./components/breadcrumb/index.js","webpack://antd/./components/vc-calendar/src/date/DateConstants.js","webpack://antd/./components/vc-calendar/src/date/DateTHead.jsx","webpack://antd/./components/vc-calendar/src/util/index.js","webpack://antd/./components/vc-calendar/src/date/DateTBody.jsx","webpack://antd/./components/vc-calendar/src/date/DateTable.jsx","webpack://antd/./components/vc-calendar/src/month/MonthTable.jsx","webpack://antd/./components/vc-calendar/src/mixin/CalendarMixin.js","webpack://antd/./components/vc-calendar/src/mixin/CommonMixin.js","webpack://antd/./components/vc-calendar/src/full-calendar/CalendarHeader.jsx","webpack://antd/./components/vc-calendar/src/FullCalendar.jsx","webpack://antd/./components/vc-checkbox/src/index.js","webpack://antd/./components/vc-checkbox/src/Checkbox.jsx","webpack://antd/./components/radio/Radio.jsx","webpack://antd/./components/radio/Group.jsx","webpack://antd/./components/radio/RadioButton.jsx","webpack://antd/./components/calendar/Header.jsx","webpack://antd/./components/_util/interopDefault.js","webpack://antd/./components/_util/moment-util.js","webpack://antd/./components/calendar/index.jsx","webpack://antd/./components/vc-tabs/src/Sentinel.jsx","webpack://antd/./components/vc-tabs/src/TabPane.jsx","webpack://antd/./components/vc-tabs/src/KeyCode.js","webpack://antd/./components/_util/isValid.js","webpack://antd/./components/vc-tabs/src/Tabs.jsx","webpack://antd/./components/vc-tabs/src/index.js","webpack://antd/./components/vc-tabs/src/utils.js","webpack://antd/./components/vc-tabs/src/TabContent.jsx","webpack://antd/./components/_util/styleChecker.js","webpack://antd/./components/vc-tabs/src/InkTabBarNode.jsx","webpack://antd/./components/vc-tabs/src/TabBarTabsNode.jsx","webpack://antd/./components/vc-tabs/src/TabBarRootNode.jsx","webpack://antd/./components/vc-tabs/src/ScrollableTabBarNode.jsx","webpack://antd/./components/vc-tabs/src/SaveRef.jsx","webpack://antd/./components/vc-tabs/src/ScrollableInkTabBar.jsx","webpack://antd/./components/tabs/TabBar.jsx","webpack://antd/./components/tabs/tabs.jsx","webpack://antd/./components/tabs/index.js","webpack://antd/./components/_util/responsiveObserve.js","webpack://antd/./components/grid/Row.jsx","webpack://antd/./components/row/index.js","webpack://antd/./components/grid/Col.jsx","webpack://antd/./components/col/index.js","webpack://antd/./components/card/Card.jsx","webpack://antd/./components/card/Meta.jsx","webpack://antd/./components/card/Grid.jsx","webpack://antd/./components/card/index.js","webpack://antd/./components/vc-collapse/src/commonProps.js","webpack://antd/./components/vc-collapse/src/PanelContent.jsx","webpack://antd/./components/vc-collapse/src/Panel.jsx","webpack://antd/./components/vc-collapse/src/openAnimationFactory.js","webpack://antd/./components/vc-collapse/src/Collapse.jsx","webpack://antd/./components/vc-collapse/index.js","webpack://antd/./components/collapse/Collapse.jsx","webpack://antd/./components/collapse/CollapsePanel.jsx","webpack://antd/./components/collapse/index.js","webpack://antd/./components/carousel/index.jsx","webpack://antd/./components/vc-cascader/Menus.jsx","webpack://antd/./components/vc-cascader/index.js","webpack://antd/./components/vc-cascader/Cascader.jsx","webpack://antd/./components/cascader/index.jsx","webpack://antd/./components/checkbox/Checkbox.jsx","webpack://antd/./components/checkbox/Group.jsx","webpack://antd/./components/checkbox/index.js","webpack://antd/./components/vc-calendar/src/month/MonthPanel.jsx","webpack://antd/./components/vc-calendar/src/year/YearPanel.jsx","webpack://antd/./components/vc-calendar/src/decade/DecadePanel.jsx","webpack://antd/./components/vc-calendar/src/calendar/CalendarHeader.jsx","webpack://antd/./components/vc-calendar/src/calendar/TodayButton.jsx","webpack://antd/./components/vc-calendar/src/calendar/OkButton.jsx","webpack://antd/./components/vc-calendar/src/calendar/TimePickerButton.jsx","webpack://antd/./components/vc-calendar/src/calendar/CalendarFooter.jsx","webpack://antd/./components/vc-calendar/src/date/DateInput.jsx","webpack://antd/./components/vc-calendar/src/util/toTime.js","webpack://antd/./components/vc-calendar/src/Calendar.jsx","webpack://antd/./components/vc-calendar/src/index.js","webpack://antd/./components/vc-calendar/index.js","webpack://antd/./components/vc-calendar/src/MonthCalendar.jsx","webpack://antd/./components/_util/createChainedFunction.js","webpack://antd/./components/vc-calendar/src/picker/placements.js","webpack://antd/./components/vc-calendar/src/Picker.jsx","webpack://antd/./components/date-picker/utils.js","webpack://antd/./components/date-picker/createPicker.js","webpack://antd/./components/vc-time-picker/Header.jsx","webpack://antd/./components/vc-time-picker/Select.jsx","webpack://antd/./components/vc-time-picker/Combobox.jsx","webpack://antd/./components/vc-time-picker/Panel.jsx","webpack://antd/./components/vc-time-picker/placements.js","webpack://antd/./components/vc-time-picker/TimePicker.jsx","webpack://antd/./components/time-picker/index.jsx","webpack://antd/./components/date-picker/wrapPicker.js","webpack://antd/./components/vc-calendar/src/range-calendar/CalendarPart.jsx","webpack://antd/./components/vc-calendar/src/RangeCalendar.jsx","webpack://antd/./components/tag/Tag.jsx","webpack://antd/./components/tag/CheckableTag.jsx","webpack://antd/./components/tag/index.js","webpack://antd/./components/date-picker/interface.js","webpack://antd/./components/date-picker/InputIcon.js","webpack://antd/./components/date-picker/RangePicker.jsx","webpack://antd/./components/date-picker/WeekPicker.jsx","webpack://antd/./components/date-picker/index.js","webpack://antd/./components/divider/index.jsx","webpack://antd/./components/dropdown/index.js","webpack://antd/./components/vc-form/src/createFormField.jsx","webpack://antd/./components/vc-form/src/utils.js","webpack://antd/./components/vc-form/src/createFieldsStore.jsx","webpack://antd/./components/vc-form/src/createBaseForm.jsx","webpack://antd/./components/vc-form/src/createForm.jsx","webpack://antd/./components/vc-form/src/createDOMForm.jsx","webpack://antd/./components/form/FormItem.jsx","webpack://antd/./components/form/constants.jsx","webpack://antd/./components/form/Form.jsx","webpack://antd/./components/form/index.jsx","webpack://antd/./components/form-model/FormItem.jsx","webpack://antd/./components/form-model/Form.jsx","webpack://antd/./components/form-model/index.jsx","webpack://antd/./components/vc-m-feedback/src/PropTypes.jsx","webpack://antd/./components/vc-m-feedback/index.js","webpack://antd/./components/vc-m-feedback/src/TouchFeedback.jsx","webpack://antd/./components/vc-input-number/src/InputHandler.js","webpack://antd/./components/vc-input-number/src/index.js","webpack://antd/./components/input-number/index.jsx","webpack://antd/./components/layout/layout.jsx","webpack://antd/./components/layout/Sider.jsx","webpack://antd/./components/layout/index.js","webpack://antd/./components/spin/Spin.jsx","webpack://antd/./components/spin/index.js","webpack://antd/./components/pagination/MiniSelect.jsx","webpack://antd/./components/vc-pagination/Pager.jsx","webpack://antd/./components/vc-pagination/KeyCode.js","webpack://antd/./components/vc-pagination/Options.jsx","webpack://antd/./components/vc-pagination/Pagination.jsx","webpack://antd/./components/pagination/Pagination.jsx","webpack://antd/./components/pagination/index.js","webpack://antd/./components/list/Item.jsx","webpack://antd/./components/list/index.jsx","webpack://antd/./components/modal/locale.js","webpack://antd/./components/locale-provider/index.jsx","webpack://antd/./components/vc-notification/Notice.jsx","webpack://antd/./components/vc-notification/Notification.jsx","webpack://antd/./components/vc-notification/index.js","webpack://antd/./components/message/index.js","webpack://antd/./components/vc-mentions/src/util.js","webpack://antd/./components/vc-mentions/src/Option.jsx","webpack://antd/./components/vc-mentions/src/DropdownMenu.jsx","webpack://antd/./components/vc-mentions/src/placement.js","webpack://antd/./components/vc-mentions/src/KeywordTrigger.jsx","webpack://antd/./components/vc-mentions/src/mentionsProps.js","webpack://antd/./components/vc-mentions/src/Mentions.jsx","webpack://antd/./components/vc-mentions/index.js","webpack://antd/./components/mentions/index.jsx","webpack://antd/./components/vc-dialog/LazyRenderBox.jsx","webpack://antd/./components/_util/getScrollBarSize.js","webpack://antd/./components/_util/switchScrollingEffect.js","webpack://antd/./components/vc-dialog/IDialogPropTypes.js","webpack://antd/./components/vc-dialog/Dialog.jsx","webpack://antd/./components/_util/setStyle.js","webpack://antd/./components/_util/Portal.js","webpack://antd/./components/_util/PortalWrapper.js","webpack://antd/./components/vc-dialog/DialogWrap.jsx","webpack://antd/./components/vc-dialog/index.js","webpack://antd/./components/modal/Modal.jsx","webpack://antd/./components/modal/ActionButton.jsx","webpack://antd/./components/modal/ConfirmDialog.jsx","webpack://antd/./components/modal/confirm.js","webpack://antd/./components/modal/index.js","webpack://antd/./components/notification/index.js","webpack://antd/./components/popconfirm/index.jsx","webpack://antd/./components/popover/index.jsx","webpack://antd/./components/radio/index.js","webpack://antd/./components/vc-rate/src/Star.jsx","webpack://antd/./components/vc-rate/src/Rate.jsx","webpack://antd/./components/vc-rate/index.js","webpack://antd/./components/vc-rate/src/util.js","webpack://antd/./components/rate/index.jsx","webpack://antd/./components/vc-slider/src/common/Track.jsx","webpack://antd/./components/vc-slider/src/common/Steps.jsx","webpack://antd/./components/vc-slider/src/common/Marks.jsx","webpack://antd/./components/vc-slider/src/Handle.jsx","webpack://antd/./components/vc-slider/src/utils.js","webpack://antd/./components/vc-slider/src/common/createSlider.jsx","webpack://antd/./components/vc-slider/src/Slider.jsx","webpack://antd/./components/vc-slider/src/Range.jsx","webpack://antd/./components/slider/index.jsx","webpack://antd/./components/statistic/Number.jsx","webpack://antd/./components/statistic/Statistic.jsx","webpack://antd/./components/statistic/utils.js","webpack://antd/./components/statistic/Countdown.jsx","webpack://antd/./components/statistic/index.js","webpack://antd/./components/_util/isFlexSupported.js","webpack://antd/./components/vc-steps/Steps.jsx","webpack://antd/./components/vc-steps/Step.jsx","webpack://antd/./components/vc-steps/index.js","webpack://antd/./components/steps/index.jsx","webpack://antd/./components/vc-switch/PropTypes.js","webpack://antd/./components/vc-switch/index.js","webpack://antd/./components/vc-switch/Switch.jsx","webpack://antd/./components/switch/index.jsx","webpack://antd/./components/vc-table/src/utils.js","webpack://antd/./components/vc-table/src/ColumnManager.jsx","webpack://antd/./components/vc-table/src/ColGroup.jsx","webpack://antd/./components/vc-table/src/TableHeaderRow.jsx","webpack://antd/./components/vc-table/src/TableHeader.jsx","webpack://antd/./components/vc-table/src/TableCell.jsx","webpack://antd/./components/vc-table/src/TableRow.jsx","webpack://antd/./components/vc-table/src/ExpandIcon.jsx","webpack://antd/./components/vc-table/src/ExpandableRow.jsx","webpack://antd/./components/vc-table/src/BaseTable.jsx","webpack://antd/./components/vc-table/src/HeadTable.jsx","webpack://antd/./components/vc-table/src/BodyTable.jsx","webpack://antd/./components/vc-table/src/ExpandableTable.jsx","webpack://antd/./components/vc-table/src/Table.jsx","webpack://antd/./components/vc-table/index.js","webpack://antd/./components/vc-table/src/Column.jsx","webpack://antd/./components/vc-table/src/ColumnGroup.jsx","webpack://antd/./components/table/FilterDropdownMenuWrapper.jsx","webpack://antd/./components/table/interface.js","webpack://antd/./components/table/util.js","webpack://antd/./components/table/filterDropdown.jsx","webpack://antd/./components/table/SelectionBox.jsx","webpack://antd/./components/table/SelectionCheckboxAll.jsx","webpack://antd/./components/table/Column.jsx","webpack://antd/./components/table/ColumnGroup.jsx","webpack://antd/./components/table/createBodyRow.jsx","webpack://antd/./components/_util/transButton.jsx","webpack://antd/./components/table/Table.jsx","webpack://antd/./components/table/index.jsx","webpack://antd/./components/transfer/search.jsx","webpack://antd/./components/vc-lazy-load/src/utils/parentScroll.js","webpack://antd/./components/vc-lazy-load/src/utils/getElementPosition.js","webpack://antd/./components/vc-lazy-load/src/LazyLoad.jsx","webpack://antd/./components/vc-lazy-load/index.js","webpack://antd/./components/vc-lazy-load/src/utils/inViewport.js","webpack://antd/./components/transfer/ListItem.jsx","webpack://antd/./components/transfer/renderListBody.jsx","webpack://antd/./components/transfer/list.jsx","webpack://antd/./components/_util/triggerEvent.js","webpack://antd/./components/transfer/operation.jsx","webpack://antd/./components/transfer/index.jsx","webpack://antd/./components/tree/Tree.jsx","webpack://antd/./components/tree/util.js","webpack://antd/./components/tree/DirectoryTree.jsx","webpack://antd/./components/tree/index.jsx","webpack://antd/./components/vc-util/Dom/class.js","webpack://antd/./components/vc-tree-select/src/strategies.js","webpack://antd/./components/vc-tree-select/src/util.js","webpack://antd/./components/vc-tree-select/src/SelectTrigger.jsx","webpack://antd/./components/vc-tree-select/src/Base/BaseSelector.jsx","webpack://antd/./components/vc-tree-select/src/Selector/SingleSelector.jsx","webpack://antd/./components/vc-tree-select/src/SearchInput.jsx","webpack://antd/./components/vc-tree-select/src/Selector/MultipleSelector/Selection.jsx","webpack://antd/./components/vc-tree-select/src/Selector/MultipleSelector/index.jsx","webpack://antd/./components/vc-tree-select/src/Base/BasePopup.jsx","webpack://antd/./components/vc-tree-select/src/Popup/SinglePopup.jsx","webpack://antd/./components/vc-tree-select/src/Popup/MultiplePopup.jsx","webpack://antd/./components/vc-tree-select/src/SelectNode.jsx","webpack://antd/./components/vc-tree-select/src/Select.jsx","webpack://antd/./components/vc-tree-select/src/index.js","webpack://antd/./components/vc-tree-select/index.js","webpack://antd/./components/tree-select/index.jsx","webpack://antd/./components/tree-select/interface.jsx","webpack://antd/./components/timeline/TimelineItem.jsx","webpack://antd/./components/timeline/Timeline.jsx","webpack://antd/./components/timeline/index.jsx","webpack://antd/./components/upload/index.jsx","webpack://antd/./components/version/index.js","webpack://antd/./components/vc-drawer/src/IDrawerPropTypes.js","webpack://antd/./components/vc-drawer/src/utils.js","webpack://antd/./components/vc-drawer/src/Drawer.js","webpack://antd/./components/vc-drawer/src/index.js","webpack://antd/./components/drawer/index.jsx","webpack://antd/./components/skeleton/Avatar.jsx","webpack://antd/./components/skeleton/Title.jsx","webpack://antd/./components/skeleton/Paragraph.jsx","webpack://antd/./components/skeleton/index.jsx","webpack://antd/./components/comment/index.jsx","webpack://antd/./components/config-provider/index.jsx","webpack://antd/./components/result/index.jsx","webpack://antd/./components/result/noFound.jsx","webpack://antd/./components/result/serverError.jsx","webpack://antd/./components/result/unauthorized.jsx","webpack://antd/./components/descriptions/Col.jsx","webpack://antd/./components/descriptions/index.jsx","webpack://antd/./components/page-header/index.jsx","webpack://antd/./components/space/index.jsx","webpack://antd/./components/index.js","webpack://antd/./components/vc-slick/src/default-props.js","webpack://antd/./components/vc-slick/src/initial-state.js","webpack://antd/./components/vc-slick/src/utils/innerSliderUtils.js","webpack://antd/./components/vc-slick/src/track.js","webpack://antd/./components/vc-slick/src/dots.js","webpack://antd/./components/vc-slick/src/arrows.js","webpack://antd/./components/vc-slick/src/inner-slider.js","webpack://antd/./components/vc-slick/src/slider.js","webpack://antd/./components/vc-slick/src/index.js","webpack://antd/./components/vc-tree/src/Tree.jsx","webpack://antd/./components/vc-tree/src/index.js","webpack://antd/./components/affix/style/index.js","webpack://antd/./components/avatar/style/index.js","webpack://antd/./components/breadcrumb/style/index.js","webpack://antd/./components/menu/style/index.js","webpack://antd/./components/tabs/style/index.js","webpack://antd/./components/row/style/index.js","webpack://antd/./components/col/style/index.js","webpack://antd/./components/time-picker/style/index.js","webpack://antd/./components/tag/style/index.js","webpack://antd/./components/popover/style/index.js","webpack://antd/./components/progress/style/index.js","webpack://antd/./index.js","webpack://antd/./components sync ^\\.\\/[^_][\\w-]+\\/style\\/index\\.js","webpack://antd/./components/alert/style/index.js","webpack://antd/./components/anchor/style/index.js","webpack://antd/./components/auto-complete/style/index.js","webpack://antd/./components/back-top/style/index.js","webpack://antd/./components/badge/style/index.js","webpack://antd/./components/base/style/index.js","webpack://antd/./components/calendar/style/index.js","webpack://antd/./components/card/style/index.js","webpack://antd/./components/carousel/style/index.js","webpack://antd/./components/cascader/style/index.js","webpack://antd/./components/collapse/style/index.js","webpack://antd/./components/comment/style/index.js","webpack://antd/./components/config-provider/style/index.js","webpack://antd/./components/date-picker/style/index.js","webpack://antd/./components/descriptions/style/index.js","webpack://antd/./components/divider/style/index.js","webpack://antd/./components/drawer/style/index.js","webpack://antd/./components/form-model/style/index.js","webpack://antd/./components/form/style/index.js","webpack://antd/./components/icon/style/index.js","webpack://antd/./components/input-number/style/index.js","webpack://antd/./components/layout/style/index.js","webpack://antd/./components/list/style/index.js","webpack://antd/./components/locale-provider/style/index.js","webpack://antd/./components/mentions/style/index.js","webpack://antd/./components/message/style/index.js","webpack://antd/./components/modal/style/index.js","webpack://antd/./components/notification/style/index.js","webpack://antd/./components/page-header/style/index.js","webpack://antd/./components/popconfirm/style/index.js","webpack://antd/./components/rate/style/index.js","webpack://antd/./components/result/style/index.js","webpack://antd/./components/skeleton/style/index.js","webpack://antd/./components/slider/style/index.js","webpack://antd/./components/space/style/index.js","webpack://antd/./components/statistic/style/index.js","webpack://antd/./components/steps/style/index.js","webpack://antd/./components/switch/style/index.js","webpack://antd/./components/table/style/index.js","webpack://antd/./components/timeline/style/index.js","webpack://antd/./components/transfer/style/index.js","webpack://antd/./components/tree-select/style/index.js","webpack://antd/./components/tree/style/index.js","webpack://antd/./components/upload/style/index.js","webpack://antd/./components/version/style/index.js"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__15__","__WEBPACK_EXTERNAL_MODULE__17__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","ObjProto","toString","hasOwn","FN_MATCH_REGEXP","getType","fn","type","match","getNativeType","constructor","isInteger","Number","isFinite","Math","floor","isArray","Array","isFunction","toType","obj","writable","this","required","def","undefined","validateType","isPlainObject","warn","_vueTypes_name","withDefault","validator","silent","typeToCheck","valid","expectedType","namePrefix","some","map","join","VuePropTypes","Function","currentDefaults","func","Boolean","bool","String","string","number","array","integer","custom","validatorFn","warnMsg","TypeError","oneOf","arr","msg","allowedTypes","reduce","ret","v","indexOf","push","length","instanceOf","instanceConstructor","oneOfType","hasCustomValidators","nativeChecks","concat","typesStr","arrayOf","values","every","objectOf","keys","shape","requiredKeys","filter","valueKeys","req","_vueTypes_isLoose","set","camelizeRE","camelize","str","replace","_","toUpperCase","parseStyleText","cssText","camel","res","listDelimiter","propertyDelimiter","split","forEach","item","tmp","k","trim","hasProp","instance","prop","$options","propsData","getScopedSlots","ele","data","scopedSlots","getSlots","componentOptions","$vnode","children","slots","child","isEmptyElement","slot","getSlot","self","options","$scopedSlots","$slots","getAllChildren","getSlotOptions","fnOptions","Ctor","getOptionProps","props","entries","$props","filterProps","getComponentFromProp","execute","$createElement","h","temp","context","getPropsData","slotScope","slotsProp","attrs","tag","getValueByProp","getAttrs","getKey","getEvents","events","listeners","on","getDataEvents","getListeners","$listeners","getClass","tempCls","staticClass","cls","classNames","getStyle","style","staticStyle","text","isStringElement","filterEmpty","initDefaultProps","propTypes","defaultProps","Error","mergeProps","args","slice","arguments","isValidElement","element","_assign","_assign2","default","target","source","_defineProperty","_defineProperty2","configurable","methods","setState","state","callback","newState","$data","getDerivedStateFromProps","$forceUpdate","$nextTick","__emit","eventName","event","classes","arg","argType","inner","apply","nestRE","mergeFn","a","b","objs","aa","bb","nestedKey","test","ConfigConsumerProps","getPrefixCls","suffixCls","customizePrefixCls","renderEmpty","defaultRenderEmpty","twoToneColorPalette","primaryColor","secondaryColor","Icon","displayName","definitions","add","_len","icons","_key","icon","theme","clear","colors","setTwoToneColors","_ref","getTwoToneColors","render","_$props","width","height","fill","Vue","component","customCache","Set","svgBaseProps","focusable","fillTester","outlineTester","twoToneTester","setTwoToneColor","VueIcon","allIcons","renderIcon","locale","Component","viewBox","spin","twoToneColor","rotate","tabIndex","warning","classString","svgClassString","svgStyle","msTransform","transform","innerSvgProps","class","iconTabIndex","iProps","computedType","themeInName","result","getThemeFromTypeName","withThemeSuffix","removeTypeTheme","newType","alias","renderInnerNode","PropTypes","any","role","LocaleReceiver","componentName","scriptUrl","extraCommonProps","document","createElement","has","script","setAttribute","body","appendChild","functional","restProps","slotsMap","content","iconProps","install","use","Base","cloneVNode","vnode","deep","cloned","elm","asyncFactory","isStatic","isComment","fnContext","fnScopeId","isCloned","cloneVNodes","vnodes","len","cloneElement","nodeProps","node","nativeOn","directives","ref","domProps","tempStyle","antPortal","directive","inserted","el","binding","parentNode","componentUpdated","antInput","antDecorator","base","antDirective","_from","_from2","arr2","warned","message","process","method","warningOnce","_iterator2","_interopRequireDefault","_symbol2","_typeof","fields","shallowCopy","onlyTreeNodeWarned","warnOnlyTreeNode","arrDel","list","clone","index","splice","arrAdd","posToArr","pos","getPosition","level","isTreeNode","getNodeChildren","isCheckDisabled","disabled","disableCheckbox","checkable","traverseTreeNodes","treeNodes","processNode","parent","childList","parentPos","subNode","subIndex","mapChildren","getDragNodesKeys","eventKey","dragNodesKeys","calcDropPosition","treeNode","clientY","$refs","selectHandle","getBoundingClientRect","top","bottom","des","max","calcSelectedKeys","selectedKeys","multiple","internalProcessProps","omit","className","convertDataToTree","treeData","processor","processProps","childrenNodes","convertTreeToEntities","initWrapper","processEntity","onProcessFinished","posEntities","Map","keyEntities","wrapper","entity","parseCheckedKeys","keyProps","checkedKeys","halfCheckedKeys","checked","halfChecked","conductCheck","keyList","isCheck","checkStatus","conductUp","everyChildChecked","someChildChecked","childKey","childChecked","childHalfChecked","conductDown","conduct","checkedKeyList","halfCheckedKeyList","conductExpandParent","expandedKeys","global","vendors","suffix","raf","caf","last","id","queue","_now","now","next","setTimeout","cp","cancelled","e","round","handle","cancel","polyfill","requestAnimationFrame","cancelAnimationFrame","addEventListenerWrap","eventType","cb","option","addDOMEventListener","_isIterable3","_getIterator3","_arr","_n","_d","_e","_s","_i","done","err","sliceIterator","noop","getTransitionProps","transitionName","opt","beforeEnter","enter","afterEnter","leave","afterLeave","appear","transitionProps","css","animate","directiveName","nextTick","componentInstance","update","oldVnode","oldBinding","find","unbind","defaultLocale","inject","localeData","getLocale","defaultLocaleData","antLocale","localeFromContext","getLocaleCode","localeCode","exist","objA","objB","compare","compareContext","keysA","keysB","bHasOwnProperty","idx","valueA","valueB","vendorPrefix","iterator","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","jsCssMap","Webkit","Moz","ms","O","getVendorPrefix","getTransformName","setTransitionProperty","transitionProperty","setTransform","getComputedStyleX","matrix2d","matrix3d","forceRelayout","elem","originalStyle","display","offsetHeight","getScroll","w","documentElement","getScrollLeft","getScrollTop","getOffset","box","x","y","doc","ownerDocument","docElem","left","clientLeft","clientTop","getClientPosition","defaultView","parentWindow","isWindow","getDocument","nodeType","_RE_NUM_NO_PX","RegExp","RE_POS","LEFT","getOffsetDirection","dir","useCssRight","useCssBottom","oppositeOffsetDirection","setLeftTop","offset","position","presetH","presetV","horizontalProperty","verticalProperty","oppositeHorizontalProperty","oppositeVerticalProperty","originalTransition","originalOffset","old","preset","off","_dir","_off","setTransform$1","originalXY","getComputedStyle","getPropertyValue","matrix","parseFloat","getTransformXY","resultXY","xy","match2d","setTransformXY","each","isBorderBoxFn","cs","computedStyle","val","rsLeft","pixelLeft","BOX_MODELS","swap","getPBMWidth","which","j","cssProp","domUtils","getParent","host","getWH","ex","extra","viewportWidth","viewportHeight","docWidth","docHeight","borderBoxValue","isBorderBox","cssBoxValue","borderBoxValueOrIsBorderBox","refWin","win","documentElementProp","compatMode","cssShow","visibility","getWHIgnoreDisplay","_key2","offsetWidth","mix","to","from","first","charAt","includeMargin","utils","getWindow","ignoreShake","oriOffset","oLeft","toFixed","oTop","tLeft","tTop","useCssTransform","setOffset","overflow","getWindowScrollLeft","getWindowScrollTop","merge","getOffsetParent","positionStyle","nodeName","toLowerCase","getParent$1","getVisibleRectForElement","alwaysByViewport","visibleRect","right","Infinity","navigator","userAgent","clientWidth","min","clientHeight","originalPosition","scrollX","scrollY","documentWidth","scrollWidth","documentHeight","scrollHeight","bodyStyle","overflowX","innerWidth","overflowY","innerHeight","isAncestorFixed","maxVisibleWidth","maxVisibleHeight","getRegion","outerWidth","outerHeight","getAlignOffset","region","align","V","H","getElFuturePos","elRegion","refNodeRegion","points","targetOffset","p1","p2","diff","isFailX","elFuturePos","isFailY","flip","reg","flipOffset","convertOffset","offsetLen","parseInt","substring","normalizeOffset","doAlign","tgtRegion","isTgtRegionVisible","newOverflowCfg","fail","newElRegion","adjustX","adjustY","newPoints","newOffset","newTargetOffset","isCompleteFailX","_newPoints","_newOffset","_newTargetOffset","isCompleteFailY","isStillFailX","isStillFailY","_newPoints2","size","resizeWidth","resizeHeight","adjustForViewport","alignElement","refNode","targetRegion","isOutOfVisibleRect","tgtPoint","pageX","pageY","clientX","pointInView","getOwnPropertyDescriptors","defineProperties","_objectSpread2","__getOffsetParent","__getVisibleRectForElement","isSimilarValue","val1","val2","int1","int2","abs","getElement","getPoint","point","Align","childrenProps","isRequired","monitorBufferTime","monitorWindowResize","aligned","mounted","prevProps","forceAlign","startMonitorWindowResize","updated","prev","reAlign","$el","sourceRect","lastElement","currentElement","lastPoint","currentPoint","preRect","stopMonitorWindowResize","clonedeep","beforeDestroy","resizeHandler","bufferMonitor","timer","clearTimeout","bufferFn","buffer","addEventListener","remove","activeElement","alignPoint","container","contains","focus","restoreFocus","visible","hiddenClassName","prefixCls","divProps","LazyRenderBox","mixins","BaseMixin","getClassNameFromAlign","getRootDomNode","destroyPopupOnHide","getContainer","animation","maskAnimation","maskTransitionName","mask","zIndex","popupClassName","popupStyle","stretch","domEl","stretchChecked","targetWidth","targetHeight","rootNode","getPopupDomNode","setStretchSize","removeChild","onAlign","popupDomNode","currentAlignClassName","getClassName","$ele","popupInstance","getTargetElement","getAlignTarget","getMaskTransitionName","getTransitionName","getPopupElement","sizeStyle","minHeight","minWidth","alignInstance","popupInnerProps","getZIndexStyle","useTransition","transitionEvent","beforeLeave","PopupInner","getMaskElement","maskElement","maskTransition","isPointsEq","a1","a2","isAlignPoint","autoMount","autoDestroy","forceRender","getComponent","renderComponent","removeContainer","_component","$destroy","ready","componentEl","com","setComponent","$root","_com","ALL_HANDLERS","action","showAction","hideAction","getPopupClassNameFromAlign","afterPopupVisibleChange","popup","popupPlacement","builtinPlacements","popupTransitionName","popupAnimation","mouseEnterDelay","mouseLeaveDelay","focusDelay","blurDelay","getPopupContainer","maskClosable","popupAlign","popupVisible","defaultPopupVisible","provide","vcTriggerContext","savePopupRef","dialogContext","fireEvents","prevPopupVisible","sPopupVisible","watch","deactivated","setPopupVisible","updatedCal","clearDelayTimer","clearOutsideHandler","mouseDownTimeout","currentDocument","clickOutsideHandler","isClickToHide","isContextmenuToShow","onDocumentClick","touchOutsideHandler","contextmenuOutsideHandler1","onContextmenuClose","contextmenuOutsideHandler2","onMouseenter","delaySetPopupVisible","onMouseMove","setPoint","onMouseleave","onPopupMouseenter","onPopupMouseleave","relatedTarget","onFocus","isFocusToShow","focusTime","Date","onMousedown","preClickTime","onTouchstart","preTouchTime","onBlur","isBlurToHide","onContextmenu","preventDefault","close","onClick","preTime","isClickToShow","domEvent","nextVisible","onPopupMouseDown","hasPopupMouseDown","handleGetPopupClassFromAlign","placement","getAlignPopupClassName","getPopupAlign","placementStr","baseAlign","getAlignFromPlacement","savePopup","mouseProps","isMouseEnterToShow","mouseenter","isMouseLeaveToHide","mouseleave","mousedown","touchstart","popupProps","Popup","popupContainer","popupVisibleChange","delayS","delay","delayTimer","requestAnimationTimeout","cancelAnimationTimeout","createTwoChains","childOriginEvents","forcePopupAlign","newChildProps","contextmenu","click","mousemove","blur","trigger","ContainerRender","Trigger","isObject","toNumber","nativeMax","nativeMin","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","thisArg","leadingEdge","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","flush","autoAdjustOverflow","placements","topLeft","leftTop","topRight","rightTop","bottomRight","rightBottom","bottomLeft","leftBottom","overlay","Tooltip","defaultVisible","afterVisibleChange","overlayStyle","overlayClassName","getTooltipContainer","destroyTooltipOnHide","arrowContent","tipId","Content","extraProps","triggerProps","visibleChange","autoAdjustOverflowEnabled","autoAdjustOverflowDisabled","getOverflowOptions","abstractTooltipProps","model","title","configProvider","sVisible","onVisibleChange","isNoTitle","$emit","tooltip","getPlacements","arrowPointAtCenter","config","arrowWidth","horizontalArrowShift","verticalArrowShift","placementMap","rcPlacements","getDisabledCompatibleChildren","__ANT_BUTTON","__ANT_SWITCH","__ANT_CHECKBOX","picked","omitted","splitObject","spanStyle","cursor","block","buttonStyle","pointerEvents","getOverlay","onPopupAlign","domNode","rect","transformOrigin","openClassName","getContextPopupContainer","childCls","tooltipProps","ToolTip","availablePrefixs","lastTime","prefix","currTime","getTime","timeToCall","getRequestAnimationFrame","frame","start","timeout","baseSet","path","baseGetTag","getPrototype","isObjectLike","funcProto","objectProto","funcToString","objectCtorString","proto","T","fileToObject","file","lastModified","lastModifiedDate","uid","percent","originFileObj","genPercentAdd","getFileItem","fileList","matchKey","removeFileItem","removed","isImageFileType","isImageUrl","url","thumbUrl","extension","filename","filenameWithoutSuffix","exec","extname","previewImage","Promise","resolve","canvas","ctx","getContext","img","Image","onload","drawWidth","drawHeight","offsetX","offsetY","drawImage","dataURL","toDataURL","src","URL","createObjectURL","store","USE_SYMBOL","freeGlobal","freeSelf","PropsTypes","UploadFile","includes","ShowUploadListInterface","showRemoveIcon","showPreviewIcon","loose","UploadLocale","uploading","removeFile","downloadFile","uploadError","previewFile","UploadProps","defaultFileList","directory","headers","showUploadList","accept","beforeUpload","listType","supportServerRender","customRequest","withCredentials","openFileDialogOnClick","transformFile","UploadListProps","items","progressAttr","showDownloadIcon","START_EVENT_NAME_MAP","transitionstart","transition","WebkitTransition","MozTransition","OTransition","msTransition","animationstart","WebkitAnimation","MozAnimation","OAnimation","msAnimation","END_EVENT_NAME_MAP","transitionend","animationend","startEvents","endEvents","eventListener","removeEventListener","EVENT_NAME_MAP","baseEventName","baseEvents","styleName","detectEvents","TransitionEvents","addStartEventListener","startEvent","removeStartEventListener","addEndEventListener","endEvent","removeEndEventListener","core","version","__e","today","backToToday","ok","month","year","timeSelect","dateSelect","weekSelect","monthSelect","yearSelect","decadeSelect","yearFormat","dateFormat","dayFormat","dateTimeFormat","monthBeforeYear","previousMonth","nextMonth","previousYear","nextYear","previousDecade","nextDecade","previousCentury","nextCentury","isCssAnimationSupported","Event","capitalPrefixes","prefixes","getStyleProperty","fixBrowserByTimeout","transitionDelay","transitionDuration","animationDelay","animationDuration","rcEndAnimTimeout","rcEndListener","clearBrowserBugTimeout","cssAnimation","endCallback","nameIsObj","activeClassName","active","end","nodeClasses","rcAnimTimeout","stop","setTransition","PRESENTED_IMAGE_DEFAULT","xmlns","fillRule","fillOpacity","cx","cy","rx","ry","Empty","image","description","imageStyle","contentLocale","alt","imageNode","PRESENTED_IMAGE_SIMPLE","DefaultEmptyImg","stroke","__g","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","P","Attributes","MapShim","getIndex","entry","class_1","__entries__","delete","_a","isBrowser","global$1","requestAnimationFrame$1","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","leadingCall","trailingCall","resolvePending","proxy","timeoutCallback","timeStamp","throttle","addObserver","observer","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","observe","attributes","characterData","subtree","disconnect","_b","propertyName","getInstance","instance_","defineConfigurable","getWindowOf","emptyRect","createRectInit","toFloat","getBordersSize","styles","positions","getHTMLElementContentRect","paddings","positions_1","getPaddings","horizPad","vertPad","boxSizing","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","broadcastRect","ResizeObserverEntry","rectInit","Constr","contentRect","DOMRectReadOnly","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","Element","observations","unobserve","clearActive","_this","observation","WeakMap","ResizeObserver","Constructor","triggerType","re","ClassList","classList","removeMatching","toggle","force","getAttribute","shift","baseGet","defaultValue","inheritAttrs","Dragger","progressTimer","sFileList","dragState","clearProgressTimer","onStart","targetItem","status","nextFileList","fileIndex","findIndex","onChange","File","env","TEST_IE","autoUpdateProgress","onSuccess","response","xhr","JSON","parse","onProgress","onError","error","onReject","handleRemove","onRemove","then","removedFileList","upload","abort","handleManualRemove","uploadRef","info","onFileDrop","reBeforeUpload","stateFileList","uniqBy","clearInterval","getPercent","curPercent","setInterval","renderUploadList","propLocale","uploadListProps","pick","vcUploadProps","progress","success","reject","$attrs","uploadList","Upload","dragCls","uploadButtonCls","uploadButton","log","console","isIconDefinition","normalizeAttrs","acc","MiniMap","collection","generate","rootProps","getSecondaryColor","withSuffix","it","getRawTag","objectToString","symToStringTag","baseIsNative","getValue","other","lang","placeholder","rangePlaceholder","CalendarLocale","timePickerLocale","TimePickerLocale","filterFn","childrenKeyName","foundItem","createDesc","IObject","defined","assignValue","baseAssignValue","customizer","isNew","newValue","arrayLikeKeys","baseKeys","isArrayLike","isLength","isKey","stringToPath","isSymbol","descriptor","protoProps","staticProps","getDisplayName","WrappedComponent","wrapWithConnect","tempProps","__propsSymbol__","ProxyWrappedComponent","getProxyWrappedInstance","wrappedInstance","wrapProps","componentWillReceiveProps","slotsKey","TreeNode","__ANT_TREE_NODE","expanded","selected","loaded","loading","dragOver","dragOverGapTop","dragOverGapBottom","isLeaf","selectable","dataRef","switcherIcon","label","dragNodeHighlight","vcTree","vcTreeNode","registerTreeNode","syncLoadData","onSelectorClick","onNodeClick","isSelectable","onSelect","onCheck","onSelectorDoubleClick","onNodeDoubleClick","isDisabled","onNodeSelect","onNodeCheck","isCheckable","onMouseEnter","onNodeMouseEnter","onMouseLeave","onNodeMouseLeave","onContextMenu","onNodeContextMenu","onDragStart","onNodeDragStart","stopPropagation","dataTransfer","setData","onDragEnter","onNodeDragEnter","onDragOver","onNodeDragOver","onDragLeave","onNodeDragLeave","onDragEnd","onNodeDragEnd","onDrop","onNodeDrop","onExpand","onNodeExpand","originList","targetList","getNodeState","isLeaf2","loadData","hasChildren","treeDisabled","treeCheckable","onNodeLoad","treeSelectable","renderSwitcher","switcherCls","renderCheckbox","$custom","renderSelector","showIcon","treeIcon","draggable","wrapClass","$icon","currentIcon","currentTitle","$title","aria-grabbed","renderChildren","openTransitionName","openAnimation","renderTreeNode","animProps","nodeList","$children","data-expanded","filterTreeNode","Pagination","DatePicker","TimePicker","Calendar","Table","filterTitle","filterConfirm","filterReset","selectAll","selectInvert","sortTitle","expand","collapse","Modal","okText","cancelText","justOkText","Popconfirm","Transfer","titles","searchPlaceholder","itemUnit","itemsUnit","Text","edit","copy","copied","PageHeader","back","draggerProps","hide","$export","own","out","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","B","IS_WRAP","W","expProto","C","virtual","R","U","bitmap","baseKeysIn","validProgress","handleGradient","strokeColor","direction","rest","backgroundImage","gradients","tempArr","formatKey","isNaN","sort","sortGradient","Line","successPercent","strokeWidth","strokeLinecap","backgroundProps","background","percentStyle","borderRadius","successPercentStyle","successSegment","enhancer","paths","pathStyle","prevTimeStamp","mixedType","trailColor","trailWidth","circlePropTypes","gapPosition","gapDegree","circleDefaultProps","gradientSeed","stripPercentToNumber","toArray","symArray","getPathStyles","radius","beginPositionX","beginPositionY","endPositionX","endPositionY","pathString","PI","strokeDasharray","strokeDashoffset","created","gradientId","getStokeList","percentList","strokeColorList","stackPtg","ptg","color","opacity","gradient","pathFirst","x1","y1","x2","y2","stop-color","reverse","statusColorMap","normal","exception","getPercentage","successPtg","Circle","progressStatus","circleSize","circleStyle","fontSize","circleWidth","gapPos","gapDeg","isGradient","wrapperClassName","ProgressStatuses","ProgressType","ProgressSize","ProgressProps","format","showInfo","getPercentNumber","getProgressStatus","renderProcessInfo","textFormatter","percentNumber","iconType","progressInfo","lineProps","circleProps","progressProps","Progress","items_per_page","jump_to","jump_to_confirm","page","prev_page","next_page","prev_5","next_5","prev_3","next_3","en_US","$keys","enumBugKeys","px","random","propertyIsEnumerable","$at","iterated","_t","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","run","marker","runClearTimeout","Item","browser","argv","versions","addListener","once","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","cwd","chdir","umask","ListCache","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","__data__","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","eq","nativeCreate","getNative","isKeyable","baseIsArguments","isArguments","stubFalse","freeExports","freeModule","Buffer","isBuffer","reIsUint","freeProcess","nodeUtil","types","DataView","toSource","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ArrayBuffer","ctorString","castPath","toKey","baseMatches","baseMatchesProperty","identity","UA","isIE9","isTextInputType","expectsLowerCase","makeMap","onCompositionStart","composing","onCompositionEnd","createEvent","initEvent","dispatchEvent","modifiers","lazy","vmodel","RenderEmpty","injections","renderHtml","baseClone","CLONE_DEEP_FLAG","arrayMap","baseUnset","copyObject","customOmitClone","flatRest","getAllKeysIn","isDeep","baseIsRegExp","baseUnary","nodeIsRegExp","isRegExp","_extends","assign","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","_construct","Parent","Class","_wrapNativeSuper","_cache","Wrapper","formatRegExp","convertFieldsError","errors","field","stringify","isEmptyValue","isNativeStringType","asyncSerialArray","arrLength","original","AsyncValidationError","_Error","subClass","superClass","asyncMap","objArr","_pending","flattenObjArr","firstFields","objArrKeys","objArrLength","total","results","pending","count","asyncParallelArray","complementError","rule","oe","fullField","deepMerge","messages","pattern","email","hex","regexp","date","getMonth","getYear","rules","whitespace","ruleType","range","num","lastIndex","mismatch","type$1","validators","dateObject","newMessages","invalid","Schema","_messages","z","validate","source_","oc","messages$1","series","getValidationMethod","errorFields","doIt","defaultField","addFullfield","schema","suppressWarning","fieldsSchema","fieldSchema","errs","finalErrors","asyncValidator","_errors","complete","messageIndex","register","camel2hyphen","obj2mq","mq","features","feature","isDimension","query","q","valueOf","ceil","shared","copyright","TAG","stat","Iterators","TO_STRING_TAG","DOMIterables","NAME","Collection","LIBRARY","wksExt","$Symbol","g","overArg","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","objValue","webpackPolyfill","deprecate","baseIsTypedArray","nodeIsTypedArray","isTypedArray","arrayFilter","stubArray","nativeGetSymbols","getSymbols","symbol","Uint8Array","arrayBuffer","byteLength","reIsDeepProp","reIsPlainProp","baseToString","toFinite","remainder","reHasUnicode","asciiSize","hasUnicode","unicodeSize","baseFindIndex","baseIteratee","toInteger","predicate","fromIndex","normalViewBox","newViewBox","outline","twotone","getNode","getIcon","AccountBookFill","AlertFill","AlipaySquareFill","AliwangwangFill","AlipayCircleFill","AmazonCircleFill","AndroidFill","AmazonSquareFill","ApiFill","AppstoreFill","AudioFill","AppleFill","BackwardFill","BankFill","BehanceCircleFill","BellFill","BehanceSquareFill","BookFill","BoxPlotFill","BugFill","CalculatorFill","BulbFill","BuildFill","CalendarFill","CameraFill","CarFill","CaretDownFill","CaretLeftFill","CaretRightFill","CarryOutFill","CaretUpFill","CheckCircleFill","CheckSquareFill","ChromeFill","CiCircleFill","ClockCircleFill","CloseCircleFill","CloudFill","CloseSquareFill","CodeSandboxSquareFill","CodeSandboxCircleFill","CodeFill","CompassFill","CodepenCircleFill","CodepenSquareFill","ContactsFill","ControlFill","ContainerFill","CopyFill","CopyrightCircleFill","CreditCardFill","CrownFill","CustomerServiceFill","DashboardFill","DeleteFill","DiffFill","DingtalkCircleFill","DatabaseFill","DingtalkSquareFill","DislikeFill","DollarCircleFill","DownCircleFill","DownSquareFill","DribbbleCircleFill","DribbbleSquareFill","DropboxCircleFill","DropboxSquareFill","EnvironmentFill","EditFill","ExclamationCircleFill","EuroCircleFill","ExperimentFill","EyeInvisibleFill","EyeFill","FacebookFill","FastBackwardFill","FastForwardFill","FileAddFill","FileExcelFill","FileExclamationFill","FileImageFill","FileMarkdownFill","FilePdfFill","FilePptFill","FileTextFill","FileWordFill","FileUnknownFill","FileZipFill","FileFill","FilterFill","FireFill","FlagFill","FolderAddFill","FolderFill","FolderOpenFill","ForwardFill","FrownFill","FundFill","FunnelPlotFill","GiftFill","GithubFill","GitlabFill","GoldenFill","GoogleCircleFill","GooglePlusCircleFill","GooglePlusSquareFill","GoogleSquareFill","HddFill","HeartFill","HighlightFill","HomeFill","HourglassFill","Html5Fill","IdcardFill","IeCircleFill","IeSquareFill","InfoCircleFill","InstagramFill","InsuranceFill","InteractionFill","InterationFill","LayoutFill","LeftCircleFill","LeftSquareFill","LikeFill","LockFill","LinkedinFill","MailFill","MedicineBoxFill","MediumCircleFill","MediumSquareFill","MehFill","MessageFill","MinusCircleFill","MinusSquareFill","MobileFill","MoneyCollectFill","PauseCircleFill","PayCircleFill","NotificationFill","PhoneFill","PictureFill","PieChartFill","PlayCircleFill","PlaySquareFill","PlusCircleFill","PlusSquareFill","PoundCircleFill","PrinterFill","ProfileFill","ProjectFill","PushpinFill","PropertySafetyFill","QqCircleFill","QqSquareFill","QuestionCircleFill","ReadFill","ReconciliationFill","RedEnvelopeFill","RedditCircleFill","RedditSquareFill","RestFill","RightCircleFill","RocketFill","RightSquareFill","SafetyCertificateFill","SaveFill","ScheduleFill","SecurityScanFill","SettingFill","ShopFill","ShoppingFill","SketchCircleFill","SketchSquareFill","SkinFill","SlackCircleFill","SlackSquareFill","SkypeFill","SlidersFill","SmileFill","SnippetsFill","SoundFill","StarFill","StepBackwardFill","StepForwardFill","StopFill","SwitcherFill","TabletFill","TagFill","TagsFill","TaobaoCircleFill","TaobaoSquareFill","ToolFill","ThunderboltFill","TrademarkCircleFill","TwitterCircleFill","TrophyFill","TwitterSquareFill","UnlockFill","UpCircleFill","UpSquareFill","UsbFill","WalletFill","VideoCameraFill","WarningFill","WeiboCircleFill","WechatFill","WindowsFill","YahooFill","WeiboSquareFill","YuqueFill","YoutubeFill","ZhihuSquareFill","ZhihuCircleFill","AccountBookOutline","AlertOutline","AlipayCircleOutline","AliwangwangOutline","AndroidOutline","ApiOutline","AppstoreOutline","AudioOutline","AppleOutline","BackwardOutline","BankOutline","BellOutline","BehanceSquareOutline","BookOutline","BoxPlotOutline","BulbOutline","BugOutline","CalculatorOutline","BuildOutline","CalendarOutline","CameraOutline","CarOutline","CaretDownOutline","CaretLeftOutline","CaretRightOutline","CarryOutOutline","CheckCircleOutline","CaretUpOutline","CheckSquareOutline","ChromeOutline","ClockCircleOutline","CloseCircleOutline","CloudOutline","CloseSquareOutline","CodeOutline","CodepenCircleOutline","CompassOutline","ContactsOutline","ContainerOutline","ControlOutline","CopyOutline","CreditCardOutline","CrownOutline","CustomerServiceOutline","DashboardOutline","DeleteOutline","DiffOutline","DatabaseOutline","DislikeOutline","DownCircleOutline","DownSquareOutline","DribbbleSquareOutline","EnvironmentOutline","EditOutline","ExclamationCircleOutline","ExperimentOutline","EyeInvisibleOutline","EyeOutline","FacebookOutline","FastBackwardOutline","FastForwardOutline","FileAddOutline","FileExcelOutline","FileExclamationOutline","FileImageOutline","FileMarkdownOutline","FilePptOutline","FileTextOutline","FilePdfOutline","FileZipOutline","FileOutline","FilterOutline","FileWordOutline","FireOutline","FileUnknownOutline","FlagOutline","FolderAddOutline","FolderOutline","FolderOpenOutline","ForwardOutline","FrownOutline","FundOutline","FunnelPlotOutline","GiftOutline","GithubOutline","GitlabOutline","HeartOutline","HddOutline","HighlightOutline","HomeOutline","HourglassOutline","Html5Outline","IdcardOutline","InfoCircleOutline","InstagramOutline","InsuranceOutline","InteractionOutline","InterationOutline","LayoutOutline","LeftCircleOutline","LeftSquareOutline","LikeOutline","LinkedinOutline","LockOutline","MedicineBoxOutline","MehOutline","MailOutline","MessageOutline","MinusCircleOutline","MinusSquareOutline","MobileOutline","MoneyCollectOutline","PauseCircleOutline","PayCircleOutline","NotificationOutline","PhoneOutline","PictureOutline","PieChartOutline","PlaySquareOutline","PlayCircleOutline","PlusCircleOutline","PrinterOutline","PlusSquareOutline","ProfileOutline","ProjectOutline","PushpinOutline","PropertySafetyOutline","QuestionCircleOutline","ReadOutline","ReconciliationOutline","RedEnvelopeOutline","RestOutline","RightCircleOutline","RocketOutline","RightSquareOutline","SafetyCertificateOutline","ScheduleOutline","SaveOutline","SecurityScanOutline","SettingOutline","ShoppingOutline","SkinOutline","SkypeOutline","SlackSquareOutline","SlidersOutline","SmileOutline","SnippetsOutline","SoundOutline","StarOutline","StepBackwardOutline","StepForwardOutline","StopOutline","SwitcherOutline","TagOutline","TabletOutline","ShopOutline","TagsOutline","TaobaoCircleOutline","ToolOutline","ThunderboltOutline","TrophyOutline","UnlockOutline","UpCircleOutline","UpSquareOutline","UsbOutline","VideoCameraOutline","WalletOutline","WarningOutline","WechatOutline","WeiboCircleOutline","WindowsOutline","YahooOutline","WeiboSquareOutline","YuqueOutline","YoutubeOutline","AlibabaOutline","AlignCenterOutline","AlignLeftOutline","AlignRightOutline","AlipayOutline","AliyunOutline","AmazonOutline","AntCloudOutline","ApartmentOutline","AntDesignOutline","AreaChartOutline","ArrowLeftOutline","ArrowDownOutline","ArrowUpOutline","ArrowsAltOutline","ArrowRightOutline","AuditOutline","BarChartOutline","BarcodeOutline","BarsOutline","BgColorsOutline","BehanceOutline","BlockOutline","BoldOutline","BorderBottomOutline","BorderLeftOutline","BorderOuterOutline","BorderInnerOutline","BorderRightOutline","BorderHorizontalOutline","BorderTopOutline","BorderVerticleOutline","BorderOutline","BranchesOutline","CheckOutline","CiOutline","CloseOutline","CloudDownloadOutline","CloudServerOutline","CloudSyncOutline","CloudUploadOutline","ClusterOutline","CodepenOutline","CodeSandboxOutline","ColumHeightOutline","ColumnWidthOutline","ColumnHeightOutline","CoffeeOutline","CopyrightOutline","DashOutline","DeploymentUnitOutline","DesktopOutline","DingdingOutline","DisconnectOutline","DollarOutline","DoubleRightOutline","DotChartOutline","DoubleLeftOutline","DownloadOutline","DribbbleOutline","DropboxOutline","EllipsisOutline","EnterOutline","EuroOutline","ExceptionOutline","ExclamationOutline","ExportOutline","FallOutline","FileDoneOutline","FileSyncOutline","FileProtectOutline","FileSearchOutline","FileJpgOutline","FontColorsOutline","FontSizeOutline","ForkOutline","FormOutline","FullscreenExitOutline","FullscreenOutline","GatewayOutline","DownOutline","DragOutline","GlobalOutline","GooglePlusOutline","GoogleOutline","HeatMapOutline","GoldOutline","HistoryOutline","IeOutline","InboxOutline","ImportOutline","InfoOutline","ItalicOutline","IssuesCloseOutline","KeyOutline","LaptopOutline","LeftOutline","LinkOutline","LineChartOutline","LineHeightOutline","LineOutline","Loading3QuartersOutline","LoadingOutline","LoginOutline","LogoutOutline","ManOutline","MediumOutline","MediumWorkmarkOutline","MenuUnfoldOutline","MenuFoldOutline","MenuOutline","MinusOutline","MonitorOutline","MoreOutline","OrderedListOutline","NumberOutline","PauseOutline","PercentageOutline","PaperClipOutline","PicCenterOutline","PicLeftOutline","PlusOutline","PicRightOutline","PoundOutline","PoweroffOutline","PullRequestOutline","QqOutline","QuestionOutline","RadarChartOutline","QrcodeOutline","RadiusBottomleftOutline","RadiusBottomrightOutline","RadiusUpleftOutline","RadiusUprightOutline","RadiusSettingOutline","RedditOutline","RedoOutline","ReloadOutline","RetweetOutline","RightOutline","RiseOutline","RollbackOutline","SafetyOutline","RobotOutline","SearchOutline","ScanOutline","ScissorOutline","SelectOutline","ShakeOutline","ShareAltOutline","ShoppingCartOutline","ShrinkOutline","SlackOutline","SmallDashOutline","SolutionOutline","SketchOutline","SortDescendingOutline","SortAscendingOutline","StockOutline","SwapLeftOutline","SwapRightOutline","StrikethroughOutline","SwapOutline","SyncOutline","TableOutline","TeamOutline","TaobaoOutline","ToTopOutline","TrademarkOutline","TransactionOutline","TwitterOutline","UnderlineOutline","UndoOutline","UnorderedListOutline","UpOutline","UploadOutline","UserAddOutline","UsergroupAddOutline","UserOutline","UserDeleteOutline","UsergroupDeleteOutline","VerticalAlignBottomOutline","VerticalAlignMiddleOutline","VerticalAlignTopOutline","VerticalRightOutline","VerticalLeftOutline","WifiOutline","ZhihuOutline","WeiboOutline","WomanOutline","ZoomInOutline","AccountBookTwoTone","ZoomOutOutline","AlertTwoTone","ApiTwoTone","AppstoreTwoTone","BankTwoTone","AudioTwoTone","BellTwoTone","BookTwoTone","BoxPlotTwoTone","BugTwoTone","BulbTwoTone","CalculatorTwoTone","BuildTwoTone","CalendarTwoTone","CameraTwoTone","CarTwoTone","CarryOutTwoTone","CheckCircleTwoTone","CheckSquareTwoTone","ClockCircleTwoTone","CloseCircleTwoTone","CloudTwoTone","CloseSquareTwoTone","CodeTwoTone","CompassTwoTone","ContactsTwoTone","ContainerTwoTone","ControlTwoTone","CopyTwoTone","CreditCardTwoTone","CrownTwoTone","CustomerServiceTwoTone","DashboardTwoTone","DeleteTwoTone","DiffTwoTone","DatabaseTwoTone","DislikeTwoTone","DownCircleTwoTone","DownSquareTwoTone","EnvironmentTwoTone","EditTwoTone","ExclamationCircleTwoTone","ExperimentTwoTone","EyeInvisibleTwoTone","EyeTwoTone","FileAddTwoTone","FileExclamationTwoTone","FileImageTwoTone","FileExcelTwoTone","FileMarkdownTwoTone","FilePdfTwoTone","FilePptTwoTone","FileTextTwoTone","FileUnknownTwoTone","FileZipTwoTone","FileWordTwoTone","FileTwoTone","FilterTwoTone","FireTwoTone","FolderAddTwoTone","FlagTwoTone","FolderTwoTone","FolderOpenTwoTone","FrownTwoTone","FundTwoTone","FunnelPlotTwoTone","GiftTwoTone","HddTwoTone","HeartTwoTone","HighlightTwoTone","HomeTwoTone","HourglassTwoTone","Html5TwoTone","IdcardTwoTone","InfoCircleTwoTone","InsuranceTwoTone","InteractionTwoTone","InterationTwoTone","LayoutTwoTone","LeftCircleTwoTone","LeftSquareTwoTone","LikeTwoTone","LockTwoTone","MailTwoTone","MedicineBoxTwoTone","MehTwoTone","MessageTwoTone","MinusCircleTwoTone","MinusSquareTwoTone","MobileTwoTone","PauseCircleTwoTone","MoneyCollectTwoTone","NotificationTwoTone","PhoneTwoTone","PictureTwoTone","PlayCircleTwoTone","PlaySquareTwoTone","PieChartTwoTone","PlusCircleTwoTone","PlusSquareTwoTone","PoundCircleTwoTone","PrinterTwoTone","ProfileTwoTone","ProjectTwoTone","PushpinTwoTone","PropertySafetyTwoTone","QuestionCircleTwoTone","ReconciliationTwoTone","RedEnvelopeTwoTone","RestTwoTone","RightCircleTwoTone","RocketTwoTone","RightSquareTwoTone","SafetyCertificateTwoTone","SaveTwoTone","ScheduleTwoTone","SecurityScanTwoTone","SettingTwoTone","ShopTwoTone","ShoppingTwoTone","SkinTwoTone","SlidersTwoTone","SmileTwoTone","SnippetsTwoTone","SoundTwoTone","StarTwoTone","StopTwoTone","SwitcherTwoTone","TabletTwoTone","TagTwoTone","TagsTwoTone","ToolTwoTone","TrademarkCircleTwoTone","UnlockTwoTone","TrophyTwoTone","UpCircleTwoTone","ThunderboltTwoTone","UpSquareTwoTone","UsbTwoTone","VideoCameraTwoTone","WalletTwoTone","WarningTwoTone","CiTwoTone","CopyrightTwoTone","DollarTwoTone","EuroTwoTone","GoldTwoTone","CanlendarTwoTone","baseMerge","createAssigner","srcIndex","getBody","responseText","XMLHttpRequest","onprogress","formData","FormData","append","onerror","getError","open","setRequestHeader","send","acceptedFiles","acceptedFilesArray","fileName","mimeType","baseMimeType","validType","traverseFileTree","files","isAccepted","_traverseFileTree","isFile","fullPath","webkitRelativePath","isDirectory","dirReader","createReader","sequence","readEntries","entryList","loopFiles","entryItem","webkitGetAsEntry","upLoadPropTypes","componentTag","AjaxUploader","reqs","getUid","_isMounted","uploadFiles","reset","fileInputRef","onKeyDown","_file","attrAccept","partition","successFiles","errorFiles","postFiles","post","before","processedFile","processedFileType","originFile","request","defaultRequest","transformedFile","requestOption","Tag","keydown","drop","dragover","tagProps","webkitdirectory","IFRAME_STYLE","IframeUploader","onLoad","getIframeDocument","getElementsByTagName","innerHTML","endUpload","getFormInputNode","lastIndexOf","startUpload","getIframeNode","iframeRef","contentDocument","getFormNode","getElementById","getFormDataNode","getFileForMultiple","getIframeHTML","domain","domainScript","domainInput","initIframeSrc","initIframe","iframeNode","contentWindow","write","onchange","updateIframeWH","formNode","dataSpan","inputs","createDocumentFragment","input","submit","iframeStyle","uploadProps","multipart","AjaxUpload","IframeUpload","uploaderRef","componentProps","ComponentUploader","aFunction","that","is","toIObject","arrayIndexOf","IE_PROTO","names","cof","redefine","$iterCreate","setToStringTag","ITERATOR","BUGGY","returnThis","DEFAULT","IS_SET","FORCED","IteratorPrototype","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","dPs","createDict","iframeDocument","iframe","lt","Properties","hiddenKeys","getOwnPropertyNames","classof","getIteratorMethod","ARG","tryGet","callee","arrayEach","baseAssign","baseAssignIn","cloneBuffer","copyArray","copySymbols","copySymbolsIn","getAllKeys","initCloneArray","initCloneByTag","initCloneObject","isMap","isSet","keysIn","cloneableTags","bitmask","stack","isFlat","isFull","isArr","isFunc","stacked","subValue","baseTimes","isIndex","inherited","isArg","isBuff","isType","skipIndexes","allocUnsafe","arrayPush","getSymbolsIn","baseGetAllKeys","keysFunc","symbolsFunc","cloneArrayBuffer","typedArray","byteOffset","baseCreate","isPrototype","baseTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","isBinary","MediaQueryDispatch","iteratee","symbolProto","symbolToString","flatten","overRest","setToString","otherArgs","baseSetToString","shortOut","baseIsEqualDeep","baseIsEqual","SetCache","arraySome","cacheHas","equalFunc","isPartial","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","setCacheAdd","setCacheHas","cache","srcValue","baseHasIn","hasPath","hasFunc","fromRight","nested","baseRepeat","castSlice","stringSize","stringToArray","nativeCeil","chars","charsLength","baseFor","createBaseFor","wrapCallback","ne","_EventObject2","_ret","useCapture","capture","attachEvent","detachEvent","_EventObject","__importDefault","mod","generate_1","presetPrimaryColors","red","volcano","orange","gold","yellow","lime","green","cyan","blue","geekblue","purple","magenta","grey","presetPalettes","primary","isMobile","mobileRE","tabletRE","opts","ua","tablet","featureDetect","maxTouchPoints","arrA","arrB","createFind","baseHas","createPadding","strLength","matches","selector","debounce","baseUniq","basePick","FileReader","Blob","previewDataUrl","handlePreview","preview","handleDownload","download","handleClose","thumbnail","href","rel","loadingProgress","infoUploadingClass","linkProps","removeIcon","downloadIcon","downloadOrDelete","listItemNameClass","previewIcon","actions","statusText","iconAndPreview","dom","listContainerNameClass","listClassNames","animationDirection","transitionGroupProps","createAggregator","$Object","desc","DESCRIPTORS","getKeys","gOPS","pIE","toObject","$assign","A","K","aLen","isEnum","toLength","toAbsoluteIndex","IS_INCLUDES","$this","TO_STRING","charCodeAt","ObjectProto","addToUnscopables","step","_k","Arguments","META","KEY","$fails","wks","wksDefine","enumKeys","_create","gOPNExt","$GOPD","$GOPS","$DP","gOPD","gOPN","$JSON","_stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","D","protoDesc","wrap","$defineProperty","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","FAILS_ON_PRIMITIVES","replacer","$replacer","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","meta","NEED","fastKey","getWeak","onFreeze","windowNames","getWindowNames","nativeObjectToString","isOwn","unmasked","isArrayIter","createProperty","getIterFn","iter","arrayLike","mapfn","mapping","iterFn","ArrayProto","SAFE_CLOSING","riter","skipClosing","safe","isIterable","getIterator","getNanoSeconds","hrtime","loadTime","moduleLoadTime","nodeLoadTime","upTime","performance","hr","uptime","_EventBaseObject2","_objectAssign2","commonProps","isNullOrUndefined","eventNormalizers","fix","nativeEvent","charCode","keyCode","metaKey","ctrlKey","deltaX","deltaY","delta","wheelDelta","axis","wheelDeltaY","wheelDeltaX","detail","HORIZONTAL_AXIS","VERTICAL_AXIS","eventDoc","button","scrollLeft","scrollTop","fromElement","toElement","retTrue","retFalse","DomEventObject","isNative","cancelBubble","isDefaultPrevented","defaultPrevented","getPreventDefault","returnValue","fixFns","normalizer","srcElement","fixFn","EventBaseObjectProto","returnFalse","returnTrue","EventBaseObject","currentTarget","isEventObject","isPropagationStopped","isImmediatePropagationStopped","stopImmediatePropagation","halt","immediate","propIsEnumerable","test1","test2","fromCharCode","test3","letter","shouldUseNative","tinycolor2_1","getHue","hsv","light","hue","getSaturation","saturation","patterns","pColor","toHsv","colorString","toHexString","trimLeft","trimRight","tinyCounter","mathRound","mathMin","mathMax","mathRandom","tinycolor","rgb","named","matchers","rgba","hsl","hsla","hsva","hex8","parseIntFromHex","convertHexToDecimal","hex6","hex4","hex3","stringInputToObject","isValidCSSUnit","bound01","substr","convertToPercentage","hsvToRgb","hue2rgb","hslToRgb","boundAlpha","inputToRGB","_originalInput","_r","_g","_roundA","_format","_gradientType","gradientType","_ok","_tc_id","rgbToHsl","rgbToHsv","rgbToHex","allow3Char","pad2","rgbaToArgbHex","convertDecimalToHex","desaturate","amount","toHsl","clamp01","saturate","greyscale","lighten","brighten","toRgb","darken","complement","triad","tetrad","splitcomplement","analogous","slices","part","monochromatic","modification","isDark","getBrightness","isLight","isValid","getOriginalInput","getFormat","getAlpha","getLuminance","RsRGB","GsRGB","BsRGB","pow","setAlpha","toHsvString","toHslString","toHex","toHex8","allow4Char","rgbaToHex","toHex8String","toRgbString","toPercentageRgb","toPercentageRgbString","toName","hexNames","toFilter","secondColor","hex8String","secondHex8String","formatSet","formattedString","hasAlpha","_applyModification","_applyCombination","fromRatio","newColor","equals","color1","color2","rgb1","rgb2","readability","c1","c2","isReadable","wcag2","wcag2Parms","parms","validateWCAG2Parms","mostReadable","baseColor","colorList","includeFallbackColors","bestColor","bestScore","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","goldenrod","gray","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","limegreen","linen","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellowgreen","flipped","isOnePointZero","processPercent","isPercentage","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","addedNodes","removedNodes","previousSibling","nextSibling","attributeName","attributeNamespace","oldValue","L","nodeValue","pop","childNodes","u","M","namespaceURI","I","mo_id","J","_period","attributeFilter","attributeOldValue","characterDataOldValue","takeRecords","assocIndexOf","pairs","LARGE_ARRAY_SIZE","isMasked","reIsHostCtor","reIsNative","coreJsData","maskSrcKey","Hash","hashClear","hashDelete","hashGet","hashHas","hashSet","getMapData","typedArrayTags","nativeKeys","nativeKeysIn","isProto","resIndex","cloneDataView","cloneRegExp","cloneSymbol","cloneTypedArray","dataView","reFlags","symbolValueOf","objectCreate","baseIsMap","nodeIsMap","baseIsSet","nodeIsSet","trimmedEndIndex","reTrimStart","reWhitespace","MediaQuery","Util","matchMedia","queries","browserIsIncapable","shouldDegrade","isUnconditional","handler","addHandler","unregister","removeHandler","QueryHandler","handlers","mql","listener","assess","constuctor","qh","destroy","deferSetup","setup","initialised","unmatch","memoizeCapped","rePropName","reEscapeChar","quote","subString","memoize","resolver","memoized","Cache","baseSlice","baseFlatten","isFlattenable","depth","isStrict","spreadableSymbol","isConcatSpreadable","constant","nativeNow","lastCalled","stamp","remaining","findIndexFunc","iterable","baseIsMatch","getMatchData","matchesStrictComparable","matchData","noCustomizer","COMPARE_PARTIAL_FLAG","equalArrays","equalByTag","equalObjects","objectTag","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","mapToArray","setToArray","convert","objProps","objLength","objStacked","skipCtor","objCtor","othCtor","isStrictComparable","hasIn","baseProperty","basePropertyDeep","nativeFloor","rsAstral","rsCombo","rsFitz","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsSeq","rsSymbol","reUnicode","asciiToArray","unicodeToArray","nativeMatches","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","parentElem","nodes","querySelectorAll","assignMergeValue","baseMergeDeep","safeGet","isArrayLikeObject","toPlainObject","mergeFunc","isCommon","isTyped","baseRest","isIterateeCall","assigner","sources","guard","arrayIncludes","arrayIncludesWith","createSet","comparator","outer","computed","seenIndex","baseIndexOf","baseIsNaN","strictIndexOf","basePickBy","arrayAggregator","baseAggregator","initializer","accumulator","baseEach","baseForOwn","createBaseEach","eachFunc","VueResizeObserver","resizeObserver","onComponentUpdated","destroyObserver","onResize","fixedWidth","fixedHeight","throttleByAnimationFrame","requestId","later","throttled","getTargetRect","getFixedTop","placeholderReact","targetRect","offsetTop","getFixedBottom","offsetBottom","TRIGGER_EVENTS","observerEntities","addObserveTarget","affix","affixList","eventHandlers","targetAffix","lazyUpdatePosition","removeObserveTarget","observerEntity","oriObserverEntity","hasAffix","AffixProps","AffixStatus","Affix","affixStyle","placeholderStyle","lastAffix","prevTarget","beforeMount","updatePosition","measure","newTarget","getOffsetTop","getOffsetBottom","fixedNode","placeholderNode","targetNode","fixedTop","fixedBottom","prepareMeasure","easeInOutCubic","cc","scrollTo","duration","startTime","frameFunc","nextScrollTop","pageXOffset","getClientRects","sharpMatcherRegx","AnchorProps","bounds","showInkInFixed","wrapperClass","wrapperStyle","getCurrentAnchor","links","_sPrefixCls","activeLink","antAnchor","registerLink","link","unregisterLink","handleScrollTo","antAnchorContext","scrollContainer","scrollEvent","handleScroll","currentContainer","updateInk","getCurrentActiveLink","linkSections","sharpLinkMatch","maxSection","curr","setCurrentActiveLink","targetElement","animating","currentActiveLink","linkNode","getElementsByClassName","inkNode","inkClass","anchorClass","fixed","maxHeight","anchorContent","AnchorLinkProps","oldVal","handleClick","titleClassName","Anchor","Link","AnchorLink","isSelectOption","isSelectOptGroup","KeyCode","MAC_ENTER","BACKSPACE","TAB","NUM_CENTER","ENTER","SHIFT","CTRL","ALT","PAUSE","CAPS_LOCK","ESC","SPACE","PAGE_UP","PAGE_DOWN","END","HOME","UP","RIGHT","DOWN","PRINT_SCREEN","INSERT","DELETE","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","QUESTION_MARK","N","Q","X","Y","Z","WIN_KEY_RIGHT","CONTEXT_MENU","NUM_ZERO","NUM_ONE","NUM_TWO","NUM_THREE","NUM_FOUR","NUM_FIVE","NUM_SIX","NUM_SEVEN","NUM_EIGHT","NUM_NINE","NUM_MULTIPLY","NUM_PLUS","NUM_MINUS","NUM_PERIOD","NUM_DIVISION","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","NUMLOCK","SEMICOLON","DASH","EQUALS","COMMA","PERIOD","SLASH","APOSTROPHE","SINGLE_QUOTE","OPEN_SQUARE_BRACKET","BACKSLASH","CLOSE_SQUARE_BRACKET","WIN_KEY","MAC_FF_META","WIN_IME","altKey","navigation","computedStyle_","padding","util","current","allowHorizontalScroll","onlyScrollIfNeeded","alignWithTop","alignWithLeft","offsetLeft","offsetRight","containerOffset","ch","cw","containerScroll","diffTop","diffBottom","winScroll","ww","wh","isWin","elemOffset","eh","ew","defaultMapStateToProps","connect","mapStateToProps","shouldSubscribe","finalMapStateToProps","Connect","storeContext","preProps","subscribed","getState","trySubscribe","tryUnsubscribe","handleChange","unsubscribe","nextSubscribed","shallowEqual","subscribe","getWrappedInstance","proxyComponent","applePhone","appleIpod","appleTablet","androidPhone","androidTablet","amazonPhone","amazonTablet","windowsPhone","windowsTablet","otherBlackberry","otherBlackberry10","otherOpera","otherChrome","otherFirefox","regex","apple","phone","ipod","device","amazon","android","windows","blackberry","blackberry10","opera","firefox","chrome","defaultResult","getKeyFromChildrenIndex","menuEventKey","getMenuIdFromSubMenuEventKey","loopMenuItem","isMenuItemGroup","menuAllProps","getWidth","setStyle","styleProperty","attribute","rootPrefixCls","inlineIndent","parentMenu","isSelected","manualRef","subMenuKey","itemIcon","MenuItem","isMenuItem","prevActive","callRef","scrollIntoView","hover","keyPath","getActiveClassName","getSelectedClassName","getDisabledClassName","mouseEvent","paddingLeft","liProps","connected","activeKey","MenuItemGroup","renderMenuItem","renderInnerMenuItem","listClassName","guid","popupPlacementMap","horizontal","vertical","updateDefaultActiveFirst","defaultActiveFirst","menuId","SubMenu","openKeys","openChange","isRootMenu","triggerSubMenuAction","forceSubMenuRender","subMenuOpenDelay","subMenuCloseDelay","popupOffset","isOpen","expandIcon","isSubMenu","handleUpdated","minWidthTimeout","mouseenterTimeout","adjustWidth","menu","menuInstance","onTitleClick","triggerOpenChange","handled","onPopupVisibleChange","subMenuInstance","onTitleMouseEnter","onTitleMouseLeave","onSubMenuClick","addKeyPath","getOpenClassName","saveMenuInstance","isChildrenSelected","loopMenuItemRecursively","subMenuTitle","popupMenu","select","deselect","subPopupMenuProps","internalMenuId","baseProps","haveRendered","haveOpened","transitionAppear","isInlineMode","mouseEvents","titleClickEvents","titleMouseEvents","ariaOwns","titleProps","triggerNode","canUseDOM","DOMWrap","mutationObserver","originalTotalWidth","overflowedItems","menuItemSizes","lastVisibleIndex","setChildrenWidthAndResize","menuUl","subTree","getMenuItemNodes","ul","getOverflowedSubMenuItem","keyPrefix","renderPlaceholder","overflowedIndicator","subMenuProps","ulChildrenNodes","lastOverflowedIndicatorPlaceholder","menuItemNodes","overflowedIndicatorWidth","cur","handleResize","currentSumWidth","liWidth","childNode","overflowed","updateActiveKey","getEventKey","saveRef","instanceArrayKeyIndexMap","instanceArray","getActiveKey","originalActiveKey","found","SubPopupMenu","defaultSelectedKeys","defaultOpenKeys","getFlatInstanceArray","activeItem","onItemHover","onDeselect","selectInfo","onOpenChange","onDestroy","getOpenTransitionName","activeIndex","ci","renderCommonMenuItem","childProps","childListeners","itemHover","domWrapProps","Menu","commonPropsType","initialState","partial","updateMiniStore","selectedKey","innerMenu","changed","processSingle","oneChanged","animationName","Provider","toTitle","getValuePropValue","getPropValue","newChild","isCombobox","combobox","isMultipleOrTags","tags","isMultipleOrTagsOrCombobox","isSingleMode","getMapKey","preventDefaultEvent","findIndexInValueBySingleValue","singleValue","getLabelFromPropsValue","UNSELECTABLE_STYLE","userSelect","WebkitUserSelect","UNSELECTABLE_ATTRIBUTE","unselectable","defaultFilterFn","optionFilterProp","validateOptionValue","isMultiple","ariaId","defaultActiveFirstOption","dropdownMenuStyle","menuItems","inputValue","backfillValue","firstActiveValue","menuItemSelectedIcon","scrollActiveItemToView","lastVisible","rafInstance","lastInputValue","prevVisible","itemComponent","firstActiveItem","scrollIntoViewOpts","menuRef","renderMenu","menuDeselect","menuSelect","popupScroll","getSelectKeys","itemValue","itemKey","menuProps","scroll","activeKeyProps","clonedMenuItems","foundFirst","lastValue","popupFocus","BUILT_IN_PLACEMENTS","dropdownMatchSelectWidth","dropdownAlign","showSearch","dropdownClassName","dropdownStyle","filterOption","empty","dropdownRender","dropdownWidth","saveDropdownMenuRef","saveTriggerRef","setDropdownWidth","cancelRafInstance","getInnerMenu","dropdownMenuRef","getPopupDOMNode","triggerRef","getDropdownElement","newProps","getDropdownPrefixCls","dropdownMenuProps","menuNode","DropdownMenu","getDropdownTransitionName","dropdownVisibleChange","dropdownPrefixCls","popupElement","widthProp","classnames","SelectPropTypes","allowClear","showArrow","optionLabelProp","choiceTransitionName","defaultOpen","labelInValue","maxTagTextLength","maxTagCount","maxTagPlaceholder","tokenSeparators","getInputElement","autoFocus","clearIcon","inputIcon","backfill","notFoundContent","inBrowser","weexPlatform","WXEnvironment","platform","isIE","isEdge","chaining","fns","Select","Option","OptGroup","autoClearSearchValue","saveInputRef","saveInputMirrorRef","saveTopCtrlRef","saveSelectTriggerRef","saveRootRef","saveSelectionRef","_focused","_mouseDown","_options","_empty","optionsInfo","getOptionsInfoFromProps","isDisabledExist","_value","getValueFromProps","_inputValue","getInputValueForCombobox","_open","_optionsInfo","_backfillValue","_skipBuildOptionsInfo","_ariaId","_mirrorInputValue","getDerivedState","inputNode","getInputDOMNode","mirrorNode","getInputMirrorDOMNode","clearFocusTime","clearBlurTime","clearComboboxTime","dropdownContainer","nextProps","prevState","getOptionsFromChildren","useDefaultValue","getLabelFromOption","preState","oldOptionsInfo","onInputChange","isComposing","separators","includesSeparators","nextValue","getValueByInput","fireChange","setOpenState","needFocus","setInputValue","onDropdownVisibleChange","timeoutFocus","updateFocusClassName","onInputKeydown","maybeFocus","isRealOpen","getRealOpenState","openIfHasChildren","comboboxTimer","selectTriggerRef","handleBackfill","removeSelected","onMenuSelect","selectedValue","skipTrigger","fireSearch","fireSelect","onMenuDeselect","menuItemDomNode","offsetParent","onArrowClick","onPlaceholderClick","onPopupFocus","onClearSelection","onChoiceAnimationLeave","getOptionInfoBySingleValue","defaultLabel","valueLabel","defaultValueLabel","getOptionBySingleValue","getOptionsBySingleValue","getValueByLabel","oldLable","getVLBySingleValue","getLabelBySingleValue","getVLForOnChange","vlsS","vls","vl","getDropdownContainer","getPlaceholderElement","hidden","inputClick","inputBlur","arrow","blurTimer","firstOption","findFirstMenuItem","tmpValue","inputFocus","rootRef","_getInputElement","defaultInput","autoComplete","inputElement","inputCls","inputEvents","inputKeydown","topCtrlRef","querySelector","inputRef","inputMirrorRef","getPopupMenuComponent","nextState","hasNewValue","token","splitBySeparators","selectionRef","markMouseDown","markMouseLeave","_filterOption","defaultFilter","focusTimer","isChildDisabled","_valueOptions","renderFilterOptions","childrenKeys","renderFilterOptionsFromChildren","menuItem","unshift","sel","childChildren","innerItems","subChild","childValueSub","childValue","renderTopControlNode","innerNode","showSelectedValue","selectedValueNodes","limitedCountValue","maxTagPlaceholderEl","omittedValues","choiceClassName","topCtrlContainerClick","renderArrow","defaultIcon","renderClear","selectionRefClick","selectionRefFocus","selectionRefBlur","ctrlNode","filterOptions","realOpen","selectionProps","extraSelectionProps","rootCls","SelectTrigger","AbstractSelectProps","Value","SelectValue","SelectProps","boolean","suffixIcon","SECRET_COMBOBOX_MODE_DO_NOT_USE","getNotFoundContent","popupRef","vcSelect","renderSuffixIcon","modeConfig","finalRemoveIcon","finalClearIcon","finalMenuItemSelectedIcon","selectProps","restOption","ClearableInputType","ClearableLabeledInput","inputType","handleReset","addonBefore","addonAfter","readOnly","renderClearIcon","renderSuffix","renderLabeledIcon","getInputClassName","renderInputWithLabel","labeledElement","addonClassName","addonBeforeNode","addonAfterNode","mergedWrapperClassName","renderTextAreaWithClearIcon","renderClearableLabeledInput","HIDDEN_TEXTAREA_STYLE","SIZING_STYLE","computedStyleCache","hiddenTextarea","calculateNodeStyling","useCache","nodeRef","paddingSize","borderSize","sizingStyle","nodeInfo","ids","wrapperRaf","delayFrames","myId","restFrames","internalCallback","pid","inputPrefixCls","maxLength","ResizableTextArea","TextAreaProps","inputProps","autosize","autoSize","textareaStyles","resizeStatus","resizeTextarea","nextFrameActionId","resizeFrameId","resizeOnNextFrame","textArea","minRows","maxRows","uiTextNode","removeAttribute","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","singleRowHeight","calculateNodeHeight","fixFirefoxAutoScroll","currentStart","selectionStart","currentEnd","selectionEnd","setSelectionRange","renderTextArea","otherProps","textareaProps","stateValue","setValue","handleKeyDown","resizableTextArea","resolveOnChange","resizeProps","fixControlledValue","originalInputValue","clearPasswordValueAttribute","removePasswordTimeout","renderInput","change","hasAttribute","TextArea","compact","styleForPesudo","isHidden","bindAnimationEvent","clickWaveTimeoutId","waveColor","insertExtraNode","extraNode","getAttributeName","csp","nonce","borderColor","onTransitionStart","onTransitionEnd","animationStart","resetEffect","tagName","animationStartId","htmlType","ghost","rxTwoCNChar","isTwoCNChar","buttonTypes","sizeMap","large","small","sLoading","hasTwoCNChar","autoInsertSpace","autoInsertSpaceInButton","sizeCls","preVal","delayTimeout","fixTwoCNChar","buttonNode","buttonText","textContent","isNeedInserted","insertSpace","needInserted","buttonProps","iconNode","kids","ButtonGroupProps","Button","Group","ButtonGroup","enterButton","onSearch","renderLoading","renderAddonAfter","btnClassName","enterButtonAsElement","isAntdButton","extendOptions","customizeInputPrefixCls","others","inputClassName","search","pressEnter","Input","ActionMap","visibilityToggle","iconTrigger","antInputDirective","Search","Password","newEvent","AutoCompleteProps","dataSource","AutoComplete","InputElement","childArray","Alert","closable","closeText","afterClose","banner","closing","closed","animationEnd","iconTheme","alertCls","closeIcon","data-show","srcSet","loadError","isImgExist","isMounted","scale","setScale","avatarChildren","avatarNode","childrenWidth","nodeWidth","lastChildrenWidth","lastNodeWidth","handleImgLoadError","lineHeight","childrenNode","transformString","childrenStyle","WebkitTransform","sizeChildrenStyle","Avatar","getDefaultTarget","BackTopProps","visibilityHeight","BackTop","getTarget","activated","getCurrentScrollTop","pageYOffset","scrollToTop","defaultElement","backTopBtn","getNumberArray","ScrollNumberProps","displayComponent","animateStarted","sCount","lastCount","onAnimated","getPositionByNum","currentCount","currentDigit","lastDigit","renderNumberList","childrenToReturn","renderCurrentNumber","renderNumberElement","boxShadow","PresetColorTypes","tuple","isNumeric","BadgeProps","showZero","overflowCount","dot","scrollNumberPrefixCls","numberStyle","isPresetColor","getNumberedDispayCount","badgeCount","getDispayCount","isDot","getScrollNumberTitle","getStyleWithOffset","marginTop","getBadgeClassName","hasStatus","isZero","numberedDispayCount","displayCount","renderStatusText","renderDispayComponent","customNode","renderBadgeNumber","scrollNumberCls","statusStyle","ScrollNumber","customizeScrollNumberPrefixCls","scrollNumber","statusCls","styleWithOffset","statusTextColor","Badge","topCenter","bottomCenter","Dropdown","minOverlayWidthMatchTrigger","getMinOverlayWidthMatchTrigger","getOverlayElement","getMenuElement","extraOverlayProps","getMenuElementOrLambda","overlayNode","triggerHideAction","ButtonTypesProps","DropdownProps","getDropdownProps","DropdownButtonProps","dropdownProps","buttonGroupProps","renderOverlay","dropdownTrigger","triggerActions","DropdownButton","__ANT_BREADCRUMB_ITEM","separator","renderBreadcrumbNode","breadcrumbItem","VcSubMenu","menuPropsContext","subMenu","antdMenuTheme","show","requestAnimationFrameId","appearRequestAnimationFrameId","itemProps","getInlineCollapsed","layoutSiderContext","inlineCollapsed","tooltipTitle","siderCollapsed","sCollapsed","toolTipProps","MenuMode","Divider","ItemGroup","propsUpdating","switchingModeFromInline","sOpenKeys","collapsedChange","leaveAnimationExecutedWhenInlineCollapsed","inlineOpenKeys","restoreModeVerticalFromInline","handleMouseEnter","handleTransitionEnd","widthCollapsed","classNameValue","animVal","iconScaled","handleOpenChange","handleSelect","handleDeselect","setOpenKeys","getRealMenuMode","getMenuOpenAnimation","menuMode","menuOpenAnimation","collapsedWidth","menuClassName","hideMenu","Route","breadcrumbName","routes","params","itemRender","defaultItemRender","route","isLastItem","paramsKeys","replacement","getBreadcrumbName","getPath","addChildPath","childPath","originalPaths","genForRoutes","BreadcrumbItem","crumbs","__ANT_BREADCRUMB_SEPARATOR","Breadcrumb","Separator","BreadcrumbSeparator","veryShortWeekdays","weekDays","firstDayOfWeek","showWeekNumberEl","moment","dateColIndex","DateConstants","day","weekdaysMin","weekdaysShort","showWeekNumber","weekDaysEls","xindex","defaultDisabledTime","disabledHours","disabledMinutes","disabledSeconds","getTodayTime","utcOffset","getTitleString","getTodayTimeStr","getMonthName","syncTime","isMoment","hour","minute","second","millisecond","getTimeConfig","disabledTime","disabledTimeConfig","isAllowedDate","disabledDate","invalidTime","minutes","seconds","isTimeValidByConfig","isTimeValid","formatDate","isSameDay","one","two","isSame","beforeCurrentMonthYear","afterCurrentMonthYear","getIdFromDate","DateTBody","contentRender","dateRender","hoverValue","dayHover","iIndex","jIndex","dateTable","cellClass","weekNumberCellClass","dateClass","todayClass","selectedClass","selectedDateClass","selectedStartDateClass","selectedEndDateClass","inRangeClass","lastMonthDayClass","nextMonthDayClass","disabledClass","firstDisableClass","lastDisableClass","lastDayOfMonthClass","month1","lastMonthDiffDay","lastMonth1","passed","tableHtml","isCurrentWeek","weekNumberCell","isActiveWeek","dateCells","week","isBeforeCurrentMonthYear","isAfterCurrentMonthYear","rangeValue","startValue","endValue","isBefore","isAfter","endOf","dateHtml","aria-selected","aria-disabled","bodyProps","cellSpacing","DateTHead","MonthTable","cellRender","sValue","setAndSelectValue","chooseMonth","months","rowIndex","colIndex","currentMonth","monthsEls","tds","monthData","testValue","classNameMap","cellEl","currentValue","getNowByCurrentStateValue","MomentType","CalendarMixin","sSelectedValue","defaultSelectedValue","cause","setSelectedValue","renderRoot","originalValue","timePicker","focusElement","rootInstance","saveFocusElement","CalendarHeader","yearSelectOffset","yearSelectTotal","showTypeSwitch","headerComponents","onYearChange","onMonthChange","yearSelectElement","monthSelectElement","changeTypeToDate","changeTypeToMonth","switchCls","typeSwitcher","FullCalendar","enUs","defaultType","fullscreen","monthCellRender","dateCellRender","headerComponent","headerRender","showHeader","renderFooter","renderSidebar","CommonMixin","sType","onMonthSelect","setType","header","TheHeader","headerProps","typeChange","valueChange","table","DateTable","dateCellContentRender","monthCellContentRender","Checkbox","defaultChecked","sChecked","shiftKey","eventShiftKey","globalProps","isGroup","radioGroupContext","vcCheckbox","targetChecked","onRadioChange","radioGroup","restListeners","radioProps","wrapperClassString","updatingValue","radioOptions","ev","groupPrefixCls","Radio","HeaderProps","validRange","getYearSelectElement","getCalenderHeaderNode","getMonthSelectElement","rangeStart","rangeEnd","currentYear","newYear","newMonth","onInternalTypeChange","onTypeChange","calenderHeaderNode","getMonthYearSelections","yearReactNode","monthReactNode","monthsShort","getMonthsLocale","getTypeSwitch","onValueChange","headerRenderCustom","typeSwitch","interopDefault","TimeType","isNil","TimesType","TimeOrTimesType","checkValidate","propName","valueFormat","stringToMoment","momentToString","isMomentArray","CalendarMode","sMode","onHeaderValueChange","onHeaderTypeChange","onPanelChange","way","prevValue","getDateRange","startDate","endDate","inRange","isBetween","getDefaultLocale","enUS","monthCellRender2","dateCellRender2","renderCalendar","dateFullCellRender","monthFullCellRender","fullCalendarProps","Header","sentinelStyle","setRef","prevElement","nextElement","destroyInactiveTabPane","tab","sentinelContext","_isActived","isRender","shouldRender","sentinelStart","sentinelEnd","setPanelSentinelStart","setPanelSentinelEnd","panelSentinelStart","panelSentinelEnd","Sentinel","aria-hidden","getDefaultActiveKey","renderTabBar","renderTabContent","navWrapper","tabBarPosition","defaultActiveKey","tabBarGutter","_activeKey","sentinelId","onTabClick","tabBar","tabClick","setActiveKey","onNavKeyDown","eventKeyCode","nextKey","getNextActiveKey","previousKey","onScroll","setSentinelStart","setSentinelEnd","updateSentinelContext","panels","tabContent","contents","Tabs","getActiveIndex","webkitTransform","mozTransform","isTransform3dSupported","atob","getTransformPropValue","MozTransform","isVertical","getTransformByIndex","translate","getMarginStyle","marginDirection","toNum","getTypeValue","tabNode","wrapperNode","animated","animatedWithMargin","getTabPanes","newChildren","animatedStyle","isStyleSupport","styleNameList","isFlexSupported","componentDidUpdate","init","getRef","wrapNode","inkBarNode","activeTab","inkBarNodeStyle","transformSupported","getLeft","inkBar","getTop","inkBarAnimated","renderTabBarNode","rst","gutter","marginProperty","extraContent","topOrBottom","tabBarExtraContentStyle","float","scrollAnimated","prevIcon","nextIcon","tabBarPositionChange","debouncedResize","setNextPrev","scrollToActiveTab","isNextPrevShown","navNode","navTabsContainer","navNodeWH","getScrollWH","containerWH","getOffsetWH","navWrapNodeWH","minOffset","realOffset","setNext","setPrev","getOffsetLT","checkNextPrev","navOffset","navStyle","prevTransitionEnd","navWrap","needToSroll","lastNextPrevShown","activeTabWH","wrapOffset","activeTabOffset","prevClick","navWrapNode","nextClick","showNextPrev","prevButton","nextButton","navClassName","navClasses","SaveRef","TabBarRootNode","ScrollableTabBarNode","TabBarTabsNode","InkTabBarNode","TabBar","tabBarStyle","tabBarExtraContent","tabPosition","prevIconType","nextIconType","renderProps","RenderTabBar","ScrollableInkTabBar","TabPane","hideAdd","removeTab","targetKey","createNewTab","onPrevClick","onNextClick","tabPaneAnimated","tabPane","childrenWithClose","renderTabBarSlot","tabBarProps","contentCls","tabsProps","TabContent","__ANT_TAB_PANE","enquire","mediaQuery","media","responsiveArray","responsiveMap","xs","sm","md","lg","xl","xxl","subscribers","subUid","screens","responsiveObserve","dispatch","pointMap","screen","RowProps","justify","rowContext","ResponsiveObserve","getGutter","breakpoint","rowStyle","marginLeft","marginRight","marginBottom","Row","stringOrNumber","ColSize","span","order","pull","objectOrNumber","ColProps","flex","parseFlex","sizeClassObj","sizeProps","propSize","paddingRight","paddingTop","paddingBottom","Col","bordered","headStyle","hoverable","tabList","tabProps","activeTabKey","defaultActiveTabKey","widerPadding","getAction","onTabChange","isContainGrid","containGrid","__ANT_CARD_GRID","loadingBlockStyle","loadingBlock","hasActiveTabKey","head","tabs","titleDom","extraDom","cover","coverDom","actionDom","avatar","avatarDom","descriptionDom","MetaDetail","Card","Meta","Grid","collapseProps","accordion","destroyInactivePanel","expandIconPosition","panelProps","headerClass","panelKey","_isActive","handleItemClick","handleKeyPress","headerCls","itemCls","aria-expanded","PanelContent","_toArray","currentActiveKey","currentOpenAnimations","openAnimationFactory","stateActiveKey","onClickItem","getNewChild","panelEvents","itemClick","getItems","collapseClassName","Collapse","Panel","CollapsePanel","renderExpandIcon","rcCollapeProps","collapsePanelClassName","rcCollapePanelProps","SlickCarousel","CarouselProps","effect","dots","autoplay","easing","beforeChange","afterChange","accessibility","nextArrow","prevArrow","pauseOnHover","adaptiveHeight","arrows","autoplaySpeed","centerMode","centerPadding","cssEase","dotsClass","fade","focusOnSelect","infinite","initialSlide","lazyLoad","rtl","slide","slidesToShow","slidesToScroll","speed","swipe","swipeToSlide","touchMove","touchThreshold","variableWidth","useCSS","slickGoTo","responsive","dotPosition","Carousel","onWindowResized","innerSlider","slick","getDotPosition","autoPlay","slickNext","slickPrev","goTo","dontAnimate","SlickCarouselProps","activeValue","expandTrigger","dropdownMenuColumnStyle","defaultFieldNames","fieldNames","loadingIcon","getFieldName","getOption","menuIndex","expandProps","dblclick","menuItemCls","expandIconNode","delayOnSelect","isActiveOption","getMenuItemRef","loadingIconNode","getActiveOptions","arrayTreeFilter","getShowOptions","activeOption","optionsLength","Cascader","changeOnSelect","initialValue","sActiveValue","shallowEqualArrays","newValues","getFieldNames","getCurrentLevelOptions","setProps","handlePopupVisibleChange","handleMenuSelect","targetOption","activeOptions","handleItemDoubleClick","currentLevel","currentOptions","currentIndex","nextIndex","menus","emptyMenuClassName","menusProps","itemDoubleClick","Menus","CascaderOptionType","FieldNamesType","CascaderExpandTrigger","ShowSearchType","matchInputWidth","limit","CascaderProps","displayRender","defaultFilterOption","defaultSortFilteredOption","getFilledFieldNames","flattenTree","ancestor","flattenOptions","childrenName","defaultDisplayRender","labels","cachedOptions","inputFocused","picker","highlightKeyword","keyword","defaultRenderFilteredOption","selectedOptions","__IS_FILTERED_OPTION","unwrappedValue","unwrappedSelectedOptions","handleInputFocus","handleInputBlur","handleInputClick","handleInputChange","getLabel","clearSelection","generateFilteredOptions","showSearchRender","filtered","matchCount","arrowCls","pickerCls","tempInputProps","isNotFound","resultListMatchInputWidth","cascaderProps","indeterminate","checkboxGroupContext","checkboxGroup","registerValue","cancelValue","checkboxProps","toggleOption","checkboxClass","registeredValues","getOptions","optionIndex","CheckboxGroup","goYear","changeYear","MonthPanel","footer","yearPanelShow","chooseYear","years","decadePanelShow","startYear","endYear","yeasEls","row","yearData","clickHandler","chooseDecade","preYear","decades","startDecade","endDecade","decadesEls","decadeIndex","decadeData","dStartDecade","dEndDecade","isLast","isNext","goMonth","showIf","condition","showTimePicker","enablePrev","enableNext","disabledMonth","yearPanelReferer","onYearSelect","referer","onDecadeSelect","monthYearElement","selectClassName","timeClassName","showYearPanel","showMonthPanel","monthFormat","showDecadePanel","panel","YearPanel","DecadePanel","localeNow","disabledToday","disabledTodayClass","okDisabled","timePickerDisabled","closeTimePicker","openTimePicker","CalendarFooter","showDateInput","showOk","showToday","getRootDOMNode","footerEl","extraFooter","btnProps","nowEl","TodayButton","okBtn","OkButton","timePickerBtn","TimePickerButton","footerBtn","cachedSelectionStart","cachedSelectionEnd","dateInputInstance","DateInput","inputMode","inputReadOnly","hasFocus","onClear","oldStr","parsed","saveDateInput","dateInput","showClear","invalidClass","goStartMonth","startOf","goEndMonth","goTime","unit","getMomentObjectIfValid","dateInputPlaceholder","focusablePanel","onOk","onDateInputChange","onDateInputSelect","onDateTableSelect","timePickerDefaultValue","onToday","timePickerEle","timePickerOriginProps","timePickerProps","showHour","showSecond","showMinute","defaultOpenValue","dateInputElement","MonthCalendar","handlePanelChange","createChainedFunction","Picker","getCalendarContainer","calendar","sOpen","preSOpen","focusTimeout","focusCalendar","onCalendarKeyDown","closeCalendar","onCalendarSelect","calendarProps","openCalendar","onCalendarOk","onCalendarClear","onCalendarBlur","setOpen","getCalendarElement","calendarEvents","calendarInstance","childrenState","createPicker","TheCalendar","showDate","handleCalendarChange","_prefixCls","renderExtraFooter","panelChange","showTime","calendarClassName","pickerProps","pickerStyle","theCalendarProps","defaultPickerValue","pickerInputClass","vcDatePickerProps","pickerClass","clearText","hourOptions","minuteOptions","secondOptions","allowEmpty","currentSelectPanel","focusOnOpen","getProtoValue","disabledHourOptions","disabledMinuteOptions","disabledSecondOptions","changedValue","getInput","selectedIndex","scrollToSelected","onEsc","handleMouseLeave","perTick","formatOption","disabledOptions","Combobox","use12Hours","isAM","onItemChange","propValue","ampm","onEnterSelectPanel","getHourSelect","hourOptionsAdj","hourAdj","getMinuteSelect","getSecondSelect","getAMPMSelect","AMPMOptions","generateOptions","hideDisabledOptions","toNearestValidTime","hourStep","minuteStep","secondStep","addon","selectionRange","onAmPmChange","onCurrentSelectPanelChange","disabledHours2","esc","validDefaultOpenValue","onKeyDown2","getPanelElement","getPopupClassName","selectColumnCount","renderClearButton","generateShowHourMinuteSecond","getDefaultFormat","getAllowClear","handleOpenClose","renderInputIcon","clockIcon","clearIconPrefixCls","renderTimePicker","pickerClassName","tempAddon","timeProps","DEFAULT_FORMAT","dateTime","LOCALE_FORMAT_MAPPING","wrapPicker","pickerType","handleFocus","handleBlur","dateString","handleOk","transformValue","renderPicker","column","mergedPickerType","mergedFormat","timeFormat","vcTimePickerProps","timePickerCls","timePickerPanelProps","calendarChange","CalendarPart","timePickerDisabledTime","inputChange","inputSelect","shouldShowTimePicker","rangeClassName","tableProps","isArraysEqual","getValueFromSelectedValue","subtract","normalizeAnchor","normalizedValue","extraOptionGen","onInputSelect","sShowTimePicker","fireSelectValueChange","RangeCalendar","seperator","prevSelectedValue","firstSelectedValue","sHoverValue","sPanelTriggerSource","onDatePanelEnter","hasSelectedValue","fireHoverValueChange","onDatePanelLeave","nextSelectedValue","updateHoverPoint","currentHoverTime","nextHoverTime","nextHoverValue","onDayHover","ht","timeList","includesTime","t1","t2","fireValueChange","oriValueIndex","onOpenTimePicker","onCloseTimePicker","isAllowedDateAndTime","onStartInputChange","oargs","onEndInputChange","onStartInputSelect","onEndInputSelect","onStartValueChange","leftValue","onEndValueChange","rightValue","onStartPanelChange","newMode","onEndPanelChange","getStartValue","panelTriggerSource","getEndValue","getEndDisableTime","userSettingDisabledTime","hours","oldDisabledMinutes","olddisabledSeconds","disabledStartTime","disabledEndTime","isMonthYearPanelShow","v1","v2","direct","disabledStartMonth","disabledEndMonth","placeholder1","placeholder2","showOkButton","todayTime","thisMonth","thisYear","isTodayInView","nextMonthOfStart","isClosestMonths","leftPartProps","rightPartProps","TodayButtonNode","todayButtonProps","TimePickerButtonNode","timePickerButtonProps","OkButtonNode","okButtonProps","PresetColorRegex","_visible","setVisible","handleIconClick","getTagStyle","backgroundColor","getTagClassName","renderCloseIcon","CheckableTag","PickerProps","tagPrefixCls","SinglePickerProps","DatePickerProps","MonthPickerProps","RangePickerProps","ranges","WeekPickerProps","getShowDateFromValue","pickerValueAdapter","fixLocale","sShowDate","shallowequal","hidePanel","clearHoverValue","handleShowDateChange","handleHoverChange","handleRangeMouseLeave","handleCalendarInputSelect","handleRangeClick","_tagPrefixCls","customFooter","operations","customizeTagPrefixCls","pickerChangeHandler","startPlaceholder","endPlaceholder","rangeCalendarProps","hoverChange","InputIcon","weekDateRender","dateNode","formatValue","pickerValue","VcCalendar","MonthPicker","RangePicker","WeekPicker","dashed","orientation","orientationPrefix","Field","isFormField","createFormField","argumentContainer","Container","flattenArray","flattenFields","maybeNestedFields","isLeafNode","errorMessage","treeTraverse","tree","subTreeKey","normalizeValidateRules","validateTrigger","validateRules","newItem","getValidateTriggers","pre","getValueFromEvent","getParams","isEmptyObject","hasRules","partOf","internalFlattenFields","FieldsStore","fieldsMeta","validFieldsName","getAllFieldsName","nowFields","nowValues","getValueFromFields","fieldMeta","getFieldMeta","normalize","nowValue","getValidFieldsFullName","dirty","maybePartialName","maybePartialNames","getValidFieldsName","fullName","partialName","getValueProps","valuePropName","getField","fieldValue","getNotCollectedFields","member","fullNames","isArrayValue","suffixNameStartIndex","setFieldsInitialValue","initialValues","flattenedInitialValues","flattenRegisteredFields","setFieldMeta","getAllValues","getFieldsValue","getNestedFields","getFieldValue","getNestedField","getFieldsError","getFieldError","getFieldMember","isFieldValidating","isFieldsValidating","isFieldTouched","isFieldsTouched","createFieldsStore","createBaseForm","validateMessages","onFieldsChange","onValuesChange","mapProps","mapPropsToFields","fieldNameProp","fieldMetaProp","fieldDataProp","formPropName","formName","templateContext","formProps","Form","wrappedComponentRef","fieldsStore","instances","cachedBind","clearedFieldMetaCache","formItems","renderFields","domFields","submitting","updateFields","cleanUpUselessFields","onCollectCommon","originalProps","valuesAll","valuesAllSet","getForm","touched","onCollect","name_","setFieldsAsDirty","newField","setFields","onCollectValidate","validateFieldsInternal","validateFirst","getCacheBind","oriFn","getFieldDecorator","fieldOption","formItem","getFieldProps","fieldElem","originalEvents","getFieldValuePropValue","newEvents","triggerEvents","usersFieldOption","inputListeners","inputAttrs","validateTriggers","getFieldInstance","getRules","changedFields","getNestedAllFields","formContext","allUpdate","itemSelfUpdate","setFieldsValue","changedValues","newFields","allValues","preserve","clearField","recoverClearedField","removedList","resetFields","allRules","allFields","alreadyErrors","validating","AsyncValidator","errorsGroup","errorFieldName","fieldName","ruleFieldName","restPath","expired","nowAllFields","fieldErrors","nowField","validateFields","oldCb","isSubmitting","wrappedComponentProps","mixin","currentStyle","word","formMixin","validateFieldsAndScroll","validNames","firstNode","firstTop","getScrollableContainer","createDOMForm","FormItemProps","htmlFor","labelCol","wrapperCol","help","validateStatus","hasFeedback","colon","fieldDecoratorId","fieldDecoratorOptions","selfUpdate","labelAlign","comeFromSlot","itemVnode","isSlot","__ANT_FORM_ITEM","isFormItemChildren","FormContext","decoratorFormProps","collectFormItemContext","helpShow","collectContext","beforeUpdate","getControls","slotDefault","form","isSlotScope","getHelpMessage","onlyControl","getOnlyControl","childrenArray","recursively","controls","getChildAttr","getId","getMeta","getValidateStatus","onLabelClick","control","onHelpAnimEnd","renderHelp","renderExtra","renderValidateWrapper","c3","renderWrapper","contextWrapperCol","mergedWrapperCol","renderLabel","contextLabelAlign","contextLabelCol","contextColon","mergedLabelCol","mergedLabelAlign","labelClsBasic","labelColClassName","labelColStyle","labelColId","labelChildren","computedColon","labelClassName","for","renderFormItem","itemClassName","decoratorOption","decoratorChildren","FormProps","layout","hideRequiredMark","autoFormCreate","FormItem","createForm","formItemContexts","onSubmit","formClassName","DomForm","domForm","inst","FormDecoratorDirective","$form","getPropByPath","strict","tempObj","keyArr","autoLink","__ANT_NEW_FORM_ITEM","validateState","validateMessage","validateDisabled","addField","cloneDeep","removeField","getFilteredRule","invalidFields","formRules","selfRules","requiredRule","onFieldBlur","onFieldChange","clearValidate","resetField","firstChildren","originalBlur","originalChange","validateOnRuleChange","promise","validateField","ITouchProps","activeStyle","TouchFeedback","triggerEvent","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","onMouseDown","onMouseUp","touchmove","touchend","touchcancel","mouseup","InputHandler","touchableProps","isValidProps","isEqual","inputNumberProps","focusOnUpDown","readonly","upHandler","downHandler","useTouch","formatter","parser","precision","decimalSeparator","validValue","getValidValue","toPrecisionAsStep","focused","updatedFunc","nextInputValue","pressingUpOrDown","inputting","rawInput","inputElem","cursorStart","partRestoreByAfter","cursorAfter","lastKeyCode","fixCaret","ratio","getRatio","up","down","recordCursorPosition","onKeyUp","onTrigger","getCurrentValidValue","originValue","getInputDisplayValue","isNotCompleteNumber","newValueInString","getPrecision","valueString","getMaxPrecision","ratioPrecision","stepPrecision","currentValuePrecision","getPrecisionFactor","inputDisplayValue","inputDisplayValueFormat","formatWrapper","cursorEnd","cursorBefore","restoreByAfter","fullStr","prevCursorPos","partStr","numberIsTooLarge","upStep","rat","precisionFactor","downStep","stepFn","recursive","outOfRange","autoStepTimer","onCompositionstart","onCompositionend","upDisabledClass","downDisabledClass","editable","upEvents","downEvents","isUpDisabled","isDownDisabled","mouseover","mouseout","contentProps","upHandlerProps","downHandlerProps","aria-valuemin","aria-valuemax","aria-valuenow","InputNumberProps","InputNumber","inputNumberRef","inputNumberClass","upIcon","downIcon","vcInputNumberprops","BasicProps","hasSider","generator","BasicComponent","basicComponentProps","Basic","BasicLayout","siders","siderHook","addSider","removeSider","currentId","divCls","Layout","Footer","dimensionMaxMap","SiderProps","collapsible","collapsed","defaultCollapsed","reverseArrow","zeroWidthTriggerStyle","generateId","__ANT_LAYOUT_SIDER","uniqueId","below","belowShow","responsiveHandler","setCollapsed","belowShowChange","rawWidth","siderWidth","zeroWidthTrigger","iconObj","defaultTrigger","triggerDom","divStyle","maxWidth","siderCls","Sider","SpinSize","SpinProps","spinning","tip","indicator","defaultIndicator","shouldBeDelayed","shouldDelay","originalUpdateSpinning","updateSpinning","debouncifyUpdateSpinning","sSpinning","cancelExistingSpin","getChildren","renderIndicator","dotClassName","spinClassName","spinElement","containerClassName","Spin","VcSelect","selectOptionsProps","selelctProps","showTitle","changeSize","quickGo","selectComponentClass","pageSizeOptions","pageSize","buildOptionText","selectPrefixCls","goButton","goInputText","defaultBuildOptionText","go","KEYCODE","changeSelect","goInput","gotoButton","calculatePage","statePageSize","defaultCurrent","defaultPageSize","hideOnSinglePage","showSizeChanger","showLessItems","showPrevNextJumpers","showQuickJumper","showTotal","simple","LOCALE","jumpPrevIcon","jumpNextIcon","hasOnChange","stateCurrent","stateCurrentInputValue","newCurrent","paginationNode","lastCurrentNode","getJumpPrevPage","getJumpNextPage","getItemIcon","allPages","shouldDisplayQuickJumper","handleKeyUp","changePageSize","preCurrent","currentPage","hasPrev","hasNext","jumpPrev","jumpNext","runIfEnter","restParams","runIfEnterPrev","runIfEnterNext","runIfEnterJumpPrev","runIfEnterJumpNext","handleGoTO","pagerList","firstPager","lastPager","pageBufferSize","prevPage","nextPage","pagerProps","keypress","Pager","prevItemTitle","nextItemTitle","jumpPrevClassString","jumpNextClassString","totalText","prevDisabled","nextDisabled","Options","PaginationProps","showSizeChange","getIconsProps","renderPagination","contextLocale","customizeSelectPrefixCls","customLocale","isSmall","paginationProps","MiniSelect","mini","ListItemProps","grid","ListGridType","getGrid","__ANT_LIST_ITEM_META","listContext","isItemContainsTextNodeAndNotSingular","isFlexMode","itemLayout","actionsContent","itemChildren","mainContent","ColumnCount","ListSize","List","loadMore","pagination","rowKey","renderItem","defaultPaginationProps","paginationCurrent","onPaginationChange","triggerPaginationEvent","onPaginationShowSizeChange","paginationObj","paginationSize","renderItem2","isSomethingAfterLastItem","emptyText","loadingProp","isLoading","largestPage","paginationContent","splitDataSource","childrenContent","childrenList","paginationPosition","runtimeLocale","changeConfirmLocale","newLocale","getConfirmLocale","setMomentLocale","LocaleProvider","_ANT_MARK__","restartCloseTimer","startCloseTimer","clearCloseTimer","willDestroy","closeTimer","componentClass","seed","Notification","maxCount","notices","notice","previousState","noticeIndex","updatedNotices","updateKey","noticeNodes","onClose","noticeProps","Notice","properties","div","notification","removeNotice","defaultDuration","defaultTop","messageInstance","api","closePromise","newInstance","getMessageInstance","switchIconNode","filled","rejected","isArgsProps","lower","char","replaceWithMeasure","measureConfig","measureLocation","targetText","beforeMeasureText","restText","firstChar","targetTextLen","reduceText","connectedStartText","selectionLocation","OptionProps","mentionsContext","setActiveIndex","selectOption","PlaceMent","getDropdownPrefix","mentionsProps","character","characterRender","validateSearch","vcMentionsProps","lowerCase","Mentions","measuring","measureText","measurePrefix","isFocus","textarea","triggerChange","optionLen","newActiveIndex","stopMeasure","prevMeasureText","selectionStartText","prefixList","lastMatch","prefixStr","location","getLastMeasureIndex","measureIndex","validateMeasure","matchOption","startMeasure","onInputFocus","onInputBlur","onDropdownFocus","onDropdownBlur","focusId","targetMeasureText","keyup","KeywordTrigger","VcMentions","loadingFilterOption","getMentions","hitPrefix","getFilterOption","vcMentions","mergedClassName","rows","cached","getScrollBarSize","fresh","outerStyle","widthContained","widthScroll","scrollBarSize","IDialogPropTypes","keyboard","destroyOnClose","mousePosition","wrapStyle","maskStyle","wrapClassName","maskProps","dialogStyle","dialogClass","getOpenCount","focusTriggerAfterClose","getDialogPropTypes","uuid","setTransformOrigin","cacheOverflow","destroyPopup","updatedCallback","inTransition","titleId","switchScrollingEffect","timeoutId","getDialogWrap","openTime","tryFocus","dialogNode","dialog","elOffset","lastOutSideFocusNode","onAnimateLeave","onDialogMouseDown","dialogMouseDown","onMaskMouseUp","onMaskClick","onKeydown","getDialogElement","tempFooter","dest","closer","aria-label","dialogElement","dialogTransitionProps","getWrapStyle","getMaskStyle","maskTransitionProps","openCount","aria-labelledby","oldStyle","styleKeys","didUpdate","createContainer","_container","windowIsUndefined","setWrapperClassName","prevGetContainer","removeCurrentContainer","HTMLElement","getDomContainer","savePortal","portal","Portal","DialogWrap","dialogProps","Dialog","ButtonType","destroyFns","confirmLoading","centered","okType","cancelButtonProps","modalProps","handleCancel","cancelBtnProps","okBtnProps","defaultFooter","closeIconToRender","ActionButtonProps","actionFn","closeModal","onCancel","contentPrefixCls","okCancel","autoFocusButton","cancelButton","ActionButton","triggerCancel","confirm","currentConfig","Omit","confirmDialogInstance","confirmDialogProps","param","parentContext","cdProps","ConfirmDialog","newConfig","modalConfirm","destroyAll","notificationInstance","defaultBottom","defaultPlacement","defaultGetContainer","defaultCloseIcon","getPlacementStyle","typeToIcon","btn","outerPrefixCls","cacheKey","getNotificationInstance","onConfirm","popconfirmLocale","Popover","allowHalf","onHover","starValue","star","aria-checked","aria-posinset","aria-setsize","rateProps","Rate","cleanedValue","getStarValue","isReset","changeValue","getStarDOM","starEle","leftDis","rateRef","stars","starProps","Star","tooltips","refRate","Track","included","positonStyle","elStyle","Steps","marks","lowerBound","upperBound","dotStyle","activeDotStyle","elements","calcPoints","isActived","pointClassName","Marks","clickLabel","marksKeys","markPoint","markPointIsObject","markLabel","markClassName","bottomStyle","leftStyle","markStyle","clickFocused","onMouseUpListener","handleMouseUp","setClickFocus","clickFocus","handleMousedown","ariaProps","_tabIndex","handleProps","isEventFromHandle","handles","isValueOutOfRange","isNotTouchEvent","touches","getClosestPoint","maxSteps","steps","closestStep","diffs","stepString","getMousePosition","zoom","visualViewport","getTouchPosition","getHandleCenterPosition","coords","ensureValueInRange","ensureValuePrecision","closestPoint","pauseEvent","getKeyboardValueMutator","increase","decrease","indexToGet","keyToGet","calculateNextValue","createSlider","minimumTrackStyle","maximumTrackStyle","handleStyle","trackStyle","railStyle","isPointDiffEven","handlesRefs","sliderRef","removeDocumentEvents","defaultHandle","dragging","Handle","handlePosition","dragOffset","addDocumentMouseEvents","addDocumentTouchEvents","onEnd","prevMovedHandleIndex","onMove","onKeyboard","onClickMarkLabel","getSliderStart","slider","getSliderLength","onTouchMoveListener","onTouchUpListener","onMouseMoveListener","calcValue","calcValueByPos","pixelOffset","trimAlignValue","calcOffset","saveHandle","renderSlider","tracks","sliderClassName","markProps","getLowerBound","getUpperBound","setChangeValue","isNotControlled","startPosition","valueMutator","mutatedValue","mergedProps","getTrack","_trackStyle","handleGenerator","allowCross","pushable","thershold","valInRange","valNotConflict","rangeProps","sHandle","recent","nextBounds","controlledState","closestBound","getClosestBound","getBoundNeedMoving","moveTo","boundNeedMoving","isAtTheSamePoint","getPoints","_getPointsCache","pointsObject","isFromKeyboardEvent","nextHandle","pushSurroundingHandles","threshold","diffToNext","pushHandle","pushHandleOnePoint","nextPointIndex","ensureValueNotConflict","offsets","trackClassName","handleClassName","Slider","tooltipPrefixCls","tipFormatter","tooltipVisible","tooltipPlacement","getTooltipPopupContainer","visibles","toggleTooltipVisible","handleWithTooltip","isTipFormatter","customizeTooltipPrefixCls","vcRangeProps","vcSliderProps","groupSeparator","valueNode","cells","negative","int","decimal","padEnd","StatisticProps","valueStyle","valueRender","timeUnits","formatCountdown","leftDuration","escapeRegex","keepList","templateText","replacedText","padStart","formatTimeStr","countdownId","syncTimer","stopTimer","startTimer","statistic","valueRenderHtml","Statistic","Countdown","iconPrefix","labelPlacement","progressDot","initial","finish","calcStepOffsetWidth","flexSupported","lastStepOffsetWidth","calcTimeout","onStepClick","vcStepsRef","lastChild","isNav","filteredChildren","adjustedlabelPlacement","stepsProps","stepNumber","stepProps","stepIndex","stepClick","itemWidth","adjustMarginRight","isString","subTitle","tailContent","renderIconNode","iconClassName","iconDot","stepItemStyle","accessibilityProps","Step","getStepsProps","VcSteps","customizeIconPrefixCls","switchPropTypes","checkedChildren","unCheckedChildren","Switch","stateChecked","setChecked","refSwitchNode","switchClassName","spanProps","switchProps","scrollbarVerticalSize","scrollbarHorizontalSize","scrollbarMeasure","measureScrollbar","scrollDiv","scrollProp","front","ColumnManager","columns","_cached","groupedColumns","_leafColumns","leftColumns","rightColumns","_groupColumns","currentRow","parentColumn","grouped","setRowSpan","rowSpan","newColumn","colSpan","leafColumns","expandIconAsCell","columnManager","cols","leftLeafColumns","rightLeafColumns","dataIndex","additionalProps","mergedKey","TableHeaderRow","components","customHeaderRow","fixedColumnsHeadRowsHeight","headerHeight","HeaderRow","HeaderCell","cell","rowProps","customStyle","cellProps","customProps","customHeaderCell","headerCellProps","textAlign","ellipsis","getHeaderRows","cellIsLast","expander","sComponents","renderExpandIndentCell","HeaderWrapper","isInvalidRenderCellText","record","indent","indentSize","onCellClick","BodyCell","customRender","transformCellText","tdProps","customCell","indentText","cellClassName","TableRow","customRow","hasExpandIcon","renderExpandIconCell","expandedRow","isAnyColumnsFixed","ancestorKeys","expandIconColumnIndex","expandRowByClick","expandedRowKeys","expandedRowsHeight","fixedColumnsBodyRowsHeight","hovered","currentHoverKey","saveRowRef","rowRef","onRowClick","rowPropFunc","onRowDoubleClick","setExpandedRowHeight","setRowHeight","BodyRow","TableCell","customClass","customClassName","rowClassName","rowPropEvents","bodyRowProps","expandable","needIndentSpaced","expandClassName","ExpandableRow","childrenColumnName","expandedRowRender","handleDestroy","columnIndex","tempExpandIconAsCell","tempExpandIconColumnIndex","handleExpandChange","handleRowClick","ExpandIcon","childrenData","expandableRowProps","rowClick","BaseTable","tableClassName","hasHead","hasBody","getRowKey","getColumns","handleRowHover","isHover","renderRows","renderData","rowDoubleclick","rowContextmenu","onRowContextMenu","rowMouseenter","onRowMouseEnter","rowMouseleave","onRowMouseLeave","onHoverProps","rowPrefixCls","expandedChange","expandableRow","tableRowProps","getBodyWrapper","tableStyle","tableWidthScrollX","sum","BodyWrapper","ColGroup","TableHeader","handleBodyScrollLeft","useFixedHeader","scrollbarWidth","scrollbarWidthOfHeader","handleBodyScroll","handleWheel","innerBodyStyle","baseTable","refName","useTabIndex","ExpandableTable","expandedRowClassName","defaultExpandAllRows","defaultExpandedRowKeys","finalExpandedRowKeys","latestExpandedRows","expandedRowIndex","iconColumn","renderExpandedRow","parentKey","colCount","nextAncestorKeys","nextIndent","tableLayout","preData","observable","_components","hasScrollX","resetScrollX","setScrollPosition","debouncedWindowResize","debounceFunc","persist","callNow","handleWindowResize","resizeEvent","ref_headTable","ref_bodyTable","scrollPosition","tableNode","setScrollPositionClassName","scrollToLeft","scrollToRight","isTableLayoutFixed","syncFixedTableRowHeight","tableRect","headRows","bodyRows","lastScrollLeft","handleBodyScrollTop","ref_fixedColumnsBodyLeft","ref_fixedColumnsBodyRight","lastScrollTop","wd","bodyTable","fixedColumnsBodyLeft","fixedColumnsBodyRight","saveTableNodeRef","renderMainTable","scrollable","renderTable","renderEmptyText","renderLeftFixedTable","renderRightFixedTable","HeadTable","BodyTable","renderTitle","hasLeftFixed","isAnyColumnsLeftFixed","hasRightFixed","isAnyColumnsRightFixed","expandableTableProps","Column","ColumnGroup","isTableColumnGroup","getTableNode","getBodyTable","tProps","handelClick","getPaginationProps","getSpinProps","ColumnFilterItem","ColumnProps","filters","filterMultiple","filterDropdown","filterDropdownVisible","sorter","defaultSortOrder","filterIcon","filteredValue","defaultFilteredValue","sortOrder","sortDirections","TableLocale","RowSelectionType","TableRowSelection","selectedRowKeys","getCheckboxProps","selections","hideDefaultSelections","columnWidth","selectWay","columnTitle","TableProps","rowSelection","SelectionCheckboxAllProps","getCheckboxPropsByItem","getRecordKey","SelectionBoxProps","defaultSelection","FilterMenuProps","_propsSymbol","confirmFilter","handleFilter","flatArray","loop","treeMap","mapper","flatFilter","generateValueMaps","maps","sSelectedKeys","sKeyPathOfSelectedItem","sValueKeys","setNeverShown","getDropdownVisible","neverShown","closest","setSelectedKeys","onFilterDropdownVisibleChange","handleClearFilters","handleConfirm","confirmFilter2","handleMenuItemClick","keyPathOfSelectedItem","hasSubMenu","propSelectedKeys","renderMenus","containSelected","subMenuCls","renderFilterIcon","dropdownIconClass","originSelectedKeys","dropdownMenuClass","clearFilters","FilterDropdownMenuWrapper","selectionDirty","checkSelection","byDefaultChecked","getIndeterminateState","someCheckedNotByDefaultChecked","someCheckedByDefaultChecked","getCheckState","defaultSelections","setCheckState","handleSelectAllChange","selection","selectionPrefixCls","customSelections","newSelections","__ANT_TABLE_COLUMN_GROUP","BodyRowProps","createBodyRow","inlineStyle","border","TransButton","noStyle","getRowSelection","getColumnKey","isSameColumn","defaultPagination","onShowSizeChange","emptyObject","createComponents","bodyRow","getFilteredValueColumns","getFiltersFromColumns","col","colKey","CheckboxPropsCache","getDefaultSortOrder","sFilters","getDefaultFilters","sPagination","getDefaultPagination","pivot","filterDataCnt","newPagination","filtersFromColumns","newFilters","columnKey","components1","components2","isTheSameComponents","sortColumn","sSortColumn","sSortOrder","getSortOrderColumns","sortState","getSortStateFromColumns","getDefaultSelection","getFlatData","hasPagination","definedFilters","defaultFilters","soFar","definedSortState","defaultSortedColumn","sortedColumn","getMaxCurrent","recordKey","getSorterFn","getCurrentPageData","getLocalData","MAX_VALUE","getFlatCurrentPageData","currentState","sorterFn","recursiveSort","findColumn","onFilter","onRow","setSelectedRowKeys","selectionInfo","changeRowKeys","selectedRows","onSelectMultiple","changeRows","onSelectAll","onSelectInvert","generatePopupContainerFunc","vcTable","scrollToFirstRow","scrollToFirstRowOnChange","nextFilters","currentColumnKeys","filtersToSetState","prepareParamsArguments","sSelectionDirty","realIndex","sign","dist","handleRadioSelect","handleSelectRow","selectionKey","onSelectFunc","changeableRowKeys","customSelectionStartIndex","handlePageChange","otherArguments","handleShowSizeChange","nextPagination","toggleSortOrder","newSortOrder","methodIndex","isSortColumn","currentColumn","currentDataSource","myKey","renderSelectionBox","selectionBoxProps","SelectionBox","renderRowSelection","selectionColumnClass","selectionColumn","checkboxAllDisabled","SelectionCheckboxAll","renderColumnsDropdown","sortButton","colFilters","isAscend","isDescend","ascend","descend","colProps","onHeaderCellClick","renderColumnTitle","contextGetPopupContainer","realGetPopupContainer","mergedLocale","columnsWithRowSelection","vcTableProps","customizeDropdownPrefixCls","customizeTransformCellText","tct","paginationPatchClass","spinProps","startsWith","restSlots","updateColumns","slotTitle","slotFooter","TransferSearchProps","handleClear","handleClear2","scrollParent","getElementPosition","lazyLoadProps","elementType","offsetHorizontal","offsetVertical","LazyLoad","lazyLoadHandler","_mounted","eventNode","getEventNode","resizeHander","scrollHander","detachListeners","parentScroll","_offsetAll","_offsetVertical","_offsetHorizontal","customOffset","containerPosition","elementPosition","inViewport","renderedText","renderedEl","listItem","lazyProps","ListBody","filteredRenderItems","itemsLength","lazyId","bubbles","mountId","onItemSelect","globalDisabled","ListItem","defaultRender","TransferItem","TransferListProps","titleText","handleSelectAll","renderList","showSelectAll","renderListNode","bodyContent","customize","defaultRenderList","triggerScrollTimer","filterValue","listContentWrapper","listContentWrapperDom","getCheckStatus","filteredItems","getFilteredItems","renderedItem","renderItemHtml","matchFilter","getListBody","bodyDom","_handleClear","_handleFilter","listBody","bodyNode","getCheckBox","checkedAll","_handleSelect","selectedItem","listNode","renderResult","isRenderResultPlain","filterNull","footerDom","listCls","listFooter","checkAllCheckbox","TransferOperationProps","leftArrowText","rightArrowText","moveToLeft","moveToRight","leftActive","rightActive","TransferProps","targetKeys","listStyle","operationStyle","leftFilter","rightFilter","sourceSelectedKeys","targetSelectedKeys","updateState","getSelectedKeysName","getTitles","transferLocale","oldLocale","separatedDataSource","newSourceSelectedKeys","newTargetSelectedKeys","newMoveKeys","newTargetKeys","oppositeDirection","handleSelectChange","onItemSelectAll","checkAll","originalSelectedKeys","mergedCheckedKeys","filteredDataSource","handleLeftSelectAll","handleRightSelectAll","onLeftItemSelectAll","onRightItemSelectAll","searchChange","handleLeftFilter","handleRightFilter","handleLeftClear","handleRightClear","holder","handleLeftSelect","handleRightSelect","onLeftItemSelect","onRightItemSelect","handleLeftScroll","handleRightScroll","handleListStyle","separateDataSource","leftDataSource","rightDataSource","indexOfKey","renderTransfer","TreeProps","showLine","autoExpandParent","checkStrictly","defaultExpandAll","defaultExpandParent","defaultExpandedKeys","defaultCheckedKeys","filterAntTreeNode","loadedKeys","replaceFields","blockNode","renderSwitcherIcon","updateTreeData","treeNodeProps","vcTreeProps","Record","traverseNodesKey","rootChildren","calcRangeKeys","startKey","endKey","convertDirectoryKeysToNodes","restKeys","expandAction","_selectedKeys","_expandedKeys","getFullKeyListByTreeData","getFullKeyList","onDebounceExpand","expandFolderNode","setUncontrolledState","onDoubleClick","ctrlPick","shiftPick","newSelectedKeys","lastSelectedKey","cachedSelectedKeys","selectedNodes","doubleclick","treeProps","Tree","DirectoryTree","hasClass","warnDeprecatedLabel","createRef","flatToHierarchy","positionList","entrances","posMap","parsedList","parentEntity","isLabelInValue","treeCheckStrictly","cleanEntity","getFilterTree","searchValue","filterFunc","valueEntities","mapFilteredNodeToData","formatInternalValue","valueList","wrappedValue","treeNodeLabelProp","formatSelectorValue","showCheckedStrategy","hierarchyList","targetValueList","traverse","vcConvertDataToTree","currentEntity","getHalfCheckedKeys","parentValue","rcConductCheck","dropdownPopupAlign","$trigger","selectorPropTypes","selectorValueList","modeName","renderSelection","vcTreeSelect","domRef","onSelectorFocus","onSelectorBlur","onSelectorClear","onSelectorKeyDown","myTabIndex","aria-owns","aria-controls","aria-haspopup","Selector","generateSelector","SingleSelector","selectorRef","SearchInput","needAlign","mirrorSearchValue","mirrorInputRef","alignInputWidth","isDidMount","onSearchInputChange","onSearchInputKeyDown","aria-autocomplete","aria-multiline","Selection","MultipleSelector","_renderPlaceholder","currentPlaceholder","onMultipleSelectorRemove","myValueList","restValueList","restNodeSelect","_prevProps","_loadedKeys","expandedKeyList","_expandedKeyList","cachedExpandedKeyList","_cachedExpandedKeyList","treeExpandedKeys","filteredTreeNodes","upperSearchValue","_keyList","BasePopup","searchHalfCheckedKeys","treeLine","treeNodeFilterProp","treeDefaultExpandAll","treeDefaultExpandedKeys","renderSearch","treeRef","onTreeExpand","getTree","getLoadData","filterVal","renderNotFound","onPopupKeyDown","onTreeNodeSelect","onTreeNodeCheck","$notFound","$treeNodes","$tree","treeAllProps","check","load","SinglePopup","searchRef","_renderSearch","scopedSlotsTemp","prefixAria","treeDataSimpleMode","needSyncKeys","_valueList","_searchHalfCheckedKeys","_missValueList","_selectorValueList","_valueEntities","_posEntities","_keyEntities","_searchValue","_init","_treeNodes","_filteredTreeNodes","onComponentKeyDown","getWatch","domTreeNodes","triggerContainer","prefixClass","findPopupContainer","searchNode","processState","updater","valueRefresh","pId","rootPId","keyNodes","rootNodeList","treeDataChanged","treeDataModeChanged","simpleMapper","entitiesMap","vcConvertTreeToEntities","missValueList","filteredValueList","latestValueList","valueLabels","wrapperValue","filterTreeNodeFn","SelectNode","nodeEventInfo","isSearchValueControlled","removeValue","triggerEntity","newValueList","pos1","pos2","fields1","fields2","minLen","isPosRelated","extraInfo","triggerValue","deselectInfo","filteredEntityList","checkedNodes","checkedNodesPositions","allCheckedNodes","newMissValueList","onValueTrigger","isAdd","nodeExtraInfo","checkedNodeList","oriKeyList","setPopupRef","needSync","byTrigger","documentClickClose","delayForcePopupAlign","prevSelectorValueList","preValue","connectValueList","labelList","passProps","choiceAnimationLeave","treeExpanded","MultiplePopup","$popup","$selector","selectTriggerProps","SHOW_ALL","SHOW_PARENT","SHOW_CHILD","TreeSelect","newLabel","newTitle","VcTreeSelectProps","TimeLineItemProps","TimelineProps","pendingDot","pendingNode","pendingItem","TimelineItem","timeLineItems","getPositionCls","eleProps","truthyItems","itemsCount","lastCls","pendingClass","readyClass","timelineProps","Timeline","packageInfo","IProps","firstEnter","levelMove","ease","showMask","IDrawerProps","IDrawerChildProps","transitionEndObject","transitionStr","html","transitionEnd","currentDrawer","Drawer","levelDom","contentDom","maskDom","handlerdom","mousePos","sFirstEnter","drawerId","orignalOpen","passiveSupported","passive","getOpen","getDefault","isOpenChange","domFocus","getParentAndLevelDom","setLevelDomTransform","onMaskTouchEnd","onIconTouchEnd","onWrapperTransitionEnd","contentWrapper","getCurrentDrawerSome","getSelfContainer","vars","openTransition","placementName","trnasitionEnd","levelValue","$levelMove","$value","placementPos","eventArray","domArray","widthTransition","trannsformTransition","removeMoveHandler","removeStartHandler","heightTransition","getChildToRender","wrapperClassname","isHorizontal","contentValue","handlerChildren","handlerDefalut","handlerSlot","handlerSlotVnode","domContProps","directivesMaskDom","directivesContentWrapper","directivesContentDom","getTouchParentScroll","differX","differY","isY","isX","currentT","currentL","startPos","changedTouches","$forceRender","headerStyle","drawerStyle","destroyClose","preVisible","_push","parentDrawer","vcDrawer","onDestroyTransitionEnd","getDestroyOnClose","getPushTransform","getRcDrawerStyle","renderHeader","renderBody","containerStyle","haveMask","offsetStyle","vcDrawerProps","skeletonAvatarProps","SkeletonAvatarProps","shapeCls","skeletonTitleProps","SkeletonTitleProps","Title","zWidth","widthUnit","skeletonParagraphProps","SkeletonParagraphProps","Paragraph","rowList","SkeletonProps","paragraph","getComponentProps","getAvatarBasicProps","hasTitle","hasParagraph","getTitleBasicProps","hasAvatar","getParagraphBasicProps","basicProps","Skeleton","avatarProps","contentNode","paragraphNode","paragraphProps","Comment","author","datetime","renderNested","authorContent","comment","ConfigProvider","pageHeader","_self","_proxyVm","renderEmptyComponent","_data","renderProvider","legacyLocale","__","IconMap","ExceptionMap","strokeLinejoin","ExceptionStatus","ResultProps","iconString","Result","PRESENTED_IMAGE_403","PRESENTED_IMAGE_404","PRESENTED_IMAGE_500","labelProps","DescriptionsItemProps","DescriptionsItem","DescriptionsProps","generateChildrenRows","leftSpans","itemNodes","itemNode","lastSpanSame","defaultColumnMap","Descriptions","getColumn","renderRow","renderCol","colItem","cloneChildren","cloneContentChildren","childrenItem","PageHeaderProps","backIcon","breadcrumb","onBack","headingPrefixCls","backIconDom","renderBack","breadcrumbDom","renderBreadcrumb","SpaceSizeType","spaceSize","middle","SpaceProps","Space","mergedAlign","someSpaceClass","FormModel","$message","$notification","$info","$success","$error","$warning","$confirm","$destroyAll","unslick","edgeFriction","verticalSwiping","asNavFor","pauseOnDotsHover","pauseOnFocus","slidesPerRow","swipeEvent","useTransform","waitForAnimate","autoplaying","currentDirection","currentLeft","currentSlide","edgeDragged","initialized","lazyLoadedList","listHeight","listWidth","scrolling","slideCount","slideHeight","slideWidth","swipeLeft","swiped","swiping","touchObject","startX","startY","curX","curY","trackWidth","getOnDemandLazySlides","spec","onDemandSlides","startIndex","lazyStartIndex","endIndex","lazyEndIndex","slideIndex","lazySlidesOnLeft","lazySlidesOnRight","getHeight","getSwipeDirection","swipeAngle","xDist","yDist","atan2","canGoNext","canGo","extractObject","newObject","slideHandler","animationSlide","finalSlide","animationLeft","finalLeft","getTrackLeft","getTrackAnimateCSS","getTrackCSS","changeSlide","previousInt","slideOffset","targetSlide","indexOffset","siblingDirection","checkNavigable","navigables","counter","indexes","getNavigableIndexes","prevNavigable","getSlideCount","centerOffset","swipedSlide","slides","listRef","dataset","checkSpecKeys","keysArray","trackHeight","trackChildren","getTotalSlides","trackRef","targetLeft","slidesToOffset","getPreClones","targetSlideIndex","trackElem","getPostClones","slidesOnRight","slidesOnLeft","getSlideClasses","slickActive","slickCenter","slickCloned","fallbackKey","renderSlides","preCloneSlides","postCloneSlides","childrenCount","childOnClickOptions","childStyle","getSlideStyle","slideClass","slideClasses","preCloneNo","trackProps","getDotCount","appendDots","customPaging","dotCount","leftBound","rightBound","dotOptions","PrevArrow","prevClasses","prevHandler","prevArrowProps","NextArrow","nextClasses","nextHandler","nextArrowProps","track","callbackTimers","clickable","listRefHandler","trackRefHandler","adaptHeight","setTrackStyle","resizeWindow","handleAutoPlay","pause","animationEndCallback","updatedState","centerPaddingAdj","slidesToLoad","initializedState","ssrInit","trackLeft","childrenWidths","preClones","postClones","childWidth","currentWidth","checkImagesLoad","images","imagesCount","loadedCount","onclick","prevClickHandler","progressiveLazyLoad","lazyLoadTimer","firstBatch","keyHandler","selectHandler","disableBodyScroll","ontouchmove","enableBodyScroll","swipeStart","swipeMove","onEdge","curLeft","swipeLength","sqrt","verticalSwipeLength","positionOffset","swipeDirection","touchSwipeLength","swipeEnd","onSwipe","minSwipe","newSlide","triggerSlideHandler","play","playType","autoplayTimer","pauseType","onDotsOver","onDotsLeave","onTrackOver","onTrackLeave","onSlideFocus","onSlideBlur","ro","onfocus","onblur","dotProps","arrowProps","prevArrowCustom","nextArrowCustom","verticalHeightStyle","centerPaddingStyle","listProps","innerSliderProps","_responsiveMediaHandlers","innerSliderRefHandler","slickPause","slickPlay","breakpoints","breakpt","bQuery","json2mq","settings","resp","sliderProps","_checkedKeys","_halfCheckedKeys","_loadingKeys","_treeNode","_dragOverNodeKey","_dropPosition","_dragNodesKeys","checkedKeyEntity","conductKeys","dragNode","dropPosition","delayedDragEnterLogic","newExpandedKeys","posArr","dropResult","dropToGap","targetSelected","eventObj","oriCheckedKeys","oriHalfCheckedKeys","checkedObj","loadingKeys","currentLoadedKeys","currentLoadingKeys","newLoadedKeys","newLoadingKeys","targetExpanded","loadPromise","isKeyChecked","dragOverNodeKey","ProxyTree","webpackContext","webpackContextResolve","code"],"mappings":"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","file":"antd.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"moment\"), require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"moment\", \"vue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"antd\"] = factory(require(\"moment\"), require(\"vue\"));\n\telse\n\t\troot[\"antd\"] = factory(root[\"moment\"], root[\"Vue\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__15__, __WEBPACK_EXTERNAL_MODULE__17__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 435);\n","import isPlainObject from 'lodash/isPlainObject';\n\nconst ObjProto = Object.prototype;\nconst toString = ObjProto.toString;\nexport const hasOwn = ObjProto.hasOwnProperty;\n\nconst FN_MATCH_REGEXP = /^\\s*function (\\w+)/;\n\n// https://github.com/vuejs/vue/blob/dev/src/core/util/props.js#L159\nexport const getType = fn => {\n const type = fn !== null && fn !== undefined ? (fn.type ? fn.type : fn) : null;\n const match = type && type.toString().match(FN_MATCH_REGEXP);\n return match && match[1];\n};\n\nexport const getNativeType = value => {\n if (value === null || value === undefined) return null;\n const match = value.constructor.toString().match(FN_MATCH_REGEXP);\n return match && match[1];\n};\n\n/**\n * No-op function\n */\nexport const noop = () => {};\n\n/**\n * Checks for a own property in an object\n *\n * @param {object} obj - Object\n * @param {string} prop - Property to check\n */\nexport const has = (obj, prop) => hasOwn.call(obj, prop);\n\n/**\n * Determines whether the passed value is an integer. Uses `Number.isInteger` if available\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger\n * @param {*} value - The value to be tested for being an integer.\n * @returns {boolean}\n */\nexport const isInteger =\n Number.isInteger ||\n function(value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n };\n\n/**\n * Determines whether the passed value is an Array.\n *\n * @param {*} value - The value to be tested for being an array.\n * @returns {boolean}\n */\nexport const isArray =\n Array.isArray ||\n function(value) {\n return toString.call(value) === '[object Array]';\n };\n\n/**\n * Checks if a value is a function\n *\n * @param {any} value - Value to check\n * @returns {boolean}\n */\nexport const isFunction = value => toString.call(value) === '[object Function]';\n\n/**\n * Adds a `def` method to the object returning a new object with passed in argument as `default` property\n *\n * @param {object} type - Object to enhance\n */\nexport const withDefault = function(type) {\n Object.defineProperty(type, 'def', {\n value(def) {\n if (def === undefined && this.default === undefined) {\n this.default = undefined;\n return this;\n }\n if (!isFunction(def) && !validateType(this, def)) {\n warn(`${this._vueTypes_name} - invalid default value: \"${def}\"`, def);\n return this;\n }\n this.default =\n isArray(def) || isPlainObject(def)\n ? function() {\n return def;\n }\n : def;\n\n return this;\n },\n enumerable: false,\n writable: false,\n });\n};\n\n/**\n * Adds a `isRequired` getter returning a new object with `required: true` key-value\n *\n * @param {object} type - Object to enhance\n */\nexport const withRequired = function(type) {\n Object.defineProperty(type, 'isRequired', {\n get() {\n this.required = true;\n return this;\n },\n enumerable: false,\n });\n};\n\n/**\n * Adds `isRequired` and `def` modifiers to an object\n *\n * @param {string} name - Type internal name\n * @param {object} obj - Object to enhance\n * @returns {object}\n */\nexport const toType = (name, obj) => {\n Object.defineProperty(obj, '_vueTypes_name', {\n enumerable: false,\n writable: false,\n value: name,\n });\n withRequired(obj);\n withDefault(obj);\n\n if (isFunction(obj.validator)) {\n obj.validator = obj.validator.bind(obj);\n }\n return obj;\n};\n\n/**\n * Validates a given value against a prop type object\n *\n * @param {Object|*} type - Type to use for validation. Either a type object or a constructor\n * @param {*} value - Value to check\n * @param {boolean} silent - Silence warnings\n * @returns {boolean}\n */\nexport const validateType = (type, value, silent = false) => {\n let typeToCheck = type;\n let valid = true;\n let expectedType;\n if (!isPlainObject(type)) {\n typeToCheck = { type };\n }\n const namePrefix = typeToCheck._vueTypes_name ? typeToCheck._vueTypes_name + ' - ' : '';\n\n if (hasOwn.call(typeToCheck, 'type') && typeToCheck.type !== null) {\n if (isArray(typeToCheck.type)) {\n valid = typeToCheck.type.some(type => validateType(type, value, true));\n expectedType = typeToCheck.type.map(type => getType(type)).join(' or ');\n } else {\n expectedType = getType(typeToCheck);\n\n if (expectedType === 'Array') {\n valid = isArray(value);\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (\n expectedType === 'String' ||\n expectedType === 'Number' ||\n expectedType === 'Boolean' ||\n expectedType === 'Function'\n ) {\n valid = getNativeType(value) === expectedType;\n } else {\n valid = value instanceof typeToCheck.type;\n }\n }\n }\n\n if (!valid) {\n silent === false && warn(`${namePrefix}value \"${value}\" should be of type \"${expectedType}\"`);\n return false;\n }\n\n if (hasOwn.call(typeToCheck, 'validator') && isFunction(typeToCheck.validator)) {\n valid = typeToCheck.validator(value);\n if (!valid && silent === false) warn(`${namePrefix}custom validation failed`);\n return valid;\n }\n return valid;\n};\n\nlet warn = noop;\n\nif (process.env.NODE_ENV !== 'production') {\n const hasConsole = typeof console !== 'undefined';\n warn = msg => {\n if (hasConsole) {\n console.warn(`[VueTypes warn]: ${msg}`);\n }\n };\n}\n\nexport { warn };\n","import isPlainObject from 'lodash/isPlainObject';\nimport { toType, getType, isFunction, validateType, isInteger, isArray, warn } from './utils';\n\nconst VuePropTypes = {\n get any() {\n return toType('any', {\n type: null,\n });\n },\n\n get func() {\n return toType('function', {\n type: Function,\n }).def(currentDefaults.func);\n },\n\n get bool() {\n return toType('boolean', {\n type: Boolean,\n }).def(currentDefaults.bool);\n },\n\n get string() {\n return toType('string', {\n type: String,\n }).def(currentDefaults.string);\n },\n\n get number() {\n return toType('number', {\n type: Number,\n }).def(currentDefaults.number);\n },\n\n get array() {\n return toType('array', {\n type: Array,\n }).def(currentDefaults.array);\n },\n\n get object() {\n return toType('object', {\n type: Object,\n }).def(currentDefaults.object);\n },\n\n get integer() {\n return toType('integer', {\n type: Number,\n validator(value) {\n return isInteger(value);\n },\n }).def(currentDefaults.integer);\n },\n\n get symbol() {\n return toType('symbol', {\n type: null,\n validator(value) {\n return typeof value === 'symbol';\n },\n });\n },\n\n custom(validatorFn, warnMsg = 'custom validation failed') {\n if (typeof validatorFn !== 'function') {\n throw new TypeError('[VueTypes error]: You must provide a function as argument');\n }\n\n return toType(validatorFn.name || '<<anonymous function>>', {\n validator(...args) {\n const valid = validatorFn(...args);\n if (!valid) warn(`${this._vueTypes_name} - ${warnMsg}`);\n return valid;\n },\n });\n },\n\n oneOf(arr) {\n if (!isArray(arr)) {\n throw new TypeError('[VueTypes error]: You must provide an array as argument');\n }\n const msg = `oneOf - value should be one of \"${arr.join('\", \"')}\"`;\n const allowedTypes = arr.reduce((ret, v) => {\n if (v !== null && v !== undefined) {\n ret.indexOf(v.constructor) === -1 && ret.push(v.constructor);\n }\n return ret;\n }, []);\n\n return toType('oneOf', {\n type: allowedTypes.length > 0 ? allowedTypes : null,\n validator(value) {\n const valid = arr.indexOf(value) !== -1;\n if (!valid) warn(msg);\n return valid;\n },\n });\n },\n\n instanceOf(instanceConstructor) {\n return toType('instanceOf', {\n type: instanceConstructor,\n });\n },\n\n oneOfType(arr) {\n if (!isArray(arr)) {\n throw new TypeError('[VueTypes error]: You must provide an array as argument');\n }\n\n let hasCustomValidators = false;\n\n const nativeChecks = arr.reduce((ret, type) => {\n if (isPlainObject(type)) {\n if (type._vueTypes_name === 'oneOf') {\n return ret.concat(type.type || []);\n }\n if (type.type && !isFunction(type.validator)) {\n if (isArray(type.type)) return ret.concat(type.type);\n ret.push(type.type);\n } else if (isFunction(type.validator)) {\n hasCustomValidators = true;\n }\n return ret;\n }\n ret.push(type);\n return ret;\n }, []);\n\n if (!hasCustomValidators) {\n // we got just native objects (ie: Array, Object)\n // delegate to Vue native prop check\n return toType('oneOfType', {\n type: nativeChecks,\n }).def(undefined);\n }\n\n const typesStr = arr\n .map(type => {\n if (type && isArray(type.type)) {\n return type.type.map(getType);\n }\n return getType(type);\n })\n .reduce((ret, type) => ret.concat(isArray(type) ? type : [type]), [])\n .join('\", \"');\n\n return this.custom(function oneOfType(value) {\n const valid = arr.some(type => {\n if (type._vueTypes_name === 'oneOf') {\n return type.type ? validateType(type.type, value, true) : true;\n }\n return validateType(type, value, true);\n });\n if (!valid) warn(`oneOfType - value type should be one of \"${typesStr}\"`);\n return valid;\n }).def(undefined);\n },\n\n arrayOf(type) {\n return toType('arrayOf', {\n type: Array,\n validator(values) {\n const valid = values.every(value => validateType(type, value));\n if (!valid) warn(`arrayOf - value must be an array of \"${getType(type)}\"`);\n return valid;\n },\n });\n },\n\n objectOf(type) {\n return toType('objectOf', {\n type: Object,\n validator(obj) {\n const valid = Object.keys(obj).every(key => validateType(type, obj[key]));\n if (!valid) warn(`objectOf - value must be an object of \"${getType(type)}\"`);\n return valid;\n },\n });\n },\n\n shape(obj) {\n const keys = Object.keys(obj);\n const requiredKeys = keys.filter(key => obj[key] && obj[key].required === true);\n\n const type = toType('shape', {\n type: Object,\n validator(value) {\n if (!isPlainObject(value)) {\n return false;\n }\n const valueKeys = Object.keys(value);\n\n // check for required keys (if any)\n if (requiredKeys.length > 0 && requiredKeys.some(req => valueKeys.indexOf(req) === -1)) {\n warn(\n `shape - at least one of required properties \"${requiredKeys.join(\n '\", \"',\n )}\" is not present`,\n );\n return false;\n }\n\n return valueKeys.every(key => {\n if (keys.indexOf(key) === -1) {\n if (this._vueTypes_isLoose === true) return true;\n warn(`shape - object is missing \"${key}\" property`);\n return false;\n }\n const type = obj[key];\n return validateType(type, value[key]);\n });\n },\n });\n\n Object.defineProperty(type, '_vueTypes_isLoose', {\n enumerable: false,\n writable: true,\n value: false,\n });\n\n Object.defineProperty(type, 'loose', {\n get() {\n this._vueTypes_isLoose = true;\n return this;\n },\n enumerable: false,\n });\n\n return type;\n },\n};\n\nconst typeDefaults = () => ({\n func: undefined,\n bool: undefined,\n string: undefined,\n number: undefined,\n array: undefined,\n object: undefined,\n integer: undefined,\n});\n\nlet currentDefaults = typeDefaults();\n\nObject.defineProperty(VuePropTypes, 'sensibleDefaults', {\n enumerable: false,\n set(value) {\n if (value === false) {\n currentDefaults = {};\n } else if (value === true) {\n currentDefaults = typeDefaults();\n } else if (isPlainObject(value)) {\n currentDefaults = value;\n }\n },\n get() {\n return currentDefaults;\n },\n});\n\nexport default VuePropTypes;\n","import isPlainObject from 'lodash/isPlainObject';\nimport classNames from 'classnames';\nfunction getType(fn) {\n const match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : '';\n}\n\nconst camelizeRE = /-(\\w)/g;\nconst camelize = str => {\n return str.replace(camelizeRE, (_, c) => (c ? c.toUpperCase() : ''));\n};\nconst parseStyleText = (cssText = '', camel) => {\n const res = {};\n const listDelimiter = /;(?![^(]*\\))/g;\n const propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function(item) {\n if (item) {\n const tmp = item.split(propertyDelimiter);\n if (tmp.length > 1) {\n const k = camel ? camelize(tmp[0].trim()) : tmp[0].trim();\n res[k] = tmp[1].trim();\n }\n }\n });\n return res;\n};\n\nconst hasProp = (instance, prop) => {\n const $options = instance.$options || {};\n const propsData = $options.propsData || {};\n return prop in propsData;\n};\nconst slotHasProp = (slot, prop) => {\n const $options = slot.componentOptions || {};\n const propsData = $options.propsData || {};\n return prop in propsData;\n};\nconst filterProps = (props, propsData = {}) => {\n const res = {};\n Object.keys(props).forEach(k => {\n if (k in propsData || props[k] !== undefined) {\n res[k] = props[k];\n }\n });\n return res;\n};\n\nconst getScopedSlots = ele => {\n return (ele.data && ele.data.scopedSlots) || {};\n};\n\nconst getSlots = ele => {\n let componentOptions = ele.componentOptions || {};\n if (ele.$vnode) {\n componentOptions = ele.$vnode.componentOptions || {};\n }\n const children = ele.children || componentOptions.children || [];\n const slots = {};\n children.forEach(child => {\n if (!isEmptyElement(child)) {\n const name = (child.data && child.data.slot) || 'default';\n slots[name] = slots[name] || [];\n slots[name].push(child);\n }\n });\n return { ...slots, ...getScopedSlots(ele) };\n};\nconst getSlot = (self, name = 'default', options = {}) => {\n return (\n (self.$scopedSlots && self.$scopedSlots[name] && self.$scopedSlots[name](options)) ||\n self.$slots[name] ||\n []\n );\n};\n\nconst getAllChildren = ele => {\n let componentOptions = ele.componentOptions || {};\n if (ele.$vnode) {\n componentOptions = ele.$vnode.componentOptions || {};\n }\n return ele.children || componentOptions.children || [];\n};\nconst getSlotOptions = ele => {\n if (ele.fnOptions) {\n // 函数式组件\n return ele.fnOptions;\n }\n let componentOptions = ele.componentOptions;\n if (ele.$vnode) {\n componentOptions = ele.$vnode.componentOptions;\n }\n return componentOptions ? componentOptions.Ctor.options || {} : {};\n};\nconst getOptionProps = instance => {\n if (instance.componentOptions) {\n const componentOptions = instance.componentOptions;\n const { propsData = {}, Ctor = {} } = componentOptions;\n const props = (Ctor.options || {}).props || {};\n const res = {};\n for (const [k, v] of Object.entries(props)) {\n const def = v.default;\n if (def !== undefined) {\n res[k] =\n typeof def === 'function' && getType(v.type) !== 'Function' ? def.call(instance) : def;\n }\n }\n return { ...res, ...propsData };\n }\n const { $options = {}, $props = {} } = instance;\n return filterProps($props, $options.propsData);\n};\n\nconst getComponentFromProp = (instance, prop, options = instance, execute = true) => {\n if (instance.$createElement) {\n const h = instance.$createElement;\n const temp = instance[prop];\n if (temp !== undefined) {\n return typeof temp === 'function' && execute ? temp(h, options) : temp;\n }\n return (\n (instance.$scopedSlots[prop] && execute && instance.$scopedSlots[prop](options)) ||\n instance.$scopedSlots[prop] ||\n instance.$slots[prop] ||\n undefined\n );\n } else {\n const h = instance.context.$createElement;\n const temp = getPropsData(instance)[prop];\n if (temp !== undefined) {\n return typeof temp === 'function' && execute ? temp(h, options) : temp;\n }\n const slotScope = getScopedSlots(instance)[prop];\n if (slotScope !== undefined) {\n return typeof slotScope === 'function' && execute ? slotScope(h, options) : slotScope;\n }\n const slotsProp = [];\n const componentOptions = instance.componentOptions || {};\n (componentOptions.children || []).forEach(child => {\n if (child.data && child.data.slot === prop) {\n if (child.data.attrs) {\n delete child.data.attrs.slot;\n }\n if (child.tag === 'template') {\n slotsProp.push(child.children);\n } else {\n slotsProp.push(child);\n }\n }\n });\n return slotsProp.length ? slotsProp : undefined;\n }\n};\n\nconst getAllProps = ele => {\n let data = ele.data || {};\n let componentOptions = ele.componentOptions || {};\n if (ele.$vnode) {\n data = ele.$vnode.data || {};\n componentOptions = ele.$vnode.componentOptions || {};\n }\n return { ...data.props, ...data.attrs, ...componentOptions.propsData };\n};\n\nconst getPropsData = ele => {\n let componentOptions = ele.componentOptions;\n if (ele.$vnode) {\n componentOptions = ele.$vnode.componentOptions;\n }\n return componentOptions ? componentOptions.propsData || {} : {};\n};\nconst getValueByProp = (ele, prop) => {\n return getPropsData(ele)[prop];\n};\n\nconst getAttrs = ele => {\n let data = ele.data;\n if (ele.$vnode) {\n data = ele.$vnode.data;\n }\n return data ? data.attrs || {} : {};\n};\n\nconst getKey = ele => {\n let key = ele.key;\n if (ele.$vnode) {\n key = ele.$vnode.key;\n }\n return key;\n};\n\nexport function getEvents(child) {\n let events = {};\n if (child.componentOptions && child.componentOptions.listeners) {\n events = child.componentOptions.listeners;\n } else if (child.data && child.data.on) {\n events = child.data.on;\n }\n return { ...events };\n}\n\n// 获取 xxx.native 或者 原生标签 事件\nexport function getDataEvents(child) {\n let events = {};\n if (child.data && child.data.on) {\n events = child.data.on;\n }\n return { ...events };\n}\n\n// use getListeners instead this.$listeners\n// https://github.com/vueComponent/ant-design-vue/issues/1705\nexport function getListeners(context) {\n return (context.$vnode ? context.$vnode.componentOptions.listeners : context.$listeners) || {};\n}\nexport function getClass(ele) {\n let data = {};\n if (ele.data) {\n data = ele.data;\n } else if (ele.$vnode && ele.$vnode.data) {\n data = ele.$vnode.data;\n }\n const tempCls = data.class || {};\n const staticClass = data.staticClass;\n let cls = {};\n staticClass &&\n staticClass.split(' ').forEach(c => {\n cls[c.trim()] = true;\n });\n if (typeof tempCls === 'string') {\n tempCls.split(' ').forEach(c => {\n cls[c.trim()] = true;\n });\n } else if (Array.isArray(tempCls)) {\n classNames(tempCls)\n .split(' ')\n .forEach(c => {\n cls[c.trim()] = true;\n });\n } else {\n cls = { ...cls, ...tempCls };\n }\n return cls;\n}\nexport function getStyle(ele, camel) {\n let data = {};\n if (ele.data) {\n data = ele.data;\n } else if (ele.$vnode && ele.$vnode.data) {\n data = ele.$vnode.data;\n }\n let style = data.style || data.staticStyle;\n if (typeof style === 'string') {\n style = parseStyleText(style, camel);\n } else if (camel && style) {\n // 驼峰化\n const res = {};\n Object.keys(style).forEach(k => (res[camelize(k)] = style[k]));\n return res;\n }\n return style;\n}\n\nexport function getComponentName(opts) {\n return opts && (opts.Ctor.options.name || opts.tag);\n}\n\nexport function isEmptyElement(c) {\n return !(c.tag || (c.text && c.text.trim() !== ''));\n}\n\nexport function isStringElement(c) {\n return !c.tag;\n}\n\nexport function filterEmpty(children = []) {\n return children.filter(c => !isEmptyElement(c));\n}\nconst initDefaultProps = (propTypes, defaultProps) => {\n Object.keys(defaultProps).forEach(k => {\n if (propTypes[k]) {\n propTypes[k].def && (propTypes[k] = propTypes[k].def(defaultProps[k]));\n } else {\n throw new Error(`not have ${k} prop`);\n }\n });\n return propTypes;\n};\n\nexport function mergeProps() {\n const args = [].slice.call(arguments, 0);\n const props = {};\n args.forEach((p = {}) => {\n for (const [k, v] of Object.entries(p)) {\n props[k] = props[k] || {};\n if (isPlainObject(v)) {\n Object.assign(props[k], v);\n } else {\n props[k] = v;\n }\n }\n });\n return props;\n}\n\nfunction isValidElement(element) {\n return (\n element &&\n typeof element === 'object' &&\n 'componentOptions' in element &&\n 'context' in element &&\n element.tag !== undefined\n ); // remove text node\n}\n\nexport {\n hasProp,\n filterProps,\n getOptionProps,\n getComponentFromProp,\n getSlotOptions,\n slotHasProp,\n getPropsData,\n getKey,\n getAttrs,\n getValueByProp,\n parseStyleText,\n initDefaultProps,\n isValidElement,\n camelize,\n getSlots,\n getSlot,\n getAllProps,\n getAllChildren,\n};\nexport default hasProp;\n","\"use strict\";\n\nexports.__esModule = true;\n\nvar _assign = require(\"../core-js/object/assign\");\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || 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};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n if (key in obj) {\n (0, _defineProperty2.default)(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};","import { getOptionProps } from './props-util';\n\nexport default {\n methods: {\n setState(state = {}, callback) {\n let newState = typeof state === 'function' ? state(this.$data, this.$props) : state;\n if (this.getDerivedStateFromProps) {\n const s = this.getDerivedStateFromProps(getOptionProps(this), {\n ...this.$data,\n ...newState,\n });\n if (s === null) {\n return;\n } else {\n newState = { ...newState, ...(s || {}) };\n }\n }\n Object.assign(this.$data, newState);\n this.$forceUpdate();\n this.$nextTick(() => {\n callback && callback();\n });\n },\n __emit() {\n // 直接调用listeners,底层组件不需要vueTool记录events\n const args = [].slice.call(arguments, 0);\n const eventName = args[0];\n const event = this.$listeners[eventName];\n if (args.length && event) {\n if (Array.isArray(event)) {\n for (let i = 0, l = event.length; i < l; i++) {\n event[i](...args.slice(1));\n }\n } else {\n event(...args.slice(1));\n }\n }\n },\n },\n};\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","var nestRE = /^(attrs|props|on|nativeOn|class|style|hook)$/\n\nmodule.exports = function mergeJSXProps (objs) {\n return objs.reduce(function (a, b) {\n var aa, bb, key, nestedKey, temp\n for (key in b) {\n aa = a[key]\n bb = b[key]\n if (aa && nestRE.test(key)) {\n // normalize class\n if (key === 'class') {\n if (typeof aa === 'string') {\n temp = aa\n a[key] = aa = {}\n aa[temp] = true\n }\n if (typeof bb === 'string') {\n temp = bb\n b[key] = bb = {}\n bb[temp] = true\n }\n }\n if (key === 'on' || key === 'nativeOn' || key === 'hook') {\n // merge functions\n for (nestedKey in bb) {\n aa[nestedKey] = mergeFn(aa[nestedKey], bb[nestedKey])\n }\n } else if (Array.isArray(aa)) {\n a[key] = aa.concat(bb)\n } else if (Array.isArray(bb)) {\n a[key] = [aa].concat(bb)\n } else {\n for (nestedKey in bb) {\n aa[nestedKey] = bb[nestedKey]\n }\n }\n } else {\n a[key] = b[key]\n }\n }\n return a\n }, {})\n}\n\nfunction mergeFn (a, b) {\n return function () {\n a && a.apply(this, arguments)\n b && b.apply(this, arguments)\n }\n}\n","import defaultRenderEmpty from './renderEmpty';\n\nexport const ConfigConsumerProps = {\n getPrefixCls: (suffixCls, customizePrefixCls) => {\n if (customizePrefixCls) return customizePrefixCls;\n return `ant-${suffixCls}`;\n },\n renderEmpty: defaultRenderEmpty,\n};\n","import _extends from 'babel-runtime/helpers/extends';\nimport { generate, getSecondaryColor, isIconDefinition, log, MiniMap, withSuffix } from '../utils';\n\nvar twoToneColorPalette = {\n primaryColor: '#333',\n secondaryColor: '#E6E6E6'\n};\n\nvar Icon = {\n name: 'AntdIcon',\n props: ['type', 'primaryColor', 'secondaryColor'],\n displayName: 'IconVue',\n definitions: new MiniMap(),\n data: function data() {\n return {\n twoToneColorPalette: twoToneColorPalette\n };\n },\n add: function add() {\n for (var _len = arguments.length, icons = Array(_len), _key = 0; _key < _len; _key++) {\n icons[_key] = arguments[_key];\n }\n\n icons.forEach(function (icon) {\n Icon.definitions.set(withSuffix(icon.name, icon.theme), icon);\n });\n },\n clear: function clear() {\n Icon.definitions.clear();\n },\n get: function get(key) {\n var colors = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : twoToneColorPalette;\n\n if (key) {\n var target = Icon.definitions.get(key);\n if (target && typeof target.icon === 'function') {\n target = _extends({}, target, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n return target;\n }\n },\n setTwoToneColors: function setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || getSecondaryColor(primaryColor);\n },\n getTwoToneColors: function getTwoToneColors() {\n return _extends({}, twoToneColorPalette);\n },\n render: function render(h) {\n var _$props = this.$props,\n type = _$props.type,\n primaryColor = _$props.primaryColor,\n secondaryColor = _$props.secondaryColor;\n\n\n var target = void 0;\n var colors = twoToneColorPalette;\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || getSecondaryColor(primaryColor)\n };\n }\n if (isIconDefinition(type)) {\n target = type;\n } else if (typeof type === 'string') {\n target = Icon.get(type, colors);\n if (!target) {\n // log(`Could not find icon: ${type}`);\n return null;\n }\n }\n if (!target) {\n log('type should be string or icon definiton, but got ' + type);\n return null;\n }\n if (target && typeof target.icon === 'function') {\n target = _extends({}, target, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n return generate(h, target.icon, 'svg-' + target.name, {\n attrs: {\n 'data-icon': target.name,\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true'\n },\n on: this.$listeners\n });\n }\n};\n\n/* istanbul ignore next */\nIcon.install = function (Vue) {\n Vue.component(Icon.name, Icon);\n};\n\nexport default Icon;","import Icon from './components/Icon';\n\nexport default Icon;","import Icon from './index';\nimport { mergeProps } from '../_util/props-util';\n\nconst customCache = new Set();\n\nexport default function create(options) {\n const { scriptUrl, extraCommonProps = {} } = options;\n\n /**\n * DOM API required.\n * Make sure in browser environment.\n * The Custom Icon will create a <script/>\n * that loads SVG symbols and insert the SVG Element into the document body.\n */\n if (\n typeof document !== 'undefined' &&\n typeof window !== 'undefined' &&\n typeof document.createElement === 'function' &&\n typeof scriptUrl === 'string' &&\n scriptUrl.length &&\n !customCache.has(scriptUrl)\n ) {\n const script = document.createElement('script');\n script.setAttribute('src', scriptUrl);\n script.setAttribute('data-namespace', scriptUrl);\n customCache.add(scriptUrl);\n document.body.appendChild(script);\n }\n\n const Iconfont = {\n functional: true,\n name: 'AIconfont',\n props: Icon.props,\n render(h, context) {\n const { props, slots, listeners, data } = context;\n const { type, ...restProps } = props;\n const slotsMap = slots();\n const children = slotsMap.default;\n // component > children > type\n let content = null;\n if (type) {\n content = <use {...{ attrs: { 'xlink:href': `#${type}` } }} />;\n }\n if (children) {\n content = children;\n }\n const iconProps = mergeProps(extraCommonProps, data, { props: restProps, on: listeners });\n return <Icon {...iconProps}>{content}</Icon>;\n },\n };\n return Iconfont;\n}\n","import warning from '../_util/warning';\n\n// These props make sure that the SVG behaviours like general text.\n// Reference: https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\nexport const svgBaseProps = {\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true',\n focusable: 'false',\n};\n\nconst fillTester = /-fill$/;\nconst outlineTester = /-o$/;\nconst twoToneTester = /-twotone$/;\n\nexport function getThemeFromTypeName(type) {\n let result = null;\n if (fillTester.test(type)) {\n result = 'filled';\n } else if (outlineTester.test(type)) {\n result = 'outlined';\n } else if (twoToneTester.test(type)) {\n result = 'twoTone';\n }\n return result;\n}\n\nexport function removeTypeTheme(type) {\n return type\n .replace(fillTester, '')\n .replace(outlineTester, '')\n .replace(twoToneTester, '');\n}\n\nexport function withThemeSuffix(type, theme) {\n let result = type;\n if (theme === 'filled') {\n result += '-fill';\n } else if (theme === 'outlined') {\n result += '-o';\n } else if (theme === 'twoTone') {\n result += '-twotone';\n } else {\n warning(false, 'Icon', `This icon '${type}' has unknown theme '${theme}'`);\n }\n return result;\n}\n\n// For alias or compatibility\nexport function alias(type) {\n let newType = type;\n switch (type) {\n case 'cross':\n newType = 'close';\n break;\n // https://github.com/ant-design/ant-design/issues/13007\n case 'interation':\n newType = 'interaction';\n break;\n // https://github.com/ant-design/ant-design/issues/16810\n case 'canlendar':\n newType = 'calendar';\n break;\n // https://github.com/ant-design/ant-design/issues/17448\n case 'colum-height':\n newType = 'column-height';\n break;\n default:\n }\n warning(\n newType === type,\n 'Icon',\n `Icon '${type}' was a typo and is now deprecated, please use '${newType}' instead.`,\n );\n return newType;\n}\n","import VueIcon from '@ant-design/icons-vue';\n\nexport function setTwoToneColor(primaryColor) {\n return VueIcon.setTwoToneColors({\n primaryColor,\n });\n}\n\nexport function getTwoToneColor() {\n const colors = VueIcon.getTwoToneColors();\n return colors.primaryColor;\n}\n","import classNames from 'classnames';\nimport * as allIcons from '@ant-design/icons/lib/dist';\nimport VueIcon from '@ant-design/icons-vue';\nimport PropTypes from '../_util/vue-types';\nimport createFromIconfontCN from './IconFont';\nimport {\n svgBaseProps,\n withThemeSuffix,\n removeTypeTheme,\n getThemeFromTypeName,\n alias,\n} from './utils';\nimport warning from '../_util/warning';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport { getTwoToneColor, setTwoToneColor } from './twoTonePrimaryColor';\nimport { filterEmpty, getListeners } from '../_util/props-util';\nimport Base from '../base';\n\n// Initial setting\nVueIcon.add(...Object.keys(allIcons).map(key => allIcons[key]));\nsetTwoToneColor('#1890ff');\nconst defaultTheme = 'outlined';\nlet dangerousTheme;\n\nfunction renderIcon(h, locale, context) {\n const { $props: props, $slots } = context;\n const listeners = getListeners(context);\n const {\n // affect inner <svg>...</svg>\n type,\n component: Component,\n viewBox,\n spin,\n // other\n theme, // default to outlined\n twoToneColor,\n rotate,\n tabIndex,\n } = props;\n let children = filterEmpty($slots.default);\n children = children.length === 0 ? undefined : children;\n warning(\n Boolean(type || Component || children),\n 'Icon',\n 'Icon should have `type` prop or `component` prop or `children`.',\n );\n\n const classString = classNames({\n [`anticon`]: true,\n [`anticon-${type}`]: !!type,\n });\n\n const svgClassString = classNames({\n [`anticon-spin`]: !!spin || type === 'loading',\n });\n\n const svgStyle = rotate\n ? {\n msTransform: `rotate(${rotate}deg)`,\n transform: `rotate(${rotate}deg)`,\n }\n : undefined;\n\n const innerSvgProps = {\n attrs: {\n ...svgBaseProps,\n viewBox,\n },\n class: svgClassString,\n style: svgStyle,\n };\n if (!viewBox) {\n delete innerSvgProps.attrs.viewBox;\n }\n\n const renderInnerNode = () => {\n // component > children > type\n if (Component) {\n return <Component {...innerSvgProps}>{children}</Component>;\n }\n if (children) {\n warning(\n Boolean(viewBox) || (children.length === 1 && children[0].tag === 'use'),\n 'Icon',\n 'Make sure that you provide correct `viewBox`' +\n ' prop (default `0 0 1024 1024`) to the icon.',\n );\n const innerSvgProps = {\n attrs: {\n ...svgBaseProps,\n },\n class: svgClassString,\n style: svgStyle,\n };\n return (\n <svg {...innerSvgProps} viewBox={viewBox}>\n {children}\n </svg>\n );\n }\n\n if (typeof type === 'string') {\n let computedType = type;\n if (theme) {\n const themeInName = getThemeFromTypeName(type);\n warning(\n !themeInName || theme === themeInName,\n 'Icon',\n `The icon name '${type}' already specify a theme '${themeInName}',` +\n ` the 'theme' prop '${theme}' will be ignored.`,\n );\n }\n computedType = withThemeSuffix(\n removeTypeTheme(alias(computedType)),\n dangerousTheme || theme || defaultTheme,\n );\n\n return (\n <VueIcon\n focusable=\"false\"\n class={svgClassString}\n type={computedType}\n primaryColor={twoToneColor}\n style={svgStyle}\n />\n );\n }\n };\n let iconTabIndex = tabIndex;\n if (iconTabIndex === undefined && 'click' in listeners) {\n iconTabIndex = -1;\n }\n // functional component not support nativeOn,https://github.com/vuejs/vue/issues/7526\n const iProps = {\n attrs: {\n 'aria-label': type && `${locale.icon}: ${type}`,\n tabIndex: iconTabIndex,\n },\n on: listeners,\n class: classString,\n staticClass: '',\n };\n return <i {...iProps}>{renderInnerNode()}</i>;\n}\n\nconst Icon = {\n name: 'AIcon',\n props: {\n tabIndex: PropTypes.number,\n type: PropTypes.string,\n component: PropTypes.any,\n viewBox: PropTypes.any,\n spin: PropTypes.bool.def(false),\n rotate: PropTypes.number,\n theme: PropTypes.oneOf(['filled', 'outlined', 'twoTone']),\n twoToneColor: PropTypes.string,\n role: PropTypes.string,\n },\n render(h) {\n return (\n <LocaleReceiver\n componentName=\"Icon\"\n scopedSlots={{ default: locale => renderIcon(h, locale, this) }}\n />\n );\n },\n};\n\nIcon.createFromIconfontCN = createFromIconfontCN;\nIcon.getTwoToneColor = getTwoToneColor;\nIcon.setTwoToneColor = setTwoToneColor;\n\n/* istanbul ignore next */\nIcon.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Icon.name, Icon);\n};\n\nexport default Icon;\n","import { filterEmpty, parseStyleText } from './props-util';\nimport classNames from 'classnames';\n\nexport function cloneVNode(vnode, deep) {\n const componentOptions = vnode.componentOptions;\n const data = vnode.data;\n\n let listeners = {};\n if (componentOptions && componentOptions.listeners) {\n listeners = { ...componentOptions.listeners };\n }\n\n let on = {};\n if (data && data.on) {\n on = { ...data.on };\n }\n\n const cloned = new vnode.constructor(\n vnode.tag,\n data ? { ...data, on } : data,\n vnode.children,\n vnode.text,\n vnode.elm,\n vnode.context,\n componentOptions ? { ...componentOptions, listeners } : componentOptions,\n vnode.asyncFactory,\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.isCloned = true;\n if (deep) {\n if (vnode.children) {\n cloned.children = cloneVNodes(vnode.children, true);\n }\n if (componentOptions && componentOptions.children) {\n componentOptions.children = cloneVNodes(componentOptions.children, true);\n }\n }\n return cloned;\n}\n\nexport function cloneVNodes(vnodes, deep) {\n const len = vnodes.length;\n const res = new Array(len);\n for (let i = 0; i < len; i++) {\n res[i] = cloneVNode(vnodes[i], deep);\n }\n return res;\n}\n\nexport function cloneElement(n, nodeProps = {}, deep) {\n let ele = n;\n if (Array.isArray(n)) {\n ele = filterEmpty(n)[0];\n }\n if (!ele) {\n return null;\n }\n const node = cloneVNode(ele, deep);\n // // 函数式组件不支持clone https://github.com/vueComponent/ant-design-vue/pull/1947\n // warning(\n // !(node.fnOptions && node.fnOptions.functional),\n // `can not use cloneElement for functional component (${node.fnOptions && node.fnOptions.name})`,\n // );\n const { props = {}, key, on = {}, nativeOn = {}, children, directives = [] } = nodeProps;\n const data = node.data || {};\n let cls = {};\n let style = {};\n const {\n attrs = {},\n ref,\n domProps = {},\n style: tempStyle = {},\n class: tempCls = {},\n scopedSlots = {},\n } = nodeProps;\n\n if (typeof data.style === 'string') {\n style = parseStyleText(data.style);\n } else {\n style = { ...data.style, ...style };\n }\n if (typeof tempStyle === 'string') {\n style = { ...style, ...parseStyleText(style) };\n } else {\n style = { ...style, ...tempStyle };\n }\n\n if (typeof data.class === 'string' && data.class.trim() !== '') {\n data.class.split(' ').forEach(c => {\n cls[c.trim()] = true;\n });\n } else if (Array.isArray(data.class)) {\n classNames(data.class)\n .split(' ')\n .forEach(c => {\n cls[c.trim()] = true;\n });\n } else {\n cls = { ...data.class, ...cls };\n }\n if (typeof tempCls === 'string' && tempCls.trim() !== '') {\n tempCls.split(' ').forEach(c => {\n cls[c.trim()] = true;\n });\n } else {\n cls = { ...cls, ...tempCls };\n }\n node.data = Object.assign({}, data, {\n style,\n attrs: { ...data.attrs, ...attrs },\n class: cls,\n domProps: { ...data.domProps, ...domProps },\n scopedSlots: { ...data.scopedSlots, ...scopedSlots },\n directives: [...(data.directives || []), ...directives],\n });\n\n if (node.componentOptions) {\n node.componentOptions.propsData = node.componentOptions.propsData || {};\n node.componentOptions.listeners = node.componentOptions.listeners || {};\n node.componentOptions.propsData = { ...node.componentOptions.propsData, ...props };\n node.componentOptions.listeners = { ...node.componentOptions.listeners, ...on };\n if (children) {\n node.componentOptions.children = children;\n }\n } else {\n if (children) {\n node.children = children;\n }\n node.data.on = { ...(node.data.on || {}), ...on };\n }\n node.data.on = { ...(node.data.on || {}), ...nativeOn };\n\n if (key !== undefined) {\n node.key = key;\n node.data.key = key;\n }\n if (typeof ref === 'string') {\n node.data.ref = ref;\n }\n return node;\n}\n","export function antPortal(Vue) {\n return Vue.directive('ant-portal', {\n inserted(el, binding) {\n const { value } = binding;\n const parentNode = typeof value === 'function' ? value(el) : value;\n if (parentNode !== el.parentNode) {\n parentNode.appendChild(el);\n }\n },\n componentUpdated(el, binding) {\n const { value } = binding;\n const parentNode = typeof value === 'function' ? value(el) : value;\n if (parentNode !== el.parentNode) {\n parentNode.appendChild(el);\n }\n },\n });\n}\n\nexport default {\n install: Vue => {\n antPortal(Vue);\n },\n};\n","import ref from 'vue-ref';\nimport { antInput } from './antInputDirective';\nimport { antDecorator } from './FormDecoratorDirective';\nimport { antPortal } from './portalDirective';\n\nexport default {\n install: Vue => {\n Vue.use(ref, { name: 'ant-ref' });\n antInput(Vue);\n antDecorator(Vue);\n antPortal(Vue);\n },\n};\n","import antDirective from '../_util/antDirective';\nconst base = {};\nconst install = function(Vue) {\n base.Vue = Vue;\n Vue.use(antDirective);\n};\nbase.install = install;\n\nexport default base;\n","\"use strict\";\n\nexports.__esModule = true;\n\nvar _from = require(\"../core-js/array/from\");\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return (0, _from2.default)(arr);\n }\n};","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};","/* eslint-disable no-console */\nlet warned = {};\n\nexport function warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error(`Warning: ${message}`);\n }\n}\n\nexport function note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn(`Note: ${message}`);\n }\n}\n\nexport function resetWarned() {\n warned = {};\n}\n\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\n\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\n\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\n\nexport default warningOnce;\n/* eslint-enable */\n","import warning, { resetWarned } from '../vc-util/warning';\n\nexport { resetWarned };\n\nexport default (valid, component, message = '') => {\n warning(valid, `[antdv: ${component}] ${message}`);\n};\n","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};","module.exports = __WEBPACK_EXTERNAL_MODULE__15__;","import _extends from \"babel-runtime/helpers/extends\";\nfunction omit(obj, fields) {\n var shallowCopy = _extends({}, obj);\n for (var i = 0; i < fields.length; i++) {\n var key = fields[i];\n delete shallowCopy[key];\n }\n return shallowCopy;\n}\n\nexport default omit;","module.exports = __WEBPACK_EXTERNAL_MODULE__17__;","/* eslint no-loop-func: 0*/\nimport warning from 'warning';\nimport omit from 'omit.js';\nimport TreeNode from './TreeNode';\nimport { getSlotOptions, getOptionProps } from '../../_util/props-util';\nconst DRAG_SIDE_RANGE = 0.25;\nconst DRAG_MIN_GAP = 2;\n\nlet onlyTreeNodeWarned = false;\n\nexport function warnOnlyTreeNode() {\n if (onlyTreeNodeWarned) return;\n\n onlyTreeNodeWarned = true;\n warning(false, 'Tree only accept TreeNode as children.');\n}\n\nexport function arrDel(list, value) {\n const clone = list.slice();\n const index = clone.indexOf(value);\n if (index >= 0) {\n clone.splice(index, 1);\n }\n return clone;\n}\n\nexport function arrAdd(list, value) {\n const clone = list.slice();\n if (clone.indexOf(value) === -1) {\n clone.push(value);\n }\n return clone;\n}\n\nexport function posToArr(pos) {\n return pos.split('-');\n}\n\nexport function getPosition(level, index) {\n return `${level}-${index}`;\n}\n\nexport function isTreeNode(node) {\n return getSlotOptions(node).isTreeNode;\n}\n\nexport function getNodeChildren(children = []) {\n return children.filter(isTreeNode);\n}\n\nexport function isCheckDisabled(node) {\n const { disabled, disableCheckbox, checkable } = getOptionProps(node) || {};\n return !!(disabled || disableCheckbox) || checkable === false;\n}\n\nexport function traverseTreeNodes(treeNodes, callback) {\n function processNode(node, index, parent) {\n const children = node ? node.componentOptions.children : treeNodes;\n const pos = node ? getPosition(parent.pos, index) : 0;\n\n // Filter children\n const childList = getNodeChildren(children);\n\n // Process node if is not root\n if (node) {\n let key = node.key;\n if (!key && (key === undefined || key === null)) {\n key = pos;\n }\n const data = {\n node,\n index,\n pos,\n key,\n parentPos: parent.node ? parent.pos : null,\n };\n callback(data);\n }\n\n // Process children node\n childList.forEach((subNode, subIndex) => {\n processNode(subNode, subIndex, { node, pos });\n });\n }\n\n processNode(null);\n}\n\n/**\n * Use `rc-util` `toArray` to get the children list which keeps the key.\n * And return single node if children is only one(This can avoid `key` missing check).\n */\nexport function mapChildren(children = [], func) {\n const list = children.map(func);\n if (list.length === 1) {\n return list[0];\n }\n return list;\n}\n\nexport function getDragNodesKeys(treeNodes, node) {\n const { eventKey, pos } = getOptionProps(node);\n const dragNodesKeys = [];\n\n traverseTreeNodes(treeNodes, ({ key }) => {\n dragNodesKeys.push(key);\n });\n dragNodesKeys.push(eventKey || pos);\n return dragNodesKeys;\n}\n\nexport function calcDropPosition(event, treeNode) {\n const { clientY } = event;\n const { top, bottom, height } = treeNode.$refs.selectHandle.getBoundingClientRect();\n const des = Math.max(height * DRAG_SIDE_RANGE, DRAG_MIN_GAP);\n\n if (clientY <= top + des) {\n return -1;\n }\n if (clientY >= bottom - des) {\n return 1;\n }\n return 0;\n}\n\n/**\n * Return selectedKeys according with multiple prop\n * @param selectedKeys\n * @param props\n * @returns [string]\n */\nexport function calcSelectedKeys(selectedKeys, props) {\n if (!selectedKeys) {\n return undefined;\n }\n\n const { multiple } = props;\n if (multiple) {\n return selectedKeys.slice();\n }\n\n if (selectedKeys.length) {\n return [selectedKeys[0]];\n }\n return selectedKeys;\n}\n\n/**\n * Since React internal will convert key to string,\n * we need do this to avoid `checkStrictly` use number match\n */\n// function keyListToString (keyList) {\n// if (!keyList) return keyList\n// return keyList.map(key => String(key))\n// }\n\nconst internalProcessProps = (props = {}) => {\n return {\n props: omit(props, ['on', 'key', 'class', 'className', 'style']),\n on: props.on || {},\n class: props.class || props.className,\n style: props.style,\n key: props.key,\n };\n};\nexport function convertDataToTree(h, treeData, processor) {\n if (!treeData) return [];\n\n const { processProps = internalProcessProps } = processor || {};\n const list = Array.isArray(treeData) ? treeData : [treeData];\n return list.map(({ children, ...props }) => {\n const childrenNodes = convertDataToTree(h, children, processor);\n return <TreeNode {...processProps(props)}>{childrenNodes}</TreeNode>;\n });\n}\n\n// TODO: ========================= NEW LOGIC =========================\n/**\n * Calculate treeNodes entities. `processTreeEntity` is used for `rc-tree-select`\n * @param treeNodes\n * @param processTreeEntity User can customize the entity\n */\nexport function convertTreeToEntities(\n treeNodes,\n { initWrapper, processEntity, onProcessFinished } = {},\n) {\n const posEntities = new Map();\n const keyEntities = new Map();\n let wrapper = {\n posEntities,\n keyEntities,\n };\n\n if (initWrapper) {\n wrapper = initWrapper(wrapper) || wrapper;\n }\n\n traverseTreeNodes(treeNodes, item => {\n const { node, index, pos, key, parentPos } = item;\n const entity = { node, index, key, pos };\n\n posEntities.set(pos, entity);\n keyEntities.set(key, entity);\n\n // Fill children\n entity.parent = posEntities.get(parentPos);\n if (entity.parent) {\n entity.parent.children = entity.parent.children || [];\n entity.parent.children.push(entity);\n }\n\n if (processEntity) {\n processEntity(entity, wrapper);\n }\n });\n\n if (onProcessFinished) {\n onProcessFinished(wrapper);\n }\n\n return wrapper;\n}\n\n/**\n * Parse `checkedKeys` to { checkedKeys, halfCheckedKeys } style\n */\nexport function parseCheckedKeys(keys) {\n if (!keys) {\n return null;\n }\n\n // Convert keys to object format\n let keyProps;\n if (Array.isArray(keys)) {\n // [Legacy] Follow the api doc\n keyProps = {\n checkedKeys: keys,\n halfCheckedKeys: undefined,\n };\n } else if (typeof keys === 'object') {\n keyProps = {\n checkedKeys: keys.checked || undefined,\n halfCheckedKeys: keys.halfChecked || undefined,\n };\n } else {\n warning(false, '`checkedKeys` is not an array or an object');\n return null;\n }\n\n // keyProps.checkedKeys = keyListToString(keyProps.checkedKeys)\n // keyProps.halfCheckedKeys = keyListToString(keyProps.halfCheckedKeys)\n\n return keyProps;\n}\n\n/**\n * Conduct check state by the keyList. It will conduct up & from the provided key.\n * If the conduct path reach the disabled or already checked / unchecked node will stop conduct.\n * @param keyList list of keys\n * @param isCheck is check the node or not\n * @param keyEntities parsed by `convertTreeToEntities` function in Tree\n * @param checkStatus Can pass current checked status for process (usually for uncheck operation)\n * @returns {{checkedKeys: [], halfCheckedKeys: []}}\n */\nexport function conductCheck(keyList, isCheck, keyEntities, checkStatus = {}) {\n const checkedKeys = new Map();\n const halfCheckedKeys = new Map(); // Record the key has some child checked (include child half checked)\n\n (checkStatus.checkedKeys || []).forEach(key => {\n checkedKeys.set(key, true);\n });\n\n (checkStatus.halfCheckedKeys || []).forEach(key => {\n halfCheckedKeys.set(key, true);\n });\n\n // Conduct up\n function conductUp(key) {\n if (checkedKeys.get(key) === isCheck) return;\n\n const entity = keyEntities.get(key);\n if (!entity) return;\n\n const { children, parent, node } = entity;\n\n if (isCheckDisabled(node)) return;\n\n // Check child node checked status\n let everyChildChecked = true;\n let someChildChecked = false; // Child checked or half checked\n\n (children || [])\n .filter(child => !isCheckDisabled(child.node))\n .forEach(({ key: childKey }) => {\n const childChecked = checkedKeys.get(childKey);\n const childHalfChecked = halfCheckedKeys.get(childKey);\n\n if (childChecked || childHalfChecked) someChildChecked = true;\n if (!childChecked) everyChildChecked = false;\n });\n\n // Update checked status\n if (isCheck) {\n checkedKeys.set(key, everyChildChecked);\n } else {\n checkedKeys.set(key, false);\n }\n halfCheckedKeys.set(key, someChildChecked);\n\n if (parent) {\n conductUp(parent.key);\n }\n }\n\n // Conduct down\n function conductDown(key) {\n if (checkedKeys.get(key) === isCheck) return;\n\n const entity = keyEntities.get(key);\n if (!entity) return;\n\n const { children, node } = entity;\n\n if (isCheckDisabled(node)) return;\n\n checkedKeys.set(key, isCheck);\n\n (children || []).forEach(child => {\n conductDown(child.key);\n });\n }\n\n function conduct(key) {\n const entity = keyEntities.get(key);\n\n if (!entity) {\n warning(false, `'${key}' does not exist in the tree.`);\n return;\n }\n const { children, parent, node } = entity;\n checkedKeys.set(key, isCheck);\n\n if (isCheckDisabled(node)) return;\n\n // Conduct down\n (children || [])\n .filter(child => !isCheckDisabled(child.node))\n .forEach(child => {\n conductDown(child.key);\n });\n\n // Conduct up\n if (parent) {\n conductUp(parent.key);\n }\n }\n\n (keyList || []).forEach(key => {\n conduct(key);\n });\n\n const checkedKeyList = [];\n const halfCheckedKeyList = [];\n\n // Fill checked list\n for (const [key, value] of checkedKeys) {\n if (value) {\n checkedKeyList.push(key);\n }\n }\n\n // Fill half checked list\n for (const [key, value] of halfCheckedKeys) {\n if (!checkedKeys.get(key) && value) {\n halfCheckedKeyList.push(key);\n }\n }\n\n return {\n checkedKeys: checkedKeyList,\n halfCheckedKeys: halfCheckedKeyList,\n };\n}\n\n/**\n * If user use `autoExpandParent` we should get the list of parent node\n * @param keyList\n * @param keyEntities\n */\nexport function conductExpandParent(keyList, keyEntities) {\n const expandedKeys = new Map();\n\n function conductUp(key) {\n if (expandedKeys.get(key)) return;\n\n const entity = keyEntities.get(key);\n if (!entity) return;\n\n expandedKeys.set(key, true);\n\n const { parent, node } = entity;\n const props = getOptionProps(node);\n if (props && props.disabled) return;\n\n if (parent) {\n conductUp(parent.key);\n }\n }\n\n (keyList || []).forEach(key => {\n conductUp(key);\n });\n\n return [...expandedKeys.keys()];\n}\n\n/**\n * Returns only the data- and aria- key/value pairs\n * @param {object} props\n */\nexport function getDataAndAria(props) {\n return Object.keys(props).reduce((prev, key) => {\n if (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-') {\n prev[key] = props[key];\n }\n return prev;\n }, {});\n}\n","var now = require('performance-now')\n , root = typeof window === 'undefined' ? global : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = root['request' + suffix]\n , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf = root[vendors[i] + 'Cancel' + suffix]\n || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n var last = 0\n , id = 0\n , queue = []\n , frameDuration = 1000 / 60\n\n raf = function(callback) {\n if(queue.length === 0) {\n var _now = now()\n , next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for(var i = 0; i < cp.length; i++) {\n if(!cp[i].cancelled) {\n try{\n cp[i].callback(last)\n } catch(e) {\n setTimeout(function() { throw e }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n })\n return id\n }\n\n caf = function(handle) {\n for(var i = 0; i < queue.length; i++) {\n if(queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nmodule.exports = function(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf\n object.cancelAnimationFrame = caf\n}\n","import addDOMEventListener from 'add-dom-event-listener';\n\nexport default function addEventListenerWrap(target, eventType, cb, option) {\n return addDOMEventListener(target, eventType, cb, option);\n}\n","\"use strict\";\n\nexports.__esModule = true;\n\nvar _isIterable2 = require(\"../core-js/is-iterable\");\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = require(\"../core-js/get-iterator\");\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if ((0, _isIterable3.default)(Object(arr))) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();","import animate from './css-animation';\nconst noop = () => {};\nconst getTransitionProps = (transitionName, opt = {}) => {\n const { beforeEnter, enter, afterEnter, leave, afterLeave, appear = true, tag, nativeOn } = opt;\n const transitionProps = {\n props: {\n appear,\n css: false,\n },\n on: {\n beforeEnter: beforeEnter || noop,\n enter:\n enter ||\n ((el, done) => {\n animate(el, `${transitionName}-enter`, done);\n }),\n afterEnter: afterEnter || noop,\n leave:\n leave ||\n ((el, done) => {\n animate(el, `${transitionName}-leave`, done);\n }),\n afterLeave: afterLeave || noop,\n },\n nativeOn,\n };\n // transition-group\n if (tag) {\n transitionProps.tag = tag;\n }\n return transitionProps;\n};\n\nexport default getTransitionProps;\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n install: function install(Vue) {\n var options =\n arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var directiveName = options.name || \"ref\";\n Vue.directive(directiveName, {\n bind: function bind(el, binding, vnode) {\n Vue.nextTick(function() {\n binding.value(vnode.componentInstance || el, vnode.key);\n });\n binding.value(vnode.componentInstance || el, vnode.key);\n },\n update: function update(el, binding, vnode, oldVnode) {\n if (oldVnode.data && oldVnode.data.directives) {\n var oldBinding = oldVnode.data.directives.find(function(directive) {\n var name = directive.name;\n return name === directiveName;\n });\n if (oldBinding && oldBinding.value !== binding.value) {\n oldBinding && oldBinding.value(null, oldVnode.key);\n binding.value(vnode.componentInstance || el, vnode.key);\n return;\n }\n }\n // Should not have this situation\n if (\n vnode.componentInstance !== oldVnode.componentInstance ||\n vnode.elm !== oldVnode.elm\n ) {\n binding.value(vnode.componentInstance || el, vnode.key);\n }\n },\n unbind: function unbind(el, binding, vnode) {\n binding.value(null, vnode.key);\n }\n });\n }\n};\n","import PropTypes from '../_util/vue-types';\nimport defaultLocaleData from './default';\n\nexport default {\n name: 'LocaleReceiver',\n props: {\n componentName: PropTypes.string.def('global'),\n defaultLocale: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n children: PropTypes.func,\n },\n inject: {\n localeData: { default: () => ({}) },\n },\n methods: {\n getLocale() {\n const { componentName, defaultLocale } = this;\n const locale = defaultLocale || defaultLocaleData[componentName || 'global'];\n const { antLocale } = this.localeData;\n\n const localeFromContext = componentName && antLocale ? antLocale[componentName] : {};\n return {\n ...(typeof locale === 'function' ? locale() : locale),\n ...(localeFromContext || {}),\n };\n },\n\n getLocaleCode() {\n const { antLocale } = this.localeData;\n const localeCode = antLocale && antLocale.locale;\n // Had use LocaleProvide but didn't set locale\n if (antLocale && antLocale.exist && !localeCode) {\n return defaultLocaleData.locale;\n }\n return localeCode;\n },\n },\n render() {\n const { $scopedSlots } = this;\n const children = this.children || $scopedSlots.default;\n const { antLocale } = this.localeData;\n return children(this.getLocale(), this.getLocaleCode(), antLocale);\n },\n};\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar vendorPrefix;\nvar jsCssMap = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n // IE did it wrong again ...\n ms: '-ms-',\n O: '-o-'\n};\n\nfunction getVendorPrefix() {\n if (vendorPrefix !== undefined) {\n return vendorPrefix;\n }\n\n vendorPrefix = '';\n var style = document.createElement('p').style;\n var testProp = 'Transform';\n\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n\n return vendorPrefix;\n}\n\nfunction getTransitionName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"TransitionProperty\") : 'transitionProperty';\n}\n\nfunction getTransformName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"Transform\") : 'transform';\n}\nfunction setTransitionProperty(node, value) {\n var name = getTransitionName();\n\n if (name) {\n node.style[name] = value;\n\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\n\nfunction setTransform(node, value) {\n var name = getTransformName();\n\n if (name) {\n node.style[name] = value;\n\n if (name !== 'transform') {\n node.style.transform = value;\n }\n }\n}\n\nfunction getTransitionProperty(node) {\n return node.style.transitionProperty || node.style[getTransitionName()];\n}\nfunction getTransformXY(node) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n\n if (transform && transform !== 'none') {\n var matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n return {\n x: parseFloat(matrix[12] || matrix[4], 0),\n y: parseFloat(matrix[13] || matrix[5], 0)\n };\n }\n\n return {\n x: 0,\n y: 0\n };\n}\nvar matrix2d = /matrix\\((.*)\\)/;\nvar matrix3d = /matrix3d\\((.*)\\)/;\nfunction setTransformXY(node, xy) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n\n if (transform && transform !== 'none') {\n var arr;\n var match2d = transform.match(matrix2d);\n\n if (match2d) {\n match2d = match2d[1];\n arr = match2d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[4] = xy.x;\n arr[5] = xy.y;\n setTransform(node, \"matrix(\".concat(arr.join(','), \")\"));\n } else {\n var match3d = transform.match(matrix3d)[1];\n arr = match3d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[12] = xy.x;\n arr[13] = xy.y;\n setTransform(node, \"matrix3d(\".concat(arr.join(','), \")\"));\n }\n } else {\n setTransform(node, \"translateX(\".concat(xy.x, \"px) translateY(\").concat(xy.y, \"px) translateZ(0)\"));\n }\n}\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\nvar getComputedStyleX; // https://stackoverflow.com/a/3485654/3040605\n\nfunction forceRelayout(elem) {\n var originalStyle = elem.style.display;\n elem.style.display = 'none';\n elem.offsetHeight; // eslint-disable-line\n\n elem.style.display = originalStyle;\n}\n\nfunction css(el, name, v) {\n var value = v;\n\n if (_typeof(name) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n\n return undefined;\n }\n\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value = \"\".concat(value, \"px\");\n }\n\n el.style[name] = value;\n return undefined;\n }\n\n return getComputedStyleX(el, name);\n}\n\nfunction getClientPosition(elem) {\n var box;\n var x;\n var y;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement; // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n\n box = elem.getBoundingClientRect(); // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top; // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n var method = \"scroll\".concat(top ? 'Top' : 'Left');\n\n if (typeof ret !== 'number') {\n var d = w.document; // ie6,7,8 standard mode\n\n ret = d.documentElement[method];\n\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\n\n\nfunction isWindow(obj) {\n // must use == for ie8\n\n /* eslint eqeqeq:0 */\n return obj !== null && obj !== undefined && obj == obj.window;\n}\n\nfunction getDocument(node) {\n if (isWindow(node)) {\n return node.document;\n }\n\n if (node.nodeType === 9) {\n return node;\n }\n\n return node.ownerDocument;\n}\n\nfunction _getComputedStyle(elem, name, cs) {\n var computedStyle = cs;\n var val = '';\n var d = getDocument(elem);\n computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null); // https://github.com/kissyteam/kissy/issues/61\n\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp(\"^(\".concat(RE_NUM, \")(?!px)[a-z%]+$\"), 'i');\n\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name]; // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT]; // prevent flashing of content\n\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT]; // Put in the new values to get a computed value out\n\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX; // Revert the changed values\n\n style[LEFT] = left;\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n\n return ret === '' ? 'auto' : ret;\n}\n\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction getOffsetDirection(dir, option) {\n if (dir === 'left') {\n return option.useCssRight ? 'right' : dir;\n }\n\n return option.useCssBottom ? 'bottom' : dir;\n}\n\nfunction oppositeOffsetDirection(dir) {\n if (dir === 'left') {\n return 'right';\n } else if (dir === 'right') {\n return 'left';\n } else if (dir === 'top') {\n return 'bottom';\n } else if (dir === 'bottom') {\n return 'top';\n }\n} // 设置 elem 相对 elem.ownerDocument 的坐标\n\n\nfunction setLeftTop(elem, offset, option) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n\n var presetH = -999;\n var presetV = -999;\n var horizontalProperty = getOffsetDirection('left', option);\n var verticalProperty = getOffsetDirection('top', option);\n var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty);\n var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);\n\n if (horizontalProperty !== 'left') {\n presetH = 999;\n }\n\n if (verticalProperty !== 'top') {\n presetV = 999;\n }\n\n var originalTransition = '';\n var originalOffset = getOffset(elem);\n\n if ('left' in offset || 'top' in offset) {\n originalTransition = getTransitionProperty(elem) || '';\n setTransitionProperty(elem, 'none');\n }\n\n if ('left' in offset) {\n elem.style[oppositeHorizontalProperty] = '';\n elem.style[horizontalProperty] = \"\".concat(presetH, \"px\");\n }\n\n if ('top' in offset) {\n elem.style[oppositeVerticalProperty] = '';\n elem.style[verticalProperty] = \"\".concat(presetV, \"px\");\n } // force relayout\n\n\n forceRelayout(elem);\n var old = getOffset(elem);\n var originalStyle = {};\n\n for (var key in offset) {\n if (offset.hasOwnProperty(key)) {\n var dir = getOffsetDirection(key, option);\n var preset = key === 'left' ? presetH : presetV;\n var off = originalOffset[key] - old[key];\n\n if (dir === key) {\n originalStyle[dir] = preset + off;\n } else {\n originalStyle[dir] = preset - off;\n }\n }\n }\n\n css(elem, originalStyle); // force relayout\n\n forceRelayout(elem);\n\n if ('left' in offset || 'top' in offset) {\n setTransitionProperty(elem, originalTransition);\n }\n\n var ret = {};\n\n for (var _key in offset) {\n if (offset.hasOwnProperty(_key)) {\n var _dir = getOffsetDirection(_key, option);\n\n var _off = offset[_key] - originalOffset[_key];\n\n if (_key === _dir) {\n ret[_dir] = originalStyle[_dir] + _off;\n } else {\n ret[_dir] = originalStyle[_dir] - _off;\n }\n }\n }\n\n css(elem, ret);\n}\n\nfunction setTransform$1(elem, offset) {\n var originalOffset = getOffset(elem);\n var originalXY = getTransformXY(elem);\n var resultXY = {\n x: originalXY.x,\n y: originalXY.y\n };\n\n if ('left' in offset) {\n resultXY.x = originalXY.x + offset.left - originalOffset.left;\n }\n\n if ('top' in offset) {\n resultXY.y = originalXY.y + offset.top - originalOffset.top;\n }\n\n setTransformXY(elem, resultXY);\n}\n\nfunction setOffset(elem, offset, option) {\n if (option.ignoreShake) {\n var oriOffset = getOffset(elem);\n var oLeft = oriOffset.left.toFixed(0);\n var oTop = oriOffset.top.toFixed(0);\n var tLeft = offset.left.toFixed(0);\n var tTop = offset.top.toFixed(0);\n\n if (oLeft === tLeft && oTop === tTop) {\n return;\n }\n }\n\n if (option.useCssRight || option.useCssBottom) {\n setLeftTop(elem, offset, option);\n } else if (option.useCssTransform && getTransformName() in document.body.style) {\n setTransform$1(elem, offset);\n } else {\n setLeftTop(elem, offset, option);\n }\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name; // Remember the old values, and insert the new ones\n\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem); // Revert the old values\n\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop;\n var j;\n var i;\n\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = void 0;\n\n if (prop === 'border') {\n cssProp = \"\".concat(prop).concat(which[i], \"Width\");\n } else {\n cssProp = prop + which[i];\n }\n\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n\n return value;\n}\n\nvar domUtils = {\n getParent: function getParent(element) {\n var parent = element;\n\n do {\n if (parent.nodeType === 11 && parent.host) {\n parent = parent.host;\n } else {\n parent = parent.parentNode;\n }\n } while (parent && parent.nodeType !== 1 && parent.nodeType !== 9);\n\n return parent;\n }\n};\neach(['Width', 'Height'], function (name) {\n domUtils[\"doc\".concat(name)] = function (refWin) {\n var d = refWin.document;\n return Math.max( // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement[\"scroll\".concat(name)], // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body[\"scroll\".concat(name)], domUtils[\"viewport\".concat(name)](d));\n };\n\n domUtils[\"viewport\".concat(name)] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = \"client\".concat(name);\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop]; // 标准模式取 documentElement\n // backcompat 取 body\n\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\n\nfunction getWH(elem, name, ex) {\n var extra = ex;\n\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.getBoundingClientRect().width : elem.getBoundingClientRect().height;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n var cssBoxValue = 0;\n\n if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {\n borderBoxValue = undefined; // Fall back to computed then un computed css if necessary\n\n cssBoxValue = getComputedStyleX(elem, name);\n\n if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n } // Normalize '', auto, and prepare for extra\n\n\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which);\n }\n\n return cssBoxValue;\n } else if (borderBoxValueOrIsBorderBox) {\n if (extra === BORDER_INDEX) {\n return val;\n }\n\n return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which) : getPBMWidth(elem, ['margin'], which));\n }\n\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n}; // fix #119 : https://github.com/kissyteam/kissy/issues/119\n\nfunction getWHIgnoreDisplay() {\n for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var val;\n var elem = args[0]; // in case elem is window\n // elem.offsetWidth === undefined\n\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n\n return val;\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n\n domUtils[\"outer\".concat(first)] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, v) {\n var val = v;\n\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which);\n }\n\n return css(elem, name, val);\n }\n\n return undefined;\n }\n\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\nfunction mix(to, from) {\n for (var i in from) {\n if (from.hasOwnProperty(i)) {\n to[i] = from[i];\n }\n }\n\n return to;\n}\n\nvar utils = {\n getWindow: function getWindow(node) {\n if (node && node.document && node.setTimeout) {\n return node;\n }\n\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n getDocument: getDocument,\n offset: function offset(el, value, option) {\n if (typeof value !== 'undefined') {\n setOffset(el, value, option || {});\n } else {\n return getOffset(el);\n }\n },\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var i;\n var ret = {};\n\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n\n var overflow = obj.overflow;\n\n if (overflow) {\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n\n return ret;\n },\n mix: mix,\n getWindowScrollLeft: function getWindowScrollLeft(w) {\n return getScrollLeft(w);\n },\n getWindowScrollTop: function getWindowScrollTop(w) {\n return getScrollTop(w);\n },\n merge: function merge() {\n var ret = {};\n\n for (var i = 0; i < arguments.length; i++) {\n utils.mix(ret, i < 0 || arguments.length <= i ? undefined : arguments[i]);\n }\n\n return ret;\n },\n viewportWidth: 0,\n viewportHeight: 0\n};\nmix(utils, domUtils);\n\n/**\n * 得到会导致元素显示不全的祖先元素\n */\n\nvar getParent = utils.getParent;\n\nfunction getOffsetParent(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return null;\n } // ie 这个也不是完全可行\n\n /*\n <div style=\"width: 50px;height: 100px;overflow: hidden\">\n <div style=\"width: 50px;height: 100px;position: relative;\" id=\"d6\">\n 元素 6 高 100px 宽 50px<br/>\n </div>\n </div>\n */\n // element.offsetParent does the right thing in ie7 and below. Return parent with layout!\n // In other browsers it only includes elements with position absolute, relative or\n // fixed, not elements with overflow set to auto or scroll.\n // if (UA.ie && ieMode < 8) {\n // return element.offsetParent;\n // }\n // 统一的 offsetParent 方法\n\n\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent;\n var positionStyle = utils.css(element, 'position');\n var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';\n\n if (!skipStatic) {\n return element.nodeName.toLowerCase() === 'html' ? null : getParent(element);\n }\n\n for (parent = getParent(element); parent && parent !== body && parent.nodeType !== 9; parent = getParent(parent)) {\n positionStyle = utils.css(parent, 'position');\n\n if (positionStyle !== 'static') {\n return parent;\n }\n }\n\n return null;\n}\n\nvar getParent$1 = utils.getParent;\nfunction isAncestorFixed(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return false;\n }\n\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent = null;\n\n for (parent = getParent$1(element); parent && parent !== body; parent = getParent$1(parent)) {\n var positionStyle = utils.css(parent, 'position');\n\n if (positionStyle === 'fixed') {\n return true;\n }\n }\n\n return false;\n}\n\n/**\n * 获得元素的显示部分的区域\n */\n\nfunction getVisibleRectForElement(element, alwaysByViewport) {\n var visibleRect = {\n left: 0,\n right: Infinity,\n top: 0,\n bottom: Infinity\n };\n var el = getOffsetParent(element);\n var doc = utils.getDocument(element);\n var win = doc.defaultView || doc.parentWindow;\n var body = doc.body;\n var documentElement = doc.documentElement; // Determine the size of the visible rect by climbing the dom accounting for\n // all scrollable containers.\n\n while (el) {\n // clientWidth is zero for inline block elements in ie.\n if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) && // body may have overflow set on it, yet we still get the entire\n // viewport. In some browsers, el.offsetParent may be\n // document.documentElement, so check for that too.\n el !== body && el !== documentElement && utils.css(el, 'overflow') !== 'visible') {\n var pos = utils.offset(el); // add border\n\n pos.left += el.clientLeft;\n pos.top += el.clientTop;\n visibleRect.top = Math.max(visibleRect.top, pos.top);\n visibleRect.right = Math.min(visibleRect.right, // consider area without scrollBar\n pos.left + el.clientWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, pos.top + el.clientHeight);\n visibleRect.left = Math.max(visibleRect.left, pos.left);\n } else if (el === body || el === documentElement) {\n break;\n }\n\n el = getOffsetParent(el);\n } // Set element position to fixed\n // make sure absolute element itself don't affect it's visible area\n // https://github.com/ant-design/ant-design/issues/7601\n\n\n var originalPosition = null;\n\n if (!utils.isWindow(element) && element.nodeType !== 9) {\n originalPosition = element.style.position;\n var position = utils.css(element, 'position');\n\n if (position === 'absolute') {\n element.style.position = 'fixed';\n }\n }\n\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var viewportHeight = utils.viewportHeight(win);\n var documentWidth = documentElement.scrollWidth;\n var documentHeight = documentElement.scrollHeight; // scrollXXX on html is sync with body which means overflow: hidden on body gets wrong scrollXXX.\n // We should cut this ourself.\n\n var bodyStyle = window.getComputedStyle(body);\n\n if (bodyStyle.overflowX === 'hidden') {\n documentWidth = win.innerWidth;\n }\n\n if (bodyStyle.overflowY === 'hidden') {\n documentHeight = win.innerHeight;\n } // Reset element position after calculate the visible area\n\n\n if (element.style) {\n element.style.position = originalPosition;\n }\n\n if (alwaysByViewport || isAncestorFixed(element)) {\n // Clip by viewport's size.\n visibleRect.left = Math.max(visibleRect.left, scrollX);\n visibleRect.top = Math.max(visibleRect.top, scrollY);\n visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);\n } else {\n // Clip by document's size.\n var maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);\n visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);\n var maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);\n visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);\n }\n\n return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null;\n}\n\nfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n var pos = utils.clone(elFuturePos);\n var size = {\n width: elRegion.width,\n height: elRegion.height\n };\n\n if (overflow.adjustX && pos.left < visibleRect.left) {\n pos.left = visibleRect.left;\n } // Left edge inside and right edge outside viewport, try to resize it.\n\n\n if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {\n size.width -= pos.left + size.width - visibleRect.right;\n } // Right edge outside viewport, try to move it.\n\n\n if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n // 保证左边界和可视区域左边界对齐\n pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n } // Top edge outside viewport, try to move it.\n\n\n if (overflow.adjustY && pos.top < visibleRect.top) {\n pos.top = visibleRect.top;\n } // Top edge inside and bottom edge outside viewport, try to resize it.\n\n\n if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {\n size.height -= pos.top + size.height - visibleRect.bottom;\n } // Bottom edge outside viewport, try to move it.\n\n\n if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {\n // 保证上边界和可视区域上边界对齐\n pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);\n }\n\n return utils.mix(pos, size);\n}\n\nfunction getRegion(node) {\n var offset;\n var w;\n var h;\n\n if (!utils.isWindow(node) && node.nodeType !== 9) {\n offset = utils.offset(node);\n w = utils.outerWidth(node);\n h = utils.outerHeight(node);\n } else {\n var win = utils.getWindow(node);\n offset = {\n left: utils.getWindowScrollLeft(win),\n top: utils.getWindowScrollTop(win)\n };\n w = utils.viewportWidth(win);\n h = utils.viewportHeight(win);\n }\n\n offset.width = w;\n offset.height = h;\n return offset;\n}\n\n/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\n */\nfunction getAlignOffset(region, align) {\n var V = align.charAt(0);\n var H = align.charAt(1);\n var w = region.width;\n var h = region.height;\n var x = region.left;\n var y = region.top;\n\n if (V === 'c') {\n y += h / 2;\n } else if (V === 'b') {\n y += h;\n }\n\n if (H === 'c') {\n x += w / 2;\n } else if (H === 'r') {\n x += w;\n }\n\n return {\n left: x,\n top: y\n };\n}\n\nfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n var p1 = getAlignOffset(refNodeRegion, points[1]);\n var p2 = getAlignOffset(elRegion, points[0]);\n var diff = [p2.left - p1.left, p2.top - p1.top];\n return {\n left: Math.round(elRegion.left - diff[0] + offset[0] - targetOffset[0]),\n top: Math.round(elRegion.top - diff[1] + offset[1] - targetOffset[1])\n };\n}\n\n/**\n * align dom node flexibly\n * @author yiminghe@gmail.com\n */\n\nfunction isFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;\n}\n\nfunction isFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom;\n}\n\nfunction isCompleteFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left;\n}\n\nfunction isCompleteFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top;\n}\n\nfunction flip(points, reg, map) {\n var ret = [];\n utils.each(points, function (p) {\n ret.push(p.replace(reg, function (m) {\n return map[m];\n }));\n });\n return ret;\n}\n\nfunction flipOffset(offset, index) {\n offset[index] = -offset[index];\n return offset;\n}\n\nfunction convertOffset(str, offsetLen) {\n var n;\n\n if (/%$/.test(str)) {\n n = parseInt(str.substring(0, str.length - 1), 10) / 100 * offsetLen;\n } else {\n n = parseInt(str, 10);\n }\n\n return n || 0;\n}\n\nfunction normalizeOffset(offset, el) {\n offset[0] = convertOffset(offset[0], el.width);\n offset[1] = convertOffset(offset[1], el.height);\n}\n/**\n * @param el\n * @param tgtRegion 参照节点所占的区域: { left, top, width, height }\n * @param align\n */\n\n\nfunction doAlign(el, tgtRegion, align, isTgtRegionVisible) {\n var points = align.points;\n var offset = align.offset || [0, 0];\n var targetOffset = align.targetOffset || [0, 0];\n var overflow = align.overflow;\n var source = align.source || el;\n offset = [].concat(offset);\n targetOffset = [].concat(targetOffset);\n overflow = overflow || {};\n var newOverflowCfg = {};\n var fail = 0;\n var alwaysByViewport = !!(overflow && overflow.alwaysByViewport); // 当前节点可以被放置的显示区域\n\n var visibleRect = getVisibleRectForElement(source, alwaysByViewport); // 当前节点所占的区域, left/top/width/height\n\n var elRegion = getRegion(source); // 将 offset 转换成数值,支持百分比\n\n normalizeOffset(offset, elRegion);\n normalizeOffset(targetOffset, tgtRegion); // 当前节点将要被放置的位置\n\n var elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset); // 当前节点将要所处的区域\n\n var newElRegion = utils.merge(elRegion, elFuturePos); // 如果可视区域不能完全放置当前节点时允许调整\n\n if (visibleRect && (overflow.adjustX || overflow.adjustY) && isTgtRegionVisible) {\n if (overflow.adjustX) {\n // 如果横向不能放下\n if (isFailX(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var newPoints = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l'\n }); // 偏移量也反下\n\n var newOffset = flipOffset(offset, 0);\n var newTargetOffset = flipOffset(targetOffset, 0);\n var newElFuturePos = getElFuturePos(elRegion, tgtRegion, newPoints, newOffset, newTargetOffset);\n\n if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = newPoints;\n offset = newOffset;\n targetOffset = newTargetOffset;\n }\n }\n }\n\n if (overflow.adjustY) {\n // 如果纵向不能放下\n if (isFailY(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var _newPoints = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't'\n }); // 偏移量也反下\n\n\n var _newOffset = flipOffset(offset, 1);\n\n var _newTargetOffset = flipOffset(targetOffset, 1);\n\n var _newElFuturePos = getElFuturePos(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset);\n\n if (!isCompleteFailY(_newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = _newPoints;\n offset = _newOffset;\n targetOffset = _newTargetOffset;\n }\n }\n } // 如果失败,重新计算当前节点将要被放置的位置\n\n\n if (fail) {\n elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset);\n utils.mix(newElRegion, elFuturePos);\n }\n\n var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);\n var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect); // 检查反下后的位置是否可以放下了,如果仍然放不下:\n // 1. 复原修改过的定位参数\n\n if (isStillFailX || isStillFailY) {\n var _newPoints2 = points; // 重置对应部分的翻转逻辑\n\n if (isStillFailX) {\n _newPoints2 = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l'\n });\n }\n\n if (isStillFailY) {\n _newPoints2 = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't'\n });\n }\n\n points = _newPoints2;\n offset = align.offset || [0, 0];\n targetOffset = align.targetOffset || [0, 0];\n } // 2. 只有指定了可以调整当前方向才调整\n\n\n newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;\n newOverflowCfg.adjustY = overflow.adjustY && isStillFailY; // 确实要调整,甚至可能会调整高度宽度\n\n if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {\n newElRegion = adjustForViewport(elFuturePos, elRegion, visibleRect, newOverflowCfg);\n }\n } // need judge to in case set fixed with in css on height auto element\n\n\n if (newElRegion.width !== elRegion.width) {\n utils.css(source, 'width', utils.width(source) + newElRegion.width - elRegion.width);\n }\n\n if (newElRegion.height !== elRegion.height) {\n utils.css(source, 'height', utils.height(source) + newElRegion.height - elRegion.height);\n } // https://github.com/kissyteam/kissy/issues/190\n // 相对于屏幕位置没变,而 left/top 变了\n // 例如 <div 'relative'><el absolute></div>\n\n\n utils.offset(source, {\n left: newElRegion.left,\n top: newElRegion.top\n }, {\n useCssRight: align.useCssRight,\n useCssBottom: align.useCssBottom,\n useCssTransform: align.useCssTransform,\n ignoreShake: align.ignoreShake\n });\n return {\n points: points,\n offset: offset,\n targetOffset: targetOffset,\n overflow: newOverflowCfg\n };\n}\n/**\n * 2012-04-26 yiminghe@gmail.com\n * - 优化智能对齐算法\n * - 慎用 resizeXX\n *\n * 2011-07-13 yiminghe@gmail.com note:\n * - 增加智能对齐,以及大小调整选项\n **/\n\nfunction isOutOfVisibleRect(target, alwaysByViewport) {\n var visibleRect = getVisibleRectForElement(target, alwaysByViewport);\n var targetRegion = getRegion(target);\n return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;\n}\n\nfunction alignElement(el, refNode, align) {\n var target = align.target || refNode;\n var refNodeRegion = getRegion(target);\n var isTargetNotOutOfVisible = !isOutOfVisibleRect(target, align.overflow && align.overflow.alwaysByViewport);\n return doAlign(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\n\nalignElement.__getOffsetParent = getOffsetParent;\nalignElement.__getVisibleRectForElement = getVisibleRectForElement;\n\n/**\n * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.\n * If client position provided, will internal convert to page position.\n */\n\nfunction alignPoint(el, tgtPoint, align) {\n var pageX;\n var pageY;\n var doc = utils.getDocument(el);\n var win = doc.defaultView || doc.parentWindow;\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var viewportHeight = utils.viewportHeight(win);\n\n if ('pageX' in tgtPoint) {\n pageX = tgtPoint.pageX;\n } else {\n pageX = scrollX + tgtPoint.clientX;\n }\n\n if ('pageY' in tgtPoint) {\n pageY = tgtPoint.pageY;\n } else {\n pageY = scrollY + tgtPoint.clientY;\n }\n\n var tgtRegion = {\n left: pageX,\n top: pageY,\n width: 0,\n height: 0\n };\n var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight; // Provide default target point\n\n var points = [align.points[0], 'cc'];\n return doAlign(el, tgtRegion, _objectSpread2({}, align, {\n points: points\n }), pointInView);\n}\n\nexport default alignElement;\nexport { alignElement, alignPoint };\n//# sourceMappingURL=index.js.map\n","import contains from '../vc-util/Dom/contains';\nexport function buffer(fn, ms) {\n let timer;\n\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n\n function bufferFn() {\n clear();\n timer = setTimeout(fn, ms);\n }\n\n bufferFn.clear = clear;\n\n return bufferFn;\n}\n\nexport function isSamePoint(prev, next) {\n if (prev === next) return true;\n if (!prev || !next) return false;\n\n if ('pageX' in next && 'pageY' in next) {\n return prev.pageX === next.pageX && prev.pageY === next.pageY;\n }\n\n if ('clientX' in next && 'clientY' in next) {\n return prev.clientX === next.clientX && prev.clientY === next.clientY;\n }\n\n return false;\n}\n\nexport function isWindow(obj) {\n return obj && typeof obj === 'object' && obj.window === obj;\n}\n\nexport function isSimilarValue(val1, val2) {\n const int1 = Math.floor(val1);\n const int2 = Math.floor(val2);\n return Math.abs(int1 - int2) <= 1;\n}\n\nexport function restoreFocus(activeElement, container) {\n // Focus back if is in the container\n if (activeElement !== document.activeElement && contains(container, activeElement)) {\n activeElement.focus();\n }\n}\n","import PropTypes from '../_util/vue-types';\nimport { alignElement, alignPoint } from 'dom-align';\nimport addEventListener from '../vc-util/Dom/addEventListener';\nimport { isWindow, buffer, isSamePoint, isSimilarValue, restoreFocus } from './util';\nimport { cloneElement } from '../_util/vnode.js';\nimport clonedeep from 'lodash/cloneDeep';\nimport { getSlot, getListeners } from '../_util/props-util';\n\nfunction getElement(func) {\n if (typeof func !== 'function' || !func) return null;\n return func();\n}\n\nfunction getPoint(point) {\n if (typeof point !== 'object' || !point) return null;\n return point;\n}\n\nexport default {\n props: {\n childrenProps: PropTypes.object,\n align: PropTypes.object.isRequired,\n target: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).def(() => window),\n monitorBufferTime: PropTypes.number.def(50),\n monitorWindowResize: PropTypes.bool.def(false),\n disabled: PropTypes.bool.def(false),\n },\n data() {\n this.aligned = false;\n return {};\n },\n mounted() {\n this.$nextTick(() => {\n this.prevProps = { ...this.$props };\n const props = this.$props;\n // if parent ref not attached .... use document.getElementById\n !this.aligned && this.forceAlign();\n if (!props.disabled && props.monitorWindowResize) {\n this.startMonitorWindowResize();\n }\n });\n },\n updated() {\n this.$nextTick(() => {\n const prevProps = this.prevProps;\n const props = this.$props;\n let reAlign = false;\n if (!props.disabled) {\n const source = this.$el;\n const sourceRect = source ? source.getBoundingClientRect() : null;\n\n if (prevProps.disabled) {\n reAlign = true;\n } else {\n const lastElement = getElement(prevProps.target);\n const currentElement = getElement(props.target);\n const lastPoint = getPoint(prevProps.target);\n const currentPoint = getPoint(props.target);\n if (isWindow(lastElement) && isWindow(currentElement)) {\n // Skip if is window\n reAlign = false;\n } else if (\n lastElement !== currentElement || // Element change\n (lastElement && !currentElement && currentPoint) || // Change from element to point\n (lastPoint && currentPoint && currentElement) || // Change from point to element\n (currentPoint && !isSamePoint(lastPoint, currentPoint))\n ) {\n reAlign = true;\n }\n\n // If source element size changed\n const preRect = this.sourceRect || {};\n if (\n !reAlign &&\n source &&\n (!isSimilarValue(preRect.width, sourceRect.width) ||\n !isSimilarValue(preRect.height, sourceRect.height))\n ) {\n reAlign = true;\n }\n }\n this.sourceRect = sourceRect;\n }\n\n if (reAlign) {\n this.forceAlign();\n }\n\n if (props.monitorWindowResize && !props.disabled) {\n this.startMonitorWindowResize();\n } else {\n this.stopMonitorWindowResize();\n }\n this.prevProps = { ...this.$props, align: clonedeep(this.$props.align) };\n });\n },\n beforeDestroy() {\n this.stopMonitorWindowResize();\n },\n methods: {\n startMonitorWindowResize() {\n if (!this.resizeHandler) {\n this.bufferMonitor = buffer(this.forceAlign, this.$props.monitorBufferTime);\n this.resizeHandler = addEventListener(window, 'resize', this.bufferMonitor);\n }\n },\n\n stopMonitorWindowResize() {\n if (this.resizeHandler) {\n this.bufferMonitor.clear();\n this.resizeHandler.remove();\n this.resizeHandler = null;\n }\n },\n\n forceAlign() {\n const { disabled, target, align } = this.$props;\n if (!disabled && target) {\n const source = this.$el;\n const listeners = getListeners(this);\n let result;\n const element = getElement(target);\n const point = getPoint(target);\n\n // IE lose focus after element realign\n // We should record activeElement and restore later\n const activeElement = document.activeElement;\n\n if (element) {\n result = alignElement(source, element, align);\n } else if (point) {\n result = alignPoint(source, point, align);\n }\n restoreFocus(activeElement, source);\n this.aligned = true;\n listeners.align && listeners.align(source, result);\n }\n },\n },\n\n render() {\n const { childrenProps } = this.$props;\n const child = getSlot(this)[0];\n if (child && childrenProps) {\n return cloneElement(child, { props: childrenProps });\n }\n return child;\n },\n};\n","// based on vc-align 2.4.5\nimport Align from './Align';\nexport default Align;\n","import PropTypes from '../_util/vue-types';\n\nexport default {\n props: {\n visible: PropTypes.bool,\n hiddenClassName: PropTypes.string,\n },\n render() {\n const { hiddenClassName, visible } = this.$props;\n let children = null;\n if (hiddenClassName || !this.$slots.default || this.$slots.default.length > 1) {\n const cls = '';\n if (!visible && hiddenClassName) {\n // cls += ` ${hiddenClassName}`\n }\n children = <div class={cls}>{this.$slots.default}</div>;\n } else {\n children = this.$slots.default[0];\n }\n return children;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport LazyRenderBox from './LazyRenderBox';\nimport { getListeners } from '../_util/props-util';\n\nexport default {\n props: {\n hiddenClassName: PropTypes.string.def(''),\n prefixCls: PropTypes.string,\n visible: PropTypes.bool,\n },\n render() {\n const { prefixCls, visible, hiddenClassName } = this.$props;\n const divProps = {\n on: getListeners(this),\n };\n\n return (\n <div {...divProps} class={!visible ? hiddenClassName : ''}>\n <LazyRenderBox class={`${prefixCls}-content`} visible={visible}>\n {this.$slots.default}\n </LazyRenderBox>\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport Align from '../vc-align';\nimport PopupInner from './PopupInner';\nimport LazyRenderBox from './LazyRenderBox';\nimport animate from '../_util/css-animation';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getListeners } from '../_util/props-util';\n\nexport default {\n name: 'VCTriggerPopup',\n mixins: [BaseMixin],\n props: {\n visible: PropTypes.bool,\n getClassNameFromAlign: PropTypes.func,\n getRootDomNode: PropTypes.func,\n align: PropTypes.any,\n destroyPopupOnHide: PropTypes.bool,\n prefixCls: PropTypes.string,\n getContainer: PropTypes.func,\n transitionName: PropTypes.string,\n animation: PropTypes.any,\n maskAnimation: PropTypes.string,\n maskTransitionName: PropTypes.string,\n mask: PropTypes.bool,\n zIndex: PropTypes.number,\n popupClassName: PropTypes.any,\n popupStyle: PropTypes.object.def(() => ({})),\n stretch: PropTypes.string,\n point: PropTypes.shape({\n pageX: PropTypes.number,\n pageY: PropTypes.number,\n }),\n },\n data() {\n this.domEl = null;\n return {\n // Used for stretch\n stretchChecked: false,\n targetWidth: undefined,\n targetHeight: undefined,\n };\n },\n mounted() {\n this.$nextTick(() => {\n this.rootNode = this.getPopupDomNode();\n this.setStretchSize();\n });\n },\n // 如添加会导致动画失效,如放开会导致快速输入时闪动 https://github.com/vueComponent/ant-design-vue/issues/1327,\n // 目前方案是保留动画,闪动问题(动画多次执行)进一步定位\n // beforeUpdate() {\n // if (this.domEl && this.domEl.rcEndListener) {\n // this.domEl.rcEndListener();\n // this.domEl = null;\n // }\n // },\n updated() {\n this.$nextTick(() => {\n this.setStretchSize();\n });\n },\n beforeDestroy() {\n if (this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n } else if (this.$el.remove) {\n this.$el.remove();\n }\n },\n methods: {\n onAlign(popupDomNode, align) {\n const props = this.$props;\n const currentAlignClassName = props.getClassNameFromAlign(align);\n // FIX: https://github.com/react-component/trigger/issues/56\n // FIX: https://github.com/react-component/tooltip/issues/79\n if (this.currentAlignClassName !== currentAlignClassName) {\n this.currentAlignClassName = currentAlignClassName;\n popupDomNode.className = this.getClassName(currentAlignClassName);\n }\n const listeners = getListeners(this);\n listeners.align && listeners.align(popupDomNode, align);\n },\n\n // Record size if stretch needed\n setStretchSize() {\n const { stretch, getRootDomNode, visible } = this.$props;\n const { stretchChecked, targetHeight, targetWidth } = this.$data;\n\n if (!stretch || !visible) {\n if (stretchChecked) {\n this.setState({ stretchChecked: false });\n }\n return;\n }\n\n const $ele = getRootDomNode();\n if (!$ele) return;\n\n const height = $ele.offsetHeight;\n const width = $ele.offsetWidth;\n\n if (targetHeight !== height || targetWidth !== width || !stretchChecked) {\n this.setState({\n stretchChecked: true,\n targetHeight: height,\n targetWidth: width,\n });\n }\n },\n\n getPopupDomNode() {\n return this.$refs.popupInstance ? this.$refs.popupInstance.$el : null;\n },\n\n getTargetElement() {\n return this.$props.getRootDomNode();\n },\n\n // `target` on `rc-align` can accept as a function to get the bind element or a point.\n // ref: https://www.npmjs.com/package/rc-align\n getAlignTarget() {\n const { point } = this.$props;\n if (point) {\n return point;\n }\n return this.getTargetElement;\n },\n\n getMaskTransitionName() {\n const props = this.$props;\n let transitionName = props.maskTransitionName;\n const animation = props.maskAnimation;\n if (!transitionName && animation) {\n transitionName = `${props.prefixCls}-${animation}`;\n }\n return transitionName;\n },\n\n getTransitionName() {\n const props = this.$props;\n let transitionName = props.transitionName;\n const animation = props.animation;\n if (!transitionName) {\n if (typeof animation === 'string') {\n transitionName = `${animation}`;\n } else if (animation && animation.props && animation.props.name) {\n transitionName = animation.props.name;\n }\n }\n return transitionName;\n },\n\n getClassName(currentAlignClassName) {\n return `${this.$props.prefixCls} ${this.$props.popupClassName} ${currentAlignClassName}`;\n },\n getPopupElement() {\n const { $props: props, $slots, getTransitionName } = this;\n const { stretchChecked, targetHeight, targetWidth } = this.$data;\n\n const {\n align,\n visible,\n prefixCls,\n animation,\n popupStyle,\n getClassNameFromAlign,\n destroyPopupOnHide,\n stretch,\n } = props;\n const className = this.getClassName(\n this.currentAlignClassName || getClassNameFromAlign(align),\n );\n // const hiddenClassName = `${prefixCls}-hidden`\n if (!visible) {\n this.currentAlignClassName = null;\n }\n const sizeStyle = {};\n if (stretch) {\n // Stretch with target\n if (stretch.indexOf('height') !== -1) {\n sizeStyle.height = typeof targetHeight === 'number' ? `${targetHeight}px` : targetHeight;\n } else if (stretch.indexOf('minHeight') !== -1) {\n sizeStyle.minHeight =\n typeof targetHeight === 'number' ? `${targetHeight}px` : targetHeight;\n }\n if (stretch.indexOf('width') !== -1) {\n sizeStyle.width = typeof targetWidth === 'number' ? `${targetWidth}px` : targetWidth;\n } else if (stretch.indexOf('minWidth') !== -1) {\n sizeStyle.minWidth = typeof targetWidth === 'number' ? `${targetWidth}px` : targetWidth;\n }\n // Delay force align to makes ui smooth\n if (!stretchChecked) {\n // sizeStyle.visibility = 'hidden'\n setTimeout(() => {\n if (this.$refs.alignInstance) {\n this.$refs.alignInstance.forceAlign();\n }\n }, 0);\n }\n }\n const popupInnerProps = {\n props: {\n prefixCls,\n visible,\n // hiddenClassName,\n },\n class: className,\n on: getListeners(this),\n ref: 'popupInstance',\n style: { ...sizeStyle, ...popupStyle, ...this.getZIndexStyle() },\n };\n let transitionProps = {\n props: {\n appear: true,\n css: false,\n },\n };\n const transitionName = getTransitionName();\n let useTransition = !!transitionName;\n const transitionEvent = {\n beforeEnter: () => {\n // el.style.display = el.__vOriginalDisplay\n // this.$refs.alignInstance.forceAlign();\n },\n enter: (el, done) => {\n // render 后 vue 会移除通过animate动态添加的 class导致动画闪动,延迟两帧添加动画class,可以进一步定位或者重写 transition 组件\n this.$nextTick(() => {\n if (this.$refs.alignInstance) {\n this.$refs.alignInstance.$nextTick(() => {\n this.domEl = el;\n animate(el, `${transitionName}-enter`, done);\n });\n } else {\n done();\n }\n });\n },\n beforeLeave: () => {\n this.domEl = null;\n },\n leave: (el, done) => {\n animate(el, `${transitionName}-leave`, done);\n },\n };\n\n if (typeof animation === 'object') {\n useTransition = true;\n const { on = {}, props = {} } = animation;\n transitionProps.props = { ...transitionProps.props, ...props };\n transitionProps.on = { ...transitionEvent, ...on };\n } else {\n transitionProps.on = transitionEvent;\n }\n if (!useTransition) {\n transitionProps = {};\n }\n if (destroyPopupOnHide) {\n return (\n <transition {...transitionProps}>\n {visible ? (\n <Align\n target={this.getAlignTarget()}\n key=\"popup\"\n ref=\"alignInstance\"\n monitorWindowResize\n align={align}\n onAlign={this.onAlign}\n >\n <PopupInner {...popupInnerProps}>{$slots.default}</PopupInner>\n </Align>\n ) : null}\n </transition>\n );\n }\n return (\n <transition {...transitionProps}>\n <Align\n v-show={visible}\n target={this.getAlignTarget()}\n key=\"popup\"\n ref=\"alignInstance\"\n monitorWindowResize\n disabled={!visible}\n align={align}\n onAlign={this.onAlign}\n >\n <PopupInner {...popupInnerProps}>{$slots.default}</PopupInner>\n </Align>\n </transition>\n );\n },\n\n getZIndexStyle() {\n const style = {};\n const props = this.$props;\n if (props.zIndex !== undefined) {\n style.zIndex = props.zIndex;\n }\n return style;\n },\n\n getMaskElement() {\n const props = this.$props;\n let maskElement = null;\n if (props.mask) {\n const maskTransition = this.getMaskTransitionName();\n maskElement = (\n <LazyRenderBox\n v-show={props.visible}\n style={this.getZIndexStyle()}\n key=\"mask\"\n class={`${props.prefixCls}-mask`}\n visible={props.visible}\n />\n );\n if (maskTransition) {\n maskElement = (\n <transition appear name={maskTransition}>\n {maskElement}\n </transition>\n );\n }\n }\n return maskElement;\n },\n },\n\n render() {\n const { getMaskElement, getPopupElement } = this;\n return (\n <div>\n {getMaskElement()}\n {getPopupElement()}\n </div>\n );\n },\n};\n","function isPointsEq(a1, a2, isAlignPoint) {\n if (isAlignPoint) {\n return a1[0] === a2[0];\n }\n return a1[0] === a2[0] && a1[1] === a2[1];\n}\n\nexport function getAlignFromPlacement(builtinPlacements, placementStr, align) {\n const baseAlign = builtinPlacements[placementStr] || {};\n return {\n ...baseAlign,\n ...align,\n };\n}\n\nexport function getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {\n const points = align.points;\n for (const placement in builtinPlacements) {\n if (builtinPlacements.hasOwnProperty(placement)) {\n if (isPointsEq(builtinPlacements[placement].points, points, isAlignPoint)) {\n return `${prefixCls}-placement-${placement}`;\n }\n }\n }\n return '';\n}\nexport function noop() {}\n","import PropTypes from './vue-types';\n\nexport default {\n props: {\n autoMount: PropTypes.bool.def(true),\n autoDestroy: PropTypes.bool.def(true),\n visible: PropTypes.bool,\n forceRender: PropTypes.bool.def(false),\n parent: PropTypes.any,\n getComponent: PropTypes.func.isRequired,\n getContainer: PropTypes.func.isRequired,\n children: PropTypes.func.isRequired,\n },\n\n mounted() {\n if (this.autoMount) {\n this.renderComponent();\n }\n },\n\n updated() {\n if (this.autoMount) {\n this.renderComponent();\n }\n },\n\n beforeDestroy() {\n if (this.autoDestroy) {\n this.removeContainer();\n }\n },\n methods: {\n removeContainer() {\n if (this.container) {\n this._component && this._component.$destroy();\n this.container.parentNode.removeChild(this.container);\n this.container = null;\n this._component = null;\n }\n },\n\n renderComponent(props = {}, ready) {\n const { visible, forceRender, getContainer, parent } = this;\n const self = this;\n if (visible || parent._component || parent.$refs._component || forceRender) {\n let el = this.componentEl;\n if (!this.container) {\n this.container = getContainer();\n el = document.createElement('div');\n this.componentEl = el;\n this.container.appendChild(el);\n }\n // self.getComponent 不要放在 render 中,会因为响应式数据问题导致,多次触发 render\n const com = { component: self.getComponent(props) };\n if (!this._component) {\n this._component = new this.$root.constructor({\n el,\n parent: self,\n data: {\n _com: com,\n },\n mounted() {\n this.$nextTick(() => {\n if (ready) {\n ready.call(self);\n }\n });\n },\n updated() {\n this.$nextTick(() => {\n if (ready) {\n ready.call(self);\n }\n });\n },\n methods: {\n setComponent(_com) {\n this.$data._com = _com;\n },\n },\n render() {\n return this.$data._com.component;\n },\n });\n } else {\n this._component.setComponent(com);\n }\n }\n },\n },\n\n render() {\n return this.children({\n renderComponent: this.renderComponent,\n removeContainer: this.removeContainer,\n });\n },\n};\n","import Vue from 'vue';\nimport ref from 'vue-ref';\nimport PropTypes from '../_util/vue-types';\nimport contains from '../vc-util/Dom/contains';\nimport {\n hasProp,\n getComponentFromProp,\n getDataEvents,\n filterEmpty,\n getListeners,\n} from '../_util/props-util';\nimport { requestAnimationTimeout, cancelAnimationTimeout } from '../_util/requestAnimationTimeout';\nimport addEventListener from '../vc-util/Dom/addEventListener';\nimport warning from '../_util/warning';\nimport Popup from './Popup';\nimport { getAlignFromPlacement, getAlignPopupClassName, noop } from './utils';\nimport BaseMixin from '../_util/BaseMixin';\nimport { cloneElement } from '../_util/vnode';\nimport ContainerRender from '../_util/ContainerRender';\n\nVue.use(ref, { name: 'ant-ref' });\n\nfunction returnEmptyString() {\n return '';\n}\n\nfunction returnDocument() {\n return window.document;\n}\nconst ALL_HANDLERS = [\n 'click',\n 'mousedown',\n 'touchstart',\n 'mouseenter',\n 'mouseleave',\n 'focus',\n 'blur',\n 'contextmenu',\n];\n\nexport default {\n name: 'Trigger',\n mixins: [BaseMixin],\n props: {\n action: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]).def([]),\n showAction: PropTypes.any.def([]),\n hideAction: PropTypes.any.def([]),\n getPopupClassNameFromAlign: PropTypes.any.def(returnEmptyString),\n // onPopupVisibleChange: PropTypes.func.def(noop),\n afterPopupVisibleChange: PropTypes.func.def(noop),\n popup: PropTypes.any,\n popupStyle: PropTypes.object.def(() => ({})),\n prefixCls: PropTypes.string.def('rc-trigger-popup'),\n popupClassName: PropTypes.string.def(''),\n popupPlacement: PropTypes.string,\n builtinPlacements: PropTypes.object,\n popupTransitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n popupAnimation: PropTypes.any,\n mouseEnterDelay: PropTypes.number.def(0),\n mouseLeaveDelay: PropTypes.number.def(0.1),\n zIndex: PropTypes.number,\n focusDelay: PropTypes.number.def(0),\n blurDelay: PropTypes.number.def(0.15),\n getPopupContainer: PropTypes.func,\n getDocument: PropTypes.func.def(returnDocument),\n forceRender: PropTypes.bool,\n destroyPopupOnHide: PropTypes.bool.def(false),\n mask: PropTypes.bool.def(false),\n maskClosable: PropTypes.bool.def(true),\n // onPopupAlign: PropTypes.func.def(noop),\n popupAlign: PropTypes.object.def(() => ({})),\n popupVisible: PropTypes.bool,\n defaultPopupVisible: PropTypes.bool.def(false),\n maskTransitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n maskAnimation: PropTypes.string,\n stretch: PropTypes.string,\n alignPoint: PropTypes.bool, // Maybe we can support user pass position in the future\n },\n provide() {\n return {\n vcTriggerContext: this,\n };\n },\n inject: {\n vcTriggerContext: { default: () => ({}) },\n savePopupRef: { default: () => noop },\n dialogContext: { default: () => null },\n },\n data() {\n const props = this.$props;\n let popupVisible;\n if (hasProp(this, 'popupVisible')) {\n popupVisible = !!props.popupVisible;\n } else {\n popupVisible = !!props.defaultPopupVisible;\n }\n ALL_HANDLERS.forEach(h => {\n this[`fire${h}`] = e => {\n this.fireEvents(h, e);\n };\n });\n return {\n prevPopupVisible: popupVisible,\n sPopupVisible: popupVisible,\n point: null,\n };\n },\n watch: {\n popupVisible(val) {\n if (val !== undefined) {\n this.prevPopupVisible = this.sPopupVisible;\n this.sPopupVisible = val;\n }\n },\n },\n deactivated() {\n this.setPopupVisible(false);\n },\n mounted() {\n this.$nextTick(() => {\n this.renderComponent(null);\n this.updatedCal();\n });\n },\n\n updated() {\n const triggerAfterPopupVisibleChange = () => {\n if (this.sPopupVisible !== this.prevPopupVisible) {\n this.afterPopupVisibleChange(this.sPopupVisible);\n }\n this.prevPopupVisible = this.sPopupVisible;\n };\n this.renderComponent(null, triggerAfterPopupVisibleChange);\n this.$nextTick(() => {\n this.updatedCal();\n });\n },\n\n beforeDestroy() {\n this.clearDelayTimer();\n this.clearOutsideHandler();\n clearTimeout(this.mouseDownTimeout);\n },\n methods: {\n updatedCal() {\n const props = this.$props;\n const state = this.$data;\n\n // We must listen to `mousedown` or `touchstart`, edge case:\n // https://github.com/ant-design/ant-design/issues/5804\n // https://github.com/react-component/calendar/issues/250\n // https://github.com/react-component/trigger/issues/50\n if (state.sPopupVisible) {\n let currentDocument;\n if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextmenuToShow())) {\n currentDocument = props.getDocument();\n this.clickOutsideHandler = addEventListener(\n currentDocument,\n 'mousedown',\n this.onDocumentClick,\n );\n }\n // always hide on mobile\n if (!this.touchOutsideHandler) {\n currentDocument = currentDocument || props.getDocument();\n this.touchOutsideHandler = addEventListener(\n currentDocument,\n 'touchstart',\n this.onDocumentClick,\n );\n }\n // close popup when trigger type contains 'onContextmenu' and document is scrolling.\n if (!this.contextmenuOutsideHandler1 && this.isContextmenuToShow()) {\n currentDocument = currentDocument || props.getDocument();\n this.contextmenuOutsideHandler1 = addEventListener(\n currentDocument,\n 'scroll',\n this.onContextmenuClose,\n );\n }\n // close popup when trigger type contains 'onContextmenu' and window is blur.\n if (!this.contextmenuOutsideHandler2 && this.isContextmenuToShow()) {\n this.contextmenuOutsideHandler2 = addEventListener(\n window,\n 'blur',\n this.onContextmenuClose,\n );\n }\n } else {\n this.clearOutsideHandler();\n }\n },\n onMouseenter(e) {\n const { mouseEnterDelay } = this.$props;\n this.fireEvents('mouseenter', e);\n this.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e);\n },\n\n onMouseMove(e) {\n this.fireEvents('mousemove', e);\n this.setPoint(e);\n },\n\n onMouseleave(e) {\n this.fireEvents('mouseleave', e);\n this.delaySetPopupVisible(false, this.$props.mouseLeaveDelay);\n },\n\n onPopupMouseenter() {\n this.clearDelayTimer();\n },\n\n onPopupMouseleave(e) {\n if (\n e &&\n e.relatedTarget &&\n !e.relatedTarget.setTimeout &&\n this._component &&\n this._component.getPopupDomNode &&\n contains(this._component.getPopupDomNode(), e.relatedTarget)\n ) {\n return;\n }\n this.delaySetPopupVisible(false, this.$props.mouseLeaveDelay);\n },\n\n onFocus(e) {\n this.fireEvents('focus', e);\n // incase focusin and focusout\n this.clearDelayTimer();\n if (this.isFocusToShow()) {\n this.focusTime = Date.now();\n this.delaySetPopupVisible(true, this.$props.focusDelay);\n }\n },\n\n onMousedown(e) {\n this.fireEvents('mousedown', e);\n this.preClickTime = Date.now();\n },\n\n onTouchstart(e) {\n this.fireEvents('touchstart', e);\n this.preTouchTime = Date.now();\n },\n\n onBlur(e) {\n if (!contains(e.target, e.relatedTarget || document.activeElement)) {\n this.fireEvents('blur', e);\n this.clearDelayTimer();\n if (this.isBlurToHide()) {\n this.delaySetPopupVisible(false, this.$props.blurDelay);\n }\n }\n },\n\n onContextmenu(e) {\n e.preventDefault();\n this.fireEvents('contextmenu', e);\n this.setPopupVisible(true, e);\n },\n\n onContextmenuClose() {\n if (this.isContextmenuToShow()) {\n this.close();\n }\n },\n\n onClick(event) {\n this.fireEvents('click', event);\n // focus will trigger click\n if (this.focusTime) {\n let preTime;\n if (this.preClickTime && this.preTouchTime) {\n preTime = Math.min(this.preClickTime, this.preTouchTime);\n } else if (this.preClickTime) {\n preTime = this.preClickTime;\n } else if (this.preTouchTime) {\n preTime = this.preTouchTime;\n }\n if (Math.abs(preTime - this.focusTime) < 20) {\n return;\n }\n this.focusTime = 0;\n }\n this.preClickTime = 0;\n this.preTouchTime = 0;\n // Only prevent default when all the action is click.\n // https://github.com/ant-design/ant-design/issues/17043\n // https://github.com/ant-design/ant-design/issues/17291\n if (\n this.isClickToShow() &&\n (this.isClickToHide() || this.isBlurToHide()) &&\n event &&\n event.preventDefault\n ) {\n event.preventDefault();\n }\n if (event && event.domEvent) {\n event.domEvent.preventDefault();\n }\n const nextVisible = !this.$data.sPopupVisible;\n if ((this.isClickToHide() && !nextVisible) || (nextVisible && this.isClickToShow())) {\n this.setPopupVisible(!this.$data.sPopupVisible, event);\n }\n },\n onPopupMouseDown(...args) {\n const { vcTriggerContext = {} } = this;\n this.hasPopupMouseDown = true;\n\n clearTimeout(this.mouseDownTimeout);\n this.mouseDownTimeout = setTimeout(() => {\n this.hasPopupMouseDown = false;\n }, 0);\n\n if (vcTriggerContext.onPopupMouseDown) {\n vcTriggerContext.onPopupMouseDown(...args);\n }\n },\n\n onDocumentClick(event) {\n if (this.$props.mask && !this.$props.maskClosable) {\n return;\n }\n const target = event.target;\n const root = this.$el;\n if (!contains(root, target) && !this.hasPopupMouseDown) {\n this.close();\n }\n },\n getPopupDomNode() {\n if (this._component && this._component.getPopupDomNode) {\n return this._component.getPopupDomNode();\n }\n return null;\n },\n\n getRootDomNode() {\n return this.$el;\n // return this.$el.children[0] || this.$el\n },\n\n handleGetPopupClassFromAlign(align) {\n const className = [];\n const props = this.$props;\n const {\n popupPlacement,\n builtinPlacements,\n prefixCls,\n alignPoint,\n getPopupClassNameFromAlign,\n } = props;\n if (popupPlacement && builtinPlacements) {\n className.push(getAlignPopupClassName(builtinPlacements, prefixCls, align, alignPoint));\n }\n if (getPopupClassNameFromAlign) {\n className.push(getPopupClassNameFromAlign(align));\n }\n return className.join(' ');\n },\n\n getPopupAlign() {\n const props = this.$props;\n const { popupPlacement, popupAlign, builtinPlacements } = props;\n if (popupPlacement && builtinPlacements) {\n return getAlignFromPlacement(builtinPlacements, popupPlacement, popupAlign);\n }\n return popupAlign;\n },\n savePopup(node) {\n this._component = node;\n this.savePopupRef(node);\n },\n getComponent() {\n const self = this;\n const mouseProps = {};\n if (this.isMouseEnterToShow()) {\n mouseProps.mouseenter = self.onPopupMouseenter;\n }\n if (this.isMouseLeaveToHide()) {\n mouseProps.mouseleave = self.onPopupMouseleave;\n }\n mouseProps.mousedown = this.onPopupMouseDown;\n mouseProps.touchstart = this.onPopupMouseDown;\n const { handleGetPopupClassFromAlign, getRootDomNode, getContainer } = self;\n const {\n prefixCls,\n destroyPopupOnHide,\n popupClassName,\n action,\n popupAnimation,\n popupTransitionName,\n popupStyle,\n mask,\n maskAnimation,\n maskTransitionName,\n zIndex,\n stretch,\n alignPoint,\n } = self.$props;\n const { sPopupVisible, point } = this.$data;\n const align = this.getPopupAlign();\n const popupProps = {\n props: {\n prefixCls,\n destroyPopupOnHide,\n visible: sPopupVisible,\n point: alignPoint && point,\n action,\n align,\n animation: popupAnimation,\n getClassNameFromAlign: handleGetPopupClassFromAlign,\n stretch,\n getRootDomNode,\n mask,\n zIndex,\n transitionName: popupTransitionName,\n maskAnimation,\n maskTransitionName,\n getContainer,\n popupClassName,\n popupStyle,\n },\n on: {\n align: getListeners(this).popupAlign || noop,\n ...mouseProps,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.savePopup,\n },\n ],\n };\n return <Popup {...popupProps}>{getComponentFromProp(self, 'popup')}</Popup>;\n },\n\n getContainer() {\n const { $props: props, dialogContext } = this;\n const popupContainer = document.createElement('div');\n // Make sure default popup container will never cause scrollbar appearing\n // https://github.com/react-component/trigger/issues/41\n popupContainer.style.position = 'absolute';\n popupContainer.style.top = '0';\n popupContainer.style.left = '0';\n popupContainer.style.width = '100%';\n const mountNode = props.getPopupContainer\n ? props.getPopupContainer(this.$el, dialogContext)\n : props.getDocument().body;\n mountNode.appendChild(popupContainer);\n this.popupContainer = popupContainer;\n return popupContainer;\n },\n\n setPopupVisible(sPopupVisible, event) {\n const { alignPoint, sPopupVisible: prevPopupVisible } = this;\n this.clearDelayTimer();\n if (prevPopupVisible !== sPopupVisible) {\n if (!hasProp(this, 'popupVisible')) {\n this.setState({\n sPopupVisible,\n prevPopupVisible,\n });\n }\n const listeners = getListeners(this);\n listeners.popupVisibleChange && listeners.popupVisibleChange(sPopupVisible);\n }\n // Always record the point position since mouseEnterDelay will delay the show\n if (alignPoint && event) {\n this.setPoint(event);\n }\n },\n\n setPoint(point) {\n const { alignPoint } = this.$props;\n if (!alignPoint || !point) return;\n\n this.setState({\n point: {\n pageX: point.pageX,\n pageY: point.pageY,\n },\n });\n },\n\n delaySetPopupVisible(visible, delayS, event) {\n const delay = delayS * 1000;\n this.clearDelayTimer();\n if (delay) {\n const point = event ? { pageX: event.pageX, pageY: event.pageY } : null;\n this.delayTimer = requestAnimationTimeout(() => {\n this.setPopupVisible(visible, point);\n this.clearDelayTimer();\n }, delay);\n } else {\n this.setPopupVisible(visible, event);\n }\n },\n\n clearDelayTimer() {\n if (this.delayTimer) {\n cancelAnimationTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n },\n\n clearOutsideHandler() {\n if (this.clickOutsideHandler) {\n this.clickOutsideHandler.remove();\n this.clickOutsideHandler = null;\n }\n\n if (this.contextmenuOutsideHandler1) {\n this.contextmenuOutsideHandler1.remove();\n this.contextmenuOutsideHandler1 = null;\n }\n\n if (this.contextmenuOutsideHandler2) {\n this.contextmenuOutsideHandler2.remove();\n this.contextmenuOutsideHandler2 = null;\n }\n\n if (this.touchOutsideHandler) {\n this.touchOutsideHandler.remove();\n this.touchOutsideHandler = null;\n }\n },\n\n createTwoChains(event) {\n let fn = () => {};\n const events = getListeners(this);\n if (this.childOriginEvents[event] && events[event]) {\n return this[`fire${event}`];\n }\n fn = this.childOriginEvents[event] || events[event] || fn;\n return fn;\n },\n\n isClickToShow() {\n const { action, showAction } = this.$props;\n return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1;\n },\n\n isContextmenuToShow() {\n const { action, showAction } = this.$props;\n return action.indexOf('contextmenu') !== -1 || showAction.indexOf('contextmenu') !== -1;\n },\n\n isClickToHide() {\n const { action, hideAction } = this.$props;\n return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1;\n },\n\n isMouseEnterToShow() {\n const { action, showAction } = this.$props;\n return action.indexOf('hover') !== -1 || showAction.indexOf('mouseenter') !== -1;\n },\n\n isMouseLeaveToHide() {\n const { action, hideAction } = this.$props;\n return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseleave') !== -1;\n },\n\n isFocusToShow() {\n const { action, showAction } = this.$props;\n return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1;\n },\n\n isBlurToHide() {\n const { action, hideAction } = this.$props;\n return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1;\n },\n forcePopupAlign() {\n if (this.$data.sPopupVisible && this._component && this._component.$refs.alignInstance) {\n this._component.$refs.alignInstance.forceAlign();\n }\n },\n fireEvents(type, e) {\n if (this.childOriginEvents[type]) {\n this.childOriginEvents[type](e);\n }\n this.__emit(type, e);\n },\n\n close() {\n this.setPopupVisible(false);\n },\n },\n render() {\n const { sPopupVisible } = this;\n const children = filterEmpty(this.$slots.default);\n const { forceRender, alignPoint } = this.$props;\n\n if (children.length > 1) {\n warning(false, 'Trigger $slots.default.length > 1, just support only one default', true);\n }\n const child = children[0];\n this.childOriginEvents = getDataEvents(child);\n const newChildProps = {\n props: {},\n nativeOn: {},\n key: 'trigger',\n };\n\n if (this.isContextmenuToShow()) {\n newChildProps.nativeOn.contextmenu = this.onContextmenu;\n } else {\n newChildProps.nativeOn.contextmenu = this.createTwoChains('contextmenu');\n }\n\n if (this.isClickToHide() || this.isClickToShow()) {\n newChildProps.nativeOn.click = this.onClick;\n newChildProps.nativeOn.mousedown = this.onMousedown;\n newChildProps.nativeOn.touchstart = this.onTouchstart;\n } else {\n newChildProps.nativeOn.click = this.createTwoChains('click');\n newChildProps.nativeOn.mousedown = this.createTwoChains('mousedown');\n newChildProps.nativeOn.touchstart = this.createTwoChains('onTouchstart');\n }\n if (this.isMouseEnterToShow()) {\n newChildProps.nativeOn.mouseenter = this.onMouseenter;\n if (alignPoint) {\n newChildProps.nativeOn.mousemove = this.onMouseMove;\n }\n } else {\n newChildProps.nativeOn.mouseenter = this.createTwoChains('mouseenter');\n }\n if (this.isMouseLeaveToHide()) {\n newChildProps.nativeOn.mouseleave = this.onMouseleave;\n } else {\n newChildProps.nativeOn.mouseleave = this.createTwoChains('mouseleave');\n }\n\n if (this.isFocusToShow() || this.isBlurToHide()) {\n newChildProps.nativeOn.focus = this.onFocus;\n newChildProps.nativeOn.blur = this.onBlur;\n } else {\n newChildProps.nativeOn.focus = this.createTwoChains('focus');\n newChildProps.nativeOn.blur = e => {\n if (e && (!e.relatedTarget || !contains(e.target, e.relatedTarget))) {\n this.createTwoChains('blur')(e);\n }\n };\n }\n\n this.trigger = cloneElement(child, newChildProps);\n\n return (\n <ContainerRender\n parent={this}\n visible={sPopupVisible}\n autoMount={false}\n forceRender={forceRender}\n getComponent={this.getComponent}\n getContainer={this.getContainer}\n children={({ renderComponent }) => {\n this.renderComponent = renderComponent;\n return this.trigger;\n }}\n />\n );\n },\n};\n","// based on rc-trigger 2.6.5\nimport Trigger from './Trigger';\nexport default Trigger;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","const autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1,\n};\n\nconst targetOffset = [0, 0];\n\nexport const placements = {\n left: {\n points: ['cr', 'cl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset,\n },\n right: {\n points: ['cl', 'cr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset,\n },\n top: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n bottom: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset,\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset,\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n rightBottom: {\n points: ['bl', 'br'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset,\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n leftBottom: {\n points: ['br', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset,\n },\n};\n\nexport default placements;\n","import PropTypes from '../_util/vue-types';\n\nexport default {\n props: {\n prefixCls: PropTypes.string,\n overlay: PropTypes.any,\n trigger: PropTypes.any,\n },\n updated() {\n const { trigger } = this;\n if (trigger) {\n trigger.forcePopupAlign();\n }\n },\n render() {\n const { overlay, prefixCls } = this;\n return (\n <div class={`${prefixCls}-inner`} role=\"tooltip\">\n {typeof overlay === 'function' ? overlay() : overlay}\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport Trigger from '../vc-trigger';\nimport { placements } from './placements';\nimport Content from './Content';\nimport { hasProp, getComponentFromProp, getOptionProps, getListeners } from '../_util/props-util';\nfunction noop() {}\nexport default {\n props: {\n trigger: PropTypes.any.def(['hover']),\n defaultVisible: PropTypes.bool,\n visible: PropTypes.bool,\n placement: PropTypes.string.def('right'),\n transitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n animation: PropTypes.any,\n afterVisibleChange: PropTypes.func.def(() => {}),\n overlay: PropTypes.any,\n overlayStyle: PropTypes.object,\n overlayClassName: PropTypes.string,\n prefixCls: PropTypes.string.def('rc-tooltip'),\n mouseEnterDelay: PropTypes.number.def(0),\n mouseLeaveDelay: PropTypes.number.def(0.1),\n getTooltipContainer: PropTypes.func,\n destroyTooltipOnHide: PropTypes.bool.def(false),\n align: PropTypes.object.def(() => ({})),\n arrowContent: PropTypes.any.def(null),\n tipId: PropTypes.string,\n builtinPlacements: PropTypes.object,\n },\n methods: {\n getPopupElement() {\n const { prefixCls, tipId } = this.$props;\n return [\n <div class={`${prefixCls}-arrow`} key=\"arrow\">\n {getComponentFromProp(this, 'arrowContent')}\n </div>,\n <Content\n key=\"content\"\n trigger={this.$refs.trigger}\n prefixCls={prefixCls}\n id={tipId}\n overlay={getComponentFromProp(this, 'overlay')}\n />,\n ];\n },\n\n getPopupDomNode() {\n return this.$refs.trigger.getPopupDomNode();\n },\n },\n render(h) {\n const {\n overlayClassName,\n trigger,\n mouseEnterDelay,\n mouseLeaveDelay,\n overlayStyle,\n prefixCls,\n afterVisibleChange,\n transitionName,\n animation,\n placement,\n align,\n destroyTooltipOnHide,\n defaultVisible,\n getTooltipContainer,\n ...restProps\n } = getOptionProps(this);\n const extraProps = { ...restProps };\n if (hasProp(this, 'visible')) {\n extraProps.popupVisible = this.$props.visible;\n }\n const listeners = getListeners(this);\n const triggerProps = {\n props: {\n popupClassName: overlayClassName,\n prefixCls,\n action: trigger,\n builtinPlacements: placements,\n popupPlacement: placement,\n popupAlign: align,\n getPopupContainer: getTooltipContainer,\n afterPopupVisibleChange: afterVisibleChange,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n defaultPopupVisible: defaultVisible,\n destroyPopupOnHide: destroyTooltipOnHide,\n mouseLeaveDelay,\n popupStyle: overlayStyle,\n mouseEnterDelay,\n ...extraProps,\n },\n on: {\n ...listeners,\n popupVisibleChange: listeners.visibleChange || noop,\n popupAlign: listeners.popupAlign || noop,\n },\n ref: 'trigger',\n };\n return (\n <Trigger {...triggerProps}>\n <template slot=\"popup\">{this.getPopupElement(h)}</template>\n {this.$slots.default}\n </Trigger>\n );\n },\n};\n","// based on rc-tooltip 3.7.3\nimport Tooltip from './Tooltip';\n\nexport default Tooltip;\n","import { placements as rcPlacements } from '../vc-tooltip/placements';\n\nconst autoAdjustOverflowEnabled = {\n adjustX: 1,\n adjustY: 1,\n};\n\nconst autoAdjustOverflowDisabled = {\n adjustX: 0,\n adjustY: 0,\n};\n\nconst targetOffset = [0, 0];\n\nexport function getOverflowOptions(autoAdjustOverflow) {\n if (typeof autoAdjustOverflow === 'boolean') {\n return autoAdjustOverflow ? autoAdjustOverflowEnabled : autoAdjustOverflowDisabled;\n }\n return {\n ...autoAdjustOverflowDisabled,\n ...autoAdjustOverflow,\n };\n}\n\nexport default function getPlacements(config) {\n const {\n arrowWidth = 5,\n horizontalArrowShift = 16,\n verticalArrowShift = 12,\n autoAdjustOverflow = true,\n } = config;\n const placementMap = {\n left: {\n points: ['cr', 'cl'],\n offset: [-4, 0],\n },\n right: {\n points: ['cl', 'cr'],\n offset: [4, 0],\n },\n top: {\n points: ['bc', 'tc'],\n offset: [0, -4],\n },\n bottom: {\n points: ['tc', 'bc'],\n offset: [0, 4],\n },\n topLeft: {\n points: ['bl', 'tc'],\n offset: [-(horizontalArrowShift + arrowWidth), -4],\n },\n leftTop: {\n points: ['tr', 'cl'],\n offset: [-4, -(verticalArrowShift + arrowWidth)],\n },\n topRight: {\n points: ['br', 'tc'],\n offset: [horizontalArrowShift + arrowWidth, -4],\n },\n rightTop: {\n points: ['tl', 'cr'],\n offset: [4, -(verticalArrowShift + arrowWidth)],\n },\n bottomRight: {\n points: ['tr', 'bc'],\n offset: [horizontalArrowShift + arrowWidth, 4],\n },\n rightBottom: {\n points: ['bl', 'cr'],\n offset: [4, verticalArrowShift + arrowWidth],\n },\n bottomLeft: {\n points: ['tl', 'bc'],\n offset: [-(horizontalArrowShift + arrowWidth), 4],\n },\n leftBottom: {\n points: ['br', 'cl'],\n offset: [-4, verticalArrowShift + arrowWidth],\n },\n };\n Object.keys(placementMap).forEach(key => {\n placementMap[key] = config.arrowPointAtCenter\n ? {\n ...placementMap[key],\n overflow: getOverflowOptions(autoAdjustOverflow),\n targetOffset,\n }\n : {\n ...rcPlacements[key],\n overflow: getOverflowOptions(autoAdjustOverflow),\n };\n placementMap[key].ignoreShake = true;\n });\n return placementMap;\n}\n","import { cloneElement } from '../_util/vnode';\nimport VcTooltip from '../vc-tooltip';\nimport getPlacements from './placements';\nimport PropTypes from '../_util/vue-types';\nimport {\n hasProp,\n getComponentFromProp,\n getClass,\n getStyle,\n isValidElement,\n getListeners,\n} from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport abstractTooltipProps from './abstractTooltipProps';\n\nconst splitObject = (obj, keys) => {\n const picked = {};\n const omitted = { ...obj };\n keys.forEach(key => {\n if (obj && key in obj) {\n picked[key] = obj[key];\n delete omitted[key];\n }\n });\n return { picked, omitted };\n};\nconst props = abstractTooltipProps();\nexport default {\n name: 'ATooltip',\n model: {\n prop: 'visible',\n event: 'visibleChange',\n },\n props: {\n ...props,\n title: PropTypes.any,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n sVisible: !!this.$props.visible || !!this.$props.defaultVisible,\n };\n },\n watch: {\n visible(val) {\n this.sVisible = val;\n },\n },\n methods: {\n onVisibleChange(visible) {\n if (!hasProp(this, 'visible')) {\n this.sVisible = this.isNoTitle() ? false : visible;\n }\n if (!this.isNoTitle()) {\n this.$emit('visibleChange', visible);\n }\n },\n\n getPopupDomNode() {\n return this.$refs.tooltip.getPopupDomNode();\n },\n\n getPlacements() {\n const { builtinPlacements, arrowPointAtCenter, autoAdjustOverflow } = this.$props;\n return (\n builtinPlacements ||\n getPlacements({\n arrowPointAtCenter,\n verticalArrowShift: 8,\n autoAdjustOverflow,\n })\n );\n },\n\n // Fix Tooltip won't hide at disabled button\n // mouse events don't trigger at disabled button in Chrome\n // https://github.com/react-component/tooltip/issues/18\n getDisabledCompatibleChildren(ele) {\n const options = (ele.componentOptions && ele.componentOptions.Ctor.options) || {};\n\n if (\n ((options.__ANT_BUTTON === true ||\n options.__ANT_SWITCH === true ||\n options.__ANT_CHECKBOX === true) &&\n (ele.componentOptions.propsData.disabled ||\n ele.componentOptions.propsData.disabled === '')) ||\n (ele.tag === 'button' &&\n ele.data &&\n ele.data.attrs &&\n ele.data.attrs.disabled !== undefined)\n ) {\n // Pick some layout related style properties up to span\n // Prevent layout bugs like https://github.com/ant-design/ant-design/issues/5254\n const { picked, omitted } = splitObject(getStyle(ele), [\n 'position',\n 'left',\n 'right',\n 'top',\n 'bottom',\n 'float',\n 'display',\n 'zIndex',\n ]);\n const spanStyle = {\n display: 'inline-block', // default inline-block is important\n ...picked,\n cursor: 'not-allowed',\n width: ele.componentOptions.propsData.block ? '100%' : null,\n };\n const buttonStyle = {\n ...omitted,\n pointerEvents: 'none',\n };\n const spanCls = getClass(ele);\n const child = cloneElement(ele, {\n style: buttonStyle,\n class: null,\n });\n return (\n <span style={spanStyle} class={spanCls}>\n {child}\n </span>\n );\n }\n return ele;\n },\n\n isNoTitle() {\n const title = getComponentFromProp(this, 'title');\n return !title && title !== 0;\n },\n\n getOverlay() {\n const title = getComponentFromProp(this, 'title');\n if (title === 0) {\n return title;\n }\n return title || '';\n },\n\n // 动态设置动画点\n onPopupAlign(domNode, align) {\n const placements = this.getPlacements();\n // 当前返回的位置\n const placement = Object.keys(placements).filter(\n key =>\n placements[key].points[0] === align.points[0] &&\n placements[key].points[1] === align.points[1],\n )[0];\n if (!placement) {\n return;\n }\n // 根据当前坐标设置动画点\n const rect = domNode.getBoundingClientRect();\n const transformOrigin = {\n top: '50%',\n left: '50%',\n };\n if (placement.indexOf('top') >= 0 || placement.indexOf('Bottom') >= 0) {\n transformOrigin.top = `${rect.height - align.offset[1]}px`;\n } else if (placement.indexOf('Top') >= 0 || placement.indexOf('bottom') >= 0) {\n transformOrigin.top = `${-align.offset[1]}px`;\n }\n if (placement.indexOf('left') >= 0 || placement.indexOf('Right') >= 0) {\n transformOrigin.left = `${rect.width - align.offset[0]}px`;\n } else if (placement.indexOf('right') >= 0 || placement.indexOf('Left') >= 0) {\n transformOrigin.left = `${-align.offset[0]}px`;\n }\n domNode.style.transformOrigin = `${transformOrigin.left} ${transformOrigin.top}`;\n },\n },\n\n render() {\n const { $props, $data, $slots } = this;\n const { prefixCls: customizePrefixCls, openClassName, getPopupContainer } = $props;\n const { getPopupContainer: getContextPopupContainer } = this.configProvider;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('tooltip', customizePrefixCls);\n let children = ($slots.default || []).filter(c => c.tag || c.text.trim() !== '');\n children = children.length === 1 ? children[0] : children;\n let sVisible = $data.sVisible;\n // Hide tooltip when there is no title\n if (!hasProp(this, 'visible') && this.isNoTitle()) {\n sVisible = false;\n }\n if (!children) {\n return null;\n }\n const child = this.getDisabledCompatibleChildren(\n isValidElement(children) ? children : <span>{children}</span>,\n );\n const childCls = {\n [openClassName || `${prefixCls}-open`]: true,\n };\n const tooltipProps = {\n props: {\n ...$props,\n prefixCls,\n getTooltipContainer: getPopupContainer || getContextPopupContainer,\n builtinPlacements: this.getPlacements(),\n overlay: this.getOverlay(),\n visible: sVisible,\n },\n ref: 'tooltip',\n on: {\n ...getListeners(this),\n visibleChange: this.onVisibleChange,\n popupAlign: this.onPopupAlign,\n },\n };\n return (\n <VcTooltip {...tooltipProps}>\n {sVisible ? cloneElement(child, { class: childCls }) : child}\n </VcTooltip>\n );\n },\n};\n","import ToolTip from './Tooltip';\nimport Base from '../base';\n\n/* istanbul ignore next */\nToolTip.install = function(Vue) {\n Vue.use(Base);\n Vue.component(ToolTip.name, ToolTip);\n};\n\nexport default ToolTip;\n","const availablePrefixs = ['moz', 'ms', 'webkit'];\n\nfunction requestAnimationFramePolyfill() {\n let lastTime = 0;\n return function(callback) {\n const currTime = new Date().getTime();\n const timeToCall = Math.max(0, 16 - (currTime - lastTime));\n const id = window.setTimeout(function() {\n callback(currTime + timeToCall);\n }, timeToCall);\n lastTime = currTime + timeToCall;\n return id;\n };\n}\n\nexport default function getRequestAnimationFrame() {\n if (typeof window === 'undefined') {\n return () => {};\n }\n if (window.requestAnimationFrame) {\n // https://github.com/vuejs/vue/issues/4465\n return window.requestAnimationFrame.bind(window);\n }\n\n const prefix = availablePrefixs.filter(key => `${key}RequestAnimationFrame` in window)[0];\n\n return prefix ? window[`${prefix}RequestAnimationFrame`] : requestAnimationFramePolyfill();\n}\n\nexport function cancelRequestAnimationFrame(id) {\n if (typeof window === 'undefined') {\n return null;\n }\n if (window.cancelAnimationFrame) {\n return window.cancelAnimationFrame(id);\n }\n const prefix = availablePrefixs.filter(\n key => `${key}CancelAnimationFrame` in window || `${key}CancelRequestAnimationFrame` in window,\n )[0];\n\n return prefix\n ? (\n window[`${prefix}CancelAnimationFrame`] || window[`${prefix}CancelRequestAnimationFrame`]\n ).call(this, id)\n : clearTimeout(id);\n}\n","import getRequestAnimationFrame, {\n cancelRequestAnimationFrame as caf,\n} from './getRequestAnimationFrame';\nconst raf = getRequestAnimationFrame();\n\nexport const cancelAnimationTimeout = frame => caf(frame.id);\n\nexport const requestAnimationTimeout = (callback, delay) => {\n const start = Date.now();\n function timeout() {\n if (Date.now() - start >= delay) {\n callback.call();\n } else {\n frame.id = raf(timeout);\n }\n }\n\n const frame = {\n id: raf(timeout),\n };\n\n return frame;\n};\n","var baseSet = require('./_baseSet');\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n}\n\nmodule.exports = set;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","import locale from '../locale/default';\n\nexport default locale;\n","export function T() {\n return true;\n}\n\n// Fix IE file.status problem\n// via coping a new Object\nexport function fileToObject(file) {\n return {\n ...file,\n lastModified: file.lastModified,\n lastModifiedDate: file.lastModifiedDate,\n name: file.name,\n size: file.size,\n type: file.type,\n uid: file.uid,\n percent: 0,\n originFileObj: file,\n };\n}\n\n/**\n * 生成Progress percent: 0.1 -> 0.98\n * - for ie\n */\nexport function genPercentAdd() {\n let k = 0.1;\n const i = 0.01;\n const end = 0.98;\n return function(s) {\n let start = s;\n if (start >= end) {\n return start;\n }\n\n start += k;\n k = k - i;\n if (k < 0.001) {\n k = 0.001;\n }\n return start;\n };\n}\n\nexport function getFileItem(file, fileList) {\n const matchKey = file.uid !== undefined ? 'uid' : 'name';\n return fileList.filter(item => item[matchKey] === file[matchKey])[0];\n}\n\nexport function removeFileItem(file, fileList) {\n const matchKey = file.uid !== undefined ? 'uid' : 'name';\n const removed = fileList.filter(item => item[matchKey] !== file[matchKey]);\n if (removed.length === fileList.length) {\n return null;\n }\n return removed;\n}\n\n// ==================== Default Image Preview ====================\nconst extname = (url = '') => {\n const temp = url.split('/');\n const filename = temp[temp.length - 1];\n const filenameWithoutSuffix = filename.split(/#|\\?/)[0];\n return (/\\.[^./\\\\]*$/.exec(filenameWithoutSuffix) || [''])[0];\n};\n\nconst isImageFileType = type => !!type && type.indexOf('image/') === 0;\n\nexport const isImageUrl = file => {\n if (isImageFileType(file.type)) {\n return true;\n }\n const url = file.thumbUrl || file.url;\n const extension = extname(url);\n if (\n /^data:image\\//.test(url) ||\n /(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico)$/i.test(extension)\n ) {\n return true;\n }\n if (/^data:/.test(url)) {\n // other file types of base64\n return false;\n }\n if (extension) {\n // other file types which have extension\n return false;\n }\n return true;\n};\n\nconst MEASURE_SIZE = 200;\nexport function previewImage(file) {\n return new Promise(resolve => {\n if (!isImageFileType(file.type)) {\n resolve('');\n return;\n }\n\n const canvas = document.createElement('canvas');\n canvas.width = MEASURE_SIZE;\n canvas.height = MEASURE_SIZE;\n canvas.style.cssText = `position: fixed; left: 0; top: 0; width: ${MEASURE_SIZE}px; height: ${MEASURE_SIZE}px; z-index: 9999; display: none;`;\n document.body.appendChild(canvas);\n const ctx = canvas.getContext('2d');\n const img = new Image();\n img.onload = () => {\n const { width, height } = img;\n\n let drawWidth = MEASURE_SIZE;\n let drawHeight = MEASURE_SIZE;\n let offsetX = 0;\n let offsetY = 0;\n\n if (width < height) {\n drawHeight = height * (MEASURE_SIZE / width);\n offsetY = -(drawHeight - drawWidth) / 2;\n } else {\n drawWidth = width * (MEASURE_SIZE / height);\n offsetX = -(drawWidth - drawHeight) / 2;\n }\n\n ctx.drawImage(img, offsetX, offsetY, drawWidth, drawHeight);\n const dataURL = canvas.toDataURL();\n document.body.removeChild(canvas);\n\n resolve(dataURL);\n };\n img.src = window.URL.createObjectURL(file);\n });\n}\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","import PropsTypes from '../_util/vue-types';\n\nexport const UploadFileStatus = PropsTypes.oneOf([\n 'error',\n 'success',\n 'done',\n 'uploading',\n 'removed',\n]);\n\n// export const HttpRequestHeader {\n// [key: string]: string;\n// }\n\n// export const UploadFile = PropsTypes.shape({\n// uid: PropsTypes.oneOfType([\n// PropsTypes.string,\n// PropsTypes.number,\n// ]),\n// size: PropsTypes.number,\n// name: PropsTypes.string,\n// filename: PropsTypes.string,\n// lastModified: PropsTypes.number,\n// lastModifiedDate: PropsTypes.any,\n// url: PropsTypes.string,\n// status: UploadFileStatus,\n// percent: PropsTypes.number,\n// thumbUrl: PropsTypes.string,\n// originFileObj: PropsTypes.any,\n// response: PropsTypes.any,\n// error: PropsTypes.any,\n// linkProps: PropsTypes.any,\n// type: PropsTypes.string,\n// }).loose\n\nfunction UploadFile({ uid, name }) {\n if (!uid && uid !== 0) return false;\n if (!['string', 'number'].includes(typeof uid)) return false;\n if (name === '' || typeof name !== 'string') return false;\n return true;\n}\n\nexport const UploadChangeParam = {\n file: PropsTypes.custom(UploadFile),\n fileList: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),\n event: PropsTypes.object,\n};\n\nexport const ShowUploadListInterface = PropsTypes.shape({\n showRemoveIcon: PropsTypes.bool,\n showPreviewIcon: PropsTypes.bool,\n}).loose;\n\nexport const UploadLocale = PropsTypes.shape({\n uploading: PropsTypes.string,\n removeFile: PropsTypes.string,\n downloadFile: PropsTypes.string,\n uploadError: PropsTypes.string,\n previewFile: PropsTypes.string,\n}).loose;\n\nexport const UploadProps = {\n type: PropsTypes.oneOf(['drag', 'select']),\n name: PropsTypes.string,\n defaultFileList: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),\n fileList: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),\n action: PropsTypes.oneOfType([PropsTypes.string, PropsTypes.func]),\n directory: PropsTypes.bool,\n data: PropsTypes.oneOfType([PropsTypes.object, PropsTypes.func]),\n method: PropsTypes.oneOf(['POST', 'PUT', 'post', 'put']),\n headers: PropsTypes.object,\n showUploadList: PropsTypes.oneOfType([PropsTypes.bool, ShowUploadListInterface]),\n multiple: PropsTypes.bool,\n accept: PropsTypes.string,\n beforeUpload: PropsTypes.func,\n // onChange: PropsTypes.func,\n listType: PropsTypes.oneOf(['text', 'picture', 'picture-card']),\n // className: PropsTypes.string,\n // onPreview: PropsTypes.func,\n remove: PropsTypes.func,\n supportServerRender: PropsTypes.bool,\n // style: PropsTypes.object,\n disabled: PropsTypes.bool,\n prefixCls: PropsTypes.string,\n customRequest: PropsTypes.func,\n withCredentials: PropsTypes.bool,\n openFileDialogOnClick: PropsTypes.bool,\n locale: UploadLocale,\n height: PropsTypes.number,\n id: PropsTypes.string,\n previewFile: PropsTypes.func,\n transformFile: PropsTypes.func,\n};\n\nexport const UploadState = {\n fileList: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),\n dragState: PropsTypes.string,\n};\n\nexport const UploadListProps = {\n listType: PropsTypes.oneOf(['text', 'picture', 'picture-card']),\n // onPreview: PropsTypes.func,\n // onRemove: PropsTypes.func,\n // items: PropsTypes.arrayOf(UploadFile),\n items: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),\n // items: PropsTypes.any,\n progressAttr: PropsTypes.object,\n prefixCls: PropsTypes.string,\n showRemoveIcon: PropsTypes.bool,\n showDownloadIcon: PropsTypes.bool,\n showPreviewIcon: PropsTypes.bool,\n locale: UploadLocale,\n previewFile: PropsTypes.func,\n};\n","export default function contains(root, n) {\n let node = n;\n while (node) {\n if (node === root) {\n return true;\n }\n node = node.parentNode;\n }\n\n return false;\n}\n","const START_EVENT_NAME_MAP = {\n transitionstart: {\n transition: 'transitionstart',\n WebkitTransition: 'webkitTransitionStart',\n MozTransition: 'mozTransitionStart',\n OTransition: 'oTransitionStart',\n msTransition: 'MSTransitionStart',\n },\n\n animationstart: {\n animation: 'animationstart',\n WebkitAnimation: 'webkitAnimationStart',\n MozAnimation: 'mozAnimationStart',\n OAnimation: 'oAnimationStart',\n msAnimation: 'MSAnimationStart',\n },\n};\n\nconst END_EVENT_NAME_MAP = {\n transitionend: {\n transition: 'transitionend',\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'mozTransitionEnd',\n OTransition: 'oTransitionEnd',\n msTransition: 'MSTransitionEnd',\n },\n\n animationend: {\n animation: 'animationend',\n WebkitAnimation: 'webkitAnimationEnd',\n MozAnimation: 'mozAnimationEnd',\n OAnimation: 'oAnimationEnd',\n msAnimation: 'MSAnimationEnd',\n },\n};\n\nconst startEvents = [];\nconst endEvents = [];\n\nfunction detectEvents() {\n const testEl = document.createElement('div');\n const style = testEl.style;\n\n if (!('AnimationEvent' in window)) {\n delete START_EVENT_NAME_MAP.animationstart.animation;\n delete END_EVENT_NAME_MAP.animationend.animation;\n }\n\n if (!('TransitionEvent' in window)) {\n delete START_EVENT_NAME_MAP.transitionstart.transition;\n delete END_EVENT_NAME_MAP.transitionend.transition;\n }\n\n function process(EVENT_NAME_MAP, events) {\n for (const baseEventName in EVENT_NAME_MAP) {\n if (EVENT_NAME_MAP.hasOwnProperty(baseEventName)) {\n const baseEvents = EVENT_NAME_MAP[baseEventName];\n for (const styleName in baseEvents) {\n if (styleName in style) {\n events.push(baseEvents[styleName]);\n break;\n }\n }\n }\n }\n }\n\n process(START_EVENT_NAME_MAP, startEvents);\n process(END_EVENT_NAME_MAP, endEvents);\n}\n\nif (typeof window !== 'undefined' && typeof document !== 'undefined') {\n detectEvents();\n}\n\nfunction addEventListener(node, eventName, eventListener) {\n node.addEventListener(eventName, eventListener, false);\n}\n\nfunction removeEventListener(node, eventName, eventListener) {\n node.removeEventListener(eventName, eventListener, false);\n}\n\nconst TransitionEvents = {\n // Start events\n startEvents,\n\n addStartEventListener(node, eventListener) {\n if (startEvents.length === 0) {\n window.setTimeout(eventListener, 0);\n return;\n }\n startEvents.forEach(startEvent => {\n addEventListener(node, startEvent, eventListener);\n });\n },\n\n removeStartEventListener(node, eventListener) {\n if (startEvents.length === 0) {\n return;\n }\n startEvents.forEach(startEvent => {\n removeEventListener(node, startEvent, eventListener);\n });\n },\n\n // End events\n endEvents,\n\n addEndEventListener(node, eventListener) {\n if (endEvents.length === 0) {\n window.setTimeout(eventListener, 0);\n return;\n }\n endEvents.forEach(endEvent => {\n addEventListener(node, endEvent, eventListener);\n });\n },\n\n removeEndEventListener(node, eventListener) {\n if (endEvents.length === 0) {\n return;\n }\n endEvents.forEach(endEvent => {\n removeEventListener(node, endEvent, eventListener);\n });\n },\n};\n\nexport default TransitionEvents;\n","var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","export default {\n today: 'Today',\n now: 'Now',\n backToToday: 'Back to today',\n ok: 'Ok',\n clear: 'Clear',\n month: 'Month',\n year: 'Year',\n timeSelect: 'select time',\n dateSelect: 'select date',\n weekSelect: 'Choose a week',\n monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Previous month (PageUp)',\n nextMonth: 'Next month (PageDown)',\n previousYear: 'Last year (Control + left)',\n nextYear: 'Next year (Control + right)',\n previousDecade: 'Last decade',\n nextDecade: 'Next decade',\n previousCentury: 'Last century',\n nextCentury: 'Next century',\n};\n","// https://github.com/yiminghe/css-animation 1.5.0\n\nimport Event from './Event';\nimport classes from 'component-classes';\nimport { requestAnimationTimeout, cancelAnimationTimeout } from '../requestAnimationTimeout';\n\nconst isCssAnimationSupported = Event.endEvents.length !== 0;\nconst capitalPrefixes = [\n 'Webkit',\n 'Moz',\n 'O',\n // ms is special .... !\n 'ms',\n];\nconst prefixes = ['-webkit-', '-moz-', '-o-', 'ms-', ''];\n\nfunction getStyleProperty(node, name) {\n // old ff need null, https://developer.mozilla.org/en-US/docs/Web/API/Window/getComputedStyle\n const style = window.getComputedStyle(node, null);\n let ret = '';\n for (let i = 0; i < prefixes.length; i++) {\n ret = style.getPropertyValue(prefixes[i] + name);\n if (ret) {\n break;\n }\n }\n return ret;\n}\n\nfunction fixBrowserByTimeout(node) {\n if (isCssAnimationSupported) {\n const transitionDelay = parseFloat(getStyleProperty(node, 'transition-delay')) || 0;\n const transitionDuration = parseFloat(getStyleProperty(node, 'transition-duration')) || 0;\n const animationDelay = parseFloat(getStyleProperty(node, 'animation-delay')) || 0;\n const animationDuration = parseFloat(getStyleProperty(node, 'animation-duration')) || 0;\n const time = Math.max(transitionDuration + transitionDelay, animationDuration + animationDelay);\n // sometimes, browser bug\n node.rcEndAnimTimeout = setTimeout(() => {\n node.rcEndAnimTimeout = null;\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n }, time * 1000 + 200);\n }\n}\n\nfunction clearBrowserBugTimeout(node) {\n if (node.rcEndAnimTimeout) {\n clearTimeout(node.rcEndAnimTimeout);\n node.rcEndAnimTimeout = null;\n }\n}\n\nconst cssAnimation = (node, transitionName, endCallback) => {\n const nameIsObj = typeof transitionName === 'object';\n const className = nameIsObj ? transitionName.name : transitionName;\n const activeClassName = nameIsObj ? transitionName.active : `${transitionName}-active`;\n let end = endCallback;\n let start;\n let active;\n const nodeClasses = classes(node);\n\n if (endCallback && Object.prototype.toString.call(endCallback) === '[object Object]') {\n end = endCallback.end;\n start = endCallback.start;\n active = endCallback.active;\n }\n\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n\n node.rcEndListener = e => {\n if (e && e.target !== node) {\n return;\n }\n\n if (node.rcAnimTimeout) {\n cancelAnimationTimeout(node.rcAnimTimeout);\n node.rcAnimTimeout = null;\n }\n\n clearBrowserBugTimeout(node);\n\n nodeClasses.remove(className);\n nodeClasses.remove(activeClassName);\n\n Event.removeEndEventListener(node, node.rcEndListener);\n node.rcEndListener = null;\n\n // Usually this optional end is used for informing an owner of\n // a leave animation and telling it to remove the child.\n if (end) {\n end();\n }\n };\n\n Event.addEndEventListener(node, node.rcEndListener);\n\n if (start) {\n start();\n }\n nodeClasses.add(className);\n\n node.rcAnimTimeout = requestAnimationTimeout(() => {\n node.rcAnimTimeout = null;\n\n nodeClasses.add(className);\n nodeClasses.add(activeClassName);\n\n if (active) {\n requestAnimationTimeout(active, 0);\n }\n fixBrowserByTimeout(node);\n // 30ms for firefox\n }, 30);\n\n return {\n stop() {\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n },\n };\n};\n\ncssAnimation.style = (node, style, callback) => {\n if (node.rcEndListener) {\n node.rcEndListener();\n }\n\n node.rcEndListener = e => {\n if (e && e.target !== node) {\n return;\n }\n\n if (node.rcAnimTimeout) {\n cancelAnimationTimeout(node.rcAnimTimeout);\n node.rcAnimTimeout = null;\n }\n\n clearBrowserBugTimeout(node);\n\n Event.removeEndEventListener(node, node.rcEndListener);\n node.rcEndListener = null;\n\n // Usually this optional callback is used for informing an owner of\n // a leave animation and telling it to remove the child.\n if (callback) {\n callback();\n }\n };\n\n Event.addEndEventListener(node, node.rcEndListener);\n\n node.rcAnimTimeout = requestAnimationTimeout(() => {\n for (const s in style) {\n if (style.hasOwnProperty(s)) {\n node.style[s] = style[s];\n }\n }\n node.rcAnimTimeout = null;\n fixBrowserByTimeout(node);\n }, 0);\n};\n\ncssAnimation.setTransition = (node, p, value) => {\n let property = p;\n let v = value;\n if (value === undefined) {\n v = property;\n property = '';\n }\n property = property || '';\n capitalPrefixes.forEach(prefix => {\n node.style[`${prefix}Transition${property}`] = v;\n });\n};\n\ncssAnimation.isCssAnimationSupported = isCssAnimationSupported;\n\nexport { isCssAnimationSupported };\n\nexport default cssAnimation;\n","export default {\n functional: true,\n PRESENTED_IMAGE_DEFAULT: true,\n render() {\n return (\n <svg width=\"184\" height=\"152\" viewBox=\"0 0 184 152\" xmlns=\"http://www.w3.org/2000/svg\">\n <g fill=\"none\" fillRule=\"evenodd\">\n <g transform=\"translate(24 31.67)\">\n <ellipse\n fillOpacity=\".8\"\n fill=\"#F5F5F7\"\n cx=\"67.797\"\n cy=\"106.89\"\n rx=\"67.797\"\n ry=\"12.668\"\n />\n <path\n d=\"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z\"\n fill=\"#AEB8C2\"\n />\n <path\n d=\"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z\"\n fill=\"url(#linearGradient-1)\"\n transform=\"translate(13.56)\"\n />\n <path\n d=\"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z\"\n fill=\"#F5F5F7\"\n />\n <path\n d=\"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z\"\n fill=\"#DCE0E6\"\n />\n </g>\n <path\n d=\"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z\"\n fill=\"#DCE0E6\"\n />\n <g transform=\"translate(149.65 15.383)\" fill=\"#FFF\">\n <ellipse cx=\"20.654\" cy=\"3.167\" rx=\"2.849\" ry=\"2.815\" />\n <path d=\"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z\" />\n </g>\n </g>\n </svg>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport { getComponentFromProp, getListeners } from '../_util/props-util';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport DefaultEmptyImg from './empty';\nimport SimpleEmptyImg from './simple';\nimport Base from '../base';\n\nexport const TransferLocale = () => {\n return {\n description: PropTypes.string,\n };\n};\n\nexport const EmptyProps = () => {\n return {\n prefixCls: PropTypes.string,\n image: PropTypes.any,\n description: PropTypes.any,\n imageStyle: PropTypes.object,\n };\n};\n\nconst Empty = {\n name: 'AEmpty',\n props: {\n ...EmptyProps(),\n },\n methods: {\n renderEmpty(contentLocale) {\n const { prefixCls: customizePrefixCls, imageStyle } = this.$props;\n const prefixCls = ConfigConsumerProps.getPrefixCls('empty', customizePrefixCls);\n const image = getComponentFromProp(this, 'image') || <DefaultEmptyImg />;\n const description = getComponentFromProp(this, 'description');\n\n const des = typeof description !== 'undefined' ? description : contentLocale.description;\n const alt = typeof des === 'string' ? des : 'empty';\n const cls = { [prefixCls]: true };\n let imageNode = null;\n if (typeof image === 'string') {\n imageNode = <img alt={alt} src={image} />;\n } else if (typeof image === 'object' && image.PRESENTED_IMAGE_SIMPLE) {\n const Image = image;\n imageNode = <Image />;\n cls[`${prefixCls}-normal`] = true;\n } else {\n imageNode = image;\n }\n return (\n <div class={cls} {...{ on: getListeners(this) }}>\n <div class={`${prefixCls}-image`} style={imageStyle}>\n {imageNode}\n </div>\n {des && <p class={`${prefixCls}-description`}>{des}</p>}\n {this.$slots.default && <div class={`${prefixCls}-footer`}>{this.$slots.default}</div>}\n </div>\n );\n },\n },\n render() {\n return <LocaleReceiver componentName=\"Empty\" scopedSlots={{ default: this.renderEmpty }} />;\n },\n};\n\nEmpty.PRESENTED_IMAGE_DEFAULT = DefaultEmptyImg;\nEmpty.PRESENTED_IMAGE_SIMPLE = SimpleEmptyImg;\n\n/* istanbul ignore next */\nEmpty.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Empty.name, Empty);\n};\n\nexport default Empty;\n","export default {\n functional: true,\n PRESENTED_IMAGE_SIMPLE: true,\n render() {\n return (\n <svg width=\"64\" height=\"41\" viewBox=\"0 0 64 41\" xmlns=\"http://www.w3.org/2000/svg\">\n <g transform=\"translate(0 1)\" fill=\"none\" fillRule=\"evenodd\">\n <ellipse fill=\"#F5F5F5\" cx=\"32\" cy=\"33\" rx=\"32\" ry=\"7\" />\n <g fillRule=\"nonzero\" stroke=\"#D9D9D9\">\n <path d=\"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z\" />\n <path\n d=\"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z\"\n fill=\"#FAFAFA\"\n />\n </g>\n </g>\n </svg>\n );\n },\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array<Array>} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array<ResizeObserverSPI>}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the <html> itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array<ResizeObservation>}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map<Element, ResizeObservation>}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};","import PropTypes from '../_util/vue-types';\nconst triggerType = PropTypes.oneOf(['hover', 'focus', 'click', 'contextmenu']);\nexport default () => ({\n trigger: PropTypes.oneOfType([triggerType, PropTypes.arrayOf(triggerType)]).def('hover'),\n visible: PropTypes.bool,\n defaultVisible: PropTypes.bool,\n placement: PropTypes.oneOf([\n 'top',\n 'left',\n 'right',\n 'bottom',\n 'topLeft',\n 'topRight',\n 'bottomLeft',\n 'bottomRight',\n 'leftTop',\n 'leftBottom',\n 'rightTop',\n 'rightBottom',\n ]).def('top'),\n transitionName: PropTypes.string.def('zoom-big-fast'),\n // onVisibleChange: PropTypes.func,\n overlayStyle: PropTypes.object.def(() => ({})),\n overlayClassName: PropTypes.string,\n prefixCls: PropTypes.string,\n mouseEnterDelay: PropTypes.number.def(0.1),\n mouseLeaveDelay: PropTypes.number.def(0.1),\n getPopupContainer: PropTypes.func,\n arrowPointAtCenter: PropTypes.bool.def(false),\n autoAdjustOverflow: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]).def(true),\n destroyTooltipOnHide: PropTypes.bool.def(false),\n align: PropTypes.object.def(() => ({})),\n builtinPlacements: PropTypes.object,\n});\n","/**\n * Module dependencies.\n */\n\ntry {\n var index = require('indexof');\n} catch (err) {\n var index = require('component-indexof');\n}\n\n/**\n * Whitespace regexp.\n */\n\nvar re = /\\s+/;\n\n/**\n * toString reference.\n */\n\nvar toString = Object.prototype.toString;\n\n/**\n * Wrap `el` in a `ClassList`.\n *\n * @param {Element} el\n * @return {ClassList}\n * @api public\n */\n\nmodule.exports = function(el){\n return new ClassList(el);\n};\n\n/**\n * Initialize a new ClassList for `el`.\n *\n * @param {Element} el\n * @api private\n */\n\nfunction ClassList(el) {\n if (!el || !el.nodeType) {\n throw new Error('A DOM element reference is required');\n }\n this.el = el;\n this.list = el.classList;\n}\n\n/**\n * Add class `name` if not already present.\n *\n * @param {String} name\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.add = function(name){\n // classList\n if (this.list) {\n this.list.add(name);\n return this;\n }\n\n // fallback\n var arr = this.array();\n var i = index(arr, name);\n if (!~i) arr.push(name);\n this.el.className = arr.join(' ');\n return this;\n};\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\nClassList.prototype.remove = function(name){\n if ('[object RegExp]' == toString.call(name)) {\n return this.removeMatching(name);\n }\n\n // classList\n if (this.list) {\n this.list.remove(name);\n return this;\n }\n\n // fallback\n var arr = this.array();\n var i = index(arr, name);\n if (~i) arr.splice(i, 1);\n this.el.className = arr.join(' ');\n return this;\n};\n\n/**\n * Remove all classes matching `re`.\n *\n * @param {RegExp} re\n * @return {ClassList}\n * @api private\n */\n\nClassList.prototype.removeMatching = function(re){\n var arr = this.array();\n for (var i = 0; i < arr.length; i++) {\n if (re.test(arr[i])) {\n this.remove(arr[i]);\n }\n }\n return this;\n};\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\nClassList.prototype.toggle = function(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 return this;\n }\n\n // fallback\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/**\n * Return an array of classes.\n *\n * @return {Array}\n * @api public\n */\n\nClassList.prototype.array = function(){\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/**\n * Check if class `name` is present.\n *\n * @param {String} name\n * @return {ClassList}\n * @api public\n */\n\nClassList.prototype.has =\nClassList.prototype.contains = function(name){\n return this.list\n ? this.list.contains(name)\n : !! ~index(this.array(), name);\n};\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","// based on rc-tree 2.1.3\n'use strict';\n\nmodule.exports = require('./src/');\n","/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nmodule.exports = isNil;\n","import classNames from 'classnames';\nimport uniqBy from 'lodash/uniqBy';\nimport findIndex from 'lodash/findIndex';\nimport pick from 'lodash/pick';\nimport VcUpload from '../vc-upload';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getOptionProps, initDefaultProps, hasProp, getListeners } from '../_util/props-util';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport defaultLocale from '../locale-provider/default';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Dragger from './Dragger';\nimport UploadList from './UploadList';\nimport { UploadProps } from './interface';\nimport { T, fileToObject, genPercentAdd, getFileItem, removeFileItem } from './utils';\n\nexport { UploadProps };\n\nexport default {\n name: 'AUpload',\n mixins: [BaseMixin],\n inheritAttrs: false,\n Dragger,\n props: initDefaultProps(UploadProps, {\n type: 'select',\n multiple: false,\n action: '',\n data: {},\n accept: '',\n beforeUpload: T,\n showUploadList: true,\n listType: 'text', // or pictrue\n disabled: false,\n supportServerRender: true,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n // recentUploadStatus: boolean | PromiseLike<any>;\n data() {\n this.progressTimer = null;\n return {\n sFileList: this.fileList || this.defaultFileList || [],\n dragState: 'drop',\n };\n },\n watch: {\n fileList(val) {\n this.sFileList = val || [];\n },\n },\n beforeDestroy() {\n this.clearProgressTimer();\n },\n methods: {\n onStart(file) {\n const targetItem = fileToObject(file);\n targetItem.status = 'uploading';\n const nextFileList = this.sFileList.concat();\n const fileIndex = findIndex(nextFileList, ({ uid }) => uid === targetItem.uid);\n if (fileIndex === -1) {\n nextFileList.push(targetItem);\n } else {\n nextFileList[fileIndex] = targetItem;\n }\n this.onChange({\n file: targetItem,\n fileList: nextFileList,\n });\n // fix ie progress\n if (!window.File || process.env.TEST_IE) {\n this.autoUpdateProgress(0, targetItem);\n }\n },\n\n onSuccess(response, file, xhr) {\n this.clearProgressTimer();\n try {\n if (typeof response === 'string') {\n response = JSON.parse(response);\n }\n } catch (e) {\n /* do nothing */\n }\n const fileList = this.sFileList;\n const targetItem = getFileItem(file, fileList);\n // removed\n if (!targetItem) {\n return;\n }\n targetItem.status = 'done';\n targetItem.response = response;\n targetItem.xhr = xhr;\n this.onChange({\n file: { ...targetItem },\n fileList,\n });\n },\n onProgress(e, file) {\n const fileList = this.sFileList;\n const targetItem = getFileItem(file, fileList);\n // removed\n if (!targetItem) {\n return;\n }\n targetItem.percent = e.percent;\n this.onChange({\n event: e,\n file: { ...targetItem },\n fileList: this.sFileList,\n });\n },\n onError(error, response, file) {\n this.clearProgressTimer();\n const fileList = this.sFileList;\n const targetItem = getFileItem(file, fileList);\n // removed\n if (!targetItem) {\n return;\n }\n targetItem.error = error;\n targetItem.response = response;\n targetItem.status = 'error';\n this.onChange({\n file: { ...targetItem },\n fileList,\n });\n },\n onReject(fileList) {\n this.$emit('reject', fileList);\n },\n handleRemove(file) {\n const { remove: onRemove } = this;\n const { sFileList: fileList } = this.$data;\n\n Promise.resolve(typeof onRemove === 'function' ? onRemove(file) : onRemove).then(ret => {\n // Prevent removing file\n if (ret === false) {\n return;\n }\n\n const removedFileList = removeFileItem(file, fileList);\n\n if (removedFileList) {\n file.status = 'removed'; // eslint-disable-line\n\n if (this.upload) {\n this.upload.abort(file);\n }\n\n this.onChange({\n file,\n fileList: removedFileList,\n });\n }\n });\n },\n handleManualRemove(file) {\n if (this.$refs.uploadRef) {\n this.$refs.uploadRef.abort(file);\n }\n this.handleRemove(file);\n },\n onChange(info) {\n if (!hasProp(this, 'fileList')) {\n this.setState({ sFileList: info.fileList });\n }\n this.$emit('change', info);\n },\n onFileDrop(e) {\n this.setState({\n dragState: e.type,\n });\n },\n reBeforeUpload(file, fileList) {\n const { beforeUpload } = this.$props;\n const { sFileList: stateFileList } = this.$data;\n if (!beforeUpload) {\n return true;\n }\n const result = beforeUpload(file, fileList);\n if (result === false) {\n this.onChange({\n file,\n fileList: uniqBy(stateFileList.concat(fileList.map(fileToObject)), item => item.uid),\n });\n return false;\n }\n if (result && result.then) {\n return result;\n }\n return true;\n },\n clearProgressTimer() {\n clearInterval(this.progressTimer);\n },\n autoUpdateProgress(_, file) {\n const getPercent = genPercentAdd();\n let curPercent = 0;\n this.clearProgressTimer();\n this.progressTimer = setInterval(() => {\n curPercent = getPercent(curPercent);\n this.onProgress(\n {\n percent: curPercent * 100,\n },\n file,\n );\n }, 200);\n },\n renderUploadList(locale) {\n const {\n showUploadList = {},\n listType,\n previewFile,\n disabled,\n locale: propLocale,\n } = getOptionProps(this);\n const { showRemoveIcon, showPreviewIcon, showDownloadIcon } = showUploadList;\n const { sFileList: fileList } = this.$data;\n const uploadListProps = {\n props: {\n listType,\n items: fileList,\n previewFile,\n showRemoveIcon: !disabled && showRemoveIcon,\n showPreviewIcon,\n showDownloadIcon,\n locale: { ...locale, ...propLocale },\n },\n on: {\n remove: this.handleManualRemove,\n ...pick(getListeners(this), ['download', 'preview']), // 如果没有配置该事件,不要传递, uploadlist 会有相应逻辑\n },\n };\n return <UploadList {...uploadListProps} />;\n },\n },\n render() {\n const {\n prefixCls: customizePrefixCls,\n showUploadList,\n listType,\n type,\n disabled,\n } = getOptionProps(this);\n const { sFileList: fileList, dragState } = this.$data;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('upload', customizePrefixCls);\n\n const vcUploadProps = {\n props: {\n ...this.$props,\n prefixCls,\n beforeUpload: this.reBeforeUpload,\n },\n on: {\n start: this.onStart,\n error: this.onError,\n progress: this.onProgress,\n success: this.onSuccess,\n reject: this.onReject,\n },\n ref: 'uploadRef',\n attrs: { ...this.$attrs },\n };\n const children = this.$slots.default;\n // Remove id to avoid open by label when trigger is hidden\n // https://github.com/ant-design/ant-design/issues/14298\n if (!children || disabled) {\n delete vcUploadProps.props.id;\n delete vcUploadProps.attrs.id;\n }\n const uploadList = showUploadList ? (\n <LocaleReceiver\n componentName=\"Upload\"\n defaultLocale={defaultLocale.Upload}\n scopedSlots={{ default: this.renderUploadList }}\n />\n ) : null;\n\n if (type === 'drag') {\n const dragCls = classNames(prefixCls, {\n [`${prefixCls}-drag`]: true,\n [`${prefixCls}-drag-uploading`]: fileList.some(file => file.status === 'uploading'),\n [`${prefixCls}-drag-hover`]: dragState === 'dragover',\n [`${prefixCls}-disabled`]: disabled,\n });\n return (\n <span>\n <div\n class={dragCls}\n onDrop={this.onFileDrop}\n onDragover={this.onFileDrop}\n onDragleave={this.onFileDrop}\n >\n <VcUpload {...vcUploadProps} class={`${prefixCls}-btn`}>\n <div class={`${prefixCls}-drag-container`}>{children}</div>\n </VcUpload>\n </div>\n {uploadList}\n </span>\n );\n }\n\n const uploadButtonCls = classNames(prefixCls, {\n [`${prefixCls}-select`]: true,\n [`${prefixCls}-select-${listType}`]: true,\n [`${prefixCls}-disabled`]: disabled,\n });\n\n const uploadButton = (\n <div class={uploadButtonCls} style={children ? undefined : { display: 'none' }}>\n <VcUpload {...vcUploadProps}>{children}</VcUpload>\n </div>\n );\n\n if (listType === 'picture-card') {\n return (\n <span class={`${prefixCls}-picture-card-wrapper`}>\n {uploadList}\n {uploadButton}\n </span>\n );\n }\n return (\n <span>\n {uploadButton}\n {uploadList}\n </span>\n );\n },\n};\n","import _extends from 'babel-runtime/helpers/extends';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport { generate as generateColor } from '@ant-design/colors';\n\nexport function log(message) {\n if (!(process && process.env && process.env.NODE_ENV === 'production')) {\n console.error('[@ant-design/icons-vue]: ' + message + '.');\n }\n}\n\nexport function isIconDefinition(target) {\n return typeof target === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (typeof target.icon === 'object' || typeof target.icon === 'function');\n}\n\nexport function normalizeAttrs() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return Object.keys(attrs).reduce(function (acc, key) {\n var val = attrs[key];\n switch (key) {\n case 'class':\n acc.className = val;\n delete acc['class'];\n break;\n default:\n acc[key] = val;\n }\n return acc;\n }, {});\n}\n\nexport var MiniMap = function () {\n function MiniMap() {\n _classCallCheck(this, MiniMap);\n\n this.collection = {};\n }\n\n _createClass(MiniMap, [{\n key: 'clear',\n value: function clear() {\n this.collection = {};\n }\n }, {\n key: 'delete',\n value: function _delete(key) {\n return delete this.collection[key];\n }\n }, {\n key: 'get',\n value: function get(key) {\n return this.collection[key];\n }\n }, {\n key: 'has',\n value: function has(key) {\n return Boolean(this.collection[key]);\n }\n }, {\n key: 'set',\n value: function set(key, value) {\n this.collection[key] = value;\n return this;\n }\n }, {\n key: 'size',\n get: function get() {\n return Object.keys(this.collection).length;\n }\n }]);\n\n return MiniMap;\n}();\n\nexport function generate(h, node, key, rootProps) {\n if (!rootProps) {\n return h(node.tag, { key: key, attrs: _extends({}, normalizeAttrs(node.attrs)) }, (node.children || []).map(function (child, index) {\n return generate(h, child, key + '-' + node.tag + '-' + index);\n }));\n }\n return h(node.tag, _extends({\n key: key\n }, rootProps, {\n attrs: _extends({}, normalizeAttrs(node.attrs), rootProps.attrs)\n }), (node.children || []).map(function (child, index) {\n return generate(h, child, key + '-' + node.tag + '-' + index);\n }));\n}\n\nexport function getSecondaryColor(primaryColor) {\n // choose the second color\n return generateColor(primaryColor)[0];\n}\n\nexport function withSuffix(name, theme) {\n switch (theme) {\n case 'fill':\n return name + '-fill';\n case 'outline':\n return name + '-o';\n case 'twotone':\n return name + '-twotone';\n default:\n throw new TypeError('Unknown theme type: ' + theme + ', name: ' + name);\n }\n}","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.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 * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","import CalendarLocale from '../../vc-calendar/src/locale/en_US';\nimport TimePickerLocale from '../../time-picker/locale/en_US';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Select date',\n rangePlaceholder: ['Start date', 'End date'],\n ...CalendarLocale,\n },\n timePickerLocale: {\n ...TimePickerLocale,\n },\n};\n\n// All settings at:\n// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json\n\nexport default locale;\n","const locale = {\n placeholder: 'Select time',\n};\n\nexport default locale;\n","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.arrayTreeFilter = factory());\n}(this, (function () { 'use strict';\n\nfunction arrayTreeFilter(data, filterFn, options) {\n options = options || {};\n options.childrenKeyName = options.childrenKeyName || \"children\";\n var children = data || [];\n var result = [];\n var level = 0;\n do {\n var foundItem = children.filter(function (item) {\n return filterFn(item, level);\n })[0];\n if (!foundItem) {\n break;\n }\n result.push(foundItem);\n children = foundItem[options.childrenKeyName] || [];\n level += 1;\n } while (children.length > 0);\n return result;\n}\n\nreturn arrayTreeFilter;\n\n})));\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","module.exports = {};\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","export function antDecorator(Vue) {\n return Vue.directive('decorator', {});\n}\n\nexport default {\n // just for tag\n install: Vue => {\n antDecorator(Vue);\n },\n};\n","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();","import PropTypes from './vue-types';\nimport { getOptionProps, getListeners } from './props-util';\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.name || 'Component';\n}\nexport default function wrapWithConnect(WrappedComponent) {\n const tempProps = WrappedComponent.props || {};\n const methods = WrappedComponent.methods || {};\n const props = {};\n Object.keys(tempProps).forEach(k => {\n props[k] = { ...tempProps[k], required: false };\n });\n WrappedComponent.props.__propsSymbol__ = PropTypes.any;\n WrappedComponent.props.children = PropTypes.array.def([]);\n const ProxyWrappedComponent = {\n props,\n model: WrappedComponent.model,\n name: `Proxy_${getDisplayName(WrappedComponent)}`,\n methods: {\n getProxyWrappedInstance() {\n return this.$refs.wrappedInstance;\n },\n },\n render() {\n const { $slots = {}, $scopedSlots } = this;\n const props = getOptionProps(this);\n const wrapProps = {\n props: {\n ...props,\n __propsSymbol__: Symbol(),\n componentWillReceiveProps: { ...props },\n children: $slots.default || props.children || [],\n },\n on: getListeners(this),\n };\n if (Object.keys($scopedSlots).length) {\n wrapProps.scopedSlots = $scopedSlots;\n }\n const slotsKey = Object.keys($slots);\n return (\n <WrappedComponent {...wrapProps} ref=\"wrappedInstance\">\n {slotsKey.length\n ? slotsKey.map(name => {\n return <template slot={name}>{$slots[name]}</template>;\n })\n : null}\n </WrappedComponent>\n );\n },\n };\n Object.keys(methods).map(m => {\n ProxyWrappedComponent.methods[m] = function() {\n return this.getProxyWrappedInstance()[m](...arguments);\n };\n });\n return ProxyWrappedComponent;\n}\n","import PropTypes from '../../_util/vue-types';\nimport classNames from 'classnames';\nimport { getNodeChildren, mapChildren, warnOnlyTreeNode } from './util';\nimport { initDefaultProps, filterEmpty, getComponentFromProp } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport getTransitionProps from '../../_util/getTransitionProps';\n\nfunction noop() {}\nconst ICON_OPEN = 'open';\nconst ICON_CLOSE = 'close';\n\nconst defaultTitle = '---';\n\nconst TreeNode = {\n name: 'TreeNode',\n mixins: [BaseMixin],\n __ANT_TREE_NODE: true,\n props: initDefaultProps(\n {\n eventKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), // Pass by parent `cloneElement`\n prefixCls: PropTypes.string,\n // className: PropTypes.string,\n root: PropTypes.object,\n // onSelect: PropTypes.func,\n\n // By parent\n expanded: PropTypes.bool,\n selected: PropTypes.bool,\n checked: PropTypes.bool,\n loaded: PropTypes.bool,\n loading: PropTypes.bool,\n halfChecked: PropTypes.bool,\n title: PropTypes.any,\n pos: PropTypes.string,\n dragOver: PropTypes.bool,\n dragOverGapTop: PropTypes.bool,\n dragOverGapBottom: PropTypes.bool,\n\n // By user\n isLeaf: PropTypes.bool,\n checkable: PropTypes.bool,\n selectable: PropTypes.bool,\n disabled: PropTypes.bool,\n disableCheckbox: PropTypes.bool,\n icon: PropTypes.any,\n dataRef: PropTypes.object,\n switcherIcon: PropTypes.any,\n label: PropTypes.any,\n value: PropTypes.any,\n },\n {},\n ),\n\n data() {\n return {\n dragNodeHighlight: false,\n };\n },\n inject: {\n vcTree: { default: () => ({}) },\n vcTreeNode: { default: () => ({}) },\n },\n provide() {\n return {\n vcTreeNode: this,\n };\n },\n\n // Isomorphic needn't load data in server side\n mounted() {\n const {\n eventKey,\n vcTree: { registerTreeNode },\n } = this;\n this.syncLoadData(this.$props);\n registerTreeNode && registerTreeNode(eventKey, this);\n },\n updated() {\n this.syncLoadData(this.$props);\n },\n beforeDestroy() {\n const {\n eventKey,\n vcTree: { registerTreeNode },\n } = this;\n registerTreeNode && registerTreeNode(eventKey, null);\n },\n\n methods: {\n onSelectorClick(e) {\n // Click trigger before select/check operation\n const {\n vcTree: { onNodeClick },\n } = this;\n onNodeClick(e, this);\n if (this.isSelectable()) {\n this.onSelect(e);\n } else {\n this.onCheck(e);\n }\n },\n\n onSelectorDoubleClick(e) {\n const {\n vcTree: { onNodeDoubleClick },\n } = this;\n onNodeDoubleClick(e, this);\n },\n\n onSelect(e) {\n if (this.isDisabled()) return;\n\n const {\n vcTree: { onNodeSelect },\n } = this;\n e.preventDefault();\n onNodeSelect(e, this);\n },\n\n onCheck(e) {\n if (this.isDisabled()) return;\n\n const { disableCheckbox, checked } = this;\n const {\n vcTree: { onNodeCheck },\n } = this;\n\n if (!this.isCheckable() || disableCheckbox) return;\n\n e.preventDefault();\n const targetChecked = !checked;\n onNodeCheck(e, this, targetChecked);\n },\n\n onMouseEnter(e) {\n const {\n vcTree: { onNodeMouseEnter },\n } = this;\n onNodeMouseEnter(e, this);\n },\n\n onMouseLeave(e) {\n const {\n vcTree: { onNodeMouseLeave },\n } = this;\n onNodeMouseLeave(e, this);\n },\n\n onContextMenu(e) {\n const {\n vcTree: { onNodeContextMenu },\n } = this;\n onNodeContextMenu(e, this);\n },\n\n onDragStart(e) {\n const {\n vcTree: { onNodeDragStart },\n } = this;\n\n e.stopPropagation();\n this.setState({\n dragNodeHighlight: true,\n });\n onNodeDragStart(e, this);\n\n try {\n // ie throw error\n // firefox-need-it\n e.dataTransfer.setData('text/plain', '');\n } catch (error) {\n // empty\n }\n },\n\n onDragEnter(e) {\n const {\n vcTree: { onNodeDragEnter },\n } = this;\n\n e.preventDefault();\n e.stopPropagation();\n onNodeDragEnter(e, this);\n },\n\n onDragOver(e) {\n const {\n vcTree: { onNodeDragOver },\n } = this;\n\n e.preventDefault();\n e.stopPropagation();\n onNodeDragOver(e, this);\n },\n\n onDragLeave(e) {\n const {\n vcTree: { onNodeDragLeave },\n } = this;\n\n e.stopPropagation();\n onNodeDragLeave(e, this);\n },\n\n onDragEnd(e) {\n const {\n vcTree: { onNodeDragEnd },\n } = this;\n\n e.stopPropagation();\n this.setState({\n dragNodeHighlight: false,\n });\n onNodeDragEnd(e, this);\n },\n\n onDrop(e) {\n const {\n vcTree: { onNodeDrop },\n } = this;\n\n e.preventDefault();\n e.stopPropagation();\n this.setState({\n dragNodeHighlight: false,\n });\n onNodeDrop(e, this);\n },\n\n // Disabled item still can be switch\n onExpand(e) {\n const {\n vcTree: { onNodeExpand },\n } = this;\n onNodeExpand(e, this);\n },\n\n getNodeChildren() {\n const {\n $slots: { default: children },\n } = this;\n const originList = filterEmpty(children);\n const targetList = getNodeChildren(originList);\n\n if (originList.length !== targetList.length) {\n warnOnlyTreeNode();\n }\n\n return targetList;\n },\n\n getNodeState() {\n const { expanded } = this;\n\n if (this.isLeaf2()) {\n return null;\n }\n\n return expanded ? ICON_OPEN : ICON_CLOSE;\n },\n\n isLeaf2() {\n const { isLeaf, loaded } = this;\n const {\n vcTree: { loadData },\n } = this;\n\n const hasChildren = this.getNodeChildren().length !== 0;\n if (isLeaf === false) {\n return false;\n }\n return isLeaf || (!loadData && !hasChildren) || (loadData && loaded && !hasChildren);\n },\n\n isDisabled() {\n const { disabled } = this;\n const {\n vcTree: { disabled: treeDisabled },\n } = this;\n\n // Follow the logic of Selectable\n if (disabled === false) {\n return false;\n }\n\n return !!(treeDisabled || disabled);\n },\n\n isCheckable() {\n const { checkable } = this.$props;\n const {\n vcTree: { checkable: treeCheckable },\n } = this;\n\n // Return false if tree or treeNode is not checkable\n if (!treeCheckable || checkable === false) return false;\n return treeCheckable;\n },\n\n // Load data to avoid default expanded tree without data\n syncLoadData(props) {\n const { expanded, loading, loaded } = props;\n const {\n vcTree: { loadData, onNodeLoad },\n } = this;\n if (loading) return;\n // read from state to avoid loadData at same time\n if (loadData && expanded && !this.isLeaf2()) {\n // We needn't reload data when has children in sync logic\n // It's only needed in node expanded\n const hasChildren = this.getNodeChildren().length !== 0;\n if (!hasChildren && !loaded) {\n onNodeLoad(this);\n }\n }\n },\n\n isSelectable() {\n const { selectable } = this;\n const {\n vcTree: { selectable: treeSelectable },\n } = this;\n\n // Ignore when selectable is undefined or null\n if (typeof selectable === 'boolean') {\n return selectable;\n }\n\n return treeSelectable;\n },\n\n // Switcher\n renderSwitcher() {\n const { expanded } = this;\n const {\n vcTree: { prefixCls },\n } = this;\n const switcherIcon =\n getComponentFromProp(this, 'switcherIcon', {}, false) ||\n getComponentFromProp(this.vcTree, 'switcherIcon', {}, false);\n if (this.isLeaf2()) {\n return (\n <span\n key=\"switcher\"\n class={classNames(`${prefixCls}-switcher`, `${prefixCls}-switcher-noop`)}\n >\n {typeof switcherIcon === 'function'\n ? switcherIcon({ ...this.$props, ...this.$props.dataRef, isLeaf: true })\n : switcherIcon}\n </span>\n );\n }\n\n const switcherCls = classNames(\n `${prefixCls}-switcher`,\n `${prefixCls}-switcher_${expanded ? ICON_OPEN : ICON_CLOSE}`,\n );\n return (\n <span key=\"switcher\" onClick={this.onExpand} class={switcherCls}>\n {typeof switcherIcon === 'function'\n ? switcherIcon({ ...this.$props, ...this.$props.dataRef, isLeaf: false })\n : switcherIcon}\n </span>\n );\n },\n\n // Checkbox\n renderCheckbox() {\n const { checked, halfChecked, disableCheckbox } = this;\n const {\n vcTree: { prefixCls },\n } = this;\n const disabled = this.isDisabled();\n const checkable = this.isCheckable();\n\n if (!checkable) return null;\n\n // [Legacy] Custom element should be separate with `checkable` in future\n const $custom = typeof checkable !== 'boolean' ? checkable : null;\n\n return (\n <span\n key=\"checkbox\"\n class={classNames(\n `${prefixCls}-checkbox`,\n checked && `${prefixCls}-checkbox-checked`,\n !checked && halfChecked && `${prefixCls}-checkbox-indeterminate`,\n (disabled || disableCheckbox) && `${prefixCls}-checkbox-disabled`,\n )}\n onClick={this.onCheck}\n >\n {$custom}\n </span>\n );\n },\n\n renderIcon() {\n const { loading } = this;\n const {\n vcTree: { prefixCls },\n } = this;\n\n return (\n <span\n key=\"icon\"\n class={classNames(\n `${prefixCls}-iconEle`,\n `${prefixCls}-icon__${this.getNodeState() || 'docu'}`,\n loading && `${prefixCls}-icon_loading`,\n )}\n />\n );\n },\n\n // Icon + Title\n renderSelector(h) {\n const { selected, loading, dragNodeHighlight } = this;\n const icon = getComponentFromProp(this, 'icon', {}, false);\n const {\n vcTree: { prefixCls, showIcon, icon: treeIcon, draggable, loadData },\n } = this;\n const disabled = this.isDisabled();\n const title = getComponentFromProp(this, 'title', {}, false);\n const wrapClass = `${prefixCls}-node-content-wrapper`;\n\n // Icon - Still show loading icon when loading without showIcon\n let $icon;\n\n if (showIcon) {\n const currentIcon = icon || treeIcon;\n $icon = currentIcon ? (\n <span class={classNames(`${prefixCls}-iconEle`, `${prefixCls}-icon__customize`)}>\n {typeof currentIcon === 'function'\n ? currentIcon({ ...this.$props, ...this.$props.dataRef }, h)\n : currentIcon}\n </span>\n ) : (\n this.renderIcon()\n );\n } else if (loadData && loading) {\n $icon = this.renderIcon();\n }\n\n const currentTitle = title;\n let $title = currentTitle ? (\n <span class={`${prefixCls}-title`}>\n {typeof currentTitle === 'function'\n ? currentTitle({ ...this.$props, ...this.$props.dataRef }, h)\n : currentTitle}\n </span>\n ) : (\n <span class={`${prefixCls}-title`}>{defaultTitle}</span>\n );\n\n return (\n <span\n key=\"selector\"\n ref=\"selectHandle\"\n title={typeof title === 'string' ? title : ''}\n class={classNames(\n `${wrapClass}`,\n `${wrapClass}-${this.getNodeState() || 'normal'}`,\n !disabled && (selected || dragNodeHighlight) && `${prefixCls}-node-selected`,\n !disabled && draggable && 'draggable',\n )}\n draggable={(!disabled && draggable) || undefined}\n aria-grabbed={(!disabled && draggable) || undefined}\n onMouseenter={this.onMouseEnter}\n onMouseleave={this.onMouseLeave}\n onContextmenu={this.onContextMenu}\n onClick={this.onSelectorClick}\n onDblclick={this.onSelectorDoubleClick}\n onDragstart={draggable ? this.onDragStart : noop}\n >\n {$icon}\n {$title}\n </span>\n );\n },\n\n // Children list wrapped with `Animation`\n renderChildren() {\n const { expanded, pos } = this;\n const {\n vcTree: { prefixCls, openTransitionName, openAnimation, renderTreeNode },\n } = this;\n\n let animProps = {};\n if (openTransitionName) {\n animProps = getTransitionProps(openTransitionName);\n } else if (typeof openAnimation === 'object') {\n animProps = { ...openAnimation };\n animProps.props = { css: false, ...animProps.props };\n }\n\n // Children TreeNode\n const nodeList = this.getNodeChildren();\n\n if (nodeList.length === 0) {\n return null;\n }\n\n let $children;\n if (expanded) {\n $children = (\n <ul\n class={classNames(\n `${prefixCls}-child-tree`,\n expanded && `${prefixCls}-child-tree-open`,\n )}\n data-expanded={expanded}\n role=\"group\"\n >\n {mapChildren(nodeList, (node, index) => renderTreeNode(node, index, pos))}\n </ul>\n );\n }\n\n return <transition {...animProps}>{$children}</transition>;\n },\n },\n\n render(h) {\n const {\n dragOver,\n dragOverGapTop,\n dragOverGapBottom,\n isLeaf,\n expanded,\n selected,\n checked,\n halfChecked,\n loading,\n } = this.$props;\n const {\n vcTree: { prefixCls, filterTreeNode, draggable },\n } = this;\n const disabled = this.isDisabled();\n return (\n <li\n class={{\n [`${prefixCls}-treenode-disabled`]: disabled,\n [`${prefixCls}-treenode-switcher-${expanded ? 'open' : 'close'}`]: !isLeaf,\n [`${prefixCls}-treenode-checkbox-checked`]: checked,\n [`${prefixCls}-treenode-checkbox-indeterminate`]: halfChecked,\n [`${prefixCls}-treenode-selected`]: selected,\n [`${prefixCls}-treenode-loading`]: loading,\n 'drag-over': !disabled && dragOver,\n 'drag-over-gap-top': !disabled && dragOverGapTop,\n 'drag-over-gap-bottom': !disabled && dragOverGapBottom,\n 'filter-node': filterTreeNode && filterTreeNode(this),\n }}\n role=\"treeitem\"\n onDragenter={draggable ? this.onDragEnter : noop}\n onDragover={draggable ? this.onDragOver : noop}\n onDragleave={draggable ? this.onDragLeave : noop}\n onDrop={draggable ? this.onDrop : noop}\n onDragend={draggable ? this.onDragEnd : noop}\n >\n {this.renderSwitcher()}\n {this.renderCheckbox()}\n {this.renderSelector(h)}\n {this.renderChildren()}\n </li>\n );\n },\n};\n\nTreeNode.isTreeNode = 1;\n\nexport default TreeNode;\n","import Pagination from '../vc-pagination/locale/en_US';\nimport DatePicker from '../date-picker/locale/en_US';\nimport TimePicker from '../time-picker/locale/en_US';\nimport Calendar from '../calendar/locale/en_US';\n\nexport default {\n locale: 'en',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n global: {\n placeholder: 'Please select',\n },\n Table: {\n filterTitle: 'Filter menu',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n selectAll: 'Select current page',\n selectInvert: 'Invert current page',\n sortTitle: 'Sort',\n expand: 'Expand row',\n collapse: 'Collapse row',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Cancel',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Cancel',\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Search here',\n itemUnit: 'item',\n itemsUnit: 'items',\n },\n Upload: {\n uploading: 'Uploading...',\n removeFile: 'Remove file',\n uploadError: 'Upload error',\n previewFile: 'Preview file',\n downloadFile: 'Download file',\n },\n Empty: {\n description: 'No Data',\n },\n Icon: {\n icon: 'icon',\n },\n Text: {\n edit: 'Edit',\n copy: 'Copy',\n copied: 'Copied',\n expand: 'Expand',\n },\n PageHeader: {\n back: 'Back',\n },\n};\n","import { getOptionProps, getListeners } from '../_util/props-util';\nimport Upload from './Upload';\nimport { UploadProps } from './interface';\n\nexport default {\n name: 'AUploadDragger',\n props: UploadProps,\n render() {\n const props = getOptionProps(this);\n const draggerProps = {\n props: {\n ...props,\n type: 'drag',\n },\n on: getListeners(this),\n style: { height: this.height },\n };\n return <Upload {...draggerProps}>{this.$slots.default}</Upload>;\n },\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","export function validProgress(progress) {\n if (!progress || progress < 0) {\n return 0;\n }\n if (progress > 100) {\n return 100;\n }\n return progress;\n}\n","import { validProgress } from './utils';\n\n/**\n * {\n * '0%': '#afc163',\n * '75%': '#009900',\n * '50%': 'green', ====> '#afc163 0%, #66FF00 25%, #00CC00 50%, #009900 75%, #ffffff 100%'\n * '25%': '#66FF00',\n * '100%': '#ffffff'\n * }\n */\nexport const sortGradient = gradients => {\n let tempArr = [];\n // eslint-disable-next-line no-restricted-syntax\n for (const [key, value] of Object.entries(gradients)) {\n const formatKey = parseFloat(key.replace(/%/g, ''));\n if (isNaN(formatKey)) {\n return {};\n }\n tempArr.push({\n key: formatKey,\n value,\n });\n }\n tempArr = tempArr.sort((a, b) => a.key - b.key);\n return tempArr.map(({ key, value }) => `${value} ${key}%`).join(', ');\n};\n\n/**\n * {\n * '0%': '#afc163',\n * '25%': '#66FF00',\n * '50%': '#00CC00', ====> linear-gradient(to right, #afc163 0%, #66FF00 25%,\n * '75%': '#009900', #00CC00 50%, #009900 75%, #ffffff 100%)\n * '100%': '#ffffff'\n * }\n *\n * Then this man came to realize the truth:\n * Besides six pence, there is the moon.\n * Besides bread and butter, there is the bug.\n * And...\n * Besides women, there is the code.\n */\nexport const handleGradient = strokeColor => {\n const { from = '#1890ff', to = '#1890ff', direction = 'to right', ...rest } = strokeColor;\n if (Object.keys(rest).length !== 0) {\n const sortedGradients = sortGradient(rest);\n return { backgroundImage: `linear-gradient(${direction}, ${sortedGradients})` };\n }\n return { backgroundImage: `linear-gradient(${direction}, ${from}, ${to})` };\n};\n\nconst Line = {\n functional: true,\n render(h, context) {\n const { props, children } = context;\n const {\n prefixCls,\n percent,\n successPercent,\n strokeWidth,\n size,\n strokeColor,\n strokeLinecap,\n } = props;\n let backgroundProps;\n if (strokeColor && typeof strokeColor !== 'string') {\n backgroundProps = handleGradient(strokeColor);\n } else {\n backgroundProps = {\n background: strokeColor,\n };\n }\n const percentStyle = {\n width: `${validProgress(percent)}%`,\n height: `${strokeWidth || (size === 'small' ? 6 : 8)}px`,\n background: strokeColor,\n borderRadius: strokeLinecap === 'square' ? 0 : '100px',\n ...backgroundProps,\n };\n const successPercentStyle = {\n width: `${validProgress(successPercent)}%`,\n height: `${strokeWidth || (size === 'small' ? 6 : 8)}px`,\n borderRadius: strokeLinecap === 'square' ? 0 : '',\n };\n const successSegment =\n successPercent !== undefined ? (\n <div class={`${prefixCls}-success-bg`} style={successPercentStyle} />\n ) : null;\n return (\n <div>\n <div class={`${prefixCls}-outer`}>\n <div class={`${prefixCls}-inner`}>\n <div class={`${prefixCls}-bg`} style={percentStyle} />\n {successSegment}\n </div>\n </div>\n {children}\n </div>\n );\n },\n};\n\nexport default Line;\n","function enhancer(Component) {\n return {\n mixins: [Component],\n updated() {\n const now = Date.now();\n let updated = false;\n\n Object.keys(this.paths).forEach(key => {\n const path = this.paths[key];\n\n if (!path) {\n return;\n }\n\n updated = true;\n const pathStyle = path.style;\n pathStyle.transitionDuration = '.3s, .3s, .3s, .06s';\n\n if (this.prevTimeStamp && now - this.prevTimeStamp < 100) {\n pathStyle.transitionDuration = '0s, 0s';\n }\n });\n if (updated) {\n this.prevTimeStamp = Date.now();\n }\n },\n };\n}\n\nexport default enhancer;\n","import PropTypes from '../../_util/vue-types';\n\nexport const defaultProps = {\n // className: '',\n percent: 0,\n prefixCls: 'rc-progress',\n strokeColor: '#2db7f5',\n strokeLinecap: 'round',\n strokeWidth: 1,\n // style: {},\n trailColor: '#D9D9D9',\n trailWidth: 1,\n};\nconst mixedType = PropTypes.oneOfType([PropTypes.number, PropTypes.string]);\n\nexport const propTypes = {\n // className: PropTypes.string,\n percent: PropTypes.oneOfType([mixedType, PropTypes.arrayOf(mixedType)]),\n prefixCls: PropTypes.string,\n strokeColor: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.object])),\n PropTypes.object,\n ]),\n strokeLinecap: PropTypes.oneOf(['butt', 'round', 'square']),\n strokeWidth: mixedType,\n // style: PropTypes.object,\n trailColor: PropTypes.string,\n trailWidth: mixedType,\n};\n","import Vue from 'vue';\nimport ref from 'vue-ref';\nimport PropTypes from '../../_util/vue-types';\nimport { initDefaultProps } from '../../_util/props-util';\nimport enhancer from './enhancer';\nimport { propTypes, defaultProps } from './types';\n\nconst circlePropTypes = {\n ...propTypes,\n gapPosition: PropTypes.oneOf(['top', 'bottom', 'left', 'right']),\n gapDegree: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.bool]),\n};\n\nconst circleDefaultProps = {\n ...defaultProps,\n gapPosition: 'top',\n};\n\nVue.use(ref, { name: 'ant-ref' });\n\nlet gradientSeed = 0;\n\nfunction stripPercentToNumber(percent) {\n return +percent.replace('%', '');\n}\n\nfunction toArray(symArray) {\n return Array.isArray(symArray) ? symArray : [symArray];\n}\n\nfunction getPathStyles(offset, percent, strokeColor, strokeWidth, gapDegree = 0, gapPosition) {\n const radius = 50 - strokeWidth / 2;\n let beginPositionX = 0;\n let beginPositionY = -radius;\n let endPositionX = 0;\n let endPositionY = -2 * radius;\n switch (gapPosition) {\n case 'left':\n beginPositionX = -radius;\n beginPositionY = 0;\n endPositionX = 2 * radius;\n endPositionY = 0;\n break;\n case 'right':\n beginPositionX = radius;\n beginPositionY = 0;\n endPositionX = -2 * radius;\n endPositionY = 0;\n break;\n case 'bottom':\n beginPositionY = radius;\n endPositionY = 2 * radius;\n break;\n default:\n }\n const pathString = `M 50,50 m ${beginPositionX},${beginPositionY}\n a ${radius},${radius} 0 1 1 ${endPositionX},${-endPositionY}\n a ${radius},${radius} 0 1 1 ${-endPositionX},${endPositionY}`;\n const len = Math.PI * 2 * radius;\n\n const pathStyle = {\n stroke: strokeColor,\n strokeDasharray: `${(percent / 100) * (len - gapDegree)}px ${len}px`,\n strokeDashoffset: `-${gapDegree / 2 + (offset / 100) * (len - gapDegree)}px`,\n transition:\n 'stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s, opacity .3s ease 0s', // eslint-disable-line\n };\n\n return {\n pathString,\n pathStyle,\n };\n}\n\nconst Circle = {\n props: initDefaultProps(circlePropTypes, circleDefaultProps),\n created() {\n this.paths = {};\n this.gradientId = gradientSeed;\n gradientSeed += 1;\n },\n methods: {\n getStokeList() {\n const {\n prefixCls,\n percent,\n strokeColor,\n strokeWidth,\n strokeLinecap,\n gapDegree,\n gapPosition,\n } = this.$props;\n const percentList = toArray(percent);\n const strokeColorList = toArray(strokeColor);\n\n let stackPtg = 0;\n return percentList.map((ptg, index) => {\n const color = strokeColorList[index] || strokeColorList[strokeColorList.length - 1];\n const stroke =\n Object.prototype.toString.call(color) === '[object Object]'\n ? `url(#${prefixCls}-gradient-${this.gradientId})`\n : '';\n const { pathString, pathStyle } = getPathStyles(\n stackPtg,\n ptg,\n color,\n strokeWidth,\n gapDegree,\n gapPosition,\n );\n\n stackPtg += ptg;\n\n const pathProps = {\n key: index,\n attrs: {\n d: pathString,\n stroke,\n 'stroke-linecap': strokeLinecap,\n 'stroke-width': strokeWidth,\n opacity: ptg === 0 ? 0 : 1,\n 'fill-opacity': '0',\n },\n class: `${prefixCls}-circle-path`,\n style: pathStyle,\n directives: [\n {\n name: 'ant-ref',\n value: c => {\n this.paths[index] = c;\n },\n },\n ],\n };\n return <path {...pathProps} />;\n });\n },\n },\n\n render() {\n const {\n prefixCls,\n strokeWidth,\n trailWidth,\n gapDegree,\n gapPosition,\n trailColor,\n strokeLinecap,\n strokeColor,\n ...restProps\n } = this.$props;\n const { pathString, pathStyle } = getPathStyles(\n 0,\n 100,\n trailColor,\n strokeWidth,\n gapDegree,\n gapPosition,\n );\n delete restProps.percent;\n const strokeColorList = toArray(strokeColor);\n const gradient = strokeColorList.find(\n color => Object.prototype.toString.call(color) === '[object Object]',\n );\n const pathFirst = {\n attrs: {\n d: pathString,\n stroke: trailColor,\n 'stroke-linecap': strokeLinecap,\n 'stroke-width': trailWidth || strokeWidth,\n 'fill-opacity': '0',\n },\n class: `${prefixCls}-circle-trail`,\n style: pathStyle,\n };\n\n return (\n <svg class={`${prefixCls}-circle`} viewBox=\"0 0 100 100\" {...restProps}>\n {gradient && (\n <defs>\n <linearGradient\n id={`${prefixCls}-gradient-${this.gradientId}`}\n x1=\"100%\"\n y1=\"0%\"\n x2=\"0%\"\n y2=\"0%\"\n >\n {Object.keys(gradient)\n .sort((a, b) => stripPercentToNumber(a) - stripPercentToNumber(b))\n .map((key, index) => (\n <stop key={index} offset={key} stop-color={gradient[key]} />\n ))}\n </linearGradient>\n </defs>\n )}\n <path {...pathFirst} />\n {this.getStokeList().reverse()}\n </svg>\n );\n },\n};\n\nexport default enhancer(Circle);\n","import { Circle as VCCircle } from '../vc-progress';\nimport { validProgress } from './utils';\n\nconst statusColorMap = {\n normal: '#108ee9',\n exception: '#ff5500',\n success: '#87d068',\n};\n\nfunction getPercentage({ percent, successPercent }) {\n const ptg = validProgress(percent);\n if (!successPercent) return ptg;\n\n const successPtg = validProgress(successPercent);\n return [successPercent, validProgress(ptg - successPtg)];\n}\n\nfunction getStrokeColor({ progressStatus, successPercent, strokeColor }) {\n const color = strokeColor || statusColorMap[progressStatus];\n if (!successPercent) return color;\n return [statusColorMap.success, color];\n}\n\nconst Circle = {\n functional: true,\n render(h, context) {\n const { props, children } = context;\n const {\n prefixCls,\n width,\n strokeWidth,\n trailColor,\n strokeLinecap,\n gapPosition,\n gapDegree,\n type,\n } = props;\n const circleSize = width || 120;\n const circleStyle = {\n width: typeof circleSize === 'number' ? `${circleSize}px` : circleSize,\n height: typeof circleSize === 'number' ? `${circleSize}px` : circleSize,\n fontSize: circleSize * 0.15 + 6,\n };\n const circleWidth = strokeWidth || 6;\n const gapPos = gapPosition || (type === 'dashboard' && 'bottom') || 'top';\n const gapDeg = gapDegree || (type === 'dashboard' && 75);\n const strokeColor = getStrokeColor(props);\n const isGradient = Object.prototype.toString.call(strokeColor) === '[object Object]';\n\n const wrapperClassName = {\n [`${prefixCls}-inner`]: true,\n [`${prefixCls}-circle-gradient`]: isGradient,\n };\n\n return (\n <div class={wrapperClassName} style={circleStyle}>\n <VCCircle\n percent={getPercentage(props)}\n strokeWidth={circleWidth}\n trailWidth={circleWidth}\n strokeColor={strokeColor}\n strokeLinecap={strokeLinecap}\n trailColor={trailColor}\n prefixCls={prefixCls}\n gapDegree={gapDeg}\n gapPosition={gapPos}\n />\n {children}\n </div>\n );\n },\n};\n\nexport default Circle;\n","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport { getOptionProps, initDefaultProps, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Icon from '../icon';\nimport Line from './line';\nimport Circle from './circle';\nimport { validProgress } from './utils';\n\nconst ProgressStatuses = ['normal', 'exception', 'active', 'success'];\nexport const ProgressType = PropTypes.oneOf(['line', 'circle', 'dashboard']);\nexport const ProgressSize = PropTypes.oneOf(['default', 'small']);\n\nexport const ProgressProps = {\n prefixCls: PropTypes.string,\n type: ProgressType,\n percent: PropTypes.number,\n successPercent: PropTypes.number,\n format: PropTypes.func,\n status: PropTypes.oneOf(ProgressStatuses),\n showInfo: PropTypes.bool,\n strokeWidth: PropTypes.number,\n strokeLinecap: PropTypes.oneOf(['butt', 'round', 'square']),\n strokeColor: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n trailColor: PropTypes.string,\n width: PropTypes.number,\n gapDegree: PropTypes.number,\n gapPosition: PropTypes.oneOf(['top', 'bottom', 'left', 'right']),\n size: ProgressSize,\n};\n\nexport default {\n name: 'AProgress',\n props: initDefaultProps(ProgressProps, {\n type: 'line',\n percent: 0,\n showInfo: true,\n trailColor: '#f3f3f3',\n size: 'default',\n gapDegree: 0,\n strokeLinecap: 'round',\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n getPercentNumber() {\n const { successPercent, percent = 0 } = this.$props;\n return parseInt(\n successPercent !== undefined ? successPercent.toString() : percent.toString(),\n 10,\n );\n },\n\n getProgressStatus() {\n const { status } = this.$props;\n if (ProgressStatuses.indexOf(status) < 0 && this.getPercentNumber() >= 100) {\n return 'success';\n }\n return status || 'normal';\n },\n renderProcessInfo(prefixCls, progressStatus) {\n const { showInfo, format, type, percent, successPercent } = this.$props;\n if (!showInfo) return null;\n\n let text;\n const textFormatter =\n format || this.$scopedSlots.format || (percentNumber => `${percentNumber}%`);\n const iconType = type === 'circle' || type === 'dashboard' ? '' : '-circle';\n if (\n format ||\n this.$scopedSlots.format ||\n (progressStatus !== 'exception' && progressStatus !== 'success')\n ) {\n text = textFormatter(validProgress(percent), validProgress(successPercent));\n } else if (progressStatus === 'exception') {\n text = <Icon type={`close${iconType}`} theme={type === 'line' ? 'filled' : 'outlined'} />;\n } else if (progressStatus === 'success') {\n text = <Icon type={`check${iconType}`} theme={type === 'line' ? 'filled' : 'outlined'} />;\n }\n return (\n <span class={`${prefixCls}-text`} title={typeof text === 'string' ? text : undefined}>\n {text}\n </span>\n );\n },\n },\n render() {\n const props = getOptionProps(this);\n const { prefixCls: customizePrefixCls, size, type, showInfo } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('progress', customizePrefixCls);\n const progressStatus = this.getProgressStatus();\n const progressInfo = this.renderProcessInfo(prefixCls, progressStatus);\n\n let progress;\n\n // Render progress shape\n if (type === 'line') {\n const lineProps = {\n props: {\n ...props,\n prefixCls,\n },\n };\n progress = <Line {...lineProps}>{progressInfo}</Line>;\n } else if (type === 'circle' || type === 'dashboard') {\n const circleProps = {\n props: {\n ...props,\n prefixCls,\n progressStatus,\n },\n };\n progress = <Circle {...circleProps}>{progressInfo}</Circle>;\n }\n\n const classString = classNames(prefixCls, {\n [`${prefixCls}-${(type === 'dashboard' && 'circle') || type}`]: true,\n [`${prefixCls}-status-${progressStatus}`]: true,\n [`${prefixCls}-show-info`]: showInfo,\n [`${prefixCls}-${size}`]: size,\n });\n\n const progressProps = {\n on: getListeners(this),\n class: classString,\n };\n return <div {...progressProps}>{progress}</div>;\n },\n};\n","import Progress from './progress';\nimport Base from '../base';\n\nexport { ProgressProps } from './progress';\n\n/* istanbul ignore next */\nProgress.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Progress.name, Progress);\n};\n\nexport default Progress;\n","export default {\n // Options.jsx\n items_per_page: '/ page',\n jump_to: 'Go to',\n jump_to_confirm: 'confirm',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Previous Page',\n next_page: 'Next Page',\n prev_5: 'Previous 5 Pages',\n next_5: 'Next 5 Pages',\n prev_3: 'Previous 3 Pages',\n next_3: 'Next 3 Pages',\n};\n","import en_US from '../../date-picker/locale/en_US';\nexport default en_US;\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","module.exports = true;\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","exports.f = {}.propertyIsEnumerable;\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\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/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var baseMatches = require('./_baseMatches'),\n baseMatchesProperty = require('./_baseMatchesProperty'),\n identity = require('./identity'),\n isArray = require('./isArray'),\n property = require('./property');\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\nmodule.exports = baseIteratee;\n","/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\nexport const inBrowser = typeof window !== 'undefined';\nexport const UA = inBrowser && window.navigator.userAgent.toLowerCase();\nexport const isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nfunction makeMap(str, expectsLowerCase) {\n const map = Object.create(null);\n const list = str.split(',');\n for (let i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase ? val => map[val.toLowerCase()] : val => map[val];\n}\nconst isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\nfunction onCompositionStart(e) {\n e.target.composing = true;\n}\n\nfunction onCompositionEnd(e) {\n // prevent triggering an input event for no reason\n if (!e.target.composing) return;\n e.target.composing = false;\n trigger(e.target, 'input');\n}\n\nfunction trigger(el, type) {\n const e = document.createEvent('HTMLEvents');\n e.initEvent(type, true, true);\n el.dispatchEvent(e);\n}\n\n/* istanbul ignore if */\nif (isIE9) {\n // http://www.matts411.com/post/internet-explorer-9-oninput/\n document.addEventListener('selectionchange', () => {\n const el = document.activeElement;\n if (el && el.vmodel) {\n trigger(el, 'input');\n }\n });\n}\n\nexport function antInput(Vue) {\n return Vue.directive('ant-input', {\n inserted(el, binding, vnode) {\n if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n if (!binding.modifiers || !binding.modifiers.lazy) {\n el.addEventListener('compositionstart', onCompositionStart);\n el.addEventListener('compositionend', onCompositionEnd);\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n el.addEventListener('change', onCompositionEnd);\n /* istanbul ignore if */\n if (isIE9) {\n el.vmodel = true;\n }\n }\n }\n },\n });\n}\n\nexport default {\n install: Vue => {\n antInput(Vue);\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport Empty from '../empty';\nimport { ConfigConsumerProps } from './configConsumerProps';\n\nconst RenderEmpty = {\n functional: true,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n props: {\n componentName: PropTypes.string,\n },\n render(createElement, context) {\n const { props, injections } = context;\n function renderHtml(componentName) {\n const getPrefixCls = injections.configProvider.getPrefixCls;\n const prefix = getPrefixCls('empty');\n switch (componentName) {\n case 'Table':\n case 'List':\n return <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />;\n\n case 'Select':\n case 'TreeSelect':\n case 'Cascader':\n case 'Transfer':\n case 'Mentions':\n return <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} class={`${prefix}-small`} />;\n\n default:\n return <Empty />;\n }\n }\n return renderHtml(props.componentName);\n },\n};\n\nfunction renderEmpty(h, componentName) {\n return <RenderEmpty componentName={componentName} />;\n}\n\nexport default renderEmpty;\n","var baseClone = require('./_baseClone');\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\nmodule.exports = cloneDeep;\n","var arrayMap = require('./_arrayMap'),\n baseClone = require('./_baseClone'),\n baseUnset = require('./_baseUnset'),\n castPath = require('./_castPath'),\n copyObject = require('./_copyObject'),\n customOmitClone = require('./_customOmitClone'),\n flatRest = require('./_flatRest'),\n getAllKeysIn = require('./_getAllKeysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\nvar omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n});\n\nmodule.exports = omit;\n","var baseIsRegExp = require('./_baseIsRegExp'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsRegExp = nodeUtil && nodeUtil.isRegExp;\n\n/**\n * Checks if `value` is classified as a `RegExp` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\nvar isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\nmodule.exports = isRegExp;\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 subClass.__proto__ = 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 Date.prototype.toString.call(Reflect.construct(Date, [], 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(_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(_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(_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","var camel2hyphen = require('string-convert/camel2hyphen');\n\nvar isDimension = function (feature) {\n var re = /[height|width]$/;\n return re.test(feature);\n};\n\nvar obj2mq = function (obj) {\n var mq = '';\n var features = Object.keys(obj);\n features.forEach(function (feature, index) {\n var value = obj[feature];\n feature = camel2hyphen(feature);\n // Add px to dimension features\n if (isDimension(feature) && typeof value === 'number') {\n value = value + 'px';\n }\n if (value === true) {\n mq += feature;\n } else if (value === false) {\n mq += 'not ' + feature;\n } else {\n mq += '(' + feature + ': ' + value + ')';\n }\n if (index < features.length-1) {\n mq += ' and '\n }\n });\n return mq;\n};\n\nvar json2mq = function (query) {\n var mq = '';\n if (typeof query === 'string') {\n return query;\n }\n // Handling array of media queries\n if (query instanceof Array) {\n query.forEach(function (q, index) {\n mq += obj2mq(q);\n if (index < query.length-1) {\n mq += ', '\n }\n });\n return mq;\n }\n // Handling single media query\n return obj2mq(query);\n};\n\nmodule.exports = json2mq;","import '../../style/index.less';\nimport './index.less';\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","exports.f = Object.getOwnPropertySymbols;\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n","exports.f = require('./_wks');\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\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 * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\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 assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\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 baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var toFinite = require('./toFinite');\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nmodule.exports = hasUnicode;\n","var asciiSize = require('./_asciiSize'),\n hasUnicode = require('./_hasUnicode'),\n unicodeSize = require('./_unicodeSize');\n\n/**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\nfunction stringSize(string) {\n return hasUnicode(string)\n ? unicodeSize(string)\n : asciiSize(string);\n}\n\nmodule.exports = stringSize;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIteratee = require('./_baseIteratee'),\n toInteger = require('./toInteger');\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\nmodule.exports = findIndex;\n","export default {\n // Options.jsx\n items_per_page: '条/页',\n jump_to: '跳至',\n jump_to_confirm: '确定',\n page: '页',\n\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};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar normalViewBox = '0 0 1024 1024';\nvar newViewBox = '64 64 896 896';\nvar fill = 'fill';\nvar outline = 'outline';\nvar twotone = 'twotone';\nfunction getNode(viewBox) {\n var paths = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n paths[_i - 1] = arguments[_i];\n }\n return {\n tag: 'svg',\n attrs: { viewBox: viewBox, focusable: false },\n children: paths.map(function (path) {\n if (Array.isArray(path)) {\n return {\n tag: 'path',\n attrs: {\n fill: path[0],\n d: path[1]\n }\n };\n }\n return {\n tag: 'path',\n attrs: {\n d: path\n }\n };\n })\n };\n}\nfunction getIcon(name, theme, icon) {\n return {\n name: name,\n theme: theme,\n icon: icon\n };\n}\nexports.AccountBookFill = getIcon('account-book', fill, getNode(newViewBox, 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zM648.3 426.8l-87.7 161.1h45.7c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4v29.7h63.4c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4V752c0 5.5-4.5 10-10 10h-41.3c-5.5 0-10-4.5-10-10v-51.8h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h63.1v-29.7h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h45.2l-88-161.1c-2.6-4.8-.9-10.9 4-13.6 1.5-.8 3.1-1.2 4.8-1.2h46c3.8 0 7.2 2.1 8.9 5.5l72.9 144.3 73.2-144.3a10 10 0 0 1 8.9-5.5h45c5.5 0 10 4.5 10 10 .1 1.7-.3 3.3-1.1 4.8z'));\nexports.AlertFill = getIcon('alert', fill, getNode(newViewBox, 'M512 244c176.18 0 319 142.82 319 319v233a32 32 0 0 1-32 32H225a32 32 0 0 1-32-32V563c0-176.18 142.82-319 319-319zM484 68h56a8 8 0 0 1 8 8v96a8 8 0 0 1-8 8h-56a8 8 0 0 1-8-8V76a8 8 0 0 1 8-8zM177.25 191.66a8 8 0 0 1 11.32 0l67.88 67.88a8 8 0 0 1 0 11.31l-39.6 39.6a8 8 0 0 1-11.31 0l-67.88-67.88a8 8 0 0 1 0-11.31l39.6-39.6zm669.6 0l39.6 39.6a8 8 0 0 1 0 11.3l-67.88 67.9a8 8 0 0 1-11.32 0l-39.6-39.6a8 8 0 0 1 0-11.32l67.89-67.88a8 8 0 0 1 11.31 0zM192 892h640a32 32 0 0 1 32 32v24a8 8 0 0 1-8 8H168a8 8 0 0 1-8-8v-24a32 32 0 0 1 32-32zm148-317v253h64V575h-64z'));\nexports.AlipaySquareFill = getIcon('alipay-square', fill, getNode(newViewBox, 'M308.6 545.7c-19.8 2-57.1 10.7-77.4 28.6-61 53-24.5 150 99 150 71.8 0 143.5-45.7 199.8-119-80.2-38.9-148.1-66.8-221.4-59.6zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm29.4 663.2S703 689.4 598.7 639.5C528.8 725.2 438.6 777.3 345 777.3c-158.4 0-212.1-138.1-137.2-229 16.3-19.8 44.2-38.7 87.3-49.4 67.5-16.5 175 10.3 275.7 43.4 18.1-33.3 33.4-69.9 44.7-108.9H305.1V402h160v-56.2H271.3v-31.3h193.8v-80.1s0-13.5 13.7-13.5H557v93.6h191.7v31.3H557.1V402h156.4c-15 61.1-37.7 117.4-66.2 166.8 47.5 17.1 90.1 33.3 121.8 43.9 114.3 38.2 140.2 40.2 140.2 40.2v122.3z'));\nexports.AliwangwangFill = getIcon('aliwangwang', fill, getNode(newViewBox, 'M868.2 377.4c-18.9-45.1-46.3-85.6-81.2-120.6a377.26 377.26 0 0 0-120.5-81.2A375.65 375.65 0 0 0 519 145.8c-41.9 0-82.9 6.7-121.9 20C306 123.3 200.8 120 170.6 120c-2.2 0-7.4 0-9.4.2-11.9.4-22.8 6.5-29.2 16.4-6.5 9.9-7.7 22.4-3.4 33.5l64.3 161.6a378.59 378.59 0 0 0-52.8 193.2c0 51.4 10 101 29.8 147.6 18.9 45 46.2 85.6 81.2 120.5 34.7 34.8 75.4 62.1 120.5 81.2C418.3 894 467.9 904 519 904c51.3 0 100.9-10 147.7-29.8 44.9-18.9 85.5-46.3 120.4-81.2 34.7-34.8 62.1-75.4 81.2-120.6a376.5 376.5 0 0 0 29.8-147.6c-.2-51.2-10.1-100.8-29.9-147.4zm-325.2 79c0 20.4-16.6 37.1-37.1 37.1-20.4 0-37.1-16.7-37.1-37.1v-55.1c0-20.4 16.6-37.1 37.1-37.1 20.4 0 37.1 16.6 37.1 37.1v55.1zm175.2 0c0 20.4-16.6 37.1-37.1 37.1S644 476.8 644 456.4v-55.1c0-20.4 16.7-37.1 37.1-37.1 20.4 0 37.1 16.6 37.1 37.1v55.1z'));\nexports.AlipayCircleFill = getIcon('alipay-circle', fill, getNode(newViewBox, 'M308.6 545.7c-19.8 2-57.1 10.7-77.4 28.6-61 53-24.5 150 99 150 71.8 0 143.5-45.7 199.8-119-80.2-38.9-148.1-66.8-221.4-59.6zm460.5 67c100.1 33.4 154.7 43 166.7 44.8A445.9 445.9 0 0 0 960 512c0-247.4-200.6-448-448-448S64 264.6 64 512s200.6 448 448 448c155.9 0 293.2-79.7 373.5-200.5-75.6-29.8-213.6-85-286.8-120.1-69.9 85.7-160.1 137.8-253.7 137.8-158.4 0-212.1-138.1-137.2-229 16.3-19.8 44.2-38.7 87.3-49.4 67.5-16.5 175 10.3 275.7 43.4 18.1-33.3 33.4-69.9 44.7-108.9H305.1V402h160v-56.2H271.3v-31.3h193.8v-80.1s0-13.5 13.7-13.5H557v93.6h191.7v31.3H557.1V402h156.4c-15 61.1-37.7 117.4-66.2 166.8 47.5 17.1 90.1 33.3 121.8 43.9z'));\nexports.AmazonCircleFill = getIcon('amazon-circle', fill, getNode(newViewBox, 'M485 467.5c-11.6 4.9-20.9 12.2-27.8 22-6.9 9.8-10.4 21.6-10.4 35.5 0 17.8 7.5 31.5 22.4 41.2 14.1 9.1 28.9 11.4 44.4 6.8 17.9-5.2 30-17.9 36.4-38.1 3-9.3 4.5-19.7 4.5-31.3v-50.2c-12.6.4-24.4 1.6-35.5 3.7-11.1 2.1-22.4 5.6-34 10.4zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm35.8 262.7c-7.2-10.9-20.1-16.4-38.7-16.4-1.3 0-3 .1-5.3.3-2.2.2-6.6 1.5-12.9 3.7a79.4 79.4 0 0 0-17.9 9.1c-5.5 3.8-11.5 10-18 18.4-6.4 8.5-11.5 18.4-15.3 29.8l-94-8.4c0-12.4 2.4-24.7 7-36.9 4.7-12.2 11.8-23.9 21.4-35 9.6-11.2 21.1-21 34.5-29.4 13.4-8.5 29.6-15.2 48.4-20.3 18.9-5.1 39.1-7.6 60.9-7.6 21.3 0 40.6 2.6 57.8 7.7 17.2 5.2 31.1 11.5 41.4 19.1a117 117 0 0 1 25.9 25.7c6.9 9.6 11.7 18.5 14.4 26.7 2.7 8.2 4 15.7 4 22.8v182.5c0 6.4 1.4 13 4.3 19.8 2.9 6.8 6.3 12.8 10.2 18 3.9 5.2 7.9 9.9 12 14.3 4.1 4.3 7.6 7.7 10.6 9.9l4.1 3.4-72.5 69.4c-8.5-7.7-16.9-15.4-25.2-23.4-8.3-8-14.5-14-18.5-18.1l-6.1-6.2c-2.4-2.3-5-5.7-8-10.2-8.1 12.2-18.5 22.8-31.1 31.8-12.7 9-26.3 15.6-40.7 19.7-14.5 4.1-29.4 6.5-44.7 7.1-15.3.6-30-1.5-43.9-6.5-13.9-5-26.5-11.7-37.6-20.3-11.1-8.6-19.9-20.2-26.5-35-6.6-14.8-9.9-31.5-9.9-50.4 0-17.4 3-33.3 8.9-47.7 6-14.5 13.6-26.5 23-36.1 9.4-9.6 20.7-18.2 34-25.7s26.4-13.4 39.2-17.7c12.8-4.2 26.6-7.8 41.5-10.7 14.9-2.9 27.6-4.8 38.2-5.7 10.6-.9 21.2-1.6 31.8-2v-39.4c0-13.5-2.3-23.5-6.7-30.1zm180.5 379.6c-2.8 3.3-7.5 7.8-14.1 13.5s-16.8 12.7-30.5 21.1c-13.7 8.4-28.8 16-45 22.9-16.3 6.9-36.3 12.9-60.1 18-23.7 5.1-48.2 7.6-73.3 7.6-25.4 0-50.7-3.2-76.1-9.6-25.4-6.4-47.6-14.3-66.8-23.7-19.1-9.4-37.6-20.2-55.1-32.2-17.6-12.1-31.7-22.9-42.4-32.5-10.6-9.6-19.6-18.7-26.8-27.1-1.7-1.9-2.8-3.6-3.2-5.1-.4-1.5-.3-2.8.3-3.7.6-.9 1.5-1.6 2.6-2.2a7.42 7.42 0 0 1 7.4.8c40.9 24.2 72.9 41.3 95.9 51.4 82.9 36.4 168 45.7 255.3 27.9 40.5-8.3 82.1-22.2 124.9-41.8 3.2-1.2 6-1.5 8.3-.9 2.3.6 3.5 2.4 3.5 5.4 0 2.8-1.6 6.3-4.8 10.2zm59.9-29c-1.8 11.1-4.9 21.6-9.1 31.8-7.2 17.1-16.3 30-27.1 38.4-3.6 2.9-6.4 3.8-8.3 2.8-1.9-1-1.9-3.5 0-7.4 4.5-9.3 9.2-21.8 14.2-37.7 5-15.8 5.7-26 2.1-30.5-1.1-1.5-2.7-2.6-5-3.6-2.2-.9-5.1-1.5-8.6-1.9s-6.7-.6-9.4-.8c-2.8-.2-6.5-.2-11.2 0-4.7.2-8 .4-10.1.6a874.4 874.4 0 0 1-17.1 1.5c-1.3.2-2.7.4-4.1.5-1.5.1-2.7.2-3.5.3l-2.7.3c-1 .1-1.7.2-2.2.2h-3.2l-1-.2-.6-.5-.5-.9c-1.3-3.3 3.7-7.4 15-12.4s22.3-8.1 32.9-9.3c9.8-1.5 21.3-1.5 34.5-.3s21.3 3.7 24.3 7.4c2.3 3.5 2.5 10.7.7 21.7z'));\nexports.AndroidFill = getIcon('android', fill, getNode(newViewBox, 'M270.1 741.7c0 23.4 19.1 42.5 42.6 42.5h48.7v120.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V784.1h85v120.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V784.1h48.7c23.5 0 42.6-19.1 42.6-42.5V346.4h-486v395.3zm357.1-600.1l44.9-65c2.6-3.8 2-8.9-1.5-11.4-3.5-2.4-8.5-1.2-11.1 2.6l-46.6 67.6c-30.7-12.1-64.9-18.8-100.8-18.8-35.9 0-70.1 6.7-100.8 18.8l-46.6-67.5c-2.6-3.8-7.6-5.1-11.1-2.6-3.5 2.4-4.1 7.4-1.5 11.4l44.9 65c-71.4 33.2-121.4 96.1-127.8 169.6h486c-6.6-73.6-56.7-136.5-128-169.7zM409.5 244.1a26.9 26.9 0 1 1 26.9-26.9 26.97 26.97 0 0 1-26.9 26.9zm208.4 0a26.9 26.9 0 1 1 26.9-26.9 26.97 26.97 0 0 1-26.9 26.9zm223.4 100.7c-30.2 0-54.6 24.8-54.6 55.4v216.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V400.1c.1-30.6-24.3-55.3-54.6-55.3zm-658.6 0c-30.2 0-54.6 24.8-54.6 55.4v216.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V400.1c0-30.6-24.5-55.3-54.6-55.3z'));\nexports.AmazonSquareFill = getIcon('amazon-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM547.8 326.7c-7.2-10.9-20.1-16.4-38.7-16.4-1.3 0-3 .1-5.3.3-2.2.2-6.6 1.5-12.9 3.7a79.4 79.4 0 0 0-17.9 9.1c-5.5 3.8-11.5 10-18 18.4-6.4 8.5-11.5 18.4-15.3 29.8l-94-8.4c0-12.4 2.4-24.7 7-36.9s11.8-23.9 21.4-35c9.6-11.2 21.1-21 34.5-29.4 13.4-8.5 29.6-15.2 48.4-20.3 18.9-5.1 39.1-7.6 60.9-7.6 21.3 0 40.6 2.6 57.8 7.7 17.2 5.2 31.1 11.5 41.4 19.1a117 117 0 0 1 25.9 25.7c6.9 9.6 11.7 18.5 14.4 26.7 2.7 8.2 4 15.7 4 22.8v182.5c0 6.4 1.4 13 4.3 19.8 2.9 6.8 6.3 12.8 10.2 18 3.9 5.2 7.9 9.9 12 14.3 4.1 4.3 7.6 7.7 10.6 9.9l4.1 3.4-72.5 69.4c-8.5-7.7-16.9-15.4-25.2-23.4-8.3-8-14.5-14-18.5-18.1l-6.1-6.2c-2.4-2.3-5-5.7-8-10.2-8.1 12.2-18.5 22.8-31.1 31.8-12.7 9-26.3 15.6-40.7 19.7-14.5 4.1-29.4 6.5-44.7 7.1-15.3.6-30-1.5-43.9-6.5-13.9-5-26.5-11.7-37.6-20.3-11.1-8.6-19.9-20.2-26.5-35-6.6-14.8-9.9-31.5-9.9-50.4 0-17.4 3-33.3 8.9-47.7 6-14.5 13.6-26.5 23-36.1 9.4-9.6 20.7-18.2 34-25.7s26.4-13.4 39.2-17.7c12.8-4.2 26.6-7.8 41.5-10.7 14.9-2.9 27.6-4.8 38.2-5.7 10.6-.9 21.2-1.6 31.8-2v-39.4c0-13.5-2.3-23.5-6.7-30.1zm180.5 379.6c-2.8 3.3-7.5 7.8-14.1 13.5s-16.8 12.7-30.5 21.1c-13.7 8.4-28.8 16-45 22.9-16.3 6.9-36.3 12.9-60.1 18-23.7 5.1-48.2 7.6-73.3 7.6-25.4 0-50.7-3.2-76.1-9.6-25.4-6.4-47.6-14.3-66.8-23.7-19.1-9.4-37.6-20.2-55.1-32.2-17.6-12.1-31.7-22.9-42.4-32.5-10.6-9.6-19.6-18.7-26.8-27.1-1.7-1.9-2.8-3.6-3.2-5.1-.4-1.5-.3-2.8.3-3.7.6-.9 1.5-1.6 2.6-2.2a7.42 7.42 0 0 1 7.4.8c40.9 24.2 72.9 41.3 95.9 51.4 82.9 36.4 168 45.7 255.3 27.9 40.5-8.3 82.1-22.2 124.9-41.8 3.2-1.2 6-1.5 8.3-.9 2.3.6 3.5 2.4 3.5 5.4 0 2.8-1.6 6.3-4.8 10.2zm59.9-29c-1.8 11.1-4.9 21.6-9.1 31.8-7.2 17.1-16.3 30-27.1 38.4-3.6 2.9-6.4 3.8-8.3 2.8-1.9-1-1.9-3.5 0-7.4 4.5-9.3 9.2-21.8 14.2-37.7 5-15.8 5.7-26 2.1-30.5-1.1-1.5-2.7-2.6-5-3.6-2.2-.9-5.1-1.5-8.6-1.9s-6.7-.6-9.4-.8c-2.8-.2-6.5-.2-11.2 0-4.7.2-8 .4-10.1.6a874.4 874.4 0 0 1-17.1 1.5c-1.3.2-2.7.4-4.1.5-1.5.1-2.7.2-3.5.3l-2.7.3c-1 .1-1.7.2-2.2.2h-3.2l-1-.2-.6-.5-.5-.9c-1.3-3.3 3.7-7.4 15-12.4s22.3-8.1 32.9-9.3c9.8-1.5 21.3-1.5 34.5-.3s21.3 3.7 24.3 7.4c2.3 3.5 2.5 10.7.7 21.7zM485 467.5c-11.6 4.9-20.9 12.2-27.8 22-6.9 9.8-10.4 21.6-10.4 35.5 0 17.8 7.5 31.5 22.4 41.2 14.1 9.1 28.9 11.4 44.4 6.8 17.9-5.2 30-17.9 36.4-38.1 3-9.3 4.5-19.7 4.5-31.3v-50.2c-12.6.4-24.4 1.6-35.5 3.7-11.1 2.1-22.4 5.6-34 10.4z'));\nexports.ApiFill = getIcon('api', fill, getNode(newViewBox, 'M917.7 148.8l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 0 0-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 0 0 0 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM578.9 546.7a8.03 8.03 0 0 0-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 0 0-11.3 0L363 475.3l-43-43a7.85 7.85 0 0 0-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2c-68.9 68.9-77 175.7-24.3 253.5l-76.1 76.1a8.03 8.03 0 0 0 0 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2z'));\nexports.AppstoreFill = getIcon('appstore', fill, getNode(newViewBox, 'M864 144H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm0 400H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zM464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm0 400H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16z'));\nexports.AudioFill = getIcon('audio', fill, getNode(newViewBox, 'M512 624c93.9 0 170-75.2 170-168V232c0-92.8-76.1-168-170-168s-170 75.2-170 168v224c0 92.8 76.1 168 170 168zm330-170c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 140.3-113.7 254-254 254S258 594.3 258 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 168.7 126.6 307.9 290 327.6V884H326.7c-13.7 0-24.7 14.3-24.7 32v36c0 4.4 2.8 8 6.2 8h407.6c3.4 0 6.2-3.6 6.2-8v-36c0-17.7-11-32-24.7-32H548V782.1c165.3-18 294-158 294-328.1z'));\nexports.AppleFill = getIcon('apple', fill, getNode(newViewBox, 'M747.4 535.7c-.4-68.2 30.5-119.6 92.9-157.5-34.9-50-87.7-77.5-157.3-82.8-65.9-5.2-138 38.4-164.4 38.4-27.9 0-91.7-36.6-141.9-36.6C273.1 298.8 163 379.8 163 544.6c0 48.7 8.9 99 26.7 150.8 23.8 68.2 109.6 235.3 199.1 232.6 46.8-1.1 79.9-33.2 140.8-33.2 59.1 0 89.7 33.2 141.9 33.2 90.3-1.3 167.9-153.2 190.5-221.6-121.1-57.1-114.6-167.2-114.6-170.7zm-105.1-305c50.7-60.2 46.1-115 44.6-134.7-44.8 2.6-96.6 30.5-126.1 64.8-32.5 36.8-51.6 82.3-47.5 133.6 48.4 3.7 92.6-21.2 129-63.7z'));\nexports.BackwardFill = getIcon('backward', fill, getNode(normalViewBox, 'M485.6 249.9L198.2 498c-8.3 7.1-8.3 20.8 0 27.9l287.4 248.2c10.7 9.2 26.4.9 26.4-14V263.8c0-14.8-15.7-23.2-26.4-13.9zm320 0L518.2 498a18.6 18.6 0 0 0-6.2 14c0 5.2 2.1 10.4 6.2 14l287.4 248.2c10.7 9.2 26.4.9 26.4-14V263.8c0-14.8-15.7-23.2-26.4-13.9z'));\nexports.BankFill = getIcon('bank', fill, getNode(newViewBox, 'M894 462c30.9 0 43.8-39.7 18.7-58L530.8 126.2a31.81 31.81 0 0 0-37.6 0L111.3 404c-25.1 18.2-12.2 58 18.8 58H192v374h-72c-4.4 0-8 3.6-8 8v52c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-52c0-4.4-3.6-8-8-8h-72V462h62zM381 836H264V462h117v374zm189 0H453V462h117v374zm190 0H642V462h118v374z'));\nexports.BehanceCircleFill = getIcon('behance-circle', fill, getNode(newViewBox, 'M420.3 470.3c8.7-6.3 12.9-16.7 12.9-31 .3-6.8-1.1-13.5-4.1-19.6-2.7-4.9-6.7-9-11.6-11.9a44.8 44.8 0 0 0-16.6-6c-6.4-1.2-12.9-1.8-19.3-1.7h-70.3v79.7h76.1c13.1.1 24.2-3.1 32.9-9.5zm11.8 72c-9.8-7.5-22.9-11.2-39.2-11.2h-81.8v94h80.2c7.5 0 14.4-.7 21.1-2.1a50.5 50.5 0 0 0 17.8-7.2c5.1-3.3 9.2-7.8 12.3-13.6 3-5.8 4.5-13.2 4.5-22.1 0-17.7-5-30.2-14.9-37.8zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm86.5 286.9h138.4v33.7H598.5v-33.7zM512 628.8a89.52 89.52 0 0 1-27 31c-11.8 8.2-24.9 14.2-38.8 17.7a167.4 167.4 0 0 1-44.6 5.7H236V342.1h161c16.3 0 31.1 1.5 44.6 4.3 13.4 2.8 24.8 7.6 34.4 14.1 9.5 6.5 17 15.2 22.3 26 5.2 10.7 7.9 24.1 7.9 40 0 17.2-3.9 31.4-11.7 42.9-7.9 11.5-19.3 20.8-34.8 28.1 21.1 6 36.6 16.7 46.8 31.7 10.4 15.2 15.5 33.4 15.5 54.8 0 17.4-3.3 32.3-10 44.8zM790.8 576H612.4c0 19.4 6.7 38 16.8 48 10.2 9.9 24.8 14.9 43.9 14.9 13.8 0 25.5-3.5 35.5-10.4 9.9-6.9 15.9-14.2 18.1-21.8h59.8c-9.6 29.7-24.2 50.9-44 63.7-19.6 12.8-43.6 19.2-71.5 19.2-19.5 0-37-3.2-52.7-9.3-15.1-5.9-28.7-14.9-39.9-26.5a121.2 121.2 0 0 1-25.1-41.2c-6.1-16.9-9.1-34.7-8.9-52.6 0-18.5 3.1-35.7 9.1-51.7 11.5-31.1 35.4-56 65.9-68.9 16.3-6.8 33.8-10.2 51.5-10 21 0 39.2 4 55 12.2a111.6 111.6 0 0 1 38.6 32.8c10.1 13.7 17.2 29.3 21.7 46.9 4.3 17.3 5.8 35.5 4.6 54.7zm-122-95.6c-10.8 0-19.9 1.9-26.9 5.6-7 3.7-12.8 8.3-17.2 13.6a48.4 48.4 0 0 0-9.1 17.4c-1.6 5.3-2.7 10.7-3.1 16.2H723c-1.6-17.3-7.6-30.1-15.6-39.1-8.4-8.9-21.9-13.7-38.6-13.7z'));\nexports.BellFill = getIcon('bell', fill, getNode(newViewBox, 'M816 768h-24V428c0-141.1-104.3-257.8-240-277.2V112c0-22.1-17.9-40-40-40s-40 17.9-40 40v38.8C336.3 170.2 232 286.9 232 428v340h-24c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h216c0 61.8 50.2 112 112 112s112-50.2 112-112h216c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM512 888c-26.5 0-48-21.5-48-48h96c0 26.5-21.5 48-48 48z'));\nexports.BehanceSquareFill = getIcon('behance-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM598.5 350.9h138.4v33.7H598.5v-33.7zM512 628.8a89.52 89.52 0 0 1-27 31c-11.8 8.2-24.9 14.2-38.8 17.7a167.4 167.4 0 0 1-44.6 5.7H236V342.1h161c16.3 0 31.1 1.5 44.6 4.3 13.4 2.8 24.8 7.6 34.4 14.1 9.5 6.5 17 15.2 22.3 26 5.2 10.7 7.9 24.1 7.9 40 0 17.2-3.9 31.4-11.7 42.9-7.9 11.5-19.3 20.8-34.8 28.1 21.1 6 36.6 16.7 46.8 31.7 10.4 15.2 15.5 33.4 15.5 54.8 0 17.4-3.3 32.3-10 44.8zM790.8 576H612.4c0 19.4 6.7 38 16.8 48 10.2 9.9 24.8 14.9 43.9 14.9 13.8 0 25.5-3.5 35.5-10.4 9.9-6.9 15.9-14.2 18.1-21.8h59.8c-9.6 29.7-24.2 50.9-44 63.7-19.6 12.8-43.6 19.2-71.5 19.2-19.5 0-37-3.2-52.7-9.3-15.1-5.9-28.7-14.9-39.9-26.5a121.2 121.2 0 0 1-25.1-41.2c-6.1-16.9-9.1-34.7-8.9-52.6 0-18.5 3.1-35.7 9.1-51.7 11.5-31.1 35.4-56 65.9-68.9 16.3-6.8 33.8-10.2 51.5-10 21 0 39.2 4 55 12.2a111.6 111.6 0 0 1 38.6 32.8c10.1 13.7 17.2 29.3 21.7 46.9 4.3 17.3 5.8 35.5 4.6 54.7zm-122-95.6c-10.8 0-19.9 1.9-26.9 5.6-7 3.7-12.8 8.3-17.2 13.6a48.4 48.4 0 0 0-9.1 17.4c-1.6 5.3-2.7 10.7-3.1 16.2H723c-1.6-17.3-7.6-30.1-15.6-39.1-8.4-8.9-21.9-13.7-38.6-13.7zm-248.5-10.1c8.7-6.3 12.9-16.7 12.9-31 .3-6.8-1.1-13.5-4.1-19.6-2.7-4.9-6.7-9-11.6-11.9a44.8 44.8 0 0 0-16.6-6c-6.4-1.2-12.9-1.8-19.3-1.7h-70.3v79.7h76.1c13.1.1 24.2-3.1 32.9-9.5zm11.8 72c-9.8-7.5-22.9-11.2-39.2-11.2h-81.8v94h80.2c7.5 0 14.4-.7 21.1-2.1s12.7-3.8 17.8-7.2c5.1-3.3 9.2-7.8 12.3-13.6 3-5.8 4.5-13.2 4.5-22.1 0-17.7-5-30.2-14.9-37.8z'));\nexports.BookFill = getIcon('book', fill, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zM668 345.9L621.5 312 572 347.4V124h96v221.9z'));\nexports.BoxPlotFill = getIcon('box-plot', fill, getNode(newViewBox, 'M952 224h-52c-4.4 0-8 3.6-8 8v248h-92V304c0-4.4-3.6-8-8-8H448v432h344c4.4 0 8-3.6 8-8V548h92v244c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zm-728 80v176h-92V232c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V548h92v172c0 4.4 3.6 8 8 8h152V296H232c-4.4 0-8 3.6-8 8z'));\nexports.BugFill = getIcon('bug', fill, getNode(newViewBox, 'M304 280h416c4.4 0 8-3.6 8-8 0-40-8.8-76.7-25.9-108.1a184.31 184.31 0 0 0-74-74C596.7 72.8 560 64 520 64h-16c-40 0-76.7 8.8-108.1 25.9a184.31 184.31 0 0 0-74 74C304.8 195.3 296 232 296 272c0 4.4 3.6 8 8 8z', 'M940 512H792V412c76.8 0 139-62.2 139-139 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8a63 63 0 0 1-63 63H232a63 63 0 0 1-63-63c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 76.8 62.2 139 139 139v100H84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h148v96c0 6.5.2 13 .7 19.3C164.1 728.6 116 796.7 116 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-44.2 23.9-82.9 59.6-103.7a273 273 0 0 0 22.7 49c24.3 41.5 59 76.2 100.5 100.5 28.9 16.9 61 28.8 95.3 34.5 4.4 0 8-3.6 8-8V484c0-4.4 3.6-8 8-8h60c4.4 0 8 3.6 8 8v464.2c0 4.4 3.6 8 8 8 34.3-5.7 66.4-17.6 95.3-34.5a281.38 281.38 0 0 0 123.2-149.5A120.4 120.4 0 0 1 836 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-79.3-48.1-147.4-116.7-176.7.4-6.4.7-12.8.7-19.3v-96h148c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.CalculatorFill = getIcon('calculator', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM440.2 765h-50.8c-2.2 0-4.5-1.1-5.9-2.9L348 718.6l-35.5 43.5a7.38 7.38 0 0 1-5.9 2.9h-50.8c-6.6 0-10.2-7.9-5.8-13.1l62.7-76.8-61.2-74.9c-4.3-5.2-.7-13.1 5.9-13.1h50.9c2.2 0 4.5 1.1 5.9 2.9l34 41.6 34-41.6c1.5-1.9 3.6-2.9 5.9-2.9h50.8c6.6 0 10.2 7.9 5.9 13.1L383.5 675l62.7 76.8c4.2 5.3.6 13.2-6 13.2zm7.8-382c0 2.2-1.4 4-3.2 4H376v68.7c0 1.9-1.8 3.3-4 3.3h-48c-2.2 0-4-1.4-4-3.2V387h-68.8c-1.8 0-3.2-1.8-3.2-4v-48c0-2.2 1.4-4 3.2-4H320v-68.8c0-1.8 1.8-3.2 4-3.2h48c2.2 0 4 1.4 4 3.2V331h68.7c1.9 0 3.3 1.8 3.3 4v48zm328 369c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48zm0-104c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48zm0-265c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48z'));\nexports.BulbFill = getIcon('bulb', fill, getNode(newViewBox, 'M348 676.1C250 619.4 184 513.4 184 392c0-181.1 146.9-328 328-328s328 146.9 328 328c0 121.4-66 227.4-164 284.1V792c0 17.7-14.3 32-32 32H380c-17.7 0-32-14.3-32-32V676.1zM392 888h240c4.4 0 8 3.6 8 8v32c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32v-32c0-4.4 3.6-8 8-8z'));\nexports.BuildFill = getIcon('build', fill, getNode(newViewBox, 'M916 210H376c-17.7 0-32 14.3-32 32v236H108c-17.7 0-32 14.3-32 32v272c0 17.7 14.3 32 32 32h540c17.7 0 32-14.3 32-32V546h236c17.7 0 32-14.3 32-32V242c0-17.7-14.3-32-32-32zM612 746H412V546h200v200zm268-268H680V278h200v200z'));\nexports.CalendarFill = getIcon('calendar', fill, getNode(newViewBox, 'M112 880c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V460H112v420zm768-696H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v176h800V216c0-17.7-14.3-32-32-32z'));\nexports.CameraFill = getIcon('camera', fill, getNode(newViewBox, 'M864 260H728l-32.4-90.8a32.07 32.07 0 0 0-30.2-21.2H358.6c-13.5 0-25.6 8.5-30.1 21.2L296 260H160c-44.2 0-80 35.8-80 80v456c0 44.2 35.8 80 80 80h704c44.2 0 80-35.8 80-80V340c0-44.2-35.8-80-80-80zM512 716c-88.4 0-160-71.6-160-160s71.6-160 160-160 160 71.6 160 160-71.6 160-160 160zm-96-160a96 96 0 1 0 192 0 96 96 0 1 0-192 0z'));\nexports.CarFill = getIcon('car', fill, getNode(newViewBox, 'M959 413.4L935.3 372a8 8 0 0 0-10.9-2.9l-50.7 29.6-78.3-216.2a63.9 63.9 0 0 0-60.9-44.4H301.2c-34.7 0-65.5 22.4-76.2 55.5l-74.6 205.2-50.8-29.6a8 8 0 0 0-10.9 2.9L65 413.4c-2.2 3.8-.9 8.6 2.9 10.8l60.4 35.2-14.5 40c-1.2 3.2-1.8 6.6-1.8 10v348.2c0 15.7 11.8 28.4 26.3 28.4h67.6c12.3 0 23-9.3 25.6-22.3l7.7-37.7h545.6l7.7 37.7c2.7 13 13.3 22.3 25.6 22.3h67.6c14.5 0 26.3-12.7 26.3-28.4V509.4c0-3.4-.6-6.8-1.8-10l-14.5-40 60.3-35.2a8 8 0 0 0 3-10.8zM264 621c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm388 75c0 4.4-3.6 8-8 8H380c-4.4 0-8-3.6-8-8v-84c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v36h168v-36c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v84zm108-75c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zM220 418l72.7-199.9.5-1.3.4-1.3c1.1-3.3 4.1-5.5 7.6-5.5h427.6l75.4 208H220z'));\nexports.CaretDownFill = getIcon('caret-down', fill, getNode(normalViewBox, 'M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z'));\nexports.CaretLeftFill = getIcon('caret-left', fill, getNode(normalViewBox, 'M689 165.1L308.2 493.5c-10.9 9.4-10.9 27.5 0 37L689 858.9c14.2 12.2 35 1.2 35-18.5V183.6c0-19.7-20.8-30.7-35-18.5z'));\nexports.CaretRightFill = getIcon('caret-right', fill, getNode(normalViewBox, 'M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z'));\nexports.CarryOutFill = getIcon('carry-out', fill, getNode(newViewBox, 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zM694.5 432.7L481.9 725.4a16.1 16.1 0 0 1-26 0l-126.4-174c-3.8-5.3 0-12.7 6.5-12.7h55.2c5.1 0 10 2.5 13 6.6l64.7 89 150.9-207.8c3-4.1 7.8-6.6 13-6.6H688c6.5.1 10.3 7.5 6.5 12.8z'));\nexports.CaretUpFill = getIcon('caret-up', fill, getNode(normalViewBox, 'M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z'));\nexports.CheckCircleFill = getIcon('check-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 0 1-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z'));\nexports.CheckSquareFill = getIcon('check-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM695.5 365.7l-210.6 292a31.8 31.8 0 0 1-51.7 0L308.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H689c6.5 0 10.3 7.4 6.5 12.7z'));\nexports.ChromeFill = getIcon('chrome', fill, getNode(newViewBox, 'M371.8 512c0 77.5 62.7 140.2 140.2 140.2S652.2 589.5 652.2 512 589.5 371.8 512 371.8 371.8 434.4 371.8 512zM900 362.4l-234.3 12.1c63.6 74.3 64.6 181.5 11.1 263.7l-188 289.2c78 4.2 158.4-12.9 231.2-55.2 180-104 253-322.1 180-509.8zM320.3 591.9L163.8 284.1A415.35 415.35 0 0 0 96 512c0 208 152.3 380.3 351.4 410.8l106.9-209.4c-96.6 18.2-189.9-34.8-234-121.5zm218.5-285.5l344.4 18.1C848 254.7 792.6 194 719.8 151.7 653.9 113.6 581.5 95.5 510.5 96c-122.5.5-242.2 55.2-322.1 154.5l128.2 196.9c32-91.9 124.8-146.7 222.2-141z'));\nexports.CiCircleFill = getIcon('ci-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-63.6 656c-103 0-162.4-68.6-162.4-182.6v-49C286 373.5 345.4 304 448.3 304c88.3 0 152.3 56.9 152.3 138.1 0 2.4-2 4.4-4.4 4.4h-52.6c-4.2 0-7.6-3.2-8-7.4-4-46.1-37.6-77.6-87-77.6-61.1 0-95.6 45.4-95.6 126.9v49.3c0 80.3 34.5 125.1 95.6 125.1 49.3 0 82.8-29.5 87-72.4.4-4.1 3.8-7.3 8-7.3h52.7c2.4 0 4.4 2 4.4 4.4 0 77.4-64.3 132.5-152.3 132.5zM738 704.1c0 4.4-3.6 8-8 8h-50.4c-4.4 0-8-3.6-8-8V319.9c0-4.4 3.6-8 8-8H730c4.4 0 8 3.6 8 8v384.2z'));\nexports.ClockCircleFill = getIcon('clock-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm176.5 585.7l-28.6 39a7.99 7.99 0 0 1-11.2 1.7L483.3 569.8a7.92 7.92 0 0 1-3.3-6.5V288c0-4.4 3.6-8 8-8h48.1c4.4 0 8 3.6 8 8v247.5l142.6 103.1c3.6 2.5 4.4 7.5 1.8 11.1z'));\nexports.CloseCircleFill = getIcon('close-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm165.4 618.2l-66-.3L512 563.4l-99.3 118.4-66.1.3c-4.4 0-8-3.5-8-8 0-1.9.7-3.7 1.9-5.2l130.1-155L340.5 359a8.32 8.32 0 0 1-1.9-5.2c0-4.4 3.6-8 8-8l66.1.3L512 464.6l99.3-118.4 66-.3c4.4 0 8 3.5 8 8 0 1.9-.7 3.7-1.9 5.2L553.5 514l130 155c1.2 1.5 1.9 3.3 1.9 5.2 0 4.4-3.6 8-8 8z'));\nexports.CloudFill = getIcon('cloud', fill, getNode(newViewBox, 'M811.4 418.7C765.6 297.9 648.9 212 512.2 212S258.8 297.8 213 418.6C127.3 441.1 64 519.1 64 612c0 110.5 89.5 200 199.9 200h496.2C870.5 812 960 722.5 960 612c0-92.7-63.1-170.7-148.6-193.3z'));\nexports.CloseSquareFill = getIcon('close-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM676.1 657.9c4.4 5.2.7 13.1-6.1 13.1h-58.9c-4.7 0-9.2-2.1-12.3-5.7L512 561.8l-86.8 103.5c-3 3.6-7.5 5.7-12.3 5.7H354c-6.8 0-10.5-7.9-6.1-13.1L470.2 512 347.9 366.1A7.95 7.95 0 0 1 354 353h58.9c4.7 0 9.2 2.1 12.3 5.7L512 462.2l86.8-103.5c3-3.6 7.5-5.7 12.3-5.7H670c6.8 0 10.5 7.9 6.1 13.1L553.8 512l122.3 145.9z'));\nexports.CodeSandboxSquareFill = getIcon('code-sandbox-square', fill, getNode(newViewBox, 'M307.9 536.7l87.6 49.9V681l96.7 55.9V524.8L307.9 418.4zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM755.7 653.2L512 794 268.3 653.2V371.8l110-63.6-.4-.2h.2L512 231l134 77h-.2l-.3.2 110.1 63.6v281.4zm-223.9 83.7l97.3-56.2v-94.1l87-49.5V418.5L531.8 525zm-20-352L418 331l-91.1 52.6 185.2 107 185.2-106.9-91.4-52.8z'));\nexports.CodeSandboxCircleFill = getIcon('code-sandbox-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm243.7 589.2L512 794 268.3 653.2V371.8l110-63.6-.4-.2h.2L512 231l134 77h-.2l-.3.2 110.1 63.6v281.4zM307.9 536.7l87.6 49.9V681l96.7 55.9V524.8L307.9 418.4zm203.9-151.8L418 331l-91.1 52.6 185.2 107 185.2-106.9-91.4-52.8zm20 352l97.3-56.2v-94.1l87-49.5V418.5L531.8 525z'));\nexports.CodeFill = getIcon('code', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM513.1 518.1l-192 161c-5.2 4.4-13.1.7-13.1-6.1v-62.7c0-2.3 1.1-4.6 2.9-6.1L420.7 512l-109.8-92.2a7.63 7.63 0 0 1-2.9-6.1V351c0-6.8 7.9-10.5 13.1-6.1l192 160.9c3.9 3.2 3.9 9.1 0 12.3zM716 673c0 4.4-3.4 8-7.5 8h-185c-4.1 0-7.5-3.6-7.5-8v-48c0-4.4 3.4-8 7.5-8h185c4.1 0 7.5 3.6 7.5 8v48z'));\nexports.CompassFill = getIcon('compass', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM327.3 702.4c-2 .9-4.4 0-5.3-2.1-.4-1-.4-2.2 0-3.2l98.7-225.5 132.1 132.1-225.5 98.7zm375.1-375.1l-98.7 225.5-132.1-132.1L697.1 322c2-.9 4.4 0 5.3 2.1.4 1 .4 2.1 0 3.2z'));\nexports.CodepenCircleFill = getIcon('codepen-circle', fill, getNode(newViewBox, 'M488.1 414.7V303.4L300.9 428l83.6 55.8zm254.1 137.7v-79.8l-59.8 39.9zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm278 533c0 1.1-.1 2.1-.2 3.1 0 .4-.1.7-.2 1a14.16 14.16 0 0 1-.8 3.2c-.2.6-.4 1.2-.6 1.7-.2.4-.4.8-.5 1.2-.3.5-.5 1.1-.8 1.6-.2.4-.4.7-.7 1.1-.3.5-.7 1-1 1.5-.3.4-.5.7-.8 1-.4.4-.8.9-1.2 1.3-.3.3-.6.6-1 .9-.4.4-.9.8-1.4 1.1-.4.3-.7.6-1.1.8-.1.1-.3.2-.4.3L525.2 786c-4 2.7-8.6 4-13.2 4-4.7 0-9.3-1.4-13.3-4L244.6 616.9c-.1-.1-.3-.2-.4-.3l-1.1-.8c-.5-.4-.9-.7-1.3-1.1-.3-.3-.6-.6-1-.9-.4-.4-.8-.8-1.2-1.3a7 7 0 0 1-.8-1c-.4-.5-.7-1-1-1.5-.2-.4-.5-.7-.7-1.1-.3-.5-.6-1.1-.8-1.6-.2-.4-.4-.8-.5-1.2-.2-.6-.4-1.2-.6-1.7-.1-.4-.3-.8-.4-1.2-.2-.7-.3-1.3-.4-2-.1-.3-.1-.7-.2-1-.1-1-.2-2.1-.2-3.1V427.9c0-1 .1-2.1.2-3.1.1-.3.1-.7.2-1a14.16 14.16 0 0 1 .8-3.2c.2-.6.4-1.2.6-1.7.2-.4.4-.8.5-1.2.2-.5.5-1.1.8-1.6.2-.4.4-.7.7-1.1.6-.9 1.2-1.7 1.8-2.5.4-.4.8-.9 1.2-1.3.3-.3.6-.6 1-.9.4-.4.9-.8 1.3-1.1.4-.3.7-.6 1.1-.8.1-.1.3-.2.4-.3L498.7 239c8-5.3 18.5-5.3 26.5 0l254.1 169.1c.1.1.3.2.4.3l1.1.8 1.4 1.1c.3.3.6.6 1 .9.4.4.8.8 1.2 1.3.7.8 1.3 1.6 1.8 2.5.2.4.5.7.7 1.1.3.5.6 1 .8 1.6.2.4.4.8.5 1.2.2.6.4 1.2.6 1.7.1.4.3.8.4 1.2.2.7.3 1.3.4 2 .1.3.1.7.2 1 .1 1 .2 2.1.2 3.1V597zm-254.1 13.3v111.3L723.1 597l-83.6-55.8zM281.8 472.6v79.8l59.8-39.9zM512 456.1l-84.5 56.4 84.5 56.4 84.5-56.4zM723.1 428L535.9 303.4v111.3l103.6 69.1zM384.5 541.2L300.9 597l187.2 124.6V610.3l-103.6-69.1z'));\nexports.CodepenSquareFill = getIcon('codepen-square', fill, getNode(newViewBox, 'M723.1 428L535.9 303.4v111.3l103.6 69.1zM512 456.1l-84.5 56.4 84.5 56.4 84.5-56.4zm23.9 154.2v111.3L723.1 597l-83.6-55.8zm-151.4-69.1L300.9 597l187.2 124.6V610.3l-103.6-69.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-90 485c0 1.1-.1 2.1-.2 3.1 0 .4-.1.7-.2 1a14.16 14.16 0 0 1-.8 3.2c-.2.6-.4 1.2-.6 1.7-.2.4-.4.8-.5 1.2-.3.5-.5 1.1-.8 1.6-.2.4-.4.7-.7 1.1-.3.5-.7 1-1 1.5-.3.4-.5.7-.8 1-.4.4-.8.9-1.2 1.3-.3.3-.6.6-1 .9-.4.4-.9.8-1.4 1.1-.4.3-.7.6-1.1.8-.1.1-.3.2-.4.3L525.2 786c-4 2.7-8.6 4-13.2 4-4.7 0-9.3-1.4-13.3-4L244.6 616.9c-.1-.1-.3-.2-.4-.3l-1.1-.8c-.5-.4-.9-.7-1.3-1.1-.3-.3-.6-.6-1-.9-.4-.4-.8-.8-1.2-1.3a7 7 0 0 1-.8-1c-.4-.5-.7-1-1-1.5-.2-.4-.5-.7-.7-1.1-.3-.5-.6-1.1-.8-1.6-.2-.4-.4-.8-.5-1.2-.2-.6-.4-1.2-.6-1.7-.1-.4-.3-.8-.4-1.2-.2-.7-.3-1.3-.4-2-.1-.3-.1-.7-.2-1-.1-1-.2-2.1-.2-3.1V427.9c0-1 .1-2.1.2-3.1.1-.3.1-.7.2-1a14.16 14.16 0 0 1 .8-3.2c.2-.6.4-1.2.6-1.7.2-.4.4-.8.5-1.2.2-.5.5-1.1.8-1.6.2-.4.4-.7.7-1.1.6-.9 1.2-1.7 1.8-2.5.4-.4.8-.9 1.2-1.3.3-.3.6-.6 1-.9.4-.4.9-.8 1.3-1.1.4-.3.7-.6 1.1-.8.1-.1.3-.2.4-.3L498.7 239c8-5.3 18.5-5.3 26.5 0l254.1 169.1c.1.1.3.2.4.3l1.1.8 1.4 1.1c.3.3.6.6 1 .9.4.4.8.8 1.2 1.3.7.8 1.3 1.6 1.8 2.5.2.4.5.7.7 1.1.3.5.6 1 .8 1.6.2.4.4.8.5 1.2.2.6.4 1.2.6 1.7.1.4.3.8.4 1.2.2.7.3 1.3.4 2 .1.3.1.7.2 1 .1 1 .2 2.1.2 3.1V597zm-47.8-44.6v-79.8l-59.8 39.9zm-460.4-79.8v79.8l59.8-39.9zm206.3-57.9V303.4L300.9 428l83.6 55.8z'));\nexports.ContactsFill = getIcon('contacts', fill, getNode(newViewBox, 'M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zM661 736h-43.9c-4.2 0-7.6-3.3-7.9-7.5-3.8-50.6-46-90.5-97.2-90.5s-93.4 40-97.2 90.5c-.3 4.2-3.7 7.5-7.9 7.5H363a8 8 0 0 1-8-8.4c2.8-53.3 32-99.7 74.6-126.1a111.8 111.8 0 0 1-29.1-75.5c0-61.9 49.9-112 111.4-112 61.5 0 111.4 50.1 111.4 112 0 29.1-11 55.5-29.1 75.5 42.7 26.5 71.8 72.8 74.6 126.1.4 4.6-3.2 8.4-7.8 8.4zM512 474c-28.5 0-51.7 23.3-51.7 52s23.2 52 51.7 52c28.5 0 51.7-23.3 51.7-52s-23.2-52-51.7-52z'));\nexports.ControlFill = getIcon('control', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM404 683v77c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-77c-41.7-13.6-72-52.8-72-99s30.3-85.5 72-99V264c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v221c41.7 13.6 72 52.8 72 99s-30.3 85.5-72 99zm279.6-143.9c.2 0 .3-.1.4-.1v221c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V539c.2 0 .3.1.4.1-42-13.4-72.4-52.7-72.4-99.1 0-46.4 30.4-85.7 72.4-99.1-.2 0-.3.1-.4.1v-77c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v77c-.2 0-.3-.1-.4-.1 42 13.4 72.4 52.7 72.4 99.1 0 46.4-30.4 85.7-72.4 99.1zM616 440a36 36 0 1 0 72 0 36 36 0 1 0-72 0zM403.4 566.5l-1.5-2.4c0-.1-.1-.1-.1-.2l-.9-1.2c-.1-.1-.2-.2-.2-.3-1-1.3-2-2.5-3.2-3.6l-.2-.2c-.4-.4-.8-.8-1.2-1.1-.8-.8-1.7-1.5-2.6-2.1h-.1l-1.2-.9c-.1-.1-.3-.2-.4-.3-1.2-.8-2.5-1.6-3.9-2.2-.2-.1-.5-.2-.7-.4-.4-.2-.7-.3-1.1-.5-.3-.1-.7-.3-1-.4-.5-.2-1-.4-1.5-.5-.4-.1-.9-.3-1.3-.4l-.9-.3-1.4-.3c-.2-.1-.5-.1-.7-.2-.7-.1-1.4-.3-2.1-.4-.2 0-.4 0-.6-.1-.6-.1-1.1-.1-1.7-.2-.2 0-.4 0-.7-.1-.8 0-1.5-.1-2.3-.1s-1.5 0-2.3.1c-.2 0-.4 0-.7.1-.6 0-1.2.1-1.7.2-.2 0-.4 0-.6.1-.7.1-1.4.2-2.1.4-.2.1-.5.1-.7.2l-1.4.3-.9.3c-.4.1-.9.3-1.3.4-.5.2-1 .4-1.5.5-.3.1-.7.3-1 .4-.4.2-.7.3-1.1.5-.2.1-.5.2-.7.4-1.3.7-2.6 1.4-3.9 2.2-.1.1-.3.2-.4.3l-1.2.9h-.1c-.9.7-1.8 1.4-2.6 2.1-.4.4-.8.7-1.2 1.1l-.2.2a54.8 54.8 0 0 0-3.2 3.6c-.1.1-.2.2-.2.3l-.9 1.2c0 .1-.1.1-.1.2l-1.5 2.4c-.1.2-.2.3-.3.5-2.7 5.1-4.3 10.9-4.3 17s1.6 12 4.3 17c.1.2.2.3.3.5l1.5 2.4c0 .1.1.1.1.2l.9 1.2c.1.1.2.2.2.3 1 1.3 2 2.5 3.2 3.6l.2.2c.4.4.8.8 1.2 1.1.8.8 1.7 1.5 2.6 2.1h.1l1.2.9c.1.1.3.2.4.3 1.2.8 2.5 1.6 3.9 2.2.2.1.5.2.7.4.4.2.7.3 1.1.5.3.1.7.3 1 .4.5.2 1 .4 1.5.5.4.1.9.3 1.3.4l.9.3 1.4.3c.2.1.5.1.7.2.7.1 1.4.3 2.1.4.2 0 .4 0 .6.1.6.1 1.1.1 1.7.2.2 0 .4 0 .7.1.8 0 1.5.1 2.3.1s1.5 0 2.3-.1c.2 0 .4 0 .7-.1.6 0 1.2-.1 1.7-.2.2 0 .4 0 .6-.1.7-.1 1.4-.2 2.1-.4.2-.1.5-.1.7-.2l1.4-.3.9-.3c.4-.1.9-.3 1.3-.4.5-.2 1-.4 1.5-.5.3-.1.7-.3 1-.4.4-.2.7-.3 1.1-.5.2-.1.5-.2.7-.4 1.3-.7 2.6-1.4 3.9-2.2.1-.1.3-.2.4-.3l1.2-.9h.1c.9-.7 1.8-1.4 2.6-2.1.4-.4.8-.7 1.2-1.1l.2-.2c1.1-1.1 2.2-2.4 3.2-3.6.1-.1.2-.2.2-.3l.9-1.2c0-.1.1-.1.1-.2l1.5-2.4c.1-.2.2-.3.3-.5 2.7-5.1 4.3-10.9 4.3-17s-1.6-12-4.3-17c-.1-.2-.2-.4-.3-.5z'));\nexports.ContainerFill = getIcon('container', fill, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v529c0-.6.4-1 1-1h219.3l5.2 24.7C397.6 708.5 450.8 752 512 752s114.4-43.5 126.4-103.3l5.2-24.7H863c.6 0 1 .4 1 1V96c0-17.7-14.3-32-32-32zM712 493c0 4.4-3.6 8-8 8H320c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h384c4.4 0 8 3.6 8 8v48zm0-160c0 4.4-3.6 8-8 8H320c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h384c4.4 0 8 3.6 8 8v48zm151 354H694.1c-11.6 32.8-32 62.3-59.1 84.7-34.5 28.6-78.2 44.3-123 44.3s-88.5-15.8-123-44.3a194.02 194.02 0 0 1-59.1-84.7H161c-.6 0-1-.4-1-1v242c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V686c0 .6-.4 1-1 1z'));\nexports.CopyFill = getIcon('copy', fill, getNode(newViewBox, 'M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM382 896h-.2L232 746.2v-.2h150v150z'));\nexports.CopyrightCircleFill = getIcon('copyright-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm5.4 670c-110 0-173.4-73.2-173.4-194.9v-52.3C344 364.2 407.4 290 517.3 290c94.3 0 162.7 60.7 162.7 147.4 0 2.6-2.1 4.7-4.7 4.7h-56.7c-4.2 0-7.6-3.2-8-7.4-4-49.5-40-83.4-93-83.4-65.3 0-102.1 48.5-102.1 135.5v52.6c0 85.7 36.9 133.6 102.1 133.6 52.8 0 88.7-31.7 93-77.8.4-4.1 3.8-7.3 8-7.3h56.8c2.6 0 4.7 2.1 4.7 4.7 0 82.6-68.7 141.4-162.7 141.4z'));\nexports.CreditCardFill = getIcon('credit-card', fill, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v160h896V192c0-17.7-14.3-32-32-32zM64 832c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V440H64v392zm579-184c0-4.4 3.6-8 8-8h165c4.4 0 8 3.6 8 8v72c0 4.4-3.6 8-8 8H651c-4.4 0-8-3.6-8-8v-72z'));\nexports.CrownFill = getIcon('crown', fill, getNode(newViewBox, 'M899.6 276.5L705 396.4 518.4 147.5a8.06 8.06 0 0 0-12.9 0L319 396.4 124.3 276.5c-5.7-3.5-13.1 1.2-12.2 7.9L188.5 865c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6c.8-6.7-6.5-11.4-12.3-7.9zM512 734.2c-62.1 0-112.6-50.5-112.6-112.6S449.9 509 512 509s112.6 50.5 112.6 112.6S574.1 734.2 512 734.2zm0-160.9c-26.6 0-48.2 21.6-48.2 48.3 0 26.6 21.6 48.3 48.2 48.3s48.2-21.6 48.2-48.3c0-26.6-21.6-48.3-48.2-48.3z'));\nexports.CustomerServiceFill = getIcon('customer-service', fill, getNode(newViewBox, 'M512 128c-212.1 0-384 171.9-384 384v360c0 13.3 10.7 24 24 24h184c35.3 0 64-28.7 64-64V624c0-35.3-28.7-64-64-64H200v-48c0-172.3 139.7-312 312-312s312 139.7 312 312v48H688c-35.3 0-64 28.7-64 64v208c0 35.3 28.7 64 64 64h184c13.3 0 24-10.7 24-24V512c0-212.1-171.9-384-384-384z'));\nexports.DashboardFill = getIcon('dashboard', fill, getNode(newViewBox, 'M924.8 385.6a446.7 446.7 0 0 0-96-142.4 446.7 446.7 0 0 0-142.4-96C631.1 123.8 572.5 112 512 112s-119.1 11.8-174.4 35.2a446.7 446.7 0 0 0-142.4 96 446.7 446.7 0 0 0-96 142.4C75.8 440.9 64 499.5 64 560c0 132.7 58.3 257.7 159.9 343.1l1.7 1.4c5.8 4.8 13.1 7.5 20.6 7.5h531.7c7.5 0 14.8-2.7 20.6-7.5l1.7-1.4C901.7 817.7 960 692.7 960 560c0-60.5-11.9-119.1-35.2-174.4zM482 232c0-4.4 3.6-8 8-8h44c4.4 0 8 3.6 8 8v80c0 4.4-3.6 8-8 8h-44c-4.4 0-8-3.6-8-8v-80zM270 582c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-44c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v44zm90.7-204.5l-31.1 31.1a8.03 8.03 0 0 1-11.3 0L261.7 352a8.03 8.03 0 0 1 0-11.3l31.1-31.1c3.1-3.1 8.2-3.1 11.3 0l56.6 56.6c3.1 3.1 3.1 8.2 0 11.3zm291.1 83.6l-84.5 84.5c5 18.7.2 39.4-14.5 54.1a55.95 55.95 0 0 1-79.2 0 55.95 55.95 0 0 1 0-79.2 55.87 55.87 0 0 1 54.1-14.5l84.5-84.5c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3c3.1 3.1 3.1 8.1 0 11.3zm43-52.4l-31.1-31.1a8.03 8.03 0 0 1 0-11.3l56.6-56.6c3.1-3.1 8.2-3.1 11.3 0l31.1 31.1c3.1 3.1 3.1 8.2 0 11.3l-56.6 56.6a8.03 8.03 0 0 1-11.3 0zM846 582c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-44c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v44z'));\nexports.DeleteFill = getIcon('delete', fill, getNode(newViewBox, 'M864 256H736v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zm-200 0H360v-72h304v72z'));\nexports.DiffFill = getIcon('diff', fill, getNode(newViewBox, 'M854.2 306.6L611.3 72.9c-6-5.7-13.9-8.9-22.2-8.9H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h277l219 210.6V824c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V329.6c0-8.7-3.5-17-9.8-23zM553.4 201.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v704c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32V397.3c0-8.5-3.4-16.6-9.4-22.6L553.4 201.4zM568 753c0 3.8-3.4 7-7.5 7h-225c-4.1 0-7.5-3.2-7.5-7v-42c0-3.8 3.4-7 7.5-7h225c4.1 0 7.5 3.2 7.5 7v42zm0-220c0 3.8-3.4 7-7.5 7H476v84.9c0 3.9-3.1 7.1-7 7.1h-42c-3.8 0-7-3.2-7-7.1V540h-84.5c-4.1 0-7.5-3.2-7.5-7v-42c0-3.9 3.4-7 7.5-7H420v-84.9c0-3.9 3.2-7.1 7-7.1h42c3.9 0 7 3.2 7 7.1V484h84.5c4.1 0 7.5 3.1 7.5 7v42z'));\nexports.DingtalkCircleFill = getIcon('dingtalk-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm227 385.3c-1 4.2-3.5 10.4-7 17.8h.1l-.4.7c-20.3 43.1-73.1 127.7-73.1 127.7s-.1-.2-.3-.5l-15.5 26.8h74.5L575.1 810l32.3-128h-58.6l20.4-84.7c-16.5 3.9-35.9 9.4-59 16.8 0 0-31.2 18.2-89.9-35 0 0-39.6-34.7-16.6-43.4 9.8-3.7 47.4-8.4 77-12.3 40-5.4 64.6-8.2 64.6-8.2S422 517 392.7 512.5c-29.3-4.6-66.4-53.1-74.3-95.8 0 0-12.2-23.4 26.3-12.3 38.5 11.1 197.9 43.2 197.9 43.2s-207.4-63.3-221.2-78.7c-13.8-15.4-40.6-84.2-37.1-126.5 0 0 1.5-10.5 12.4-7.7 0 0 153.3 69.7 258.1 107.9 104.8 37.9 195.9 57.3 184.2 106.7z'));\nexports.DatabaseFill = getIcon('database', fill, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v224h704V96c0-17.7-14.3-32-32-32zM288 232c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zM160 928c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V704H160v224zm128-136c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM160 640h704V384H160v256zm128-168c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z'));\nexports.DingtalkSquareFill = getIcon('dingtalk-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM739 449.3c-1 4.2-3.5 10.4-7 17.8h.1l-.4.7c-20.3 43.1-73.1 127.7-73.1 127.7s-.1-.2-.3-.5l-15.5 26.8h74.5L575.1 810l32.3-128h-58.6l20.4-84.7c-16.5 3.9-35.9 9.4-59 16.8 0 0-31.2 18.2-89.9-35 0 0-39.6-34.7-16.6-43.4 9.8-3.7 47.4-8.4 77-12.3 40-5.4 64.6-8.2 64.6-8.2S422 517 392.7 512.5c-29.3-4.6-66.4-53.1-74.3-95.8 0 0-12.2-23.4 26.3-12.3 38.5 11.1 197.9 43.2 197.9 43.2s-207.4-63.3-221.2-78.7c-13.8-15.4-40.6-84.2-37.1-126.5 0 0 1.5-10.5 12.4-7.7 0 0 153.3 69.7 258.1 107.9 104.8 37.9 195.9 57.3 184.2 106.7z'));\nexports.DislikeFill = getIcon('dislike', fill, getNode(newViewBox, 'M885.9 490.3c3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-51.6-30.7-98.1-78.3-118.4a66.1 66.1 0 0 0-26.5-5.4H273v428h.3l85.8 310.8C372.9 889 418.9 924 470.9 924c29.7 0 57.4-11.8 77.9-33.4 20.5-21.5 31-49.7 29.5-79.4l-6-122.9h239.9c12.1 0 23.9-3.2 34.3-9.3 40.4-23.5 65.5-66.1 65.5-111 0-28.3-9.3-55.5-26.1-77.7zM112 132v364c0 17.7 14.3 32 32 32h65V100h-65c-17.7 0-32 14.3-32 32z'));\nexports.DollarCircleFill = getIcon('dollar-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm22.3 665.2l.2 31.7c0 4.4-3.6 8.1-8 8.1h-28.4c-4.4 0-8-3.6-8-8v-31.4C401.3 723 359.5 672.4 355 617.4c-.4-4.7 3.3-8.7 8-8.7h46.2c3.9 0 7.3 2.8 7.9 6.6 5.1 31.7 29.8 55.4 74.1 61.3V533.9l-24.7-6.3c-52.3-12.5-102.1-45.1-102.1-112.7 0-72.9 55.4-112.1 126.2-119v-33c0-4.4 3.6-8 8-8h28.1c4.4 0 8 3.6 8 8v32.7c68.5 6.9 119.9 46.9 125.9 109.2.5 4.7-3.2 8.8-8 8.8h-44.9c-4 0-7.4-3-7.9-6.9-4-29.2-27.4-53-65.5-58.2v134.3l25.4 5.9c64.8 16 108.9 47 108.9 116.4 0 75.3-56 117.3-134.3 124.1zM426.6 410.3c0 25.4 15.7 45.1 49.5 57.3 4.7 1.9 9.4 3.4 15 5v-124c-36.9 4.7-64.5 25.4-64.5 61.7zm116.5 135.2c-2.8-.6-5.6-1.3-8.8-2.2V677c42.6-3.8 72-27.2 72-66.4 0-30.7-15.9-50.7-63.2-65.1z'));\nexports.DownCircleFill = getIcon('down-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm184.5 353.7l-178 246a7.95 7.95 0 0 1-12.9 0l-178-246c-3.8-5.3 0-12.7 6.5-12.7H381c10.2 0 19.9 4.9 25.9 13.2L512 563.6l105.2-145.4c6-8.3 15.6-13.2 25.9-13.2H690c6.5 0 10.3 7.4 6.5 12.7z'));\nexports.DownSquareFill = getIcon('down-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM696.5 412.7l-178 246a7.95 7.95 0 0 1-12.9 0l-178-246c-3.8-5.3 0-12.7 6.5-12.7H381c10.2 0 19.9 4.9 25.9 13.2L512 558.6l105.2-145.4c6-8.3 15.6-13.2 25.9-13.2H690c6.5 0 10.3 7.4 6.5 12.7z'));\nexports.DribbbleCircleFill = getIcon('dribbble-circle', fill, getNode(newViewBox, 'M675.1 328.3a245.2 245.2 0 0 0-220.8-55.1c6.8 9.1 51.5 69.9 91.8 144 87.5-32.8 124.5-82.6 129-88.9zM554 552.8c-138.7 48.3-188.6 144.6-193 153.6 41.7 32.5 94.1 51.9 151 51.9 34.1 0 66.6-6.9 96.1-19.5-3.7-21.6-17.9-96.8-52.5-186.6l-1.6.6zm47.7-11.9c32.2 88.4 45.3 160.4 47.8 175.4 55.2-37.3 94.5-96.4 105.4-164.9-8.4-2.6-76.1-22.8-153.2-10.5zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 736c-158.8 0-288-129.2-288-288s129.2-288 288-288 288 129.2 288 288-129.2 288-288 288zm53.1-346.2c5.7 11.7 11.2 23.6 16.3 35.6 1.8 4.2 3.6 8.4 5.3 12.7 81.8-10.3 163.2 6.2 171.3 7.9-.5-58.1-21.3-111.4-55.5-153.3-5.3 7.1-46.5 60-137.4 97.1zM498.6 432c-40.8-72.5-84.7-133.4-91.2-142.3-68.8 32.5-120.3 95.9-136.2 172.2 11 .2 112.4.7 227.4-29.9zm30.6 82.5c3.2-1 6.4-2 9.7-2.9-6.2-14-12.9-28-19.9-41.7-122.8 36.8-242.1 35.2-252.8 35-.1 2.5-.1 5-.1 7.5 0 63.2 23.9 120.9 63.2 164.5 5.5-9.6 73-121.4 199.9-162.4z'));\nexports.DribbbleSquareFill = getIcon('dribbble-square', fill, getNode(newViewBox, 'M498.6 432c-40.8-72.5-84.7-133.4-91.2-142.3-68.8 32.5-120.3 95.9-136.2 172.2 11 .2 112.4.7 227.4-29.9zm66.5 21.8c5.7 11.7 11.2 23.6 16.3 35.6 1.8 4.2 3.6 8.4 5.3 12.7 81.8-10.3 163.2 6.2 171.3 7.9-.5-58.1-21.3-111.4-55.5-153.3-5.3 7.1-46.5 60-137.4 97.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM512 800c-158.8 0-288-129.2-288-288s129.2-288 288-288 288 129.2 288 288-129.2 288-288 288zm89.7-259.1c32.2 88.4 45.3 160.4 47.8 175.4 55.2-37.3 94.5-96.4 105.4-164.9-8.4-2.6-76.1-22.8-153.2-10.5zm-72.5-26.4c3.2-1 6.4-2 9.7-2.9-6.2-14-12.9-28-19.9-41.7-122.8 36.8-242.1 35.2-252.8 35-.1 2.5-.1 5-.1 7.5 0 63.2 23.9 120.9 63.2 164.5 5.5-9.6 73-121.4 199.9-162.4zm145.9-186.2a245.2 245.2 0 0 0-220.8-55.1c6.8 9.1 51.5 69.9 91.8 144 87.5-32.8 124.5-82.6 129-88.9zM554 552.8c-138.7 48.3-188.6 144.6-193 153.6 41.7 32.5 94.1 51.9 151 51.9 34.1 0 66.6-6.9 96.1-19.5-3.7-21.6-17.9-96.8-52.5-186.6l-1.6.6z'));\nexports.DropboxCircleFill = getIcon('dropbox-circle', fill, getNode(newViewBox, 'M663.8 455.5zm-151.5-93.8l-151.8 93.8 151.8 93.9 151.5-93.9zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm151.2 595.5L512.6 750l-151-90.5v-33.1l45.4 29.4 105.6-87.7 105.6 87.7 45.1-29.4v33.1zm-45.6-22.4l-105.3-87.7L407 637.1l-151-99.2 104.5-82.4L256 371.2 407 274l105.3 87.7L617.6 274 768 372.1l-104.2 83.5L768 539l-150.4 98.1z'));\nexports.DropboxSquareFill = getIcon('dropbox-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM663.2 659.5L512.6 750l-151-90.5v-33.1l45.4 29.4 105.6-87.7 105.6 87.7 45.1-29.4v33.1zm-45.6-22.4l-105.3-87.7L407 637.1l-151-99.2 104.5-82.4L256 371.2 407 274l105.3 87.7L617.6 274 768 372.1l-104.2 83.5L768 539l-150.4 98.1zM512.3 361.7l-151.8 93.8 151.8 93.9 151.5-93.9zm151.5 93.8z'));\nexports.EnvironmentFill = getIcon('environment', fill, getNode(newViewBox, 'M512 327c-29.9 0-58 11.6-79.2 32.8A111.6 111.6 0 0 0 400 439c0 29.9 11.7 58 32.8 79.2A111.6 111.6 0 0 0 512 551c29.9 0 58-11.7 79.2-32.8C612.4 497 624 468.9 624 439c0-29.9-11.6-58-32.8-79.2S541.9 327 512 327zm342.6-37.9a362.49 362.49 0 0 0-79.9-115.7 370.83 370.83 0 0 0-118.2-77.8C610.7 76.6 562.1 67 512 67c-50.1 0-98.7 9.6-144.5 28.5-44.3 18.3-84 44.5-118.2 77.8A363.6 363.6 0 0 0 169.4 289c-19.5 45-29.4 92.8-29.4 142 0 70.6 16.9 140.9 50.1 208.7 26.7 54.5 64 107.6 111 158.1 80.3 86.2 164.5 138.9 188.4 153a43.9 43.9 0 0 0 22.4 6.1c7.8 0 15.5-2 22.4-6.1 23.9-14.1 108.1-66.8 188.4-153 47-50.4 84.3-103.6 111-158.1C867.1 572 884 501.8 884 431.1c0-49.2-9.9-97-29.4-142zM512 615c-97.2 0-176-78.8-176-176s78.8-176 176-176 176 78.8 176 176-78.8 176-176 176z'));\nexports.EditFill = getIcon('edit', fill, getNode(newViewBox, 'M880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32zm-622.3-84c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 0 0 0-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 0 0 9.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9z'));\nexports.ExclamationCircleFill = getIcon('exclamation-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.EuroCircleFill = getIcon('euro-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm63.5 375.8c4.4 0 8 3.6 8 8V475c0 4.4-3.6 8-8 8h-136c-.3 4.4-.3 9.1-.3 13.8v36h136.2c4.4 0 8 3.6 8 8V568c0 4.4-3.6 8-8 8H444.9c15.3 62 61.3 98.6 129.8 98.6 19.9 0 37.1-1.2 51.8-4.1 4.9-1 9.5 2.8 9.5 7.8v42.8c0 3.8-2.7 7-6.4 7.8-15.9 3.4-34.3 5.1-55.3 5.1-109.8 0-183-58.8-200.2-158H344c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h26.1v-36.9c0-4.4 0-8.8.3-12.8H344c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h31.7c19.7-94.2 92-149.9 198.6-149.9 20.9 0 39.4 1.9 55.3 5.4 3.7.8 6.3 4 6.3 7.8V346h.1c0 5.1-4.6 8.8-9.6 7.8-14.7-2.9-31.8-4.4-51.7-4.4-65.4 0-110.4 33.5-127.6 90.4h128.4z'));\nexports.ExperimentFill = getIcon('experiment', fill, getNode(newViewBox, 'M218.9 636.3l42.6 26.6c.1.1.3.2.4.3l12.7 8 .3.3a186.9 186.9 0 0 0 94.1 25.1c44.9 0 87.2-15.7 121-43.8a256.27 256.27 0 0 1 164.9-59.9c52.3 0 102.2 15.7 144.6 44.5l7.9 5-111.6-289V179.8h63.5c4.4 0 8-3.6 8-8V120c0-4.4-3.6-8-8-8H264.7c-4.4 0-8 3.6-8 8v51.9c0 4.4 3.6 8 8 8h63.5v173.6L218.9 636.3zm333-203.1c22 0 39.9 17.9 39.9 39.9S573.9 513 551.9 513 512 495.1 512 473.1s17.9-39.9 39.9-39.9zM878 825.1l-29.9-77.4-85.7-53.5-.1.1c-.7-.5-1.5-1-2.2-1.5l-8.1-5-.3-.3c-29-17.5-62.3-26.8-97-26.8-44.9 0-87.2 15.7-121 43.8a256.27 256.27 0 0 1-164.9 59.9c-53 0-103.5-16.1-146.2-45.6l-28.9-18.1L146 825.1c-2.8 7.4-4.3 15.2-4.3 23 0 35.2 28.6 63.8 63.8 63.8h612.9c7.9 0 15.7-1.5 23-4.3a63.6 63.6 0 0 0 36.6-82.5z'));\nexports.EyeInvisibleFill = getIcon('eye-invisible', fill, getNode(newViewBox, 'M508 624a112 112 0 0 0 112-112c0-3.28-.15-6.53-.43-9.74L498.26 623.57c3.21.28 6.45.43 9.74.43zm370.72-458.44L836 122.88a8 8 0 0 0-11.31 0L715.37 232.23Q624.91 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 0 0 0 51.5q56.7 119.43 136.55 191.45L112.56 835a8 8 0 0 0 0 11.31L155.25 889a8 8 0 0 0 11.31 0l712.16-712.12a8 8 0 0 0 0-11.32zM332 512a176 176 0 0 1 258.88-155.28l-48.62 48.62a112.08 112.08 0 0 0-140.92 140.92l-48.62 48.62A175.09 175.09 0 0 1 332 512z', 'M942.2 486.2Q889.4 375 816.51 304.85L672.37 449A176.08 176.08 0 0 1 445 676.37L322.74 798.63Q407.82 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 0 0 0-51.5z'));\nexports.EyeFill = getIcon('eye', fill, getNode(newViewBox, 'M396 512a112 112 0 1 0 224 0 112 112 0 1 0-224 0zm546.2-25.8C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 0 0 0 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM508 688c-97.2 0-176-78.8-176-176s78.8-176 176-176 176 78.8 176 176-78.8 176-176 176z'));\nexports.FacebookFill = getIcon('facebook', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-92.4 233.5h-63.9c-50.1 0-59.8 23.8-59.8 58.8v77.1h119.6l-15.6 120.7h-104V912H539.2V602.2H434.9V481.4h104.3v-89c0-103.3 63.1-159.6 155.3-159.6 44.2 0 82.1 3.3 93.2 4.8v107.9z'));\nexports.FastBackwardFill = getIcon('fast-backward', fill, getNode(normalViewBox, 'M517.6 273.5L230.2 499.3a16.14 16.14 0 0 0 0 25.4l287.4 225.8c10.7 8.4 26.4.8 26.4-12.7V286.2c0-13.5-15.7-21.1-26.4-12.7zm320 0L550.2 499.3a16.14 16.14 0 0 0 0 25.4l287.4 225.8c10.7 8.4 26.4.8 26.4-12.7V286.2c0-13.5-15.7-21.1-26.4-12.7zm-620-25.5h-51.2c-3.5 0-6.4 2.7-6.4 6v516c0 3.3 2.9 6 6.4 6h51.2c3.5 0 6.4-2.7 6.4-6V254c0-3.3-2.9-6-6.4-6z'));\nexports.FastForwardFill = getIcon('fast-forward', fill, getNode(normalViewBox, 'M793.8 499.3L506.4 273.5c-10.7-8.4-26.4-.8-26.4 12.7v451.6c0 13.5 15.7 21.1 26.4 12.7l287.4-225.8a16.14 16.14 0 0 0 0-25.4zm-320 0L186.4 273.5c-10.7-8.4-26.4-.8-26.4 12.7v451.5c0 13.5 15.7 21.1 26.4 12.7l287.4-225.8c4.1-3.2 6.2-8 6.2-12.7 0-4.6-2.1-9.4-6.2-12.6zM857.6 248h-51.2c-3.5 0-6.4 2.7-6.4 6v516c0 3.3 2.9 6 6.4 6h51.2c3.5 0 6.4-2.7 6.4-6V254c0-3.3-2.9-6-6.4-6z'));\nexports.FileAddFill = getIcon('file-add', fill, getNode(newViewBox, 'M480 580H372a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h108v108a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8V644h108a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8H544V472a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v108zm374.6-291.3c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2z'));\nexports.FileExcelFill = getIcon('file-excel', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM575.34 477.84l-61.22 102.3L452.3 477.8a12 12 0 0 0-10.27-5.79h-38.44a12 12 0 0 0-6.4 1.85 12 12 0 0 0-3.75 16.56l82.34 130.42-83.45 132.78a12 12 0 0 0-1.84 6.39 12 12 0 0 0 12 12h34.46a12 12 0 0 0 10.21-5.7l62.7-101.47 62.3 101.45a12 12 0 0 0 10.23 5.72h37.48a12 12 0 0 0 6.48-1.9 12 12 0 0 0 3.62-16.58l-83.83-130.55 85.3-132.47a12 12 0 0 0 1.9-6.5 12 12 0 0 0-12-12h-35.7a12 12 0 0 0-10.29 5.84z'));\nexports.FileExclamationFill = getIcon('file-exclamation', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM512 784a40 40 0 1 0 0-80 40 40 0 0 0 0 80zm32-152V448a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v184a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8z'));\nexports.FileImageFill = getIcon('file-image', fill, getNode(newViewBox, 'M854.6 288.7L639.4 73.4c-6-6-14.2-9.4-22.7-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.6-9.4-22.6zM400 402c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm296 294H328c-6.7 0-10.4-7.7-6.3-12.9l99.8-127.2a8 8 0 0 1 12.6 0l41.1 52.4 77.8-99.2a8 8 0 0 1 12.6 0l136.5 174c4.3 5.2.5 12.9-6.1 12.9zm-94-370V137.8L790.2 326H602z'));\nexports.FileMarkdownFill = getIcon('file-markdown', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM426.13 600.93l59.11 132.97a16 16 0 0 0 14.62 9.5h24.06a16 16 0 0 0 14.63-9.51l59.1-133.35V758a16 16 0 0 0 16.01 16H641a16 16 0 0 0 16-16V486a16 16 0 0 0-16-16h-34.75a16 16 0 0 0-14.67 9.62L512.1 662.2l-79.48-182.59a16 16 0 0 0-14.67-9.61H383a16 16 0 0 0-16 16v272a16 16 0 0 0 16 16h27.13a16 16 0 0 0 16-16V600.93z'));\nexports.FilePdfFill = getIcon('file-pdf', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM633.22 637.26c-15.18-.5-31.32.67-49.65 2.96-24.3-14.99-40.66-35.58-52.28-65.83l1.07-4.38 1.24-5.18c4.3-18.13 6.61-31.36 7.3-44.7.52-10.07-.04-19.36-1.83-27.97-3.3-18.59-16.45-29.46-33.02-30.13-15.45-.63-29.65 8-33.28 21.37-5.91 21.62-2.45 50.07 10.08 98.59-15.96 38.05-37.05 82.66-51.2 107.54-18.89 9.74-33.6 18.6-45.96 28.42-16.3 12.97-26.48 26.3-29.28 40.3-1.36 6.49.69 14.97 5.36 21.92 5.3 7.88 13.28 13 22.85 13.74 24.15 1.87 53.83-23.03 86.6-79.26 3.29-1.1 6.77-2.26 11.02-3.7l11.9-4.02c7.53-2.54 12.99-4.36 18.39-6.11 23.4-7.62 41.1-12.43 57.2-15.17 27.98 14.98 60.32 24.8 82.1 24.8 17.98 0 30.13-9.32 34.52-23.99 3.85-12.88.8-27.82-7.48-36.08-8.56-8.41-24.3-12.43-45.65-13.12zM385.23 765.68v-.36l.13-.34a54.86 54.86 0 0 1 5.6-10.76c4.28-6.58 10.17-13.5 17.47-20.87 3.92-3.95 8-7.8 12.79-12.12 1.07-.96 7.91-7.05 9.19-8.25l11.17-10.4-8.12 12.93c-12.32 19.64-23.46 33.78-33 43-3.51 3.4-6.6 5.9-9.1 7.51a16.43 16.43 0 0 1-2.61 1.42c-.41.17-.77.27-1.13.3a2.2 2.2 0 0 1-1.12-.15 2.07 2.07 0 0 1-1.27-1.91zM511.17 547.4l-2.26 4-1.4-4.38c-3.1-9.83-5.38-24.64-6.01-38-.72-15.2.49-24.32 5.29-24.32 6.74 0 9.83 10.8 10.07 27.05.22 14.28-2.03 29.14-5.7 35.65zm-5.81 58.46l1.53-4.05 2.09 3.8c11.69 21.24 26.86 38.96 43.54 51.31l3.6 2.66-4.39.9c-16.33 3.38-31.54 8.46-52.34 16.85 2.17-.88-21.62 8.86-27.64 11.17l-5.25 2.01 2.8-4.88c12.35-21.5 23.76-47.32 36.05-79.77zm157.62 76.26c-7.86 3.1-24.78.33-54.57-12.39l-7.56-3.22 8.2-.6c23.3-1.73 39.8-.45 49.42 3.07 4.1 1.5 6.83 3.39 8.04 5.55a4.64 4.64 0 0 1-1.36 6.31 6.7 6.7 0 0 1-2.17 1.28z'));\nexports.FilePptFill = getIcon('file-ppt', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM468.53 760v-91.54h59.27c60.57 0 100.2-39.65 100.2-98.12 0-58.22-39.58-98.34-99.98-98.34H424a12 12 0 0 0-12 12v276a12 12 0 0 0 12 12h32.53a12 12 0 0 0 12-12zm0-139.33h34.9c47.82 0 67.19-12.93 67.19-50.33 0-32.05-18.12-50.12-49.87-50.12h-52.22v100.45z'));\nexports.FileTextFill = getIcon('file-text', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM320 482a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h384a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8H320zm0 136a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h184a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8H320z'));\nexports.FileWordFill = getIcon('file-word', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM512 566.1l52.81 197a12 12 0 0 0 11.6 8.9h31.77a12 12 0 0 0 11.6-8.88l74.37-276a12 12 0 0 0 .4-3.12 12 12 0 0 0-12-12h-35.57a12 12 0 0 0-11.7 9.31l-45.78 199.1-49.76-199.32A12 12 0 0 0 528.1 472h-32.2a12 12 0 0 0-11.64 9.1L434.6 680.01 388.5 481.3a12 12 0 0 0-11.68-9.29h-35.39a12 12 0 0 0-3.11.41 12 12 0 0 0-8.47 14.7l74.17 276A12 12 0 0 0 415.6 772h31.99a12 12 0 0 0 11.59-8.9l52.81-197z'));\nexports.FileUnknownFill = getIcon('file-unknown', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM402 549c0 5.4 4.4 9.5 9.8 9.5h32.4c5.4 0 9.8-4.2 9.8-9.4 0-28.2 25.8-51.6 58-51.6s58 23.4 58 51.5c0 25.3-21 47.2-49.3 50.9-19.3 2.8-34.5 20.3-34.7 40.1v32c0 5.5 4.5 10 10 10h32c5.5 0 10-4.5 10-10v-12.2c0-6 4-11.5 9.7-13.3 44.6-14.4 75-54 74.3-98.9-.8-55.5-49.2-100.8-108.5-101.6-61.4-.7-111.5 45.6-111.5 103zm110 227a32 32 0 1 0 0-64 32 32 0 0 0 0 64z'));\nexports.FileZipFill = getIcon('file-zip', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM296 136v64h64v-64h-64zm64 64v64h64v-64h-64zm-64 64v64h64v-64h-64zm64 64v64h64v-64h-64zm-64 64v64h64v-64h-64zm64 64v64h64v-64h-64zm-64 64v64h64v-64h-64zm0 64v160h128V584H296zm48 48h32v64h-32v-64z'));\nexports.FileFill = getIcon('file', fill, getNode(newViewBox, 'M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2z'));\nexports.FilterFill = getIcon('filter', fill, getNode(newViewBox, 'M349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V642H349v196zm531.1-684H143.9c-24.5 0-39.8 26.7-27.5 48l221.3 376h348.8l221.3-376c12.1-21.3-3.2-48-27.7-48z'));\nexports.FireFill = getIcon('fire', fill, getNode(newViewBox, 'M834.1 469.2A347.49 347.49 0 0 0 751.2 354l-29.1-26.7a8.09 8.09 0 0 0-13 3.3l-13 37.3c-8.1 23.4-23 47.3-44.1 70.8-1.4 1.5-3 1.9-4.1 2-1.1.1-2.8-.1-4.3-1.5-1.4-1.2-2.1-3-2-4.8 3.7-60.2-14.3-128.1-53.7-202C555.3 171 510 123.1 453.4 89.7l-41.3-24.3c-5.4-3.2-12.3 1-12 7.3l2.2 48c1.5 32.8-2.3 61.8-11.3 85.9-11 29.5-26.8 56.9-47 81.5a295.64 295.64 0 0 1-47.5 46.1 352.6 352.6 0 0 0-100.3 121.5A347.75 347.75 0 0 0 160 610c0 47.2 9.3 92.9 27.7 136a349.4 349.4 0 0 0 75.5 110.9c32.4 32 70 57.2 111.9 74.7C418.5 949.8 464.5 959 512 959s93.5-9.2 136.9-27.3A348.6 348.6 0 0 0 760.8 857c32.4-32 57.8-69.4 75.5-110.9a344.2 344.2 0 0 0 27.7-136c0-48.8-10-96.2-29.9-140.9z'));\nexports.FlagFill = getIcon('flag', fill, getNode(newViewBox, 'M880 305H624V192c0-17.7-14.3-32-32-32H184v-40c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v784c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V640h248v113c0 17.7 14.3 32 32 32h416c17.7 0 32-14.3 32-32V337c0-17.7-14.3-32-32-32z'));\nexports.FolderAddFill = getIcon('folder-add', fill, getNode(newViewBox, 'M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM632 577c0 3.8-3.4 7-7.5 7H540v84.9c0 3.9-3.2 7.1-7 7.1h-42c-3.8 0-7-3.2-7-7.1V584h-84.5c-4.1 0-7.5-3.2-7.5-7v-42c0-3.8 3.4-7 7.5-7H484v-84.9c0-3.9 3.2-7.1 7-7.1h42c3.8 0 7 3.2 7 7.1V528h84.5c4.1 0 7.5 3.2 7.5 7v42z'));\nexports.FolderFill = getIcon('folder', fill, getNode(newViewBox, 'M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32z'));\nexports.FolderOpenFill = getIcon('folder-open', fill, getNode(newViewBox, 'M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 0 0-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zm-180 0H238c-13 0-24.8 7.9-29.7 20L136 643.2V256h188.5l119.6 114.4H748V444z'));\nexports.ForwardFill = getIcon('forward', fill, getNode(normalViewBox, 'M825.8 498L538.4 249.9c-10.7-9.2-26.4-.9-26.4 14v496.3c0 14.9 15.7 23.2 26.4 14L825.8 526c8.3-7.2 8.3-20.8 0-28zm-320 0L218.4 249.9c-10.7-9.2-26.4-.9-26.4 14v496.3c0 14.9 15.7 23.2 26.4 14L505.8 526c4.1-3.6 6.2-8.8 6.2-14 0-5.2-2.1-10.4-6.2-14z'));\nexports.FrownFill = getIcon('frown', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm376 272h-48.1c-4.2 0-7.8-3.2-8.1-7.4C604 636.1 562.5 597 512 597s-92.1 39.1-95.8 88.6c-.3 4.2-3.9 7.4-8.1 7.4H360a8 8 0 0 1-8-8.4c4.4-84.3 74.5-151.6 160-151.6s155.6 67.3 160 151.6a8 8 0 0 1-8 8.4zm24-224a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.FundFill = getIcon('fund', fill, getNode(newViewBox, 'M926 164H94c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V196c0-17.7-14.3-32-32-32zm-92.3 194.4l-297 297.2a8.03 8.03 0 0 1-11.3 0L410.9 541.1 238.4 713.7a8.03 8.03 0 0 1-11.3 0l-36.8-36.8a8.03 8.03 0 0 1 0-11.3l214.9-215c3.1-3.1 8.2-3.1 11.3 0L531 565l254.5-254.6c3.1-3.1 8.2-3.1 11.3 0l36.8 36.8c3.2 3 3.2 8.1.1 11.2z'));\nexports.FunnelPlotFill = getIcon('funnel-plot', fill, getNode(newViewBox, 'M336.7 586h350.6l84.9-148H251.8zm543.4-432H143.9c-24.5 0-39.8 26.7-27.5 48L215 374h594l98.7-172c12.2-21.3-3.1-48-27.6-48zM349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V650H349v188z'));\nexports.GiftFill = getIcon('gift', fill, getNode(newViewBox, 'M160 894c0 17.7 14.3 32 32 32h286V550H160v344zm386 32h286c17.7 0 32-14.3 32-32V550H546v376zm334-616H732.4c13.6-21.4 21.6-46.8 21.6-74 0-76.1-61.9-138-138-138-41.4 0-78.7 18.4-104 47.4-25.3-29-62.6-47.4-104-47.4-76.1 0-138 61.9-138 138 0 27.2 7.9 52.6 21.6 74H144c-17.7 0-32 14.3-32 32v140h366V310h68v172h366V342c0-17.7-14.3-32-32-32zm-402-4h-70c-38.6 0-70-31.4-70-70s31.4-70 70-70 70 31.4 70 70v70zm138 0h-70v-70c0-38.6 31.4-70 70-70s70 31.4 70 70-31.4 70-70 70z'));\nexports.GithubFill = getIcon('github', fill, getNode(newViewBox, 'M511.6 76.3C264.3 76.2 64 276.4 64 523.5 64 718.9 189.3 885 363.8 946c23.5 5.9 19.9-10.8 19.9-22.2v-77.5c-135.7 15.9-141.2-73.9-150.3-88.9C215 726 171.5 718 184.5 703c30.9-15.9 62.4 4 98.9 57.9 26.4 39.1 77.9 32.5 104 26 5.7-23.5 17.9-44.5 34.7-60.8-140.6-25.2-199.2-111-199.2-213 0-49.5 16.3-95 48.3-131.7-20.4-60.5 1.9-112.3 4.9-120 58.1-5.2 118.5 41.6 123.2 45.3 33-8.9 70.7-13.6 112.9-13.6 42.4 0 80.2 4.9 113.5 13.9 11.3-8.6 67.3-48.8 121.3-43.9 2.9 7.7 24.7 58.3 5.5 118 32.4 36.8 48.9 82.7 48.9 132.3 0 102.2-59 188.1-200 212.9a127.5 127.5 0 0 1 38.1 91v112.5c.8 9 0 17.9 15 17.9 177.1-59.7 304.6-227 304.6-424.1 0-247.2-200.4-447.3-447.5-447.3z'));\nexports.GitlabFill = getIcon('gitlab', fill, getNode(newViewBox, 'M910.5 553.2l-109-370.8c-6.8-20.4-23.1-34.1-44.9-34.1s-39.5 12.3-46.3 32.7l-72.2 215.4H386.2L314 181.1c-6.8-20.4-24.5-32.7-46.3-32.7s-39.5 13.6-44.9 34.1L113.9 553.2c-4.1 13.6 1.4 28.6 12.3 36.8l385.4 289 386.7-289c10.8-8.1 16.3-23.1 12.2-36.8z'));\nexports.GoldenFill = getIcon('golden', fill, getNode(newViewBox, 'M905.9 806.7l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H596.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.3-.7 7.3-4.8 6.6-9.2zm-470.2-248c-.6-3.9-4-6.7-7.9-6.7H166.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248zM342 472h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H382.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8z'));\nexports.GoogleCircleFill = getIcon('google-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm167 633.6C638.4 735 583 757 516.9 757c-95.7 0-178.5-54.9-218.8-134.9C281.5 589 272 551.6 272 512s9.5-77 26.1-110.1c40.3-80.1 123.1-135 218.8-135 66 0 121.4 24.3 163.9 63.8L610.6 401c-25.4-24.3-57.7-36.6-93.6-36.6-63.8 0-117.8 43.1-137.1 101-4.9 14.7-7.7 30.4-7.7 46.6s2.8 31.9 7.7 46.6c19.3 57.9 73.3 101 137 101 33 0 61-8.7 82.9-23.4 26-17.4 43.2-43.3 48.9-74H516.9v-94.8h230.7c2.9 16.1 4.4 32.8 4.4 50.1 0 74.7-26.7 137.4-73 180.1z'));\nexports.GooglePlusCircleFill = getIcon('google-plus-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm36.5 558.8c-43.9 61.8-132.1 79.8-200.9 53.3-69-26.3-118-99.2-112.1-173.5 1.5-90.9 85.2-170.6 176.1-167.5 43.6-2 84.6 16.9 118 43.6-14.3 16.2-29 31.8-44.8 46.3-40.1-27.7-97.2-35.6-137.3-3.6-57.4 39.7-60 133.4-4.8 176.1 53.7 48.7 155.2 24.5 170.1-50.1-33.6-.5-67.4 0-101-1.1-.1-20.1-.2-40.1-.1-60.2 56.2-.2 112.5-.3 168.8.2 3.3 47.3-3 97.5-32 136.5zM791 536.5c-16.8.2-33.6.3-50.4.4-.2 16.8-.3 33.6-.3 50.4H690c-.2-16.8-.2-33.5-.3-50.3-16.8-.2-33.6-.3-50.4-.5v-50.1c16.8-.2 33.6-.3 50.4-.3.1-16.8.3-33.6.4-50.4h50.2l.3 50.4c16.8.2 33.6.2 50.4.3v50.1z'));\nexports.GooglePlusSquareFill = getIcon('google-plus-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM548.5 622.8c-43.9 61.8-132.1 79.8-200.9 53.3-69-26.3-118-99.2-112.1-173.5 1.5-90.9 85.2-170.6 176.1-167.5 43.6-2 84.6 16.9 118 43.6-14.3 16.2-29 31.8-44.8 46.3-40.1-27.7-97.2-35.6-137.3-3.6-57.4 39.7-60 133.4-4.8 176.1 53.7 48.7 155.2 24.5 170.1-50.1-33.6-.5-67.4 0-101-1.1-.1-20.1-.2-40.1-.1-60.2 56.2-.2 112.5-.3 168.8.2 3.3 47.3-3 97.5-32 136.5zM791 536.5c-16.8.2-33.6.3-50.4.4-.2 16.8-.3 33.6-.3 50.4H690c-.2-16.8-.2-33.5-.3-50.3-16.8-.2-33.6-.3-50.4-.5v-50.1c16.8-.2 33.6-.3 50.4-.3.1-16.8.3-33.6.4-50.4h50.2l.3 50.4c16.8.2 33.6.2 50.4.3v50.1z'));\nexports.GoogleSquareFill = getIcon('google-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM679 697.6C638.4 735 583 757 516.9 757c-95.7 0-178.5-54.9-218.8-134.9A245.02 245.02 0 0 1 272 512c0-39.6 9.5-77 26.1-110.1 40.3-80.1 123.1-135 218.8-135 66 0 121.4 24.3 163.9 63.8L610.6 401c-25.4-24.3-57.7-36.6-93.6-36.6-63.8 0-117.8 43.1-137.1 101-4.9 14.7-7.7 30.4-7.7 46.6s2.8 31.9 7.7 46.6c19.3 57.9 73.3 101 137 101 33 0 61-8.7 82.9-23.4 26-17.4 43.2-43.3 48.9-74H516.9v-94.8h230.7c2.9 16.1 4.4 32.8 4.4 50.1 0 74.7-26.7 137.4-73 180.1z'));\nexports.HddFill = getIcon('hdd', fill, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v224h704V96c0-17.7-14.3-32-32-32zM456 216c0 4.4-3.6 8-8 8H264c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zM160 928c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V704H160v224zm576-136c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM160 640h704V384H160v256zm96-152c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H264c-4.4 0-8-3.6-8-8v-48z'));\nexports.HeartFill = getIcon('heart', fill, getNode(newViewBox, 'M923 283.6a260.04 260.04 0 0 0-56.9-82.8 264.4 264.4 0 0 0-84-55.5A265.34 265.34 0 0 0 679.7 125c-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5a258.44 258.44 0 0 0-56.9 82.8c-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3.1-35.3-7-69.6-20.9-101.9z'));\nexports.HighlightFill = getIcon('highlight', fill, getNode(newViewBox, 'M957.6 507.4L603.2 158.2a7.9 7.9 0 0 0-11.2 0L353.3 393.4a8.03 8.03 0 0 0-.1 11.3l.1.1 40 39.4-117.2 115.3a8.03 8.03 0 0 0-.1 11.3l.1.1 39.5 38.9-189.1 187H72.1c-4.4 0-8.1 3.6-8.1 8V860c0 4.4 3.6 8 8 8h344.9c2.1 0 4.1-.8 5.6-2.3l76.1-75.6 40.4 39.8a7.9 7.9 0 0 0 11.2 0l117.1-115.6 40.1 39.5a7.9 7.9 0 0 0 11.2 0l238.7-235.2c3.4-3 3.4-8 .3-11.2z'));\nexports.HomeFill = getIcon('home', fill, getNode(newViewBox, 'M946.5 505L534.6 93.4a31.93 31.93 0 0 0-45.2 0L77.5 505c-12 12-18.8 28.3-18.8 45.3 0 35.3 28.7 64 64 64h43.4V908c0 17.7 14.3 32 32 32H448V716h112v224h265.9c17.7 0 32-14.3 32-32V614.3h43.4c17 0 33.3-6.7 45.3-18.8 24.9-25 24.9-65.5-.1-90.5z'));\nexports.HourglassFill = getIcon('hourglass', fill, getNode(newViewBox, 'M742 318V184h86c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H196c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h86v134c0 81.5 42.4 153.2 106.4 194-64 40.8-106.4 112.5-106.4 194v134h-86c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h632c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-86V706c0-81.5-42.4-153.2-106.4-194 64-40.8 106.4-112.5 106.4-194z'));\nexports.Html5Fill = getIcon('html5', fill, getNode(newViewBox, 'M145.2 96l66 746.6L512 928l299.6-85.4L878.9 96H145.2zm595 177.1l-4.8 47.2-1.7 19.5H382.3l8.2 94.2h335.1l-3.3 24.3-21.2 242.2-1.7 16.2-187 51.6v.3h-1.2l-.3.1v-.1h-.1l-188.6-52L310.8 572h91.1l6.5 73.2 102.4 27.7h.4l102-27.6 11.4-118.6H510.9v-.1H306l-22.8-253.5-1.7-24.3h460.3l-1.6 24.3z'));\nexports.IdcardFill = getIcon('idcard', fill, getNode(newViewBox, 'M373 411c-28.5 0-51.7 23.3-51.7 52s23.2 52 51.7 52 51.7-23.3 51.7-52-23.2-52-51.7-52zm555-251H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zM608 420c0-4.4 1-8 2.3-8h123.4c1.3 0 2.3 3.6 2.3 8v48c0 4.4-1 8-2.3 8H610.3c-1.3 0-2.3-3.6-2.3-8v-48zm-86 253h-43.9c-4.2 0-7.6-3.3-7.9-7.5-3.8-50.5-46-90.5-97.2-90.5s-93.4 40-97.2 90.5c-.3 4.2-3.7 7.5-7.9 7.5H224a8 8 0 0 1-8-8.4c2.8-53.3 32-99.7 74.6-126.1a111.8 111.8 0 0 1-29.1-75.5c0-61.9 49.9-112 111.4-112s111.4 50.1 111.4 112c0 29.1-11 55.5-29.1 75.5 42.7 26.5 71.8 72.8 74.6 126.1.4 4.6-3.2 8.4-7.8 8.4zm278.9-53H615.1c-3.9 0-7.1-3.6-7.1-8v-48c0-4.4 3.2-8 7.1-8h185.7c3.9 0 7.1 3.6 7.1 8v48h.1c0 4.4-3.2 8-7.1 8z'));\nexports.IeCircleFill = getIcon('ie-circle', fill, getNode(newViewBox, 'M693.6 284.4c-24 0-51.1 11.7-72.6 22 46.3 18 86 57.3 112.3 99.6 7.1-18.9 14.6-47.9 14.6-67.9 0-32-22.8-53.7-54.3-53.7zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm253.9 492.9H437.1c0 100.4 144.3 136 196.8 47.4h120.8c-32.6 91.7-119.7 146-216.8 146-35.1 0-70.3-.1-101.7-15.6-87.4 44.5-180.3 56.6-180.3-42 0-45.8 23.2-107.1 44-145C335 484 381.3 422.8 435.6 374.5c-43.7 18.9-91.1 66.3-122 101.2 25.9-112.8 129.5-193.6 237.1-186.5 130-59.8 209.7-34.1 209.7 38.6 0 27.4-10.6 63.3-21.4 87.9 25.2 45.5 33.3 97.6 26.9 141.2zM540.5 399.1c-53.7 0-102 39.7-104 94.9h208c-2-55.1-50.6-94.9-104-94.9zM320.6 602.9c-73 152.4 11.5 172.2 100.3 123.3-46.6-27.5-82.6-72.2-100.3-123.3z'));\nexports.IeSquareFill = getIcon('ie-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM765.9 556.9H437.1c0 100.4 144.3 136 196.8 47.4h120.8c-32.6 91.7-119.7 146-216.8 146-35.1 0-70.3-.1-101.7-15.6-87.4 44.5-180.3 56.6-180.3-42 0-45.8 23.2-107.1 44-145C335 484 381.3 422.8 435.6 374.5c-43.7 18.9-91.1 66.3-122 101.2 25.9-112.8 129.5-193.6 237.1-186.5 130-59.8 209.7-34.1 209.7 38.6 0 27.4-10.6 63.3-21.4 87.9 25.2 45.5 33.3 97.6 26.9 141.2zm-72.3-272.5c-24 0-51.1 11.7-72.6 22 46.3 18 86 57.3 112.3 99.6 7.1-18.9 14.6-47.9 14.6-67.9 0-32-22.8-53.7-54.3-53.7zM540.5 399.1c-53.7 0-102 39.7-104 94.9h208c-2-55.1-50.6-94.9-104-94.9zM320.6 602.9c-73 152.4 11.5 172.2 100.3 123.3-46.6-27.5-82.6-72.2-100.3-123.3z'));\nexports.InfoCircleFill = getIcon('info-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.InstagramFill = getIcon('instagram', fill, getNode(newViewBox, 'M512 378.7c-73.4 0-133.3 59.9-133.3 133.3S438.6 645.3 512 645.3 645.3 585.4 645.3 512 585.4 378.7 512 378.7zM911.8 512c0-55.2.5-109.9-2.6-165-3.1-64-17.7-120.8-64.5-167.6-46.9-46.9-103.6-61.4-167.6-64.5-55.2-3.1-109.9-2.6-165-2.6-55.2 0-109.9-.5-165 2.6-64 3.1-120.8 17.7-167.6 64.5C132.6 226.3 118.1 283 115 347c-3.1 55.2-2.6 109.9-2.6 165s-.5 109.9 2.6 165c3.1 64 17.7 120.8 64.5 167.6 46.9 46.9 103.6 61.4 167.6 64.5 55.2 3.1 109.9 2.6 165 2.6 55.2 0 109.9.5 165-2.6 64-3.1 120.8-17.7 167.6-64.5 46.9-46.9 61.4-103.6 64.5-167.6 3.2-55.1 2.6-109.8 2.6-165zM512 717.1c-113.5 0-205.1-91.6-205.1-205.1S398.5 306.9 512 306.9 717.1 398.5 717.1 512 625.5 717.1 512 717.1zm213.5-370.7c-26.5 0-47.9-21.4-47.9-47.9s21.4-47.9 47.9-47.9 47.9 21.4 47.9 47.9a47.84 47.84 0 0 1-47.9 47.9z'));\nexports.InsuranceFill = getIcon('insurance', fill, getNode(newViewBox, 'M519.9 358.8h97.9v41.6h-97.9zm347-188.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM411.3 656h-.2c0 4.4-3.6 8-8 8h-37.3c-4.4 0-8-3.6-8-8V471.4c-7.7 9.2-15.4 17.9-23.1 26a6.04 6.04 0 0 1-10.2-2.4l-13.2-43.5c-.6-2-.2-4.1 1.2-5.6 37-43.4 64.7-95.1 82.2-153.6 1.1-3.5 5-5.3 8.4-3.7l38.6 18.3c2.7 1.3 4.1 4.4 3.2 7.2a429.2 429.2 0 0 1-33.6 79V656zm296.5-49.2l-26.3 35.3a5.92 5.92 0 0 1-8.9.7c-30.6-29.3-56.8-65.2-78.1-106.9V656c0 4.4-3.6 8-8 8h-36.2c-4.4 0-8-3.6-8-8V536c-22 44.7-49 80.8-80.6 107.6a5.9 5.9 0 0 1-8.9-1.4L430 605.7a6 6 0 0 1 1.6-8.1c28.6-20.3 51.9-45.2 71-76h-55.1c-4.4 0-8-3.6-8-8V478c0-4.4 3.6-8 8-8h94.9v-18.6h-65.9c-4.4 0-8-3.6-8-8V316c0-4.4 3.6-8 8-8h184.7c4.4 0 8 3.6 8 8v127.2c0 4.4-3.6 8-8 8h-66.7v18.6h98.8c4.4 0 8 3.6 8 8v35.6c0 4.4-3.6 8-8 8h-59c18.1 29.1 41.8 54.3 72.3 76.9 2.6 2.1 3.2 5.9 1.2 8.5z'));\nexports.InteractionFill = getIcon('interaction', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM726 585.7c0 55.3-44.7 100.1-99.7 100.1H420.6v53.4c0 5.7-6.5 8.8-10.9 5.3l-109.1-85.7c-3.5-2.7-3.5-8 0-10.7l109.1-85.7c4.4-3.5 10.9-.3 10.9 5.3v53.4h205.7c19.6 0 35.5-16 35.5-35.6v-78.9c0-3.7 3-6.8 6.8-6.8h50.7c3.7 0 6.8 3 6.8 6.8v79.1zm-2.6-209.9l-109.1 85.7c-4.4 3.5-10.9.3-10.9-5.3v-53.4H397.7c-19.6 0-35.5 16-35.5 35.6v78.9c0 3.7-3 6.8-6.8 6.8h-50.7c-3.7 0-6.8-3-6.8-6.8v-78.9c0-55.3 44.7-100.1 99.7-100.1h205.7v-53.4c0-5.7 6.5-8.8 10.9-5.3l109.1 85.7c3.6 2.5 3.6 7.8.1 10.5z'));\nexports.InterationFill = getIcon('interation', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM726 585.7c0 55.3-44.7 100.1-99.7 100.1H420.6v53.4c0 5.7-6.5 8.8-10.9 5.3l-109.1-85.7c-3.5-2.7-3.5-8 0-10.7l109.1-85.7c4.4-3.5 10.9-.3 10.9 5.3v53.4h205.7c19.6 0 35.5-16 35.5-35.6v-78.9c0-3.7 3-6.8 6.8-6.8h50.7c3.7 0 6.8 3 6.8 6.8v79.1zm-2.6-209.9l-109.1 85.7c-4.4 3.5-10.9.3-10.9-5.3v-53.4H397.7c-19.6 0-35.5 16-35.5 35.6v78.9c0 3.7-3 6.8-6.8 6.8h-50.7c-3.7 0-6.8-3-6.8-6.8v-78.9c0-55.3 44.7-100.1 99.7-100.1h205.7v-53.4c0-5.7 6.5-8.8 10.9-5.3l109.1 85.7c3.6 2.5 3.6 7.8.1 10.5z'));\nexports.LayoutFill = getIcon('layout', fill, getNode(newViewBox, 'M384 912h496c17.7 0 32-14.3 32-32V340H384v572zm496-800H384v164h528V144c0-17.7-14.3-32-32-32zm-768 32v736c0 17.7 14.3 32 32 32h176V112H144c-17.7 0-32 14.3-32 32z'));\nexports.LeftCircleFill = getIcon('left-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm104 316.9c0 10.2-4.9 19.9-13.2 25.9L457.4 512l145.4 105.2c8.3 6 13.2 15.6 13.2 25.9V690c0 6.5-7.4 10.3-12.7 6.5l-246-178a7.95 7.95 0 0 1 0-12.9l246-178a8 8 0 0 1 12.7 6.5v46.8z'));\nexports.LeftSquareFill = getIcon('left-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM624 380.9c0 10.2-4.9 19.9-13.2 25.9L465.4 512l145.4 105.2c8.3 6 13.2 15.6 13.2 25.9V690c0 6.5-7.4 10.3-12.7 6.5l-246-178a7.95 7.95 0 0 1 0-12.9l246-178c5.3-3.8 12.7 0 12.7 6.5v46.8z'));\nexports.LikeFill = getIcon('like', fill, getNode(newViewBox, 'M885.9 533.7c16.8-22.2 26.1-49.4 26.1-77.7 0-44.9-25.1-87.4-65.5-111.1a67.67 67.67 0 0 0-34.3-9.3H572.4l6-122.9c1.4-29.7-9.1-57.9-29.5-79.4A106.62 106.62 0 0 0 471 99.9c-52 0-98 35-111.8 85.1l-85.9 311h-.3v428h472.3c9.2 0 18.2-1.8 26.5-5.4 47.6-20.3 78.3-66.8 78.3-118.4 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7-.2-12.6-2-25.1-5.6-37.1zM112 528v364c0 17.7 14.3 32 32 32h65V496h-65c-17.7 0-32 14.3-32 32z'));\nexports.LockFill = getIcon('lock', fill, getNode(newViewBox, 'M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM540 701v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 1 1 56 0zm152-237H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224z'));\nexports.LinkedinFill = getIcon('linkedin', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM349.3 793.7H230.6V411.9h118.7v381.8zm-59.3-434a68.8 68.8 0 1 1 68.8-68.8c-.1 38-30.9 68.8-68.8 68.8zm503.7 434H675.1V608c0-44.3-.8-101.2-61.7-101.2-61.7 0-71.2 48.2-71.2 98v188.9H423.7V411.9h113.8v52.2h1.6c15.8-30 54.5-61.7 112.3-61.7 120.2 0 142.3 79.1 142.3 181.9v209.4z'));\nexports.MailFill = getIcon('mail', fill, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-80.8 108.9L531.7 514.4c-7.8 6.1-18.7 6.1-26.5 0L189.6 268.9A7.2 7.2 0 0 1 194 256h648.8a7.2 7.2 0 0 1 4.4 12.9z'));\nexports.MedicineBoxFill = getIcon('medicine-box', fill, getNode(newViewBox, 'M839.2 278.1a32 32 0 0 0-30.4-22.1H736V144c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32v112h-72.8a31.9 31.9 0 0 0-30.4 22.1L112 502v378c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V502l-72.8-223.9zM660 628c0 4.4-3.6 8-8 8H544v108c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V636H372c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h108V464c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v108h108c4.4 0 8 3.6 8 8v48zm4-372H360v-72h304v72z'));\nexports.MediumCircleFill = getIcon('medium-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm256 253.7l-40.8 39.1c-3.6 2.7-5.3 7.1-4.6 11.4v287.7c-.7 4.4 1 8.8 4.6 11.4l40 39.1v8.7H566.4v-8.3l41.3-40.1c4.1-4.1 4.1-5.3 4.1-11.4V422.5l-115 291.6h-15.5L347.5 422.5V618c-1.2 8.2 1.7 16.5 7.5 22.4l53.8 65.1v8.7H256v-8.7l53.8-65.1a26.1 26.1 0 0 0 7-22.4V392c.7-6.3-1.7-12.4-6.5-16.7l-47.8-57.6V309H411l114.6 251.5 100.9-251.3H768v8.5z'));\nexports.MediumSquareFill = getIcon('medium-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM768 317.7l-40.8 39.1c-3.6 2.7-5.3 7.1-4.6 11.4v287.7c-.7 4.4 1 8.8 4.6 11.4l40 39.1v8.7H566.4v-8.3l41.3-40.1c4.1-4.1 4.1-5.3 4.1-11.4V422.5l-115 291.6h-15.5L347.5 422.5V618c-1.2 8.2 1.7 16.5 7.5 22.4l53.8 65.1v8.7H256v-8.7l53.8-65.1a26.1 26.1 0 0 0 7-22.4V392c.7-6.3-1.7-12.4-6.5-16.7l-47.8-57.6V309H411l114.6 251.5 100.9-251.3H768v8.5z'));\nexports.MehFill = getIcon('meh', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm384 200c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h304c4.4 0 8 3.6 8 8v48zm16-152a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.MessageFill = getIcon('message', fill, getNode(newViewBox, 'M924.3 338.4a447.57 447.57 0 0 0-96.1-143.3 443.09 443.09 0 0 0-143-96.3A443.91 443.91 0 0 0 512 64h-2c-60.5.3-119 12.3-174.1 35.9a444.08 444.08 0 0 0-141.7 96.5 445 445 0 0 0-95 142.8A449.89 449.89 0 0 0 65 514.1c.3 69.4 16.9 138.3 47.9 199.9v152c0 25.4 20.6 46 45.9 46h151.8a447.72 447.72 0 0 0 199.5 48h2.1c59.8 0 117.7-11.6 172.3-34.3A443.2 443.2 0 0 0 827 830.5c41.2-40.9 73.6-88.7 96.3-142 23.5-55.2 35.5-113.9 35.8-174.5.2-60.9-11.6-120-34.8-175.6zM312.4 560c-26.4 0-47.9-21.5-47.9-48s21.5-48 47.9-48 47.9 21.5 47.9 48-21.4 48-47.9 48zm199.6 0c-26.4 0-47.9-21.5-47.9-48s21.5-48 47.9-48 47.9 21.5 47.9 48-21.5 48-47.9 48zm199.6 0c-26.4 0-47.9-21.5-47.9-48s21.5-48 47.9-48 47.9 21.5 47.9 48-21.5 48-47.9 48z'));\nexports.MinusCircleFill = getIcon('minus-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm192 472c0 4.4-3.6 8-8 8H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h368c4.4 0 8 3.6 8 8v48z'));\nexports.MinusSquareFill = getIcon('minus-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM704 536c0 4.4-3.6 8-8 8H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h368c4.4 0 8 3.6 8 8v48z'));\nexports.MobileFill = getIcon('mobile', fill, getNode(newViewBox, 'M744 62H280c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h464c35.3 0 64-28.7 64-64V126c0-35.3-28.7-64-64-64zM512 824c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z'));\nexports.MoneyCollectFill = getIcon('money-collect', fill, getNode(newViewBox, 'M911.5 699.7a8 8 0 0 0-10.3-4.8L840 717.2V179c0-37.6-30.4-68-68-68H252c-37.6 0-68 30.4-68 68v538.2l-61.3-22.3c-.9-.3-1.8-.5-2.7-.5-4.4 0-8 3.6-8 8V762c0 3.3 2.1 6.3 5.3 7.5L501 909.1c7.1 2.6 14.8 2.6 21.9 0l383.8-139.5c3.2-1.2 5.3-4.2 5.3-7.5v-59.6c0-1-.2-1.9-.5-2.8zm-243.8-377L564 514.3h57.6c4.4 0 8 3.6 8 8v27.1c0 4.4-3.6 8-8 8h-76.3v39h76.3c4.4 0 8 3.6 8 8v27.1c0 4.4-3.6 8-8 8h-76.3V703c0 4.4-3.6 8-8 8h-49.9c-4.4 0-8-3.6-8-8v-63.4h-76c-4.4 0-8-3.6-8-8v-27.1c0-4.4 3.6-8 8-8h76v-39h-76c-4.4 0-8-3.6-8-8v-27.1c0-4.4 3.6-8 8-8h57L356.5 322.8c-2.1-3.8-.7-8.7 3.2-10.8 1.2-.7 2.5-1 3.8-1h55.7a8 8 0 0 1 7.1 4.4L511 484.2h3.3L599 315.4c1.3-2.7 4.1-4.4 7.1-4.4h54.5c4.4 0 8 3.6 8.1 7.9 0 1.3-.4 2.6-1 3.8z'));\nexports.PauseCircleFill = getIcon('pause-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-80 600c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304zm224 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304z'));\nexports.PayCircleFill = getIcon('pay-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm166.6 246.8L567.5 515.6h62c4.4 0 8 3.6 8 8v29.9c0 4.4-3.6 8-8 8h-82V603h82c4.4 0 8 3.6 8 8v29.9c0 4.4-3.6 8-8 8h-82V717c0 4.4-3.6 8-8 8h-54.3c-4.4 0-8-3.6-8-8v-68.1h-81.7c-4.4 0-8-3.6-8-8V611c0-4.4 3.6-8 8-8h81.7v-41.5h-81.7c-4.4 0-8-3.6-8-8v-29.9c0-4.4 3.6-8 8-8h61.4L345.4 310.8a8.07 8.07 0 0 1 7-11.9h60.7c3 0 5.8 1.7 7.1 4.4l90.6 180h3.4l90.6-180a8 8 0 0 1 7.1-4.4h59.5c4.4 0 8 3.6 8 8 .2 1.4-.2 2.7-.8 3.9z'));\nexports.NotificationFill = getIcon('notification', fill, getNode(newViewBox, 'M880 112c-3.8 0-7.7.7-11.6 2.3L292 345.9H128c-8.8 0-16 7.4-16 16.6v299c0 9.2 7.2 16.6 16 16.6h101.6c-3.7 11.6-5.6 23.9-5.6 36.4 0 65.9 53.8 119.5 120 119.5 55.4 0 102.1-37.6 115.9-88.4l408.6 164.2c3.9 1.5 7.8 2.3 11.6 2.3 16.9 0 32-14.2 32-33.2V145.2C912 126.2 897 112 880 112zM344 762.3c-26.5 0-48-21.4-48-47.8 0-11.2 3.9-21.9 11-30.4l84.9 34.1c-2 24.6-22.7 44.1-47.9 44.1z'));\nexports.PhoneFill = getIcon('phone', fill, getNode(newViewBox, 'M885.6 230.2L779.1 123.8a80.83 80.83 0 0 0-57.3-23.8c-21.7 0-42.1 8.5-57.4 23.8L549.8 238.4a80.83 80.83 0 0 0-23.8 57.3c0 21.7 8.5 42.1 23.8 57.4l83.8 83.8A393.82 393.82 0 0 1 553.1 553 395.34 395.34 0 0 1 437 633.8L353.2 550a80.83 80.83 0 0 0-57.3-23.8c-21.7 0-42.1 8.5-57.4 23.8L123.8 664.5a80.89 80.89 0 0 0-23.8 57.4c0 21.7 8.5 42.1 23.8 57.4l106.3 106.3c24.4 24.5 58.1 38.4 92.7 38.4 7.3 0 14.3-.6 21.2-1.8 134.8-22.2 268.5-93.9 376.4-201.7C828.2 612.8 899.8 479.2 922.3 344c6.8-41.3-6.9-83.8-36.7-113.8z'));\nexports.PictureFill = getIcon('picture', fill, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zM338 304c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm513.9 437.1a8.11 8.11 0 0 1-5.2 1.9H177.2c-4.4 0-8-3.6-8-8 0-1.9.7-3.7 1.9-5.2l170.3-202c2.8-3.4 7.9-3.8 11.3-1 .3.3.7.6 1 1l99.4 118 158.1-187.5c2.8-3.4 7.9-3.8 11.3-1 .3.3.7.6 1 1l229.6 271.6c2.6 3.3 2.2 8.4-1.2 11.2z'));\nexports.PieChartFill = getIcon('pie-chart', fill, getNode(newViewBox, 'M863.1 518.5H505.5V160.9c0-4.4-3.6-8-8-8h-26a398.57 398.57 0 0 0-282.5 117 397.47 397.47 0 0 0-85.6 127C82.6 446.2 72 498.5 72 552.5S82.6 658.7 103.4 708c20.1 47.5 48.9 90.3 85.6 127 36.7 36.7 79.4 65.5 127 85.6a396.64 396.64 0 0 0 155.6 31.5 398.57 398.57 0 0 0 282.5-117c36.7-36.7 65.5-79.4 85.6-127a396.64 396.64 0 0 0 31.5-155.6v-26c-.1-4.4-3.7-8-8.1-8zM951 463l-2.6-28.2c-8.5-92-49.3-178.8-115.1-244.3A398.5 398.5 0 0 0 588.4 75.6L560.1 73c-4.7-.4-8.7 3.2-8.7 7.9v383.7c0 4.4 3.6 8 8 8l383.6-1c4.7-.1 8.4-4 8-8.6z'));\nexports.PlayCircleFill = getIcon('play-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm144.1 454.9L437.7 677.8a8.02 8.02 0 0 1-12.7-6.5V353.7a8 8 0 0 1 12.7-6.5L656.1 506a7.9 7.9 0 0 1 0 12.9z'));\nexports.PlaySquareFill = getIcon('play-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM641.7 520.8L442.3 677.6c-7.4 5.8-18.3.6-18.3-8.8V355.3c0-9.4 10.9-14.7 18.3-8.8l199.4 156.7a11.2 11.2 0 0 1 0 17.6z'));\nexports.PlusCircleFill = getIcon('plus-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm192 472c0 4.4-3.6 8-8 8H544v152c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V544H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h152V328c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v152h152c4.4 0 8 3.6 8 8v48z'));\nexports.PlusSquareFill = getIcon('plus-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM704 536c0 4.4-3.6 8-8 8H544v152c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V544H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h152V328c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v152h152c4.4 0 8 3.6 8 8v48z'));\nexports.PoundCircleFill = getIcon('pound-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm146 658c0 4.4-3.6 8-8 8H376.2c-4.4 0-8-3.6-8-8v-38.5c0-3.7 2.5-6.9 6.1-7.8 44-10.9 72.8-49 72.8-94.2 0-14.7-2.5-29.4-5.9-44.2H374c-4.4 0-8-3.6-8-8v-30c0-4.4 3.6-8 8-8h53.7c-7.8-25.1-14.6-50.7-14.6-77.1 0-75.8 58.6-120.3 151.5-120.3 26.5 0 51.4 5.5 70.3 12.7 3.1 1.2 5.2 4.2 5.2 7.5v39.5a8 8 0 0 1-10.6 7.6c-17.9-6.4-39-10.5-60.4-10.5-53.3 0-87.3 26.6-87.3 70.2 0 24.7 6.2 47.9 13.4 70.5h112c4.4 0 8 3.6 8 8v30c0 4.4-3.6 8-8 8h-98.6c3.1 13.2 5.3 26.9 5.3 41 0 40.7-16.5 73.9-43.9 91.1v4.7h180c4.4 0 8 3.6 8 8V722z'));\nexports.PrinterFill = getIcon('printer', fill, getNode(newViewBox, 'M732 120c0-4.4-3.6-8-8-8H300c-4.4 0-8 3.6-8 8v148h440V120zm120 212H172c-44.2 0-80 35.8-80 80v328c0 17.7 14.3 32 32 32h168v132c0 4.4 3.6 8 8 8h424c4.4 0 8-3.6 8-8V772h168c17.7 0 32-14.3 32-32V412c0-44.2-35.8-80-80-80zM664 844H360V568h304v276zm164-360c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-40c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v40z'));\nexports.ProfileFill = getIcon('profile', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM380 696c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm0-144c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm0-144c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm304 272c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm0-144c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm0-144c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48z'));\nexports.ProjectFill = getIcon('project', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM368 744c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v464zm192-280c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v184zm192 72c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v256z'));\nexports.PushpinFill = getIcon('pushpin', fill, getNode(newViewBox, 'M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3-15.4 12.3-16.6 35.4-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 0 0-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8z'));\nexports.PropertySafetyFill = getIcon('property-safety', fill, getNode(newViewBox, 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM648.3 332.8l-87.7 161.1h45.7c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4v29.7h63.4c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4V658c0 5.5-4.5 10-10 10h-41.3c-5.5 0-10-4.5-10-10v-51.8h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h63.1v-29.7h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h45.2l-88-161.1c-2.6-4.8-.9-10.9 4-13.6 1.5-.8 3.1-1.2 4.8-1.2h46c3.8 0 7.2 2.1 8.9 5.5l72.9 144.3 73.2-144.3a10 10 0 0 1 8.9-5.5h45c5.5 0 10 4.5 10 10 .1 1.7-.3 3.3-1.1 4.8z'));\nexports.QqCircleFill = getIcon('qq-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm210.5 612.4c-11.5 1.4-44.9-52.7-44.9-52.7 0 31.3-16.2 72.2-51.1 101.8 16.9 5.2 54.9 19.2 45.9 34.4-7.3 12.3-125.6 7.9-159.8 4-34.2 3.8-152.5 8.3-159.8-4-9.1-15.2 28.9-29.2 45.8-34.4-35-29.5-51.1-70.4-51.1-101.8 0 0-33.4 54.1-44.9 52.7-5.4-.7-12.4-29.6 9.4-99.7 10.3-33 22-60.5 40.2-105.8-3.1-116.9 45.3-215 160.4-215 113.9 0 163.3 96.1 160.4 215 18.1 45.2 29.9 72.8 40.2 105.8 21.7 70.1 14.6 99.1 9.3 99.7z'));\nexports.QqSquareFill = getIcon('qq-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM722.5 676.4c-11.5 1.4-44.9-52.7-44.9-52.7 0 31.3-16.2 72.2-51.1 101.8 16.9 5.2 54.9 19.2 45.9 34.4-7.3 12.3-125.6 7.9-159.8 4-34.2 3.8-152.5 8.3-159.8-4-9.1-15.2 28.9-29.2 45.8-34.4-35-29.5-51.1-70.4-51.1-101.8 0 0-33.4 54.1-44.9 52.7-5.4-.7-12.4-29.6 9.4-99.7 10.3-33 22-60.5 40.2-105.8-3.1-116.9 45.3-215 160.4-215 113.9 0 163.3 96.1 160.4 215 18.1 45.2 29.9 72.8 40.2 105.8 21.7 70.1 14.6 99.1 9.3 99.7z'));\nexports.QuestionCircleFill = getIcon('question-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 708c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm62.9-219.5a48.3 48.3 0 0 0-30.9 44.8V620c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-21.5c0-23.1 6.7-45.9 19.9-64.9 12.9-18.6 30.9-32.8 52.1-40.9 34-13.1 56-41.6 56-72.7 0-44.1-43.1-80-96-80s-96 35.9-96 80v7.6c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V420c0-39.3 17.2-76 48.4-103.3C430.4 290.4 470 276 512 276s81.6 14.5 111.6 40.7C654.8 344 672 380.7 672 420c0 57.8-38.1 109.8-97.1 132.5z'));\nexports.ReadFill = getIcon('read', fill, getNode(newViewBox, 'M928 161H699.2c-49.1 0-97.1 14.1-138.4 40.7L512 233l-48.8-31.3A255.2 255.2 0 0 0 324.8 161H96c-17.7 0-32 14.3-32 32v568c0 17.7 14.3 32 32 32h228.8c49.1 0 97.1 14.1 138.4 40.7l44.4 28.6c1.3.8 2.8 1.3 4.3 1.3s3-.4 4.3-1.3l44.4-28.6C602 807.1 650.1 793 699.2 793H928c17.7 0 32-14.3 32-32V193c0-17.7-14.3-32-32-32zM404 553.5c0 4.1-3.2 7.5-7.1 7.5H211.1c-3.9 0-7.1-3.4-7.1-7.5v-45c0-4.1 3.2-7.5 7.1-7.5h185.7c3.9 0 7.1 3.4 7.1 7.5v45zm0-140c0 4.1-3.2 7.5-7.1 7.5H211.1c-3.9 0-7.1-3.4-7.1-7.5v-45c0-4.1 3.2-7.5 7.1-7.5h185.7c3.9 0 7.1 3.4 7.1 7.5v45zm416 140c0 4.1-3.2 7.5-7.1 7.5H627.1c-3.9 0-7.1-3.4-7.1-7.5v-45c0-4.1 3.2-7.5 7.1-7.5h185.7c3.9 0 7.1 3.4 7.1 7.5v45zm0-140c0 4.1-3.2 7.5-7.1 7.5H627.1c-3.9 0-7.1-3.4-7.1-7.5v-45c0-4.1 3.2-7.5 7.1-7.5h185.7c3.9 0 7.1 3.4 7.1 7.5v45z'));\nexports.ReconciliationFill = getIcon('reconciliation', fill, getNode(newViewBox, 'M676 623c-18.8 0-34 15.2-34 34s15.2 34 34 34 34-15.2 34-34-15.2-34-34-34zm204-455H668c0-30.9-25.1-56-56-56h-80c-30.9 0-56 25.1-56 56H264c-17.7 0-32 14.3-32 32v200h-88c-17.7 0-32 14.3-32 32v448c0 17.7 14.3 32 32 32h336c17.7 0 32-14.3 32-32v-16h368c17.7 0 32-14.3 32-32V200c0-17.7-14.3-32-32-32zM448 848H176V616h272v232zm0-296H176v-88h272v88zm20-272v-48h72v-56h64v56h72v48H468zm180 168v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8zm28 301c-50.8 0-92-41.2-92-92s41.2-92 92-92 92 41.2 92 92-41.2 92-92 92zm92-245c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-96c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v96zm-92 61c-50.8 0-92 41.2-92 92s41.2 92 92 92 92-41.2 92-92-41.2-92-92-92zm0 126c-18.8 0-34-15.2-34-34s15.2-34 34-34 34 15.2 34 34-15.2 34-34 34z'));\nexports.RedEnvelopeFill = getIcon('red-envelope', fill, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zM647 470.4l-87.2 161h45.9c4.6 0 8.4 3.8 8.4 8.4v25.1c0 4.6-3.8 8.4-8.4 8.4h-63.3v28.6h63.3c4.6 0 8.4 3.8 8.4 8.4v25c.2 4.6-3.6 8.5-8.2 8.5h-63.3v49.9c0 4.6-3.8 8.4-8.4 8.4h-43.7c-4.6 0-8.4-3.8-8.4-8.4v-49.9h-63c-4.6 0-8.4-3.8-8.4-8.4v-25.1c0-4.6 3.8-8.4 8.4-8.4h63v-28.6h-63c-4.6 0-8.4-3.8-8.4-8.4v-25.1c0-4.6 3.8-8.4 8.4-8.4h45.4l-87.5-161c-2.2-4.1-.7-9.1 3.4-11.4 1.3-.6 2.6-1 3.9-1h48.8c3.2 0 6.1 1.8 7.5 4.6l71.9 141.8 71.9-141.9a8.5 8.5 0 0 1 7.5-4.6h47.8c4.6 0 8.4 3.8 8.4 8.4-.1 1.5-.5 2.9-1.1 4.1zM512.6 323L289 148h446L512.6 323z'));\nexports.RedditCircleFill = getIcon('reddit-circle', fill, getNode(newViewBox, 'M584 548a36 36 0 1 0 72 0 36 36 0 1 0-72 0zm144-108a35.9 35.9 0 0 0-32.5 20.6c18.8 14.3 34.4 30.7 45.9 48.8A35.98 35.98 0 0 0 728 440zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm245 477.9c4.6 13.5 7 27.6 7 42.1 0 99.4-112.8 180-252 180s-252-80.6-252-180c0-14.5 2.4-28.6 7-42.1A72.01 72.01 0 0 1 296 404c27.1 0 50.6 14.9 62.9 37 36.2-19.8 80.2-32.8 128.1-36.1l58.4-131.1c4.3-9.8 15.2-14.8 25.5-11.8l91.6 26.5a54.03 54.03 0 0 1 101.6 25.6c0 29.8-24.2 54-54 54-23.5 0-43.5-15.1-50.9-36.1L577 308.3l-43 96.5c49.1 3 94.2 16.1 131.2 36.3 12.3-22.1 35.8-37 62.9-37 39.8 0 72 32.2 72 72-.1 29.3-17.8 54.6-43.1 65.8zm-171.3 83c-14.9 11.7-44.3 24.3-73.7 24.3s-58.9-12.6-73.7-24.3c-9.3-7.3-22.7-5.7-30 3.6-7.3 9.3-5.7 22.7 3.6 30 25.7 20.4 65 33.5 100.1 33.5 35.1 0 74.4-13.1 100.2-33.5 9.3-7.3 10.9-20.8 3.6-30a21.46 21.46 0 0 0-30.1-3.6zM296 440a35.98 35.98 0 0 0-13.4 69.4c11.5-18.1 27.1-34.5 45.9-48.8A35.9 35.9 0 0 0 296 440zm72 108a36 36 0 1 0 72 0 36 36 0 1 0-72 0z'));\nexports.RedditSquareFill = getIcon('reddit-square', fill, getNode(newViewBox, 'M296 440a35.98 35.98 0 0 0-13.4 69.4c11.5-18.1 27.1-34.5 45.9-48.8A35.9 35.9 0 0 0 296 440zm289.7 184.9c-14.9 11.7-44.3 24.3-73.7 24.3s-58.9-12.6-73.7-24.3c-9.3-7.3-22.7-5.7-30 3.6-7.3 9.3-5.7 22.7 3.6 30 25.7 20.4 65 33.5 100.1 33.5 35.1 0 74.4-13.1 100.2-33.5 9.3-7.3 10.9-20.8 3.6-30a21.46 21.46 0 0 0-30.1-3.6zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM757 541.9c4.6 13.5 7 27.6 7 42.1 0 99.4-112.8 180-252 180s-252-80.6-252-180c0-14.5 2.4-28.6 7-42.1A72.01 72.01 0 0 1 296 404c27.1 0 50.6 14.9 62.9 37 36.2-19.8 80.2-32.8 128.1-36.1l58.4-131.1c4.3-9.8 15.2-14.8 25.5-11.8l91.6 26.5a54.03 54.03 0 0 1 101.6 25.6c0 29.8-24.2 54-54 54-23.5 0-43.5-15.1-50.9-36.1L577 308.3l-43 96.5c49.1 3 94.2 16.1 131.2 36.3 12.3-22.1 35.8-37 62.9-37 39.8 0 72 32.2 72 72-.1 29.3-17.8 54.6-43.1 65.8zM584 548a36 36 0 1 0 72 0 36 36 0 1 0-72 0zm144-108a35.9 35.9 0 0 0-32.5 20.6c18.8 14.3 34.4 30.7 45.9 48.8A35.98 35.98 0 0 0 728 440zM368 548a36 36 0 1 0 72 0 36 36 0 1 0-72 0z'));\nexports.RestFill = getIcon('rest', fill, getNode(newViewBox, 'M832 256h-28.1l-35.7-120.9c-4-13.7-16.5-23.1-30.7-23.1h-451c-14.3 0-26.8 9.4-30.7 23.1L220.1 256H192c-17.7 0-32 14.3-32 32v28c0 4.4 3.6 8 8 8h45.8l47.7 558.7a32 32 0 0 0 31.9 29.3h429.2a32 32 0 0 0 31.9-29.3L802.2 324H856c4.4 0 8-3.6 8-8v-28c0-17.7-14.3-32-32-32zM508 704c-79.5 0-144-64.5-144-144s64.5-144 144-144 144 64.5 144 144-64.5 144-144 144zM291 256l22.4-76h397.2l22.4 76H291zm137 304a80 80 0 1 0 160 0 80 80 0 1 0-160 0z'));\nexports.RightCircleFill = getIcon('right-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm154.7 454.5l-246 178c-5.3 3.8-12.7 0-12.7-6.5v-46.9c0-10.2 4.9-19.9 13.2-25.9L566.6 512 421.2 406.8c-8.3-6-13.2-15.6-13.2-25.9V334c0-6.5 7.4-10.3 12.7-6.5l246 178c4.4 3.2 4.4 9.8 0 13z'));\nexports.RocketFill = getIcon('rocket', fill, getNode(newViewBox, 'M864 736c0-111.6-65.4-208-160-252.9V317.3c0-15.1-5.3-29.7-15.1-41.2L536.5 95.4C530.1 87.8 521 84 512 84s-18.1 3.8-24.5 11.4L335.1 276.1a63.97 63.97 0 0 0-15.1 41.2v165.8C225.4 528 160 624.4 160 736h156.5c-2.3 7.2-3.5 15-3.5 23.8 0 22.1 7.6 43.7 21.4 60.8a97.2 97.2 0 0 0 43.1 30.6c23.1 54 75.6 88.8 134.5 88.8 29.1 0 57.3-8.6 81.4-24.8 23.6-15.8 41.9-37.9 53-64a97 97 0 0 0 43.1-30.5 97.52 97.52 0 0 0 21.4-60.8c0-8.4-1.1-16.4-3.1-23.8L864 736zM512 352a48.01 48.01 0 0 1 0 96 48.01 48.01 0 0 1 0-96zm116.1 432.2c-5.2 3-11.2 4.2-17.1 3.4l-19.5-2.4-2.8 19.4c-5.4 37.9-38.4 66.5-76.7 66.5s-71.3-28.6-76.7-66.5l-2.8-19.5-19.5 2.5a27.7 27.7 0 0 1-17.1-3.5c-8.7-5-14.1-14.3-14.1-24.4 0-10.6 5.9-19.4 14.6-23.8h231.3c8.8 4.5 14.6 13.3 14.6 23.8-.1 10.2-5.5 19.6-14.2 24.5z'));\nexports.RightSquareFill = getIcon('right-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM658.7 518.5l-246 178c-5.3 3.8-12.7 0-12.7-6.5v-46.9c0-10.2 4.9-19.9 13.2-25.9L558.6 512 413.2 406.8c-8.3-6-13.2-15.6-13.2-25.9V334c0-6.5 7.4-10.3 12.7-6.5l246 178c4.4 3.2 4.4 9.8 0 13z'));\nexports.SafetyCertificateFill = getIcon('safety-certificate', fill, getNode(newViewBox, 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM694.5 340.7L481.9 633.4a16.1 16.1 0 0 1-26 0l-126.4-174c-3.8-5.3 0-12.7 6.5-12.7h55.2c5.1 0 10 2.5 13 6.6l64.7 89 150.9-207.8c3-4.1 7.8-6.6 13-6.6H688c6.5.1 10.3 7.5 6.5 12.8z'));\nexports.SaveFill = getIcon('save', fill, getNode(newViewBox, 'M893.3 293.3L730.7 130.7c-12-12-28.3-18.7-45.3-18.7H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 176h256v112H384V176zm128 554c-79.5 0-144-64.5-144-144s64.5-144 144-144 144 64.5 144 144-64.5 144-144 144zm0-224c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80z'));\nexports.ScheduleFill = getIcon('schedule', fill, getNode(newViewBox, 'M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zM424 688c0 4.4-3.6 8-8 8H232c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm0-136c0 4.4-3.6 8-8 8H232c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm374.5-91.3l-165 228.7a15.9 15.9 0 0 1-25.8 0L493.5 531.2c-3.8-5.3 0-12.7 6.5-12.7h54.9c5.1 0 9.9 2.5 12.9 6.6l52.8 73.1 103.7-143.7c3-4.2 7.8-6.6 12.9-6.6H792c6.5.1 10.3 7.5 6.5 12.8z'));\nexports.SecurityScanFill = getIcon('security-scan', fill, getNode(newViewBox, 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM626.8 554c-48.5 48.5-123 55.2-178.6 20.1l-77.5 77.5a8.03 8.03 0 0 1-11.3 0l-34-34a8.03 8.03 0 0 1 0-11.3l77.5-77.5c-35.1-55.7-28.4-130.1 20.1-178.6 56.3-56.3 147.5-56.3 203.8 0 56.3 56.3 56.3 147.5 0 203.8zm-158.54-45.27a80.1 80.1 0 1 0 113.27-113.28 80.1 80.1 0 1 0-113.27 113.28z'));\nexports.SettingFill = getIcon('setting', fill, getNode(newViewBox, 'M512.5 390.6c-29.9 0-57.9 11.6-79.1 32.8-21.1 21.2-32.8 49.2-32.8 79.1 0 29.9 11.7 57.9 32.8 79.1 21.2 21.1 49.2 32.8 79.1 32.8 29.9 0 57.9-11.7 79.1-32.8 21.1-21.2 32.8-49.2 32.8-79.1 0-29.9-11.7-57.9-32.8-79.1a110.96 110.96 0 0 0-79.1-32.8zm412.3 235.5l-65.4-55.9c3.1-19 4.7-38.4 4.7-57.7s-1.6-38.8-4.7-57.7l65.4-55.9a32.03 32.03 0 0 0 9.3-35.2l-.9-2.6a442.5 442.5 0 0 0-79.6-137.7l-1.8-2.1a32.12 32.12 0 0 0-35.1-9.5l-81.2 28.9c-30-24.6-63.4-44-99.6-57.5l-15.7-84.9a32.05 32.05 0 0 0-25.8-25.7l-2.7-.5c-52-9.4-106.8-9.4-158.8 0l-2.7.5a32.05 32.05 0 0 0-25.8 25.7l-15.8 85.3a353.44 353.44 0 0 0-98.9 57.3l-81.8-29.1a32 32 0 0 0-35.1 9.5l-1.8 2.1a445.93 445.93 0 0 0-79.6 137.7l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.2 56.5c-3.1 18.8-4.6 38-4.6 57 0 19.2 1.5 38.4 4.6 57l-66 56.5a32.03 32.03 0 0 0-9.3 35.2l.9 2.6c18.1 50.3 44.8 96.8 79.6 137.7l1.8 2.1a32.12 32.12 0 0 0 35.1 9.5l81.8-29.1c29.8 24.5 63 43.9 98.9 57.3l15.8 85.3a32.05 32.05 0 0 0 25.8 25.7l2.7.5a448.27 448.27 0 0 0 158.8 0l2.7-.5a32.05 32.05 0 0 0 25.8-25.7l15.7-84.9c36.2-13.6 69.6-32.9 99.6-57.5l81.2 28.9a32 32 0 0 0 35.1-9.5l1.8-2.1c34.8-41.1 61.5-87.4 79.6-137.7l.9-2.6c4.3-12.4.6-26.3-9.5-35zm-412.3 52.2c-97.1 0-175.8-78.7-175.8-175.8s78.7-175.8 175.8-175.8 175.8 78.7 175.8 175.8-78.7 175.8-175.8 175.8z'));\nexports.ShopFill = getIcon('shop', fill, getNode(newViewBox, 'M882 272.1V144c0-17.7-14.3-32-32-32H174c-17.7 0-32 14.3-32 32v128.1c-16.7 1-30 14.9-30 31.9v131.7a177 177 0 0 0 14.4 70.4c4.3 10.2 9.6 19.8 15.6 28.9v345c0 17.6 14.3 32 32 32h274V736h128v176h274c17.7 0 32-14.3 32-32V535a175 175 0 0 0 15.6-28.9c9.5-22.3 14.4-46 14.4-70.4V304c0-17-13.3-30.9-30-31.9zm-72 568H640V704c0-17.7-14.3-32-32-32H416c-17.7 0-32 14.3-32 32v136.1H214V597.9c2.9 1.4 5.9 2.8 9 4 22.3 9.4 46 14.1 70.4 14.1s48-4.7 70.4-14.1c13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 3-1.3 6-2.6 9-4v242.2zm0-568.1H214v-88h596v88z'));\nexports.ShoppingFill = getIcon('shopping', fill, getNode(newViewBox, 'M832 312H696v-16c0-101.6-82.4-184-184-184s-184 82.4-184 184v16H192c-17.7 0-32 14.3-32 32v536c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V344c0-17.7-14.3-32-32-32zm-208 0H400v-16c0-61.9 50.1-112 112-112s112 50.1 112 112v16z'));\nexports.SketchCircleFill = getIcon('sketch-circle', fill, getNode(newViewBox, 'M582.3 625.6l147.9-166.3h-63.4zm90-202.3h62.5l-92.1-115.1zm-274.7 36L512 684.5l114.4-225.2zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm286.7 380.2L515.8 762.3c-1 1.1-2.4 1.7-3.8 1.7s-2.8-.6-3.8-1.7L225.3 444.2a5.14 5.14 0 0 1-.2-6.6L365.6 262c1-1.2 2.4-1.9 4-1.9h284.6c1.6 0 3 .7 4 1.9l140.5 175.6a4.9 4.9 0 0 1 0 6.6zm-190.5-20.9L512 326.1l-96.2 97.2zM420.3 301.1l-23.1 89.8 88.8-89.8zm183.4 0H538l88.8 89.8zm-222.4 7.1l-92.1 115.1h62.5zm-87.5 151.1l147.9 166.3-84.5-166.3z'));\nexports.SketchSquareFill = getIcon('sketch-square', fill, getNode(newViewBox, 'M608.2 423.3L512 326.1l-96.2 97.2zm-25.9 202.3l147.9-166.3h-63.4zm90-202.3h62.5l-92.1-115.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-81.3 332.2L515.8 762.3c-1 1.1-2.4 1.7-3.8 1.7s-2.8-.6-3.8-1.7L225.3 444.2a5.14 5.14 0 0 1-.2-6.6L365.6 262c1-1.2 2.4-1.9 4-1.9h284.6c1.6 0 3 .7 4 1.9l140.5 175.6a4.9 4.9 0 0 1 0 6.6zm-401.1 15.1L512 684.5l114.4-225.2zm-16.3-151.1l-92.1 115.1h62.5zm-87.5 151.1l147.9 166.3-84.5-166.3zm126.5-158.2l-23.1 89.8 88.8-89.8zm183.4 0H538l88.8 89.8z'));\nexports.SkinFill = getIcon('skin', fill, getNode(newViewBox, 'M870 126H663.8c-17.4 0-32.9 11.9-37 29.3C614.3 208.1 567 246 512 246s-102.3-37.9-114.8-90.7a37.93 37.93 0 0 0-37-29.3H154a44 44 0 0 0-44 44v252a44 44 0 0 0 44 44h75v388a44 44 0 0 0 44 44h478a44 44 0 0 0 44-44V466h75a44 44 0 0 0 44-44V170a44 44 0 0 0-44-44z'));\nexports.SlackCircleFill = getIcon('slack-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM361.5 580.2c0 27.8-22.5 50.4-50.3 50.4a50.35 50.35 0 0 1-50.3-50.4c0-27.8 22.5-50.4 50.3-50.4h50.3v50.4zm134 134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V580.2c0-27.8 22.5-50.4 50.3-50.4a50.35 50.35 0 0 1 50.3 50.4v134.4zm-50.2-218.4h-134c-27.8 0-50.3-22.6-50.3-50.4 0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4-.1 27.9-22.6 50.4-50.3 50.4zm0-134.4c-13.3 0-26.1-5.3-35.6-14.8S395 324.8 395 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v50.4h-50.3zm83.7-50.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V311.4zM579.3 765c-27.8 0-50.3-22.6-50.3-50.4v-50.4h50.3c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm134-134.4h-134c-13.3 0-26.1-5.3-35.6-14.8S529 593.6 529 580.2c0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm0-134.4H663v-50.4c0-27.8 22.5-50.4 50.3-50.4s50.3 22.6 50.3 50.4c0 27.8-22.5 50.4-50.3 50.4z'));\nexports.SlackSquareFill = getIcon('slack-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM529 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V311.4zM361.5 580.2c0 27.8-22.5 50.4-50.3 50.4a50.35 50.35 0 0 1-50.3-50.4c0-27.8 22.5-50.4 50.3-50.4h50.3v50.4zm134 134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V580.2c0-27.8 22.5-50.4 50.3-50.4a50.35 50.35 0 0 1 50.3 50.4v134.4zm-50.2-218.4h-134c-27.8 0-50.3-22.6-50.3-50.4 0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4-.1 27.9-22.6 50.4-50.3 50.4zm0-134.4c-13.3 0-26.1-5.3-35.6-14.8S395 324.8 395 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v50.4h-50.3zm134 403.2c-27.8 0-50.3-22.6-50.3-50.4v-50.4h50.3c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm134-134.4h-134a50.35 50.35 0 0 1-50.3-50.4c0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm0-134.4H663v-50.4c0-27.8 22.5-50.4 50.3-50.4s50.3 22.6 50.3 50.4c0 27.8-22.5 50.4-50.3 50.4z'));\nexports.SkypeFill = getIcon('skype', fill, getNode(newViewBox, 'M883.7 578.6c4.1-22.5 6.3-45.5 6.3-68.5 0-51-10-100.5-29.7-147-19-45-46.3-85.4-81-120.1a375.79 375.79 0 0 0-120.1-80.9c-46.6-19.7-96-29.7-147-29.7-24 0-48.1 2.3-71.5 6.8A225.1 225.1 0 0 0 335.6 113c-59.7 0-115.9 23.3-158.1 65.5A222.25 222.25 0 0 0 112 336.6c0 38 9.8 75.4 28.1 108.4-3.7 21.4-5.7 43.3-5.7 65.1 0 51 10 100.5 29.7 147 19 45 46.2 85.4 80.9 120.1 34.7 34.7 75.1 61.9 120.1 80.9 46.6 19.7 96 29.7 147 29.7 22.2 0 44.4-2 66.2-5.9 33.5 18.9 71.3 29 110 29 59.7 0 115.9-23.2 158.1-65.5 42.3-42.2 65.5-98.4 65.5-158.1.1-38-9.7-75.5-28.2-108.7zm-370 162.9c-134.2 0-194.2-66-194.2-115.4 0-25.4 18.7-43.1 44.5-43.1 57.4 0 42.6 82.5 149.7 82.5 54.9 0 85.2-29.8 85.2-60.3 0-18.3-9-38.7-45.2-47.6l-119.4-29.8c-96.1-24.1-113.6-76.1-113.6-124.9 0-101.4 95.5-139.5 185.2-139.5 82.6 0 180 45.7 180 106.5 0 26.1-22.6 41.2-48.4 41.2-49 0-40-67.8-138.7-67.8-49 0-76.1 22.2-76.1 53.9s38.7 41.8 72.3 49.5l88.4 19.6c96.8 21.6 121.3 78.1 121.3 131.3 0 82.3-63.3 143.9-191 143.9z'));\nexports.SlidersFill = getIcon('sliders', fill, getNode(newViewBox, 'M904 296h-66v-96c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v96h-66c-4.4 0-8 3.6-8 8v416c0 4.4 3.6 8 8 8h66v96c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-96h66c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8zm-584-72h-66v-56c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v56h-66c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h66v56c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-56h66c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zm292 180h-66V232c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v172h-66c-4.4 0-8 3.6-8 8v200c0 4.4 3.6 8 8 8h66v172c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V620h66c4.4 0 8-3.6 8-8V412c0-4.4-3.6-8-8-8z'));\nexports.SmileFill = getIcon('smile', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm224 272c-85.5 0-155.6-67.3-160-151.6a8 8 0 0 1 8-8.4h48.1c4.2 0 7.8 3.2 8.1 7.4C420 589.9 461.5 629 512 629s92.1-39.1 95.8-88.6c.3-4.2 3.9-7.4 8.1-7.4H664a8 8 0 0 1 8 8.4C667.6 625.7 597.5 693 512 693zm176-224a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.SnippetsFill = getIcon('snippets', fill, getNode(newViewBox, 'M832 112H724V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H500V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H320c-17.7 0-32 14.3-32 32v120h-96c-17.7 0-32 14.3-32 32v632c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32v-96h96c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM664 486H514V336h.2L664 485.8v.2zm128 274h-56V456L544 264H360v-80h68v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h152v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h68v576z'));\nexports.SoundFill = getIcon('sound', fill, getNode(newViewBox, 'M892.1 737.8l-110.3-63.7a15.9 15.9 0 0 0-21.7 5.9l-19.9 34.5c-4.4 7.6-1.8 17.4 5.8 21.8L856.3 800a15.9 15.9 0 0 0 21.7-5.9l19.9-34.5c4.4-7.6 1.7-17.4-5.8-21.8zM760 344a15.9 15.9 0 0 0 21.7 5.9L892 286.2c7.6-4.4 10.2-14.2 5.8-21.8L878 230a15.9 15.9 0 0 0-21.7-5.9L746 287.8a15.99 15.99 0 0 0-5.8 21.8L760 344zm174 132H806c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16zM625.9 115c-5.9 0-11.9 1.6-17.4 5.3L254 352H90c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h164l354.5 231.7c5.5 3.6 11.6 5.3 17.4 5.3 16.7 0 32.1-13.3 32.1-32.1V147.1c0-18.8-15.4-32.1-32.1-32.1z'));\nexports.StarFill = getIcon('star', fill, getNode(newViewBox, 'M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 0 0 .6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0 0 46.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3z'));\nexports.StepBackwardFill = getIcon('step-backward', fill, getNode(normalViewBox, 'M347.6 528.95l383.2 301.02c14.25 11.2 35.2 1.1 35.2-16.95V210.97c0-18.05-20.95-28.14-35.2-16.94L347.6 495.05a21.53 21.53 0 0 0 0 33.9M330 864h-64a8 8 0 0 1-8-8V168a8 8 0 0 1 8-8h64a8 8 0 0 1 8 8v688a8 8 0 0 1-8 8'));\nexports.StepForwardFill = getIcon('step-forward', fill, getNode(normalViewBox, 'M676.4 528.95L293.2 829.97c-14.25 11.2-35.2 1.1-35.2-16.95V210.97c0-18.05 20.95-28.14 35.2-16.94l383.2 301.02a21.53 21.53 0 0 1 0 33.9M694 864h64a8 8 0 0 0 8-8V168a8 8 0 0 0-8-8h-64a8 8 0 0 0-8 8v688a8 8 0 0 0 8 8'));\nexports.StopFill = getIcon('stop', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm234.8 736.5L223.5 277.2c16-19.7 34-37.7 53.7-53.7l523.3 523.3c-16 19.6-34 37.7-53.7 53.7z'));\nexports.SwitcherFill = getIcon('switcher', fill, getNode(newViewBox, 'M752 240H144c-17.7 0-32 14.3-32 32v608c0 17.7 14.3 32 32 32h608c17.7 0 32-14.3 32-32V272c0-17.7-14.3-32-32-32zM596 606c0 4.4-3.6 8-8 8H308c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h280c4.4 0 8 3.6 8 8v48zm284-494H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h576v576c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V144c0-17.7-14.3-32-32-32z'));\nexports.TabletFill = getIcon('tablet', fill, getNode(newViewBox, 'M800 64H224c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM512 824c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z'));\nexports.TagFill = getIcon('tag', fill, getNode(newViewBox, 'M938 458.8l-29.6-312.6c-1.5-16.2-14.4-29-30.6-30.6L565.2 86h-.4c-3.2 0-5.7 1-7.6 2.9L88.9 557.2a9.96 9.96 0 0 0 0 14.1l363.8 363.8c1.9 1.9 4.4 2.9 7.1 2.9s5.2-1 7.1-2.9l468.3-468.3c2-2.1 3-5 2.8-8zM699 387c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z'));\nexports.TagsFill = getIcon('tags', fill, getNode(newViewBox, 'M483.2 790.3L861.4 412c1.7-1.7 2.5-4 2.3-6.3l-25.5-301.4c-.7-7.8-6.8-13.9-14.6-14.6L522.2 64.3c-2.3-.2-4.7.6-6.3 2.3L137.7 444.8a8.03 8.03 0 0 0 0 11.3l334.2 334.2c3.1 3.2 8.2 3.2 11.3 0zm122.7-533.4c18.7-18.7 49.1-18.7 67.9 0 18.7 18.7 18.7 49.1 0 67.9-18.7 18.7-49.1 18.7-67.9 0-18.7-18.7-18.7-49.1 0-67.9zm283.8 282.9l-39.6-39.5a8.03 8.03 0 0 0-11.3 0l-362 361.3-237.6-237a8.03 8.03 0 0 0-11.3 0l-39.6 39.5a8.03 8.03 0 0 0 0 11.3l243.2 242.8 39.6 39.5c3.1 3.1 8.2 3.1 11.3 0l407.3-406.6c3.1-3.1 3.1-8.2 0-11.3z'));\nexports.TaobaoCircleFill = getIcon('taobao-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM315.7 291.5c27.3 0 49.5 22.1 49.5 49.4s-22.1 49.4-49.5 49.4a49.4 49.4 0 1 1 0-98.8zM366.9 578c-13.6 42.3-10.2 26.7-64.4 144.5l-78.5-49s87.7-79.8 105.6-116.2c19.2-38.4-21.1-58.9-21.1-58.9l-60.2-37.5 32.7-50.2c45.4 33.7 48.7 36.6 79.2 67.2 23.8 23.9 20.7 56.8 6.7 100.1zm427.2 55c-15.3 143.8-202.4 90.3-202.4 90.3l10.2-41.1 43.3 9.3c80 5 72.3-64.9 72.3-64.9V423c.6-77.3-72.6-85.4-204.2-38.3l30.6 8.3c-2.5 9-12.5 23.2-25.2 38.6h176v35.6h-99.1v44.5h98.7v35.7h-98.7V622c14.9-4.8 28.6-11.5 40.5-20.5l-8.7-32.5 46.5-14.4 38.8 94.9-57.3 23.9-10.2-37.8c-25.6 19.5-78.8 48-171.8 45.4-99.2 2.6-73.7-112-73.7-112l2.5-1.3H472c-.5 14.7-6.6 38.7 1.7 51.8 6.8 10.8 24.2 12.6 35.3 13.1 1.3.1 2.6.1 3.9.1v-85.3h-101v-35.7h101v-44.5H487c-22.7 24.1-43.5 44.1-43.5 44.1l-30.6-26.7c21.7-22.9 43.3-59.1 56.8-83.2-10.9 4.4-22 9.2-33.6 14.2-11.2 14.3-24.2 29-38.7 43.5.5.8-50-28.4-50-28.4 52.2-44.4 81.4-139.9 81.4-139.9l72.5 20.4s-5.9 14-18.4 35.6c290.3-82.3 307.4 50.5 307.4 50.5s19.1 91.8 3.8 235.7z'));\nexports.TaobaoSquareFill = getIcon('taobao-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM315.7 291.5c27.3 0 49.5 22.1 49.5 49.4s-22.1 49.4-49.5 49.4a49.4 49.4 0 1 1 0-98.8zM366.9 578c-13.6 42.3-10.2 26.7-64.4 144.5l-78.5-49s87.7-79.8 105.6-116.2c19.2-38.4-21.1-58.9-21.1-58.9l-60.2-37.5 32.7-50.2c45.4 33.7 48.7 36.6 79.2 67.2 23.8 23.9 20.7 56.8 6.7 100.1zm427.2 55c-15.3 143.8-202.4 90.3-202.4 90.3l10.2-41.1 43.3 9.3c80 5 72.3-64.9 72.3-64.9V423c.6-77.3-72.6-85.4-204.2-38.3l30.6 8.3c-2.5 9-12.5 23.2-25.2 38.6h176v35.6h-99.1v44.5h98.7v35.7h-98.7V622c14.9-4.8 28.6-11.5 40.5-20.5l-8.7-32.5 46.5-14.4 38.8 94.9-57.3 23.9-10.2-37.8c-25.6 19.5-78.8 48-171.8 45.4-99.2 2.6-73.7-112-73.7-112l2.5-1.3H472c-.5 14.7-6.6 38.7 1.7 51.8 6.8 10.8 24.2 12.6 35.3 13.1 1.3.1 2.6.1 3.9.1v-85.3h-101v-35.7h101v-44.5H487c-22.7 24.1-43.5 44.1-43.5 44.1l-30.6-26.7c21.7-22.9 43.3-59.1 56.8-83.2-10.9 4.4-22 9.2-33.6 14.2-11.2 14.3-24.2 29-38.7 43.5.5.8-50-28.4-50-28.4 52.2-44.4 81.4-139.9 81.4-139.9l72.5 20.4s-5.9 14-18.4 35.6c290.3-82.3 307.4 50.5 307.4 50.5s19.1 91.8 3.8 235.7z'));\nexports.ToolFill = getIcon('tool', fill, getNode(newViewBox, 'M865.3 244.7c-.3-.3-61.1 59.8-182.1 180.6l-84.9-84.9 180.9-180.9c-95.2-57.3-217.5-42.6-296.8 36.7A244.42 244.42 0 0 0 419 432l1.8 6.7-283.5 283.4c-6.2 6.2-6.2 16.4 0 22.6l141.4 141.4c6.2 6.2 16.4 6.2 22.6 0l283.3-283.3 6.7 1.8c83.7 22.3 173.6-.9 236-63.3 79.4-79.3 94.1-201.6 38-296.6z'));\nexports.ThunderboltFill = getIcon('thunderbolt', fill, getNode(newViewBox, 'M848 359.3H627.7L825.8 109c4.1-5.3.4-13-6.3-13H436c-2.8 0-5.5 1.5-6.9 4L170 547.5c-3.1 5.3.7 12 6.9 12h174.4l-89.4 357.6c-1.9 7.8 7.5 13.3 13.3 7.7L853.5 373c5.2-4.9 1.7-13.7-5.5-13.7z'));\nexports.TrademarkCircleFill = getIcon('trademark-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm164.7 660.2c-1.1.5-2.3.8-3.5.8h-62c-3.1 0-5.9-1.8-7.2-4.6l-74.6-159.2h-88.7V717c0 4.4-3.6 8-8 8H378c-4.4 0-8-3.6-8-8V307c0-4.4 3.6-8 8-8h155.6c98.8 0 144.2 59.9 144.2 131.1 0 70.2-43.6 106.4-78.4 119.2l80.8 164.2c2.1 3.9.4 8.7-3.5 10.7zM523.9 357h-83.4v148H522c53 0 82.8-25.6 82.8-72.4 0-50.3-32.9-75.6-80.9-75.6z'));\nexports.TwitterCircleFill = getIcon('twitter-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm215.3 337.7c.3 4.7.3 9.6.3 14.4 0 146.8-111.8 315.9-316.1 315.9-63 0-121.4-18.3-170.6-49.8 9 1 17.6 1.4 26.8 1.4 52 0 99.8-17.6 137.9-47.4-48.8-1-89.8-33-103.8-77 17.1 2.5 32.5 2.5 50.1-2a111 111 0 0 1-88.9-109v-1.4c14.7 8.3 32 13.4 50.1 14.1a111.13 111.13 0 0 1-49.5-92.4c0-20.7 5.4-39.6 15.1-56a315.28 315.28 0 0 0 229 116.1C492 353.1 548.4 292 616.2 292c32 0 60.8 13.4 81.1 35 25.1-4.7 49.1-14.1 70.5-26.7-8.3 25.7-25.7 47.4-48.8 61.1 22.4-2.4 44-8.6 64-17.3-15.1 22.2-34 41.9-55.7 57.6z'));\nexports.TrophyFill = getIcon('trophy', fill, getNode(newViewBox, 'M868 160h-92v-40c0-4.4-3.6-8-8-8H256c-4.4 0-8 3.6-8 8v40h-92a44 44 0 0 0-44 44v148c0 81.7 60 149.6 138.2 162C265.6 630.2 359 721.8 476 734.5v105.2H280c-17.7 0-32 14.3-32 32V904c0 4.4 3.6 8 8 8h512c4.4 0 8-3.6 8-8v-32.3c0-17.7-14.3-32-32-32H548V734.5C665 721.8 758.4 630.2 773.8 514 852 501.6 912 433.7 912 352V204a44 44 0 0 0-44-44zM248 439.6c-37.1-11.9-64-46.7-64-87.6V232h64v207.6zM840 352c0 41-26.9 75.8-64 87.6V232h64v120z'));\nexports.TwitterSquareFill = getIcon('twitter-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM727.3 401.7c.3 4.7.3 9.6.3 14.4 0 146.8-111.8 315.9-316.1 315.9-63 0-121.4-18.3-170.6-49.8 9 1 17.6 1.4 26.8 1.4 52 0 99.8-17.6 137.9-47.4-48.8-1-89.8-33-103.8-77 17.1 2.5 32.5 2.5 50.1-2a111 111 0 0 1-88.9-109v-1.4c14.7 8.3 32 13.4 50.1 14.1a111.13 111.13 0 0 1-49.5-92.4c0-20.7 5.4-39.6 15.1-56a315.28 315.28 0 0 0 229 116.1C492 353.1 548.4 292 616.2 292c32 0 60.8 13.4 81.1 35 25.1-4.7 49.1-14.1 70.5-26.7-8.3 25.7-25.7 47.4-48.8 61.1 22.4-2.4 44-8.6 64-17.3-15.1 22.2-34 41.9-55.7 57.6z'));\nexports.UnlockFill = getIcon('unlock', fill, getNode(newViewBox, 'M832 464H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v68c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-68c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM540 701v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 1 1 56 0z'));\nexports.UpCircleFill = getIcon('up-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm178 555h-46.9c-10.2 0-19.9-4.9-25.9-13.2L512 460.4 406.8 605.8c-6 8.3-15.6 13.2-25.9 13.2H334c-6.5 0-10.3-7.4-6.5-12.7l178-246c3.2-4.4 9.7-4.4 12.9 0l178 246c3.9 5.3.1 12.7-6.4 12.7z'));\nexports.UpSquareFill = getIcon('up-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM690 624h-46.9c-10.2 0-19.9-4.9-25.9-13.2L512 465.4 406.8 610.8c-6 8.3-15.6 13.2-25.9 13.2H334c-6.5 0-10.3-7.4-6.5-12.7l178-246c3.2-4.4 9.7-4.4 12.9 0l178 246c3.9 5.3.1 12.7-6.4 12.7z'));\nexports.UsbFill = getIcon('usb', fill, getNode(newViewBox, 'M408 312h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm352 120V144c0-17.7-14.3-32-32-32H296c-17.7 0-32 14.3-32 32v288c-66.2 0-120 52.1-120 116v356c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8V548c0-63.9-53.8-116-120-116zm-72 0H336V184h352v248zM568 312h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'));\nexports.WalletFill = getIcon('wallet', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-32 464H528V448h320v128zm-268-64a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.VideoCameraFill = getIcon('video-camera', fill, getNode(newViewBox, 'M912 302.3L784 376V224c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v576c0 35.3 28.7 64 64 64h592c35.3 0 64-28.7 64-64V648l128 73.7c21.3 12.3 48-3.1 48-27.6V330c0-24.6-26.7-40-48-27.7zM328 352c0 4.4-3.6 8-8 8H208c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h112c4.4 0 8 3.6 8 8v48zm560 273l-104-59.8V458.9L888 399v226z'));\nexports.WarningFill = getIcon('warning', fill, getNode(newViewBox, 'M955.7 856l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zM480 416c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v184c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V416zm32 352a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.WeiboCircleFill = getIcon('weibo-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-44.4 672C353.1 736 236 680.4 236 588.9c0-47.8 30.2-103.1 82.3-155.3 69.5-69.6 150.6-101.4 181.1-70.8 13.5 13.5 14.8 36.8 6.1 64.6-4.5 14 13.1 6.3 13.1 6.3 56.2-23.6 105.2-25 123.1.7 9.6 13.7 8.6 32.8-.2 55.1-4.1 10.2 1.3 11.8 9 14.1 31.7 9.8 66.9 33.6 66.9 75.5.2 69.5-99.7 156.9-249.8 156.9zm207.3-290.8a34.9 34.9 0 0 0-7.2-34.1 34.68 34.68 0 0 0-33.1-10.7 18.24 18.24 0 0 1-7.6-35.7c24.1-5.1 50.1 2.3 67.7 21.9 17.7 19.6 22.4 46.3 14.9 69.8a18.13 18.13 0 0 1-22.9 11.7 18.18 18.18 0 0 1-11.8-22.9zm106 34.3s0 .1 0 0a21.1 21.1 0 0 1-26.6 13.7 21.19 21.19 0 0 1-13.6-26.7c11-34.2 4-73.2-21.7-101.8a104.04 104.04 0 0 0-98.9-32.1 21.14 21.14 0 0 1-25.1-16.3 21.07 21.07 0 0 1 16.2-25.1c49.4-10.5 102.8 4.8 139.1 45.1 36.3 40.2 46.1 95.1 30.6 143.2zm-334.5 6.1c-91.4 9-160.7 65.1-154.7 125.2 5.9 60.1 84.8 101.5 176.2 92.5 91.4-9.1 160.7-65.1 154.7-125.3-5.9-60.1-84.8-101.5-176.2-92.4zm80.2 141.7c-18.7 42.3-72.3 64.8-117.8 50.1-43.9-14.2-62.5-57.7-43.3-96.8 18.9-38.4 68-60.1 111.5-48.8 45 11.7 68 54.2 49.6 95.5zm-93-32.2c-14.2-5.9-32.4.2-41.2 13.9-8.8 13.8-4.7 30.2 9.3 36.6 14.3 6.5 33.2.3 42-13.8 8.8-14.3 4.2-30.6-10.1-36.7zm34.9-14.5c-5.4-2.2-12.2.5-15.4 5.8-3.1 5.4-1.4 11.5 4.1 13.8 5.5 2.3 12.6-.3 15.8-5.8 3-5.6 1-11.8-4.5-13.8z'));\nexports.WechatFill = getIcon('wechat', fill, getNode(newViewBox, 'M690.1 377.4c5.9 0 11.8.2 17.6.5-24.4-128.7-158.3-227.1-319.9-227.1C209 150.8 64 271.4 64 420.2c0 81.1 43.6 154.2 111.9 203.6a21.5 21.5 0 0 1 9.1 17.6c0 2.4-.5 4.6-1.1 6.9-5.5 20.3-14.2 52.8-14.6 54.3-.7 2.6-1.7 5.2-1.7 7.9 0 5.9 4.8 10.8 10.8 10.8 2.3 0 4.2-.9 6.2-2l70.9-40.9c5.3-3.1 11-5 17.2-5 3.2 0 6.4.5 9.5 1.4 33.1 9.5 68.8 14.8 105.7 14.8 6 0 11.9-.1 17.8-.4-7.1-21-10.9-43.1-10.9-66 0-135.8 132.2-245.8 295.3-245.8zm-194.3-86.5c23.8 0 43.2 19.3 43.2 43.1s-19.3 43.1-43.2 43.1c-23.8 0-43.2-19.3-43.2-43.1s19.4-43.1 43.2-43.1zm-215.9 86.2c-23.8 0-43.2-19.3-43.2-43.1s19.3-43.1 43.2-43.1 43.2 19.3 43.2 43.1-19.4 43.1-43.2 43.1zm586.8 415.6c56.9-41.2 93.2-102 93.2-169.7 0-124-120.8-224.5-269.9-224.5-149 0-269.9 100.5-269.9 224.5S540.9 847.5 690 847.5c30.8 0 60.6-4.4 88.1-12.3 2.6-.8 5.2-1.2 7.9-1.2 5.2 0 9.9 1.6 14.3 4.1l59.1 34c1.7 1 3.3 1.7 5.2 1.7a9 9 0 0 0 6.4-2.6 9 9 0 0 0 2.6-6.4c0-2.2-.9-4.4-1.4-6.6-.3-1.2-7.6-28.3-12.2-45.3-.5-1.9-.9-3.8-.9-5.7.1-5.9 3.1-11.2 7.6-14.5zM600.2 587.2c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9c0 19.8-16.2 35.9-36 35.9zm179.9 0c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9a36.08 36.08 0 0 1-36 35.9z'));\nexports.WindowsFill = getIcon('windows', fill, getNode(newViewBox, 'M523.8 191.4v288.9h382V128.1zm0 642.2l382 62.2v-352h-382zM120.1 480.2H443V201.9l-322.9 53.5zm0 290.4L443 823.2V543.8H120.1z'));\nexports.YahooFill = getIcon('yahoo', fill, getNode(newViewBox, 'M937.3 231H824.7c-15.5 0-27.7 12.6-27.1 28.1l13.1 366h84.4l65.4-366.4c2.7-15.2-7.8-27.7-23.2-27.7zm-77.4 450.4h-14.1c-27.1 0-49.2 22.2-49.2 49.3v14.1c0 27.1 22.2 49.3 49.2 49.3h14.1c27.1 0 49.2-22.2 49.2-49.3v-14.1c0-27.1-22.2-49.3-49.2-49.3zM402.6 231C216.2 231 65 357 65 512.5S216.2 794 402.6 794s337.6-126 337.6-281.5S589.1 231 402.6 231zm225.2 225.2h-65.3L458.9 559.8v65.3h84.4v56.3H318.2v-56.3h84.4v-65.3L242.9 399.9h-37v-56.3h168.5v56.3h-37l93.4 93.5 28.1-28.1V400h168.8v56.2z'));\nexports.WeiboSquareFill = getIcon('weibo-square', fill, getNode(newViewBox, 'M433.6 595.1c-14.2-5.9-32.4.2-41.2 13.9-8.8 13.8-4.7 30.2 9.3 36.6 14.3 6.5 33.2.3 42-13.8 8.8-14.3 4.2-30.6-10.1-36.7zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM467.6 736C353.1 736 236 680.4 236 588.9c0-47.8 30.2-103.1 82.3-155.3 69.5-69.6 150.6-101.4 181.1-70.8 13.5 13.5 14.8 36.8 6.1 64.6-4.5 14 13.1 6.3 13.1 6.3 56.2-23.6 105.2-25 123.1.7 9.6 13.7 8.6 32.8-.2 55.1-4.1 10.2 1.3 11.8 9 14.1 31.7 9.8 66.9 33.6 66.9 75.5.2 69.5-99.7 156.9-249.8 156.9zm207.3-290.8a34.9 34.9 0 0 0-7.2-34.1 34.68 34.68 0 0 0-33.1-10.7 18.24 18.24 0 0 1-7.6-35.7c24.1-5.1 50.1 2.3 67.7 21.9 17.7 19.6 22.4 46.3 14.9 69.8a18.13 18.13 0 0 1-22.9 11.7 18.18 18.18 0 0 1-11.8-22.9zm106 34.3s0 .1 0 0a21.1 21.1 0 0 1-26.6 13.7 21.19 21.19 0 0 1-13.6-26.7c11-34.2 4-73.2-21.7-101.8a104.04 104.04 0 0 0-98.9-32.1 21.14 21.14 0 0 1-25.1-16.3 21.07 21.07 0 0 1 16.2-25.1c49.4-10.5 102.8 4.8 139.1 45.1 36.3 40.2 46.1 95.1 30.6 143.2zm-334.5 6.1c-91.4 9-160.7 65.1-154.7 125.2 5.9 60.1 84.8 101.5 176.2 92.5 91.4-9.1 160.7-65.1 154.7-125.3-5.9-60.1-84.8-101.5-176.2-92.4zm80.2 141.7c-18.7 42.3-72.3 64.8-117.8 50.1-43.9-14.2-62.5-57.7-43.3-96.8 18.9-38.4 68-60.1 111.5-48.8 45 11.7 68 54.2 49.6 95.5zm-58.1-46.7c-5.4-2.2-12.2.5-15.4 5.8-3.1 5.4-1.4 11.5 4.1 13.8 5.5 2.3 12.6-.3 15.8-5.8 3-5.6 1-11.8-4.5-13.8z'));\nexports.YuqueFill = getIcon('yuque', fill, getNode(newViewBox, 'M854.6 370.6c-9.9-39.4 9.9-102.2 73.4-124.4l-67.9-3.6s-25.7-90-143.6-98c-117.9-8.1-195-3-195-3s87.4 55.6 52.4 154.7c-25.6 52.5-65.8 95.6-108.8 144.7-1.3 1.3-2.5 2.6-3.5 3.7C319.4 605 96 860 96 860c245.9 64.4 410.7-6.3 508.2-91.1 20.5-.2 35.9-.3 46.3-.3 135.8 0 250.6-117.6 245.9-248.4-3.2-89.9-31.9-110.2-41.8-149.6z'));\nexports.YoutubeFill = getIcon('youtube', fill, getNode(newViewBox, 'M941.3 296.1a112.3 112.3 0 0 0-79.2-79.3C792.2 198 512 198 512 198s-280.2 0-350.1 18.7A112.12 112.12 0 0 0 82.7 296C64 366 64 512 64 512s0 146 18.7 215.9c10.3 38.6 40.7 69 79.2 79.3C231.8 826 512 826 512 826s280.2 0 350.1-18.8c38.6-10.3 68.9-40.7 79.2-79.3C960 658 960 512 960 512s0-146-18.7-215.9zM423 646V378l232 133-232 135z'));\nexports.ZhihuSquareFill = getIcon('zhihu-square', fill, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM432.3 592.8l71 80.7c9.2 33-3.3 63.1-3.3 63.1l-95.7-111.9v-.1c-8.9 29-20.1 57.3-33.3 84.7-22.6 45.7-55.2 54.7-89.5 57.7-34.4 3-23.3-5.3-23.3-5.3 68-55.5 78-87.8 96.8-123.1 11.9-22.3 20.4-64.3 25.3-96.8H264.1s4.8-31.2 19.2-41.7h101.6c.6-15.3-1.3-102.8-2-131.4h-49.4c-9.2 45-41 56.7-48.1 60.1-7 3.4-23.6 7.1-21.1 0 2.6-7.1 27-46.2 43.2-110.7 16.3-64.6 63.9-62 63.9-62-12.8 22.5-22.4 73.6-22.4 73.6h159.7c10.1 0 10.6 39 10.6 39h-90.8c-.7 22.7-2.8 83.8-5 131.4H519s12.2 15.4 12.2 41.7h-110l-.1 1.5c-1.5 20.4-6.3 43.9-12.9 67.6l24.1-18.1zm335.5 116h-87.6l-69.5 46.6-16.4-46.6h-40.1V321.5h213.6v387.3zM408.2 611s0-.1 0 0zm216 94.3l56.8-38.1h45.6-.1V364.7H596.7v302.5h14.1z'));\nexports.ZhihuCircleFill = getIcon('zhihu-circle', fill, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-90.7 477.8l-.1 1.5c-1.5 20.4-6.3 43.9-12.9 67.6l24-18.1 71 80.7c9.2 33-3.3 63.1-3.3 63.1l-95.7-111.9v-.1c-8.9 29-20.1 57.3-33.3 84.7-22.6 45.7-55.2 54.7-89.5 57.7-34.4 3-23.3-5.3-23.3-5.3 68-55.5 78-87.8 96.8-123.1 11.9-22.3 20.4-64.3 25.3-96.8H264.1s4.8-31.2 19.2-41.7h101.6c.6-15.3-1.3-102.8-2-131.4h-49.4c-9.2 45-41 56.7-48.1 60.1-7 3.4-23.6 7.1-21.1 0 2.6-7.1 27-46.2 43.2-110.7 16.3-64.6 63.9-62 63.9-62-12.8 22.5-22.4 73.6-22.4 73.6h159.7c10.1 0 10.6 39 10.6 39h-90.8c-.7 22.7-2.8 83.8-5 131.4H519s12.2 15.4 12.2 41.7H421.3zm346.5 167h-87.6l-69.5 46.6-16.4-46.6h-40.1V321.5h213.6v387.3zM408.2 611s0-.1 0 0zm216 94.3l56.8-38.1h45.6-.1V364.7H596.7v302.5h14.1z'));\nexports.AccountBookOutline = getIcon('account-book', outline, getNode(newViewBox, 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584zM639.5 414h-45c-3 0-5.8 1.7-7.1 4.4L514 563.8h-2.8l-73.4-145.4a8 8 0 0 0-7.1-4.4h-46c-1.3 0-2.7.3-3.8 1-3.9 2.1-5.3 7-3.2 10.9l89.3 164h-48.6c-4.4 0-8 3.6-8 8v21.3c0 4.4 3.6 8 8 8h65.1v33.7h-65.1c-4.4 0-8 3.6-8 8v21.3c0 4.4 3.6 8 8 8h65.1V752c0 4.4 3.6 8 8 8h41.3c4.4 0 8-3.6 8-8v-53.8h65.4c4.4 0 8-3.6 8-8v-21.3c0-4.4-3.6-8-8-8h-65.4v-33.7h65.4c4.4 0 8-3.6 8-8v-21.3c0-4.4-3.6-8-8-8h-49.1l89.3-164.1c.6-1.2 1-2.5 1-3.8.1-4.4-3.4-8-7.9-8z'));\nexports.AlertOutline = getIcon('alert', outline, getNode(newViewBox, 'M193 796c0 17.7 14.3 32 32 32h574c17.7 0 32-14.3 32-32V563c0-176.2-142.8-319-319-319S193 386.8 193 563v233zm72-233c0-136.4 110.6-247 247-247s247 110.6 247 247v193H404V585c0-5.5-4.5-10-10-10h-44c-5.5 0-10 4.5-10 10v171h-75V563zm-48.1-252.5l39.6-39.6c3.1-3.1 3.1-8.2 0-11.3l-67.9-67.9a8.03 8.03 0 0 0-11.3 0l-39.6 39.6a8.03 8.03 0 0 0 0 11.3l67.9 67.9c3.1 3.1 8.1 3.1 11.3 0zm669.6-79.2l-39.6-39.6a8.03 8.03 0 0 0-11.3 0l-67.9 67.9a8.03 8.03 0 0 0 0 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l67.9-67.9c3.1-3.2 3.1-8.2 0-11.3zM832 892H192c-17.7 0-32 14.3-32 32v24c0 4.4 3.6 8 8 8h688c4.4 0 8-3.6 8-8v-24c0-17.7-14.3-32-32-32zM484 180h56c4.4 0 8-3.6 8-8V76c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v96c0 4.4 3.6 8 8 8z'));\nexports.AlipayCircleOutline = getIcon('alipay-circle', outline, getNode(newViewBox, 'M308.6 545.7c-19.8 2-57.1 10.7-77.4 28.6-61 53-24.5 150 99 150 71.8 0 143.5-45.7 199.8-119-80.2-38.9-148.1-66.8-221.4-59.6zm460.5 67c100.1 33.4 154.7 43 166.7 44.8A445.9 445.9 0 0 0 960 512c0-247.4-200.6-448-448-448S64 264.6 64 512s200.6 448 448 448c155.9 0 293.2-79.7 373.5-200.5-75.6-29.8-213.6-85-286.8-120.1-69.9 85.7-160.1 137.8-253.7 137.8-158.4 0-212.1-138.1-137.2-229 16.3-19.8 44.2-38.7 87.3-49.4 67.5-16.5 175 10.3 275.7 43.4 18.1-33.3 33.4-69.9 44.7-108.9H305.1V402h160v-56.2H271.3v-31.3h193.8v-80.1s0-13.5 13.7-13.5H557v93.6h191.7v31.3H557.1V402h156.4c-15 61.1-37.7 117.4-66.2 166.8 47.5 17.1 90.1 33.3 121.8 43.9z'));\nexports.AliwangwangOutline = getIcon('aliwangwang', outline, getNode(newViewBox, 'M868.2 377.4c-18.9-45.1-46.3-85.6-81.2-120.6a377.26 377.26 0 0 0-120.5-81.2A375.65 375.65 0 0 0 519 145.8c-41.9 0-82.9 6.7-121.9 20C306 123.3 200.8 120 170.6 120c-2.2 0-7.4 0-9.4.2-11.9.4-22.8 6.5-29.2 16.4-6.5 9.9-7.7 22.4-3.4 33.5l64.3 161.6a378.59 378.59 0 0 0-52.8 193.2c0 51.4 10 101 29.8 147.6 18.9 45 46.2 85.6 81.2 120.5 34.7 34.8 75.4 62.1 120.5 81.2C418.3 894 467.9 904 519 904c51.3 0 100.9-10.1 147.7-29.8 44.9-18.9 85.5-46.3 120.4-81.2 34.7-34.8 62.1-75.4 81.2-120.6a376.5 376.5 0 0 0 29.8-147.6c-.2-51.2-10.1-100.8-29.9-147.4zm-66.4 266.5a307.08 307.08 0 0 1-65.9 98c-28.4 28.5-61.3 50.7-97.7 65.9h-.1c-38 16-78.3 24.2-119.9 24.2a306.51 306.51 0 0 1-217.5-90.2c-28.4-28.5-50.6-61.4-65.8-97.8v-.1c-16-37.8-24.1-78.2-24.1-119.9 0-55.4 14.8-109.7 42.8-157l13.2-22.1-9.5-23.9L206 192c14.9.6 35.9 2.1 59.7 5.6 43.8 6.5 82.5 17.5 114.9 32.6l19 8.9 19.9-6.8c31.5-10.8 64.8-16.2 98.9-16.2a306.51 306.51 0 0 1 217.5 90.2c28.4 28.5 50.6 61.4 65.8 97.8l.1.1.1.1c16 37.6 24.1 78 24.2 119.8-.1 41.7-8.3 82-24.3 119.8zM681.1 364.2c-20.4 0-37.1 16.7-37.1 37.1v55.1c0 20.4 16.6 37.1 37.1 37.1s37.1-16.7 37.1-37.1v-55.1c0-20.5-16.7-37.1-37.1-37.1zm-175.2 0c-20.5 0-37.1 16.7-37.1 37.1v55.1c0 20.4 16.7 37.1 37.1 37.1 20.5 0 37.1-16.7 37.1-37.1v-55.1c0-20.5-16.7-37.1-37.1-37.1z'));\nexports.AndroidOutline = getIcon('android', outline, getNode(newViewBox, 'M448.3 225.2c-18.6 0-32 13.4-32 31.9s13.5 31.9 32 31.9c18.6 0 32-13.4 32-31.9.1-18.4-13.4-31.9-32-31.9zm393.9 96.4c-13.8-13.8-32.7-21.5-53.2-21.5-3.9 0-7.4.4-10.7 1v-1h-3.6c-5.5-30.6-18.6-60.5-38.1-87.4-18.7-25.7-43-47.9-70.8-64.9l25.1-35.8v-3.3c0-.8.4-2.3.7-3.8.6-2.4 1.4-5.5 1.4-8.9 0-18.5-13.5-31.9-32-31.9-9.8 0-19.5 5.7-25.9 15.4l-29.3 42.1c-30-9.8-62.4-15-93.8-15-31.3 0-63.7 5.2-93.8 15L389 79.4c-6.6-9.6-16.1-15.4-26-15.4-18.6 0-32 13.4-32 31.9 0 6.2 2.5 12.8 6.7 17.4l22.6 32.3c-28.7 17-53.5 39.4-72.2 65.1-19.4 26.9-32 56.8-36.7 87.4h-5.5v1c-3.2-.6-6.7-1-10.7-1-20.3 0-39.2 7.5-53.1 21.3-13.8 13.8-21.5 32.6-21.5 53v235c0 20.3 7.5 39.1 21.4 52.9 13.8 13.8 32.8 21.5 53.2 21.5 3.9 0 7.4-.4 10.7-1v93.5c0 29.2 23.9 53.1 53.2 53.1H331v58.3c0 20.3 7.5 39.1 21.4 52.9 13.8 13.8 32.8 21.5 53.2 21.5 20.3 0 39.2-7.5 53.1-21.3 13.8-13.8 21.5-32.6 21.5-53v-58.2H544v58.1c0 20.3 7.5 39.1 21.4 52.9 13.8 13.8 32.8 21.5 53.2 21.5 20.4 0 39.2-7.5 53.1-21.6 13.8-13.8 21.5-32.6 21.5-53v-58.2h31.9c29.3 0 53.2-23.8 53.2-53.1v-91.4c3.2.6 6.7 1 10.7 1 20.3 0 39.2-7.5 53.1-21.3 13.8-13.8 21.5-32.6 21.5-53v-235c-.1-20.3-7.6-39-21.4-52.9zM246 609.6c0 6.8-3.9 10.6-10.7 10.6-6.8 0-10.7-3.8-10.7-10.6V374.5c0-6.8 3.9-10.6 10.7-10.6 6.8 0 10.7 3.8 10.7 10.6v235.1zm131.1-396.8c37.5-27.3 85.3-42.3 135-42.3s97.5 15.1 135 42.5c32.4 23.7 54.2 54.2 62.7 87.5H314.4c8.5-33.4 30.5-64 62.7-87.7zm39.3 674.7c-.6 5.6-4.4 8.7-10.5 8.7-6.8 0-10.7-3.8-10.7-10.6v-58.2h21.2v60.1zm202.3 8.7c-6.8 0-10.7-3.8-10.7-10.6v-58.2h21.2v60.1c-.6 5.6-4.3 8.7-10.5 8.7zm95.8-132.6H309.9V364h404.6v399.6zm85.2-154c0 6.8-3.9 10.6-10.7 10.6-6.8 0-10.7-3.8-10.7-10.6V374.5c0-6.8 3.9-10.6 10.7-10.6 6.8 0 10.7 3.8 10.7 10.6v235.1zM576.1 225.2c-18.6 0-32 13.4-32 31.9s13.5 31.9 32 31.9c18.6 0 32.1-13.4 32.1-32-.1-18.6-13.4-31.8-32.1-31.8z'));\nexports.ApiOutline = getIcon('api', outline, getNode(newViewBox, 'M917.7 148.8l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 0 0-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 0 0 0 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM769.1 441.7l-59.4 59.4-186.8-186.8 59.4-59.4c24.9-24.9 58.1-38.7 93.4-38.7 35.3 0 68.4 13.7 93.4 38.7 24.9 24.9 38.7 58.1 38.7 93.4 0 35.3-13.8 68.4-38.7 93.4zm-190.2 105a8.03 8.03 0 0 0-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 0 0-11.3 0L363 475.3l-43-43a7.85 7.85 0 0 0-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2c-68.9 69-77 175.7-24.3 253.5l-76.1 76.1a8.03 8.03 0 0 0 0 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2zM441.7 769.1a131.32 131.32 0 0 1-93.4 38.7c-35.3 0-68.4-13.7-93.4-38.7a131.32 131.32 0 0 1-38.7-93.4c0-35.3 13.7-68.4 38.7-93.4l59.4-59.4 186.8 186.8-59.4 59.4z'));\nexports.AppstoreOutline = getIcon('appstore', outline, getNode(newViewBox, 'M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zM464 544H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H212V612h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200z'));\nexports.AudioOutline = getIcon('audio', outline, getNode(newViewBox, 'M842 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 140.3-113.7 254-254 254S258 594.3 258 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 168.7 126.6 307.9 290 327.6V884H326.7c-13.7 0-24.7 14.3-24.7 32v36c0 4.4 2.8 8 6.2 8h407.6c3.4 0 6.2-3.6 6.2-8v-36c0-17.7-11-32-24.7-32H548V782.1c165.3-18 294-158 294-328.1zM512 624c93.9 0 170-75.2 170-168V232c0-92.8-76.1-168-170-168s-170 75.2-170 168v224c0 92.8 76.1 168 170 168zm-94-392c0-50.6 41.9-92 94-92s94 41.4 94 92v224c0 50.6-41.9 92-94 92s-94-41.4-94-92V232z'));\nexports.AppleOutline = getIcon('apple', outline, getNode(newViewBox, 'M747.4 535.7c-.4-68.2 30.5-119.6 92.9-157.5-34.9-50-87.7-77.5-157.3-82.8-65.9-5.2-138 38.4-164.4 38.4-27.9 0-91.7-36.6-141.9-36.6C273.1 298.8 163 379.8 163 544.6c0 48.7 8.9 99 26.7 150.8 23.8 68.2 109.6 235.3 199.1 232.6 46.8-1.1 79.9-33.2 140.8-33.2 59.1 0 89.7 33.2 141.9 33.2 90.3-1.3 167.9-153.2 190.5-221.6-121.1-57.1-114.6-167.2-114.6-170.7zm-10.6 267c-14.3 19.9-28.7 35.6-41.9 45.7-10.5 8-18.6 11.4-24 11.6-9-.1-17.7-2.3-34.7-8.8-1.2-.5-2.5-1-4.2-1.6l-4.4-1.7c-17.4-6.7-27.8-10.3-41.1-13.8-18.6-4.8-37.1-7.4-56.9-7.4-20.2 0-39.2 2.5-58.1 7.2-13.9 3.5-25.6 7.4-42.7 13.8-.7.3-8.1 3.1-10.2 3.9-3.5 1.3-6.2 2.3-8.7 3.2-10.4 3.6-17 5.1-22.9 5.2-.7 0-1.3-.1-1.8-.2-1.1-.2-2.5-.6-4.1-1.3-4.5-1.8-9.9-5.1-16-9.8-14-10.9-29.4-28-45.1-49.9-27.5-38.6-53.5-89.8-66-125.7-15.4-44.8-23-87.7-23-128.6 0-60.2 17.8-106 48.4-137.1 26.3-26.6 61.7-41.5 97.8-42.3 5.9.1 14.5 1.5 25.4 4.5 8.6 2.3 18 5.4 30.7 9.9 3.8 1.4 16.9 6.1 18.5 6.7 7.7 2.8 13.5 4.8 19.2 6.6 18.2 5.8 32.3 9 47.6 9 15.5 0 28.8-3.3 47.7-9.8 7.1-2.4 32.9-12 37.5-13.6 25.6-9.1 44.5-14 60.8-15.2 4.8-.4 9.1-.4 13.2-.1 22.7 1.8 42.1 6.3 58.6 13.8-37.6 43.4-57 96.5-56.9 158.4-.3 14.7.9 31.7 5.1 51.8 6.4 30.5 18.6 60.7 37.9 89 14.7 21.5 32.9 40.9 54.7 57.8-11.5 23.7-25.6 48.2-40.4 68.8zm-94.5-572c50.7-60.2 46.1-115 44.6-134.7-44.8 2.6-96.6 30.5-126.1 64.8-32.5 36.8-51.6 82.3-47.5 133.6 48.4 3.7 92.6-21.2 129-63.7z'));\nexports.BackwardOutline = getIcon('backward', outline, getNode(normalViewBox, 'M485.6 249.9L198.2 498c-8.3 7.1-8.3 20.8 0 27.9l287.4 248.2c10.7 9.2 26.4.9 26.4-14V263.8c0-14.8-15.7-23.2-26.4-13.9zm320 0L518.2 498a18.6 18.6 0 0 0-6.2 14c0 5.2 2.1 10.4 6.2 14l287.4 248.2c10.7 9.2 26.4.9 26.4-14V263.8c0-14.8-15.7-23.2-26.4-13.9z'));\nexports.BankOutline = getIcon('bank', outline, getNode(newViewBox, 'M894 462c30.9 0 43.8-39.7 18.7-58L530.8 126.2a31.81 31.81 0 0 0-37.6 0L111.3 404c-25.1 18.2-12.2 58 18.8 58H192v374h-72c-4.4 0-8 3.6-8 8v52c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-52c0-4.4-3.6-8-8-8h-72V462h62zM512 196.7l271.1 197.2H240.9L512 196.7zM264 462h117v374H264V462zm189 0h117v374H453V462zm307 374H642V462h118v374z'));\nexports.BellOutline = getIcon('bell', outline, getNode(newViewBox, 'M816 768h-24V428c0-141.1-104.3-257.7-240-277.1V112c0-22.1-17.9-40-40-40s-40 17.9-40 40v38.9c-135.7 19.4-240 136-240 277.1v340h-24c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h216c0 61.8 50.2 112 112 112s112-50.2 112-112h216c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM512 888c-26.5 0-48-21.5-48-48h96c0 26.5-21.5 48-48 48zM304 768V428c0-55.6 21.6-107.8 60.9-147.1S456.4 220 512 220c55.6 0 107.8 21.6 147.1 60.9S720 372.4 720 428v340H304z'));\nexports.BehanceSquareOutline = getIcon('behance-square', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM598.5 350.9h138.4v33.7H598.5v-33.7zM512 628.8a89.52 89.52 0 0 1-27 31c-11.8 8.2-24.9 14.2-38.8 17.7a167.4 167.4 0 0 1-44.6 5.7H236V342.1h161c16.3 0 31.1 1.5 44.6 4.3 13.4 2.8 24.8 7.6 34.4 14.1 9.5 6.5 17 15.2 22.3 26 5.2 10.7 7.9 24.1 7.9 40 0 17.2-3.9 31.4-11.7 42.9-7.9 11.5-19.3 20.8-34.8 28.1 21.1 6 36.6 16.7 46.8 31.7 10.4 15.2 15.5 33.4 15.5 54.8 0 17.4-3.3 32.3-10 44.8zM790.8 576H612.4c0 19.4 6.7 38 16.8 48 10.2 9.9 24.8 14.9 43.9 14.9 13.8 0 25.5-3.5 35.5-10.4 9.9-6.9 15.9-14.2 18.1-21.8h59.8c-9.6 29.7-24.2 50.9-44 63.7-19.6 12.8-43.6 19.2-71.5 19.2-19.5 0-37-3.2-52.7-9.3-15.1-5.9-28.7-14.9-39.9-26.5a121.2 121.2 0 0 1-25.1-41.2c-6.1-16.9-9.1-34.7-8.9-52.6 0-18.5 3.1-35.7 9.1-51.7 11.5-31.1 35.4-56 65.9-68.9 16.3-6.8 33.8-10.2 51.5-10 21 0 39.2 4 55 12.2a111.6 111.6 0 0 1 38.6 32.8c10.1 13.7 17.2 29.3 21.7 46.9 4.3 17.3 5.8 35.5 4.6 54.7zm-122-95.6c-10.8 0-19.9 1.9-26.9 5.6-7 3.7-12.8 8.3-17.2 13.6a48.4 48.4 0 0 0-9.1 17.4c-1.6 5.3-2.7 10.7-3.1 16.2H723c-1.6-17.3-7.6-30.1-15.6-39.1-8.4-8.9-21.9-13.7-38.6-13.7zm-248.5-10.1c8.7-6.3 12.9-16.7 12.9-31 .3-6.8-1.1-13.5-4.1-19.6-2.7-4.9-6.7-9-11.6-11.9a44.8 44.8 0 0 0-16.6-6c-6.4-1.2-12.9-1.8-19.3-1.7h-70.3v79.7h76.1c13.1.1 24.2-3.1 32.9-9.5zm11.8 72c-9.8-7.5-22.9-11.2-39.2-11.2h-81.8v94h80.2c7.5 0 14.4-.7 21.1-2.1s12.7-3.8 17.8-7.2c5.1-3.3 9.2-7.8 12.3-13.6 3-5.8 4.5-13.2 4.5-22.1 0-17.7-5-30.2-14.9-37.8z'));\nexports.BookOutline = getIcon('book', outline, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-260 72h96v209.9L621.5 312 572 347.4V136zm220 752H232V136h280v296.9c0 3.3 1 6.6 3 9.3a15.9 15.9 0 0 0 22.3 3.7l83.8-59.9 81.4 59.4c2.7 2 6 3.1 9.4 3.1 8.8 0 16-7.2 16-16V136h64v752z'));\nexports.BoxPlotOutline = getIcon('box-plot', outline, getNode(newViewBox, 'M952 224h-52c-4.4 0-8 3.6-8 8v248h-92V304c0-4.4-3.6-8-8-8H232c-4.4 0-8 3.6-8 8v176h-92V232c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V548h92v172c0 4.4 3.6 8 8 8h560c4.4 0 8-3.6 8-8V548h92v244c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zM296 368h88v288h-88V368zm432 288H448V368h280v288z'));\nexports.BulbOutline = getIcon('bulb', outline, getNode(newViewBox, 'M632 888H392c-4.4 0-8 3.6-8 8v32c0 17.7 14.3 32 32 32h192c17.7 0 32-14.3 32-32v-32c0-4.4-3.6-8-8-8zM512 64c-181.1 0-328 146.9-328 328 0 121.4 66 227.4 164 284.1V792c0 17.7 14.3 32 32 32h264c17.7 0 32-14.3 32-32V676.1c98-56.7 164-162.7 164-284.1 0-181.1-146.9-328-328-328zm127.9 549.8L604 634.6V752H420V634.6l-35.9-20.8C305.4 568.3 256 484.5 256 392c0-141.4 114.6-256 256-256s256 114.6 256 256c0 92.5-49.4 176.3-128.1 221.8z'));\nexports.BugOutline = getIcon('bug', outline, getNode(newViewBox, 'M304 280h56c4.4 0 8-3.6 8-8 0-28.3 5.9-53.2 17.1-73.5 10.6-19.4 26-34.8 45.4-45.4C450.9 142 475.7 136 504 136h16c28.3 0 53.2 5.9 73.5 17.1 19.4 10.6 34.8 26 45.4 45.4C650 218.9 656 243.7 656 272c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-40-8.8-76.7-25.9-108.1a184.31 184.31 0 0 0-74-74C596.7 72.8 560 64 520 64h-16c-40 0-76.7 8.8-108.1 25.9a184.31 184.31 0 0 0-74 74C304.8 195.3 296 232 296 272c0 4.4 3.6 8 8 8z', 'M940 512H792V412c76.8 0 139-62.2 139-139 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8a63 63 0 0 1-63 63H232a63 63 0 0 1-63-63c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 76.8 62.2 139 139 139v100H84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h148v96c0 6.5.2 13 .7 19.3C164.1 728.6 116 796.7 116 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-44.2 23.9-82.9 59.6-103.7a273 273 0 0 0 22.7 49c24.3 41.5 59 76.2 100.5 100.5S460.5 960 512 960s99.8-13.9 141.3-38.2a281.38 281.38 0 0 0 123.2-149.5A120 120 0 0 1 836 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-79.3-48.1-147.4-116.7-176.7.4-6.4.7-12.8.7-19.3v-96h148c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM716 680c0 36.8-9.7 72-27.8 102.9-17.7 30.3-43 55.6-73.3 73.3C584 874.3 548.8 884 512 884s-72-9.7-102.9-27.8c-30.3-17.7-55.6-43-73.3-73.3A202.75 202.75 0 0 1 308 680V412h408v268z'));\nexports.CalculatorOutline = getIcon('calculator', outline, getNode(newViewBox, 'M251.2 387H320v68.8c0 1.8 1.8 3.2 4 3.2h48c2.2 0 4-1.4 4-3.3V387h68.8c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H376v-68.8c0-1.8-1.8-3.2-4-3.2h-48c-2.2 0-4 1.4-4 3.2V331h-68.8c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm328 0h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0 265h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0 104h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm-195.7-81l61.2-74.9c4.3-5.2.7-13.1-5.9-13.1H388c-2.3 0-4.5 1-5.9 2.9l-34 41.6-34-41.6a7.85 7.85 0 0 0-5.9-2.9h-50.9c-6.6 0-10.2 7.9-5.9 13.1l61.2 74.9-62.7 76.8c-4.4 5.2-.8 13.1 5.8 13.1h50.8c2.3 0 4.5-1 5.9-2.9l35.5-43.5 35.5 43.5c1.5 1.8 3.7 2.9 5.9 2.9h50.8c6.6 0 10.2-7.9 5.9-13.1L383.5 675zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-36 732H180V180h664v664z'));\nexports.BuildOutline = getIcon('build', outline, getNode(newViewBox, 'M916 210H376c-17.7 0-32 14.3-32 32v236H108c-17.7 0-32 14.3-32 32v272c0 17.7 14.3 32 32 32h540c17.7 0 32-14.3 32-32V546h236c17.7 0 32-14.3 32-32V242c0-17.7-14.3-32-32-32zm-504 68h200v200H412V278zm-68 468H144V546h200v200zm268 0H412V546h200v200zm268-268H680V278h200v200z'));\nexports.CalendarOutline = getIcon('calendar', outline, getNode(newViewBox, 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zM184 392V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136H184z'));\nexports.CameraOutline = getIcon('camera', outline, getNode(newViewBox, 'M864 248H728l-32.4-90.8a32.07 32.07 0 0 0-30.2-21.2H358.6c-13.5 0-25.6 8.5-30.1 21.2L296 248H160c-44.2 0-80 35.8-80 80v456c0 44.2 35.8 80 80 80h704c44.2 0 80-35.8 80-80V328c0-44.2-35.8-80-80-80zm8 536c0 4.4-3.6 8-8 8H160c-4.4 0-8-3.6-8-8V328c0-4.4 3.6-8 8-8h186.7l17.1-47.8 22.9-64.2h250.5l22.9 64.2 17.1 47.8H864c4.4 0 8 3.6 8 8v456zM512 384c-88.4 0-160 71.6-160 160s71.6 160 160 160 160-71.6 160-160-71.6-160-160-160zm0 256c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z'));\nexports.CarOutline = getIcon('car', outline, getNode(newViewBox, 'M380 704h264c4.4 0 8-3.6 8-8v-84c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v36H428v-36c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v84c0 4.4 3.6 8 8 8zm340-123a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm239-167.6L935.3 372a8 8 0 0 0-10.9-2.9l-50.7 29.6-78.3-216.2a63.9 63.9 0 0 0-60.9-44.4H301.2c-34.7 0-65.5 22.4-76.2 55.5l-74.6 205.2-50.8-29.6a8 8 0 0 0-10.9 2.9L65 413.4c-2.2 3.8-.9 8.6 2.9 10.8l60.4 35.2-14.5 40c-1.2 3.2-1.8 6.6-1.8 10v348.2c0 15.7 11.8 28.4 26.3 28.4h67.6c12.3 0 23-9.3 25.6-22.3l7.7-37.7h545.6l7.7 37.7c2.7 13 13.3 22.3 25.6 22.3h67.6c14.5 0 26.3-12.7 26.3-28.4V509.4c0-3.4-.6-6.8-1.8-10l-14.5-40 60.3-35.2a8 8 0 0 0 3-10.8zM840 517v237H184V517l15.6-43h624.8l15.6 43zM292.7 218.1l.5-1.3.4-1.3c1.1-3.3 4.1-5.5 7.6-5.5h427.6l75.4 208H220l72.7-199.9zM224 581a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.CaretDownOutline = getIcon('caret-down', outline, getNode(normalViewBox, 'M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z'));\nexports.CaretLeftOutline = getIcon('caret-left', outline, getNode(normalViewBox, 'M689 165.1L308.2 493.5c-10.9 9.4-10.9 27.5 0 37L689 858.9c14.2 12.2 35 1.2 35-18.5V183.6c0-19.7-20.8-30.7-35-18.5z'));\nexports.CaretRightOutline = getIcon('caret-right', outline, getNode(normalViewBox, 'M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z'));\nexports.CarryOutOutline = getIcon('carry-out', outline, getNode(newViewBox, 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584zM688 420h-55.2c-5.1 0-10 2.5-13 6.6L468.9 634.4l-64.7-89c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0 0 26 0l212.6-292.7c3.8-5.4 0-12.8-6.5-12.8z'));\nexports.CheckCircleOutline = getIcon('check-circle', outline, getNode(newViewBox, 'M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0 0 51.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z', 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.CaretUpOutline = getIcon('caret-up', outline, getNode(normalViewBox, 'M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z'));\nexports.CheckSquareOutline = getIcon('check-square', outline, getNode(newViewBox, 'M433.1 657.7a31.8 31.8 0 0 0 51.7 0l210.6-292c3.8-5.3 0-12.7-6.5-12.7H642c-10.2 0-19.9 4.9-25.9 13.3L459 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H315c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.ChromeOutline = getIcon('chrome', outline, getNode(newViewBox, 'M928 512.3v-.3c0-229.8-186.2-416-416-416S96 282.2 96 512v.4c0 229.8 186.2 416 416 416s416-186.2 416-416v-.3.2zm-6.7-74.6l.6 3.3-.6-3.3zM676.7 638.2c53.5-82.2 52.5-189.4-11.1-263.7l162.4-8.4c20.5 44.4 32 93.8 32 145.9 0 185.2-144.6 336.6-327.1 347.4l143.8-221.2zM512 652.3c-77.5 0-140.2-62.7-140.2-140.2 0-77.7 62.7-140.2 140.2-140.2S652.2 434.5 652.2 512 589.5 652.3 512 652.3zm369.2-331.7l-3-5.7 3 5.7zM512 164c121.3 0 228.2 62.1 290.4 156.2l-263.6-13.9c-97.5-5.7-190.2 49.2-222.3 141.1L227.8 311c63.1-88.9 166.9-147 284.2-147zM102.5 585.8c26 145 127.1 264 261.6 315.1C229.6 850 128.5 731 102.5 585.8zM164 512c0-55.9 13.2-108.7 36.6-155.5l119.7 235.4c44.1 86.7 137.4 139.7 234 121.6l-74 145.1C302.9 842.5 164 693.5 164 512zm324.7 415.4c4 .2 8 .4 12 .5-4-.2-8-.3-12-.5z'));\nexports.ClockCircleOutline = getIcon('clock-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z', 'M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z'));\nexports.CloseCircleOutline = getIcon('close-circle', outline, getNode(newViewBox, 'M685.4 354.8c0-4.4-3.6-8-8-8l-66 .3L512 465.6l-99.3-118.4-66.1-.3c-4.4 0-8 3.5-8 8 0 1.9.7 3.7 1.9 5.2l130.1 155L340.5 670a8.32 8.32 0 0 0-1.9 5.2c0 4.4 3.6 8 8 8l66.1-.3L512 564.4l99.3 118.4 66 .3c4.4 0 8-3.5 8-8 0-1.9-.7-3.7-1.9-5.2L553.5 515l130.1-155c1.2-1.4 1.8-3.3 1.8-5.2z', 'M512 65C264.6 65 64 265.6 64 513s200.6 448 448 448 448-200.6 448-448S759.4 65 512 65zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.CloudOutline = getIcon('cloud', outline, getNode(newViewBox, 'M811.4 418.7C765.6 297.9 648.9 212 512.2 212S258.8 297.8 213 418.6C127.3 441.1 64 519.1 64 612c0 110.5 89.5 200 199.9 200h496.2C870.5 812 960 722.5 960 612c0-92.7-63.1-170.7-148.6-193.3zm36.3 281a123.07 123.07 0 0 1-87.6 36.3H263.9c-33.1 0-64.2-12.9-87.6-36.3A123.3 123.3 0 0 1 140 612c0-28 9.1-54.3 26.2-76.3a125.7 125.7 0 0 1 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0 1 52.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10c54.3 14.5 92.1 63.8 92.1 120 0 33.1-12.9 64.3-36.3 87.7z'));\nexports.CloseSquareOutline = getIcon('close-square', outline, getNode(newViewBox, 'M354 671h58.9c4.7 0 9.2-2.1 12.3-5.7L512 561.8l86.8 103.5c3 3.6 7.5 5.7 12.3 5.7H670c6.8 0 10.5-7.9 6.1-13.1L553.8 512l122.4-145.9c4.4-5.2.7-13.1-6.1-13.1h-58.9c-4.7 0-9.2 2.1-12.3 5.7L512 462.2l-86.8-103.5c-3-3.6-7.5-5.7-12.3-5.7H354c-6.8 0-10.5 7.9-6.1 13.1L470.2 512 347.9 657.9A7.95 7.95 0 0 0 354 671z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.CodeOutline = getIcon('code', outline, getNode(newViewBox, 'M516 673c0 4.4 3.4 8 7.5 8h185c4.1 0 7.5-3.6 7.5-8v-48c0-4.4-3.4-8-7.5-8h-185c-4.1 0-7.5 3.6-7.5 8v48zm-194.9 6.1l192-161c3.8-3.2 3.8-9.1 0-12.3l-192-160.9A7.95 7.95 0 0 0 308 351v62.7c0 2.4 1 4.6 2.9 6.1L420.7 512l-109.8 92.2a8.1 8.1 0 0 0-2.9 6.1V673c0 6.8 7.9 10.5 13.1 6.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.CodepenCircleOutline = getIcon('codepen-circle', outline, getNode(newViewBox, 'M488.1 414.7V303.4L300.9 428l83.6 55.8zm254.1 137.7v-79.8l-59.8 39.9zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm278 533c0 1.1-.1 2.1-.2 3.1 0 .4-.1.7-.2 1a14.16 14.16 0 0 1-.8 3.2c-.2.6-.4 1.2-.6 1.7-.2.4-.4.8-.5 1.2-.3.5-.5 1.1-.8 1.6-.2.4-.4.7-.7 1.1-.3.5-.7 1-1 1.5-.3.4-.5.7-.8 1-.4.4-.8.9-1.2 1.3-.3.3-.6.6-1 .9-.4.4-.9.8-1.4 1.1-.4.3-.7.6-1.1.8-.1.1-.3.2-.4.3L525.2 786c-4 2.7-8.6 4-13.2 4-4.7 0-9.3-1.4-13.3-4L244.6 616.9c-.1-.1-.3-.2-.4-.3l-1.1-.8c-.5-.4-.9-.7-1.3-1.1-.3-.3-.6-.6-1-.9-.4-.4-.8-.8-1.2-1.3a7 7 0 0 1-.8-1c-.4-.5-.7-1-1-1.5-.2-.4-.5-.7-.7-1.1-.3-.5-.6-1.1-.8-1.6-.2-.4-.4-.8-.5-1.2-.2-.6-.4-1.2-.6-1.7-.1-.4-.3-.8-.4-1.2-.2-.7-.3-1.3-.4-2-.1-.3-.1-.7-.2-1-.1-1-.2-2.1-.2-3.1V427.9c0-1 .1-2.1.2-3.1.1-.3.1-.7.2-1a14.16 14.16 0 0 1 .8-3.2c.2-.6.4-1.2.6-1.7.2-.4.4-.8.5-1.2.2-.5.5-1.1.8-1.6.2-.4.4-.7.7-1.1.6-.9 1.2-1.7 1.8-2.5.4-.4.8-.9 1.2-1.3.3-.3.6-.6 1-.9.4-.4.9-.8 1.3-1.1.4-.3.7-.6 1.1-.8.1-.1.3-.2.4-.3L498.7 239c8-5.3 18.5-5.3 26.5 0l254.1 169.1c.1.1.3.2.4.3l1.1.8 1.4 1.1c.3.3.6.6 1 .9.4.4.8.8 1.2 1.3.7.8 1.3 1.6 1.8 2.5.2.4.5.7.7 1.1.3.5.6 1 .8 1.6.2.4.4.8.5 1.2.2.6.4 1.2.6 1.7.1.4.3.8.4 1.2.2.7.3 1.3.4 2 .1.3.1.7.2 1 .1 1 .2 2.1.2 3.1V597zm-254.1 13.3v111.3L723.1 597l-83.6-55.8zM281.8 472.6v79.8l59.8-39.9zM512 456.1l-84.5 56.4 84.5 56.4 84.5-56.4zM723.1 428L535.9 303.4v111.3l103.6 69.1zM384.5 541.2L300.9 597l187.2 124.6V610.3l-103.6-69.1z'));\nexports.CompassOutline = getIcon('compass', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm198.4-588.1a32 32 0 0 0-24.5.5L414.9 415 296.4 686c-3.6 8.2-3.6 17.5 0 25.7 3.4 7.8 9.7 13.9 17.7 17 3.8 1.5 7.7 2.2 11.7 2.2 4.4 0 8.7-.9 12.8-2.7l271-118.6 118.5-271a32.06 32.06 0 0 0-17.7-42.7zM576.8 534.4l26.2 26.2-42.4 42.4-26.2-26.2L380 644.4 447.5 490 422 464.4l42.4-42.4 25.5 25.5L644.4 380l-67.6 154.4zM464.4 422L422 464.4l25.5 25.6 86.9 86.8 26.2 26.2 42.4-42.4-26.2-26.2-86.8-86.9z'));\nexports.ContactsOutline = getIcon('contacts', outline, getNode(newViewBox, 'M594.3 601.5a111.8 111.8 0 0 0 29.1-75.5c0-61.9-49.9-112-111.4-112s-111.4 50.1-111.4 112c0 29.1 11 55.5 29.1 75.5a158.09 158.09 0 0 0-74.6 126.1 8 8 0 0 0 8 8.4H407c4.2 0 7.6-3.3 7.9-7.5 3.8-50.6 46-90.5 97.2-90.5s93.4 40 97.2 90.5c.3 4.2 3.7 7.5 7.9 7.5H661a8 8 0 0 0 8-8.4c-2.8-53.3-32-99.7-74.7-126.1zM512 578c-28.5 0-51.7-23.3-51.7-52s23.2-52 51.7-52 51.7 23.3 51.7 52-23.2 52-51.7 52zm416-354H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zm-40 568H136V296h120v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h120v496z'));\nexports.ContainerOutline = getIcon('container', outline, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V687h97.9c11.6 32.8 32 62.3 59.1 84.7 34.5 28.5 78.2 44.3 123 44.3s88.5-15.7 123-44.3c27.1-22.4 47.5-51.9 59.1-84.7H792v-63H643.6l-5.2 24.7C626.4 708.5 573.2 752 512 752s-114.4-43.5-126.5-103.3l-5.2-24.7H232V136h560v752zM320 341h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0 160h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'));\nexports.ControlOutline = getIcon('control', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM340 683v77c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-77c-10.1 3.3-20.8 5-32 5s-21.9-1.8-32-5zm64-198V264c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v221c10.1-3.3 20.8-5 32-5s21.9 1.8 32 5zm-64 198c10.1 3.3 20.8 5 32 5s21.9-1.8 32-5c41.8-13.5 72-52.7 72-99s-30.2-85.5-72-99c-10.1-3.3-20.8-5-32-5s-21.9 1.8-32 5c-41.8 13.5-72 52.7-72 99s30.2 85.5 72 99zm.1-115.7c.3-.6.7-1.2 1-1.8v-.1l1.2-1.8c.1-.2.2-.3.3-.5.3-.5.7-.9 1-1.4.1-.1.2-.3.3-.4.5-.6.9-1.1 1.4-1.6l.3-.3 1.2-1.2.4-.4c.5-.5 1-.9 1.6-1.4.6-.5 1.1-.9 1.7-1.3.2-.1.3-.2.5-.3.5-.3.9-.7 1.4-1 .1-.1.3-.2.4-.3.6-.4 1.2-.7 1.9-1.1.1-.1.3-.1.4-.2.5-.3 1-.5 1.6-.8l.6-.3c.7-.3 1.3-.6 2-.8.7-.3 1.4-.5 2.1-.7.2-.1.4-.1.6-.2.6-.2 1.1-.3 1.7-.4.2 0 .3-.1.5-.1.7-.2 1.5-.3 2.2-.4.2 0 .3 0 .5-.1.6-.1 1.2-.1 1.8-.2h.6c.8 0 1.5-.1 2.3-.1s1.5 0 2.3.1h.6c.6 0 1.2.1 1.8.2.2 0 .3 0 .5.1.7.1 1.5.2 2.2.4.2 0 .3.1.5.1.6.1 1.2.3 1.7.4.2.1.4.1.6.2.7.2 1.4.4 2.1.7.7.2 1.3.5 2 .8l.6.3c.5.2 1.1.5 1.6.8.1.1.3.1.4.2.6.3 1.3.7 1.9 1.1.1.1.3.2.4.3.5.3 1 .6 1.4 1 .2.1.3.2.5.3.6.4 1.2.9 1.7 1.3s1.1.9 1.6 1.4l.4.4 1.2 1.2.3.3c.5.5 1 1.1 1.4 1.6.1.1.2.3.3.4.4.4.7.9 1 1.4.1.2.2.3.3.5l1.2 1.8s0 .1.1.1a36.18 36.18 0 0 1 5.1 18.5c0 6-1.5 11.7-4.1 16.7-.3.6-.7 1.2-1 1.8 0 0 0 .1-.1.1l-1.2 1.8c-.1.2-.2.3-.3.5-.3.5-.7.9-1 1.4-.1.1-.2.3-.3.4-.5.6-.9 1.1-1.4 1.6l-.3.3-1.2 1.2-.4.4c-.5.5-1 .9-1.6 1.4-.6.5-1.1.9-1.7 1.3-.2.1-.3.2-.5.3-.5.3-.9.7-1.4 1-.1.1-.3.2-.4.3-.6.4-1.2.7-1.9 1.1-.1.1-.3.1-.4.2-.5.3-1 .5-1.6.8l-.6.3c-.7.3-1.3.6-2 .8-.7.3-1.4.5-2.1.7-.2.1-.4.1-.6.2-.6.2-1.1.3-1.7.4-.2 0-.3.1-.5.1-.7.2-1.5.3-2.2.4-.2 0-.3 0-.5.1-.6.1-1.2.1-1.8.2h-.6c-.8 0-1.5.1-2.3.1s-1.5 0-2.3-.1h-.6c-.6 0-1.2-.1-1.8-.2-.2 0-.3 0-.5-.1-.7-.1-1.5-.2-2.2-.4-.2 0-.3-.1-.5-.1-.6-.1-1.2-.3-1.7-.4-.2-.1-.4-.1-.6-.2-.7-.2-1.4-.4-2.1-.7-.7-.2-1.3-.5-2-.8l-.6-.3c-.5-.2-1.1-.5-1.6-.8-.1-.1-.3-.1-.4-.2-.6-.3-1.3-.7-1.9-1.1-.1-.1-.3-.2-.4-.3-.5-.3-1-.6-1.4-1-.2-.1-.3-.2-.5-.3-.6-.4-1.2-.9-1.7-1.3s-1.1-.9-1.6-1.4l-.4-.4-1.2-1.2-.3-.3c-.5-.5-1-1.1-1.4-1.6-.1-.1-.2-.3-.3-.4-.4-.4-.7-.9-1-1.4-.1-.2-.2-.3-.3-.5l-1.2-1.8v-.1c-.4-.6-.7-1.2-1-1.8-2.6-5-4.1-10.7-4.1-16.7s1.5-11.7 4.1-16.7zM620 539v221c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V539c-10.1 3.3-20.8 5-32 5s-21.9-1.8-32-5zm64-198v-77c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v77c10.1-3.3 20.8-5 32-5s21.9 1.8 32 5zm-64 198c10.1 3.3 20.8 5 32 5s21.9-1.8 32-5c41.8-13.5 72-52.7 72-99s-30.2-85.5-72-99c-10.1-3.3-20.8-5-32-5s-21.9 1.8-32 5c-41.8 13.5-72 52.7-72 99s30.2 85.5 72 99zm.1-115.7c.3-.6.7-1.2 1-1.8v-.1l1.2-1.8c.1-.2.2-.3.3-.5.3-.5.7-.9 1-1.4.1-.1.2-.3.3-.4.5-.6.9-1.1 1.4-1.6l.3-.3 1.2-1.2.4-.4c.5-.5 1-.9 1.6-1.4.6-.5 1.1-.9 1.7-1.3.2-.1.3-.2.5-.3.5-.3.9-.7 1.4-1 .1-.1.3-.2.4-.3.6-.4 1.2-.7 1.9-1.1.1-.1.3-.1.4-.2.5-.3 1-.5 1.6-.8l.6-.3c.7-.3 1.3-.6 2-.8.7-.3 1.4-.5 2.1-.7.2-.1.4-.1.6-.2.6-.2 1.1-.3 1.7-.4.2 0 .3-.1.5-.1.7-.2 1.5-.3 2.2-.4.2 0 .3 0 .5-.1.6-.1 1.2-.1 1.8-.2h.6c.8 0 1.5-.1 2.3-.1s1.5 0 2.3.1h.6c.6 0 1.2.1 1.8.2.2 0 .3 0 .5.1.7.1 1.5.2 2.2.4.2 0 .3.1.5.1.6.1 1.2.3 1.7.4.2.1.4.1.6.2.7.2 1.4.4 2.1.7.7.2 1.3.5 2 .8l.6.3c.5.2 1.1.5 1.6.8.1.1.3.1.4.2.6.3 1.3.7 1.9 1.1.1.1.3.2.4.3.5.3 1 .6 1.4 1 .2.1.3.2.5.3.6.4 1.2.9 1.7 1.3s1.1.9 1.6 1.4l.4.4 1.2 1.2.3.3c.5.5 1 1.1 1.4 1.6.1.1.2.3.3.4.4.4.7.9 1 1.4.1.2.2.3.3.5l1.2 1.8v.1a36.18 36.18 0 0 1 5.1 18.5c0 6-1.5 11.7-4.1 16.7-.3.6-.7 1.2-1 1.8v.1l-1.2 1.8c-.1.2-.2.3-.3.5-.3.5-.7.9-1 1.4-.1.1-.2.3-.3.4-.5.6-.9 1.1-1.4 1.6l-.3.3-1.2 1.2-.4.4c-.5.5-1 .9-1.6 1.4-.6.5-1.1.9-1.7 1.3-.2.1-.3.2-.5.3-.5.3-.9.7-1.4 1-.1.1-.3.2-.4.3-.6.4-1.2.7-1.9 1.1-.1.1-.3.1-.4.2-.5.3-1 .5-1.6.8l-.6.3c-.7.3-1.3.6-2 .8-.7.3-1.4.5-2.1.7-.2.1-.4.1-.6.2-.6.2-1.1.3-1.7.4-.2 0-.3.1-.5.1-.7.2-1.5.3-2.2.4-.2 0-.3 0-.5.1-.6.1-1.2.1-1.8.2h-.6c-.8 0-1.5.1-2.3.1s-1.5 0-2.3-.1h-.6c-.6 0-1.2-.1-1.8-.2-.2 0-.3 0-.5-.1-.7-.1-1.5-.2-2.2-.4-.2 0-.3-.1-.5-.1-.6-.1-1.2-.3-1.7-.4-.2-.1-.4-.1-.6-.2-.7-.2-1.4-.4-2.1-.7-.7-.2-1.3-.5-2-.8l-.6-.3c-.5-.2-1.1-.5-1.6-.8-.1-.1-.3-.1-.4-.2-.6-.3-1.3-.7-1.9-1.1-.1-.1-.3-.2-.4-.3-.5-.3-1-.6-1.4-1-.2-.1-.3-.2-.5-.3-.6-.4-1.2-.9-1.7-1.3s-1.1-.9-1.6-1.4l-.4-.4-1.2-1.2-.3-.3c-.5-.5-1-1.1-1.4-1.6-.1-.1-.2-.3-.3-.4-.4-.4-.7-.9-1-1.4-.1-.2-.2-.3-.3-.5l-1.2-1.8v-.1c-.4-.6-.7-1.2-1-1.8-2.6-5-4.1-10.7-4.1-16.7s1.5-11.7 4.1-16.7z'));\nexports.CopyOutline = getIcon('copy', outline, getNode(newViewBox, 'M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z'));\nexports.CreditCardOutline = getIcon('credit-card', outline, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-792 72h752v120H136V232zm752 560H136V440h752v352zm-237-64h165c4.4 0 8-3.6 8-8v-72c0-4.4-3.6-8-8-8H651c-4.4 0-8 3.6-8 8v72c0 4.4 3.6 8 8 8z'));\nexports.CrownOutline = getIcon('crown', outline, getNode(newViewBox, 'M899.6 276.5L705 396.4 518.4 147.5a8.06 8.06 0 0 0-12.9 0L319 396.4 124.3 276.5c-5.7-3.5-13.1 1.2-12.2 7.9L188.5 865c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6c.8-6.7-6.5-11.4-12.3-7.9zm-126 534.1H250.3l-53.8-409.4 139.8 86.1L512 252.9l175.7 234.4 139.8-86.1-53.9 409.4zM512 509c-62.1 0-112.6 50.5-112.6 112.6S449.9 734.2 512 734.2s112.6-50.5 112.6-112.6S574.1 509 512 509zm0 160.9c-26.6 0-48.2-21.6-48.2-48.3 0-26.6 21.6-48.3 48.2-48.3s48.2 21.6 48.2 48.3c0 26.6-21.6 48.3-48.2 48.3z'));\nexports.CustomerServiceOutline = getIcon('customer-service', outline, getNode(newViewBox, 'M512 128c-212.1 0-384 171.9-384 384v360c0 13.3 10.7 24 24 24h184c35.3 0 64-28.7 64-64V624c0-35.3-28.7-64-64-64H200v-48c0-172.3 139.7-312 312-312s312 139.7 312 312v48H688c-35.3 0-64 28.7-64 64v208c0 35.3 28.7 64 64 64h184c13.3 0 24-10.7 24-24V512c0-212.1-171.9-384-384-384zM328 632v192H200V632h128zm496 192H696V632h128v192z'));\nexports.DashboardOutline = getIcon('dashboard', outline, getNode(newViewBox, 'M924.8 385.6a446.7 446.7 0 0 0-96-142.4 446.7 446.7 0 0 0-142.4-96C631.1 123.8 572.5 112 512 112s-119.1 11.8-174.4 35.2a446.7 446.7 0 0 0-142.4 96 446.7 446.7 0 0 0-96 142.4C75.8 440.9 64 499.5 64 560c0 132.7 58.3 257.7 159.9 343.1l1.7 1.4c5.8 4.8 13.1 7.5 20.6 7.5h531.7c7.5 0 14.8-2.7 20.6-7.5l1.7-1.4C901.7 817.7 960 692.7 960 560c0-60.5-11.9-119.1-35.2-174.4zM761.4 836H262.6A371.12 371.12 0 0 1 140 560c0-99.4 38.7-192.8 109-263 70.3-70.3 163.7-109 263-109 99.4 0 192.8 38.7 263 109 70.3 70.3 109 163.7 109 263 0 105.6-44.5 205.5-122.6 276zM623.5 421.5a8.03 8.03 0 0 0-11.3 0L527.7 506c-18.7-5-39.4-.2-54.1 14.5a55.95 55.95 0 0 0 0 79.2 55.95 55.95 0 0 0 79.2 0 55.87 55.87 0 0 0 14.5-54.1l84.5-84.5c3.1-3.1 3.1-8.2 0-11.3l-28.3-28.3zM490 320h44c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8h-44c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8zm260 218v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8zm12.7-197.2l-31.1-31.1a8.03 8.03 0 0 0-11.3 0l-56.6 56.6a8.03 8.03 0 0 0 0 11.3l31.1 31.1c3.1 3.1 8.2 3.1 11.3 0l56.6-56.6c3.1-3.1 3.1-8.2 0-11.3zm-458.6-31.1a8.03 8.03 0 0 0-11.3 0l-31.1 31.1a8.03 8.03 0 0 0 0 11.3l56.6 56.6c3.1 3.1 8.2 3.1 11.3 0l31.1-31.1c3.1-3.1 3.1-8.2 0-11.3l-56.6-56.6zM262 530h-80c-4.4 0-8 3.6-8 8v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8z'));\nexports.DeleteOutline = getIcon('delete', outline, getNode(newViewBox, 'M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z'));\nexports.DiffOutline = getIcon('diff', outline, getNode(newViewBox, 'M476 399.1c0-3.9-3.1-7.1-7-7.1h-42c-3.8 0-7 3.2-7 7.1V484h-84.5c-4.1 0-7.5 3.1-7.5 7v42c0 3.8 3.4 7 7.5 7H420v84.9c0 3.9 3.2 7.1 7 7.1h42c3.9 0 7-3.2 7-7.1V540h84.5c4.1 0 7.5-3.2 7.5-7v-42c0-3.9-3.4-7-7.5-7H476v-84.9zM560.5 704h-225c-4.1 0-7.5 3.2-7.5 7v42c0 3.8 3.4 7 7.5 7h225c4.1 0 7.5-3.2 7.5-7v-42c0-3.8-3.4-7-7.5-7zm-7.1-502.6c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v704c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32V397.3c0-8.5-3.4-16.6-9.4-22.6L553.4 201.4zM664 888H232V264h282.2L664 413.8V888zm190.2-581.4L611.3 72.9c-6-5.7-13.9-8.9-22.2-8.9H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h277l219 210.6V824c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V329.6c0-8.7-3.5-17-9.8-23z'));\nexports.DatabaseOutline = getIcon('database', outline, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM304 240a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0 272a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0 272a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.DislikeOutline = getIcon('dislike', outline, getNode(newViewBox, 'M885.9 490.3c3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-51.6-30.7-98.1-78.3-118.4a66.1 66.1 0 0 0-26.5-5.4H144c-17.7 0-32 14.3-32 32v364c0 17.7 14.3 32 32 32h129.3l85.8 310.8C372.9 889 418.9 924 470.9 924c29.7 0 57.4-11.8 77.9-33.4 20.5-21.5 31-49.7 29.5-79.4l-6-122.9h239.9c12.1 0 23.9-3.2 34.3-9.3 40.4-23.5 65.5-66.1 65.5-111 0-28.3-9.3-55.5-26.1-77.7zM184 456V172h81v284h-81zm627.2 160.4H496.8l9.6 198.4c.6 11.9-4.7 23.1-14.6 30.5-6.1 4.5-13.6 6.8-21.1 6.7a44.28 44.28 0 0 1-42.2-32.3L329 459.2V172h415.4a56.85 56.85 0 0 1 33.6 51.8c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0 1 19.6 43c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0 1 19.6 43c0 9.7-2.3 18.9-6.9 27.3l-14 25.5 21.9 19a56.76 56.76 0 0 1 19.6 43c0 19.1-11 37.5-28.8 48.4z'));\nexports.DownCircleOutline = getIcon('down-circle', outline, getNode(newViewBox, 'M690 405h-46.9c-10.2 0-19.9 4.9-25.9 13.2L512 563.6 406.8 418.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246c3.2 4.4 9.7 4.4 12.9 0l178-246c3.9-5.3.1-12.7-6.4-12.7z', 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.DownSquareOutline = getIcon('down-square', outline, getNode(newViewBox, 'M505.5 658.7c3.2 4.4 9.7 4.4 12.9 0l178-246c3.8-5.3 0-12.7-6.5-12.7H643c-10.2 0-19.9 4.9-25.9 13.2L512 558.6 406.8 413.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.DribbbleSquareOutline = getIcon('dribbble-square', outline, getNode(newViewBox, 'M498.6 432c-40.8-72.5-84.7-133.4-91.2-142.3-68.8 32.5-120.3 95.9-136.2 172.2 11 .2 112.4.7 227.4-29.9zm66.5 21.8c5.7 11.7 11.2 23.6 16.3 35.6 1.8 4.2 3.6 8.4 5.3 12.7 81.8-10.3 163.2 6.2 171.3 7.9-.5-58.1-21.3-111.4-55.5-153.3-5.3 7.1-46.5 60-137.4 97.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM512 800c-158.8 0-288-129.2-288-288s129.2-288 288-288 288 129.2 288 288-129.2 288-288 288zm89.7-259.1c32.2 88.4 45.3 160.4 47.8 175.4 55.2-37.3 94.5-96.4 105.4-164.9-8.4-2.6-76.1-22.8-153.2-10.5zm-72.5-26.4c3.2-1 6.4-2 9.7-2.9-6.2-14-12.9-28-19.9-41.7-122.8 36.8-242.1 35.2-252.8 35-.1 2.5-.1 5-.1 7.5 0 63.2 23.9 120.9 63.2 164.5 5.5-9.6 73-121.4 199.9-162.4zm145.9-186.2a245.2 245.2 0 0 0-220.8-55.1c6.8 9.1 51.5 69.9 91.8 144 87.5-32.8 124.5-82.6 129-88.9zM554 552.8c-138.7 48.3-188.6 144.6-193 153.6 41.7 32.5 94.1 51.9 151 51.9 34.1 0 66.6-6.9 96.1-19.5-3.7-21.6-17.9-96.8-52.5-186.6l-1.6.6z'));\nexports.EnvironmentOutline = getIcon('environment', outline, getNode(newViewBox, 'M854.6 289.1a362.49 362.49 0 0 0-79.9-115.7 370.83 370.83 0 0 0-118.2-77.8C610.7 76.6 562.1 67 512 67c-50.1 0-98.7 9.6-144.5 28.5-44.3 18.3-84 44.5-118.2 77.8A363.6 363.6 0 0 0 169.4 289c-19.5 45-29.4 92.8-29.4 142 0 70.6 16.9 140.9 50.1 208.7 26.7 54.5 64 107.6 111 158.1 80.3 86.2 164.5 138.9 188.4 153a43.9 43.9 0 0 0 22.4 6.1c7.8 0 15.5-2 22.4-6.1 23.9-14.1 108.1-66.8 188.4-153 47-50.4 84.3-103.6 111-158.1C867.1 572 884 501.8 884 431.1c0-49.2-9.9-97-29.4-142zM512 880.2c-65.9-41.9-300-207.8-300-449.1 0-77.9 31.1-151.1 87.6-206.3C356.3 169.5 431.7 139 512 139s155.7 30.5 212.4 85.9C780.9 280 812 353.2 812 431.1c0 241.3-234.1 407.2-300 449.1zm0-617.2c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 0 1 512 551c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 0 1 400 439c0-29.9 11.7-58 32.8-79.2C454 338.6 482.1 327 512 327c29.9 0 58 11.6 79.2 32.8C612.4 381 624 409.1 624 439c0 29.9-11.6 58-32.8 79.2z'));\nexports.EditOutline = getIcon('edit', outline, getNode(newViewBox, 'M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 0 0 0-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 0 0 9.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z'));\nexports.ExclamationCircleOutline = getIcon('exclamation-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z', 'M464 688a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z'));\nexports.ExperimentOutline = getIcon('experiment', outline, getNode(newViewBox, 'M512 472a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm367 352.9L696.3 352V178H768v-68H256v68h71.7v174L145 824.9c-2.8 7.4-4.3 15.2-4.3 23.1 0 35.3 28.7 64 64 64h614.6c7.9 0 15.7-1.5 23.1-4.3 33-12.7 49.4-49.8 36.6-82.8zM395.7 364.7V180h232.6v184.7L719.2 600c-20.7-5.3-42.1-8-63.9-8-61.2 0-119.2 21.5-165.3 60a188.78 188.78 0 0 1-121.3 43.9c-32.7 0-64.1-8.3-91.8-23.7l118.8-307.5zM210.5 844l41.7-107.8c35.7 18.1 75.4 27.8 116.6 27.8 61.2 0 119.2-21.5 165.3-60 33.9-28.2 76.3-43.9 121.3-43.9 35 0 68.4 9.5 97.6 27.1L813.5 844h-603z'));\nexports.EyeInvisibleOutline = getIcon('eye-invisible', outline, getNode(newViewBox, 'M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 0 0 0-51.5zm-63.57-320.64L836 122.88a8 8 0 0 0-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 0 0 0 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 0 0 0 11.31L155.17 889a8 8 0 0 0 11.31 0l712.15-712.12a8 8 0 0 0 0-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 0 0-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 0 1 146.2-106.69L401.31 546.2A112 112 0 0 1 396 512z', 'M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 0 0 227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 0 1-112 112z'));\nexports.EyeOutline = getIcon('eye', outline, getNode(newViewBox, 'M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 0 0 0 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z'));\nexports.FacebookOutline = getIcon('facebook', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-32 736H663.9V602.2h104l15.6-120.7H663.9v-77.1c0-35 9.7-58.8 59.8-58.8h63.9v-108c-11.1-1.5-49-4.8-93.2-4.8-92.2 0-155.3 56.3-155.3 159.6v89H434.9v120.7h104.3V848H176V176h672v672z'));\nexports.FastBackwardOutline = getIcon('fast-backward', outline, getNode(normalViewBox, 'M517.6 273.5L230.2 499.3a16.14 16.14 0 0 0 0 25.4l287.4 225.8c10.7 8.4 26.4.8 26.4-12.7V286.2c0-13.5-15.7-21.1-26.4-12.7zm320 0L550.2 499.3a16.14 16.14 0 0 0 0 25.4l287.4 225.8c10.7 8.4 26.4.8 26.4-12.7V286.2c0-13.5-15.7-21.1-26.4-12.7zm-620-25.5h-51.2c-3.5 0-6.4 2.7-6.4 6v516c0 3.3 2.9 6 6.4 6h51.2c3.5 0 6.4-2.7 6.4-6V254c0-3.3-2.9-6-6.4-6z'));\nexports.FastForwardOutline = getIcon('fast-forward', outline, getNode(normalViewBox, 'M793.8 499.3L506.4 273.5c-10.7-8.4-26.4-.8-26.4 12.7v451.6c0 13.5 15.7 21.1 26.4 12.7l287.4-225.8a16.14 16.14 0 0 0 0-25.4zm-320 0L186.4 273.5c-10.7-8.4-26.4-.8-26.4 12.7v451.5c0 13.5 15.7 21.1 26.4 12.7l287.4-225.8c4.1-3.2 6.2-8 6.2-12.7 0-4.6-2.1-9.4-6.2-12.6zM857.6 248h-51.2c-3.5 0-6.4 2.7-6.4 6v516c0 3.3 2.9 6 6.4 6h51.2c3.5 0 6.4-2.7 6.4-6V254c0-3.3-2.9-6-6.4-6z'));\nexports.FileAddOutline = getIcon('file-add', outline, getNode(newViewBox, 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM544 472c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v108H372c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h108v108c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h108c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V472z'));\nexports.FileExcelOutline = getIcon('file-excel', outline, getNode(newViewBox, 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM514.1 580.1l-61.8-102.4c-2.2-3.6-6.1-5.8-10.3-5.8h-38.4c-2.3 0-4.5.6-6.4 1.9-5.6 3.5-7.3 10.9-3.7 16.6l82.3 130.4-83.4 132.8a12.04 12.04 0 0 0 10.2 18.4h34.5c4.2 0 8-2.2 10.2-5.7L510 664.8l62.3 101.4c2.2 3.6 6.1 5.7 10.2 5.7H620c2.3 0 4.5-.7 6.5-1.9 5.6-3.6 7.2-11 3.6-16.6l-84-130.4 85.3-132.5a12.04 12.04 0 0 0-10.1-18.5h-35.7c-4.2 0-8.1 2.2-10.3 5.8l-61.2 102.3z'));\nexports.FileExclamationOutline = getIcon('file-exclamation', outline, getNode(newViewBox, 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM472 744a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm16-104h48c4.4 0 8-3.6 8-8V448c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8z'));\nexports.FileImageOutline = getIcon('file-image', outline, getNode(newViewBox, 'M553.1 509.1l-77.8 99.2-41.1-52.4a8 8 0 0 0-12.6 0l-99.8 127.2a7.98 7.98 0 0 0 6.3 12.9H696c6.7 0 10.4-7.7 6.3-12.9l-136.5-174a8.1 8.1 0 0 0-12.7 0zM360 442a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm494.6-153.4L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494z'));\nexports.FileMarkdownOutline = getIcon('file-markdown', outline, getNode(newViewBox, 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM429 481.2c-1.9-4.4-6.2-7.2-11-7.2h-35c-6.6 0-12 5.4-12 12v272c0 6.6 5.4 12 12 12h27.1c6.6 0 12-5.4 12-12V582.1l66.8 150.2a12 12 0 0 0 11 7.1H524c4.7 0 9-2.8 11-7.1l66.8-150.6V758c0 6.6 5.4 12 12 12H641c6.6 0 12-5.4 12-12V486c0-6.6-5.4-12-12-12h-34.7c-4.8 0-9.1 2.8-11 7.2l-83.1 191-83.2-191z'));\nexports.FilePptOutline = getIcon('file-ppt', outline, getNode(newViewBox, 'M424 476c-4.4 0-8 3.6-8 8v276c0 4.4 3.6 8 8 8h32.5c4.4 0 8-3.6 8-8v-95.5h63.3c59.4 0 96.2-38.9 96.2-94.1 0-54.5-36.3-94.3-96-94.3H424zm150.6 94.3c0 43.4-26.5 54.3-71.2 54.3h-38.9V516.2h56.2c33.8 0 53.9 19.7 53.9 54.1zm280-281.7L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494z'));\nexports.FileTextOutline = getIcon('file-text', outline, getNode(newViewBox, 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM504 618H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8z'));\nexports.FilePdfOutline = getIcon('file-pdf', outline, getNode(newViewBox, 'M531.3 574.4l.3-1.4c5.8-23.9 13.1-53.7 7.4-80.7-3.8-21.3-19.5-29.6-32.9-30.2-15.8-.7-29.9 8.3-33.4 21.4-6.6 24-.7 56.8 10.1 98.6-13.6 32.4-35.3 79.5-51.2 107.5-29.6 15.3-69.3 38.9-75.2 68.7-1.2 5.5.2 12.5 3.5 18.8 3.7 7 9.6 12.4 16.5 15 3 1.1 6.6 2 10.8 2 17.6 0 46.1-14.2 84.1-79.4 5.8-1.9 11.8-3.9 17.6-5.9 27.2-9.2 55.4-18.8 80.9-23.1 28.2 15.1 60.3 24.8 82.1 24.8 21.6 0 30.1-12.8 33.3-20.5 5.6-13.5 2.9-30.5-6.2-39.6-13.2-13-45.3-16.4-95.3-10.2-24.6-15-40.7-35.4-52.4-65.8zM421.6 726.3c-13.9 20.2-24.4 30.3-30.1 34.7 6.7-12.3 19.8-25.3 30.1-34.7zm87.6-235.5c5.2 8.9 4.5 35.8.5 49.4-4.9-19.9-5.6-48.1-2.7-51.4.8.1 1.5.7 2.2 2zm-1.6 120.5c10.7 18.5 24.2 34.4 39.1 46.2-21.6 4.9-41.3 13-58.9 20.2-4.2 1.7-8.3 3.4-12.3 5 13.3-24.1 24.4-51.4 32.1-71.4zm155.6 65.5c.1.2.2.5-.4.9h-.2l-.2.3c-.8.5-9 5.3-44.3-8.6 40.6-1.9 45 7.3 45.1 7.4zm191.4-388.2L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494z'));\nexports.FileZipOutline = getIcon('file-zip', outline, getNode(newViewBox, 'M296 392h64v64h-64zm0 190v160h128V582h-64v-62h-64v62zm80 48v64h-32v-64h32zm-16-302h64v64h-64zm-64-64h64v64h-64zm64 192h64v64h-64zm0-256h64v64h-64zm494.6 88.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h64v64h64v-64h174v216a42 42 0 0 0 42 42h216v494z'));\nexports.FileOutline = getIcon('file', outline, getNode(newViewBox, 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494z'));\nexports.FilterOutline = getIcon('filter', outline, getNode(newViewBox, 'M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 597.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V597.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.4 798H420.6V642h182.9v156zm9.6-236.6l-9.5 16.6h-183l-9.5-16.6L212.7 226h598.6L613 561.4z'));\nexports.FileWordOutline = getIcon('file-word', outline, getNode(newViewBox, 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM528.1 472h-32.2c-5.5 0-10.3 3.7-11.6 9.1L434.6 680l-46.1-198.7c-1.3-5.4-6.1-9.3-11.7-9.3h-35.4a12.02 12.02 0 0 0-11.6 15.1l74.2 276c1.4 5.2 6.2 8.9 11.6 8.9h32c5.4 0 10.2-3.6 11.6-8.9l52.8-197 52.8 197c1.4 5.2 6.2 8.9 11.6 8.9h31.8c5.4 0 10.2-3.6 11.6-8.9l74.4-276a12.04 12.04 0 0 0-11.6-15.1H647c-5.6 0-10.4 3.9-11.7 9.3l-45.8 199.1-49.8-199.3c-1.3-5.4-6.1-9.1-11.6-9.1z'));\nexports.FireOutline = getIcon('fire', outline, getNode(newViewBox, 'M834.1 469.2A347.49 347.49 0 0 0 751.2 354l-29.1-26.7a8.09 8.09 0 0 0-13 3.3l-13 37.3c-8.1 23.4-23 47.3-44.1 70.8-1.4 1.5-3 1.9-4.1 2-1.1.1-2.8-.1-4.3-1.5-1.4-1.2-2.1-3-2-4.8 3.7-60.2-14.3-128.1-53.7-202C555.3 171 510 123.1 453.4 89.7l-41.3-24.3c-5.4-3.2-12.3 1-12 7.3l2.2 48c1.5 32.8-2.3 61.8-11.3 85.9-11 29.5-26.8 56.9-47 81.5a295.64 295.64 0 0 1-47.5 46.1 352.6 352.6 0 0 0-100.3 121.5A347.75 347.75 0 0 0 160 610c0 47.2 9.3 92.9 27.7 136a349.4 349.4 0 0 0 75.5 110.9c32.4 32 70 57.2 111.9 74.7C418.5 949.8 464.5 959 512 959s93.5-9.2 136.9-27.3A348.6 348.6 0 0 0 760.8 857c32.4-32 57.8-69.4 75.5-110.9a344.2 344.2 0 0 0 27.7-136c0-48.8-10-96.2-29.9-140.9zM713 808.5c-53.7 53.2-125 82.4-201 82.4s-147.3-29.2-201-82.4c-53.5-53.1-83-123.5-83-198.4 0-43.5 9.8-85.2 29.1-124 18.8-37.9 46.8-71.8 80.8-97.9a349.6 349.6 0 0 0 58.6-56.8c25-30.5 44.6-64.5 58.2-101a240 240 0 0 0 12.1-46.5c24.1 22.2 44.3 49 61.2 80.4 33.4 62.6 48.8 118.3 45.8 165.7a74.01 74.01 0 0 0 24.4 59.8 73.36 73.36 0 0 0 53.4 18.8c19.7-1 37.8-9.7 51-24.4 13.3-14.9 24.8-30.1 34.4-45.6 14 17.9 25.7 37.4 35 58.4 15.9 35.8 24 73.9 24 113.1 0 74.9-29.5 145.4-83 198.4z'));\nexports.FileUnknownOutline = getIcon('file-unknown', outline, getNode(newViewBox, 'M854.6 288.7L639.4 73.4c-6-6-14.2-9.4-22.7-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.6-9.4-22.6zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM402 549c0 5.4 4.4 9.5 9.8 9.5h32.4c5.4 0 9.8-4.2 9.8-9.4 0-28.2 25.8-51.6 58-51.6s58 23.4 58 51.5c0 25.3-21 47.2-49.3 50.9-19.3 2.8-34.5 20.3-34.7 40.1v32c0 5.5 4.5 10 10 10h32c5.5 0 10-4.5 10-10v-12.2c0-6 4-11.5 9.7-13.3 44.6-14.4 75-54 74.3-98.9-.8-55.5-49.2-100.8-108.5-101.6-61.4-.7-111.5 45.6-111.5 103zm78 195a32 32 0 1 0 64 0 32 32 0 1 0-64 0z'));\nexports.FlagOutline = getIcon('flag', outline, getNode(newViewBox, 'M880 305H624V192c0-17.7-14.3-32-32-32H184v-40c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v784c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V640h248v113c0 17.7 14.3 32 32 32h416c17.7 0 32-14.3 32-32V337c0-17.7-14.3-32-32-32zM184 568V232h368v336H184zm656 145H504v-73h112c4.4 0 8-3.6 8-8V377h216v336z'));\nexports.FolderAddOutline = getIcon('folder-add', outline, getNode(newViewBox, 'M484 443.1V528h-84.5c-4.1 0-7.5 3.1-7.5 7v42c0 3.8 3.4 7 7.5 7H484v84.9c0 3.9 3.2 7.1 7 7.1h42c3.9 0 7-3.2 7-7.1V584h84.5c4.1 0 7.5-3.2 7.5-7v-42c0-3.9-3.4-7-7.5-7H540v-84.9c0-3.9-3.1-7.1-7-7.1h-42c-3.8 0-7 3.2-7 7.1zm396-144.7H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z'));\nexports.FolderOutline = getIcon('folder', outline, getNode(newViewBox, 'M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z'));\nexports.FolderOpenOutline = getIcon('folder-open', outline, getNode(newViewBox, 'M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 0 0-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z'));\nexports.ForwardOutline = getIcon('forward', outline, getNode(normalViewBox, 'M825.8 498L538.4 249.9c-10.7-9.2-26.4-.9-26.4 14v496.3c0 14.9 15.7 23.2 26.4 14L825.8 526c8.3-7.2 8.3-20.8 0-28zm-320 0L218.4 249.9c-10.7-9.2-26.4-.9-26.4 14v496.3c0 14.9 15.7 23.2 26.4 14L505.8 526c4.1-3.6 6.2-8.8 6.2-14 0-5.2-2.1-10.4-6.2-14z'));\nexports.FrownOutline = getIcon('frown', outline, getNode(newViewBox, 'M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm352 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm263 711c-34.2 34.2-74 61-118.3 79.8C611 874.2 562.3 884 512 884c-50.3 0-99-9.8-144.8-29.2A370.4 370.4 0 0 1 248.9 775c-34.2-34.2-61-74-79.8-118.3C149.8 611 140 562.3 140 512s9.8-99 29.2-144.8A370.4 370.4 0 0 1 249 248.9c34.2-34.2 74-61 118.3-79.8C413 149.8 461.7 140 512 140c50.3 0 99 9.8 144.8 29.2A370.4 370.4 0 0 1 775.1 249c34.2 34.2 61 74 79.8 118.3C874.2 413 884 461.7 884 512s-9.8 99-29.2 144.8A368.89 368.89 0 0 1 775 775zM512 533c-85.5 0-155.6 67.3-160 151.6a8 8 0 0 0 8 8.4h48.1c4.2 0 7.8-3.2 8.1-7.4C420 636.1 461.5 597 512 597s92.1 39.1 95.8 88.6c.3 4.2 3.9 7.4 8.1 7.4H664a8 8 0 0 0 8-8.4C667.6 600.3 597.5 533 512 533z'));\nexports.FundOutline = getIcon('fund', outline, getNode(newViewBox, 'M926 164H94c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V196c0-17.7-14.3-32-32-32zm-40 632H134V236h752v560zm-658.9-82.3c3.1 3.1 8.2 3.1 11.3 0l172.5-172.5 114.4 114.5c3.1 3.1 8.2 3.1 11.3 0l297-297.2c3.1-3.1 3.1-8.2 0-11.3l-36.8-36.8a8.03 8.03 0 0 0-11.3 0L531 565 416.6 450.5a8.03 8.03 0 0 0-11.3 0l-214.9 215a8.03 8.03 0 0 0 0 11.3l36.7 36.9z'));\nexports.FunnelPlotOutline = getIcon('funnel-plot', outline, getNode(newViewBox, 'M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 607.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V607.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.4 798H420.6V650h182.9v148zm9.6-226.6l-8.4 14.6H419.3l-8.4-14.6L334.4 438h355.2L613 571.4zM726.3 374H297.7l-85-148h598.6l-85 148z'));\nexports.GiftOutline = getIcon('gift', outline, getNode(newViewBox, 'M880 310H732.4c13.6-21.4 21.6-46.8 21.6-74 0-76.1-61.9-138-138-138-41.4 0-78.7 18.4-104 47.4-25.3-29-62.6-47.4-104-47.4-76.1 0-138 61.9-138 138 0 27.2 7.9 52.6 21.6 74H144c-17.7 0-32 14.3-32 32v200c0 4.4 3.6 8 8 8h40v344c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V550h40c4.4 0 8-3.6 8-8V342c0-17.7-14.3-32-32-32zm-334-74c0-38.6 31.4-70 70-70s70 31.4 70 70-31.4 70-70 70h-70v-70zm-138-70c38.6 0 70 31.4 70 70v70h-70c-38.6 0-70-31.4-70-70s31.4-70 70-70zM180 482V378h298v104H180zm48 68h250v308H228V550zm568 308H546V550h250v308zm48-376H546V378h298v104z'));\nexports.GithubOutline = getIcon('github', outline, getNode(newViewBox, 'M511.6 76.3C264.3 76.2 64 276.4 64 523.5 64 718.9 189.3 885 363.8 946c23.5 5.9 19.9-10.8 19.9-22.2v-77.5c-135.7 15.9-141.2-73.9-150.3-88.9C215 726 171.5 718 184.5 703c30.9-15.9 62.4 4 98.9 57.9 26.4 39.1 77.9 32.5 104 26 5.7-23.5 17.9-44.5 34.7-60.8-140.6-25.2-199.2-111-199.2-213 0-49.5 16.3-95 48.3-131.7-20.4-60.5 1.9-112.3 4.9-120 58.1-5.2 118.5 41.6 123.2 45.3 33-8.9 70.7-13.6 112.9-13.6 42.4 0 80.2 4.9 113.5 13.9 11.3-8.6 67.3-48.8 121.3-43.9 2.9 7.7 24.7 58.3 5.5 118 32.4 36.8 48.9 82.7 48.9 132.3 0 102.2-59 188.1-200 212.9a127.5 127.5 0 0 1 38.1 91v112.5c.8 9 0 17.9 15 17.9 177.1-59.7 304.6-227 304.6-424.1 0-247.2-200.4-447.3-447.5-447.3z'));\nexports.GitlabOutline = getIcon('gitlab', outline, getNode(newViewBox, 'M913.9 552.2L805 181.4v-.1c-7.6-22.9-25.7-36.5-48.3-36.5-23.4 0-42.5 13.5-49.7 35.2l-71.4 213H388.8l-71.4-213c-7.2-21.7-26.3-35.2-49.7-35.2-23.1 0-42.5 14.8-48.4 36.6L110.5 552.2c-4.4 14.7 1.2 31.4 13.5 40.7l368.5 276.4c2.6 3.6 6.2 6.3 10.4 7.8l8.6 6.4 8.5-6.4c4.9-1.7 9-4.7 11.9-8.9l368.4-275.4c12.4-9.2 18-25.9 13.6-40.6zM751.7 193.4c1-1.8 2.9-1.9 3.5-1.9 1.1 0 2.5.3 3.4 3L818 394.3H684.5l67.2-200.9zm-487.4 1c.9-2.6 2.3-2.9 3.4-2.9 2.7 0 2.9.1 3.4 1.7l67.3 201.2H206.5l57.8-200zM158.8 558.7l28.2-97.3 202.4 270.2-230.6-172.9zm73.9-116.4h122.1l90.8 284.3-212.9-284.3zM512.9 776L405.7 442.3H620L512.9 776zm157.9-333.7h119.5L580 723.1l90.8-280.8zm-40.7 293.9l207.3-276.7 29.5 99.2-236.8 177.5z'));\nexports.HeartOutline = getIcon('heart', outline, getNode(newViewBox, 'M923 283.6a260.04 260.04 0 0 0-56.9-82.8 264.4 264.4 0 0 0-84-55.5A265.34 265.34 0 0 0 679.7 125c-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5a258.44 258.44 0 0 0-56.9 82.8c-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3.1-35.3-7-69.6-20.9-101.9zM512 814.8S156 586.7 156 385.5C156 283.6 240.3 201 344.3 201c73.1 0 136.5 40.8 167.7 100.4C543.2 241.8 606.6 201 679.7 201c104 0 188.3 82.6 188.3 184.5 0 201.2-356 429.3-356 429.3z'));\nexports.HddOutline = getIcon('hdd', outline, getNode(newViewBox, 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM496 208H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 544h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm328 244a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.HighlightOutline = getIcon('highlight', outline, getNode(newViewBox, 'M957.6 507.4L603.2 158.2a7.9 7.9 0 0 0-11.2 0L353.3 393.4a8.03 8.03 0 0 0-.1 11.3l.1.1 40 39.4-117.2 115.3a8.03 8.03 0 0 0-.1 11.3l.1.1 39.5 38.9-189.1 187H72.1c-4.4 0-8.1 3.6-8.1 8V860c0 4.4 3.6 8 8 8h344.9c2.1 0 4.1-.8 5.6-2.3l76.1-75.6 40.4 39.8a7.9 7.9 0 0 0 11.2 0l117.1-115.6 40.1 39.5a7.9 7.9 0 0 0 11.2 0l238.7-235.2c3.4-3 3.4-8 .3-11.2zM389.8 796.2H229.6l134.4-133 80.1 78.9-54.3 54.1zm154.8-62.1L373.2 565.2l68.6-67.6 171.4 168.9-68.6 67.6zM713.1 658L450.3 399.1 597.6 254l262.8 259-147.3 145z'));\nexports.HomeOutline = getIcon('home', outline, getNode(newViewBox, 'M946.5 505L560.1 118.8l-25.9-25.9a31.5 31.5 0 0 0-44.4 0L77.5 505a63.9 63.9 0 0 0-18.8 46c.4 35.2 29.7 63.3 64.9 63.3h42.5V940h691.8V614.3h43.4c17.1 0 33.2-6.7 45.3-18.8a63.6 63.6 0 0 0 18.7-45.3c0-17-6.7-33.1-18.8-45.2zM568 868H456V664h112v204zm217.9-325.7V868H632V640c0-22.1-17.9-40-40-40H432c-22.1 0-40 17.9-40 40v228H238.1V542.3h-96l370-369.7 23.1 23.1L882 542.3h-96.1z'));\nexports.HourglassOutline = getIcon('hourglass', outline, getNode(newViewBox, 'M742 318V184h86c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H196c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h86v134c0 81.5 42.4 153.2 106.4 194-64 40.8-106.4 112.5-106.4 194v134h-86c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h632c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-86V706c0-81.5-42.4-153.2-106.4-194 64-40.8 106.4-112.5 106.4-194zm-72 388v134H354V706c0-42.2 16.4-81.9 46.3-111.7C430.1 564.4 469.8 548 512 548s81.9 16.4 111.7 46.3C653.6 624.1 670 663.8 670 706zm0-388c0 42.2-16.4 81.9-46.3 111.7C593.9 459.6 554.2 476 512 476s-81.9-16.4-111.7-46.3A156.63 156.63 0 0 1 354 318V184h316v134z'));\nexports.Html5Outline = getIcon('html5', outline, getNode(newViewBox, 'M145 96l66 746.6L511.8 928l299.6-85.4L878.7 96H145zm610.9 700.6l-244.1 69.6-245.2-69.6-56.7-641.2h603.8l-57.8 641.2zM281 249l1.7 24.3 22.7 253.5h206.5v-.1h112.9l-11.4 118.5L511 672.9v.2h-.8l-102.4-27.7-6.5-73.2h-91l11.3 144.7 188.6 52h1.7v-.4l187.7-51.7 1.7-16.3 21.2-242.2 3.2-24.3H511v.2H389.9l-8.2-94.2h352.1l1.7-19.5 4.8-47.2L742 249H511z'));\nexports.IdcardOutline = getIcon('idcard', outline, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136V232h752v560zM610.3 476h123.4c1.3 0 2.3-3.6 2.3-8v-48c0-4.4-1-8-2.3-8H610.3c-1.3 0-2.3 3.6-2.3 8v48c0 4.4 1 8 2.3 8zm4.8 144h185.7c3.9 0 7.1-3.6 7.1-8v-48c0-4.4-3.2-8-7.1-8H615.1c-3.9 0-7.1 3.6-7.1 8v48c0 4.4 3.2 8 7.1 8zM224 673h43.9c4.2 0 7.6-3.3 7.9-7.5 3.8-50.5 46-90.5 97.2-90.5s93.4 40 97.2 90.5c.3 4.2 3.7 7.5 7.9 7.5H522a8 8 0 0 0 8-8.4c-2.8-53.3-32-99.7-74.6-126.1a111.8 111.8 0 0 0 29.1-75.5c0-61.9-49.9-112-111.4-112s-111.4 50.1-111.4 112c0 29.1 11 55.5 29.1 75.5a158.09 158.09 0 0 0-74.6 126.1c-.4 4.6 3.2 8.4 7.8 8.4zm149-262c28.5 0 51.7 23.3 51.7 52s-23.2 52-51.7 52-51.7-23.3-51.7-52 23.2-52 51.7-52z'));\nexports.InfoCircleOutline = getIcon('info-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z', 'M464 336a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z'));\nexports.InstagramOutline = getIcon('instagram', outline, getNode(newViewBox, 'M512 306.9c-113.5 0-205.1 91.6-205.1 205.1S398.5 717.1 512 717.1 717.1 625.5 717.1 512 625.5 306.9 512 306.9zm0 338.4c-73.4 0-133.3-59.9-133.3-133.3S438.6 378.7 512 378.7 645.3 438.6 645.3 512 585.4 645.3 512 645.3zm213.5-394.6c-26.5 0-47.9 21.4-47.9 47.9s21.4 47.9 47.9 47.9 47.9-21.3 47.9-47.9a47.84 47.84 0 0 0-47.9-47.9zM911.8 512c0-55.2.5-109.9-2.6-165-3.1-64-17.7-120.8-64.5-167.6-46.9-46.9-103.6-61.4-167.6-64.5-55.2-3.1-109.9-2.6-165-2.6-55.2 0-109.9-.5-165 2.6-64 3.1-120.8 17.7-167.6 64.5C132.6 226.3 118.1 283 115 347c-3.1 55.2-2.6 109.9-2.6 165s-.5 109.9 2.6 165c3.1 64 17.7 120.8 64.5 167.6 46.9 46.9 103.6 61.4 167.6 64.5 55.2 3.1 109.9 2.6 165 2.6 55.2 0 109.9.5 165-2.6 64-3.1 120.8-17.7 167.6-64.5 46.9-46.9 61.4-103.6 64.5-167.6 3.2-55.1 2.6-109.8 2.6-165zm-88 235.8c-7.3 18.2-16.1 31.8-30.2 45.8-14.1 14.1-27.6 22.9-45.8 30.2C695.2 844.7 570.3 840 512 840c-58.3 0-183.3 4.7-235.9-16.1-18.2-7.3-31.8-16.1-45.8-30.2-14.1-14.1-22.9-27.6-30.2-45.8C179.3 695.2 184 570.3 184 512c0-58.3-4.7-183.3 16.1-235.9 7.3-18.2 16.1-31.8 30.2-45.8s27.6-22.9 45.8-30.2C328.7 179.3 453.7 184 512 184s183.3-4.7 235.9 16.1c18.2 7.3 31.8 16.1 45.8 30.2 14.1 14.1 22.9 27.6 30.2 45.8C844.7 328.7 840 453.7 840 512c0 58.3 4.7 183.2-16.2 235.8z'));\nexports.InsuranceOutline = getIcon('insurance', outline, getNode(newViewBox, 'M441.6 306.8L403 288.6a6.1 6.1 0 0 0-8.4 3.7c-17.5 58.5-45.2 110.1-82.2 153.6a6.05 6.05 0 0 0-1.2 5.6l13.2 43.5c1.3 4.4 7 5.7 10.2 2.4 7.7-8.1 15.4-16.9 23.1-26V656c0 4.4 3.6 8 8 8H403c4.4 0 8-3.6 8-8V393.1a429.2 429.2 0 0 0 33.6-79c1-2.9-.3-6-3-7.3zm26.8 9.2v127.2c0 4.4 3.6 8 8 8h65.9v18.6h-94.9c-4.4 0-8 3.6-8 8v35.6c0 4.4 3.6 8 8 8h55.1c-19.1 30.8-42.4 55.7-71 76a6 6 0 0 0-1.6 8.1l22.8 36.5c1.9 3.1 6.2 3.8 8.9 1.4 31.6-26.8 58.7-62.9 80.6-107.6v120c0 4.4 3.6 8 8 8h36.2c4.4 0 8-3.6 8-8V536c21.3 41.7 47.5 77.5 78.1 106.9 2.6 2.5 6.8 2.1 8.9-.7l26.3-35.3c2-2.7 1.4-6.5-1.2-8.4-30.5-22.6-54.2-47.8-72.3-76.9h59c4.4 0 8-3.6 8-8V478c0-4.4-3.6-8-8-8h-98.8v-18.6h66.7c4.4 0 8-3.6 8-8V316c0-4.4-3.6-8-8-8H476.4c-4.4 0-8 3.6-8 8zm51.5 42.8h97.9v41.6h-97.9v-41.6zm347-188.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z'));\nexports.InteractionOutline = getIcon('interaction', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM304.8 524h50.7c3.7 0 6.8-3 6.8-6.8v-78.9c0-19.7 15.9-35.6 35.5-35.6h205.7v53.4c0 5.7 6.5 8.8 10.9 5.3l109.1-85.7c3.5-2.7 3.5-8 0-10.7l-109.1-85.7c-4.4-3.5-10.9-.3-10.9 5.3V338H397.7c-55.1 0-99.7 44.8-99.7 100.1V517c0 4 3 7 6.8 7zm-4.2 134.9l109.1 85.7c4.4 3.5 10.9.3 10.9-5.3v-53.4h205.7c55.1 0 99.7-44.8 99.7-100.1v-78.9c0-3.7-3-6.8-6.8-6.8h-50.7c-3.7 0-6.8 3-6.8 6.8v78.9c0 19.7-15.9 35.6-35.5 35.6H420.6V568c0-5.7-6.5-8.8-10.9-5.3l-109.1 85.7c-3.5 2.5-3.5 7.8 0 10.5z'));\nexports.InterationOutline = getIcon('interation', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM304.8 524h50.7c3.7 0 6.8-3 6.8-6.8v-78.9c0-19.7 15.9-35.6 35.5-35.6h205.7v53.4c0 5.7 6.5 8.8 10.9 5.3l109.1-85.7c3.5-2.7 3.5-8 0-10.7l-109.1-85.7c-4.4-3.5-10.9-.3-10.9 5.3V338H397.7c-55.1 0-99.7 44.8-99.7 100.1V517c0 4 3 7 6.8 7zm-4.2 134.9l109.1 85.7c4.4 3.5 10.9.3 10.9-5.3v-53.4h205.7c55.1 0 99.7-44.8 99.7-100.1v-78.9c0-3.7-3-6.8-6.8-6.8h-50.7c-3.7 0-6.8 3-6.8 6.8v78.9c0 19.7-15.9 35.6-35.5 35.6H420.6V568c0-5.7-6.5-8.8-10.9-5.3l-109.1 85.7c-3.5 2.5-3.5 7.8 0 10.5z'));\nexports.LayoutOutline = getIcon('layout', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-696 72h136v656H184V184zm656 656H384V384h456v456zM384 320V184h456v136H384z'));\nexports.LeftCircleOutline = getIcon('left-circle', outline, getNode(newViewBox, 'M603.3 327.5l-246 178a7.95 7.95 0 0 0 0 12.9l246 178c5.3 3.8 12.7 0 12.7-6.5V643c0-10.2-4.9-19.9-13.2-25.9L457.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5z', 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.LeftSquareOutline = getIcon('left-square', outline, getNode(newViewBox, 'M365.3 518.5l246 178c5.3 3.8 12.7 0 12.7-6.5v-46.9c0-10.2-4.9-19.9-13.2-25.9L465.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5l-246 178a8.05 8.05 0 0 0 0 13z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.LikeOutline = getIcon('like', outline, getNode(newViewBox, 'M885.9 533.7c16.8-22.2 26.1-49.4 26.1-77.7 0-44.9-25.1-87.4-65.5-111.1a67.67 67.67 0 0 0-34.3-9.3H572.4l6-122.9c1.4-29.7-9.1-57.9-29.5-79.4A106.62 106.62 0 0 0 471 99.9c-52 0-98 35-111.8 85.1l-85.9 311H144c-17.7 0-32 14.3-32 32v364c0 17.7 14.3 32 32 32h601.3c9.2 0 18.2-1.8 26.5-5.4 47.6-20.3 78.3-66.8 78.3-118.4 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7-.2-12.6-2-25.1-5.6-37.1zM184 852V568h81v284h-81zm636.4-353l-21.9 19 13.9 25.4a56.2 56.2 0 0 1 6.9 27.3c0 16.5-7.2 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 0 1 6.9 27.3c0 16.5-7.2 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 0 1 6.9 27.3c0 22.4-13.2 42.6-33.6 51.8H329V564.8l99.5-360.5a44.1 44.1 0 0 1 42.2-32.3c7.6 0 15.1 2.2 21.1 6.7 9.9 7.4 15.2 18.6 14.6 30.5l-9.6 198.4h314.4C829 418.5 840 436.9 840 456c0 16.5-7.2 32.1-19.6 43z'));\nexports.LinkedinOutline = getIcon('linkedin', outline, getNode(newViewBox, 'M847.7 112H176.3c-35.5 0-64.3 28.8-64.3 64.3v671.4c0 35.5 28.8 64.3 64.3 64.3h671.4c35.5 0 64.3-28.8 64.3-64.3V176.3c0-35.5-28.8-64.3-64.3-64.3zm0 736c-447.8-.1-671.7-.2-671.7-.3.1-447.8.2-671.7.3-671.7 447.8.1 671.7.2 671.7.3-.1 447.8-.2 671.7-.3 671.7zM230.6 411.9h118.7v381.8H230.6zm59.4-52.2c37.9 0 68.8-30.8 68.8-68.8a68.8 68.8 0 1 0-137.6 0c-.1 38 30.7 68.8 68.8 68.8zm252.3 245.1c0-49.8 9.5-98 71.2-98 60.8 0 61.7 56.9 61.7 101.2v185.7h118.6V584.3c0-102.8-22.2-181.9-142.3-181.9-57.7 0-96.4 31.7-112.3 61.7h-1.6v-52.2H423.7v381.8h118.6V604.8z'));\nexports.LockOutline = getIcon('lock', outline, getNode(newViewBox, 'M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM332 240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224H332V240zm460 600H232V536h560v304zM484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 1 0-56 0z'));\nexports.MedicineBoxOutline = getIcon('medicine-box', outline, getNode(newViewBox, 'M839.2 278.1a32 32 0 0 0-30.4-22.1H736V144c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32v112h-72.8a31.9 31.9 0 0 0-30.4 22.1L112 502v378c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V502l-72.8-223.9zM360 184h304v72H360v-72zm480 656H184V513.4L244.3 328h535.4L840 513.4V840zM652 572H544V464c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v108H372c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h108v108c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V636h108c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'));\nexports.MehOutline = getIcon('meh', outline, getNode(newViewBox, 'M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm352 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm263 711c-34.2 34.2-74 61-118.3 79.8C611 874.2 562.3 884 512 884c-50.3 0-99-9.8-144.8-29.2A370.4 370.4 0 0 1 248.9 775c-34.2-34.2-61-74-79.8-118.3C149.8 611 140 562.3 140 512s9.8-99 29.2-144.8A370.4 370.4 0 0 1 249 248.9c34.2-34.2 74-61 118.3-79.8C413 149.8 461.7 140 512 140c50.3 0 99 9.8 144.8 29.2A370.4 370.4 0 0 1 775.1 249c34.2 34.2 61 74 79.8 118.3C874.2 413 884 461.7 884 512s-9.8 99-29.2 144.8A368.89 368.89 0 0 1 775 775zM664 565H360c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'));\nexports.MailOutline = getIcon('mail', outline, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 110.8V792H136V270.8l-27.6-21.5 39.3-50.5 42.8 33.3h643.1l42.8-33.3 39.3 50.5-27.7 21.5zM833.6 232L512 482 190.4 232l-42.8-33.3-39.3 50.5 27.6 21.5 341.6 265.6a55.99 55.99 0 0 0 68.7 0L888 270.8l27.6-21.5-39.3-50.5-42.7 33.2z'));\nexports.MessageOutline = getIcon('message', outline, getNode(newViewBox, 'M464 512a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm200 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm-400 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm661.2-173.6c-22.6-53.7-55-101.9-96.3-143.3a444.35 444.35 0 0 0-143.3-96.3C630.6 75.7 572.2 64 512 64h-2c-60.6.3-119.3 12.3-174.5 35.9a445.35 445.35 0 0 0-142 96.5c-40.9 41.3-73 89.3-95.2 142.8-23 55.4-34.6 114.3-34.3 174.9A449.4 449.4 0 0 0 112 714v152a46 46 0 0 0 46 46h152.1A449.4 449.4 0 0 0 510 960h2.1c59.9 0 118-11.6 172.7-34.3a444.48 444.48 0 0 0 142.8-95.2c41.3-40.9 73.8-88.7 96.5-142 23.6-55.2 35.6-113.9 35.9-174.5.3-60.9-11.5-120-34.8-175.6zm-151.1 438C704 845.8 611 884 512 884h-1.7c-60.3-.3-120.2-15.3-173.1-43.5l-8.4-4.5H188V695.2l-4.5-8.4C155.3 633.9 140.3 574 140 513.7c-.4-99.7 37.7-193.3 107.6-263.8 69.8-70.5 163.1-109.5 262.8-109.9h1.7c50 0 98.5 9.7 144.2 28.9 44.6 18.7 84.6 45.6 119 80 34.3 34.3 61.3 74.4 80 119 19.4 46.2 29.1 95.2 28.9 145.8-.6 99.6-39.7 192.9-110.1 262.7z'));\nexports.MinusCircleOutline = getIcon('minus-circle', outline, getNode(newViewBox, 'M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z', 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.MinusSquareOutline = getIcon('minus-square', outline, getNode(newViewBox, 'M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.MobileOutline = getIcon('mobile', outline, getNode(newViewBox, 'M744 62H280c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h464c35.3 0 64-28.7 64-64V126c0-35.3-28.7-64-64-64zm-8 824H288V134h448v752zM472 784a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.MoneyCollectOutline = getIcon('money-collect', outline, getNode(newViewBox, 'M911.5 700.7a8 8 0 0 0-10.3-4.8L840 718.2V180c0-37.6-30.4-68-68-68H252c-37.6 0-68 30.4-68 68v538.2l-61.3-22.3c-.9-.3-1.8-.5-2.7-.5-4.4 0-8 3.6-8 8V763c0 3.3 2.1 6.3 5.3 7.5L501 910.1c7.1 2.6 14.8 2.6 21.9 0l383.8-139.5c3.2-1.2 5.3-4.2 5.3-7.5v-59.6c0-1-.2-1.9-.5-2.8zM512 837.5l-256-93.1V184h512v560.4l-256 93.1zM660.6 312h-54.5c-3 0-5.8 1.7-7.1 4.4l-84.7 168.8H511l-84.7-168.8a8 8 0 0 0-7.1-4.4h-55.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.8l103.9 191.6h-57c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76v39h-76c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76V704c0 4.4 3.6 8 8 8h49.9c4.4 0 8-3.6 8-8v-63.5h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8h-76.3v-39h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8H564l103.7-191.6c.6-1.2 1-2.5 1-3.8-.1-4.3-3.7-7.9-8.1-7.9z'));\nexports.PauseCircleOutline = getIcon('pause-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm-88-532h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zm224 0h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z'));\nexports.PayCircleOutline = getIcon('pay-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm159.6-585h-59.5c-3 0-5.8 1.7-7.1 4.4l-90.6 180H511l-90.6-180a8 8 0 0 0-7.1-4.4h-60.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.9L457 515.7h-61.4c-4.4 0-8 3.6-8 8v29.9c0 4.4 3.6 8 8 8h81.7V603h-81.7c-4.4 0-8 3.6-8 8v29.9c0 4.4 3.6 8 8 8h81.7V717c0 4.4 3.6 8 8 8h54.3c4.4 0 8-3.6 8-8v-68.1h82c4.4 0 8-3.6 8-8V611c0-4.4-3.6-8-8-8h-82v-41.5h82c4.4 0 8-3.6 8-8v-29.9c0-4.4-3.6-8-8-8h-62l111.1-204.8c.6-1.2 1-2.5 1-3.8-.1-4.4-3.7-8-8.1-8z'));\nexports.NotificationOutline = getIcon('notification', outline, getNode(newViewBox, 'M880 112c-3.8 0-7.7.7-11.6 2.3L292 345.9H128c-8.8 0-16 7.4-16 16.6v299c0 9.2 7.2 16.6 16 16.6h101.7c-3.7 11.6-5.7 23.9-5.7 36.4 0 65.9 53.8 119.5 120 119.5 55.4 0 102.1-37.6 115.9-88.4l408.6 164.2c3.9 1.5 7.8 2.3 11.6 2.3 16.9 0 32-14.2 32-33.2V145.2C912 126.2 897 112 880 112zM344 762.3c-26.5 0-48-21.4-48-47.8 0-11.2 3.9-21.9 11-30.4l84.9 34.1c-2 24.6-22.7 44.1-47.9 44.1zm496 58.4L318.8 611.3l-12.9-5.2H184V417.9h121.9l12.9-5.2L840 203.3v617.4z'));\nexports.PhoneOutline = getIcon('phone', outline, getNode(newViewBox, 'M877.1 238.7L770.6 132.3c-13-13-30.4-20.3-48.8-20.3s-35.8 7.2-48.8 20.3L558.3 246.8c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l89.6 89.7a405.46 405.46 0 0 1-86.4 127.3c-36.7 36.9-79.6 66-127.2 86.6l-89.6-89.7c-13-13-30.4-20.3-48.8-20.3a68.2 68.2 0 0 0-48.8 20.3L132.3 673c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l106.4 106.4c22.2 22.2 52.8 34.9 84.2 34.9 6.5 0 12.8-.5 19.2-1.6 132.4-21.8 263.8-92.3 369.9-198.3C818 606 888.4 474.6 910.4 342.1c6.3-37.6-6.3-76.3-33.3-103.4zm-37.6 91.5c-19.5 117.9-82.9 235.5-178.4 331s-213 158.9-330.9 178.4c-14.8 2.5-30-2.5-40.8-13.2L184.9 721.9 295.7 611l119.8 120 .9.9 21.6-8a481.29 481.29 0 0 0 285.7-285.8l8-21.6-120.8-120.7 110.8-110.9 104.5 104.5c10.8 10.8 15.8 26 13.3 40.8z'));\nexports.PictureOutline = getIcon('picture', outline, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136v-39.9l138.5-164.3 150.1 178L658.1 489 888 761.6V792zm0-129.8L664.2 396.8c-3.2-3.8-9-3.8-12.2 0L424.6 666.4l-144-170.7c-3.2-3.8-9-3.8-12.2 0L136 652.7V232h752v430.2zM304 456a88 88 0 1 0 0-176 88 88 0 0 0 0 176zm0-116c15.5 0 28 12.5 28 28s-12.5 28-28 28-28-12.5-28-28 12.5-28 28-28z'));\nexports.PieChartOutline = getIcon('pie-chart', outline, getNode(newViewBox, 'M864 518H506V160c0-4.4-3.6-8-8-8h-26a398.46 398.46 0 0 0-282.8 117.1 398.19 398.19 0 0 0-85.7 127.1A397.61 397.61 0 0 0 72 552a398.46 398.46 0 0 0 117.1 282.8c36.7 36.7 79.5 65.6 127.1 85.7A397.61 397.61 0 0 0 472 952a398.46 398.46 0 0 0 282.8-117.1c36.7-36.7 65.6-79.5 85.7-127.1A397.61 397.61 0 0 0 872 552v-26c0-4.4-3.6-8-8-8zM705.7 787.8A331.59 331.59 0 0 1 470.4 884c-88.1-.4-170.9-34.9-233.2-97.2C174.5 724.1 140 640.7 140 552c0-88.7 34.5-172.1 97.2-234.8 54.6-54.6 124.9-87.9 200.8-95.5V586h364.3c-7.7 76.3-41.3 147-96.6 201.8zM952 462.4l-2.6-28.2c-8.5-92.1-49.4-179-115.2-244.6A399.4 399.4 0 0 0 589 74.6L560.7 72c-4.7-.4-8.7 3.2-8.7 7.9V464c0 4.4 3.6 8 8 8l384-1c4.7 0 8.4-4 8-8.6zm-332.2-58.2V147.6a332.24 332.24 0 0 1 166.4 89.8c45.7 45.6 77 103.6 90 166.1l-256.4.7z'));\nexports.PlaySquareOutline = getIcon('play-square', outline, getNode(newViewBox, 'M442.3 677.6l199.4-156.7a11.3 11.3 0 0 0 0-17.7L442.3 346.4c-7.4-5.8-18.3-.6-18.3 8.8v313.5c0 9.4 10.9 14.7 18.3 8.9z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.PlayCircleOutline = getIcon('play-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z', 'M719.4 499.1l-296.1-215A15.9 15.9 0 0 0 398 297v430c0 13.1 14.8 20.5 25.3 12.9l296.1-215a15.9 15.9 0 0 0 0-25.8zm-257.6 134V390.9L628.5 512 461.8 633.1z'));\nexports.PlusCircleOutline = getIcon('plus-circle', outline, getNode(newViewBox, 'M696 480H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z', 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.PrinterOutline = getIcon('printer', outline, getNode(newViewBox, 'M820 436h-40c-4.4 0-8 3.6-8 8v40c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-40c0-4.4-3.6-8-8-8zm32-104H732V120c0-4.4-3.6-8-8-8H300c-4.4 0-8 3.6-8 8v212H172c-44.2 0-80 35.8-80 80v328c0 17.7 14.3 32 32 32h168v132c0 4.4 3.6 8 8 8h424c4.4 0 8-3.6 8-8V772h168c17.7 0 32-14.3 32-32V412c0-44.2-35.8-80-80-80zM360 180h304v152H360V180zm304 664H360V568h304v276zm200-140H732V500H292v204H160V412c0-6.6 5.4-12 12-12h680c6.6 0 12 5.4 12 12v292z'));\nexports.PlusSquareOutline = getIcon('plus-square', outline, getNode(newViewBox, 'M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.ProfileOutline = getIcon('profile', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM492 400h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0 144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0 144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zM340 368a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0 144a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0 144a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.ProjectOutline = getIcon('project', outline, getNode(newViewBox, 'M280 752h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8zm192-280h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8zm192 72h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v256c0 4.4 3.6 8 8 8zm216-432H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.PushpinOutline = getIcon('pushpin', outline, getNode(newViewBox, 'M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3a33.23 33.23 0 0 0-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 0 0-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8zM666.2 549.3l-24.5 24.5 3.8 34.4a259.92 259.92 0 0 1-30.4 153.9L262 408.8c12.9-7.1 26.3-13.1 40.3-17.9 27.2-9.4 55.7-14.1 84.7-14.1 9.6 0 19.3.5 28.9 1.6l34.4 3.8 24.5-24.5L608.5 224 800 415.5 666.2 549.3z'));\nexports.PropertySafetyOutline = getIcon('property-safety', outline, getNode(newViewBox, 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6zM430.5 318h-46c-1.7 0-3.3.4-4.8 1.2a10.1 10.1 0 0 0-4 13.6l88 161.1h-45.2c-5.5 0-10 4.5-10 10v21.3c0 5.5 4.5 10 10 10h63.1v29.7h-63.1c-5.5 0-10 4.5-10 10v21.3c0 5.5 4.5 10 10 10h63.1V658c0 5.5 4.5 10 10 10h41.3c5.5 0 10-4.5 10-10v-51.8h63.4c5.5 0 10-4.5 10-10v-21.3c0-5.5-4.5-10-10-10h-63.4v-29.7h63.4c5.5 0 10-4.5 10-10v-21.3c0-5.5-4.5-10-10-10h-45.7l87.7-161.1a10.05 10.05 0 0 0-8.8-14.8h-45c-3.8 0-7.2 2.1-8.9 5.5l-73.2 144.3-72.9-144.3c-1.7-3.4-5.2-5.5-9-5.5z'));\nexports.QuestionCircleOutline = getIcon('question-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z', 'M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0 1 30.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.ReadOutline = getIcon('read', outline, getNode(newViewBox, 'M928 161H699.2c-49.1 0-97.1 14.1-138.4 40.7L512 233l-48.8-31.3A255.2 255.2 0 0 0 324.8 161H96c-17.7 0-32 14.3-32 32v568c0 17.7 14.3 32 32 32h228.8c49.1 0 97.1 14.1 138.4 40.7l44.4 28.6c1.3.8 2.8 1.3 4.3 1.3s3-.4 4.3-1.3l44.4-28.6C602 807.1 650.1 793 699.2 793H928c17.7 0 32-14.3 32-32V193c0-17.7-14.3-32-32-32zM324.8 721H136V233h188.8c35.4 0 69.8 10.1 99.5 29.2l48.8 31.3 6.9 4.5v462c-47.6-25.6-100.8-39-155.2-39zm563.2 0H699.2c-54.4 0-107.6 13.4-155.2 39V298l6.9-4.5 48.8-31.3c29.7-19.1 64.1-29.2 99.5-29.2H888v488zM396.9 361H211.1c-3.9 0-7.1 3.4-7.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c.1-4.1-3.1-7.5-7-7.5zm223.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c0-4.1-3.2-7.5-7.1-7.5H627.1c-3.9 0-7.1 3.4-7.1 7.5zM396.9 501H211.1c-3.9 0-7.1 3.4-7.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c.1-4.1-3.1-7.5-7-7.5zm416 0H627.1c-3.9 0-7.1 3.4-7.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c.1-4.1-3.1-7.5-7-7.5z'));\nexports.ReconciliationOutline = getIcon('reconciliation', outline, getNode(newViewBox, 'M676 565c-50.8 0-92 41.2-92 92s41.2 92 92 92 92-41.2 92-92-41.2-92-92-92zm0 126c-18.8 0-34-15.2-34-34s15.2-34 34-34 34 15.2 34 34-15.2 34-34 34zm204-523H668c0-30.9-25.1-56-56-56h-80c-30.9 0-56 25.1-56 56H264c-17.7 0-32 14.3-32 32v200h-88c-17.7 0-32 14.3-32 32v448c0 17.7 14.3 32 32 32h336c17.7 0 32-14.3 32-32v-16h368c17.7 0 32-14.3 32-32V200c0-17.7-14.3-32-32-32zm-412 64h72v-56h64v56h72v48H468v-48zm-20 616H176V616h272v232zm0-296H176v-88h272v88zm392 240H512V432c0-17.7-14.3-32-32-32H304V240h100v104h336V240h100v552zM704 408v96c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-96c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zM592 512h48c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z'));\nexports.RedEnvelopeOutline = getIcon('red-envelope', outline, getNode(newViewBox, 'M440.6 462.6a8.38 8.38 0 0 0-7.5-4.6h-48.8c-1.3 0-2.6.4-3.9 1a8.4 8.4 0 0 0-3.4 11.4l87.4 161.1H419c-4.6 0-8.4 3.8-8.4 8.4V665c0 4.6 3.8 8.4 8.4 8.4h63V702h-63c-4.6 0-8.4 3.8-8.4 8.4v25.1c0 4.6 3.8 8.4 8.4 8.4h63v49.9c0 4.6 3.8 8.4 8.4 8.4h43.7c4.6 0 8.4-3.8 8.4-8.4v-49.9h63.3c4.7 0 8.4-3.8 8.2-8.5v-25c0-4.6-3.8-8.4-8.4-8.4h-63.3v-28.6h63.3c4.6 0 8.4-3.8 8.4-8.4v-25.1c0-4.6-3.8-8.4-8.4-8.4h-45.9l87.2-161a8.45 8.45 0 0 0-7.4-12.4h-47.8c-3.1 0-6 1.8-7.5 4.6l-71.9 141.9-71.7-142zM832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V193.1l260.3 204.1c11.6 9.1 27.9 9.1 39.5 0L792 193.1V888zm0-751.3h-31.7L512 331.3 263.7 136.7H232v-.7h560v.7z'));\nexports.RestOutline = getIcon('rest', outline, getNode(newViewBox, 'M508 704c79.5 0 144-64.5 144-144s-64.5-144-144-144-144 64.5-144 144 64.5 144 144 144zm0-224c44.2 0 80 35.8 80 80s-35.8 80-80 80-80-35.8-80-80 35.8-80 80-80z', 'M832 256h-28.1l-35.7-120.9c-4-13.7-16.5-23.1-30.7-23.1h-451c-14.3 0-26.8 9.4-30.7 23.1L220.1 256H192c-17.7 0-32 14.3-32 32v28c0 4.4 3.6 8 8 8h45.8l47.7 558.7a32 32 0 0 0 31.9 29.3h429.2a32 32 0 0 0 31.9-29.3L802.2 324H856c4.4 0 8-3.6 8-8v-28c0-17.7-14.3-32-32-32zm-518.6-76h397.2l22.4 76H291l22.4-76zm376.2 664H326.4L282 324h451.9l-44.3 520z'));\nexports.RightCircleOutline = getIcon('right-circle', outline, getNode(newViewBox, 'M666.7 505.5l-246-178A8 8 0 0 0 408 334v46.9c0 10.2 4.9 19.9 13.2 25.9L566.6 512 421.2 617.2c-8.3 6-13.2 15.6-13.2 25.9V690c0 6.5 7.4 10.3 12.7 6.5l246-178c4.4-3.2 4.4-9.8 0-13z', 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.RocketOutline = getIcon('rocket', outline, getNode(newViewBox, 'M864 736c0-111.6-65.4-208-160-252.9V317.3c0-15.1-5.3-29.7-15.1-41.2L536.5 95.4C530.1 87.8 521 84 512 84s-18.1 3.8-24.5 11.4L335.1 276.1a63.97 63.97 0 0 0-15.1 41.2v165.8C225.4 528 160 624.4 160 736h156.5c-2.3 7.2-3.5 15-3.5 23.8 0 22.1 7.6 43.7 21.4 60.8a97.2 97.2 0 0 0 43.1 30.6c23.1 54 75.6 88.8 134.5 88.8 29.1 0 57.3-8.6 81.4-24.8 23.6-15.8 41.9-37.9 53-64a97 97 0 0 0 43.1-30.5 97.52 97.52 0 0 0 21.4-60.8c0-8.4-1.1-16.4-3.1-23.8H864zM762.3 621.4c9.4 14.6 17 30.3 22.5 46.6H700V558.7a211.6 211.6 0 0 1 62.3 62.7zM388 483.1V318.8l124-147 124 147V668H388V483.1zM239.2 668c5.5-16.3 13.1-32 22.5-46.6 16.3-25.2 37.5-46.5 62.3-62.7V668h-84.8zm388.9 116.2c-5.2 3-11.2 4.2-17.1 3.4l-19.5-2.4-2.8 19.4c-5.4 37.9-38.4 66.5-76.7 66.5-38.3 0-71.3-28.6-76.7-66.5l-2.8-19.5-19.5 2.5a27.7 27.7 0 0 1-17.1-3.5c-8.7-5-14.1-14.3-14.1-24.4 0-10.6 5.9-19.4 14.6-23.8h231.3c8.8 4.5 14.6 13.3 14.6 23.8-.1 10.2-5.5 19.6-14.2 24.5zM464 400a48 48 0 1 0 96 0 48 48 0 1 0-96 0z'));\nexports.RightSquareOutline = getIcon('right-square', outline, getNode(newViewBox, 'M412.7 696.5l246-178c4.4-3.2 4.4-9.7 0-12.9l-246-178c-5.3-3.8-12.7 0-12.7 6.5V381c0 10.2 4.9 19.9 13.2 25.9L558.6 512 413.2 617.2c-8.3 6-13.2 15.6-13.2 25.9V690c0 6.5 7.4 10.3 12.7 6.5z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.SafetyCertificateOutline = getIcon('safety-certificate', outline, getNode(newViewBox, 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6zm-405.8-201c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0 0 26 0l212.6-292.7c3.8-5.3 0-12.7-6.5-12.7h-55.2c-5.1 0-10 2.5-13 6.6L468.9 542.4l-64.7-89.1z'));\nexports.ScheduleOutline = getIcon('schedule', outline, getNode(newViewBox, 'M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zm-40 568H136V296h120v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h120v496zM416 496H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0 136H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm308.2-177.4L620.6 598.3l-52.8-73.1c-3-4.2-7.8-6.6-12.9-6.6H500c-6.5 0-10.3 7.4-6.5 12.7l114.1 158.2a15.9 15.9 0 0 0 25.8 0l165-228.7c3.8-5.3 0-12.7-6.5-12.7H737c-5-.1-9.8 2.4-12.8 6.5z'));\nexports.SaveOutline = getIcon('save', outline, getNode(newViewBox, 'M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z'));\nexports.SecurityScanOutline = getIcon('security-scan', outline, getNode(newViewBox, 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6zM402.9 528.8l-77.5 77.5a8.03 8.03 0 0 0 0 11.3l34 34c3.1 3.1 8.2 3.1 11.3 0l77.5-77.5c55.7 35.1 130.1 28.4 178.6-20.1 56.3-56.3 56.3-147.5 0-203.8-56.3-56.3-147.5-56.3-203.8 0-48.5 48.5-55.2 123-20.1 178.6zm65.4-133.3c31.3-31.3 82-31.3 113.2 0 31.3 31.3 31.3 82 0 113.2-31.3 31.3-82 31.3-113.2 0s-31.3-81.9 0-113.2z'));\nexports.SettingOutline = getIcon('setting', outline, getNode(newViewBox, 'M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 0 0 9.3-35.2l-.9-2.6a443.74 443.74 0 0 0-79.7-137.9l-1.8-2.1a32.12 32.12 0 0 0-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 0 0-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 0 0-25.8 25.7l-15.8 85.4a351.86 351.86 0 0 0-99 57.4l-81.9-29.1a32 32 0 0 0-35.1 9.5l-1.8 2.1a446.02 446.02 0 0 0-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 0 0-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0 0 35.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0 0 25.8 25.7l2.7.5a449.4 449.4 0 0 0 159 0l2.7-.5a32.05 32.05 0 0 0 25.8-25.7l15.7-85a350 350 0 0 0 99.7-57.6l81.3 28.9a32 32 0 0 0 35.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 0 1-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 0 1-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 0 1 512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 0 1 400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 0 1 624 502c0 29.9-11.7 58-32.8 79.2z'));\nexports.ShoppingOutline = getIcon('shopping', outline, getNode(newViewBox, 'M832 312H696v-16c0-101.6-82.4-184-184-184s-184 82.4-184 184v16H192c-17.7 0-32 14.3-32 32v536c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V344c0-17.7-14.3-32-32-32zm-432-16c0-61.9 50.1-112 112-112s112 50.1 112 112v16H400v-16zm392 544H232V384h96v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h224v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h96v456z'));\nexports.SkinOutline = getIcon('skin', outline, getNode(newViewBox, 'M870 126H663.8c-17.4 0-32.9 11.9-37 29.3C614.3 208.1 567 246 512 246s-102.3-37.9-114.8-90.7a37.93 37.93 0 0 0-37-29.3H154a44 44 0 0 0-44 44v252a44 44 0 0 0 44 44h75v388a44 44 0 0 0 44 44h478a44 44 0 0 0 44-44V466h75a44 44 0 0 0 44-44V170a44 44 0 0 0-44-44zm-28 268H723v432H301V394H182V198h153.3c28.2 71.2 97.5 120 176.7 120s148.5-48.8 176.7-120H842v196z'));\nexports.SkypeOutline = getIcon('skype', outline, getNode(newViewBox, 'M883.7 578.6c4.1-22.5 6.3-45.5 6.3-68.5 0-51-10-100.5-29.7-147-19-45-46.3-85.4-81-120.1a375.79 375.79 0 0 0-120.1-80.9c-46.6-19.7-96-29.7-147-29.7-24 0-48.1 2.3-71.5 6.8A225.1 225.1 0 0 0 335.6 113c-59.7 0-115.9 23.3-158.1 65.5A222.25 222.25 0 0 0 112 336.6c0 38 9.8 75.4 28.1 108.4-3.7 21.4-5.7 43.3-5.7 65.1 0 51 10 100.5 29.7 147 19 45 46.2 85.4 80.9 120.1 34.7 34.7 75.1 61.9 120.1 80.9 46.6 19.7 96 29.7 147 29.7 22.2 0 44.4-2 66.2-5.9 33.5 18.9 71.3 29 110 29 59.7 0 115.9-23.2 158.1-65.5 42.3-42.2 65.5-98.4 65.5-158.1.1-38-9.7-75.5-28.2-108.7zm-88.1 216C766.9 823.4 729 839 688.4 839c-26.1 0-51.8-6.8-74.6-19.7l-22.5-12.7-25.5 4.5c-17.8 3.2-35.8 4.8-53.6 4.8-41.4 0-81.3-8.1-119.1-24.1-36.3-15.3-69-37.3-97.2-65.5a304.29 304.29 0 0 1-65.5-97.1c-16-37.7-24-77.6-24-119 0-17.4 1.6-35.2 4.6-52.8l4.4-25.1L203 410a151.02 151.02 0 0 1-19.1-73.4c0-40.6 15.7-78.5 44.4-107.2C257.1 200.7 295 185 335.6 185a153 153 0 0 1 71.4 17.9l22.4 11.8 24.8-4.8c18.9-3.6 38.4-5.5 58-5.5 41.4 0 81.3 8.1 119 24 36.5 15.4 69.1 37.4 97.2 65.5 28.2 28.1 50.2 60.8 65.6 97.2 16 37.7 24 77.6 24 119 0 18.4-1.7 37-5.1 55.5l-4.7 25.5 12.6 22.6c12.6 22.5 19.2 48 19.2 73.7 0 40.7-15.7 78.5-44.4 107.2zM583.4 466.2L495 446.6c-33.6-7.7-72.3-17.8-72.3-49.5s27.1-53.9 76.1-53.9c98.7 0 89.7 67.8 138.7 67.8 25.8 0 48.4-15.2 48.4-41.2 0-60.8-97.4-106.5-180-106.5-89.7 0-185.2 38.1-185.2 139.5 0 48.8 17.4 100.8 113.6 124.9l119.4 29.8c36.1 8.9 45.2 29.2 45.2 47.6 0 30.5-30.3 60.3-85.2 60.3-107.2 0-92.3-82.5-149.7-82.5-25.8 0-44.5 17.8-44.5 43.1 0 49.4 60 115.4 194.2 115.4 127.7 0 191-61.5 191-144 0-53.1-24.5-109.6-121.3-131.2z'));\nexports.SlackSquareOutline = getIcon('slack-square', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM529 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V311.4zM361.5 580.2c0 27.8-22.5 50.4-50.3 50.4a50.35 50.35 0 0 1-50.3-50.4c0-27.8 22.5-50.4 50.3-50.4h50.3v50.4zm134 134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V580.2c0-27.8 22.5-50.4 50.3-50.4a50.35 50.35 0 0 1 50.3 50.4v134.4zm-50.2-218.4h-134c-27.8 0-50.3-22.6-50.3-50.4 0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4-.1 27.9-22.6 50.4-50.3 50.4zm0-134.4c-13.3 0-26.1-5.3-35.6-14.8S395 324.8 395 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v50.4h-50.3zm134 403.2c-27.8 0-50.3-22.6-50.3-50.4v-50.4h50.3c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm134-134.4h-134a50.35 50.35 0 0 1-50.3-50.4c0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm0-134.4H663v-50.4c0-27.8 22.5-50.4 50.3-50.4s50.3 22.6 50.3 50.4c0 27.8-22.5 50.4-50.3 50.4z'));\nexports.SlidersOutline = getIcon('sliders', outline, getNode(newViewBox, 'M320 224h-66v-56c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v56h-66c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h66v56c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-56h66c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zm-60 508h-80V292h80v440zm644-436h-66v-96c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v96h-66c-4.4 0-8 3.6-8 8v416c0 4.4 3.6 8 8 8h66v96c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-96h66c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8zm-60 364h-80V364h80v296zM612 404h-66V232c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v172h-66c-4.4 0-8 3.6-8 8v200c0 4.4 3.6 8 8 8h66v172c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V620h66c4.4 0 8-3.6 8-8V412c0-4.4-3.6-8-8-8zm-60 145a3 3 0 0 1-3 3h-74a3 3 0 0 1-3-3v-74a3 3 0 0 1 3-3h74a3 3 0 0 1 3 3v74z'));\nexports.SmileOutline = getIcon('smile', outline, getNode(newViewBox, 'M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm352 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm263 711c-34.2 34.2-74 61-118.3 79.8C611 874.2 562.3 884 512 884c-50.3 0-99-9.8-144.8-29.2A370.4 370.4 0 0 1 248.9 775c-34.2-34.2-61-74-79.8-118.3C149.8 611 140 562.3 140 512s9.8-99 29.2-144.8A370.4 370.4 0 0 1 249 248.9c34.2-34.2 74-61 118.3-79.8C413 149.8 461.7 140 512 140c50.3 0 99 9.8 144.8 29.2A370.4 370.4 0 0 1 775.1 249c34.2 34.2 61 74 79.8 118.3C874.2 413 884 461.7 884 512s-9.8 99-29.2 144.8A368.89 368.89 0 0 1 775 775zM664 533h-48.1c-4.2 0-7.8 3.2-8.1 7.4C604 589.9 562.5 629 512 629s-92.1-39.1-95.8-88.6c-.3-4.2-3.9-7.4-8.1-7.4H360a8 8 0 0 0-8 8.4c4.4 84.3 74.5 151.6 160 151.6s155.6-67.3 160-151.6a8 8 0 0 0-8-8.4z'));\nexports.SnippetsOutline = getIcon('snippets', outline, getNode(newViewBox, 'M832 112H724V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H500V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H320c-17.7 0-32 14.3-32 32v120h-96c-17.7 0-32 14.3-32 32v632c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32v-96h96c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM664 888H232V336h218v174c0 22.1 17.9 40 40 40h174v338zm0-402H514V336h.2L664 485.8v.2zm128 274h-56V456L544 264H360v-80h68v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h152v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h68v576z'));\nexports.SoundOutline = getIcon('sound', outline, getNode(newViewBox, 'M625.9 115c-5.9 0-11.9 1.6-17.4 5.3L254 352H90c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h164l354.5 231.7c5.5 3.6 11.6 5.3 17.4 5.3 16.7 0 32.1-13.3 32.1-32.1V147.1c0-18.8-15.4-32.1-32.1-32.1zM586 803L293.4 611.7l-18-11.7H146V424h129.4l17.9-11.7L586 221v582zm348-327H806c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16zm-41.9 261.8l-110.3-63.7a15.9 15.9 0 0 0-21.7 5.9l-19.9 34.5c-4.4 7.6-1.8 17.4 5.8 21.8L856.3 800a15.9 15.9 0 0 0 21.7-5.9l19.9-34.5c4.4-7.6 1.7-17.4-5.8-21.8zM760 344a15.9 15.9 0 0 0 21.7 5.9L892 286.2c7.6-4.4 10.2-14.2 5.8-21.8L878 230a15.9 15.9 0 0 0-21.7-5.9L746 287.8a15.99 15.99 0 0 0-5.8 21.8L760 344z'));\nexports.StarOutline = getIcon('star', outline, getNode(newViewBox, 'M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 0 0 .6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0 0 46.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3zM664.8 561.6l36.1 210.3L512 672.7 323.1 772l36.1-210.3-152.8-149L417.6 382 512 190.7 606.4 382l211.2 30.7-152.8 148.9z'));\nexports.StepBackwardOutline = getIcon('step-backward', outline, getNode(normalViewBox, 'M347.6 528.95l383.2 301.02c14.25 11.2 35.2 1.1 35.2-16.95V210.97c0-18.05-20.95-28.14-35.2-16.94L347.6 495.05a21.53 21.53 0 0 0 0 33.9M330 864h-64a8 8 0 0 1-8-8V168a8 8 0 0 1 8-8h64a8 8 0 0 1 8 8v688a8 8 0 0 1-8 8'));\nexports.StepForwardOutline = getIcon('step-forward', outline, getNode(normalViewBox, 'M676.4 528.95L293.2 829.97c-14.25 11.2-35.2 1.1-35.2-16.95V210.97c0-18.05 20.95-28.14 35.2-16.94l383.2 301.02a21.53 21.53 0 0 1 0 33.9M694 864h64a8 8 0 0 0 8-8V168a8 8 0 0 0-8-8h-64a8 8 0 0 0-8 8v688a8 8 0 0 0 8 8'));\nexports.StopOutline = getIcon('stop', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372 0-89 31.3-170.8 83.5-234.8l523.3 523.3C682.8 852.7 601 884 512 884zm288.5-137.2L277.2 223.5C341.2 171.3 423 140 512 140c205.4 0 372 166.6 372 372 0 89-31.3 170.8-83.5 234.8z'));\nexports.SwitcherOutline = getIcon('switcher', outline, getNode(newViewBox, 'M752 240H144c-17.7 0-32 14.3-32 32v608c0 17.7 14.3 32 32 32h608c17.7 0 32-14.3 32-32V272c0-17.7-14.3-32-32-32zm-40 600H184V312h528v528zm168-728H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h576v576c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V144c0-17.7-14.3-32-32-32zM300 550h296v64H300z'));\nexports.TagOutline = getIcon('tag', outline, getNode(newViewBox, 'M938 458.8l-29.6-312.6c-1.5-16.2-14.4-29-30.6-30.6L565.2 86h-.4c-3.2 0-5.7 1-7.6 2.9L88.9 557.2a9.96 9.96 0 0 0 0 14.1l363.8 363.8c1.9 1.9 4.4 2.9 7.1 2.9s5.2-1 7.1-2.9l468.3-468.3c2-2.1 3-5 2.8-8zM459.7 834.7L189.3 564.3 589 164.6 836 188l23.4 247-399.7 399.7zM680 256c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm0 120c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z'));\nexports.TabletOutline = getIcon('tablet', outline, getNode(newViewBox, 'M800 64H224c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zm-8 824H232V136h560v752zM472 784a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.ShopOutline = getIcon('shop', outline, getNode(newViewBox, 'M882 272.1V144c0-17.7-14.3-32-32-32H174c-17.7 0-32 14.3-32 32v128.1c-16.7 1-30 14.9-30 31.9v131.7a177 177 0 0 0 14.4 70.4c4.3 10.2 9.6 19.8 15.6 28.9v345c0 17.6 14.3 32 32 32h676c17.7 0 32-14.3 32-32V535a175 175 0 0 0 15.6-28.9c9.5-22.3 14.4-46 14.4-70.4V304c0-17-13.3-30.9-30-31.9zM214 184h596v88H214v-88zm362 656.1H448V736h128v104.1zm234 0H640V704c0-17.7-14.3-32-32-32H416c-17.7 0-32 14.3-32 32v136.1H214V597.9c2.9 1.4 5.9 2.8 9 4 22.3 9.4 46 14.1 70.4 14.1s48-4.7 70.4-14.1c13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 3-1.3 6-2.6 9-4v242.2zm30-404.4c0 59.8-49 108.3-109.3 108.3-40.8 0-76.4-22.1-95.2-54.9-2.9-5-8.1-8.1-13.9-8.1h-.6c-5.7 0-11 3.1-13.9 8.1A109.24 109.24 0 0 1 512 544c-40.7 0-76.2-22-95-54.7-3-5.1-8.4-8.3-14.3-8.3s-11.4 3.2-14.3 8.3a109.63 109.63 0 0 1-95.1 54.7C233 544 184 495.5 184 435.7v-91.2c0-.3.2-.5.5-.5h655c.3 0 .5.2.5.5v91.2z'));\nexports.TagsOutline = getIcon('tags', outline, getNode(newViewBox, 'M483.2 790.3L861.4 412c1.7-1.7 2.5-4 2.3-6.3l-25.5-301.4c-.7-7.8-6.8-13.9-14.6-14.6L522.2 64.3c-2.3-.2-4.7.6-6.3 2.3L137.7 444.8a8.03 8.03 0 0 0 0 11.3l334.2 334.2c3.1 3.2 8.2 3.2 11.3 0zm62.6-651.7l224.6 19 19 224.6L477.5 694 233.9 450.5l311.9-311.9zm60.16 186.23a48 48 0 1 0 67.88-67.89 48 48 0 1 0-67.88 67.89zM889.7 539.8l-39.6-39.5a8.03 8.03 0 0 0-11.3 0l-362 361.3-237.6-237a8.03 8.03 0 0 0-11.3 0l-39.6 39.5a8.03 8.03 0 0 0 0 11.3l243.2 242.8 39.6 39.5c3.1 3.1 8.2 3.1 11.3 0l407.3-406.6c3.1-3.1 3.1-8.2 0-11.3z'));\nexports.TaobaoCircleOutline = getIcon('taobao-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM315.7 291.5c27.3 0 49.5 22.1 49.5 49.4s-22.1 49.4-49.5 49.4a49.4 49.4 0 1 1 0-98.8zM366.9 578c-13.6 42.3-10.2 26.7-64.4 144.5l-78.5-49s87.7-79.8 105.6-116.2c19.2-38.4-21.1-58.9-21.1-58.9l-60.2-37.5 32.7-50.2c45.4 33.7 48.7 36.6 79.2 67.2 23.8 23.9 20.7 56.8 6.7 100.1zm427.2 55c-15.3 143.8-202.4 90.3-202.4 90.3l10.2-41.1 43.3 9.3c80 5 72.3-64.9 72.3-64.9V423c.6-77.3-72.6-85.4-204.2-38.3l30.6 8.3c-2.5 9-12.5 23.2-25.2 38.6h176v35.6h-99.1v44.5h98.7v35.7h-98.7V622c14.9-4.8 28.6-11.5 40.5-20.5l-8.7-32.5 46.5-14.4 38.8 94.9-57.3 23.9-10.2-37.8c-25.6 19.5-78.8 48-171.8 45.4-99.2 2.6-73.7-112-73.7-112l2.5-1.3H472c-.5 14.7-6.6 38.7 1.7 51.8 6.8 10.8 24.2 12.6 35.3 13.1 1.3.1 2.6.1 3.9.1v-85.3h-101v-35.7h101v-44.5H487c-22.7 24.1-43.5 44.1-43.5 44.1l-30.6-26.7c21.7-22.9 43.3-59.1 56.8-83.2-10.9 4.4-22 9.2-33.6 14.2-11.2 14.3-24.2 29-38.7 43.5.5.8-50-28.4-50-28.4 52.2-44.4 81.4-139.9 81.4-139.9l72.5 20.4s-5.9 14-18.4 35.6c290.3-82.3 307.4 50.5 307.4 50.5s19.1 91.8 3.8 235.7z'));\nexports.ToolOutline = getIcon('tool', outline, getNode(newViewBox, 'M876.6 239.5c-.5-.9-1.2-1.8-2-2.5-5-5-13.1-5-18.1 0L684.2 409.3l-67.9-67.9L788.7 169c.8-.8 1.4-1.6 2-2.5 3.6-6.1 1.6-13.9-4.5-17.5-98.2-58-226.8-44.7-311.3 39.7-67 67-89.2 162-66.5 247.4l-293 293c-3 3-2.8 7.9.3 11l169.7 169.7c3.1 3.1 8.1 3.3 11 .3l292.9-292.9c85.5 22.8 180.5.7 247.6-66.4 84.4-84.5 97.7-213.1 39.7-311.3zM786 499.8c-58.1 58.1-145.3 69.3-214.6 33.6l-8.8 8.8-.1-.1-274 274.1-79.2-79.2 230.1-230.1s0 .1.1.1l52.8-52.8c-35.7-69.3-24.5-156.5 33.6-214.6a184.2 184.2 0 0 1 144-53.5L537 318.9a32.05 32.05 0 0 0 0 45.3l124.5 124.5a32.05 32.05 0 0 0 45.3 0l132.8-132.8c3.7 51.8-14.4 104.8-53.6 143.9z'));\nexports.ThunderboltOutline = getIcon('thunderbolt', outline, getNode(newViewBox, 'M848 359.3H627.7L825.8 109c4.1-5.3.4-13-6.3-13H436c-2.8 0-5.5 1.5-6.9 4L170 547.5c-3.1 5.3.7 12 6.9 12h174.4l-89.4 357.6c-1.9 7.8 7.5 13.3 13.3 7.7L853.5 373c5.2-4.9 1.7-13.7-5.5-13.7zM378.2 732.5l60.3-241H281.1l189.6-327.4h224.6L487 427.4h211L378.2 732.5z'));\nexports.TrophyOutline = getIcon('trophy', outline, getNode(newViewBox, 'M868 160h-92v-40c0-4.4-3.6-8-8-8H256c-4.4 0-8 3.6-8 8v40h-92a44 44 0 0 0-44 44v148c0 81.7 60 149.6 138.2 162C265.7 630.2 359 721.7 476 734.5v105.2H280c-17.7 0-32 14.3-32 32V904c0 4.4 3.6 8 8 8h512c4.4 0 8-3.6 8-8v-32.3c0-17.7-14.3-32-32-32H548V734.5C665 721.7 758.3 630.2 773.8 514 852 501.6 912 433.7 912 352V204a44 44 0 0 0-44-44zM184 352V232h64v207.6a91.99 91.99 0 0 1-64-87.6zm520 128c0 49.1-19.1 95.4-53.9 130.1-34.8 34.8-81 53.9-130.1 53.9h-16c-49.1 0-95.4-19.1-130.1-53.9-34.8-34.8-53.9-81-53.9-130.1V184h384v296zm136-128c0 41-26.9 75.8-64 87.6V232h64v120z'));\nexports.UnlockOutline = getIcon('unlock', outline, getNode(newViewBox, 'M832 464H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v68c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-68c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zm-40 376H232V536h560v304zM484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 1 0-56 0z'));\nexports.UpCircleOutline = getIcon('up-circle', outline, getNode(newViewBox, 'M518.5 360.3a7.95 7.95 0 0 0-12.9 0l-178 246c-3.8 5.3 0 12.7 6.5 12.7H381c10.2 0 19.9-4.9 25.9-13.2L512 460.4l105.2 145.4c6 8.3 15.6 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.5-12.7l-178-246z', 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'));\nexports.UpSquareOutline = getIcon('up-square', outline, getNode(newViewBox, 'M334 624h46.9c10.2 0 19.9-4.9 25.9-13.2L512 465.4l105.2 145.4c6 8.3 15.6 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.5-12.7l-178-246a7.95 7.95 0 0 0-12.9 0l-178 246A7.96 7.96 0 0 0 334 624z', 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.UsbOutline = getIcon('usb', outline, getNode(newViewBox, 'M760 432V144c0-17.7-14.3-32-32-32H296c-17.7 0-32 14.3-32 32v288c-66.2 0-120 52.1-120 116v356c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V548c0-24.3 21.6-44 48.1-44h495.8c26.5 0 48.1 19.7 48.1 44v356c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V548c0-63.9-53.8-116-120-116zm-424 0V184h352v248H336zm120-184h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm160 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'));\nexports.VideoCameraOutline = getIcon('video-camera', outline, getNode(newViewBox, 'M912 302.3L784 376V224c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v576c0 35.3 28.7 64 64 64h592c35.3 0 64-28.7 64-64V648l128 73.7c21.3 12.3 48-3.1 48-27.6V330c0-24.6-26.7-40-48-27.7zM712 792H136V232h576v560zm176-167l-104-59.8V458.9L888 399v226zM208 360h112c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H208c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'));\nexports.WalletOutline = getIcon('wallet', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 464H528V448h312v128zm0 264H184V184h656v200H496c-17.7 0-32 14.3-32 32v192c0 17.7 14.3 32 32 32h344v200zM580 512a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.WarningOutline = getIcon('warning', outline, getNode(newViewBox, 'M464 720a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zm475.7 440l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z'));\nexports.WechatOutline = getIcon('wechat', outline, getNode(newViewBox, 'M690.1 377.4c5.9 0 11.8.2 17.6.5-24.4-128.7-158.3-227.1-319.9-227.1C209 150.8 64 271.4 64 420.2c0 81.1 43.6 154.2 111.9 203.6a21.5 21.5 0 0 1 9.1 17.6c0 2.4-.5 4.6-1.1 6.9-5.5 20.3-14.2 52.8-14.6 54.3-.7 2.6-1.7 5.2-1.7 7.9 0 5.9 4.8 10.8 10.8 10.8 2.3 0 4.2-.9 6.2-2l70.9-40.9c5.3-3.1 11-5 17.2-5 3.2 0 6.4.5 9.5 1.4 33.1 9.5 68.8 14.8 105.7 14.8 6 0 11.9-.1 17.8-.4-7.1-21-10.9-43.1-10.9-66 0-135.8 132.2-245.8 295.3-245.8zm-194.3-86.5c23.8 0 43.2 19.3 43.2 43.1s-19.3 43.1-43.2 43.1c-23.8 0-43.2-19.3-43.2-43.1s19.4-43.1 43.2-43.1zm-215.9 86.2c-23.8 0-43.2-19.3-43.2-43.1s19.3-43.1 43.2-43.1 43.2 19.3 43.2 43.1-19.4 43.1-43.2 43.1zm586.8 415.6c56.9-41.2 93.2-102 93.2-169.7 0-124-120.8-224.5-269.9-224.5-149 0-269.9 100.5-269.9 224.5S540.9 847.5 690 847.5c30.8 0 60.6-4.4 88.1-12.3 2.6-.8 5.2-1.2 7.9-1.2 5.2 0 9.9 1.6 14.3 4.1l59.1 34c1.7 1 3.3 1.7 5.2 1.7a9 9 0 0 0 6.4-2.6 9 9 0 0 0 2.6-6.4c0-2.2-.9-4.4-1.4-6.6-.3-1.2-7.6-28.3-12.2-45.3-.5-1.9-.9-3.8-.9-5.7.1-5.9 3.1-11.2 7.6-14.5zM600.2 587.2c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9c0 19.8-16.2 35.9-36 35.9zm179.9 0c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9a36.08 36.08 0 0 1-36 35.9z'));\nexports.WeiboCircleOutline = getIcon('weibo-circle', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-44.4 672C353.1 736 236 680.4 236 588.9c0-47.8 30.2-103.1 82.3-155.3 69.5-69.6 150.6-101.4 181.1-70.8 13.5 13.5 14.8 36.8 6.1 64.6-4.5 14 13.1 6.3 13.1 6.3 56.2-23.6 105.2-25 123.1.7 9.6 13.7 8.6 32.8-.2 55.1-4.1 10.2 1.3 11.8 9 14.1 31.7 9.8 66.9 33.6 66.9 75.5.2 69.5-99.7 156.9-249.8 156.9zm207.3-290.8a34.9 34.9 0 0 0-7.2-34.1 34.68 34.68 0 0 0-33.1-10.7 18.24 18.24 0 0 1-7.6-35.7c24.1-5.1 50.1 2.3 67.7 21.9 17.7 19.6 22.4 46.3 14.9 69.8a18.13 18.13 0 0 1-22.9 11.7 18.18 18.18 0 0 1-11.8-22.9zm106 34.3s0 .1 0 0a21.1 21.1 0 0 1-26.6 13.7 21.19 21.19 0 0 1-13.6-26.7c11-34.2 4-73.2-21.7-101.8a104.04 104.04 0 0 0-98.9-32.1 21.14 21.14 0 0 1-25.1-16.3 21.07 21.07 0 0 1 16.2-25.1c49.4-10.5 102.8 4.8 139.1 45.1 36.3 40.2 46.1 95.1 30.6 143.2zm-334.5 6.1c-91.4 9-160.7 65.1-154.7 125.2 5.9 60.1 84.8 101.5 176.2 92.5 91.4-9.1 160.7-65.1 154.7-125.3-5.9-60.1-84.8-101.5-176.2-92.4zm80.2 141.7c-18.7 42.3-72.3 64.8-117.8 50.1-43.9-14.2-62.5-57.7-43.3-96.8 18.9-38.4 68-60.1 111.5-48.8 45 11.7 68 54.2 49.6 95.5zm-93-32.2c-14.2-5.9-32.4.2-41.2 13.9-8.8 13.8-4.7 30.2 9.3 36.6 14.3 6.5 33.2.3 42-13.8 8.8-14.3 4.2-30.6-10.1-36.7zm34.9-14.5c-5.4-2.2-12.2.5-15.4 5.8-3.1 5.4-1.4 11.5 4.1 13.8 5.5 2.3 12.6-.3 15.8-5.8 3-5.6 1-11.8-4.5-13.8z'));\nexports.WindowsOutline = getIcon('windows', outline, getNode(newViewBox, 'M120.1 770.6L443 823.2V543.8H120.1v226.8zm63.4-163.5h196.2v141.6l-196.2-31.9V607.1zm340.3 226.5l382 62.2v-352h-382v289.8zm63.4-226.5h255.3v214.4l-255.3-41.6V607.1zm-63.4-415.7v288.8h382V128.1l-382 63.3zm318.7 225.5H587.3V245l255.3-42.3v214.2zm-722.4 63.3H443V201.9l-322.9 53.5v224.8zM183.5 309l196.2-32.5v140.4H183.5V309z'));\nexports.YahooOutline = getIcon('yahoo', outline, getNode(newViewBox, 'M859.9 681.4h-14.1c-27.1 0-49.2 22.2-49.2 49.3v14.1c0 27.1 22.2 49.3 49.2 49.3h14.1c27.1 0 49.2-22.2 49.2-49.3v-14.1c0-27.1-22.2-49.3-49.2-49.3zM402.6 231C216.2 231 65 357 65 512.5S216.2 794 402.6 794s337.6-126 337.6-281.5S589.1 231 402.6 231zm0 507C245.1 738 121 634.6 121 512.5c0-62.3 32.3-119.7 84.9-161v48.4h37l159.8 159.9v65.3h-84.4v56.3h225.1v-56.3H459v-65.3l103.5-103.6h65.3v-56.3H459v65.3l-28.1 28.1-93.4-93.5h37v-56.3H216.4c49.4-35 114.3-56.6 186.2-56.6 157.6 0 281.6 103.4 281.6 225.5S560.2 738 402.6 738zm534.7-507H824.7c-15.5 0-27.7 12.6-27.1 28.1l13.1 366h84.4l65.4-366.4c2.7-15.2-7.8-27.7-23.2-27.7z'));\nexports.WeiboSquareOutline = getIcon('weibo-square', outline, getNode(newViewBox, 'M433.6 595.1c-14.2-5.9-32.4.2-41.2 13.9-8.8 13.8-4.7 30.2 9.3 36.6 14.3 6.5 33.2.3 42-13.8 8.8-14.3 4.2-30.6-10.1-36.7zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM467.6 736C353.1 736 236 680.4 236 588.9c0-47.8 30.2-103.1 82.3-155.3 69.5-69.6 150.6-101.4 181.1-70.8 13.5 13.5 14.8 36.8 6.1 64.6-4.5 14 13.1 6.3 13.1 6.3 56.2-23.6 105.2-25 123.1.7 9.6 13.7 8.6 32.8-.2 55.1-4.1 10.2 1.3 11.8 9 14.1 31.7 9.8 66.9 33.6 66.9 75.5.2 69.5-99.7 156.9-249.8 156.9zm207.3-290.8a34.9 34.9 0 0 0-7.2-34.1 34.68 34.68 0 0 0-33.1-10.7 18.24 18.24 0 0 1-7.6-35.7c24.1-5.1 50.1 2.3 67.7 21.9 17.7 19.6 22.4 46.3 14.9 69.8a18.13 18.13 0 0 1-22.9 11.7 18.18 18.18 0 0 1-11.8-22.9zm106 34.3s0 .1 0 0a21.1 21.1 0 0 1-26.6 13.7 21.19 21.19 0 0 1-13.6-26.7c11-34.2 4-73.2-21.7-101.8a104.04 104.04 0 0 0-98.9-32.1 21.14 21.14 0 0 1-25.1-16.3 21.07 21.07 0 0 1 16.2-25.1c49.4-10.5 102.8 4.8 139.1 45.1 36.3 40.2 46.1 95.1 30.6 143.2zm-334.5 6.1c-91.4 9-160.7 65.1-154.7 125.2 5.9 60.1 84.8 101.5 176.2 92.5 91.4-9.1 160.7-65.1 154.7-125.3-5.9-60.1-84.8-101.5-176.2-92.4zm80.2 141.7c-18.7 42.3-72.3 64.8-117.8 50.1-43.9-14.2-62.5-57.7-43.3-96.8 18.9-38.4 68-60.1 111.5-48.8 45 11.7 68 54.2 49.6 95.5zm-58.1-46.7c-5.4-2.2-12.2.5-15.4 5.8-3.1 5.4-1.4 11.5 4.1 13.8 5.5 2.3 12.6-.3 15.8-5.8 3-5.6 1-11.8-4.5-13.8z'));\nexports.YuqueOutline = getIcon('yuque', outline, getNode(newViewBox, 'M854.6 370.6c-9.9-39.4 9.9-102.2 73.4-124.4l-67.9-3.6s-25.7-90-143.6-98c-117.8-8.1-194.9-3-195-3 .1 0 87.4 55.6 52.4 154.7-25.6 52.5-65.8 95.6-108.8 144.7-1.3 1.3-2.5 2.6-3.5 3.7C319.4 605 96 860 96 860c245.9 64.4 410.7-6.3 508.2-91.1 20.5-.2 35.9-.3 46.3-.3 135.8 0 250.6-117.6 245.9-248.4-3.2-89.9-31.9-110.2-41.8-149.6zm-204.1 334c-10.6 0-26.2.1-46.8.3l-23.6.2-17.8 15.5c-47.1 41-104.4 71.5-171.4 87.6-52.5 12.6-110 16.2-172.7 9.6 18-20.5 36.5-41.6 55.4-63.1 92-104.6 173.8-197.5 236.9-268.5l1.4-1.4 1.3-1.5c4.1-4.6 20.6-23.3 24.7-28.1 9.7-11.1 17.3-19.9 24.5-28.6 30.7-36.7 52.2-67.8 69-102.2l1.6-3.3 1.2-3.4c13.7-38.8 15.4-76.9 6.2-112.8 22.5.7 46.5 1.9 71.7 3.6 33.3 2.3 55.5 12.9 71.1 29.2 5.8 6 10.2 12.5 13.4 18.7 1 2 1.7 3.6 2.3 5l5 17.7c-15.7 34.5-19.9 73.3-11.4 107.2 3 11.8 6.9 22.4 12.3 34.4 2.1 4.7 9.5 20.1 11 23.3 10.3 22.7 15.4 43 16.7 78.7 3.3 94.6-82.7 181.9-182 181.9z'));\nexports.YoutubeOutline = getIcon('youtube', outline, getNode(newViewBox, 'M960 509.2c0-2.2 0-4.7-.1-7.6-.1-8.1-.3-17.2-.5-26.9-.8-27.9-2.2-55.7-4.4-81.9-3-36.1-7.4-66.2-13.4-88.8a139.52 139.52 0 0 0-98.3-98.5c-28.3-7.6-83.7-12.3-161.7-15.2-37.1-1.4-76.8-2.3-116.5-2.8-13.9-.2-26.8-.3-38.4-.4h-29.4c-11.6.1-24.5.2-38.4.4-39.7.5-79.4 1.4-116.5 2.8-78 3-133.5 7.7-161.7 15.2A139.35 139.35 0 0 0 82.4 304C76.3 326.6 72 356.7 69 392.8c-2.2 26.2-3.6 54-4.4 81.9-.3 9.7-.4 18.8-.5 26.9 0 2.9-.1 5.4-.1 7.6v5.6c0 2.2 0 4.7.1 7.6.1 8.1.3 17.2.5 26.9.8 27.9 2.2 55.7 4.4 81.9 3 36.1 7.4 66.2 13.4 88.8 12.8 47.9 50.4 85.7 98.3 98.5 28.2 7.6 83.7 12.3 161.7 15.2 37.1 1.4 76.8 2.3 116.5 2.8 13.9.2 26.8.3 38.4.4h29.4c11.6-.1 24.5-.2 38.4-.4 39.7-.5 79.4-1.4 116.5-2.8 78-3 133.5-7.7 161.7-15.2 47.9-12.8 85.5-50.5 98.3-98.5 6.1-22.6 10.4-52.7 13.4-88.8 2.2-26.2 3.6-54 4.4-81.9.3-9.7.4-18.8.5-26.9 0-2.9.1-5.4.1-7.6v-5.6zm-72 5.2c0 2.1 0 4.4-.1 7.1-.1 7.8-.3 16.4-.5 25.7-.7 26.6-2.1 53.2-4.2 77.9-2.7 32.2-6.5 58.6-11.2 76.3-6.2 23.1-24.4 41.4-47.4 47.5-21 5.6-73.9 10.1-145.8 12.8-36.4 1.4-75.6 2.3-114.7 2.8-13.7.2-26.4.3-37.8.3h-28.6l-37.8-.3c-39.1-.5-78.2-1.4-114.7-2.8-71.9-2.8-124.9-7.2-145.8-12.8-23-6.2-41.2-24.4-47.4-47.5-4.7-17.7-8.5-44.1-11.2-76.3-2.1-24.7-3.4-51.3-4.2-77.9-.3-9.3-.4-18-.5-25.7 0-2.7-.1-5.1-.1-7.1v-4.8c0-2.1 0-4.4.1-7.1.1-7.8.3-16.4.5-25.7.7-26.6 2.1-53.2 4.2-77.9 2.7-32.2 6.5-58.6 11.2-76.3 6.2-23.1 24.4-41.4 47.4-47.5 21-5.6 73.9-10.1 145.8-12.8 36.4-1.4 75.6-2.3 114.7-2.8 13.7-.2 26.4-.3 37.8-.3h28.6l37.8.3c39.1.5 78.2 1.4 114.7 2.8 71.9 2.8 124.9 7.2 145.8 12.8 23 6.2 41.2 24.4 47.4 47.5 4.7 17.7 8.5 44.1 11.2 76.3 2.1 24.7 3.4 51.3 4.2 77.9.3 9.3.4 18 .5 25.7 0 2.7.1 5.1.1 7.1v4.8zM423 646l232-135-232-133z'));\nexports.AlibabaOutline = getIcon('alibaba', outline, getNode(newViewBox, 'M602.9 669.8c-37.2 2.6-33.6-17.3-11.5-46.2 50.4-67.2 143.7-158.5 147.9-225.2 5.8-86.6-81.3-113.4-171-113.4-62.4 1.6-127 18.9-171 34.6-151.6 53.5-246.6 137.5-306.9 232-62.4 93.4-43 183.2 91.8 185.8 101.8-4.2 170.5-32.5 239.7-68.2.5 0-192.5 55.1-263.9 14.7-7.9-4.2-15.7-10-17.8-26.2 0-33.1 54.6-67.7 86.6-78.7v-56.7c64.5 22.6 140.6 16.3 205.7-32 2.1 5.8 4.2 13.1 3.7 21h11c2.6-22.6-12.6-44.6-37.8-46.2 7.3 5.8 12.6 10.5 15.2 14.7l-1 1-.5.5c-83.9 58.8-165.3 31.5-173.1 29.9l46.7-45.7-13.1-33.1c92.9-32.5 169.5-56.2 296.9-78.7l-28.5-23 14.7-8.9c75.5 21 126.4 36.7 123.8 76.6-1 6.8-3.7 14.7-7.9 23.1C660.1 466.1 594 538 567.2 569c-17.3 20.5-34.6 39.4-46.7 58.3-13.6 19.4-20.5 37.3-21 53.5 2.6 131.8 391.4-61.9 468-112.9-111.7 47.8-232.9 93.5-364.6 101.9zm85-302.9c2.8 5.2 4.1 11.6 4.1 19.1-.1-6.8-1.4-13.3-4.1-19.1z'));\nexports.AlignCenterOutline = getIcon('align-center', outline, getNode(newViewBox, 'M264 230h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm496 424c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496zm144 140H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-424H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.AlignLeftOutline = getIcon('align-left', outline, getNode(newViewBox, 'M120 230h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0 424h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm784 140H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-424H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.AlignRightOutline = getIcon('align-right', outline, getNode(newViewBox, 'M904 158H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 424H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 212H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-424H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.AlipayOutline = getIcon('alipay', outline, getNode(newViewBox, 'M789 610.3c-38.7-12.9-90.7-32.7-148.5-53.6 34.8-60.3 62.5-129 80.7-203.6H530.5v-68.6h233.6v-38.3H530.5V132h-95.4c-16.7 0-16.7 16.5-16.7 16.5v97.8H182.2v38.3h236.3v68.6H223.4v38.3h378.4a667.18 667.18 0 0 1-54.5 132.9c-122.8-40.4-253.8-73.2-336.1-53-52.6 13-86.5 36.1-106.5 60.3-91.4 111-25.9 279.6 167.2 279.6C386 811.2 496 747.6 581.2 643 708.3 704 960 808.7 960 808.7V659.4s-31.6-2.5-171-49.1zM253.9 746.6c-150.5 0-195-118.3-120.6-183.1 24.8-21.9 70.2-32.6 94.4-35 89.4-8.8 172.2 25.2 269.9 72.8-68.8 89.5-156.3 145.3-243.7 145.3z'));\nexports.AliyunOutline = getIcon('aliyun', outline, getNode(newViewBox, 'M959.2 383.9c-.3-82.1-66.9-148.6-149.1-148.6H575.9l21.6 85.2 201 43.7a42.58 42.58 0 0 1 32.9 39.7c.1.5.1 216.1 0 216.6a42.58 42.58 0 0 1-32.9 39.7l-201 43.7-21.6 85.3h234.2c82.1 0 148.8-66.5 149.1-148.6V383.9zM225.5 660.4a42.58 42.58 0 0 1-32.9-39.7c-.1-.6-.1-216.1 0-216.6.8-19.4 14.6-35.5 32.9-39.7l201-43.7 21.6-85.2H213.8c-82.1 0-148.8 66.4-149.1 148.6V641c.3 82.1 67 148.6 149.1 148.6H448l-21.6-85.3-200.9-43.9zm200.9-158.8h171v21.3h-171z'));\nexports.AmazonOutline = getIcon('amazon', outline, getNode(newViewBox, 'M825 768.9c-3.3-.9-7.3-.4-11.9 1.3-61.6 28.2-121.5 48.3-179.7 60.2C507.7 856 385.2 842.6 266 790.3c-33.1-14.6-79.1-39.2-138-74a9.36 9.36 0 0 0-5.3-2c-2-.1-3.7.1-5.3.9-1.6.8-2.8 1.8-3.7 3.1-.9 1.3-1.1 3.1-.4 5.4.6 2.2 2.1 4.7 4.6 7.4 10.4 12.2 23.3 25.2 38.6 39s35.6 29.4 60.9 46.8c25.3 17.4 51.8 32.9 79.3 46.4 27.6 13.5 59.6 24.9 96.1 34.1s73 13.8 109.4 13.8c36.2 0 71.4-3.7 105.5-10.9 34.2-7.3 63-15.9 86.5-25.9 23.4-9.9 45-21 64.8-33 19.8-12 34.4-22.2 43.9-30.3 9.5-8.2 16.3-14.6 20.2-19.4 4.6-5.7 6.9-10.6 6.9-14.9.1-4.5-1.7-7.1-5-7.9zM527.4 348.1c-15.2 1.3-33.5 4.1-55 8.3-21.5 4.1-41.4 9.3-59.8 15.4s-37.2 14.6-56.3 25.4c-19.2 10.8-35.5 23.2-49 37s-24.5 31.1-33.1 52c-8.6 20.8-12.9 43.7-12.9 68.7 0 27.1 4.7 51.2 14.3 72.5 9.5 21.3 22.2 38 38.2 50.4 15.9 12.4 34 22.1 54 29.2 20 7.1 41.2 10.3 63.2 9.4 22-.9 43.5-4.3 64.4-10.3 20.8-5.9 40.4-15.4 58.6-28.3 18.2-12.9 33.1-28.2 44.8-45.7 4.3 6.6 8.1 11.5 11.5 14.7l8.7 8.9c5.8 5.9 14.7 14.6 26.7 26.1 11.9 11.5 24.1 22.7 36.3 33.7l104.4-99.9-6-4.9c-4.3-3.3-9.4-8-15.2-14.3-5.8-6.2-11.6-13.1-17.2-20.5-5.7-7.4-10.6-16.1-14.7-25.9-4.1-9.8-6.2-19.3-6.2-28.5V258.7c0-10.1-1.9-21-5.7-32.8-3.9-11.7-10.7-24.5-20.7-38.3-10-13.8-22.4-26.2-37.2-37-14.9-10.8-34.7-20-59.6-27.4-24.8-7.4-52.6-11.1-83.2-11.1-31.3 0-60.4 3.7-87.6 10.9-27.1 7.3-50.3 17-69.7 29.2-19.3 12.2-35.9 26.3-49.7 42.4-13.8 16.1-24.1 32.9-30.8 50.4-6.7 17.5-10.1 35.2-10.1 53.1L408 310c5.5-16.4 12.9-30.6 22-42.8 9.2-12.2 17.9-21 25.8-26.5 8-5.5 16.6-9.9 25.7-13.2 9.2-3.3 15.4-5 18.6-5.4 3.2-.3 5.7-.4 7.6-.4 26.7 0 45.2 7.9 55.6 23.6 6.5 9.5 9.7 23.9 9.7 43.3v56.6c-15.2.6-30.4 1.6-45.6 2.9zM573.1 500c0 16.6-2.2 31.7-6.5 45-9.2 29.1-26.7 47.4-52.4 54.8-22.4 6.6-43.7 3.3-63.9-9.8-21.5-14-32.2-33.8-32.2-59.3 0-19.9 5-36.9 15-51.1 10-14.1 23.3-24.7 40-31.7s33-12 49-14.9c15.9-3 33-4.8 51-5.4V500zm335.2 218.9c-4.3-5.4-15.9-8.9-34.9-10.7-19-1.8-35.5-1.7-49.7.4-15.3 1.8-31.1 6.2-47.3 13.4-16.3 7.1-23.4 13.1-21.6 17.8l.7 1.3.9.7 1.4.2h4.6c.8 0 1.8-.1 3.2-.2 1.4-.1 2.7-.3 3.9-.4 1.2-.1 2.9-.3 5.1-.4 2.1-.1 4.1-.4 6-.7.3 0 3.7-.3 10.3-.9 6.6-.6 11.4-1 14.3-1.3 2.9-.3 7.8-.6 14.5-.9 6.7-.3 12.1-.3 16.1 0 4 .3 8.5.7 13.6 1.1 5.1.4 9.2 1.3 12.4 2.7 3.2 1.3 5.6 3 7.1 5.1 5.2 6.6 4.2 21.2-3 43.9s-14 40.8-20.4 54.2c-2.8 5.7-2.8 9.2 0 10.7s6.7.1 11.9-4c15.6-12.2 28.6-30.6 39.1-55.3 6.1-14.6 10.5-29.8 13.1-45.7 2.4-15.9 2-26.2-1.3-31z'));\nexports.AntCloudOutline = getIcon('ant-cloud', outline, getNode(newViewBox, 'M378.9 738c-3.1 0-6.1-.5-8.8-1.5l4.4 30.7h26.3l-15.5-29.9c-2.1.5-4.2.7-6.4.7zm421-291.2c-12.6 0-24.8 1.5-36.5 4.2-21.4-38.4-62.3-64.3-109.3-64.3-6.9 0-13.6.6-20.2 1.6-35.4-77.4-113.4-131.1-203.9-131.1-112.3 0-205.3 82.6-221.6 190.4C127.3 455.5 64 523.8 64 607c0 88.4 71.6 160.1 160 160.2h50l13.2-27.6c-26.2-8.3-43.3-29-39.1-48.8 4.6-21.6 32.8-33.9 63.1-27.5 22.9 4.9 40.4 19.1 45.5 35.1a26.1 26.1 0 0 1 22.1-12.4h.2c-.8-3.2-1.2-6.5-1.2-9.9 0-20.1 14.8-36.7 34.1-39.6v-25.4c0-4.4 3.6-8 8-8s8 3.6 8 8v26.3c4.6 1.2 8.8 3.2 12.6 5.8l19.5-21.4c3-3.3 8-3.5 11.3-.5 3.3 3 3.5 8 .5 11.3l-20 22-.2.2a40 40 0 0 1-46.9 59.2c-.4 5.6-2.6 10.7-6 14.8l20 38.4H804v-.1c86.5-2.2 156-73 156-160.1 0-88.5-71.7-160.2-160.1-160.2zM338.2 737.2l-4.3 30h24.4l-5.9-41.5c-3.5 4.6-8.3 8.5-14.2 11.5zM797.5 305a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm-65.7 61.3a24 24 0 1 0 48 0 24 24 0 1 0-48 0zM303.4 742.9l-11.6 24.3h26l3.5-24.7c-5.7.8-11.7 1-17.9.4z'));\nexports.ApartmentOutline = getIcon('apartment', outline, getNode(newViewBox, 'M908 640H804V488c0-4.4-3.6-8-8-8H548v-96h108c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h108v96H228c-4.4 0-8 3.6-8 8v152H116c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h288c8.8 0 16-7.2 16-16V656c0-8.8-7.2-16-16-16H292v-88h440v88H620c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h288c8.8 0 16-7.2 16-16V656c0-8.8-7.2-16-16-16zm-564 76v168H176V716h168zm84-408V140h168v168H428zm420 576H680V716h168v168z'));\nexports.AntDesignOutline = getIcon('ant-design', outline, getNode(newViewBox, 'M716.3 313.8c19-18.9 19-49.7 0-68.6l-69.9-69.9.1.1c-18.5-18.5-50.3-50.3-95.3-95.2-21.2-20.7-55.5-20.5-76.5.5L80.9 474.2a53.84 53.84 0 0 0 0 76.4L474.6 944a54.14 54.14 0 0 0 76.5 0l165.1-165c19-18.9 19-49.7 0-68.6a48.7 48.7 0 0 0-68.7 0l-125 125.2c-5.2 5.2-13.3 5.2-18.5 0L189.5 521.4c-5.2-5.2-5.2-13.3 0-18.5l314.4-314.2c.4-.4.9-.7 1.3-1.1 5.2-4.1 12.4-3.7 17.2 1.1l125.2 125.1c19 19 49.8 19 68.7 0zM408.6 514.4a106.3 106.2 0 1 0 212.6 0 106.3 106.2 0 1 0-212.6 0zm536.2-38.6L821.9 353.5c-19-18.9-49.8-18.9-68.7.1a48.4 48.4 0 0 0 0 68.6l83 82.9c5.2 5.2 5.2 13.3 0 18.5l-81.8 81.7a48.4 48.4 0 0 0 0 68.6 48.7 48.7 0 0 0 68.7 0l121.8-121.7a53.93 53.93 0 0 0-.1-76.4z'));\nexports.AreaChartOutline = getIcon('area-chart', outline, getNode(newViewBox, 'M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-616-64h536c4.4 0 8-3.6 8-8V284c0-7.2-8.7-10.7-13.7-5.7L592 488.6l-125.4-124a8.03 8.03 0 0 0-11.3 0l-189 189.6a7.87 7.87 0 0 0-2.3 5.6V720c0 4.4 3.6 8 8 8z'));\nexports.ArrowLeftOutline = getIcon('arrow-left', outline, getNode(newViewBox, 'M872 474H286.9l350.2-304c5.6-4.9 2.2-14-5.2-14h-88.5c-3.9 0-7.6 1.4-10.5 3.9L155 487.8a31.96 31.96 0 0 0 0 48.3L535.1 866c1.5 1.3 3.3 2 5.2 2h91.5c7.4 0 10.8-9.2 5.2-14L286.9 550H872c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z'));\nexports.ArrowDownOutline = getIcon('arrow-down', outline, getNode(newViewBox, 'M862 465.3h-81c-4.6 0-9 2-12.1 5.5L550 723.1V160c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v563.1L255.1 470.8c-3-3.5-7.4-5.5-12.1-5.5h-81c-6.8 0-10.5 8.1-6 13.2L487.9 861a31.96 31.96 0 0 0 48.3 0L868 478.5c4.5-5.2.8-13.2-6-13.2z'));\nexports.ArrowUpOutline = getIcon('arrow-up', outline, getNode(newViewBox, 'M868 545.5L536.1 163a31.96 31.96 0 0 0-48.3 0L156 545.5a7.97 7.97 0 0 0 6 13.2h81c4.6 0 9-2 12.1-5.5L474 300.9V864c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V300.9l218.9 252.3c3 3.5 7.4 5.5 12.1 5.5h81c6.8 0 10.5-8 6-13.2z'));\nexports.ArrowsAltOutline = getIcon('arrows-alt', outline, getNode(newViewBox, 'M855 160.1l-189.2 23.5c-6.6.8-9.3 8.8-4.7 13.5l54.7 54.7-153.5 153.5a8.03 8.03 0 0 0 0 11.3l45.1 45.1c3.1 3.1 8.2 3.1 11.3 0l153.6-153.6 54.7 54.7a7.94 7.94 0 0 0 13.5-4.7L863.9 169a7.9 7.9 0 0 0-8.9-8.9zM416.6 562.3a8.03 8.03 0 0 0-11.3 0L251.8 715.9l-54.7-54.7a7.94 7.94 0 0 0-13.5 4.7L160.1 855c-.6 5.2 3.7 9.5 8.9 8.9l189.2-23.5c6.6-.8 9.3-8.8 4.7-13.5l-54.7-54.7 153.6-153.6c3.1-3.1 3.1-8.2 0-11.3l-45.2-45z'));\nexports.ArrowRightOutline = getIcon('arrow-right', outline, getNode(newViewBox, 'M869 487.8L491.2 159.9c-2.9-2.5-6.6-3.9-10.5-3.9h-88.5c-7.4 0-10.8 9.2-5.2 14l350.2 304H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h585.1L386.9 854c-5.6 4.9-2.2 14 5.2 14h91.5c1.9 0 3.8-.7 5.2-2L869 536.2a32.07 32.07 0 0 0 0-48.4z'));\nexports.AuditOutline = getIcon('audit', outline, getNode(newViewBox, 'M296 250c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm184 144H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-48 458H208V148h560v320c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm440-88H728v-36.6c46.3-13.8 80-56.6 80-107.4 0-61.9-50.1-112-112-112s-112 50.1-112 112c0 50.7 33.7 93.6 80 107.4V764H520c-8.8 0-16 7.2-16 16v152c0 8.8 7.2 16 16 16h352c8.8 0 16-7.2 16-16V780c0-8.8-7.2-16-16-16zM646 620c0-27.6 22.4-50 50-50s50 22.4 50 50-22.4 50-50 50-50-22.4-50-50zm180 266H566v-60h260v60z'));\nexports.BarChartOutline = getIcon('bar-chart', outline, getNode(newViewBox, 'M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-600-80h56c4.4 0 8-3.6 8-8V560c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V384c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v320c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V462c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v242c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v400c0 4.4 3.6 8 8 8z'));\nexports.BarcodeOutline = getIcon('barcode', outline, getNode(newViewBox, 'M120 160H72c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8zm833 0h-48c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8zM200 736h112c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8H200c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8zm321 0h48c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8zm126 0h178c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8H647c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8zm-255 0h48c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8zm-79 64H201c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h112c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm257 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm256 0H648c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h178c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-385 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'));\nexports.BarsOutline = getIcon('bars', outline, getNode(normalViewBox, 'M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 284a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 284a56 56 0 1 0 112 0 56 56 0 1 0-112 0z'));\nexports.BgColorsOutline = getIcon('bg-colors', outline, getNode(newViewBox, 'M766.4 744.3c43.7 0 79.4-36.2 79.4-80.5 0-53.5-79.4-140.8-79.4-140.8S687 610.3 687 663.8c0 44.3 35.7 80.5 79.4 80.5zm-377.1-44.1c7.1 7.1 18.6 7.1 25.6 0l256.1-256c7.1-7.1 7.1-18.6 0-25.6l-256-256c-.6-.6-1.3-1.2-2-1.7l-78.2-78.2a9.11 9.11 0 0 0-12.8 0l-48 48a9.11 9.11 0 0 0 0 12.8l67.2 67.2-207.8 207.9c-7.1 7.1-7.1 18.6 0 25.6l255.9 256zm12.9-448.6l178.9 178.9H223.4l178.8-178.9zM904 816H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8z'));\nexports.BehanceOutline = getIcon('behance', outline, getNode(newViewBox, 'M634 294.3h199.5v48.4H634zM434.1 485.8c44.1-21.1 67.2-53.2 67.2-102.8 0-98.1-73-121.9-157.3-121.9H112v492.4h238.5c89.4 0 173.3-43 173.3-143 0-61.8-29.2-107.5-89.7-124.7zM220.2 345.1h101.5c39.1 0 74.2 10.9 74.2 56.3 0 41.8-27.3 58.6-66 58.6H220.2V345.1zm115.5 324.8H220.1V534.3H338c47.6 0 77.7 19.9 77.7 70.3 0 49.6-35.9 65.3-80 65.3zm575.8-89.5c0-105.5-61.7-193.4-173.3-193.4-108.5 0-182.3 81.7-182.3 188.8 0 111 69.9 187.2 182.3 187.2 85.1 0 140.2-38.3 166.7-120h-86.3c-9.4 30.5-47.6 46.5-77.3 46.5-57.4 0-87.4-33.6-87.4-90.7h256.9c.3-5.9.7-12.1.7-18.4zM653.9 537c3.1-46.9 34.4-76.2 81.2-76.2 49.2 0 73.8 28.9 78.1 76.2H653.9z'));\nexports.BlockOutline = getIcon('block', outline, getNode(newViewBox, 'M856 376H648V168c0-8.8-7.2-16-16-16H168c-8.8 0-16 7.2-16 16v464c0 8.8 7.2 16 16 16h208v208c0 8.8 7.2 16 16 16h464c8.8 0 16-7.2 16-16V392c0-8.8-7.2-16-16-16zm-480 16v188H220V220h360v156H392c-8.8 0-16 7.2-16 16zm204 52v136H444V444h136zm224 360H444V648h188c8.8 0 16-7.2 16-16V444h156v360z'));\nexports.BoldOutline = getIcon('bold', outline, getNode(newViewBox, 'M697.8 481.4c33.6-35 54.2-82.3 54.2-134.3v-10.2C752 229.3 663.9 142 555.3 142H259.4c-15.1 0-27.4 12.3-27.4 27.4v679.1c0 16.3 13.2 29.5 29.5 29.5h318.7c117 0 211.8-94.2 211.8-210.5v-11c0-73-37.4-137.3-94.2-175.1zM328 238h224.7c57.1 0 103.3 44.4 103.3 99.3v9.5c0 54.8-46.3 99.3-103.3 99.3H328V238zm366.6 429.4c0 62.9-51.7 113.9-115.5 113.9H328V542.7h251.1c63.8 0 115.5 51 115.5 113.9v10.8z'));\nexports.BorderBottomOutline = getIcon('border-bottom', outline, getNode(newViewBox, 'M872 808H152c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-720-94h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-498h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0 332h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-166h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm166 166h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-332h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm332 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0 332h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm222-72h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-388 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm388-404h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-388 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm388 426h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-388 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm388-404h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-388 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z'));\nexports.BorderLeftOutline = getIcon('border-left', outline, getNode(newViewBox, 'M208 144h-56c-4.4 0-8 3.6-8 8v720c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V152c0-4.4-3.6-8-8-8zm166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm498 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM540 310h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM374 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.BorderOuterOutline = getIcon('border-outer', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM484 366h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM302 548h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm364 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-182 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0 182h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z'));\nexports.BorderInnerOutline = getIcon('border-inner', outline, getNode(newViewBox, 'M872 476H548V144h-72v332H152c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h324v332h72V548h324c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-664h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM650 216h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm56 592h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-56-592h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-166 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm56 592h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-56-426h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm56 260h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.BorderRightOutline = getIcon('border-right', outline, getNode(newViewBox, 'M872 144h-56c-4.4 0-8 3.6-8 8v720c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V152c0-4.4-3.6-8-8-8zm-166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-498 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm166 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM208 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm498 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM374 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.BorderHorizontalOutline = getIcon('border-horizontal', outline, getNode(newViewBox, 'M540 144h-56c-4.4 0-8 3.6-8 8v720c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V152c0-4.4-3.6-8-8-8zm-166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm498 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-664 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm498 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM208 310h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm664 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-664 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm664 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM374 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.BorderTopOutline = getIcon('border-top', outline, getNode(newViewBox, 'M872 144H152c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM208 310h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm166-166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332-498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.BorderVerticleOutline = getIcon('border-verticle', outline, getNode(newViewBox, 'M872 476H152c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-664h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM650 216h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm56 592h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-56-592h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-166 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm332 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM208 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM152 382h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm332 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM208 642h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.BorderOutline = getIcon('border', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'));\nexports.BranchesOutline = getIcon('branches', outline, getNode(newViewBox, 'M740 161c-61.8 0-112 50.2-112 112 0 50.1 33.1 92.6 78.5 106.9v95.9L320 602.4V318.1c44.2-15 76-56.9 76-106.1 0-61.8-50.2-112-112-112s-112 50.2-112 112c0 49.2 31.8 91 76 106.1V706c-44.2 15-76 56.9-76 106.1 0 61.8 50.2 112 112 112s112-50.2 112-112c0-49.2-31.8-91-76-106.1v-27.8l423.5-138.7a50.52 50.52 0 0 0 34.9-48.2V378.2c42.9-15.8 73.6-57 73.6-105.2 0-61.8-50.2-112-112-112zm-504 51a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm96 600a48.01 48.01 0 0 1-96 0 48.01 48.01 0 0 1 96 0zm408-491a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.CheckOutline = getIcon('check', outline, getNode(newViewBox, 'M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z'));\nexports.CiOutline = getIcon('ci', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm218-572.1h-50.4c-4.4 0-8 3.6-8 8v384.2c0 4.4 3.6 8 8 8H730c4.4 0 8-3.6 8-8V319.9c0-4.4-3.6-8-8-8zm-281.4 49.6c49.5 0 83.1 31.5 87 77.6.4 4.2 3.8 7.4 8 7.4h52.6c2.4 0 4.4-2 4.4-4.4 0-81.2-64-138.1-152.3-138.1C345.4 304 286 373.5 286 488.4v49c0 114 59.4 182.6 162.3 182.6 88 0 152.3-55.1 152.3-132.5 0-2.4-2-4.4-4.4-4.4h-52.7c-4.2 0-7.6 3.2-8 7.3-4.2 43-37.7 72.4-87 72.4-61.1 0-95.6-44.9-95.6-125.2v-49.3c.1-81.4 34.6-126.8 95.7-126.8z'));\nexports.CloseOutline = getIcon('close', outline, getNode(newViewBox, 'M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 0 0 203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z'));\nexports.CloudDownloadOutline = getIcon('cloud-download', outline, getNode(newViewBox, 'M624 706.3h-74.1V464c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v242.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.7a8 8 0 0 0 12.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9z', 'M811.4 366.7C765.6 245.9 648.9 160 512.2 160S258.8 245.8 213 366.6C127.3 389.1 64 467.2 64 560c0 110.5 89.5 200 199.9 200H304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8h-40.1c-33.7 0-65.4-13.4-89-37.7-23.5-24.2-36-56.8-34.9-90.6.9-26.4 9.9-51.2 26.2-72.1 16.7-21.3 40.1-36.8 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0 1 52.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10C846.1 454.5 884 503.8 884 560c0 33.1-12.9 64.3-36.3 87.7a123.07 123.07 0 0 1-87.6 36.3H720c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h40.1C870.5 760 960 670.5 960 560c0-92.7-63.1-170.7-148.6-193.3z'));\nexports.CloudServerOutline = getIcon('cloud-server', outline, getNode(newViewBox, 'M704 446H320c-4.4 0-8 3.6-8 8v402c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8V454c0-4.4-3.6-8-8-8zm-328 64h272v117H376V510zm272 290H376V683h272v117z', 'M424 748a32 32 0 1 0 64 0 32 32 0 1 0-64 0zm0-178a32 32 0 1 0 64 0 32 32 0 1 0-64 0z', 'M811.4 368.9C765.6 248 648.9 162 512.2 162S258.8 247.9 213 368.8C126.9 391.5 63.5 470.2 64 563.6 64.6 668 145.6 752.9 247.6 762c4.7.4 8.7-3.3 8.7-8v-60.4c0-4-3-7.4-7-7.9-27-3.4-52.5-15.2-72.1-34.5-24-23.5-37.2-55.1-37.2-88.6 0-28 9.1-54.4 26.2-76.4 16.7-21.4 40.2-36.9 66.1-43.7l37.9-10 13.9-36.7c8.6-22.8 20.6-44.2 35.7-63.5 14.9-19.2 32.6-36 52.4-50 41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.3c19.9 14 37.5 30.8 52.4 50 15.1 19.3 27.1 40.7 35.7 63.5l13.8 36.6 37.8 10c54.2 14.4 92.1 63.7 92.1 120 0 33.6-13.2 65.1-37.2 88.6-19.5 19.2-44.9 31.1-71.9 34.5-4 .5-6.9 3.9-6.9 7.9V754c0 4.7 4.1 8.4 8.8 8 101.7-9.2 182.5-94 183.2-198.2.6-93.4-62.7-172.1-148.6-194.9z'));\nexports.CloudSyncOutline = getIcon('cloud-sync', outline, getNode(newViewBox, 'M811.4 368.9C765.6 248 648.9 162 512.2 162S258.8 247.9 213 368.8C126.9 391.5 63.5 470.2 64 563.6 64.6 668 145.6 752.9 247.6 762c4.7.4 8.7-3.3 8.7-8v-60.4c0-4-3-7.4-7-7.9-27-3.4-52.5-15.2-72.1-34.5-24-23.5-37.2-55.1-37.2-88.6 0-28 9.1-54.4 26.2-76.4 16.7-21.4 40.2-36.9 66.1-43.7l37.9-10 13.9-36.7c8.6-22.8 20.6-44.2 35.7-63.5 14.9-19.2 32.6-36 52.4-50 41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.3c19.9 14 37.5 30.8 52.4 50 15.1 19.3 27.1 40.7 35.7 63.5l13.8 36.6 37.8 10c54.2 14.4 92.1 63.7 92.1 120 0 33.6-13.2 65.1-37.2 88.6-19.5 19.2-44.9 31.1-71.9 34.5-4 .5-6.9 3.9-6.9 7.9V754c0 4.7 4.1 8.4 8.8 8 101.7-9.2 182.5-94 183.2-198.2.6-93.4-62.7-172.1-148.6-194.9z', 'M376.9 656.4c1.8-33.5 15.7-64.7 39.5-88.6 25.4-25.5 60-39.8 96-39.8 36.2 0 70.3 14.1 96 39.8 1.4 1.4 2.7 2.8 4.1 4.3l-25 19.6a8 8 0 0 0 3 14.1l98.2 24c5 1.2 9.9-2.6 9.9-7.7l.5-101.3c0-6.7-7.6-10.5-12.9-6.3L663 532.7c-36.6-42-90.4-68.6-150.5-68.6-107.4 0-195 85.1-199.4 191.7-.2 4.5 3.4 8.3 8 8.3H369c4.2-.1 7.7-3.4 7.9-7.7zM703 664h-47.9c-4.2 0-7.7 3.3-8 7.6-1.8 33.5-15.7 64.7-39.5 88.6-25.4 25.5-60 39.8-96 39.8-36.2 0-70.3-14.1-96-39.8-1.4-1.4-2.7-2.8-4.1-4.3l25-19.6a8 8 0 0 0-3-14.1l-98.2-24c-5-1.2-9.9 2.6-9.9 7.7l-.4 101.4c0 6.7 7.6 10.5 12.9 6.3l23.2-18.2c36.6 42 90.4 68.6 150.5 68.6 107.4 0 195-85.1 199.4-191.7.2-4.5-3.4-8.3-8-8.3z'));\nexports.CloudUploadOutline = getIcon('cloud-upload', outline, getNode(newViewBox, 'M518.3 459a8 8 0 0 0-12.6 0l-112 141.7a7.98 7.98 0 0 0 6.3 12.9h73.9V856c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V613.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 459z', 'M811.4 366.7C765.6 245.9 648.9 160 512.2 160S258.8 245.8 213 366.6C127.3 389.1 64 467.2 64 560c0 110.5 89.5 200 199.9 200H304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8h-40.1c-33.7 0-65.4-13.4-89-37.7-23.5-24.2-36-56.8-34.9-90.6.9-26.4 9.9-51.2 26.2-72.1 16.7-21.3 40.1-36.8 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0 1 52.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10C846.1 454.5 884 503.8 884 560c0 33.1-12.9 64.3-36.3 87.7a123.07 123.07 0 0 1-87.6 36.3H720c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h40.1C870.5 760 960 670.5 960 560c0-92.7-63.1-170.7-148.6-193.3z'));\nexports.ClusterOutline = getIcon('cluster', outline, getNode(newViewBox, 'M888 680h-54V540H546v-92h238c8.8 0 16-7.2 16-16V168c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16v264c0 8.8 7.2 16 16 16h238v92H190v140h-54c-4.4 0-8 3.6-8 8v176c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8V688c0-4.4-3.6-8-8-8h-54v-72h220v72h-54c-4.4 0-8 3.6-8 8v176c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8V688c0-4.4-3.6-8-8-8h-54v-72h220v72h-54c-4.4 0-8 3.6-8 8v176c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8V688c0-4.4-3.6-8-8-8zM256 805.3c0 1.5-1.2 2.7-2.7 2.7h-58.7c-1.5 0-2.7-1.2-2.7-2.7v-58.7c0-1.5 1.2-2.7 2.7-2.7h58.7c1.5 0 2.7 1.2 2.7 2.7v58.7zm288 0c0 1.5-1.2 2.7-2.7 2.7h-58.7c-1.5 0-2.7-1.2-2.7-2.7v-58.7c0-1.5 1.2-2.7 2.7-2.7h58.7c1.5 0 2.7 1.2 2.7 2.7v58.7zM288 384V216h448v168H288zm544 421.3c0 1.5-1.2 2.7-2.7 2.7h-58.7c-1.5 0-2.7-1.2-2.7-2.7v-58.7c0-1.5 1.2-2.7 2.7-2.7h58.7c1.5 0 2.7 1.2 2.7 2.7v58.7zM360 300a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'));\nexports.CodepenOutline = getIcon('codepen', outline, getNode(newViewBox, 'M911.7 385.3l-.3-1.5c-.2-1-.3-1.9-.6-2.9-.2-.6-.4-1.1-.5-1.7-.3-.8-.5-1.7-.9-2.5-.2-.6-.5-1.1-.8-1.7-.4-.8-.8-1.5-1.2-2.3-.3-.5-.6-1.1-1-1.6-.8-1.2-1.7-2.4-2.6-3.6-.5-.6-1.1-1.3-1.7-1.9-.4-.5-.9-.9-1.4-1.3-.6-.6-1.3-1.1-1.9-1.6-.5-.4-1-.8-1.6-1.2-.2-.1-.4-.3-.6-.4L531.1 117.8a34.3 34.3 0 0 0-38.1 0L127.3 361.3c-.2.1-.4.3-.6.4-.5.4-1 .8-1.6 1.2-.7.5-1.3 1.1-1.9 1.6-.5.4-.9.9-1.4 1.3-.6.6-1.2 1.2-1.7 1.9-1 1.1-1.8 2.3-2.6 3.6-.3.5-.7 1-1 1.6-.4.7-.8 1.5-1.2 2.3-.3.5-.5 1.1-.8 1.7-.3.8-.6 1.7-.9 2.5-.2.6-.4 1.1-.5 1.7-.2.9-.4 1.9-.6 2.9l-.3 1.5c-.2 1.5-.3 3-.3 4.5v243.5c0 1.5.1 3 .3 4.5l.3 1.5.6 2.9c.2.6.3 1.1.5 1.7.3.9.6 1.7.9 2.5.2.6.5 1.1.8 1.7.4.8.7 1.5 1.2 2.3.3.5.6 1.1 1 1.6.5.7.9 1.4 1.5 2.1l1.2 1.5c.5.6 1.1 1.3 1.7 1.9.4.5.9.9 1.4 1.3.6.6 1.3 1.1 1.9 1.6.5.4 1 .8 1.6 1.2.2.1.4.3.6.4L493 905.7c5.6 3.8 12.3 5.8 19.1 5.8 6.6 0 13.3-1.9 19.1-5.8l365.6-243.5c.2-.1.4-.3.6-.4.5-.4 1-.8 1.6-1.2.7-.5 1.3-1.1 1.9-1.6.5-.4.9-.9 1.4-1.3.6-.6 1.2-1.2 1.7-1.9l1.2-1.5 1.5-2.1c.3-.5.7-1 1-1.6.4-.8.8-1.5 1.2-2.3.3-.5.5-1.1.8-1.7.3-.8.6-1.7.9-2.5.2-.5.4-1.1.5-1.7.3-.9.4-1.9.6-2.9l.3-1.5c.2-1.5.3-3 .3-4.5V389.8c-.3-1.5-.4-3-.6-4.5zM546.4 210.5l269.4 179.4-120.3 80.4-149-99.6V210.5zm-68.8 0v160.2l-149 99.6-120.3-80.4 269.3-179.4zM180.7 454.1l86 57.5-86 57.5v-115zm296.9 358.5L208.3 633.2l120.3-80.4 149 99.6v160.2zM512 592.8l-121.6-81.2L512 430.3l121.6 81.2L512 592.8zm34.4 219.8V652.4l149-99.6 120.3 80.4-269.3 179.4zM843.3 569l-86-57.5 86-57.5v115z'));\nexports.CodeSandboxOutline = getIcon('code-sandbox', outline, getNode(newViewBox, 'M709.6 210l.4-.2h.2L512 96 313.9 209.8h-.2l.7.3L151.5 304v416L512 928l360.5-208V304l-162.9-94zM482.7 843.6L339.6 761V621.4L210 547.8V372.9l272.7 157.3v313.4zM238.2 321.5l134.7-77.8 138.9 79.7 139.1-79.9 135.2 78-273.9 158-274-158zM814 548.3l-128.8 73.1v139.1l-143.9 83V530.4L814 373.1v175.2z'));\nexports.ColumHeightOutline = getIcon('colum-height', outline, getNode(newViewBox, 'M840 836H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm0-724H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM610.8 378c6 0 9.4-7 5.7-11.7L515.7 238.7a7.14 7.14 0 0 0-11.3 0L403.6 366.3a7.23 7.23 0 0 0 5.7 11.7H476v268h-62.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H548V378h62.8z'));\nexports.ColumnWidthOutline = getIcon('column-width', outline, getNode(newViewBox, 'M180 176h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zm724 0h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zM785.3 504.3L657.7 403.6a7.23 7.23 0 0 0-11.7 5.7V476H378v-62.8c0-6-7-9.4-11.7-5.7L238.7 508.3a7.14 7.14 0 0 0 0 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V548h268v62.8c0 6 7 9.4 11.7 5.7l127.5-100.8c3.8-2.9 3.8-8.5.2-11.4z'));\nexports.ColumnHeightOutline = getIcon('column-height', outline, getNode(newViewBox, 'M840 836H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm0-724H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM610.8 378c6 0 9.4-7 5.7-11.7L515.7 238.7a7.14 7.14 0 0 0-11.3 0L403.6 366.3a7.23 7.23 0 0 0 5.7 11.7H476v268h-62.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H548V378h62.8z'));\nexports.CoffeeOutline = getIcon('coffee', outline, getNode(normalViewBox, 'M275 281c19.9 0 36-16.1 36-36V36c0-19.9-16.1-36-36-36s-36 16.1-36 36v209c0 19.9 16.1 36 36 36zm613 144H768c0-39.8-32.2-72-72-72H200c-39.8 0-72 32.2-72 72v248c0 3.4.2 6.7.7 9.9-.5 7-.7 14-.7 21.1 0 176.7 143.3 320 320 320 160.1 0 292.7-117.5 316.3-271H888c39.8 0 72-32.2 72-72V497c0-39.8-32.2-72-72-72zM696 681h-1.1c.7 7.6 1.1 15.2 1.1 23 0 137-111 248-248 248S200 841 200 704c0-7.8.4-15.4 1.1-23H200V425h496v256zm192-8H776V497h112v176zM613 281c19.9 0 36-16.1 36-36V36c0-19.9-16.1-36-36-36s-36 16.1-36 36v209c0 19.9 16.1 36 36 36zm-170 0c19.9 0 36-16.1 36-36V36c0-19.9-16.1-36-36-36s-36 16.1-36 36v209c0 19.9 16.1 36 36 36z'));\nexports.CopyrightOutline = getIcon('copyright', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm5.6-532.7c53 0 89 33.8 93 83.4.3 4.2 3.8 7.4 8 7.4h56.7c2.6 0 4.7-2.1 4.7-4.7 0-86.7-68.4-147.4-162.7-147.4C407.4 290 344 364.2 344 486.8v52.3C344 660.8 407.4 734 517.3 734c94 0 162.7-58.8 162.7-141.4 0-2.6-2.1-4.7-4.7-4.7h-56.8c-4.2 0-7.6 3.2-8 7.3-4.2 46.1-40.1 77.8-93 77.8-65.3 0-102.1-47.9-102.1-133.6v-52.6c.1-87 37-135.5 102.2-135.5z'));\nexports.DashOutline = getIcon('dash', outline, getNode(newViewBox, 'M112 476h160v72H112zm320 0h160v72H432zm320 0h160v72H752z'));\nexports.DeploymentUnitOutline = getIcon('deployment-unit', outline, getNode(newViewBox, 'M888.3 693.2c-42.5-24.6-94.3-18-129.2 12.8l-53-30.7V523.6c0-15.7-8.4-30.3-22-38.1l-136-78.3v-67.1c44.2-15 76-56.8 76-106.1 0-61.9-50.1-112-112-112s-112 50.1-112 112c0 49.3 31.8 91.1 76 106.1v67.1l-136 78.3c-13.6 7.8-22 22.4-22 38.1v151.6l-53 30.7c-34.9-30.8-86.8-37.4-129.2-12.8-53.5 31-71.7 99.4-41 152.9 30.8 53.5 98.9 71.9 152.2 41 42.5-24.6 62.7-73 53.6-118.8l48.7-28.3 140.6 81c6.8 3.9 14.4 5.9 22 5.9s15.2-2 22-5.9L674.5 740l48.7 28.3c-9.1 45.7 11.2 94.2 53.6 118.8 53.3 30.9 121.5 12.6 152.2-41 30.8-53.6 12.6-122-40.7-152.9zm-673 138.4a47.6 47.6 0 0 1-65.2-17.6c-13.2-22.9-5.4-52.3 17.5-65.5a47.6 47.6 0 0 1 65.2 17.6c13.2 22.9 5.4 52.3-17.5 65.5zM522 463.8zM464 234a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm170 446.2l-122 70.3-122-70.3V539.8l122-70.3 122 70.3v140.4zm239.9 133.9c-13.2 22.9-42.4 30.8-65.2 17.6-22.8-13.2-30.7-42.6-17.5-65.5s42.4-30.8 65.2-17.6c22.9 13.2 30.7 42.5 17.5 65.5z'));\nexports.DesktopOutline = getIcon('desktop', outline, getNode(newViewBox, 'M928 140H96c-17.7 0-32 14.3-32 32v496c0 17.7 14.3 32 32 32h380v112H304c-8.8 0-16 7.2-16 16v48c0 4.4 3.6 8 8 8h432c4.4 0 8-3.6 8-8v-48c0-8.8-7.2-16-16-16H548V700h380c17.7 0 32-14.3 32-32V172c0-17.7-14.3-32-32-32zm-40 488H136V212h752v416z'));\nexports.DingdingOutline = getIcon('dingding', outline, getNode(newViewBox, 'M573.7 252.5C422.5 197.4 201.3 96.7 201.3 96.7c-15.7-4.1-17.9 11.1-17.9 11.1-5 61.1 33.6 160.5 53.6 182.8 19.9 22.3 319.1 113.7 319.1 113.7S326 357.9 270.5 341.9c-55.6-16-37.9 17.8-37.9 17.8 11.4 61.7 64.9 131.8 107.2 138.4 42.2 6.6 220.1 4 220.1 4s-35.5 4.1-93.2 11.9c-42.7 5.8-97 12.5-111.1 17.8-33.1 12.5 24 62.6 24 62.6 84.7 76.8 129.7 50.5 129.7 50.5 33.3-10.7 61.4-18.5 85.2-24.2L565 743.1h84.6L603 928l205.3-271.9H700.8l22.3-38.7c.3.5.4.8.4.8S799.8 496.1 829 433.8l.6-1h-.1c5-10.8 8.6-19.7 10-25.8 17-71.3-114.5-99.4-265.8-154.5z'));\nexports.DisconnectOutline = getIcon('disconnect', outline, getNode(newViewBox, 'M832.6 191.4c-84.6-84.6-221.5-84.6-306 0l-96.9 96.9 51 51 96.9-96.9c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204l-96.9 96.9 51.1 51.1 96.9-96.9c84.4-84.6 84.4-221.5-.1-306.1zM446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l96.9-96.9-51.1-51.1-96.9 96.9c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l96.9-96.9-51-51-96.8 97zM260.3 209.4a8.03 8.03 0 0 0-11.3 0L209.4 249a8.03 8.03 0 0 0 0 11.3l554.4 554.4c3.1 3.1 8.2 3.1 11.3 0l39.6-39.6c3.1-3.1 3.1-8.2 0-11.3L260.3 209.4z'));\nexports.DollarOutline = getIcon('dollar', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm47.7-395.2l-25.4-5.9V348.6c38 5.2 61.5 29 65.5 58.2.5 4 3.9 6.9 7.9 6.9h44.9c4.7 0 8.4-4.1 8-8.8-6.1-62.3-57.4-102.3-125.9-109.2V263c0-4.4-3.6-8-8-8h-28.1c-4.4 0-8 3.6-8 8v33c-70.8 6.9-126.2 46-126.2 119 0 67.6 49.8 100.2 102.1 112.7l24.7 6.3v142.7c-44.2-5.9-69-29.5-74.1-61.3-.6-3.8-4-6.6-7.9-6.6H363c-4.7 0-8.4 4-8 8.7 4.5 55 46.2 105.6 135.2 112.1V761c0 4.4 3.6 8 8 8h28.4c4.4 0 8-3.6 8-8.1l-.2-31.7c78.3-6.9 134.3-48.8 134.3-124-.1-69.4-44.2-100.4-109-116.4zm-68.6-16.2c-5.6-1.6-10.3-3.1-15-5-33.8-12.2-49.5-31.9-49.5-57.3 0-36.3 27.5-57 64.5-61.7v124zM534.3 677V543.3c3.1.9 5.9 1.6 8.8 2.2 47.3 14.4 63.2 34.4 63.2 65.1 0 39.1-29.4 62.6-72 66.4z'));\nexports.DoubleRightOutline = getIcon('double-right', outline, getNode(newViewBox, 'M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 0 0 188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 0 0 492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z'));\nexports.DotChartOutline = getIcon('dot-chart', outline, getNode(newViewBox, 'M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 1 0 128 0 64 64 0 1 0-128 0zm118-224a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm158 228a96 96 0 1 0 192 0 96 96 0 1 0-192 0zm148-314a56 56 0 1 0 112 0 56 56 0 1 0-112 0z'));\nexports.DoubleLeftOutline = getIcon('double-left', outline, getNode(newViewBox, 'M272.9 512l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L186.8 492.3a31.99 31.99 0 0 0 0 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H532c6.7 0 10.4-7.7 6.3-12.9L272.9 512zm304 0l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L490.8 492.3a31.99 31.99 0 0 0 0 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H836c6.7 0 10.4-7.7 6.3-12.9L576.9 512z'));\nexports.DownloadOutline = getIcon('download', outline, getNode(newViewBox, 'M505.7 661a8 8 0 0 0 12.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z'));\nexports.DribbbleOutline = getIcon('dribbble', outline, getNode(newViewBox, 'M512 96C282.6 96 96 282.6 96 512s186.6 416 416 416 416-186.6 416-416S741.4 96 512 96zm275.1 191.8c49.5 60.5 79.5 137.5 80.2 221.4-11.7-2.5-129.2-26.3-247.4-11.4-2.5-6.1-5-12.2-7.6-18.3-7.4-17.3-15.3-34.6-23.6-51.5C720 374.3 779.6 298 787.1 287.8zM512 157.2c90.3 0 172.8 33.9 235.5 89.5-6.4 9.1-59.9 81-186.2 128.4-58.2-107-122.7-194.8-132.6-208 27.3-6.6 55.2-9.9 83.3-9.9zM360.9 191c9.4 12.8 72.9 100.9 131.7 205.5C326.4 440.6 180 440 164.1 439.8c23.1-110.3 97.4-201.9 196.8-248.8zM156.7 512.5c0-3.6.1-7.3.2-10.9 15.5.3 187.7 2.5 365.2-50.6 10.2 19.9 19.9 40.1 28.8 60.3-4.7 1.3-9.4 2.7-14 4.2C353.6 574.9 256.1 736.4 248 750.1c-56.7-63-91.3-146.3-91.3-237.6zM512 867.8c-82.2 0-157.9-28-218.1-75 6.4-13.1 78.3-152 278.7-221.9l2.3-.8c49.9 129.6 70.5 238.3 75.8 269.5A350.46 350.46 0 0 1 512 867.8zm198.5-60.7c-3.6-21.6-22.5-125.6-69-253.3C752.9 536 850.7 565.2 862.8 569c-15.8 98.8-72.5 184.2-152.3 238.1z'));\nexports.DropboxOutline = getIcon('dropbox', outline, getNode(newViewBox, 'M64 556.9l264.2 173.5L512.5 577 246.8 412.7zm896-290.3zm0 0L696.8 95 512.5 248.5l265.2 164.2L512.5 577l184.3 153.4L960 558.8 777.7 412.7zM513 609.8L328.2 763.3l-79.4-51.5v57.8L513 928l263.7-158.4v-57.8l-78.9 51.5zM328.2 95L64 265.1l182.8 147.6 265.7-164.2zM64 556.9z'));\nexports.EllipsisOutline = getIcon('ellipsis', outline, getNode(newViewBox, 'M176 511a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm280 0a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm280 0a56 56 0 1 0 112 0 56 56 0 1 0-112 0z'));\nexports.EnterOutline = getIcon('enter', outline, getNode(newViewBox, 'M864 170h-60c-4.4 0-8 3.6-8 8v518H310v-73c0-6.7-7.8-10.5-13-6.3l-141.9 112a8 8 0 0 0 0 12.6l141.9 112c5.3 4.2 13 .4 13-6.3v-75h498c35.3 0 64-28.7 64-64V178c0-4.4-3.6-8-8-8z'));\nexports.EuroOutline = getIcon('euro', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm117.7-588.6c-15.9-3.5-34.4-5.4-55.3-5.4-106.7 0-178.9 55.7-198.6 149.9H344c-4.4 0-8 3.6-8 8v27.2c0 4.4 3.6 8 8 8h26.4c-.3 4.1-.3 8.4-.3 12.8v36.9H344c-4.4 0-8 3.6-8 8V568c0 4.4 3.6 8 8 8h30.2c17.2 99.2 90.4 158 200.2 158 20.9 0 39.4-1.7 55.3-5.1 3.7-.8 6.4-4 6.4-7.8v-42.8c0-5-4.6-8.8-9.5-7.8-14.7 2.8-31.9 4.1-51.8 4.1-68.5 0-114.5-36.6-129.8-98.6h130.6c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H439.2v-36c0-4.7 0-9.4.3-13.8h135.9c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H447.1c17.2-56.9 62.3-90.4 127.6-90.4 19.9 0 37.1 1.5 51.7 4.4a8 8 0 0 0 9.6-7.8v-42.8c0-3.8-2.6-7-6.3-7.8z'));\nexports.ExceptionOutline = getIcon('exception', outline, getNode(newViewBox, 'M688 312v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8zm-392 88c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm376 116c-119.3 0-216 96.7-216 216s96.7 216 216 216 216-96.7 216-216-96.7-216-216-216zm107.5 323.5C750.8 868.2 712.6 884 672 884s-78.8-15.8-107.5-44.5C535.8 810.8 520 772.6 520 732s15.8-78.8 44.5-107.5C593.2 595.8 631.4 580 672 580s78.8 15.8 107.5 44.5C808.2 653.2 824 691.4 824 732s-15.8 78.8-44.5 107.5zM640 812a32 32 0 1 0 64 0 32 32 0 1 0-64 0zm12-64h40c4.4 0 8-3.6 8-8V628c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v112c0 4.4 3.6 8 8 8zM440 852H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h272c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.ExclamationOutline = getIcon('exclamation', outline, getNode(newViewBox, 'M448 804a64 64 0 1 0 128 0 64 64 0 1 0-128 0zm32-168h64c4.4 0 8-3.6 8-8V164c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8z'));\nexports.ExportOutline = getIcon('export', outline, getNode(newViewBox, 'M888.3 757.4h-53.8c-4.2 0-7.7 3.5-7.7 7.7v61.8H197.1V197.1h629.8v61.8c0 4.2 3.5 7.7 7.7 7.7h53.8c4.2 0 7.7-3.4 7.7-7.7V158.7c0-17-13.7-30.7-30.7-30.7H158.7c-17 0-30.7 13.7-30.7 30.7v706.6c0 17 13.7 30.7 30.7 30.7h706.6c17 0 30.7-13.7 30.7-30.7V765.1c0-4.3-3.5-7.7-7.7-7.7zm18.6-251.7L765 393.7c-5.3-4.2-13-.4-13 6.3v76H438c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h314v76c0 6.7 7.8 10.5 13 6.3l141.9-112a8 8 0 0 0 0-12.6z'));\nexports.FallOutline = getIcon('fall', outline, getNode(newViewBox, 'M925.9 804l-24-199.2c-.8-6.6-8.9-9.4-13.6-4.7L829 659.5 557.7 388.3c-6.3-6.2-16.4-6.2-22.6 0L433.3 490 156.6 213.3a8.03 8.03 0 0 0-11.3 0l-45 45.2a8.03 8.03 0 0 0 0 11.3L422 591.7c6.2 6.3 16.4 6.3 22.6 0L546.4 490l226.1 226-59.3 59.3a8.01 8.01 0 0 0 4.7 13.6l199.2 24c5.1.7 9.5-3.7 8.8-8.9z'));\nexports.FileDoneOutline = getIcon('file-done', outline, getNode(newViewBox, 'M688 312v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8zm-392 88c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm376 116c-119.3 0-216 96.7-216 216s96.7 216 216 216 216-96.7 216-216-96.7-216-216-216zm107.5 323.5C750.8 868.2 712.6 884 672 884s-78.8-15.8-107.5-44.5C535.8 810.8 520 772.6 520 732s15.8-78.8 44.5-107.5C593.2 595.8 631.4 580 672 580s78.8 15.8 107.5 44.5C808.2 653.2 824 691.4 824 732s-15.8 78.8-44.5 107.5zM761 656h-44.3c-2.6 0-5 1.2-6.5 3.3l-63.5 87.8-23.1-31.9a7.92 7.92 0 0 0-6.5-3.3H573c-6.5 0-10.3 7.4-6.5 12.7l73.8 102.1c3.2 4.4 9.7 4.4 12.9 0l114.2-158c3.9-5.3.1-12.7-6.4-12.7zM440 852H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h272c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.FileSyncOutline = getIcon('file-sync', outline, getNode(newViewBox, 'M296 256c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm192 200v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8zm-48 396H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h272c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm104.1-115.6c1.8-34.5 16.2-66.8 40.8-91.4 26.2-26.2 62-41 99.1-41 37.4 0 72.6 14.6 99.1 41 3.2 3.2 6.3 6.6 9.2 10.1L769.2 673a8 8 0 0 0 3 14.1l93.3 22.5c5 1.2 9.8-2.6 9.9-7.7l.6-95.4a8 8 0 0 0-12.9-6.4l-20.3 15.8C805.4 569.6 748.1 540 684 540c-109.9 0-199.6 86.9-204 195.7-.2 4.5 3.5 8.3 8 8.3h48.1c4.3 0 7.8-3.3 8-7.6zM880 744h-48.1c-4.3 0-7.8 3.3-8 7.6-1.8 34.5-16.2 66.8-40.8 91.4-26.2 26.2-62 41-99.1 41-37.4 0-72.6-14.6-99.1-41-3.2-3.2-6.3-6.6-9.2-10.1l23.1-17.9a8 8 0 0 0-3-14.1l-93.3-22.5c-5-1.2-9.8 2.6-9.9 7.7l-.6 95.4a8 8 0 0 0 12.9 6.4l20.3-15.8C562.6 918.4 619.9 948 684 948c109.9 0 199.6-86.9 204-195.7.2-4.5-3.5-8.3-8-8.3z'));\nexports.FileProtectOutline = getIcon('file-protect', outline, getNode(newViewBox, 'M644.7 669.2a7.92 7.92 0 0 0-6.5-3.3H594c-6.5 0-10.3 7.4-6.5 12.7l73.8 102.1c3.2 4.4 9.7 4.4 12.9 0l114.2-158c3.8-5.3 0-12.7-6.5-12.7h-44.3c-2.6 0-5 1.2-6.5 3.3l-63.5 87.8-22.9-31.9zM688 306v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8zm-392 88c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm184 458H208V148h560v296c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h312c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm402.6-320.8l-192-66.7c-.9-.3-1.7-.4-2.6-.4s-1.8.1-2.6.4l-192 66.7a7.96 7.96 0 0 0-5.4 7.5v251.1c0 2.5 1.1 4.8 3.1 6.3l192 150.2c1.4 1.1 3.2 1.7 4.9 1.7s3.5-.6 4.9-1.7l192-150.2c1.9-1.5 3.1-3.8 3.1-6.3V538.7c0-3.4-2.2-6.4-5.4-7.5zM826 763.7L688 871.6 550 763.7V577l138-48 138 48v186.7z'));\nexports.FileSearchOutline = getIcon('file-search', outline, getNode(newViewBox, 'M688 312v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8zm-392 88c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm144 452H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h272c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm445.7 51.5l-93.3-93.3C814.7 780.7 828 743.9 828 704c0-97.2-78.8-176-176-176s-176 78.8-176 176 78.8 176 176 176c35.8 0 69-10.7 96.8-29l94.7 94.7c1.6 1.6 3.6 2.3 5.6 2.3s4.1-.8 5.6-2.3l31-31a7.9 7.9 0 0 0 0-11.2zM652 816c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z'));\nexports.FileJpgOutline = getIcon('file-jpg', outline, getNode(normalViewBox, 'M874.6 301.8L596.8 21.3c-4.5-4.5-9.4-8.3-14.7-11.5-1.4-.8-2.8-1.6-4.3-2.3-.9-.5-1.9-.9-2.8-1.3-9-4-18.9-6.2-29-6.2H201c-39.8 0-73 32.2-73 72v880c0 39.8 33.2 72 73 72h623c39.8 0 71-32.2 71-72V352.5c0-19-7-37.2-20.4-50.7zM583 110.4L783.8 312H583V110.4zM823 952H200V72h311v240c0 39.8 33.2 72 73 72h239v568zM350 696.5c0 24.2-7.5 31.4-21.9 31.4-9 0-18.4-5.8-24.8-18.5L272.9 732c13.4 22.9 32.3 34.2 61.3 34.2 41.6 0 60.8-29.9 60.8-66.2V577h-45v119.5zM501.3 577H437v186h44v-62h21.6c39.1 0 73.1-19.6 73.1-63.6 0-45.8-33.5-60.4-74.4-60.4zm-.8 89H481v-53h18.2c21.5 0 33.4 6.2 33.4 24.9 0 18.1-10.5 28.1-32.1 28.1zm182.5-9v36h30v30.1c-4 2.9-11 4.7-17.7 4.7-34.3 0-50.7-21.4-50.7-58.2 0-36.1 19.7-57.4 47.1-57.4 15.3 0 25 6.2 34 14.4l23.7-28.3c-12.7-12.8-32.1-24.2-59.2-24.2-49.6 0-91.1 35.3-91.1 97 0 62.7 40 95.1 91.5 95.1 25.9 0 49.2-10.2 61.5-22.6V657H683z'));\nexports.FontColorsOutline = getIcon('font-colors', outline, getNode(newViewBox, 'M904 816H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8zm-650.3-80h85c4.2 0 8-2.7 9.3-6.8l53.7-166h219.2l53.2 166c1.3 4 5 6.8 9.3 6.8h89.1c1.1 0 2.2-.2 3.2-.5a9.7 9.7 0 0 0 6-12.4L573.6 118.6a9.9 9.9 0 0 0-9.2-6.6H462.1c-4.2 0-7.9 2.6-9.2 6.6L244.5 723.1c-.4 1-.5 2.1-.5 3.2-.1 5.3 4.3 9.7 9.7 9.7zm255.9-516.1h4.1l83.8 263.8H424.9l84.7-263.8z'));\nexports.FontSizeOutline = getIcon('font-size', outline, getNode(newViewBox, 'M920 416H616c-4.4 0-8 3.6-8 8v112c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-56h60v320h-46c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h164c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-46V480h60v56c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V424c0-4.4-3.6-8-8-8zM656 296V168c0-4.4-3.6-8-8-8H104c-4.4 0-8 3.6-8 8v128c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-64h168v560h-92c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-92V232h168v64c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8z'));\nexports.ForkOutline = getIcon('fork', outline, getNode(newViewBox, 'M752 100c-61.8 0-112 50.2-112 112 0 47.7 29.9 88.5 72 104.6v27.6L512 601.4 312 344.2v-27.6c42.1-16.1 72-56.9 72-104.6 0-61.8-50.2-112-112-112s-112 50.2-112 112c0 50.6 33.8 93.5 80 107.3v34.4c0 9.7 3.3 19.3 9.3 27L476 672.3v33.6c-44.2 15-76 56.9-76 106.1 0 61.8 50.2 112 112 112s112-50.2 112-112c0-49.2-31.8-91-76-106.1v-33.6l226.7-291.6c6-7.7 9.3-17.3 9.3-27v-34.4c46.2-13.8 80-56.7 80-107.3 0-61.8-50.2-112-112-112zM224 212a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm336 600a48.01 48.01 0 0 1-96 0 48.01 48.01 0 0 1 96 0zm192-552a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'));\nexports.FormOutline = getIcon('form', outline, getNode(newViewBox, 'M904 512h-56c-4.4 0-8 3.6-8 8v320H184V184h320c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V520c0-4.4-3.6-8-8-8z', 'M355.9 534.9L354 653.8c-.1 8.9 7.1 16.2 16 16.2h.4l118-2.9c2-.1 4-.9 5.4-2.3l415.9-415c3.1-3.1 3.1-8.2 0-11.3L785.4 114.3c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-415.8 415a8.3 8.3 0 0 0-2.3 5.6zm63.5 23.6L779.7 199l45.2 45.1-360.5 359.7-45.7 1.1.7-46.4z'));\nexports.FullscreenExitOutline = getIcon('fullscreen-exit', outline, getNode(newViewBox, 'M391 240.9c-.8-6.6-8.9-9.4-13.6-4.7l-43.7 43.7L200 146.3a8.03 8.03 0 0 0-11.3 0l-42.4 42.3a8.03 8.03 0 0 0 0 11.3L280 333.6l-43.9 43.9a8.01 8.01 0 0 0 4.7 13.6L401 410c5.1.6 9.5-3.7 8.9-8.9L391 240.9zm10.1 373.2L240.8 633c-6.6.8-9.4 8.9-4.7 13.6l43.9 43.9L146.3 824a8.03 8.03 0 0 0 0 11.3l42.4 42.3c3.1 3.1 8.2 3.1 11.3 0L333.7 744l43.7 43.7A8.01 8.01 0 0 0 391 783l18.9-160.1c.6-5.1-3.7-9.4-8.8-8.8zm221.8-204.2L783.2 391c6.6-.8 9.4-8.9 4.7-13.6L744 333.6 877.7 200c3.1-3.1 3.1-8.2 0-11.3l-42.4-42.3a8.03 8.03 0 0 0-11.3 0L690.3 279.9l-43.7-43.7a8.01 8.01 0 0 0-13.6 4.7L614.1 401c-.6 5.2 3.7 9.5 8.8 8.9zM744 690.4l43.9-43.9a8.01 8.01 0 0 0-4.7-13.6L623 614c-5.1-.6-9.5 3.7-8.9 8.9L633 783.1c.8 6.6 8.9 9.4 13.6 4.7l43.7-43.7L824 877.7c3.1 3.1 8.2 3.1 11.3 0l42.4-42.3c3.1-3.1 3.1-8.2 0-11.3L744 690.4z'));\nexports.FullscreenOutline = getIcon('fullscreen', outline, getNode(newViewBox, 'M290 236.4l43.9-43.9a8.01 8.01 0 0 0-4.7-13.6L169 160c-5.1-.6-9.5 3.7-8.9 8.9L179 329.1c.8 6.6 8.9 9.4 13.6 4.7l43.7-43.7L370 423.7c3.1 3.1 8.2 3.1 11.3 0l42.4-42.3c3.1-3.1 3.1-8.2 0-11.3L290 236.4zm352.7 187.3c3.1 3.1 8.2 3.1 11.3 0l133.7-133.6 43.7 43.7a8.01 8.01 0 0 0 13.6-4.7L863.9 169c.6-5.1-3.7-9.5-8.9-8.9L694.8 179c-6.6.8-9.4 8.9-4.7 13.6l43.9 43.9L600.3 370a8.03 8.03 0 0 0 0 11.3l42.4 42.4zM845 694.9c-.8-6.6-8.9-9.4-13.6-4.7l-43.7 43.7L654 600.3a8.03 8.03 0 0 0-11.3 0l-42.4 42.3a8.03 8.03 0 0 0 0 11.3L734 787.6l-43.9 43.9a8.01 8.01 0 0 0 4.7 13.6L855 864c5.1.6 9.5-3.7 8.9-8.9L845 694.9zm-463.7-94.6a8.03 8.03 0 0 0-11.3 0L236.3 733.9l-43.7-43.7a8.01 8.01 0 0 0-13.6 4.7L160.1 855c-.6 5.1 3.7 9.5 8.9 8.9L329.2 845c6.6-.8 9.4-8.9 4.7-13.6L290 787.6 423.7 654c3.1-3.1 3.1-8.2 0-11.3l-42.4-42.4z'));\nexports.GatewayOutline = getIcon('gateway', outline, getNode(newViewBox, 'M928 392c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H744c-8.8 0-16 7.2-16 16v56H296v-56c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16v184c0 8.8 7.2 16 16 16h56v240H96c-8.8 0-16 7.2-16 16v184c0 8.8 7.2 16 16 16h184c8.8 0 16-7.2 16-16v-56h432v56c0 8.8 7.2 16 16 16h184c8.8 0 16-7.2 16-16V648c0-8.8-7.2-16-16-16h-56V392h56zM792 240h88v88h-88v-88zm-648 88v-88h88v88h-88zm88 456h-88v-88h88v88zm648-88v88h-88v-88h88zm-80-64h-56c-8.8 0-16 7.2-16 16v56H296v-56c0-8.8-7.2-16-16-16h-56V392h56c8.8 0 16-7.2 16-16v-56h432v56c0 8.8 7.2 16 16 16h56v240z'));\nexports.DownOutline = getIcon('down', outline, getNode(newViewBox, 'M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z'));\nexports.DragOutline = getIcon('drag', outline, getNode(newViewBox, 'M909.3 506.3L781.7 405.6a7.23 7.23 0 0 0-11.7 5.7V476H548V254h64.8c6 0 9.4-7 5.7-11.7L517.7 114.7a7.14 7.14 0 0 0-11.3 0L405.6 242.3a7.23 7.23 0 0 0 5.7 11.7H476v222H254v-64.8c0-6-7-9.4-11.7-5.7L114.7 506.3a7.14 7.14 0 0 0 0 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V548h222v222h-64.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H548V548h222v64.8c0 6 7 9.4 11.7 5.7l127.5-100.8a7.3 7.3 0 0 0 .1-11.4z'));\nexports.GlobalOutline = getIcon('global', outline, getNode(newViewBox, 'M854.4 800.9c.2-.3.5-.6.7-.9C920.6 722.1 960 621.7 960 512s-39.4-210.1-104.8-288c-.2-.3-.5-.5-.7-.8-1.1-1.3-2.1-2.5-3.2-3.7-.4-.5-.8-.9-1.2-1.4l-4.1-4.7-.1-.1c-1.5-1.7-3.1-3.4-4.6-5.1l-.1-.1c-3.2-3.4-6.4-6.8-9.7-10.1l-.1-.1-4.8-4.8-.3-.3c-1.5-1.5-3-2.9-4.5-4.3-.5-.5-1-1-1.6-1.5-1-1-2-1.9-3-2.8-.3-.3-.7-.6-1-1C736.4 109.2 629.5 64 512 64s-224.4 45.2-304.3 119.2c-.3.3-.7.6-1 1-1 .9-2 1.9-3 2.9-.5.5-1 1-1.6 1.5-1.5 1.4-3 2.9-4.5 4.3l-.3.3-4.8 4.8-.1.1c-3.3 3.3-6.5 6.7-9.7 10.1l-.1.1c-1.6 1.7-3.1 3.4-4.6 5.1l-.1.1c-1.4 1.5-2.8 3.1-4.1 4.7-.4.5-.8.9-1.2 1.4-1.1 1.2-2.1 2.5-3.2 3.7-.2.3-.5.5-.7.8C103.4 301.9 64 402.3 64 512s39.4 210.1 104.8 288c.2.3.5.6.7.9l3.1 3.7c.4.5.8.9 1.2 1.4l4.1 4.7c0 .1.1.1.1.2 1.5 1.7 3 3.4 4.6 5l.1.1c3.2 3.4 6.4 6.8 9.6 10.1l.1.1c1.6 1.6 3.1 3.2 4.7 4.7l.3.3c3.3 3.3 6.7 6.5 10.1 9.6 80.1 74 187 119.2 304.5 119.2s224.4-45.2 304.3-119.2a300 300 0 0 0 10-9.6l.3-.3c1.6-1.6 3.2-3.1 4.7-4.7l.1-.1c3.3-3.3 6.5-6.7 9.6-10.1l.1-.1c1.5-1.7 3.1-3.3 4.6-5 0-.1.1-.1.1-.2 1.4-1.5 2.8-3.1 4.1-4.7.4-.5.8-.9 1.2-1.4a99 99 0 0 0 3.3-3.7zm4.1-142.6c-13.8 32.6-32 62.8-54.2 90.2a444.07 444.07 0 0 0-81.5-55.9c11.6-46.9 18.8-98.4 20.7-152.6H887c-3 40.9-12.6 80.6-28.5 118.3zM887 484H743.5c-1.9-54.2-9.1-105.7-20.7-152.6 29.3-15.6 56.6-34.4 81.5-55.9A373.86 373.86 0 0 1 887 484zM658.3 165.5c39.7 16.8 75.8 40 107.6 69.2a394.72 394.72 0 0 1-59.4 41.8c-15.7-45-35.8-84.1-59.2-115.4 3.7 1.4 7.4 2.9 11 4.4zm-90.6 700.6c-9.2 7.2-18.4 12.7-27.7 16.4V697a389.1 389.1 0 0 1 115.7 26.2c-8.3 24.6-17.9 47.3-29 67.8-17.4 32.4-37.8 58.3-59 75.1zm59-633.1c11 20.6 20.7 43.3 29 67.8A389.1 389.1 0 0 1 540 327V141.6c9.2 3.7 18.5 9.1 27.7 16.4 21.2 16.7 41.6 42.6 59 75zM540 640.9V540h147.5c-1.6 44.2-7.1 87.1-16.3 127.8l-.3 1.2A445.02 445.02 0 0 0 540 640.9zm0-156.9V383.1c45.8-2.8 89.8-12.5 130.9-28.1l.3 1.2c9.2 40.7 14.7 83.5 16.3 127.8H540zm-56 56v100.9c-45.8 2.8-89.8 12.5-130.9 28.1l-.3-1.2c-9.2-40.7-14.7-83.5-16.3-127.8H484zm-147.5-56c1.6-44.2 7.1-87.1 16.3-127.8l.3-1.2c41.1 15.6 85 25.3 130.9 28.1V484H336.5zM484 697v185.4c-9.2-3.7-18.5-9.1-27.7-16.4-21.2-16.7-41.7-42.7-59.1-75.1-11-20.6-20.7-43.3-29-67.8 37.2-14.6 75.9-23.3 115.8-26.1zm0-370a389.1 389.1 0 0 1-115.7-26.2c8.3-24.6 17.9-47.3 29-67.8 17.4-32.4 37.8-58.4 59.1-75.1 9.2-7.2 18.4-12.7 27.7-16.4V327zM365.7 165.5c3.7-1.5 7.3-3 11-4.4-23.4 31.3-43.5 70.4-59.2 115.4-21-12-40.9-26-59.4-41.8 31.8-29.2 67.9-52.4 107.6-69.2zM165.5 365.7c13.8-32.6 32-62.8 54.2-90.2 24.9 21.5 52.2 40.3 81.5 55.9-11.6 46.9-18.8 98.4-20.7 152.6H137c3-40.9 12.6-80.6 28.5-118.3zM137 540h143.5c1.9 54.2 9.1 105.7 20.7 152.6a444.07 444.07 0 0 0-81.5 55.9A373.86 373.86 0 0 1 137 540zm228.7 318.5c-39.7-16.8-75.8-40-107.6-69.2 18.5-15.8 38.4-29.7 59.4-41.8 15.7 45 35.8 84.1 59.2 115.4-3.7-1.4-7.4-2.9-11-4.4zm292.6 0c-3.7 1.5-7.3 3-11 4.4 23.4-31.3 43.5-70.4 59.2-115.4 21 12 40.9 26 59.4 41.8a373.81 373.81 0 0 1-107.6 69.2z'));\nexports.GooglePlusOutline = getIcon('google-plus', outline, getNode(newViewBox, 'M879.5 470.4c-.3-27-.4-54.2-.5-81.3h-80.8c-.3 27-.5 54.1-.7 81.3-27.2.1-54.2.3-81.2.6v80.9c27 .3 54.2.5 81.2.8.3 27 .3 54.1.5 81.1h80.9c.1-27 .3-54.1.5-81.3 27.2-.3 54.2-.4 81.2-.7v-80.9c-26.9-.2-54.1-.2-81.1-.5zm-530 .4c-.1 32.3 0 64.7.1 97 54.2 1.8 108.5 1 162.7 1.8-23.9 120.3-187.4 159.3-273.9 80.7-89-68.9-84.8-220 7.7-284 64.7-51.6 156.6-38.9 221.3 5.8 25.4-23.5 49.2-48.7 72.1-74.7-53.8-42.9-119.8-73.5-190-70.3-146.6-4.9-281.3 123.5-283.7 270.2-9.4 119.9 69.4 237.4 180.6 279.8 110.8 42.7 252.9 13.6 323.7-86 46.7-62.9 56.8-143.9 51.3-220-90.7-.7-181.3-.6-271.9-.3z'));\nexports.GoogleOutline = getIcon('google', outline, getNode(newViewBox, 'M881 442.4H519.7v148.5h206.4c-8.9 48-35.9 88.6-76.6 115.8-34.4 23-78.3 36.6-129.9 36.6-99.9 0-184.4-67.5-214.6-158.2-7.6-23-12-47.6-12-72.9s4.4-49.9 12-72.9c30.3-90.6 114.8-158.1 214.7-158.1 56.3 0 106.8 19.4 146.6 57.4l110-110.1c-66.5-62-153.2-100-256.6-100-149.9 0-279.6 86-342.7 211.4-26 51.8-40.8 110.4-40.8 172.4S151 632.8 177 684.6C240.1 810 369.8 896 519.7 896c103.6 0 190.4-34.4 253.8-93 72.5-66.8 114.4-165.2 114.4-282.1 0-27.2-2.4-53.3-6.9-78.5z'));\nexports.HeatMapOutline = getIcon('heat-map', outline, getNode(newViewBox, 'M955.7 856l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-790.4-23.9L512 231.9 858.7 832H165.3zm319-474.1l-228 394c-12.3 21.3 3.1 48 27.7 48h455.8c24.7 0 40.1-26.7 27.7-48L539.7 358c-6.2-10.7-17-16-27.7-16-10.8 0-21.6 5.3-27.7 16zm214 386H325.7L512 422l186.3 322zm-214-194.1l-57 98.4C415 669.5 430.4 696 455 696h114c24.6 0 39.9-26.5 27.7-47.7l-57-98.4c-6.1-10.6-16.9-15.9-27.7-15.9s-21.5 5.3-27.7 15.9zm57.1 98.4h-58.7l29.4-50.7 29.3 50.7z'));\nexports.GoldOutline = getIcon('gold', outline, getNode(newViewBox, 'M342 472h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H382.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8zm91.2-196h159.5l20.7 128h-201l20.8-128zm2.5 282.7c-.6-3.9-4-6.7-7.9-6.7H166.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248zM196.5 748l20.7-128h159.5l20.7 128H196.5zm709.4 58.7l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H596.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.3-.7 7.3-4.8 6.6-9.2zM626.5 748l20.7-128h159.5l20.7 128H626.5z'));\nexports.HistoryOutline = getIcon('history', outline, getNode(newViewBox, 'M536.1 273H488c-4.4 0-8 3.6-8 8v275.3c0 2.6 1.2 5 3.3 6.5l165.3 120.7c3.6 2.6 8.6 1.9 11.2-1.7l28.6-39c2.7-3.7 1.9-8.7-1.7-11.2L544.1 528.5V281c0-4.4-3.6-8-8-8zm219.8 75.2l156.8 38.3c5 1.2 9.9-2.6 9.9-7.7l.8-161.5c0-6.7-7.7-10.5-12.9-6.3L752.9 334.1a8 8 0 0 0 3 14.1zm167.7 301.1l-56.7-19.5a8 8 0 0 0-10.1 4.8c-1.9 5.1-3.9 10.1-6 15.1-17.8 42.1-43.3 80-75.9 112.5a353 353 0 0 1-112.5 75.9 352.18 352.18 0 0 1-137.7 27.8c-47.8 0-94.1-9.3-137.7-27.8a353 353 0 0 1-112.5-75.9c-32.5-32.5-58-70.4-75.9-112.5A353.44 353.44 0 0 1 171 512c0-47.8 9.3-94.2 27.8-137.8 17.8-42.1 43.3-80 75.9-112.5a353 353 0 0 1 112.5-75.9C430.6 167.3 477 158 524.8 158s94.1 9.3 137.7 27.8A353 353 0 0 1 775 261.7c10.2 10.3 19.8 21 28.6 32.3l59.8-46.8C784.7 146.6 662.2 81.9 524.6 82 285 82.1 92.6 276.7 95 516.4 97.4 751.9 288.9 942 524.8 942c185.5 0 343.5-117.6 403.7-282.3 1.5-4.2-.7-8.9-4.9-10.4z'));\nexports.IeOutline = getIcon('ie', outline, getNode(newViewBox, 'M852.6 367.6c16.3-36.9 32.1-90.7 32.1-131.8 0-109.1-119.5-147.6-314.5-57.9-161.4-10.8-316.8 110.5-355.6 279.7 46.3-52.3 117.4-123.4 183-151.7C316.1 378.3 246.7 470 194 565.6c-31.1 56.9-66 148.8-66 217.5 0 147.9 139.3 129.8 270.4 63 47.1 23.1 99.8 23.4 152.5 23.4 145.7 0 276.4-81.4 325.2-219H694.9c-78.8 132.9-295.2 79.5-295.2-71.2h493.2c9.6-65.4-2.5-143.6-40.3-211.7zM224.8 648.3c26.6 76.7 80.6 143.8 150.4 185-133.1 73.4-259.9 43.6-150.4-185zm174-163.3c3-82.7 75.4-142.3 156-142.3 80.1 0 153 59.6 156 142.3h-312zm276.8-281.4c32.1-15.4 72.8-33 108.8-33 47.1 0 81.4 32.6 81.4 80.6 0 30-11.1 73.5-21.9 101.8-39.3-63.5-98.9-122.4-168.3-149.4z'));\nexports.InboxOutline = getIcon('inbox', outline, getNode(normalViewBox, 'M885.2 446.3l-.2-.8-112.2-285.1c-5-16.1-19.9-27.2-36.8-27.2H281.2c-17 0-32.1 11.3-36.9 27.6L139.4 443l-.3.7-.2.8c-1.3 4.9-1.7 9.9-1 14.8-.1 1.6-.2 3.2-.2 4.8V830a60.9 60.9 0 0 0 60.8 60.8h627.2c33.5 0 60.8-27.3 60.9-60.8V464.1c0-1.3 0-2.6-.1-3.7.4-4.9 0-9.6-1.3-14.1zm-295.8-43l-.3 15.7c-.8 44.9-31.8 75.1-77.1 75.1-22.1 0-41.1-7.1-54.8-20.6S436 441.2 435.6 419l-.3-15.7H229.5L309 210h399.2l81.7 193.3H589.4zm-375 76.8h157.3c24.3 57.1 76 90.8 140.4 90.8 33.7 0 65-9.4 90.3-27.2 22.2-15.6 39.5-37.4 50.7-63.6h156.5V814H214.4V480.1z'));\nexports.ImportOutline = getIcon('import', outline, getNode(newViewBox, 'M888.3 757.4h-53.8c-4.2 0-7.7 3.5-7.7 7.7v61.8H197.1V197.1h629.8v61.8c0 4.2 3.5 7.7 7.7 7.7h53.8c4.2 0 7.7-3.4 7.7-7.7V158.7c0-17-13.7-30.7-30.7-30.7H158.7c-17 0-30.7 13.7-30.7 30.7v706.6c0 17 13.7 30.7 30.7 30.7h706.6c17 0 30.7-13.7 30.7-30.7V765.1c0-4.3-3.5-7.7-7.7-7.7zM902 476H588v-76c0-6.7-7.8-10.5-13-6.3l-141.9 112a8 8 0 0 0 0 12.6l141.9 112c5.3 4.2 13 .4 13-6.3v-76h314c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.InfoOutline = getIcon('info', outline, getNode(newViewBox, 'M448 224a64 64 0 1 0 128 0 64 64 0 1 0-128 0zm96 168h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V400c0-4.4-3.6-8-8-8z'));\nexports.ItalicOutline = getIcon('italic', outline, getNode(newViewBox, 'M798 160H366c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h181.2l-156 544H229c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h432c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8H474.4l156-544H798c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8z'));\nexports.IssuesCloseOutline = getIcon('issues-close', outline, getNode(newViewBox, 'M464 688a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm72-112c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48zm400-188h-59.3c-2.6 0-5 1.2-6.5 3.3L763.7 538.1l-49.9-68.8a7.92 7.92 0 0 0-6.5-3.3H648c-6.5 0-10.3 7.4-6.5 12.7l109.2 150.7a16.1 16.1 0 0 0 26 0l165.8-228.7c3.8-5.3 0-12.7-6.5-12.7zm-44 306h-64.2c-5.5 0-10.6 2.9-13.6 7.5a352.2 352.2 0 0 1-49.8 62.2A355.92 355.92 0 0 1 651.1 840a355 355 0 0 1-138.7 27.9c-48.1 0-94.8-9.4-138.7-27.9a355.92 355.92 0 0 1-113.3-76.3A353.06 353.06 0 0 1 184 650.5c-18.6-43.8-28-90.5-28-138.5s9.4-94.7 28-138.5c17.9-42.4 43.6-80.5 76.4-113.2 32.8-32.7 70.9-58.4 113.3-76.3a355 355 0 0 1 138.7-27.9c48.1 0 94.8 9.4 138.7 27.9 42.4 17.9 80.5 43.6 113.3 76.3 19 19 35.6 39.8 49.8 62.2 2.9 4.7 8.1 7.5 13.6 7.5H892c6 0 9.8-6.3 7.2-11.6C828.8 178.5 684.7 82 517.7 80 278.9 77.2 80.5 272.5 80 511.2 79.5 750.1 273.3 944 512.4 944c169.2 0 315.6-97 386.7-238.4A8 8 0 0 0 892 694z'));\nexports.KeyOutline = getIcon('key', outline, getNode(newViewBox, 'M608 112c-167.9 0-304 136.1-304 304 0 70.3 23.9 135 63.9 186.5l-41.1 41.1-62.3-62.3a8.15 8.15 0 0 0-11.4 0l-39.8 39.8a8.15 8.15 0 0 0 0 11.4l62.3 62.3-44.9 44.9-62.3-62.3a8.15 8.15 0 0 0-11.4 0l-39.8 39.8a8.15 8.15 0 0 0 0 11.4l62.3 62.3-65.3 65.3a8.03 8.03 0 0 0 0 11.3l42.3 42.3c3.1 3.1 8.2 3.1 11.3 0l253.6-253.6A304.06 304.06 0 0 0 608 720c167.9 0 304-136.1 304-304S775.9 112 608 112zm161.2 465.2C726.2 620.3 668.9 644 608 644c-60.9 0-118.2-23.7-161.2-66.8-43.1-43-66.8-100.3-66.8-161.2 0-60.9 23.7-118.2 66.8-161.2 43-43.1 100.3-66.8 161.2-66.8 60.9 0 118.2 23.7 161.2 66.8 43.1 43 66.8 100.3 66.8 161.2 0 60.9-23.7 118.2-66.8 161.2z'));\nexports.LaptopOutline = getIcon('laptop', outline, getNode(newViewBox, 'M956.9 845.1L896.4 632V168c0-17.7-14.3-32-32-32h-704c-17.7 0-32 14.3-32 32v464L67.9 845.1C60.4 866 75.8 888 98 888h828.8c22.2 0 37.6-22 30.1-42.9zM200.4 208h624v395h-624V208zm228.3 608l8.1-37h150.3l8.1 37H428.7zm224 0l-19.1-86.7c-.8-3.7-4.1-6.3-7.8-6.3H398.2c-3.8 0-7 2.6-7.8 6.3L371.3 816H151l42.3-149h638.2l42.3 149H652.7z'));\nexports.LeftOutline = getIcon('left', outline, getNode(newViewBox, 'M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 0 0 0 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z'));\nexports.LinkOutline = getIcon('link', outline, getNode(newViewBox, 'M574 665.4a8.03 8.03 0 0 0-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 0 0-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 0 0 0 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 0 0 0 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 0 0-11.3 0L372.3 598.7a8.03 8.03 0 0 0 0 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z'));\nexports.LineChartOutline = getIcon('line-chart', outline, getNode(newViewBox, 'M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM305.8 637.7c3.1 3.1 8.1 3.1 11.3 0l138.3-137.6L583 628.5c3.1 3.1 8.2 3.1 11.3 0l275.4-275.3c3.1-3.1 3.1-8.2 0-11.3l-39.6-39.6a8.03 8.03 0 0 0-11.3 0l-230 229.9L461.4 404a8.03 8.03 0 0 0-11.3 0L266.3 586.7a8.03 8.03 0 0 0 0 11.3l39.5 39.7z'));\nexports.LineHeightOutline = getIcon('line-height', outline, getNode(newViewBox, 'M648 160H104c-4.4 0-8 3.6-8 8v128c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-64h168v560h-92c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-92V232h168v64c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8zm272.8 546H856V318h64.8c6 0 9.4-7 5.7-11.7L825.7 178.7a7.14 7.14 0 0 0-11.3 0L713.6 306.3a7.23 7.23 0 0 0 5.7 11.7H784v388h-64.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5a7.2 7.2 0 0 0-5.6-11.7z'));\nexports.LineOutline = getIcon('line', outline, getNode(newViewBox, 'M904 476H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.Loading3QuartersOutline = getIcon('loading-3-quarters', outline, getNode(normalViewBox, 'M512 1024c-69.1 0-136.2-13.5-199.3-40.2C251.7 958 197 921 150 874c-47-47-84-101.7-109.8-162.7C13.5 648.2 0 581.1 0 512c0-19.9 16.1-36 36-36s36 16.1 36 36c0 59.4 11.6 117 34.6 171.3 22.2 52.4 53.9 99.5 94.3 139.9 40.4 40.4 87.5 72.2 139.9 94.3C395 940.4 452.6 952 512 952c59.4 0 117-11.6 171.3-34.6 52.4-22.2 99.5-53.9 139.9-94.3 40.4-40.4 72.2-87.5 94.3-139.9C940.4 629 952 571.4 952 512c0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 0 0-94.3-139.9 437.71 437.71 0 0 0-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.2C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3s-13.5 136.2-40.2 199.3C958 772.3 921 827 874 874c-47 47-101.8 83.9-162.7 109.7-63.1 26.8-130.2 40.3-199.3 40.3z'));\nexports.LoadingOutline = getIcon('loading', outline, getNode(normalViewBox, 'M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 0 0-94.3-139.9 437.71 437.71 0 0 0-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z'));\nexports.LoginOutline = getIcon('login', outline, getNode(newViewBox, 'M521.7 82c-152.5-.4-286.7 78.5-363.4 197.7-3.4 5.3.4 12.3 6.7 12.3h70.3c4.8 0 9.3-2.1 12.3-5.8 7-8.5 14.5-16.7 22.4-24.5 32.6-32.5 70.5-58.1 112.7-75.9 43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 32.6 32.5 58.1 70.4 76 112.5C865.7 417.8 875 464.1 875 512c0 47.9-9.4 94.2-27.8 137.8-17.8 42.1-43.4 80-76 112.5s-70.5 58.1-112.7 75.9A352.8 352.8 0 0 1 520.6 866c-47.9 0-94.3-9.4-137.9-27.8A353.84 353.84 0 0 1 270 762.3c-7.9-7.9-15.3-16.1-22.4-24.5-3-3.7-7.6-5.8-12.3-5.8H165c-6.3 0-10.2 7-6.7 12.3C234.9 863.2 368.5 942 520.6 942c236.2 0 428-190.1 430.4-425.6C953.4 277.1 761.3 82.6 521.7 82zM395.02 624v-76h-314c-4.4 0-8-3.6-8-8v-56c0-4.4 3.6-8 8-8h314v-76c0-6.7 7.8-10.5 13-6.3l141.9 112a8 8 0 0 1 0 12.6l-141.9 112c-5.2 4.1-13 .4-13-6.3z'));\nexports.LogoutOutline = getIcon('logout', outline, getNode(newViewBox, 'M868 732h-70.3c-4.8 0-9.3 2.1-12.3 5.8-7 8.5-14.5 16.7-22.4 24.5a353.84 353.84 0 0 1-112.7 75.9A352.8 352.8 0 0 1 512.4 866c-47.9 0-94.3-9.4-137.9-27.8a353.84 353.84 0 0 1-112.7-75.9 353.28 353.28 0 0 1-76-112.5C167.3 606.2 158 559.9 158 512s9.4-94.2 27.8-137.8c17.8-42.1 43.4-80 76-112.5s70.5-58.1 112.7-75.9c43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 7.9 7.9 15.3 16.1 22.4 24.5 3 3.7 7.6 5.8 12.3 5.8H868c6.3 0 10.2-7 6.7-12.3C798 160.5 663.8 81.6 511.3 82 271.7 82.6 79.6 277.1 82 516.4 84.4 751.9 276.2 942 512.4 942c152.1 0 285.7-78.8 362.3-197.7 3.4-5.3-.4-12.3-6.7-12.3zm88.9-226.3L815 393.7c-5.3-4.2-13-.4-13 6.3v76H488c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h314v76c0 6.7 7.8 10.5 13 6.3l141.9-112a8 8 0 0 0 0-12.6z'));\nexports.ManOutline = getIcon('man', outline, getNode(newViewBox, 'M874 120H622c-3.3 0-6 2.7-6 6v56c0 3.3 2.7 6 6 6h160.4L583.1 387.3c-50-38.5-111-59.3-175.1-59.3-76.9 0-149.3 30-203.6 84.4S120 539.1 120 616s30 149.3 84.4 203.6C258.7 874 331.1 904 408 904s149.3-30 203.6-84.4C666 765.3 696 692.9 696 616c0-64.1-20.8-124.9-59.2-174.9L836 241.9V402c0 3.3 2.7 6 6 6h56c3.3 0 6-2.7 6-6V150c0-16.5-13.5-30-30-30zM408 828c-116.9 0-212-95.1-212-212s95.1-212 212-212 212 95.1 212 212-95.1 212-212 212z'));\nexports.MediumOutline = getIcon('medium', outline, getNode(newViewBox, 'M834.7 279.8l61.3-58.9V208H683.7L532.4 586.4 360.3 208H137.7v12.9l71.6 86.6c7 6.4 10.6 15.8 9.7 25.2V673c2.2 12.3-1.7 24.8-10.3 33.7L128 805v12.7h228.6v-12.9l-80.6-98a39.99 39.99 0 0 1-11.1-33.7V378.7l200.7 439.2h23.3l172.6-439.2v349.9c0 9.2 0 11.1-6 17.2l-62.1 60.3V819h301.2v-12.9l-59.9-58.9c-5.2-4-7.9-10.7-6.8-17.2V297a18.1 18.1 0 0 1 6.8-17.2z'));\nexports.MediumWorkmarkOutline = getIcon('medium-workmark', outline, getNode(normalViewBox, 'M517.2 590.55c0 3.55 0 4.36 2.4 6.55l13.43 13.25v.57h-59.57v-25.47a41.44 41.44 0 0 1-39.5 27.65c-30.61 0-52.84-24.25-52.84-68.87 0-41.8 23.99-69.69 57.65-69.69a35.15 35.15 0 0 1 34.61 21.67v-56.19a6.99 6.99 0 0 0-2.71-6.79l-12.8-12.45v-.56l59.33-7.04v177.37zm-43.74-8.09v-83.83a22.2 22.2 0 0 0-17.74-8.4c-14.48 0-28.47 13.25-28.47 52.62 0 36.86 12.07 49.88 27.1 49.88a23.91 23.91 0 0 0 19.11-10.27zm83.23 28.46V497.74a7.65 7.65 0 0 0-2.4-6.79l-13.19-13.74v-.57h59.56v114.8c0 3.55 0 4.36 2.4 6.54l13.12 12.45v.57l-59.49-.08zm-2.16-175.67c0-13.4 10.74-24.25 23.99-24.25 13.25 0 23.98 10.86 23.98 24.25 0 13.4-10.73 24.25-23.98 24.25s-23.99-10.85-23.99-24.25zm206.83 155.06c0 3.55 0 4.6 2.4 6.79l13.43 13.25v.57h-59.88V581.9a43.4 43.4 0 0 1-41.01 31.2c-26.55 0-40.78-19.56-40.78-56.59 0-17.86 0-37.43.56-59.41a6.91 6.91 0 0 0-2.4-6.55L620.5 477.2v-.57h59.09v73.81c0 24.25 3.51 40.42 18.54 40.42a23.96 23.96 0 0 0 19.35-12.2v-80.85a7.65 7.65 0 0 0-2.4-6.79l-13.27-13.82v-.57h59.56V590.3zm202.76 20.6c0-4.36.8-59.97.8-72.75 0-24.25-3.76-40.98-20.63-40.98a26.7 26.7 0 0 0-21.19 11.64 99.68 99.68 0 0 1 2.4 23.04c0 16.81-.56 38.23-.8 59.66a6.91 6.91 0 0 0 2.4 6.55l13.43 12.45v.56h-60.12c0-4.04.8-59.98.8-72.76 0-24.65-3.76-40.98-20.39-40.98-8.2.3-15.68 4.8-19.83 11.96v82.46c0 3.56 0 4.37 2.4 6.55l13.11 12.45v.56h-59.48V498.15a7.65 7.65 0 0 0-2.4-6.8l-13.19-14.14v-.57H841v28.78c5.53-19 23.13-31.76 42.7-30.96 19.82 0 33.26 11.16 38.93 32.34a46.41 46.41 0 0 1 44.77-32.34c26.55 0 41.58 19.8 41.58 57.23 0 17.87-.56 38.24-.8 59.66a6.5 6.5 0 0 0 2.72 6.55l13.11 12.45v.57h-59.88zM215.87 593.3l17.66 17.05v.57h-89.62v-.57l17.99-17.05a6.91 6.91 0 0 0 2.4-6.55V477.69c0-4.6 0-10.83.8-16.16L104.66 613.1h-.72l-62.6-139.45c-1.37-3.47-1.77-3.72-2.65-6.06v91.43a32.08 32.08 0 0 0 2.96 17.87l25.19 33.46v.57H0v-.57l25.18-33.55a32.16 32.16 0 0 0 2.96-17.78V457.97A19.71 19.71 0 0 0 24 444.15L6.16 420.78v-.56h63.96l53.56 118.1 47.17-118.1h62.6v.56l-17.58 19.8a6.99 6.99 0 0 0-2.72 6.8v139.37a6.5 6.5 0 0 0 2.72 6.55zm70.11-54.65v.56c0 34.6 17.67 48.5 38.38 48.5a43.5 43.5 0 0 0 40.77-24.97h.56c-7.2 34.2-28.14 50.36-59.48 50.36-33.82 0-65.72-20.61-65.72-68.39 0-50.2 31.98-70.25 67.32-70.25 28.46 0 58.76 13.58 58.76 57.24v6.95h-80.59zm0-6.95h39.42v-7.04c0-35.57-7.28-45.03-18.23-45.03-13.27 0-21.35 14.15-21.35 52.07h.16z'));\nexports.MenuUnfoldOutline = getIcon('menu-unfold', outline, getNode(newViewBox, 'M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z'));\nexports.MenuFoldOutline = getIcon('menu-fold', outline, getNode(newViewBox, 'M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z'));\nexports.MenuOutline = getIcon('menu', outline, getNode(newViewBox, 'M904 160H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8zm0 624H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8zm0-312H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8z'));\nexports.MinusOutline = getIcon('minus', outline, getNode(newViewBox, 'M872 474H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z'));\nexports.MonitorOutline = getIcon('monitor', outline, getNode(newViewBox, 'M692.8 412.7l.2-.2-34.6-44.3a7.97 7.97 0 0 0-11.2-1.4l-50.4 39.3-70.5-90.1a7.97 7.97 0 0 0-11.2-1.4l-37.9 29.7a7.97 7.97 0 0 0-1.4 11.2l70.5 90.2-.2.1 34.6 44.3c2.7 3.5 7.7 4.1 11.2 1.4l50.4-39.3 64.1 82c2.7 3.5 7.7 4.1 11.2 1.4l37.9-29.6c3.5-2.7 4.1-7.7 1.4-11.2l-64.1-82.1zM608 112c-167.9 0-304 136.1-304 304 0 70.3 23.9 135 63.9 186.5L114.3 856.1a8.03 8.03 0 0 0 0 11.3l42.3 42.3c3.1 3.1 8.2 3.1 11.3 0l253.6-253.6C473 696.1 537.7 720 608 720c167.9 0 304-136.1 304-304S775.9 112 608 112zm161.2 465.2C726.2 620.3 668.9 644 608 644s-118.2-23.7-161.2-66.8C403.7 534.2 380 476.9 380 416s23.7-118.2 66.8-161.2c43-43.1 100.3-66.8 161.2-66.8s118.2 23.7 161.2 66.8c43.1 43 66.8 100.3 66.8 161.2s-23.7 118.2-66.8 161.2z'));\nexports.MoreOutline = getIcon('more', outline, getNode(newViewBox, 'M456 231a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 280a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 280a56 56 0 1 0 112 0 56 56 0 1 0-112 0z'));\nexports.OrderedListOutline = getIcon('ordered-list', outline, getNode(newViewBox, 'M920 760H336c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-568H336c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H336c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM216 712H100c-2.2 0-4 1.8-4 4v34c0 2.2 1.8 4 4 4h72.4v20.5h-35.7c-2.2 0-4 1.8-4 4v34c0 2.2 1.8 4 4 4h35.7V838H100c-2.2 0-4 1.8-4 4v34c0 2.2 1.8 4 4 4h116c2.2 0 4-1.8 4-4V716c0-2.2-1.8-4-4-4zM100 188h38v120c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V152c0-4.4-3.6-8-8-8h-78c-2.2 0-4 1.8-4 4v36c0 2.2 1.8 4 4 4zm116 240H100c-2.2 0-4 1.8-4 4v36c0 2.2 1.8 4 4 4h68.4l-70.3 77.7a8.3 8.3 0 0 0-2.1 5.4V592c0 2.2 1.8 4 4 4h116c2.2 0 4-1.8 4-4v-36c0-2.2-1.8-4-4-4h-68.4l70.3-77.7a8.3 8.3 0 0 0 2.1-5.4V432c0-2.2-1.8-4-4-4z'));\nexports.NumberOutline = getIcon('number', outline, getNode(newViewBox, 'M872 394c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8H708V152c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v166H400V152c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v166H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h168v236H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h168v166c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V706h228v166c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V706h164c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8H708V394h164zM628 630H400V394h228v236z'));\nexports.PauseOutline = getIcon('pause', outline, getNode(newViewBox, 'M304 176h80v672h-80zm408 0h-64c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8z'));\nexports.PercentageOutline = getIcon('percentage', outline, getNode(newViewBox, 'M855.7 210.8l-42.4-42.4a8.03 8.03 0 0 0-11.3 0L168.3 801.9a8.03 8.03 0 0 0 0 11.3l42.4 42.4c3.1 3.1 8.2 3.1 11.3 0L855.6 222c3.2-3 3.2-8.1.1-11.2zM304 448c79.4 0 144-64.6 144-144s-64.6-144-144-144-144 64.6-144 144 64.6 144 144 144zm0-216c39.7 0 72 32.3 72 72s-32.3 72-72 72-72-32.3-72-72 32.3-72 72-72zm416 344c-79.4 0-144 64.6-144 144s64.6 144 144 144 144-64.6 144-144-64.6-144-144-144zm0 216c-39.7 0-72-32.3-72-72s32.3-72 72-72 72 32.3 72 72-32.3 72-72 72z'));\nexports.PaperClipOutline = getIcon('paper-clip', outline, getNode(newViewBox, 'M779.3 196.6c-94.2-94.2-247.6-94.2-341.7 0l-261 260.8c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0 0 12.7 0l261-260.8c32.4-32.4 75.5-50.2 121.3-50.2s88.9 17.8 121.2 50.2c32.4 32.4 50.2 75.5 50.2 121.2 0 45.8-17.8 88.8-50.2 121.2l-266 265.9-43.1 43.1c-40.3 40.3-105.8 40.3-146.1 0-19.5-19.5-30.2-45.4-30.2-73s10.7-53.5 30.2-73l263.9-263.8c6.7-6.6 15.5-10.3 24.9-10.3h.1c9.4 0 18.1 3.7 24.7 10.3 6.7 6.7 10.3 15.5 10.3 24.9 0 9.3-3.7 18.1-10.3 24.7L372.4 653c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0 0 12.7 0l215.6-215.6c19.9-19.9 30.8-46.3 30.8-74.4s-11-54.6-30.8-74.4c-41.1-41.1-107.9-41-149 0L463 364 224.8 602.1A172.22 172.22 0 0 0 174 724.8c0 46.3 18.1 89.8 50.8 122.5 33.9 33.8 78.3 50.7 122.7 50.7 44.4 0 88.8-16.9 122.6-50.7l309.2-309C824.8 492.7 850 432 850 367.5c.1-64.6-25.1-125.3-70.7-170.9z'));\nexports.PicCenterOutline = getIcon('pic-center', outline, getNode(newViewBox, 'M952 792H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-632H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM848 660c8.8 0 16-7.2 16-16V380c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16v264c0 8.8 7.2 16 16 16h672zM232 436h560v152H232V436z'));\nexports.PicLeftOutline = getIcon('pic-left', outline, getNode(newViewBox, 'M952 792H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-632H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM608 660c8.8 0 16-7.2 16-16V380c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16v264c0 8.8 7.2 16 16 16h512zM152 436h400v152H152V436zm552 210c0 4.4 3.6 8 8 8h224c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H712c-4.4 0-8 3.6-8 8v56zm8-204h224c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H712c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z'));\nexports.PlusOutline = getIcon('plus', outline, getNode(newViewBox, 'M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z', 'M176 474h672q8 0 8 8v60q0 8-8 8H176q-8 0-8-8v-60q0-8 8-8z'));\nexports.PicRightOutline = getIcon('pic-right', outline, getNode(newViewBox, 'M952 792H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-632H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-24 500c8.8 0 16-7.2 16-16V380c0-8.8-7.2-16-16-16H416c-8.8 0-16 7.2-16 16v264c0 8.8 7.2 16 16 16h512zM472 436h400v152H472V436zM80 646c0 4.4 3.6 8 8 8h224c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H88c-4.4 0-8 3.6-8 8v56zm8-204h224c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H88c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z'));\nexports.PoundOutline = getIcon('pound', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm138-209.8H469.8v-4.7c27.4-17.2 43.9-50.4 43.9-91.1 0-14.1-2.2-27.9-5.3-41H607c4.4 0 8-3.6 8-8v-30c0-4.4-3.6-8-8-8H495c-7.2-22.6-13.4-45.7-13.4-70.5 0-43.5 34-70.2 87.3-70.2 21.5 0 42.5 4.1 60.4 10.5 5.2 1.9 10.6-2 10.6-7.6v-39.5c0-3.3-2.1-6.3-5.2-7.5-18.8-7.2-43.8-12.7-70.3-12.7-92.9 0-151.5 44.5-151.5 120.3 0 26.3 6.9 52 14.6 77.1H374c-4.4 0-8 3.6-8 8v30c0 4.4 3.6 8 8 8h67.1c3.4 14.7 5.9 29.4 5.9 44.2 0 45.2-28.8 83.3-72.8 94.2-3.6.9-6.1 4.1-6.1 7.8V722c0 4.4 3.6 8 8 8H650c4.4 0 8-3.6 8-8v-39.8c0-4.4-3.6-8-8-8z'));\nexports.PoweroffOutline = getIcon('poweroff', outline, getNode(newViewBox, 'M705.6 124.9a8 8 0 0 0-11.6 7.2v64.2c0 5.5 2.9 10.6 7.5 13.6a352.2 352.2 0 0 1 62.2 49.8c32.7 32.8 58.4 70.9 76.3 113.3a355 355 0 0 1 27.9 138.7c0 48.1-9.4 94.8-27.9 138.7a355.92 355.92 0 0 1-76.3 113.3 353.06 353.06 0 0 1-113.2 76.4c-43.8 18.6-90.5 28-138.5 28s-94.7-9.4-138.5-28a353.06 353.06 0 0 1-113.2-76.4A355.92 355.92 0 0 1 184 650.4a355 355 0 0 1-27.9-138.7c0-48.1 9.4-94.8 27.9-138.7 17.9-42.4 43.6-80.5 76.3-113.3 19-19 39.8-35.6 62.2-49.8 4.7-2.9 7.5-8.1 7.5-13.6V132c0-6-6.3-9.8-11.6-7.2C178.5 195.2 82 339.3 80 506.3 77.2 745.1 272.5 943.5 511.2 944c239 .5 432.8-193.3 432.8-432.4 0-169.2-97-315.7-238.4-386.7zM480 560h64c4.4 0 8-3.6 8-8V88c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8z'));\nexports.PullRequestOutline = getIcon('pull-request', outline, getNode(newViewBox, 'M788 705.9V192c0-8.8-7.2-16-16-16H602v-68.8c0-6-7-9.4-11.7-5.7L462.7 202.3a7.14 7.14 0 0 0 0 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V240h114v465.9c-44.2 15-76 56.9-76 106.1 0 61.8 50.2 112 112 112s112-50.2 112-112c.1-49.2-31.7-91-75.9-106.1zM752 860a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96zM384 212c0-61.8-50.2-112-112-112s-112 50.2-112 112c0 49.2 31.8 91 76 106.1V706c-44.2 15-76 56.9-76 106.1 0 61.8 50.2 112 112 112s112-50.2 112-112c0-49.2-31.8-91-76-106.1V318.1c44.2-15.1 76-56.9 76-106.1zm-160 0a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm96 600a48.01 48.01 0 0 1-96 0 48.01 48.01 0 0 1 96 0z'));\nexports.QqOutline = getIcon('qq', outline, getNode(newViewBox, 'M824.8 613.2c-16-51.4-34.4-94.6-62.7-165.3C766.5 262.2 689.3 112 511.5 112 331.7 112 256.2 265.2 261 447.9c-28.4 70.8-46.7 113.7-62.7 165.3-34 109.5-23 154.8-14.6 155.8 18 2.2 70.1-82.4 70.1-82.4 0 49 25.2 112.9 79.8 159-26.4 8.1-85.7 29.9-71.6 53.8 11.4 19.3 196.2 12.3 249.5 6.3 53.3 6 238.1 13 249.5-6.3 14.1-23.8-45.3-45.7-71.6-53.8 54.6-46.2 79.8-110.1 79.8-159 0 0 52.1 84.6 70.1 82.4 8.5-1.1 19.5-46.4-14.5-155.8z'));\nexports.QuestionOutline = getIcon('question', outline, getNode(newViewBox, 'M764 280.9c-14-30.6-33.9-58.1-59.3-81.6C653.1 151.4 584.6 125 512 125s-141.1 26.4-192.7 74.2c-25.4 23.6-45.3 51-59.3 81.7-14.6 32-22 65.9-22 100.9v27c0 6.2 5 11.2 11.2 11.2h54c6.2 0 11.2-5 11.2-11.2v-27c0-99.5 88.6-180.4 197.6-180.4s197.6 80.9 197.6 180.4c0 40.8-14.5 79.2-42 111.2-27.2 31.7-65.6 54.4-108.1 64-24.3 5.5-46.2 19.2-61.7 38.8a110.85 110.85 0 0 0-23.9 68.6v31.4c0 6.2 5 11.2 11.2 11.2h54c6.2 0 11.2-5 11.2-11.2v-31.4c0-15.7 10.9-29.5 26-32.9 58.4-13.2 111.4-44.7 149.3-88.7 19.1-22.3 34-47.1 44.3-74 10.7-27.9 16.1-57.2 16.1-87 0-35-7.4-69-22-100.9zM512 787c-30.9 0-56 25.1-56 56s25.1 56 56 56 56-25.1 56-56-25.1-56-56-56z'));\nexports.RadarChartOutline = getIcon('radar-chart', outline, getNode(newViewBox, 'M926.8 397.1l-396-288a31.81 31.81 0 0 0-37.6 0l-396 288a31.99 31.99 0 0 0-11.6 35.8l151.3 466a32 32 0 0 0 30.4 22.1h489.5c13.9 0 26.1-8.9 30.4-22.1l151.3-466c4.2-13.2-.5-27.6-11.7-35.8zM838.6 417l-98.5 32-200-144.7V199.9L838.6 417zM466 567.2l-89.1 122.3-55.2-169.2L466 567.2zm-116.3-96.8L484 373.3v140.8l-134.3-43.7zM512 599.2l93.9 128.9H418.1L512 599.2zm28.1-225.9l134.2 97.1L540.1 514V373.3zM558 567.2l144.3-46.9-55.2 169.2L558 567.2zm-74-367.3v104.4L283.9 449l-98.5-32L484 199.9zM169.3 470.8l86.5 28.1 80.4 246.4-53.8 73.9-113.1-348.4zM327.1 853l50.3-69h269.3l50.3 69H327.1zm414.5-33.8l-53.8-73.9 80.4-246.4 86.5-28.1-113.1 348.4z'));\nexports.QrcodeOutline = getIcon('qrcode', outline, getNode(newViewBox, 'M468 128H160c-17.7 0-32 14.3-32 32v308c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8zm-56 284H192V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210H136c-4.4 0-8 3.6-8 8v308c0 17.7 14.3 32 32 32h308c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zm-56 284H192V612h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm590-630H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V160c0-17.7-14.3-32-32-32zm-32 284H612V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210h-48c-4.4 0-8 3.6-8 8v134h-78V556c0-4.4-3.6-8-8-8H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h78v102c0 4.4 3.6 8 8 8h190c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zM746 832h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm142 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'));\nexports.RadiusBottomleftOutline = getIcon('radius-bottomleft', outline, getNode(newViewBox, 'M712 824h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm2-696h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM136 374h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-174h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm752 624h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-348 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-230 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm230 624H358c-87.3 0-158-70.7-158-158V484c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v182c0 127 103 230 230 230h182c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.RadiusBottomrightOutline = getIcon('radius-bottomright', outline, getNode(newViewBox, 'M368 824h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-58-624h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm578 102h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM192 824h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm292 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm174 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm230 276h-56c-4.4 0-8 3.6-8 8v182c0 87.3-70.7 158-158 158H484c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h182c127 0 230-103 230-230V484c0-4.4-3.6-8-8-8z'));\nexports.RadiusUpleftOutline = getIcon('radius-upleft', outline, getNode(newViewBox, 'M656 200h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm58 624h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM192 650h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm696-696h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-348 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-174 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm174-696H358c-127 0-230 103-230 230v182c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V358c0-87.3 70.7-158 158-158h182c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.RadiusUprightOutline = getIcon('radius-upright', outline, getNode(newViewBox, 'M368 128h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-2 696h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm522-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM192 128h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm348 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm174 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-48-696H484c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h182c87.3 0 158 70.7 158 158v182c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V358c0-127-103-230-230-230z'));\nexports.RadiusSettingOutline = getIcon('radius-setting', outline, getNode(newViewBox, 'M396 140h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-44 684h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm524-204h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM192 344h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 160h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 160h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 160h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm320 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm160 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm140-284c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V370c0-127-103-230-230-230H484c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h170c87.3 0 158 70.7 158 158v170zM236 96H92c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h144c4.4 0 8-3.6 8-8V104c0-4.4-3.6-8-8-8zm-48 101.6c0 1.3-1.1 2.4-2.4 2.4h-43.2c-1.3 0-2.4-1.1-2.4-2.4v-43.2c0-1.3 1.1-2.4 2.4-2.4h43.2c1.3 0 2.4 1.1 2.4 2.4v43.2zM920 780H776c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h144c4.4 0 8-3.6 8-8V788c0-4.4-3.6-8-8-8zm-48 101.6c0 1.3-1.1 2.4-2.4 2.4h-43.2c-1.3 0-2.4-1.1-2.4-2.4v-43.2c0-1.3 1.1-2.4 2.4-2.4h43.2c1.3 0 2.4 1.1 2.4 2.4v43.2z'));\nexports.RedditOutline = getIcon('reddit', outline, getNode(newViewBox, 'M288 568a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm338.7 119.7c-23.1 18.2-68.9 37.8-114.7 37.8s-91.6-19.6-114.7-37.8c-14.4-11.3-35.3-8.9-46.7 5.5s-8.9 35.3 5.5 46.7C396.3 771.6 457.5 792 512 792s115.7-20.4 155.9-52.1a33.25 33.25 0 1 0-41.2-52.2zM960 456c0-61.9-50.1-112-112-112-42.1 0-78.7 23.2-97.9 57.6-57.6-31.5-127.7-51.8-204.1-56.5L612.9 195l127.9 36.9c11.5 32.6 42.6 56.1 79.2 56.1 46.4 0 84-37.6 84-84s-37.6-84-84-84c-32 0-59.8 17.9-74 44.2L603.5 123a33.2 33.2 0 0 0-39.6 18.4l-90.8 203.9c-74.5 5.2-142.9 25.4-199.2 56.2A111.94 111.94 0 0 0 176 344c-61.9 0-112 50.1-112 112 0 45.8 27.5 85.1 66.8 102.5-7.1 21-10.8 43-10.8 65.5 0 154.6 175.5 280 392 280s392-125.4 392-280c0-22.6-3.8-44.5-10.8-65.5C932.5 541.1 960 501.8 960 456zM820 172.5a31.5 31.5 0 1 1 0 63 31.5 31.5 0 0 1 0-63zM120 456c0-30.9 25.1-56 56-56a56 56 0 0 1 50.6 32.1c-29.3 22.2-53.5 47.8-71.5 75.9a56.23 56.23 0 0 1-35.1-52zm392 381.5c-179.8 0-325.5-95.6-325.5-213.5S332.2 410.5 512 410.5 837.5 506.1 837.5 624 691.8 837.5 512 837.5zM868.8 508c-17.9-28.1-42.2-53.7-71.5-75.9 9-18.9 28.3-32.1 50.6-32.1 30.9 0 56 25.1 56 56 .1 23.5-14.5 43.7-35.1 52zM624 568a56 56 0 1 0 112 0 56 56 0 1 0-112 0z'));\nexports.RedoOutline = getIcon('redo', outline, getNode(newViewBox, 'M758.2 839.1C851.8 765.9 912 651.9 912 523.9 912 303 733.5 124.3 512.6 124 291.4 123.7 112 302.8 112 523.9c0 125.2 57.5 236.9 147.6 310.2 3.5 2.8 8.6 2.2 11.4-1.3l39.4-50.5c2.7-3.4 2.1-8.3-1.2-11.1-8.1-6.6-15.9-13.7-23.4-21.2a318.64 318.64 0 0 1-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 0 1-68.6 101.7c-9.3 9.3-19.1 18-29.3 26L668.2 724a8 8 0 0 0-14.1 3l-39.6 162.2c-1.2 5 2.6 9.9 7.7 9.9l167 .8c6.7 0 10.5-7.7 6.3-12.9l-37.3-47.9z'));\nexports.ReloadOutline = getIcon('reload', outline, getNode(newViewBox, 'M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 0 0-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 0 1 655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 0 1 279 755.2a342.16 342.16 0 0 1-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 0 1 109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 0 0 3 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z'));\nexports.RetweetOutline = getIcon('retweet', outline, getNode(normalViewBox, 'M136 552h63.6c4.4 0 8-3.6 8-8V288.7h528.6v72.6c0 1.9.6 3.7 1.8 5.2a8.3 8.3 0 0 0 11.7 1.4L893 255.4c4.3-5 3.6-10.3 0-13.2L749.7 129.8a8.22 8.22 0 0 0-5.2-1.8c-4.6 0-8.4 3.8-8.4 8.4V209H199.7c-39.5 0-71.7 32.2-71.7 71.8V544c0 4.4 3.6 8 8 8zm752-80h-63.6c-4.4 0-8 3.6-8 8v255.3H287.8v-72.6c0-1.9-.6-3.7-1.8-5.2a8.3 8.3 0 0 0-11.7-1.4L131 768.6c-4.3 5-3.6 10.3 0 13.2l143.3 112.4c1.5 1.2 3.3 1.8 5.2 1.8 4.6 0 8.4-3.8 8.4-8.4V815h536.6c39.5 0 71.7-32.2 71.7-71.8V480c-.2-4.4-3.8-8-8.2-8z'));\nexports.RightOutline = getIcon('right', outline, getNode(newViewBox, 'M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z'));\nexports.RiseOutline = getIcon('rise', outline, getNode(newViewBox, 'M917 211.1l-199.2 24c-6.6.8-9.4 8.9-4.7 13.6l59.3 59.3-226 226-101.8-101.7c-6.3-6.3-16.4-6.2-22.6 0L100.3 754.1a8.03 8.03 0 0 0 0 11.3l45 45.2c3.1 3.1 8.2 3.1 11.3 0L433.3 534 535 635.7c6.3 6.2 16.4 6.2 22.6 0L829 364.5l59.3 59.3a8.01 8.01 0 0 0 13.6-4.7l24-199.2c.7-5.1-3.7-9.5-8.9-8.8z'));\nexports.RollbackOutline = getIcon('rollback', outline, getNode(newViewBox, 'M793 242H366v-74c0-6.7-7.7-10.4-12.9-6.3l-142 112a8 8 0 0 0 0 12.6l142 112c5.2 4.1 12.9.4 12.9-6.3v-74h415v470H175c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h618c35.3 0 64-28.7 64-64V306c0-35.3-28.7-64-64-64z'));\nexports.SafetyOutline = getIcon('safety', outline, getNode(normalViewBox, 'M512 64L128 192v384c0 212.1 171.9 384 384 384s384-171.9 384-384V192L512 64zm312 512c0 172.3-139.7 312-312 312S200 748.3 200 576V246l312-110 312 110v330z', 'M378.4 475.1a35.91 35.91 0 0 0-50.9 0 35.91 35.91 0 0 0 0 50.9l129.4 129.4 2.1 2.1a33.98 33.98 0 0 0 48.1 0L730.6 434a33.98 33.98 0 0 0 0-48.1l-2.8-2.8a33.98 33.98 0 0 0-48.1 0L483 579.7 378.4 475.1z'));\nexports.RobotOutline = getIcon('robot', outline, getNode(newViewBox, 'M300 328a60 60 0 1 0 120 0 60 60 0 1 0-120 0zM852 64H172c-17.7 0-32 14.3-32 32v660c0 17.7 14.3 32 32 32h680c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-32 660H204V128h616v596zM604 328a60 60 0 1 0 120 0 60 60 0 1 0-120 0zm250.2 556H169.8c-16.5 0-29.8 14.3-29.8 32v36c0 4.4 3.3 8 7.4 8h729.1c4.1 0 7.4-3.6 7.4-8v-36c.1-17.7-13.2-32-29.7-32zM664 508H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z'));\nexports.SearchOutline = getIcon('search', outline, getNode(newViewBox, 'M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0 0 11.6 0l43.6-43.5a8.2 8.2 0 0 0 0-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z'));\nexports.ScanOutline = getIcon('scan', outline, getNode(newViewBox, 'M136 384h56c4.4 0 8-3.6 8-8V200h176c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H196c-37.6 0-68 30.4-68 68v180c0 4.4 3.6 8 8 8zm512-184h176v176c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V196c0-37.6-30.4-68-68-68H648c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM376 824H200V648c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v180c0 37.6 30.4 68 68 68h180c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm512-184h-56c-4.4 0-8 3.6-8 8v176H648c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h180c37.6 0 68-30.4 68-68V648c0-4.4-3.6-8-8-8zm16-164H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.ScissorOutline = getIcon('scissor', outline, getNode(newViewBox, 'M567.1 512l318.5-319.3c5-5 1.5-13.7-5.6-13.7h-90.5c-2.1 0-4.2.8-5.6 2.3l-273.3 274-90.2-90.5c12.5-22.1 19.7-47.6 19.7-74.8 0-83.9-68.1-152-152-152s-152 68.1-152 152 68.1 152 152 152c27.7 0 53.6-7.4 75.9-20.3l90 90.3-90.1 90.3A151.04 151.04 0 0 0 288 582c-83.9 0-152 68.1-152 152s68.1 152 152 152 152-68.1 152-152c0-27.2-7.2-52.7-19.7-74.8l90.2-90.5 273.3 274c1.5 1.5 3.5 2.3 5.6 2.3H880c7.1 0 10.7-8.6 5.6-13.7L567.1 512zM288 370c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80zm0 444c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z'));\nexports.SelectOutline = getIcon('select', outline, getNode(newViewBox, 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h360c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H184V184h656v320c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V144c0-17.7-14.3-32-32-32zM653.3 599.4l52.2-52.2a8.01 8.01 0 0 0-4.7-13.6l-179.4-21c-5.1-.6-9.5 3.7-8.9 8.9l21 179.4c.8 6.6 8.9 9.4 13.6 4.7l52.4-52.4 256.2 256.2c3.1 3.1 8.2 3.1 11.3 0l42.4-42.4c3.1-3.1 3.1-8.2 0-11.3L653.3 599.4z'));\nexports.ShakeOutline = getIcon('shake', outline, getNode(newViewBox, 'M324 666a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm616.7-309.6L667.6 83.2C655.2 70.9 638.7 64 621.1 64s-34.1 6.8-46.5 19.2L83.3 574.5a65.85 65.85 0 0 0 0 93.1l273.2 273.2c12.3 12.3 28.9 19.2 46.5 19.2s34.1-6.8 46.5-19.2l491.3-491.3c25.6-25.7 25.6-67.5-.1-93.1zM403 880.1L143.9 621l477.2-477.2 259 259.2L403 880.1zM152.8 373.7a7.9 7.9 0 0 0 11.2 0L373.7 164a7.9 7.9 0 0 0 0-11.2l-38.4-38.4a7.9 7.9 0 0 0-11.2 0L114.3 323.9a7.9 7.9 0 0 0 0 11.2l38.5 38.6zm718.6 276.6a7.9 7.9 0 0 0-11.2 0L650.3 860.1a7.9 7.9 0 0 0 0 11.2l38.4 38.4a7.9 7.9 0 0 0 11.2 0L909.7 700a7.9 7.9 0 0 0 0-11.2l-38.3-38.5z'));\nexports.ShareAltOutline = getIcon('share-alt', outline, getNode(newViewBox, 'M752 664c-28.5 0-54.8 10-75.4 26.7L469.4 540.8a160.68 160.68 0 0 0 0-57.6l207.2-149.9C697.2 350 723.5 360 752 360c66.2 0 120-53.8 120-120s-53.8-120-120-120-120 53.8-120 120c0 11.6 1.6 22.7 4.7 33.3L439.9 415.8C410.7 377.1 364.3 352 312 352c-88.4 0-160 71.6-160 160s71.6 160 160 160c52.3 0 98.7-25.1 127.9-63.8l196.8 142.5c-3.1 10.6-4.7 21.8-4.7 33.3 0 66.2 53.8 120 120 120s120-53.8 120-120-53.8-120-120-120zm0-476c28.7 0 52 23.3 52 52s-23.3 52-52 52-52-23.3-52-52 23.3-52 52-52zM312 600c-48.5 0-88-39.5-88-88s39.5-88 88-88 88 39.5 88 88-39.5 88-88 88zm440 236c-28.7 0-52-23.3-52-52s23.3-52 52-52 52 23.3 52 52-23.3 52-52 52z'));\nexports.ShoppingCartOutline = getIcon('shopping-cart', outline, getNode(normalViewBox, 'M922.9 701.9H327.4l29.9-60.9 496.8-.9c16.8 0 31.2-12 34.2-28.6l68.8-385.1c1.8-10.1-.9-20.5-7.5-28.4a34.99 34.99 0 0 0-26.6-12.5l-632-2.1-5.4-25.4c-3.4-16.2-18-28-34.6-28H96.5a35.3 35.3 0 1 0 0 70.6h125.9L246 312.8l58.1 281.3-74.8 122.1a34.96 34.96 0 0 0-3 36.8c6 11.9 18.1 19.4 31.5 19.4h62.8a102.43 102.43 0 0 0-20.6 61.7c0 56.6 46 102.6 102.6 102.6s102.6-46 102.6-102.6c0-22.3-7.4-44-20.6-61.7h161.1a102.43 102.43 0 0 0-20.6 61.7c0 56.6 46 102.6 102.6 102.6s102.6-46 102.6-102.6c0-22.3-7.4-44-20.6-61.7H923c19.4 0 35.3-15.8 35.3-35.3a35.42 35.42 0 0 0-35.4-35.2zM305.7 253l575.8 1.9-56.4 315.8-452.3.8L305.7 253zm96.9 612.7c-17.4 0-31.6-14.2-31.6-31.6 0-17.4 14.2-31.6 31.6-31.6s31.6 14.2 31.6 31.6a31.6 31.6 0 0 1-31.6 31.6zm325.1 0c-17.4 0-31.6-14.2-31.6-31.6 0-17.4 14.2-31.6 31.6-31.6s31.6 14.2 31.6 31.6a31.6 31.6 0 0 1-31.6 31.6z'));\nexports.ShrinkOutline = getIcon('shrink', outline, getNode(newViewBox, 'M881.7 187.4l-45.1-45.1a8.03 8.03 0 0 0-11.3 0L667.8 299.9l-54.7-54.7a7.94 7.94 0 0 0-13.5 4.7L576.1 439c-.6 5.2 3.7 9.5 8.9 8.9l189.2-23.5c6.6-.8 9.3-8.8 4.7-13.5l-54.7-54.7 157.6-157.6c3-3 3-8.1-.1-11.2zM439 576.1l-189.2 23.5c-6.6.8-9.3 8.9-4.7 13.5l54.7 54.7-157.5 157.5a8.03 8.03 0 0 0 0 11.3l45.1 45.1c3.1 3.1 8.2 3.1 11.3 0l157.6-157.6 54.7 54.7a7.94 7.94 0 0 0 13.5-4.7L447.9 585a7.9 7.9 0 0 0-8.9-8.9z'));\nexports.SlackOutline = getIcon('slack', outline, getNode(newViewBox, 'M409.4 128c-42.4 0-76.7 34.4-76.7 76.8 0 20.3 8.1 39.9 22.4 54.3a76.74 76.74 0 0 0 54.3 22.5h76.7v-76.8c0-42.3-34.3-76.7-76.7-76.8zm0 204.8H204.7c-42.4 0-76.7 34.4-76.7 76.8s34.4 76.8 76.7 76.8h204.6c42.4 0 76.7-34.4 76.7-76.8.1-42.4-34.3-76.8-76.6-76.8zM614 486.4c42.4 0 76.8-34.4 76.7-76.8V204.8c0-42.4-34.3-76.8-76.7-76.8-42.4 0-76.7 34.4-76.7 76.8v204.8c0 42.5 34.3 76.8 76.7 76.8zm281.4-76.8c0-42.4-34.4-76.8-76.7-76.8S742 367.2 742 409.6v76.8h76.7c42.3 0 76.7-34.4 76.7-76.8zm-76.8 128H614c-42.4 0-76.7 34.4-76.7 76.8 0 20.3 8.1 39.9 22.4 54.3a76.74 76.74 0 0 0 54.3 22.5h204.6c42.4 0 76.7-34.4 76.7-76.8.1-42.4-34.3-76.7-76.7-76.8zM614 742.4h-76.7v76.8c0 42.4 34.4 76.8 76.7 76.8 42.4 0 76.8-34.4 76.7-76.8.1-42.4-34.3-76.7-76.7-76.8zM409.4 537.6c-42.4 0-76.7 34.4-76.7 76.8v204.8c0 42.4 34.4 76.8 76.7 76.8 42.4 0 76.8-34.4 76.7-76.8V614.4c0-20.3-8.1-39.9-22.4-54.3a76.92 76.92 0 0 0-54.3-22.5zM128 614.4c0 20.3 8.1 39.9 22.4 54.3a76.74 76.74 0 0 0 54.3 22.5c42.4 0 76.8-34.4 76.7-76.8v-76.8h-76.7c-42.3 0-76.7 34.4-76.7 76.8z'));\nexports.SmallDashOutline = getIcon('small-dash', outline, getNode(newViewBox, 'M112 476h72v72h-72zm182 0h72v72h-72zm364 0h72v72h-72zm182 0h72v72h-72zm-364 0h72v72h-72z'));\nexports.SolutionOutline = getIcon('solution', outline, getNode(newViewBox, 'M688 264c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48zm-8 136H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM480 544H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-48 308H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm356.8-74.4c29-26.3 47.2-64.3 47.2-106.6 0-79.5-64.5-144-144-144s-144 64.5-144 144c0 42.3 18.2 80.3 47.2 106.6-57 32.5-96.2 92.7-99.2 162.1-.2 4.5 3.5 8.3 8 8.3h48.1c4.2 0 7.7-3.3 8-7.6C564 871.2 621.7 816 692 816s128 55.2 131.9 124.4c.2 4.2 3.7 7.6 8 7.6H880c4.6 0 8.2-3.8 8-8.3-2.9-69.5-42.2-129.6-99.2-162.1zM692 591c44.2 0 80 35.8 80 80s-35.8 80-80 80-80-35.8-80-80 35.8-80 80-80z'));\nexports.SketchOutline = getIcon('sketch', outline, getNode(newViewBox, 'M925.6 405.1l-203-253.7a6.5 6.5 0 0 0-5-2.4H306.4c-1.9 0-3.8.9-5 2.4l-203 253.7a6.5 6.5 0 0 0 .2 8.3l408.6 459.5c1.2 1.4 3 2.1 4.8 2.1 1.8 0 3.5-.8 4.8-2.1l408.6-459.5a6.5 6.5 0 0 0 .2-8.3zM645.2 206.4l34.4 133.9-132.5-133.9h98.1zm8.2 178.5H370.6L512 242l141.4 142.9zM378.8 206.4h98.1L344.3 340.3l34.5-133.9zm-53.4 7l-44.1 171.5h-93.1l137.2-171.5zM194.6 434.9H289l125.8 247.7-220.2-247.7zM512 763.4L345.1 434.9h333.7L512 763.4zm97.1-80.8L735 434.9h94.4L609.1 682.6zm133.6-297.7l-44.1-171.5 137.2 171.5h-93.1z'));\nexports.SortDescendingOutline = getIcon('sort-descending', outline, getNode(newViewBox, 'M839.6 433.8L749 150.5a9.24 9.24 0 0 0-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 0 0-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 0 0-9.2-9.3zM310.3 167.1a8 8 0 0 0-12.6 0L185.7 309c-4.2 5.3-.4 13 6.3 13h76v530c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V322h76c6.7 0 10.5-7.8 6.3-13l-112-141.9z'));\nexports.SortAscendingOutline = getIcon('sort-ascending', outline, getNode(newViewBox, 'M839.6 433.8L749 150.5a9.24 9.24 0 0 0-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 0 0-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 0 0-9.2-9.3zM416 702h-76V172c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v530h-76c-6.7 0-10.5 7.8-6.3 13l112 141.9a8 8 0 0 0 12.6 0l112-141.9c4.1-5.2.4-13-6.3-13z'));\nexports.StockOutline = getIcon('stock', outline, getNode(newViewBox, 'M904 747H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM165.7 621.8l39.7 39.5c3.1 3.1 8.2 3.1 11.3 0l234.7-233.9 97.6 97.3a32.11 32.11 0 0 0 45.2 0l264.2-263.2c3.1-3.1 3.1-8.2 0-11.3l-39.7-39.6a8.03 8.03 0 0 0-11.3 0l-235.7 235-97.7-97.3a32.11 32.11 0 0 0-45.2 0L165.7 610.5a7.94 7.94 0 0 0 0 11.3z'));\nexports.SwapLeftOutline = getIcon('swap-left', outline, getNode(normalViewBox, 'M872 572H266.8l144.3-183c4.1-5.2.4-13-6.3-13H340c-9.8 0-19.1 4.5-25.1 12.2l-164 208c-16.5 21-1.6 51.8 25.1 51.8h696c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z'));\nexports.SwapRightOutline = getIcon('swap-right', outline, getNode(normalViewBox, 'M873.1 596.2l-164-208A32 32 0 0 0 684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z'));\nexports.StrikethroughOutline = getIcon('strikethrough', outline, getNode(newViewBox, 'M952 474H569.9c-10-2-20.5-4-31.6-6-15.9-2.9-22.2-4.1-30.8-5.8-51.3-10-82.2-20-106.8-34.2-35.1-20.5-52.2-48.3-52.2-85.1 0-37 15.2-67.7 44-89 28.4-21 68.8-32.1 116.8-32.1 54.8 0 97.1 14.4 125.8 42.8 14.6 14.4 25.3 32.1 31.8 52.6 1.3 4.1 2.8 10 4.3 17.8.9 4.8 5.2 8.2 9.9 8.2h72.8c5.6 0 10.1-4.6 10.1-10.1v-1c-.7-6.8-1.3-12.1-2-16-7.3-43.5-28-81.7-59.7-110.3-44.4-40.5-109.7-61.8-188.7-61.8-72.3 0-137.4 18.1-183.3 50.9-25.6 18.4-45.4 41.2-58.6 67.7-13.5 27.1-20.3 58.4-20.3 92.9 0 29.5 5.7 54.5 17.3 76.5 8.3 15.7 19.6 29.5 34.1 42H72c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h433.2c2.1.4 3.9.8 5.9 1.2 30.9 6.2 49.5 10.4 66.6 15.2 23 6.5 40.6 13.3 55.2 21.5 35.8 20.2 53.3 49.2 53.3 89 0 35.3-15.5 66.8-43.6 88.8-30.5 23.9-75.6 36.4-130.5 36.4-43.7 0-80.7-8.5-110.2-25-29.1-16.3-49.1-39.8-59.7-69.5-.8-2.2-1.7-5.2-2.7-9-1.2-4.4-5.3-7.5-9.7-7.5h-79.7c-5.6 0-10.1 4.6-10.1 10.1v1c.2 2.3.4 4.2.6 5.7 6.5 48.8 30.3 88.8 70.7 118.8 47.1 34.8 113.4 53.2 191.8 53.2 84.2 0 154.8-19.8 204.2-57.3 25-18.9 44.2-42.2 57.1-69 13-27.1 19.7-57.9 19.7-91.5 0-31.8-5.8-58.4-17.8-81.4-5.8-11.2-13.1-21.5-21.8-30.8H952c4.4 0 8-3.6 8-8v-60a8 8 0 0 0-8-7.9z'));\nexports.SwapOutline = getIcon('swap', outline, getNode(newViewBox, 'M847.9 592H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h605.2L612.9 851c-4.1 5.2-.4 13 6.3 13h72.5c4.9 0 9.5-2.2 12.6-6.1l168.8-214.1c16.5-21 1.6-51.8-25.2-51.8zM872 356H266.8l144.3-183c4.1-5.2.4-13-6.3-13h-72.5c-4.9 0-9.5 2.2-12.6 6.1L150.9 380.2c-16.5 21-1.6 51.8 25.1 51.8h696c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z'));\nexports.SyncOutline = getIcon('sync', outline, getNode(newViewBox, 'M168 504.2c1-43.7 10-86.1 26.9-126 17.3-41 42.1-77.7 73.7-109.4S337 212.3 378 195c42.4-17.9 87.4-27 133.9-27s91.5 9.1 133.8 27A341.5 341.5 0 0 1 755 268.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 0 0 3 14.1l175.7 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c0-6.7-7.7-10.5-12.9-6.3l-56.4 44.1C765.8 155.1 646.2 92 511.8 92 282.7 92 96.3 275.6 92 503.8a8 8 0 0 0 8 8.2h60c4.4 0 7.9-3.5 8-7.8zm756 7.8h-60c-4.4 0-7.9 3.5-8 7.8-1 43.7-10 86.1-26.9 126-17.3 41-42.1 77.8-73.7 109.4A342.45 342.45 0 0 1 512.1 856a342.24 342.24 0 0 1-243.2-100.8c-9.9-9.9-19.2-20.4-27.8-31.4l60.2-47a8 8 0 0 0-3-14.1l-175.7-43c-5-1.2-9.9 2.6-9.9 7.7l-.7 181c0 6.7 7.7 10.5 12.9 6.3l56.4-44.1C258.2 868.9 377.8 932 512.2 932c229.2 0 415.5-183.7 419.8-411.8a8 8 0 0 0-8-8.2z'));\nexports.TableOutline = getIcon('table', outline, getNode(newViewBox, 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 208H676V232h212v136zm0 224H676V432h212v160zM412 432h200v160H412V432zm200-64H412V232h200v136zm-476 64h212v160H136V432zm0-200h212v136H136V232zm0 424h212v136H136V656zm276 0h200v136H412V656zm476 136H676V656h212v136z'));\nexports.TeamOutline = getIcon('team', outline, getNode(newViewBox, 'M824.2 699.9a301.55 301.55 0 0 0-86.4-60.4C783.1 602.8 812 546.8 812 484c0-110.8-92.4-201.7-203.2-200-109.1 1.7-197 90.6-197 200 0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 0 0-86.4 60.4C345 754.6 314 826.8 312 903.8a8 8 0 0 0 8 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5A226.62 226.62 0 0 1 612 684c60.9 0 118.2 23.7 161.3 66.8C814.5 792 838 846.3 840 904.3c.1 4.3 3.7 7.7 8 7.7h56a8 8 0 0 0 8-8.2c-2-77-33-149.2-87.8-203.9zM612 612c-34.2 0-66.4-13.3-90.5-37.5a126.86 126.86 0 0 1-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4 0 34.2-13.3 66.3-37.5 90.5A127.3 127.3 0 0 1 612 612zM361.5 510.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 0 1-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.9-1.7-203.3 89.2-203.3 199.9 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 0 0 8 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.9-1 6.5-4.7 6-8.7z'));\nexports.TaobaoOutline = getIcon('taobao', outline, getNode(newViewBox, 'M168.5 273.7a68.7 68.7 0 1 0 137.4 0 68.7 68.7 0 1 0-137.4 0zm730 79.2s-23.7-184.4-426.9-70.1c17.3-30 25.6-49.5 25.6-49.5L396.4 205s-40.6 132.6-113 194.4c0 0 70.1 40.6 69.4 39.4 20.1-20.1 38.2-40.6 53.7-60.4 16.1-7 31.5-13.6 46.7-19.8-18.6 33.5-48.7 83.8-78.8 115.6l42.4 37s28.8-27.7 60.4-61.2h36v61.8H372.9v49.5h140.3v118.5c-1.7 0-3.6 0-5.4-.2-15.4-.7-39.5-3.3-49-18.2-11.5-18.1-3-51.5-2.4-71.9h-97l-3.4 1.8s-35.5 159.1 102.3 155.5c129.1 3.6 203-36 238.6-63.1l14.2 52.6 79.6-33.2-53.9-131.9-64.6 20.1 12.1 45.2c-16.6 12.4-35.6 21.7-56.2 28.4V561.3h137.1v-49.5H628.1V450h137.6v-49.5H521.3c17.6-21.4 31.5-41.1 35-53.6l-42.5-11.6c182.8-65.5 284.5-54.2 283.6 53.2v282.8s10.8 97.1-100.4 90.1l-60.2-12.9-14.2 57.1S882.5 880 903.7 680.2c21.3-200-5.2-327.3-5.2-327.3zm-707.4 18.3l-45.4 69.7 83.6 52.1s56 28.5 29.4 81.9C233.8 625.5 112 736.3 112 736.3l109 68.1c75.4-163.7 70.5-142 89.5-200.7 19.5-60.1 23.7-105.9-9.4-139.1-42.4-42.6-47-46.6-110-93.4z'));\nexports.ToTopOutline = getIcon('to-top', outline, getNode(newViewBox, 'M885 780H165c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM400 325.7h73.9V664c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V325.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 171a8 8 0 0 0-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13z'));\nexports.TrademarkOutline = getIcon('trademark', outline, getNode(newViewBox, 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm87.5-334.7c34.8-12.8 78.4-49 78.4-119.2 0-71.2-45.5-131.1-144.2-131.1H378c-4.4 0-8 3.6-8 8v410c0 4.4 3.6 8 8 8h54.5c4.4 0 8-3.6 8-8V561.2h88.7l74.6 159.2c1.3 2.8 4.1 4.6 7.2 4.6h62a7.9 7.9 0 0 0 7.1-11.5l-80.6-164.2zM522 505h-81.5V357h83.4c48 0 80.9 25.3 80.9 75.5 0 46.9-29.8 72.5-82.8 72.5z'));\nexports.TransactionOutline = getIcon('transaction', outline, getNode(newViewBox, 'M668.6 320c0-4.4-3.6-8-8-8h-54.5c-3 0-5.8 1.7-7.1 4.4l-84.7 168.8H511l-84.7-168.8a8 8 0 0 0-7.1-4.4h-55.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.8l103.9 191.6h-57c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76v39h-76c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76V704c0 4.4 3.6 8 8 8h49.9c4.4 0 8-3.6 8-8v-63.5h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8h-76.3v-39h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8H564l103.7-191.6c.5-1.1.9-2.4.9-3.7zM157.9 504.2a352.7 352.7 0 0 1 103.5-242.4c32.5-32.5 70.3-58.1 112.4-75.9 43.6-18.4 89.9-27.8 137.6-27.8 47.8 0 94.1 9.3 137.6 27.8 42.1 17.8 79.9 43.4 112.4 75.9 10 10 19.3 20.5 27.9 31.4l-50 39.1a8 8 0 0 0 3 14.1l156.8 38.3c5 1.2 9.9-2.6 9.9-7.7l.8-161.5c0-6.7-7.7-10.5-12.9-6.3l-47.8 37.4C770.7 146.3 648.6 82 511.5 82 277 82 86.3 270.1 82 503.8a8 8 0 0 0 8 8.2h60c4.3 0 7.8-3.5 7.9-7.8zM934 512h-60c-4.3 0-7.9 3.5-8 7.8a352.7 352.7 0 0 1-103.5 242.4 352.57 352.57 0 0 1-112.4 75.9c-43.6 18.4-89.9 27.8-137.6 27.8s-94.1-9.3-137.6-27.8a352.57 352.57 0 0 1-112.4-75.9c-10-10-19.3-20.5-27.9-31.4l49.9-39.1a8 8 0 0 0-3-14.1l-156.8-38.3c-5-1.2-9.9 2.6-9.9 7.7l-.8 161.7c0 6.7 7.7 10.5 12.9 6.3l47.8-37.4C253.3 877.7 375.4 942 512.5 942 747 942 937.7 753.9 942 520.2a8 8 0 0 0-8-8.2z'));\nexports.TwitterOutline = getIcon('twitter', outline, getNode(newViewBox, 'M928 254.3c-30.6 13.2-63.9 22.7-98.2 26.4a170.1 170.1 0 0 0 75-94 336.64 336.64 0 0 1-108.2 41.2A170.1 170.1 0 0 0 672 174c-94.5 0-170.5 76.6-170.5 170.6 0 13.2 1.6 26.4 4.2 39.1-141.5-7.4-267.7-75-351.6-178.5a169.32 169.32 0 0 0-23.2 86.1c0 59.2 30.1 111.4 76 142.1a172 172 0 0 1-77.1-21.7v2.1c0 82.9 58.6 151.6 136.7 167.4a180.6 180.6 0 0 1-44.9 5.8c-11.1 0-21.6-1.1-32.2-2.6C211 652 273.9 701.1 348.8 702.7c-58.6 45.9-132 72.9-211.7 72.9-14.3 0-27.5-.5-41.2-2.1C171.5 822 261.2 850 357.8 850 671.4 850 843 590.2 843 364.7c0-7.4 0-14.8-.5-22.2 33.2-24.3 62.3-54.4 85.5-88.2z'));\nexports.UnderlineOutline = getIcon('underline', outline, getNode(newViewBox, 'M824 804H200c-4.4 0-8 3.4-8 7.6v60.8c0 4.2 3.6 7.6 8 7.6h624c4.4 0 8-3.4 8-7.6v-60.8c0-4.2-3.6-7.6-8-7.6zm-312-76c69.4 0 134.6-27.1 183.8-76.2C745 602.7 772 537.4 772 468V156c0-6.6-5.4-12-12-12h-60c-6.6 0-12 5.4-12 12v312c0 97-79 176-176 176s-176-79-176-176V156c0-6.6-5.4-12-12-12h-60c-6.6 0-12 5.4-12 12v312c0 69.4 27.1 134.6 76.2 183.8C377.3 701 442.6 728 512 728z'));\nexports.UndoOutline = getIcon('undo', outline, getNode(newViewBox, 'M511.4 124C290.5 124.3 112 303 112 523.9c0 128 60.2 242 153.8 315.2l-37.5 48c-4.1 5.3-.3 13 6.3 12.9l167-.8c5.2 0 9-4.9 7.7-9.9L369.8 727a8 8 0 0 0-14.1-3L315 776.1c-10.2-8-20-16.7-29.3-26a318.64 318.64 0 0 1-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 0 1-68.6 101.7c-7.5 7.5-15.3 14.5-23.4 21.2a7.93 7.93 0 0 0-1.2 11.1l39.4 50.5c2.8 3.5 7.9 4.1 11.4 1.3C854.5 760.8 912 649.1 912 523.9c0-221.1-179.4-400.2-400.6-399.9z'));\nexports.UnorderedListOutline = getIcon('unordered-list', outline, getNode(newViewBox, 'M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 284a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 284a56 56 0 1 0 112 0 56 56 0 1 0-112 0z'));\nexports.UpOutline = getIcon('up', outline, getNode(newViewBox, 'M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 0 0 140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z'));\nexports.UploadOutline = getIcon('upload', outline, getNode(newViewBox, 'M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 0 0-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z'));\nexports.UserAddOutline = getIcon('user-add', outline, getNode(newViewBox, 'M678.3 642.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 0 0-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 505 759.6 431.7 759.6 349c0-137-110.8-248-247.5-248S264.7 212 264.7 349c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 0 0-80.4 119.5A373.6 373.6 0 0 0 137 888.8a8 8 0 0 0 8 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 628.2 432.2 597 512.2 597c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 0 0 8.1.3zM512.2 521c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 0 1 340.5 349c0-45.9 17.9-89.1 50.3-121.6S466.3 177 512.2 177s88.9 17.9 121.4 50.4A171.2 171.2 0 0 1 683.9 349c0 45.9-17.9 89.1-50.3 121.6C601.1 503.1 558 521 512.2 521zM880 759h-84v-84c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v84h-84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h84v84c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-84h84c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.UsergroupAddOutline = getIcon('usergroup-add', outline, getNode(newViewBox, 'M892 772h-80v-80c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v80h-80c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h80v80c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-80h80c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM373.5 498.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 0 1-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.8-1.7-203.2 89.2-203.2 200 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 0 0 8 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.8-1.1 6.4-4.8 5.9-8.8zM824 472c0-109.4-87.9-198.3-196.9-200C516.3 270.3 424 361.2 424 472c0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 0 0-86.4 60.4C357 742.6 326 814.8 324 891.8a8 8 0 0 0 8 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5C505.8 695.7 563 672 624 672c110.4 0 200-89.5 200-200zm-109.5 90.5C690.3 586.7 658.2 600 624 600s-66.3-13.3-90.5-37.5a127.26 127.26 0 0 1-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4-.1 34.2-13.4 66.3-37.6 90.5z'));\nexports.UserOutline = getIcon('user', outline, getNode(newViewBox, 'M858.5 763.6a374 374 0 0 0-80.6-119.5 375.63 375.63 0 0 0-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 0 0-80.6 119.5A371.7 371.7 0 0 0 136 901.8a8 8 0 0 0 8 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 0 0 8-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z'));\nexports.UserDeleteOutline = getIcon('user-delete', outline, getNode(newViewBox, 'M678.3 655.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 0 0-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 518 759.6 444.7 759.6 362c0-137-110.8-248-247.5-248S264.7 225 264.7 362c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 0 0-80.4 119.5A373.6 373.6 0 0 0 137 901.8a8 8 0 0 0 8 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 641.2 432.2 610 512.2 610c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 0 0 8.1.3zM512.2 534c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 0 1 340.5 362c0-45.9 17.9-89.1 50.3-121.6S466.3 190 512.2 190s88.9 17.9 121.4 50.4A171.2 171.2 0 0 1 683.9 362c0 45.9-17.9 89.1-50.3 121.6C601.1 516.1 558 534 512.2 534zM880 772H640c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h240c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z'));\nexports.UsergroupDeleteOutline = getIcon('usergroup-delete', outline, getNode(newViewBox, 'M888 784H664c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h224c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM373.5 510.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 0 1-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.9-1.7-203.3 89.2-203.3 199.9 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 0 0 8 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.9-1 6.5-4.7 6-8.7zM824 484c0-109.4-87.9-198.3-196.9-200C516.3 282.3 424 373.2 424 484c0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 0 0-86.4 60.4C357 754.6 326 826.8 324 903.8a8 8 0 0 0 8 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5C505.8 707.7 563 684 624 684c110.4 0 200-89.5 200-200zm-109.5 90.5C690.3 598.7 658.2 612 624 612s-66.3-13.3-90.5-37.5a127.26 127.26 0 0 1-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4-.1 34.2-13.4 66.3-37.6 90.5z'));\nexports.VerticalAlignBottomOutline = getIcon('vertical-align-bottom', outline, getNode(newViewBox, 'M859.9 780H164.1c-4.5 0-8.1 3.6-8.1 8v60c0 4.4 3.6 8 8.1 8h695.8c4.5 0 8.1-3.6 8.1-8v-60c0-4.4-3.6-8-8.1-8zM505.7 669a8 8 0 0 0 12.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V176c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8z'));\nexports.VerticalAlignMiddleOutline = getIcon('vertical-align-middle', outline, getNode(newViewBox, 'M859.9 474H164.1c-4.5 0-8.1 3.6-8.1 8v60c0 4.4 3.6 8 8.1 8h695.8c4.5 0 8.1-3.6 8.1-8v-60c0-4.4-3.6-8-8.1-8zm-353.6-74.7c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H550V104c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v156h-62.8c-6 0-9.4 7-5.7 11.7l100.8 127.6zm11.4 225.4a7.14 7.14 0 0 0-11.3 0L405.6 752.3a7.23 7.23 0 0 0 5.7 11.7H474v156c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V764h62.8c6 0 9.4-7 5.7-11.7L517.7 624.7z'));\nexports.VerticalAlignTopOutline = getIcon('vertical-align-top', outline, getNode(newViewBox, 'M859.9 168H164.1c-4.5 0-8.1 3.6-8.1 8v60c0 4.4 3.6 8 8.1 8h695.8c4.5 0 8.1-3.6 8.1-8v-60c0-4.4-3.6-8-8.1-8zM518.3 355a8 8 0 0 0-12.6 0l-112 141.7a7.98 7.98 0 0 0 6.3 12.9h73.9V848c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V509.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 355z'));\nexports.VerticalRightOutline = getIcon('vertical-right', outline, getNode(newViewBox, 'M326 164h-64c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V172c0-4.4-3.6-8-8-8zm444 72.4V164c0-6.8-7.9-10.5-13.1-6.1L335 512l421.9 354.1c5.2 4.4 13.1.7 13.1-6.1v-72.4c0-9.4-4.2-18.4-11.4-24.5L459.4 512l299.2-251.1c7.2-6.1 11.4-15.1 11.4-24.5z'));\nexports.VerticalLeftOutline = getIcon('vertical-left', outline, getNode(newViewBox, 'M762 164h-64c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V172c0-4.4-3.6-8-8-8zm-508 0v72.4c0 9.5 4.2 18.4 11.4 24.5L564.6 512 265.4 763.1c-7.2 6.1-11.4 15-11.4 24.5V860c0 6.8 7.9 10.5 13.1 6.1L689 512 267.1 157.9A7.95 7.95 0 0 0 254 164z'));\nexports.WifiOutline = getIcon('wifi', outline, getNode(newViewBox, 'M723 620.5C666.8 571.6 593.4 542 513 542s-153.8 29.6-210.1 78.6a8.1 8.1 0 0 0-.8 11.2l36 42.9c2.9 3.4 8 3.8 11.4.9C393.1 637.2 450.3 614 513 614s119.9 23.2 163.5 61.5c3.4 2.9 8.5 2.5 11.4-.9l36-42.9c2.8-3.3 2.4-8.3-.9-11.2zm117.4-140.1C751.7 406.5 637.6 362 513 362s-238.7 44.5-327.5 118.4a8.05 8.05 0 0 0-1 11.3l36 42.9c2.8 3.4 7.9 3.8 11.2 1C308 472.2 406.1 434 513 434s205 38.2 281.2 101.6c3.4 2.8 8.4 2.4 11.2-1l36-42.9c2.8-3.4 2.4-8.5-1-11.3zm116.7-139C835.7 241.8 680.3 182 511 182c-168.2 0-322.6 59-443.7 157.4a8 8 0 0 0-1.1 11.4l36 42.9c2.8 3.3 7.8 3.8 11.1 1.1C222 306.7 360.3 254 511 254c151.8 0 291 53.5 400 142.7 3.4 2.8 8.4 2.3 11.2-1.1l36-42.9c2.9-3.4 2.4-8.5-1.1-11.3zM448 778a64 64 0 1 0 128 0 64 64 0 1 0-128 0z'));\nexports.ZhihuOutline = getIcon('zhihu', outline, getNode(newViewBox, 'M564.7 230.1V803h60l25.2 71.4L756.3 803h131.5V230.1H564.7zm247.7 497h-59.9l-75.1 50.4-17.8-50.4h-18V308.3h170.7v418.8zM526.1 486.9H393.3c2.1-44.9 4.3-104.3 6.6-172.9h130.9l-.1-8.1c0-.6-.2-14.7-2.3-29.1-2.1-15-6.6-34.9-21-34.9H287.8c4.4-20.6 15.7-69.7 29.4-93.8l6.4-11.2-12.9-.7c-.8 0-19.6-.9-41.4 10.6-35.7 19-51.7 56.4-58.7 84.4-18.4 73.1-44.6 123.9-55.7 145.6-3.3 6.4-5.3 10.2-6.2 12.8-1.8 4.9-.8 9.8 2.8 13 10.5 9.5 38.2-2.9 38.5-3 .6-.3 1.3-.6 2.2-1 13.9-6.3 55.1-25 69.8-84.5h56.7c.7 32.2 3.1 138.4 2.9 172.9h-141l-2.1 1.5c-23.1 16.9-30.5 63.2-30.8 65.2l-1.4 9.2h167c-12.3 78.3-26.5 113.4-34 127.4-3.7 7-7.3 14-10.7 20.8-21.3 42.2-43.4 85.8-126.3 153.6-3.6 2.8-7 8-4.8 13.7 2.4 6.3 9.3 9.1 24.6 9.1 5.4 0 11.8-.3 19.4-1 49.9-4.4 100.8-18 135.1-87.6 17-35.1 31.7-71.7 43.9-108.9L497 850l5-12c.8-1.9 19-46.3 5.1-95.9l-.5-1.8-108.1-123-22 16.6c6.4-26.1 10.6-49.9 12.5-71.1h158.7v-8c0-40.1-18.5-63.9-19.2-64.9l-2.4-3z'));\nexports.WeiboOutline = getIcon('weibo', outline, getNode(newViewBox, 'M457.3 543c-68.1-17.7-145 16.2-174.6 76.2-30.1 61.2-1 129.1 67.8 151.3 71.2 23 155.2-12.2 184.4-78.3 28.7-64.6-7.2-131-77.6-149.2zm-52 156.2c-13.8 22.1-43.5 31.7-65.8 21.6-22-10-28.5-35.7-14.6-57.2 13.7-21.4 42.3-31 64.4-21.7 22.4 9.5 29.6 35 16 57.3zm45.5-58.5c-5 8.6-16.1 12.7-24.7 9.1-8.5-3.5-11.2-13.1-6.4-21.5 5-8.4 15.6-12.4 24.1-9.1 8.7 3.2 11.8 12.9 7 21.5zm334.5-197.2c15 4.8 31-3.4 35.9-18.3 11.8-36.6 4.4-78.4-23.2-109a111.39 111.39 0 0 0-106-34.3 28.45 28.45 0 0 0-21.9 33.8 28.39 28.39 0 0 0 33.8 21.8c18.4-3.9 38.3 1.8 51.9 16.7a54.2 54.2 0 0 1 11.3 53.3 28.45 28.45 0 0 0 18.2 36zm99.8-206c-56.7-62.9-140.4-86.9-217.7-70.5a32.98 32.98 0 0 0-25.4 39.3 33.12 33.12 0 0 0 39.3 25.5c55-11.7 114.4 5.4 154.8 50.1 40.3 44.7 51.2 105.7 34 159.1-5.6 17.4 3.9 36 21.3 41.7 17.4 5.6 36-3.9 41.6-21.2v-.1c24.1-75.4 8.9-161.1-47.9-223.9zM729 499c-12.2-3.6-20.5-6.1-14.1-22.1 13.8-34.7 15.2-64.7.3-86-28-40.1-104.8-37.9-192.8-1.1 0 0-27.6 12.1-20.6-9.8 13.5-43.5 11.5-79.9-9.6-101-47.7-47.8-174.6 1.8-283.5 110.6C127.3 471.1 80 557.5 80 632.2 80 775.1 263.2 862 442.5 862c235 0 391.3-136.5 391.3-245 0-65.5-55.2-102.6-104.8-118zM443 810.8c-143 14.1-266.5-50.5-275.8-144.5-9.3-93.9 99.2-181.5 242.2-195.6 143-14.2 266.5 50.5 275.8 144.4C694.4 709 586 796.6 443 810.8z'));\nexports.WomanOutline = getIcon('woman', outline, getNode(newViewBox, 'M712.8 548.8c53.6-53.6 83.2-125 83.2-200.8 0-75.9-29.5-147.2-83.2-200.8C659.2 93.6 587.8 64 512 64s-147.2 29.5-200.8 83.2C257.6 200.9 228 272.1 228 348c0 63.8 20.9 124.4 59.4 173.9 7.3 9.4 15.2 18.3 23.7 26.9 8.5 8.5 17.5 16.4 26.8 23.7 39.6 30.8 86.3 50.4 136.1 57V736H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h114v140c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V812h114c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8H550V629.5c61.5-8.2 118.2-36.1 162.8-80.7zM512 556c-55.6 0-107.7-21.6-147.1-60.9C325.6 455.8 304 403.6 304 348s21.6-107.7 60.9-147.1C404.2 161.5 456.4 140 512 140s107.7 21.6 147.1 60.9C698.4 240.2 720 292.4 720 348s-21.6 107.7-60.9 147.1C619.7 534.4 567.6 556 512 556z'));\nexports.ZoomInOutline = getIcon('zoom-in', outline, getNode(newViewBox, 'M637 443H519V309c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v134H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h118v134c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V519h118c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z'));\nexports.AccountBookTwoTone = getIcon('account-book', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M712 304c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H384v48c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H184v584h656V256H712v48zm-65.6 121.8l-89.3 164.1h49.1c4.4 0 8 3.6 8 8v21.3c0 4.4-3.6 8-8 8h-65.4v33.7h65.4c4.4 0 8 3.6 8 8v21.3c0 4.4-3.6 8-8 8h-65.4V752c0 4.4-3.6 8-8 8h-41.3c-4.4 0-8-3.6-8-8v-53.8h-65.1c-4.4 0-8-3.6-8-8v-21.3c0-4.4 3.6-8 8-8h65.1v-33.7h-65.1c-4.4 0-8-3.6-8-8v-21.3c0-4.4 3.6-8 8-8H467l-89.3-164c-2.1-3.9-.7-8.8 3.2-10.9 1.1-.7 2.5-1 3.8-1h46a8 8 0 0 1 7.1 4.4l73.4 145.4h2.8l73.4-145.4c1.3-2.7 4.1-4.4 7.1-4.4h45c4.5 0 8 3.6 7.9 8 0 1.3-.4 2.6-1 3.8z'\n ], [\n primaryColor,\n 'M639.5 414h-45c-3 0-5.8 1.7-7.1 4.4L514 563.8h-2.8l-73.4-145.4a8 8 0 0 0-7.1-4.4h-46c-1.3 0-2.7.3-3.8 1-3.9 2.1-5.3 7-3.2 10.9l89.3 164h-48.6c-4.4 0-8 3.6-8 8v21.3c0 4.4 3.6 8 8 8h65.1v33.7h-65.1c-4.4 0-8 3.6-8 8v21.3c0 4.4 3.6 8 8 8h65.1V752c0 4.4 3.6 8 8 8h41.3c4.4 0 8-3.6 8-8v-53.8h65.4c4.4 0 8-3.6 8-8v-21.3c0-4.4-3.6-8-8-8h-65.4v-33.7h65.4c4.4 0 8-3.6 8-8v-21.3c0-4.4-3.6-8-8-8h-49.1l89.3-164.1c.6-1.2 1-2.5 1-3.8.1-4.4-3.4-8-7.9-8z'\n ], [\n primaryColor,\n 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584z'\n ]);\n});\nexports.ZoomOutOutline = getIcon('zoom-out', outline, getNode(newViewBox, 'M637 443H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h312c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z'));\nexports.AlertTwoTone = getIcon('alert', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M340 585c0-5.5 4.5-10 10-10h44c5.5 0 10 4.5 10 10v171h355V563c0-136.4-110.6-247-247-247S265 426.6 265 563v193h75V585z'\n ], [\n primaryColor,\n 'M216.9 310.5l39.6-39.6c3.1-3.1 3.1-8.2 0-11.3l-67.9-67.9a8.03 8.03 0 0 0-11.3 0l-39.6 39.6a8.03 8.03 0 0 0 0 11.3l67.9 67.9c3.1 3.1 8.1 3.1 11.3 0zm669.6-79.2l-39.6-39.6a8.03 8.03 0 0 0-11.3 0l-67.9 67.9a8.03 8.03 0 0 0 0 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l67.9-67.9c3.1-3.2 3.1-8.2 0-11.3zM484 180h56c4.4 0 8-3.6 8-8V76c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v96c0 4.4 3.6 8 8 8zm348 712H192c-17.7 0-32 14.3-32 32v24c0 4.4 3.6 8 8 8h688c4.4 0 8-3.6 8-8v-24c0-17.7-14.3-32-32-32zm-639-96c0 17.7 14.3 32 32 32h574c17.7 0 32-14.3 32-32V563c0-176.2-142.8-319-319-319S193 386.8 193 563v233zm72-233c0-136.4 110.6-247 247-247s247 110.6 247 247v193H404V585c0-5.5-4.5-10-10-10h-44c-5.5 0-10 4.5-10 10v171h-75V563z'\n ]);\n});\nexports.ApiTwoTone = getIcon('api', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M148.2 674.6zm106.7-92.3c-25 25-38.7 58.1-38.7 93.4s13.8 68.5 38.7 93.4c25 25 58.1 38.7 93.4 38.7 35.3 0 68.5-13.8 93.4-38.7l59.4-59.4-186.8-186.8-59.4 59.4zm420.8-366.1c-35.3 0-68.5 13.8-93.4 38.7l-59.4 59.4 186.8 186.8 59.4-59.4c24.9-25 38.7-58.1 38.7-93.4s-13.8-68.5-38.7-93.4c-25-25-58.1-38.7-93.4-38.7z'\n ], [\n primaryColor,\n 'M578.9 546.7a8.03 8.03 0 0 0-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 0 0-11.3 0L363 475.3l-43-43a7.85 7.85 0 0 0-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2a199.45 199.45 0 0 0-58.6 140.4c-.2 39.5 11.2 79.1 34.3 113.1l-76.1 76.1a8.03 8.03 0 0 0 0 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2zM441.7 769.1a131.32 131.32 0 0 1-93.4 38.7c-35.3 0-68.4-13.7-93.4-38.7-24.9-24.9-38.7-58.1-38.7-93.4s13.7-68.4 38.7-93.4l59.4-59.4 186.8 186.8-59.4 59.4zm476-620.3l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 0 0-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 0 0 0 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM769.1 441.7l-59.4 59.4-186.8-186.8 59.4-59.4c24.9-24.9 58.1-38.7 93.4-38.7s68.4 13.7 93.4 38.7c24.9 24.9 38.7 58.1 38.7 93.4s-13.8 68.4-38.7 93.4z'\n ]);\n});\nexports.AppstoreTwoTone = getIcon('appstore', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M864 144H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zM464 544H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H212V612h200v200zm52-668H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452 132H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200z'\n ], [\n secondaryColor,\n 'M212 212h200v200H212zm400 0h200v200H612zM212 612h200v200H212zm400 0h200v200H612z'\n ]);\n});\nexports.BankTwoTone = getIcon('bank', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M240.9 393.9h542.2L512 196.7z'], [\n primaryColor,\n 'M894 462c30.9 0 43.8-39.7 18.7-58L530.8 126.2a31.81 31.81 0 0 0-37.6 0L111.3 404c-25.1 18.2-12.2 58 18.8 58H192v374h-72c-4.4 0-8 3.6-8 8v52c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-52c0-4.4-3.6-8-8-8h-72V462h62zM381 836H264V462h117v374zm189 0H453V462h117v374zm190 0H642V462h118v374zM240.9 393.9L512 196.7l271.1 197.2H240.9z'\n ]);\n});\nexports.AudioTwoTone = getIcon('audio', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 552c54.3 0 98-43.2 98-96V232c0-52.8-43.7-96-98-96s-98 43.2-98 96v224c0 52.8 43.7 96 98 96z'\n ], [\n primaryColor,\n 'M842 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 140.3-113.7 254-254 254S258 594.3 258 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 168.7 126.6 307.9 290 327.6V884H326.7c-13.7 0-24.7 14.3-24.7 32v36c0 4.4 2.8 8 6.2 8h407.6c3.4 0 6.2-3.6 6.2-8v-36c0-17.7-11-32-24.7-32H548V782.1c165.3-18 294-158 294-328.1z'\n ], [\n primaryColor,\n 'M512 624c93.9 0 170-75.2 170-168V232c0-92.8-76.1-168-170-168s-170 75.2-170 168v224c0 92.8 76.1 168 170 168zm-98-392c0-52.8 43.7-96 98-96s98 43.2 98 96v224c0 52.8-43.7 96-98 96s-98-43.2-98-96V232z'\n ]);\n});\nexports.BellTwoTone = getIcon('bell', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 220c-55.6 0-107.8 21.6-147.1 60.9S304 372.4 304 428v340h416V428c0-55.6-21.6-107.8-60.9-147.1S567.6 220 512 220zm280 208c0-141.1-104.3-257.8-240-277.2v.1c135.7 19.4 240 136 240 277.1zM472 150.9v-.1C336.3 170.2 232 286.9 232 428c0-141.1 104.3-257.7 240-277.1z'\n ], [\n primaryColor,\n 'M816 768h-24V428c0-141.1-104.3-257.7-240-277.1V112c0-22.1-17.9-40-40-40s-40 17.9-40 40v38.9c-135.7 19.4-240 136-240 277.1v340h-24c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h216c0 61.8 50.2 112 112 112s112-50.2 112-112h216c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM512 888c-26.5 0-48-21.5-48-48h96c0 26.5-21.5 48-48 48zm208-120H304V428c0-55.6 21.6-107.8 60.9-147.1S456.4 220 512 220c55.6 0 107.8 21.6 147.1 60.9S720 372.4 720 428v340z'\n ]);\n});\nexports.BookTwoTone = getIcon('book', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-260 72h96v209.9L621.5 312 572 347.4V136zM232 888V136h280v296.9c0 3.3 1 6.6 3 9.3a15.9 15.9 0 0 0 22.3 3.7l83.8-59.9 81.4 59.4c2.7 2 6 3.1 9.4 3.1 8.8 0 16-7.2 16-16V136h64v752H232z'\n ], [secondaryColor, 'M668 345.9V136h-96v211.4l49.5-35.4z'], [\n secondaryColor,\n 'M727.9 136v296.5c0 8.8-7.2 16-16 16-3.4 0-6.7-1.1-9.4-3.1L621.1 386l-83.8 59.9a15.9 15.9 0 0 1-22.3-3.7c-2-2.7-3-6-3-9.3V136H232v752h559.9V136h-64z'\n ]);\n});\nexports.BoxPlotTwoTone = getIcon('box-plot', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M296 368h88v288h-88zm152 0h280v288H448z'], [\n primaryColor,\n 'M952 224h-52c-4.4 0-8 3.6-8 8v248h-92V304c0-4.4-3.6-8-8-8H232c-4.4 0-8 3.6-8 8v176h-92V232c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V548h92v172c0 4.4 3.6 8 8 8h560c4.4 0 8-3.6 8-8V548h92v244c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zM384 656h-88V368h88v288zm344 0H448V368h280v288z'\n ]);\n});\nexports.BugTwoTone = getIcon('bug', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M308 412v268c0 36.78 9.68 71.96 27.8 102.9a205.39 205.39 0 0 0 73.3 73.3A202.68 202.68 0 0 0 512 884c36.78 0 71.96-9.68 102.9-27.8a205.39 205.39 0 0 0 73.3-73.3A202.68 202.68 0 0 0 716 680V412H308zm484 172v96c0 6.5-.22 12.95-.66 19.35C859.94 728.64 908 796.7 908 876a8 8 0 0 1-8 8h-56a8 8 0 0 1-8-8c0-44.24-23.94-82.89-59.57-103.7a278.63 278.63 0 0 1-22.66 49.02 281.39 281.39 0 0 1-100.45 100.45C611.84 946.07 563.55 960 512 960s-99.84-13.93-141.32-38.23a281.39 281.39 0 0 1-100.45-100.45 278.63 278.63 0 0 1-22.66-49.02A119.95 119.95 0 0 0 188 876a8 8 0 0 1-8 8h-56a8 8 0 0 1-8-8c0-79.3 48.07-147.36 116.66-176.65A284.12 284.12 0 0 1 232 680v-96H84a8 8 0 0 1-8-8v-56a8 8 0 0 1 8-8h148V412c-76.77 0-139-62.23-139-139a8 8 0 0 1 8-8h60a8 8 0 0 1 8 8 63 63 0 0 0 63 63h560a63 63 0 0 0 63-63 8 8 0 0 1 8-8h60a8 8 0 0 1 8 8c0 76.77-62.23 139-139 139v100h148a8 8 0 0 1 8 8v56a8 8 0 0 1-8 8H792zM368 272a8 8 0 0 1-8 8h-56a8 8 0 0 1-8-8c0-40.04 8.78-76.75 25.9-108.07a184.57 184.57 0 0 1 74.03-74.03C427.25 72.78 463.96 64 504 64h16c40.04 0 76.75 8.78 108.07 25.9a184.57 184.57 0 0 1 74.03 74.03C719.22 195.25 728 231.96 728 272a8 8 0 0 1-8 8h-56a8 8 0 0 1-8-8c0-28.33-5.94-53.15-17.08-73.53a112.56 112.56 0 0 0-45.39-45.4C573.15 141.95 548.33 136 520 136h-16c-28.33 0-53.15 5.94-73.53 17.08a112.56 112.56 0 0 0-45.4 45.39C373.95 218.85 368 243.67 368 272z'\n ], [\n secondaryColor,\n 'M308 412v268c0 36.78 9.68 71.96 27.8 102.9a205.39 205.39 0 0 0 73.3 73.3A202.68 202.68 0 0 0 512 884c36.78 0 71.96-9.68 102.9-27.8a205.39 205.39 0 0 0 73.3-73.3A202.68 202.68 0 0 0 716 680V412H308z'\n ]);\n});\nexports.BulbTwoTone = getIcon('bulb', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 136c-141.4 0-256 114.6-256 256 0 92.5 49.4 176.3 128.1 221.8l35.9 20.8V752h184V634.6l35.9-20.8C718.6 568.3 768 484.5 768 392c0-141.4-114.6-256-256-256z'\n ], [\n primaryColor,\n 'M632 888H392c-4.4 0-8 3.6-8 8v32c0 17.7 14.3 32 32 32h192c17.7 0 32-14.3 32-32v-32c0-4.4-3.6-8-8-8zM512 64c-181.1 0-328 146.9-328 328 0 121.4 66 227.4 164 284.1V792c0 17.7 14.3 32 32 32h264c17.7 0 32-14.3 32-32V676.1c98-56.7 164-162.7 164-284.1 0-181.1-146.9-328-328-328zm127.9 549.8L604 634.6V752H420V634.6l-35.9-20.8C305.4 568.3 256 484.5 256 392c0-141.4 114.6-256 256-256s256 114.6 256 256c0 92.5-49.4 176.3-128.1 221.8z'\n ]);\n});\nexports.CalculatorTwoTone = getIcon('calculator', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm256.2-75h-50.8c-2.2 0-4.5-1.1-5.9-2.9L348 718.6l-35.5 43.5a7.38 7.38 0 0 1-5.9 2.9h-50.8c-6.6 0-10.2-7.9-5.8-13.1l62.7-76.8-61.2-74.9c-4.3-5.2-.7-13.1 5.9-13.1h50.9c2.2 0 4.5 1.1 5.9 2.9l34 41.6 34-41.6c1.5-1.9 3.6-2.9 5.9-2.9h50.8c6.6 0 10.2 7.9 5.9 13.1L383.5 675l62.7 76.8c4.2 5.3.6 13.2-6 13.2zM576 335c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48zm0 265c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48zm0 104c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48zM248 335c0-2.2 1.4-4 3.2-4H320v-68.8c0-1.8 1.8-3.2 4-3.2h48c2.2 0 4 1.4 4 3.2V331h68.7c1.9 0 3.3 1.8 3.3 4v48c0 2.2-1.4 4-3.2 4H376v68.7c0 1.9-1.8 3.3-4 3.3h-48c-2.2 0-4-1.4-4-3.2V387h-68.8c-1.8 0-3.2-1.8-3.2-4v-48z'\n ], [\n primaryColor,\n 'M383.5 675l61.3-74.8c4.3-5.2.7-13.1-5.9-13.1h-50.8c-2.3 0-4.4 1-5.9 2.9l-34 41.6-34-41.6a7.69 7.69 0 0 0-5.9-2.9h-50.9c-6.6 0-10.2 7.9-5.9 13.1l61.2 74.9-62.7 76.8c-4.4 5.2-.8 13.1 5.8 13.1h50.8c2.3 0 4.4-1 5.9-2.9l35.5-43.5 35.5 43.5c1.4 1.8 3.7 2.9 5.9 2.9h50.8c6.6 0 10.2-7.9 6-13.2L383.5 675zM251.2 387H320v68.8c0 1.8 1.8 3.2 4 3.2h48c2.2 0 4-1.4 4-3.3V387h68.8c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H376v-68.8c0-1.8-1.8-3.2-4-3.2h-48c-2.2 0-4 1.4-4 3.2V331h-68.8c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm328 369h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0-104h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0-265h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4z'\n ]);\n});\nexports.BuildTwoTone = getIcon('build', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M144 546h200v200H144zm268-268h200v200H412z'], [\n primaryColor,\n 'M916 210H376c-17.7 0-32 14.3-32 32v236H108c-17.7 0-32 14.3-32 32v272c0 17.7 14.3 32 32 32h540c17.7 0 32-14.3 32-32V546h236c17.7 0 32-14.3 32-32V242c0-17.7-14.3-32-32-32zM344 746H144V546h200v200zm268 0H412V546h200v200zm0-268H412V278h200v200zm268 0H680V278h200v200z'\n ]);\n});\nexports.CalendarTwoTone = getIcon('calendar', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M712 304c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H384v48c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H184v136h656V256H712v48z'\n ], [\n primaryColor,\n 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zm0-448H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136z'\n ]);\n});\nexports.CameraTwoTone = getIcon('camera', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M864 320H677.2l-17.1-47.8-22.9-64.2H386.7l-22.9 64.2-17.1 47.8H160c-4.4 0-8 3.6-8 8v456c0 4.4 3.6 8 8 8h704c4.4 0 8-3.6 8-8V328c0-4.4-3.6-8-8-8zM512 704c-88.4 0-160-71.6-160-160s71.6-160 160-160 160 71.6 160 160-71.6 160-160 160z'\n ], [\n primaryColor,\n 'M512 384c-88.4 0-160 71.6-160 160s71.6 160 160 160 160-71.6 160-160-71.6-160-160-160zm0 256c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z'\n ], [\n primaryColor,\n 'M864 248H728l-32.4-90.8a32.07 32.07 0 0 0-30.2-21.2H358.6c-13.5 0-25.6 8.5-30.1 21.2L296 248H160c-44.2 0-80 35.8-80 80v456c0 44.2 35.8 80 80 80h704c44.2 0 80-35.8 80-80V328c0-44.2-35.8-80-80-80zm8 536c0 4.4-3.6 8-8 8H160c-4.4 0-8-3.6-8-8V328c0-4.4 3.6-8 8-8h186.7l17.1-47.8 22.9-64.2h250.5l22.9 64.2 17.1 47.8H864c4.4 0 8 3.6 8 8v456z'\n ]);\n});\nexports.CarTwoTone = getIcon('car', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M199.6 474L184 517v237h656V517l-15.6-43H199.6zM264 621c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm388 75c0 4.4-3.6 8-8 8H380c-4.4 0-8-3.6-8-8v-84c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v36h168v-36c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v84zm108-75c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z'\n ], [primaryColor, 'M720 581a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'], [\n primaryColor,\n 'M959 413.4L935.3 372a8 8 0 0 0-10.9-2.9l-50.7 29.6-78.3-216.2a63.9 63.9 0 0 0-60.9-44.4H301.2c-34.7 0-65.5 22.4-76.2 55.5l-74.6 205.2-50.8-29.6a8 8 0 0 0-10.9 2.9L65 413.4c-2.2 3.8-.9 8.6 2.9 10.8l60.4 35.2-14.5 40c-1.2 3.2-1.8 6.6-1.8 10v348.2c0 15.7 11.8 28.4 26.3 28.4h67.6c12.3 0 23-9.3 25.6-22.3l7.7-37.7h545.6l7.7 37.7c2.7 13 13.3 22.3 25.6 22.3h67.6c14.5 0 26.3-12.7 26.3-28.4V509.4c0-3.4-.6-6.8-1.8-10l-14.5-40 60.3-35.2a8 8 0 0 0 3-10.8zM292.7 218.1l.5-1.3.4-1.3c1.1-3.3 4.1-5.5 7.6-5.5h427.6l75.4 208H220l72.7-199.9zM840 754H184V517l15.6-43h624.8l15.6 43v237z'\n ], [\n primaryColor,\n 'M224 581a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm420 23h-40c-4.4 0-8 3.6-8 8v36H428v-36c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v84c0 4.4 3.6 8 8 8h264c4.4 0 8-3.6 8-8v-84c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.CarryOutTwoTone = getIcon('carry-out', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584z'\n ], [\n secondaryColor,\n 'M712 304c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H384v48c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H184v584h656V256H712v48zm-17.5 128.8L481.9 725.5a16.1 16.1 0 0 1-26 0l-126.4-174c-3.8-5.3 0-12.7 6.5-12.7h55.2c5.2 0 10 2.5 13 6.6l64.7 89 150.9-207.8c3-4.1 7.9-6.6 13-6.6H688c6.5 0 10.3 7.4 6.5 12.8z'\n ], [\n primaryColor,\n 'M688 420h-55.2c-5.1 0-10 2.5-13 6.6L468.9 634.4l-64.7-89c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0 0 26 0l212.6-292.7c3.8-5.4 0-12.8-6.5-12.8z'\n ]);\n});\nexports.CheckCircleTwoTone = getIcon('check-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm193.4 225.7l-210.6 292a31.8 31.8 0 0 1-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.3 0 19.9 5 25.9 13.3l71.2 98.8 157.2-218c6-8.4 15.7-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.4 12.7z'\n ], [\n primaryColor,\n 'M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0 0 51.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z'\n ]);\n});\nexports.CheckSquareTwoTone = getIcon('check-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm130-367.8h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H688c6.5 0 10.3 7.4 6.5 12.7l-210.6 292a31.8 31.8 0 0 1-51.7 0L307.5 484.9c-3.8-5.3 0-12.7 6.5-12.7z'\n ], [\n primaryColor,\n 'M432.2 657.7a31.8 31.8 0 0 0 51.7 0l210.6-292c3.8-5.3 0-12.7-6.5-12.7h-46.9c-10.3 0-19.9 5-25.9 13.3L458 584.3l-71.2-98.8c-6-8.4-15.7-13.3-25.9-13.3H314c-6.5 0-10.3 7.4-6.5 12.7l124.7 172.8z'\n ]);\n});\nexports.ClockCircleTwoTone = getIcon('clock-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm176.5 509.7l-28.6 39a7.99 7.99 0 0 1-11.2 1.7L483.3 569.8a7.92 7.92 0 0 1-3.3-6.5V288c0-4.4 3.6-8 8-8h48.1c4.4 0 8 3.6 8 8v247.5l142.6 103.1c3.6 2.5 4.4 7.5 1.8 11.1z'\n ], [\n primaryColor,\n 'M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.3c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.9 11.2-1.7l28.6-39c2.6-3.6 1.8-8.6-1.8-11.1z'\n ]);\n});\nexports.CloseCircleTwoTone = getIcon('close-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm171.8 527.1c1.2 1.5 1.9 3.3 1.9 5.2 0 4.5-3.6 8-8 8l-66-.3-99.3-118.4-99.3 118.5-66.1.3c-4.4 0-8-3.6-8-8 0-1.9.7-3.7 1.9-5.2L471 512.3l-130.1-155a8.32 8.32 0 0 1-1.9-5.2c0-4.5 3.6-8 8-8l66.1.3 99.3 118.4 99.4-118.5 66-.3c4.4 0 8 3.6 8 8 0 1.9-.6 3.8-1.8 5.2l-130.1 155 129.9 154.9z'\n ], [\n primaryColor,\n 'M685.8 352c0-4.4-3.6-8-8-8l-66 .3-99.4 118.5-99.3-118.4-66.1-.3c-4.4 0-8 3.5-8 8 0 1.9.7 3.7 1.9 5.2l130.1 155-130.1 154.9a8.32 8.32 0 0 0-1.9 5.2c0 4.4 3.6 8 8 8l66.1-.3 99.3-118.5L611.7 680l66 .3c4.4 0 8-3.5 8-8 0-1.9-.7-3.7-1.9-5.2L553.9 512.2l130.1-155c1.2-1.4 1.8-3.3 1.8-5.2z'\n ]);\n});\nexports.CloudTwoTone = getIcon('cloud', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M791.9 492l-37.8-10-13.8-36.5c-8.6-22.7-20.6-44.1-35.7-63.4a245.73 245.73 0 0 0-52.4-49.9c-41.1-28.9-89.5-44.2-140-44.2s-98.9 15.3-140 44.2a245.6 245.6 0 0 0-52.4 49.9 240.47 240.47 0 0 0-35.7 63.4l-13.9 36.6-37.9 9.9a125.7 125.7 0 0 0-66.1 43.7A123.1 123.1 0 0 0 140 612c0 33.1 12.9 64.3 36.3 87.7 23.4 23.4 54.5 36.3 87.6 36.3h496.2c33.1 0 64.2-12.9 87.6-36.3A123.3 123.3 0 0 0 884 612c0-56.2-37.8-105.5-92.1-120z'\n ], [\n primaryColor,\n 'M811.4 418.7C765.6 297.9 648.9 212 512.2 212S258.8 297.8 213 418.6C127.3 441.1 64 519.1 64 612c0 110.5 89.5 200 199.9 200h496.2C870.5 812 960 722.5 960 612c0-92.7-63.1-170.7-148.6-193.3zm36.3 281a123.07 123.07 0 0 1-87.6 36.3H263.9c-33.1 0-64.2-12.9-87.6-36.3A123.3 123.3 0 0 1 140 612c0-28 9.1-54.3 26.2-76.3a125.7 125.7 0 0 1 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0 1 52.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10c54.3 14.5 92.1 63.8 92.1 120 0 33.1-12.9 64.3-36.3 87.7z'\n ]);\n});\nexports.CloseSquareTwoTone = getIcon('close-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm163.9-473.9A7.95 7.95 0 0 1 354 353h58.9c4.7 0 9.2 2.1 12.3 5.7L512 462.2l86.8-103.5c3-3.6 7.5-5.7 12.3-5.7H670c6.8 0 10.5 7.9 6.1 13.1L553.8 512l122.3 145.9c4.4 5.2.7 13.1-6.1 13.1h-58.9c-4.7 0-9.2-2.1-12.3-5.7L512 561.8l-86.8 103.5c-3 3.6-7.5 5.7-12.3 5.7H354c-6.8 0-10.5-7.9-6.1-13.1L470.2 512 347.9 366.1z'\n ], [\n primaryColor,\n 'M354 671h58.9c4.8 0 9.3-2.1 12.3-5.7L512 561.8l86.8 103.5c3.1 3.6 7.6 5.7 12.3 5.7H670c6.8 0 10.5-7.9 6.1-13.1L553.8 512l122.3-145.9c4.4-5.2.7-13.1-6.1-13.1h-58.9c-4.8 0-9.3 2.1-12.3 5.7L512 462.2l-86.8-103.5c-3.1-3.6-7.6-5.7-12.3-5.7H354c-6.8 0-10.5 7.9-6.1 13.1L470.2 512 347.9 657.9A7.95 7.95 0 0 0 354 671z'\n ]);\n});\nexports.CodeTwoTone = getIcon('code', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm339.5-223h185c4.1 0 7.5 3.6 7.5 8v48c0 4.4-3.4 8-7.5 8h-185c-4.1 0-7.5-3.6-7.5-8v-48c0-4.4 3.4-8 7.5-8zM308 610.3c0-2.3 1.1-4.6 2.9-6.1L420.7 512l-109.8-92.2a7.63 7.63 0 0 1-2.9-6.1V351c0-6.8 7.9-10.5 13.1-6.1l192 160.9c3.9 3.2 3.9 9.1 0 12.3l-192 161c-5.2 4.4-13.1.7-13.1-6.1v-62.7z'\n ], [\n primaryColor,\n 'M321.1 679.1l192-161c3.9-3.2 3.9-9.1 0-12.3l-192-160.9A7.95 7.95 0 0 0 308 351v62.7c0 2.4 1 4.6 2.9 6.1L420.7 512l-109.8 92.2a8.1 8.1 0 0 0-2.9 6.1V673c0 6.8 7.9 10.5 13.1 6.1zM516 673c0 4.4 3.4 8 7.5 8h185c4.1 0 7.5-3.6 7.5-8v-48c0-4.4-3.4-8-7.5-8h-185c-4.1 0-7.5 3.6-7.5 8v48z'\n ]);\n});\nexports.CompassTwoTone = getIcon('compass', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zM327.6 701.7c-2 .9-4.4 0-5.3-2.1-.4-1-.4-2.2 0-3.2L421 470.9 553.1 603l-225.5 98.7zm375.1-375.1L604 552.1 471.9 420l225.5-98.7c2-.9 4.4 0 5.3 2.1.4 1 .4 2.1 0 3.2z'\n ], [\n primaryColor,\n 'M322.3 696.4c-.4 1-.4 2.2 0 3.2.9 2.1 3.3 3 5.3 2.1L553.1 603 421 470.9l-98.7 225.5zm375.1-375.1L471.9 420 604 552.1l98.7-225.5c.4-1.1.4-2.2 0-3.2-.9-2.1-3.3-3-5.3-2.1z'\n ], [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ]);\n});\nexports.ContactsTwoTone = getIcon('contacts', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M460.3 526a51.7 52 0 1 0 103.4 0 51.7 52 0 1 0-103.4 0z'\n ], [\n secondaryColor,\n 'M768 352c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H548v56c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H328v56c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H136v496h752V296H768v56zM661 736h-43.8c-4.2 0-7.6-3.3-7.9-7.5-3.8-50.5-46-90.5-97.2-90.5s-93.4 39.9-97.2 90.5c-.3 4.2-3.7 7.5-7.9 7.5h-43.9a8 8 0 0 1-8-8.4c2.8-53.3 31.9-99.6 74.6-126.1-18.1-20-29.1-46.4-29.1-75.5 0-61.9 49.9-112 111.4-112s111.4 50.1 111.4 112c0 29.1-11 55.6-29.1 75.5 42.7 26.4 71.9 72.8 74.7 126.1a8 8 0 0 1-8 8.4z'\n ], [\n primaryColor,\n 'M594.3 601.5a111.8 111.8 0 0 0 29.1-75.5c0-61.9-49.9-112-111.4-112s-111.4 50.1-111.4 112c0 29.1 11 55.5 29.1 75.5a158.09 158.09 0 0 0-74.6 126.1 8 8 0 0 0 8 8.4H407c4.2 0 7.6-3.3 7.9-7.5 3.8-50.6 46-90.5 97.2-90.5s93.4 40 97.2 90.5c.3 4.2 3.7 7.5 7.9 7.5H661a8 8 0 0 0 8-8.4c-2.8-53.3-32-99.7-74.7-126.1zM512 578c-28.5 0-51.7-23.3-51.7-52s23.2-52 51.7-52 51.7 23.3 51.7 52-23.2 52-51.7 52z'\n ], [\n primaryColor,\n 'M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zm-40 568H136V296h120v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h120v496z'\n ]);\n});\nexports.ContainerTwoTone = getIcon('container', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M635 771.7c-34.5 28.6-78.2 44.3-123 44.3s-88.5-15.8-123-44.3a194.02 194.02 0 0 1-59.1-84.7H232v201h560V687h-97.9c-11.6 32.8-32 62.3-59.1 84.7z'\n ], [\n primaryColor,\n 'M320 501h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'\n ], [\n primaryColor,\n 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V687h97.9c11.6 32.8 32 62.3 59.1 84.7 34.5 28.5 78.2 44.3 123 44.3s88.5-15.7 123-44.3c27.1-22.4 47.5-51.9 59.1-84.7H792v201zm0-264H643.6l-5.2 24.7C626.4 708.5 573.2 752 512 752s-114.4-43.5-126.5-103.3l-5.2-24.7H232V136h560v488z'\n ], [\n primaryColor,\n 'M320 341h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'\n ]);\n});\nexports.ControlTwoTone = getIcon('control', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M616 440a36 36 0 1 0 72 0 36 36 0 1 0-72 0zM340.4 601.5l1.5 2.4c0 .1.1.1.1.2l.9 1.2c.1.1.2.2.2.3 1 1.3 2 2.5 3.2 3.6l.2.2c.4.4.8.8 1.2 1.1.8.8 1.7 1.5 2.6 2.1h.1l1.2.9c.1.1.3.2.4.3 1.2.8 2.5 1.6 3.9 2.2.2.1.5.2.7.4.4.2.7.3 1.1.5.3.1.7.3 1 .4.5.2 1 .4 1.5.5.4.1.9.3 1.3.4l.9.3 1.4.3c.2.1.5.1.7.2.7.1 1.4.3 2.1.4.2 0 .4 0 .6.1.6.1 1.1.1 1.7.2.2 0 .4 0 .7.1.8 0 1.5.1 2.3.1s1.5 0 2.3-.1c.2 0 .4 0 .7-.1.6 0 1.2-.1 1.7-.2.2 0 .4 0 .6-.1.7-.1 1.4-.2 2.1-.4.2-.1.5-.1.7-.2l1.4-.3.9-.3c.4-.1.9-.3 1.3-.4.5-.2 1-.4 1.5-.5.3-.1.7-.3 1-.4.4-.2.7-.3 1.1-.5.2-.1.5-.2.7-.4 1.3-.7 2.6-1.4 3.9-2.2.1-.1.3-.2.4-.3l1.2-.9h.1c.9-.7 1.8-1.4 2.6-2.1.4-.4.8-.7 1.2-1.1l.2-.2c1.1-1.1 2.2-2.4 3.2-3.6.1-.1.2-.2.2-.3l.9-1.2c0-.1.1-.1.1-.2l1.5-2.4c.1-.2.2-.3.3-.5 2.7-5.1 4.3-10.9 4.3-17s-1.6-12-4.3-17c-.1-.2-.2-.4-.3-.5l-1.5-2.4c0-.1-.1-.1-.1-.2l-.9-1.2c-.1-.1-.2-.2-.2-.3-1-1.3-2-2.5-3.2-3.6l-.2-.2c-.4-.4-.8-.8-1.2-1.1-.8-.8-1.7-1.5-2.6-2.1h-.1l-1.2-.9c-.1-.1-.3-.2-.4-.3-1.2-.8-2.5-1.6-3.9-2.2-.2-.1-.5-.2-.7-.4-.4-.2-.7-.3-1.1-.5-.3-.1-.7-.3-1-.4-.5-.2-1-.4-1.5-.5-.4-.1-.9-.3-1.3-.4l-.9-.3-1.4-.3c-.2-.1-.5-.1-.7-.2-.7-.1-1.4-.3-2.1-.4-.2 0-.4 0-.6-.1-.6-.1-1.1-.1-1.7-.2-.2 0-.4 0-.7-.1-.8 0-1.5-.1-2.3-.1s-1.5 0-2.3.1c-.2 0-.4 0-.7.1-.6 0-1.2.1-1.7.2-.2 0-.4 0-.6.1-.7.1-1.4.2-2.1.4-.2.1-.5.1-.7.2l-1.4.3-.9.3c-.4.1-.9.3-1.3.4-.5.2-1 .4-1.5.5-.3.1-.7.3-1 .4-.4.2-.7.3-1.1.5-.2.1-.5.2-.7.4-1.3.7-2.6 1.4-3.9 2.2-.1.1-.3.2-.4.3l-1.2.9h-.1c-.9.7-1.8 1.4-2.6 2.1-.4.4-.8.7-1.2 1.1l-.2.2a54.8 54.8 0 0 0-3.2 3.6c-.1.1-.2.2-.2.3l-.9 1.2c0 .1-.1.1-.1.2l-1.5 2.4c-.1.2-.2.3-.3.5-2.7 5.1-4.3 10.9-4.3 17s1.6 12 4.3 17c.1.2.2.3.3.5z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm436.4-499.1c-.2 0-.3.1-.4.1v-77c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v77c-.2 0-.3-.1-.4-.1 42 13.4 72.4 52.7 72.4 99.1 0 46.4-30.4 85.7-72.4 99.1.2 0 .3-.1.4-.1v221c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V539c.2 0 .3.1.4.1-42-13.4-72.4-52.7-72.4-99.1 0-46.4 30.4-85.7 72.4-99.1zM340 485V264c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v221c41.7 13.6 72 52.8 72 99s-30.3 85.5-72 99v77c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-77c-41.7-13.6-72-52.8-72-99s30.3-85.5 72-99z'\n ], [\n primaryColor,\n 'M340 683v77c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-77c41.7-13.5 72-52.8 72-99s-30.3-85.4-72-99V264c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v221c-41.7 13.5-72 52.8-72 99s30.3 85.4 72 99zm.1-116c.1-.2.2-.3.3-.5l1.5-2.4c0-.1.1-.1.1-.2l.9-1.2c0-.1.1-.2.2-.3 1-1.2 2.1-2.5 3.2-3.6l.2-.2c.4-.4.8-.7 1.2-1.1.8-.7 1.7-1.4 2.6-2.1h.1l1.2-.9c.1-.1.3-.2.4-.3 1.3-.8 2.6-1.5 3.9-2.2.2-.2.5-.3.7-.4.4-.2.7-.3 1.1-.5.3-.1.7-.3 1-.4.5-.1 1-.3 1.5-.5.4-.1.9-.3 1.3-.4l.9-.3 1.4-.3c.2-.1.5-.1.7-.2.7-.2 1.4-.3 2.1-.4.2-.1.4-.1.6-.1.5-.1 1.1-.2 1.7-.2.3-.1.5-.1.7-.1.8-.1 1.5-.1 2.3-.1s1.5.1 2.3.1c.3.1.5.1.7.1.6.1 1.1.1 1.7.2.2.1.4.1.6.1.7.1 1.4.3 2.1.4.2.1.5.1.7.2l1.4.3.9.3c.4.1.9.3 1.3.4.5.1 1 .3 1.5.5.3.1.7.3 1 .4.4.2.7.3 1.1.5.2.2.5.3.7.4 1.4.6 2.7 1.4 3.9 2.2.1.1.3.2.4.3l1.2.9h.1c.9.6 1.8 1.3 2.6 2.1.4.3.8.7 1.2 1.1l.2.2c1.2 1.1 2.2 2.3 3.2 3.6 0 .1.1.2.2.3l.9 1.2c0 .1.1.1.1.2l1.5 2.4A36.03 36.03 0 0 1 408 584c0 6.1-1.6 11.9-4.3 17-.1.2-.2.3-.3.5l-1.5 2.4c0 .1-.1.1-.1.2l-.9 1.2c0 .1-.1.2-.2.3-1 1.2-2.1 2.5-3.2 3.6l-.2.2c-.4.4-.8.7-1.2 1.1-.8.7-1.7 1.4-2.6 2.1h-.1l-1.2.9c-.1.1-.3.2-.4.3-1.3.8-2.6 1.5-3.9 2.2-.2.2-.5.3-.7.4-.4.2-.7.3-1.1.5-.3.1-.7.3-1 .4-.5.1-1 .3-1.5.5-.4.1-.9.3-1.3.4l-.9.3-1.4.3c-.2.1-.5.1-.7.2-.7.2-1.4.3-2.1.4-.2.1-.4.1-.6.1-.5.1-1.1.2-1.7.2-.3.1-.5.1-.7.1-.8.1-1.5.1-2.3.1s-1.5-.1-2.3-.1c-.3-.1-.5-.1-.7-.1-.6-.1-1.1-.1-1.7-.2-.2-.1-.4-.1-.6-.1-.7-.1-1.4-.3-2.1-.4-.2-.1-.5-.1-.7-.2l-1.4-.3-.9-.3c-.4-.1-.9-.3-1.3-.4-.5-.1-1-.3-1.5-.5-.3-.1-.7-.3-1-.4-.4-.2-.7-.3-1.1-.5-.2-.2-.5-.3-.7-.4-1.4-.6-2.7-1.4-3.9-2.2-.1-.1-.3-.2-.4-.3l-1.2-.9h-.1c-.9-.6-1.8-1.3-2.6-2.1-.4-.3-.8-.7-1.2-1.1l-.2-.2c-1.2-1.1-2.2-2.3-3.2-3.6 0-.1-.1-.2-.2-.3l-.9-1.2c0-.1-.1-.1-.1-.2l-1.5-2.4c-.1-.2-.2-.3-.3-.5-2.7-5-4.3-10.9-4.3-17s1.6-11.9 4.3-17zm280.3-27.9c-.1 0-.2-.1-.4-.1v221c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V539c-.1 0-.2.1-.4.1 42-13.4 72.4-52.7 72.4-99.1 0-46.4-30.4-85.7-72.4-99.1.1 0 .2.1.4.1v-77c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v77c.1 0 .2-.1.4-.1-42 13.4-72.4 52.7-72.4 99.1 0 46.4 30.4 85.7 72.4 99.1zM652 404c19.9 0 36 16.1 36 36s-16.1 36-36 36-36-16.1-36-36 16.1-36 36-36z'\n ]);\n});\nexports.CopyTwoTone = getIcon('copy', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M232 706h142c22.1 0 40 17.9 40 40v142h250V264H232v442z'], [\n primaryColor,\n 'M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32z'\n ], [\n primaryColor,\n 'M704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z'\n ]);\n});\nexports.CreditCardTwoTone = getIcon('credit-card', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M136 792h752V440H136v352zm507-144c0-4.4 3.6-8 8-8h165c4.4 0 8 3.6 8 8v72c0 4.4-3.6 8-8 8H651c-4.4 0-8-3.6-8-8v-72zM136 232h752v120H136z'\n ], [\n primaryColor,\n 'M651 728h165c4.4 0 8-3.6 8-8v-72c0-4.4-3.6-8-8-8H651c-4.4 0-8 3.6-8 8v72c0 4.4 3.6 8 8 8z'\n ], [\n primaryColor,\n 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136V440h752v352zm0-440H136V232h752v120z'\n ]);\n});\nexports.CrownTwoTone = getIcon('crown', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M911.9 283.9v.5L835.5 865c-1 8-7.9 14-15.9 14H204.5c-8.1 0-14.9-6.1-16-14l-76.4-580.6v-.6 1.6L188.5 866c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6c.1-.5.1-1 0-1.5z'\n ], [\n secondaryColor,\n 'M773.6 810.6l53.9-409.4-139.8 86.1L512 252.9 336.3 487.3l-139.8-86.1 53.8 409.4h523.3zm-374.2-189c0-62.1 50.5-112.6 112.6-112.6s112.6 50.5 112.6 112.6v1c0 62.1-50.5 112.6-112.6 112.6s-112.6-50.5-112.6-112.6v-1z'\n ], [\n primaryColor,\n 'M512 734.2c61.9 0 112.3-50.2 112.6-112.1v-.5c0-62.1-50.5-112.6-112.6-112.6s-112.6 50.5-112.6 112.6v.5c.3 61.9 50.7 112.1 112.6 112.1zm0-160.9c26.6 0 48.2 21.6 48.2 48.3 0 26.6-21.6 48.3-48.2 48.3s-48.2-21.6-48.2-48.3c0-26.6 21.6-48.3 48.2-48.3z'\n ], [\n primaryColor,\n 'M188.5 865c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6v-.5c.3-6.4-6.7-10.8-12.3-7.4L705 396.4 518.4 147.5a8.06 8.06 0 0 0-12.9 0L319 396.4 124.3 276.5c-5.5-3.4-12.6.9-12.2 7.3v.6L188.5 865zm147.8-377.7L512 252.9l175.7 234.4 139.8-86.1-53.9 409.4H250.3l-53.8-409.4 139.8 86.1z'\n ]);\n});\nexports.CustomerServiceTwoTone = getIcon('customer-service', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M696 632h128v192H696zm-496 0h128v192H200z'], [\n primaryColor,\n 'M512 128c-212.1 0-384 171.9-384 384v360c0 13.3 10.7 24 24 24h184c35.3 0 64-28.7 64-64V624c0-35.3-28.7-64-64-64H200v-48c0-172.3 139.7-312 312-312s312 139.7 312 312v48H688c-35.3 0-64 28.7-64 64v208c0 35.3 28.7 64 64 64h184c13.3 0 24-10.7 24-24V512c0-212.1-171.9-384-384-384zM328 632v192H200V632h128zm496 192H696V632h128v192z'\n ]);\n});\nexports.DashboardTwoTone = getIcon('dashboard', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 188c-99.3 0-192.7 38.7-263 109-70.3 70.2-109 163.6-109 263 0 105.6 44.5 205.5 122.6 276h498.8A371.12 371.12 0 0 0 884 560c0-99.3-38.7-192.7-109-263-70.2-70.3-163.6-109-263-109zm-30 44c0-4.4 3.6-8 8-8h44c4.4 0 8 3.6 8 8v80c0 4.4-3.6 8-8 8h-44c-4.4 0-8-3.6-8-8v-80zM270 582c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-44c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v44zm90.7-204.4l-31.1 31.1a8.03 8.03 0 0 1-11.3 0l-56.6-56.6a8.03 8.03 0 0 1 0-11.3l31.1-31.1c3.1-3.1 8.2-3.1 11.3 0l56.6 56.6c3.1 3.1 3.1 8.2 0 11.3zm291.1 83.5l-84.5 84.5c5 18.7.2 39.4-14.5 54.1a55.95 55.95 0 0 1-79.2 0 55.95 55.95 0 0 1 0-79.2 55.87 55.87 0 0 1 54.1-14.5l84.5-84.5c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3c3.1 3.1 3.1 8.2 0 11.3zm43-52.4l-31.1-31.1a8.03 8.03 0 0 1 0-11.3l56.6-56.6c3.1-3.1 8.2-3.1 11.3 0l31.1 31.1c3.1 3.1 3.1 8.2 0 11.3l-56.6 56.6a8.03 8.03 0 0 1-11.3 0zM846 538v44c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-44c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8z'\n ], [\n primaryColor,\n 'M623.5 421.5a8.03 8.03 0 0 0-11.3 0L527.7 506c-18.7-5-39.4-.2-54.1 14.5a55.95 55.95 0 0 0 0 79.2 55.95 55.95 0 0 0 79.2 0 55.87 55.87 0 0 0 14.5-54.1l84.5-84.5c3.1-3.1 3.1-8.2 0-11.3l-28.3-28.3zM490 320h44c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8h-44c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8z'\n ], [\n primaryColor,\n 'M924.8 385.6a446.7 446.7 0 0 0-96-142.4 446.7 446.7 0 0 0-142.4-96C631.1 123.8 572.5 112 512 112s-119.1 11.8-174.4 35.2a446.7 446.7 0 0 0-142.4 96 446.7 446.7 0 0 0-96 142.4C75.8 440.9 64 499.5 64 560c0 132.7 58.3 257.7 159.9 343.1l1.7 1.4c5.8 4.8 13.1 7.5 20.6 7.5h531.7c7.5 0 14.8-2.7 20.6-7.5l1.7-1.4C901.7 817.7 960 692.7 960 560c0-60.5-11.9-119.1-35.2-174.4zM761.4 836H262.6A371.12 371.12 0 0 1 140 560c0-99.4 38.7-192.8 109-263 70.3-70.3 163.7-109 263-109 99.4 0 192.8 38.7 263 109 70.3 70.3 109 163.7 109 263 0 105.6-44.5 205.5-122.6 276z'\n ], [\n primaryColor,\n 'M762.7 340.8l-31.1-31.1a8.03 8.03 0 0 0-11.3 0l-56.6 56.6a8.03 8.03 0 0 0 0 11.3l31.1 31.1c3.1 3.1 8.2 3.1 11.3 0l56.6-56.6c3.1-3.1 3.1-8.2 0-11.3zM750 538v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8zM304.1 309.7a8.03 8.03 0 0 0-11.3 0l-31.1 31.1a8.03 8.03 0 0 0 0 11.3l56.6 56.6c3.1 3.1 8.2 3.1 11.3 0l31.1-31.1c3.1-3.1 3.1-8.2 0-11.3l-56.6-56.6zM262 530h-80c-4.4 0-8 3.6-8 8v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.DeleteTwoTone = getIcon('delete', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M292.7 840h438.6l24.2-512h-487z'], [\n primaryColor,\n 'M864 256H736v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zm-504-72h304v72H360v-72zm371.3 656H292.7l-24.2-512h487l-24.2 512z'\n ]);\n});\nexports.DiffTwoTone = getIcon('diff', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M232 264v624h432V413.8L514.2 264H232zm336 489c0 3.8-3.4 7-7.5 7h-225c-4.1 0-7.5-3.2-7.5-7v-42c0-3.8 3.4-7 7.5-7h225c4.1 0 7.5 3.2 7.5 7v42zm0-262v42c0 3.8-3.4 7-7.5 7H476v84.9c0 3.9-3.1 7.1-7 7.1h-42c-3.8 0-7-3.2-7-7.1V540h-84.5c-4.1 0-7.5-3.2-7.5-7v-42c0-3.9 3.4-7 7.5-7H420v-84.9c0-3.9 3.2-7.1 7-7.1h42c3.9 0 7 3.2 7 7.1V484h84.5c4.1 0 7.5 3.1 7.5 7z'\n ], [\n primaryColor,\n 'M854.2 306.6L611.3 72.9c-6-5.7-13.9-8.9-22.2-8.9H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h277l219 210.6V824c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V329.6c0-8.7-3.5-17-9.8-23z'\n ], [\n primaryColor,\n 'M553.4 201.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v704c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32V397.3c0-8.5-3.4-16.6-9.4-22.6L553.4 201.4zM664 888H232V264h282.2L664 413.8V888z'\n ], [\n primaryColor,\n 'M476 399.1c0-3.9-3.1-7.1-7-7.1h-42c-3.8 0-7 3.2-7 7.1V484h-84.5c-4.1 0-7.5 3.1-7.5 7v42c0 3.8 3.4 7 7.5 7H420v84.9c0 3.9 3.2 7.1 7 7.1h42c3.9 0 7-3.2 7-7.1V540h84.5c4.1 0 7.5-3.2 7.5-7v-42c0-3.9-3.4-7-7.5-7H476v-84.9zM560.5 704h-225c-4.1 0-7.5 3.2-7.5 7v42c0 3.8 3.4 7 7.5 7h225c4.1 0 7.5-3.2 7.5-7v-42c0-3.8-3.4-7-7.5-7z'\n ]);\n});\nexports.DatabaseTwoTone = getIcon('database', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M232 616h560V408H232v208zm112-144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM232 888h560V680H232v208zm112-144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM232 344h560V136H232v208zm112-144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z'\n ], [\n primaryColor,\n 'M304 512a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0 272a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0-544a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'\n ], [\n primaryColor,\n 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V680h560v208zm0-272H232V408h560v208zm0-272H232V136h560v208z'\n ]);\n});\nexports.DislikeTwoTone = getIcon('dislike', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M273 100.1v428h.3l-.3-428zM820.4 525l-21.9-19 14-25.5a56.2 56.2 0 0 0 6.9-27.3c0-16.5-7.1-32.2-19.6-43l-21.9-19 13.9-25.4a56.2 56.2 0 0 0 6.9-27.3c0-16.5-7.1-32.2-19.6-43l-21.9-19 13.9-25.4a56.2 56.2 0 0 0 6.9-27.3c0-22.4-13.2-42.6-33.6-51.8H345v345.2c18.6 67.2 46.4 168 83.5 302.5a44.28 44.28 0 0 0 42.2 32.3c7.5.1 15-2.2 21.1-6.7 9.9-7.4 15.2-18.6 14.6-30.5l-9.6-198.4h314.4C829 605.5 840 587.1 840 568c0-16.5-7.1-32.2-19.6-43z'\n ], [\n primaryColor,\n 'M112 132v364c0 17.7 14.3 32 32 32h65V100h-65c-17.7 0-32 14.3-32 32zm773.9 358.3c3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-51.6-30.7-98.1-78.3-118.4a66.1 66.1 0 0 0-26.5-5.4H273l.3 428 85.8 310.8C372.9 889 418.9 924 470.9 924c29.7 0 57.4-11.8 77.9-33.4 20.5-21.5 31-49.7 29.5-79.4l-6-122.9h239.9c12.1 0 23.9-3.2 34.3-9.3 40.4-23.5 65.5-66.1 65.5-111 0-28.3-9.3-55.5-26.1-77.7zm-74.7 126.1H496.8l9.6 198.4c.6 11.9-4.7 23.1-14.6 30.5-6.1 4.5-13.6 6.8-21.1 6.7a44.28 44.28 0 0 1-42.2-32.3c-37.1-134.4-64.9-235.2-83.5-302.5V172h399.4a56.85 56.85 0 0 1 33.6 51.8c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0 1 19.6 43c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0 1 19.6 43c0 9.7-2.3 18.9-6.9 27.3l-14 25.5 21.9 19a56.76 56.76 0 0 1 19.6 43c0 19.1-11 37.5-28.8 48.4z'\n ]);\n});\nexports.DownCircleTwoTone = getIcon('down-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm184.4 277.7l-178 246a7.95 7.95 0 0 1-12.9 0l-178-246c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.3 0 19.9 4.9 25.9 13.2L512 563.6l105.2-145.4c6-8.3 15.7-13.2 25.9-13.2H690c6.5 0 10.3 7.4 6.4 12.7z'\n ], [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n primaryColor,\n 'M690 405h-46.9c-10.2 0-19.9 4.9-25.9 13.2L512 563.6 406.8 418.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246c3.2 4.4 9.7 4.4 12.9 0l178-246c3.9-5.3.1-12.7-6.4-12.7z'\n ]);\n});\nexports.DownSquareTwoTone = getIcon('down-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm150-440h46.9c10.3 0 19.9 4.9 25.9 13.2L512 558.6l105.2-145.4c6-8.3 15.7-13.2 25.9-13.2H690c6.5 0 10.3 7.4 6.4 12.7l-178 246a7.95 7.95 0 0 1-12.9 0l-178-246c-3.8-5.3 0-12.7 6.5-12.7z'\n ], [\n primaryColor,\n 'M505.5 658.7c3.2 4.4 9.7 4.4 12.9 0l178-246c3.9-5.3.1-12.7-6.4-12.7h-46.9c-10.2 0-19.9 4.9-25.9 13.2L512 558.6 406.8 413.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246z'\n ]);\n});\nexports.EnvironmentTwoTone = getIcon('environment', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M724.4 224.9C667.7 169.5 592.3 139 512 139s-155.7 30.5-212.4 85.8C243.1 280 212 353.2 212 431.1c0 241.3 234.1 407.2 300 449.1 65.9-41.9 300-207.8 300-449.1 0-77.9-31.1-151.1-87.6-206.2zM512 615c-97.2 0-176-78.8-176-176s78.8-176 176-176 176 78.8 176 176-78.8 176-176 176z'\n ], [\n primaryColor,\n 'M512 263c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 0 1 512 551c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 0 1 400 439c0-29.9 11.7-58 32.8-79.2C454 338.6 482.1 327 512 327c29.9 0 58 11.6 79.2 32.8S624 409.1 624 439c0 29.9-11.6 58-32.8 79.2z'\n ], [\n primaryColor,\n 'M854.6 289.1a362.49 362.49 0 0 0-79.9-115.7 370.83 370.83 0 0 0-118.2-77.8C610.7 76.6 562.1 67 512 67c-50.1 0-98.7 9.6-144.5 28.5-44.3 18.3-84 44.5-118.2 77.8A363.6 363.6 0 0 0 169.4 289c-19.5 45-29.4 92.8-29.4 142 0 70.6 16.9 140.9 50.1 208.7 26.7 54.5 64 107.6 111 158.1 80.3 86.2 164.5 138.9 188.4 153a43.9 43.9 0 0 0 22.4 6.1c7.8 0 15.5-2 22.4-6.1 23.9-14.1 108.1-66.8 188.4-153 47-50.4 84.3-103.6 111-158.1C867.1 572 884 501.8 884 431.1c0-49.2-9.9-97-29.4-142zM512 880.2c-65.9-41.9-300-207.8-300-449.1 0-77.9 31.1-151.1 87.6-206.3C356.3 169.5 431.7 139 512 139s155.7 30.5 212.4 85.9C780.9 280 812 353.2 812 431.1c0 241.3-234.1 407.2-300 449.1z'\n ]);\n});\nexports.EditTwoTone = getIcon('edit', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M761.1 288.3L687.8 215 325.1 577.6l-15.6 89 88.9-15.7z'], [\n primaryColor,\n 'M880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32zm-622.3-84c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 0 0 0-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 0 0 9.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89z'\n ]);\n});\nexports.ExclamationCircleTwoTone = getIcon('exclamation-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm-32 156c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'\n ], [\n primaryColor,\n 'M488 576h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8zm-24 112a48 48 0 1 0 96 0 48 48 0 1 0-96 0z'\n ]);\n});\nexports.ExperimentTwoTone = getIcon('experiment', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M551.9 513c19.6 0 35.9-14.2 39.3-32.8A40.02 40.02 0 0 1 552 512a40 40 0 0 1-40-39.4v.5c0 22 17.9 39.9 39.9 39.9zM752 687.8l-.3-.3c-29-17.5-62.3-26.8-97-26.8-44.9 0-87.2 15.7-121 43.8a256.27 256.27 0 0 1-164.9 59.9c-41.2 0-81-9.8-116.7-28L210.5 844h603l-59.9-155.2-1.6-1z'\n ], [\n primaryColor,\n 'M879 824.9L696.3 352V178H768v-68H256v68h71.7v174L145 824.9c-2.8 7.4-4.3 15.2-4.3 23.1 0 35.3 28.7 64 64 64h614.6c7.9 0 15.7-1.5 23.1-4.3 33-12.7 49.4-49.8 36.6-82.8zM395.7 364.7V180h232.6v184.7L719.2 600c-20.7-5.3-42.1-8-63.9-8-61.2 0-119.2 21.5-165.3 60a188.78 188.78 0 0 1-121.3 43.9c-32.7 0-64.1-8.3-91.8-23.7l118.8-307.5zM210.5 844l41.6-107.6.1-.2c35.7 18.1 75.4 27.8 116.6 27.8 61.2 0 119.2-21.5 165.3-60 33.9-28.2 76.3-43.9 121.3-43.9 35 0 68.4 9.5 97.6 27.1l.6 1.6L813.5 844h-603z'\n ], [\n primaryColor,\n 'M552 512c19.3 0 35.4-13.6 39.2-31.8.6-2.7.8-5.4.8-8.2 0-22.1-17.9-40-40-40s-40 17.9-40 40v.6a40 40 0 0 0 40 39.4z'\n ]);\n});\nexports.EyeInvisibleTwoTone = getIcon('eye-invisible', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M254.89 758.85l125.57-125.57a176 176 0 0 1 248.82-248.82L757 256.72Q651.69 186.07 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 0 0 0 51.5q69.27 145.91 173.09 221.05zM942.2 486.2Q889.46 375.11 816.7 305L672.48 449.27a176.09 176.09 0 0 1-227.22 227.21L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 0 0 0-51.5z'\n ], [\n primaryColor,\n 'M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 0 0 0-51.5zM878.63 165.56L836 122.88a8 8 0 0 0-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 0 0 0 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 0 0 0 11.31L155.17 889a8 8 0 0 0 11.31 0l712.15-712.12a8 8 0 0 0 0-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 0 0-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 0 1 146.2-106.69L401.31 546.2A112 112 0 0 1 396 512z'\n ], [\n primaryColor,\n 'M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 0 0 227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 0 1-112 112z'\n ]);\n});\nexports.EyeTwoTone = getIcon('eye', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M81.8 537.8a60.3 60.3 0 0 1 0-51.5C176.6 286.5 319.8 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 0 0 0 51.5C176.6 737.5 319.9 838 512 838c-192.1 0-335.4-100.5-430.2-300.2z'\n ], [\n secondaryColor,\n 'M512 258c-161.3 0-279.4 81.8-362.7 254C232.6 684.2 350.7 766 512 766c161.4 0 279.5-81.8 362.7-254C791.4 339.8 673.3 258 512 258zm-4 430c-97.2 0-176-78.8-176-176s78.8-176 176-176 176 78.8 176 176-78.8 176-176 176z'\n ], [\n primaryColor,\n 'M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 0 0 0 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258s279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766z'\n ], [\n primaryColor,\n 'M508 336c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z'\n ]);\n});\nexports.FileAddTwoTone = getIcon('file-add', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm126 236v48c0 4.4-3.6 8-8 8H544v108c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V644H372c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h108V472c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v108h108c4.4 0 8 3.6 8 8z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M544 472c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v108H372c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h108v108c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h108c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V472z'\n ]);\n});\nexports.FileExclamationTwoTone = getIcon('file-exclamation', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm-54 96c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v184c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V448zm32 336c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M488 640h48c4.4 0 8-3.6 8-8V448c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8zm-16 104a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'\n ]);\n});\nexports.FileImageTwoTone = getIcon('file-image', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm-134 50c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm296 294H328.1c-6.7 0-10.4-7.7-6.3-12.9l99.8-127.2a8 8 0 0 1 12.6 0l41.1 52.4 77.8-99.2a8.1 8.1 0 0 1 12.7 0l136.5 174c4.1 5.2.4 12.9-6.3 12.9z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M553.1 509.1l-77.8 99.2-41.1-52.4a8 8 0 0 0-12.6 0l-99.8 127.2a7.98 7.98 0 0 0 6.3 12.9H696c6.7 0 10.4-7.7 6.3-12.9l-136.5-174a8.1 8.1 0 0 0-12.7 0zM360 442a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'\n ]);\n});\nexports.FileExcelTwoTone = getIcon('file-excel', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm51.6 120h35.7a12.04 12.04 0 0 1 10.1 18.5L546.1 623l84 130.4c3.6 5.6 2 13-3.6 16.6-2 1.2-4.2 1.9-6.5 1.9h-37.5c-4.1 0-8-2.1-10.2-5.7L510 664.8l-62.7 101.5c-2.2 3.5-6 5.7-10.2 5.7h-34.5a12.04 12.04 0 0 1-10.2-18.4l83.4-132.8-82.3-130.4c-3.6-5.7-1.9-13.1 3.7-16.6 1.9-1.3 4.1-1.9 6.4-1.9H442c4.2 0 8.1 2.2 10.3 5.8l61.8 102.4 61.2-102.3c2.2-3.6 6.1-5.8 10.3-5.8z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M514.1 580.1l-61.8-102.4c-2.2-3.6-6.1-5.8-10.3-5.8h-38.4c-2.3 0-4.5.6-6.4 1.9-5.6 3.5-7.3 10.9-3.7 16.6l82.3 130.4-83.4 132.8a12.04 12.04 0 0 0 10.2 18.4h34.5c4.2 0 8-2.2 10.2-5.7L510 664.8l62.3 101.4c2.2 3.6 6.1 5.7 10.2 5.7H620c2.3 0 4.5-.7 6.5-1.9 5.6-3.6 7.2-11 3.6-16.6l-84-130.4 85.3-132.5a12.04 12.04 0 0 0-10.1-18.5h-35.7c-4.2 0-8.1 2.2-10.3 5.8l-61.2 102.3z'\n ]);\n});\nexports.FileMarkdownTwoTone = getIcon('file-markdown', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm72.3 122H641c6.6 0 12 5.4 12 12v272c0 6.6-5.4 12-12 12h-27.2c-6.6 0-12-5.4-12-12V581.7L535 732.3c-2 4.3-6.3 7.1-11 7.1h-24.1a12 12 0 0 1-11-7.1l-66.8-150.2V758c0 6.6-5.4 12-12 12H383c-6.6 0-12-5.4-12-12V486c0-6.6 5.4-12 12-12h35c4.8 0 9.1 2.8 11 7.2l83.2 191 83.1-191c1.9-4.4 6.2-7.2 11-7.2z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M429 481.2c-1.9-4.4-6.2-7.2-11-7.2h-35c-6.6 0-12 5.4-12 12v272c0 6.6 5.4 12 12 12h27.1c6.6 0 12-5.4 12-12V582.1l66.8 150.2a12 12 0 0 0 11 7.1H524c4.7 0 9-2.8 11-7.1l66.8-150.6V758c0 6.6 5.4 12 12 12H641c6.6 0 12-5.4 12-12V486c0-6.6-5.4-12-12-12h-34.7c-4.8 0-9.1 2.8-11 7.2l-83.1 191-83.2-191z'\n ]);\n});\nexports.FilePdfTwoTone = getIcon('file-pdf', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M509.2 490.8c-.7-1.3-1.4-1.9-2.2-2-2.9 3.3-2.2 31.5 2.7 51.4 4-13.6 4.7-40.5-.5-49.4zm-1.6 120.5c-7.7 20-18.8 47.3-32.1 71.4 4-1.6 8.1-3.3 12.3-5 17.6-7.2 37.3-15.3 58.9-20.2-14.9-11.8-28.4-27.7-39.1-46.2z'\n ], [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm55 287.6c16.1-1.9 30.6-2.8 44.3-2.3 12.8.4 23.6 2 32 5.1.2.1.3.1.5.2.4.2.8.3 1.2.5.5.2 1.1.4 1.6.7.1.1.3.1.4.2 4.1 1.8 7.5 4 10.1 6.6 9.1 9.1 11.8 26.1 6.2 39.6-3.2 7.7-11.7 20.5-33.3 20.5-21.8 0-53.9-9.7-82.1-24.8-25.5 4.3-53.7 13.9-80.9 23.1-5.8 2-11.8 4-17.6 5.9-38 65.2-66.5 79.4-84.1 79.4-4.2 0-7.8-.9-10.8-2-6.9-2.6-12.8-8-16.5-15-.9-1.7-1.6-3.4-2.2-5.2-1.6-4.8-2.1-9.6-1.3-13.6l.6-2.7c.1-.2.1-.4.2-.6.2-.7.4-1.4.7-2.1 0-.1.1-.2.1-.3 4.1-11.9 13.6-23.4 27.7-34.6 12.3-9.8 27.1-18.7 45.9-28.4 15.9-28 37.6-75.1 51.2-107.4-10.8-41.8-16.7-74.6-10.1-98.6.9-3.3 2.5-6.4 4.6-9.1.2-.2.3-.4.5-.6.1-.1.1-.2.2-.2 6.3-7.5 16.9-11.9 28.1-11.5 16.6.7 29.7 11.5 33 30.1 1.7 8 2.2 16.5 1.9 25.7v.7c0 .5 0 1-.1 1.5-.7 13.3-3 26.6-7.3 44.7-.4 1.6-.8 3.2-1.2 5.2l-1 4.1-.1.3c.1.2.1.3.2.5l1.8 4.5c.1.3.3.7.4 1 .7 1.6 1.4 3.3 2.1 4.8v.1c8.7 18.8 19.7 33.4 33.9 45.1 4.3 3.5 8.9 6.7 13.9 9.8 1.8-.5 3.5-.7 5.3-.9z'\n ], [\n secondaryColor,\n 'M391.5 761c5.7-4.4 16.2-14.5 30.1-34.7-10.3 9.4-23.4 22.4-30.1 34.7zm270.9-83l.2-.3h.2c.6-.4.5-.7.4-.9-.1-.1-4.5-9.3-45.1-7.4 35.3 13.9 43.5 9.1 44.3 8.6z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M535.9 585.3c-.8-1.7-1.5-3.3-2.2-4.9-.1-.3-.3-.7-.4-1l-1.8-4.5c-.1-.2-.1-.3-.2-.5l.1-.3.2-1.1c4-16.3 8.6-35.3 9.4-54.4v-.7c.3-8.6-.2-17.2-2-25.6-3.8-21.3-19.5-29.6-32.9-30.2-11.3-.5-21.8 4-28.1 11.4-.1.1-.1.2-.2.2-.2.2-.4.4-.5.6-2.1 2.7-3.7 5.8-4.6 9.1-6.6 24-.7 56.8 10.1 98.6-13.6 32.4-35.3 79.4-51.2 107.4v.1c-27.7 14.3-64.1 35.8-73.6 62.9 0 .1-.1.2-.1.3-.2.7-.5 1.4-.7 2.1-.1.2-.1.4-.2.6-.2.9-.5 1.8-.6 2.7-.9 4-.4 8.8 1.3 13.6.6 1.8 1.3 3.5 2.2 5.2 3.7 7 9.6 12.4 16.5 15 3 1.1 6.6 2 10.8 2 17.6 0 46.1-14.2 84.1-79.4 5.8-1.9 11.8-3.9 17.6-5.9 27.2-9.2 55.4-18.8 80.9-23.1 28.2 15.1 60.3 24.8 82.1 24.8 21.6 0 30.1-12.8 33.3-20.5 5.6-13.5 2.9-30.5-6.2-39.6-2.6-2.6-6-4.8-10.1-6.6-.1-.1-.3-.1-.4-.2-.5-.2-1.1-.4-1.6-.7-.4-.2-.8-.3-1.2-.5-.2-.1-.3-.1-.5-.2-16.2-5.8-41.7-6.7-76.3-2.8l-5.3.6c-5-3-9.6-6.3-13.9-9.8-14.2-11.3-25.1-25.8-33.8-44.7zM391.5 761c6.7-12.3 19.8-25.3 30.1-34.7-13.9 20.2-24.4 30.3-30.1 34.7zM507 488.8c.8.1 1.5.7 2.2 2 5.2 8.9 4.5 35.8.5 49.4-4.9-19.9-5.6-48.1-2.7-51.4zm-19.2 188.9c-4.2 1.7-8.3 3.4-12.3 5 13.3-24.1 24.4-51.4 32.1-71.4 10.7 18.5 24.2 34.4 39.1 46.2-21.6 4.9-41.3 13-58.9 20.2zm175.4-.9c.1.2.2.5-.4.9h-.2l-.2.3c-.8.5-9 5.3-44.3-8.6 40.6-1.9 45 7.3 45.1 7.4z'\n ]);\n});\nexports.FilePptTwoTone = getIcon('file-ppt', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M464.5 516.2v108.4h38.9c44.7 0 71.2-10.9 71.2-54.3 0-34.4-20.1-54.1-53.9-54.1h-56.2z'\n ], [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm90 218.4c0 55.2-36.8 94.1-96.2 94.1h-63.3V760c0 4.4-3.6 8-8 8H424c-4.4 0-8-3.6-8-8V484c0-4.4 3.6-8 8-8v.1h104c59.7 0 96 39.8 96 94.3z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M424 476.1c-4.4-.1-8 3.5-8 7.9v276c0 4.4 3.6 8 8 8h32.5c4.4 0 8-3.6 8-8v-95.5h63.3c59.4 0 96.2-38.9 96.2-94.1 0-54.5-36.3-94.3-96-94.3H424zm150.6 94.2c0 43.4-26.5 54.3-71.2 54.3h-38.9V516.2h56.2c33.8 0 53.9 19.7 53.9 54.1z'\n ]);\n});\nexports.FileTextTwoTone = getIcon('file-text', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm-22 322c0 4.4-3.6 8-8 8H320c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm200-184v48c0 4.4-3.6 8-8 8H320c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h384c4.4 0 8 3.6 8 8z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8zm192 128H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.FileUnknownTwoTone = getIcon('file-unknown', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm-22 424c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm110-228.4c.7 44.9-29.7 84.5-74.3 98.9-5.7 1.8-9.7 7.3-9.7 13.3V672c0 5.5-4.5 10-10 10h-32c-5.5 0-10-4.5-10-10v-32c.2-19.8 15.4-37.3 34.7-40.1C549 596.2 570 574.3 570 549c0-28.1-25.8-51.5-58-51.5s-58 23.4-58 51.6c0 5.2-4.4 9.4-9.8 9.4h-32.4c-5.4 0-9.8-4.1-9.8-9.5 0-57.4 50.1-103.7 111.5-103 59.3.8 107.7 46.1 108.5 101.6z'\n ], [\n primaryColor,\n 'M854.6 288.7L639.4 73.4c-6-6-14.2-9.4-22.7-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.6-9.4-22.6zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M480 744a32 32 0 1 0 64 0 32 32 0 1 0-64 0zm-78-195c0 5.4 4.4 9.5 9.8 9.5h32.4c5.4 0 9.8-4.2 9.8-9.4 0-28.2 25.8-51.6 58-51.6s58 23.4 58 51.5c0 25.3-21 47.2-49.3 50.9-19.3 2.8-34.5 20.3-34.7 40.1v32c0 5.5 4.5 10 10 10h32c5.5 0 10-4.5 10-10v-12.2c0-6 4-11.5 9.7-13.3 44.6-14.4 75-54 74.3-98.9-.8-55.5-49.2-100.8-108.5-101.6-61.4-.7-111.5 45.6-111.5 103z'\n ]);\n});\nexports.FileZipTwoTone = getIcon('file-zip', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M344 630h32v2h-32z'], [\n secondaryColor,\n 'M534 352V136H360v64h64v64h-64v64h64v64h-64v64h64v64h-64v62h64v160H296V520h64v-64h-64v-64h64v-64h-64v-64h64v-64h-64v-64h-64v752h560V394H576a42 42 0 0 1-42-42z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h64v64h64v-64h174v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M296 392h64v64h-64zm0-128h64v64h-64zm0 318v160h128V582h-64v-62h-64v62zm48 50v-2h32v64h-32v-62zm16-432h64v64h-64zm0 256h64v64h-64zm0-128h64v64h-64z'\n ]);\n});\nexports.FileWordTwoTone = getIcon('file-word', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm101.3 129.3c1.3-5.4 6.1-9.3 11.7-9.3h35.6a12.04 12.04 0 0 1 11.6 15.1l-74.4 276c-1.4 5.3-6.2 8.9-11.6 8.9h-31.8c-5.4 0-10.2-3.7-11.6-8.9l-52.8-197-52.8 197c-1.4 5.3-6.2 8.9-11.6 8.9h-32c-5.4 0-10.2-3.7-11.6-8.9l-74.2-276a12.02 12.02 0 0 1 11.6-15.1h35.4c5.6 0 10.4 3.9 11.7 9.3L434.6 680l49.7-198.9c1.3-5.4 6.1-9.1 11.6-9.1h32.2c5.5 0 10.3 3.7 11.6 9.1l49.8 199.3 45.8-199.1z'\n ], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ], [\n primaryColor,\n 'M528.1 472h-32.2c-5.5 0-10.3 3.7-11.6 9.1L434.6 680l-46.1-198.7c-1.3-5.4-6.1-9.3-11.7-9.3h-35.4a12.02 12.02 0 0 0-11.6 15.1l74.2 276c1.4 5.2 6.2 8.9 11.6 8.9h32c5.4 0 10.2-3.6 11.6-8.9l52.8-197 52.8 197c1.4 5.2 6.2 8.9 11.6 8.9h31.8c5.4 0 10.2-3.6 11.6-8.9l74.4-276a12.04 12.04 0 0 0-11.6-15.1H647c-5.6 0-10.4 3.9-11.7 9.3l-45.8 199.1-49.8-199.3c-1.3-5.4-6.1-9.1-11.6-9.1z'\n ]);\n});\nexports.FileTwoTone = getIcon('file', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42z'], [\n primaryColor,\n 'M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z'\n ]);\n});\nexports.FilterTwoTone = getIcon('filter', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M420.6 798h182.9V642H420.6zM411 561.4l9.5 16.6h183l9.5-16.6L811.3 226H212.7z'\n ], [\n primaryColor,\n 'M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 597.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V597.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.5 798H420.6V642h182.9v156zm9.5-236.6l-9.5 16.6h-183l-9.5-16.6L212.7 226h598.6L613 561.4z'\n ]);\n});\nexports.FireTwoTone = getIcon('fire', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M737 438.6c-9.6 15.5-21.1 30.7-34.4 45.6a73.1 73.1 0 0 1-51 24.4 73.36 73.36 0 0 1-53.4-18.8 74.01 74.01 0 0 1-24.4-59.8c3-47.4-12.4-103.1-45.8-165.7-16.9-31.4-37.1-58.2-61.2-80.4a240 240 0 0 1-12.1 46.5 354.26 354.26 0 0 1-58.2 101 349.6 349.6 0 0 1-58.6 56.8c-34 26.1-62 60-80.8 97.9a275.96 275.96 0 0 0-29.1 124c0 74.9 29.5 145.3 83 198.4 53.7 53.2 125 82.4 201 82.4s147.3-29.2 201-82.4c53.5-53 83-123.5 83-198.4 0-39.2-8.1-77.3-24-113.1-9.3-21-21-40.5-35-58.4z'\n ], [\n primaryColor,\n 'M834.1 469.2A347.49 347.49 0 0 0 751.2 354l-29.1-26.7a8.09 8.09 0 0 0-13 3.3l-13 37.3c-8.1 23.4-23 47.3-44.1 70.8-1.4 1.5-3 1.9-4.1 2-1.1.1-2.8-.1-4.3-1.5-1.4-1.2-2.1-3-2-4.8 3.7-60.2-14.3-128.1-53.7-202C555.3 171 510 123.1 453.4 89.7l-41.3-24.3c-5.4-3.2-12.3 1-12 7.3l2.2 48c1.5 32.8-2.3 61.8-11.3 85.9-11 29.5-26.8 56.9-47 81.5a295.64 295.64 0 0 1-47.5 46.1 352.6 352.6 0 0 0-100.3 121.5A347.75 347.75 0 0 0 160 610c0 47.2 9.3 92.9 27.7 136a349.4 349.4 0 0 0 75.5 110.9c32.4 32 70 57.2 111.9 74.7C418.5 949.8 464.5 959 512 959s93.5-9.2 136.9-27.3A348.6 348.6 0 0 0 760.8 857c32.4-32 57.8-69.4 75.5-110.9a344.2 344.2 0 0 0 27.7-136c0-48.8-10-96.2-29.9-140.9zM713 808.5c-53.7 53.2-125 82.4-201 82.4s-147.3-29.2-201-82.4c-53.5-53.1-83-123.5-83-198.4 0-43.5 9.8-85.2 29.1-124 18.8-37.9 46.8-71.8 80.8-97.9a349.6 349.6 0 0 0 58.6-56.8c25-30.5 44.6-64.5 58.2-101a240 240 0 0 0 12.1-46.5c24.1 22.2 44.3 49 61.2 80.4 33.4 62.6 48.8 118.3 45.8 165.7a74.01 74.01 0 0 0 24.4 59.8 73.36 73.36 0 0 0 53.4 18.8c19.7-1 37.8-9.7 51-24.4 13.3-14.9 24.8-30.1 34.4-45.6 14 17.9 25.7 37.4 35 58.4 15.9 35.8 24 73.9 24 113.1 0 74.9-29.5 145.4-83 198.4z'\n ]);\n});\nexports.FolderAddTwoTone = getIcon('folder-add', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M372.5 256H184v512h656V370.4H492.1L372.5 256zM540 443.1V528h84.5c4.1 0 7.5 3.1 7.5 7v42c0 3.8-3.4 7-7.5 7H540v84.9c0 3.9-3.1 7.1-7 7.1h-42c-3.8 0-7-3.2-7-7.1V584h-84.5c-4.1 0-7.5-3.2-7.5-7v-42c0-3.9 3.4-7 7.5-7H484v-84.9c0-3.9 3.2-7.1 7-7.1h42c3.9 0 7 3.2 7 7.1z'\n ], [\n primaryColor,\n 'M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z'\n ], [\n primaryColor,\n 'M484 443.1V528h-84.5c-4.1 0-7.5 3.1-7.5 7v42c0 3.8 3.4 7 7.5 7H484v84.9c0 3.9 3.2 7.1 7 7.1h42c3.9 0 7-3.2 7-7.1V584h84.5c4.1 0 7.5-3.2 7.5-7v-42c0-3.9-3.4-7-7.5-7H540v-84.9c0-3.9-3.1-7.1-7-7.1h-42c-3.8 0-7 3.2-7 7.1z'\n ]);\n});\nexports.FlagTwoTone = getIcon('flag', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M184 232h368v336H184z'], [secondaryColor, 'M624 632c0 4.4-3.6 8-8 8H504v73h336V377H624v255z'], [\n primaryColor,\n 'M880 305H624V192c0-17.7-14.3-32-32-32H184v-40c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v784c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V640h248v113c0 17.7 14.3 32 32 32h416c17.7 0 32-14.3 32-32V337c0-17.7-14.3-32-32-32zM184 568V232h368v336H184zm656 145H504v-73h112c4.4 0 8-3.6 8-8V377h216v336z'\n ]);\n});\nexports.FolderTwoTone = getIcon('folder', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z'\n ], [secondaryColor, 'M372.5 256H184v512h656V370.4H492.1z']);\n});\nexports.FolderOpenTwoTone = getIcon('folder-open', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M159 768h612.3l103.4-256H262.3z'], [\n primaryColor,\n 'M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 0 0-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z'\n ]);\n});\nexports.FrownTwoTone = getIcon('frown', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm376 272h-48.1c-4.2 0-7.8-3.2-8.1-7.4C604 636.1 562.5 597 512 597s-92.1 39.1-95.8 88.6c-.3 4.2-3.9 7.4-8.1 7.4H360a8 8 0 0 1-8-8.4c4.4-84.3 74.5-151.6 160-151.6s155.6 67.3 160 151.6a8 8 0 0 1-8 8.4zm24-224a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'\n ], [\n primaryColor,\n 'M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm224 112c-85.5 0-155.6 67.3-160 151.6a8 8 0 0 0 8 8.4h48.1c4.2 0 7.8-3.2 8.1-7.4 3.7-49.5 45.3-88.6 95.8-88.6s92 39.1 95.8 88.6c.3 4.2 3.9 7.4 8.1 7.4H664a8 8 0 0 0 8-8.4C667.6 600.3 597.5 533 512 533zm128-112a48 48 0 1 0 96 0 48 48 0 1 0-96 0z'\n ]);\n});\nexports.FundTwoTone = getIcon('fund', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136V232h752v560z'\n ], [\n secondaryColor,\n 'M136 792h752V232H136v560zm56.4-130.5l214.9-215c3.1-3.1 8.2-3.1 11.3 0L533 561l254.5-254.6c3.1-3.1 8.2-3.1 11.3 0l36.8 36.8c3.1 3.1 3.1 8.2 0 11.3l-297 297.2a8.03 8.03 0 0 1-11.3 0L412.9 537.2 240.4 709.7a8.03 8.03 0 0 1-11.3 0l-36.7-36.9a8.03 8.03 0 0 1 0-11.3z'\n ], [\n primaryColor,\n 'M229.1 709.7c3.1 3.1 8.2 3.1 11.3 0l172.5-172.5 114.4 114.5c3.1 3.1 8.2 3.1 11.3 0l297-297.2c3.1-3.1 3.1-8.2 0-11.3l-36.8-36.8a8.03 8.03 0 0 0-11.3 0L533 561 418.6 446.5a8.03 8.03 0 0 0-11.3 0l-214.9 215a8.03 8.03 0 0 0 0 11.3l36.7 36.9z'\n ]);\n});\nexports.FunnelPlotTwoTone = getIcon('funnel-plot', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M420.6 798h182.9V650H420.6zM297.7 374h428.6l85-148H212.7zm113.2 197.4l8.4 14.6h185.3l8.4-14.6L689.6 438H334.4z'\n ], [\n primaryColor,\n 'M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 607.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V607.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.5 798H420.6V650h182.9v148zm9.5-226.6l-8.4 14.6H419.3l-8.4-14.6L334.4 438h355.2L613 571.4zM726.3 374H297.7l-85-148h598.6l-85 148z'\n ]);\n});\nexports.GiftTwoTone = getIcon('gift', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M546 378h298v104H546zM228 550h250v308H228zm-48-172h298v104H180zm366 172h250v308H546z'\n ], [\n primaryColor,\n 'M880 310H732.4c13.6-21.4 21.6-46.8 21.6-74 0-76.1-61.9-138-138-138-41.4 0-78.7 18.4-104 47.4-25.3-29-62.6-47.4-104-47.4-76.1 0-138 61.9-138 138 0 27.2 7.9 52.6 21.6 74H144c-17.7 0-32 14.3-32 32v200c0 4.4 3.6 8 8 8h40v344c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V550h40c4.4 0 8-3.6 8-8V342c0-17.7-14.3-32-32-32zM478 858H228V550h250v308zm0-376H180V378h298v104zm0-176h-70c-38.6 0-70-31.4-70-70s31.4-70 70-70 70 31.4 70 70v70zm68-70c0-38.6 31.4-70 70-70s70 31.4 70 70-31.4 70-70 70h-70v-70zm250 622H546V550h250v308zm48-376H546V378h298v104z'\n ]);\n});\nexports.HddTwoTone = getIcon('hdd', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M232 888h560V680H232v208zm448-140c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM232 616h560V408H232v208zm72-128c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H312c-4.4 0-8-3.6-8-8v-48zm-72-144h560V136H232v208zm72-128c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H312c-4.4 0-8-3.6-8-8v-48z'\n ], [\n primaryColor,\n 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V680h560v208zm0-272H232V408h560v208zm0-272H232V136h560v208z'\n ], [\n primaryColor,\n 'M312 544h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0-272h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm328 516a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'\n ]);\n});\nexports.HeartTwoTone = getIcon('heart', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M923 283.6a260.04 260.04 0 0 0-56.9-82.8 264.4 264.4 0 0 0-84-55.5A265.34 265.34 0 0 0 679.7 125c-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5a258.44 258.44 0 0 0-56.9 82.8c-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3.1-35.3-7-69.6-20.9-101.9zM512 814.8S156 586.7 156 385.5C156 283.6 240.3 201 344.3 201c73.1 0 136.5 40.8 167.7 100.4C543.2 241.8 606.6 201 679.7 201c104 0 188.3 82.6 188.3 184.5 0 201.2-356 429.3-356 429.3z'\n ], [\n secondaryColor,\n 'M679.7 201c-73.1 0-136.5 40.8-167.7 100.4C480.8 241.8 417.4 201 344.3 201c-104 0-188.3 82.6-188.3 184.5 0 201.2 356 429.3 356 429.3s356-228.1 356-429.3C868 283.6 783.7 201 679.7 201z'\n ]);\n});\nexports.HighlightTwoTone = getIcon('highlight', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M229.6 796.3h160.2l54.3-54.1-80.1-78.9zm220.7-397.1l262.8 258.9 147.3-145-262.8-259zm-77.1 166.1l171.4 168.9 68.6-67.6-171.4-168.9z'\n ], [\n primaryColor,\n 'M957.6 507.5L603.2 158.3a7.9 7.9 0 0 0-11.2 0L353.3 393.5a8.03 8.03 0 0 0-.1 11.3l.1.1 40 39.4-117.2 115.3a8.03 8.03 0 0 0-.1 11.3l.1.1 39.5 38.9-189.1 187H72.1c-4.4 0-8.1 3.6-8.1 8v55.2c0 4.4 3.6 8 8 8h344.9c2.1 0 4.1-.8 5.6-2.3l76.1-75.6L539 830a7.9 7.9 0 0 0 11.2 0l117.1-115.6 40.1 39.5a7.9 7.9 0 0 0 11.2 0l238.7-235.2c3.4-3 3.4-8 .3-11.2zM389.8 796.3H229.6l134.4-133 80.1 78.9-54.3 54.1zm154.8-62.1L373.2 565.3l68.6-67.6 171.4 168.9-68.6 67.6zm168.5-76.1L450.3 399.2l147.3-145.1 262.8 259-147.3 145z'\n ]);\n});\nexports.HomeTwoTone = getIcon('home', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512.1 172.6l-370 369.7h96V868H392V640c0-22.1 17.9-40 40-40h160c22.1 0 40 17.9 40 40v228h153.9V542.3H882L535.2 195.7l-23.1-23.1zm434.5 422.9c-6 6-13.1 10.8-20.8 13.9 7.7-3.2 14.8-7.9 20.8-13.9zm-887-34.7c5 30.3 31.4 53.5 63.1 53.5h.9c-31.9 0-58.9-23-64-53.5zm-.9-10.5v-1.9 1.9zm.1-2.6c.1-3.1.5-6.1 1-9.1-.6 2.9-.9 6-1 9.1z'\n ], [\n primaryColor,\n 'M951 510c0-.1-.1-.1-.1-.2l-1.8-2.1c-.1-.1-.2-.3-.4-.4-.7-.8-1.5-1.6-2.2-2.4L560.1 118.8l-25.9-25.9a31.5 31.5 0 0 0-44.4 0L77.5 505a63.6 63.6 0 0 0-16 26.6l-.6 2.1-.3 1.1-.3 1.2c-.2.7-.3 1.4-.4 2.1 0 .1 0 .3-.1.4-.6 3-.9 6-1 9.1v3.3c0 .5 0 1 .1 1.5 0 .5 0 .9.1 1.4 0 .5.1 1 .1 1.5 0 .6.1 1.2.2 1.8 0 .3.1.6.1.9l.3 2.5v.1c5.1 30.5 32.2 53.5 64 53.5h42.5V940h691.7V614.3h43.4c8.6 0 16.9-1.7 24.5-4.9s14.7-7.9 20.8-13.9a63.6 63.6 0 0 0 18.7-45.3c0-14.7-5-28.8-14.3-40.2zM568 868H456V664h112v204zm217.9-325.7V868H632V640c0-22.1-17.9-40-40-40H432c-22.1 0-40 17.9-40 40v228H238.1V542.3h-96l370-369.7 23.1 23.1L882 542.3h-96.1z'\n ]);\n});\nexports.HourglassTwoTone = getIcon('hourglass', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 548c-42.2 0-81.9 16.4-111.7 46.3A156.63 156.63 0 0 0 354 706v134h316V706c0-42.2-16.4-81.9-46.3-111.7A156.63 156.63 0 0 0 512 548zM354 318c0 42.2 16.4 81.9 46.3 111.7C430.1 459.6 469.8 476 512 476s81.9-16.4 111.7-46.3C653.6 399.9 670 360.2 670 318V184H354v134z'\n ], [\n primaryColor,\n 'M742 318V184h86c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H196c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h86v134c0 81.5 42.4 153.2 106.4 194-64 40.8-106.4 112.5-106.4 194v134h-86c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h632c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-86V706c0-81.5-42.4-153.2-106.4-194 64-40.8 106.4-112.5 106.4-194zm-72 388v134H354V706c0-42.2 16.4-81.9 46.3-111.7C430.1 564.4 469.8 548 512 548s81.9 16.4 111.7 46.3C653.6 624.1 670 663.8 670 706zm0-388c0 42.2-16.4 81.9-46.3 111.7C593.9 459.6 554.2 476 512 476s-81.9-16.4-111.7-46.3A156.63 156.63 0 0 1 354 318V184h316v134z'\n ]);\n});\nexports.Html5TwoTone = getIcon('html5', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M145 96l66 746.6L511.8 928l299.6-85.4L878.7 96H145zm610.9 700.6l-244.1 69.6-245.2-69.6-56.7-641.2h603.8l-57.8 641.2z'\n ], [\n secondaryColor,\n 'M209.9 155.4l56.7 641.2 245.2 69.6 244.1-69.6 57.8-641.2H209.9zm530.4 117.9l-4.8 47.2-1.7 19.5H381.7l8.2 94.2H511v-.2h214.7l-3.2 24.3-21.2 242.2-1.7 16.3-187.7 51.7v.4h-1.7l-188.6-52-11.3-144.7h91l6.5 73.2 102.4 27.7h.8v-.2l102.4-27.7 11.4-118.5H511.9v.1H305.4l-22.7-253.5L281 249h461l-1.7 24.3z'\n ], [\n primaryColor,\n 'M281 249l1.7 24.3 22.7 253.5h206.5v-.1h112.9l-11.4 118.5L511 672.9v.2h-.8l-102.4-27.7-6.5-73.2h-91l11.3 144.7 188.6 52h1.7v-.4l187.7-51.7 1.7-16.3 21.2-242.2 3.2-24.3H511v.2H389.9l-8.2-94.2h352.1l1.7-19.5 4.8-47.2L742 249H511z'\n ]);\n});\nexports.IdcardTwoTone = getIcon('idcard', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136V232h752v560z'\n ], [\n secondaryColor,\n 'M136 792h752V232H136v560zm472-372c0-4.4 1-8 2.3-8h123.4c1.3 0 2.3 3.6 2.3 8v48c0 4.4-1 8-2.3 8H610.3c-1.3 0-2.3-3.6-2.3-8v-48zm0 144c0-4.4 3.2-8 7.1-8h185.7c3.9 0 7.1 3.6 7.1 8v48c0 4.4-3.2 8-7.1 8H615.1c-3.9 0-7.1-3.6-7.1-8v-48zM216.2 664.6c2.8-53.3 31.9-99.6 74.6-126.1-18.1-20-29.1-46.4-29.1-75.5 0-61.9 49.9-112 111.4-112s111.4 50.1 111.4 112c0 29.1-11 55.6-29.1 75.5 42.6 26.4 71.8 72.8 74.6 126.1a8 8 0 0 1-8 8.4h-43.9c-4.2 0-7.6-3.3-7.9-7.5-3.8-50.5-46-90.5-97.2-90.5s-93.4 40-97.2 90.5c-.3 4.2-3.7 7.5-7.9 7.5H224c-4.6 0-8.2-3.8-7.8-8.4z'\n ], [\n secondaryColor,\n 'M321.3 463a51.7 52 0 1 0 103.4 0 51.7 52 0 1 0-103.4 0z'\n ], [\n primaryColor,\n 'M610.3 476h123.4c1.3 0 2.3-3.6 2.3-8v-48c0-4.4-1-8-2.3-8H610.3c-1.3 0-2.3 3.6-2.3 8v48c0 4.4 1 8 2.3 8zm4.8 144h185.7c3.9 0 7.1-3.6 7.1-8v-48c0-4.4-3.2-8-7.1-8H615.1c-3.9 0-7.1 3.6-7.1 8v48c0 4.4 3.2 8 7.1 8zM224 673h43.9c4.2 0 7.6-3.3 7.9-7.5 3.8-50.5 46-90.5 97.2-90.5s93.4 40 97.2 90.5c.3 4.2 3.7 7.5 7.9 7.5H522a8 8 0 0 0 8-8.4c-2.8-53.3-32-99.7-74.6-126.1a111.8 111.8 0 0 0 29.1-75.5c0-61.9-49.9-112-111.4-112s-111.4 50.1-111.4 112c0 29.1 11 55.5 29.1 75.5a158.09 158.09 0 0 0-74.6 126.1c-.4 4.6 3.2 8.4 7.8 8.4zm149-262c28.5 0 51.7 23.3 51.7 52s-23.2 52-51.7 52-51.7-23.3-51.7-52 23.2-52 51.7-52z'\n ]);\n});\nexports.InfoCircleTwoTone = getIcon('info-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm32 588c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'\n ], [\n primaryColor,\n 'M464 336a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.InsuranceTwoTone = getIcon('insurance', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z'\n ], [secondaryColor, 'M521.9 358.8h97.9v41.6h-97.9z'], [\n secondaryColor,\n 'M214 226.7v427.6l298 232.2 298-232.2V226.7L512 125.1 214 226.7zM413.3 656h-.2c0 4.4-3.6 8-8 8h-37.3c-4.4 0-8-3.6-8-8V471.4c-7.7 9.2-15.4 17.9-23.1 26a6.04 6.04 0 0 1-10.2-2.4l-13.2-43.5c-.6-2-.2-4.1 1.2-5.6 37-43.4 64.7-95.1 82.2-153.6 1.1-3.5 5-5.3 8.4-3.7l38.6 18.3c2.7 1.3 4.1 4.4 3.2 7.2a429.2 429.2 0 0 1-33.6 79V656zm257.9-340v127.2c0 4.4-3.6 8-8 8h-66.7v18.6h98.8c4.4 0 8 3.6 8 8v35.6c0 4.4-3.6 8-8 8h-59c18.1 29.1 41.8 54.3 72.3 76.9 2.6 2.1 3.2 5.9 1.2 8.5l-26.3 35.3a5.92 5.92 0 0 1-8.9.7c-30.6-29.3-56.8-65.2-78.1-106.9V656c0 4.4-3.6 8-8 8h-36.2c-4.4 0-8-3.6-8-8V536c-22 44.7-49 80.8-80.6 107.6a6.38 6.38 0 0 1-4.8 1.4c-1.7-.3-3.2-1.3-4.1-2.8L432 605.7a6 6 0 0 1 1.6-8.1c28.6-20.3 51.9-45.2 71-76h-55.1c-4.4 0-8-3.6-8-8V478c0-4.4 3.6-8 8-8h94.9v-18.6h-65.9c-4.4 0-8-3.6-8-8V316c0-4.4 3.6-8 8-8h184.7c4.4 0 8 3.6 8 8z'\n ], [\n primaryColor,\n 'M443.7 306.9l-38.6-18.3c-3.4-1.6-7.3.2-8.4 3.7-17.5 58.5-45.2 110.2-82.2 153.6a5.7 5.7 0 0 0-1.2 5.6l13.2 43.5c1.4 4.5 7 5.8 10.2 2.4 7.7-8.1 15.4-16.8 23.1-26V656c0 4.4 3.6 8 8 8h37.3c4.4 0 8-3.6 8-8h.2V393.1a429.2 429.2 0 0 0 33.6-79c.9-2.8-.5-5.9-3.2-7.2zm26.8 9.1v127.4c0 4.4 3.6 8 8 8h65.9V470h-94.9c-4.4 0-8 3.6-8 8v35.6c0 4.4 3.6 8 8 8h55.1c-19.1 30.8-42.4 55.7-71 76a6 6 0 0 0-1.6 8.1l22.8 36.5c.9 1.5 2.4 2.5 4.1 2.8 1.7.3 3.5-.2 4.8-1.4 31.6-26.8 58.6-62.9 80.6-107.6v120c0 4.4 3.6 8 8 8h36.2c4.4 0 8-3.6 8-8V535.9c21.3 41.7 47.5 77.6 78.1 106.9 2.6 2.5 6.7 2.2 8.9-.7l26.3-35.3c2-2.6 1.4-6.4-1.2-8.5-30.5-22.6-54.2-47.8-72.3-76.9h59c4.4 0 8-3.6 8-8v-35.6c0-4.4-3.6-8-8-8h-98.8v-18.6h66.7c4.4 0 8-3.6 8-8V316c0-4.4-3.6-8-8-8H478.5c-4.4 0-8 3.6-8 8zm51.4 42.8h97.9v41.6h-97.9v-41.6z'\n ]);\n});\nexports.InteractionTwoTone = getIcon('interaction', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm114-401.9c0-55.3 44.6-100.1 99.7-100.1h205.8v-53.4c0-5.6 6.5-8.8 10.9-5.3L723.5 365c3.5 2.7 3.5 8 0 10.7l-109.1 85.7c-4.4 3.5-10.9.4-10.9-5.3v-53.4H397.8c-19.6 0-35.5 15.9-35.5 35.6v78.9c0 3.8-3.1 6.8-6.8 6.8h-50.7c-3.8 0-6.8-3-6.8-7v-78.9zm2.6 210.3l109.1-85.7c4.4-3.5 10.9-.4 10.9 5.3v53.4h205.6c19.6 0 35.5-15.9 35.5-35.6v-78.9c0-3.8 3.1-6.8 6.8-6.8h50.7c3.8 0 6.8 3.1 6.8 6.8v78.9c0 55.3-44.6 100.1-99.7 100.1H420.6v53.4c0 5.6-6.5 8.8-10.9 5.3l-109.1-85.7c-3.5-2.7-3.5-8 0-10.5z'\n ], [\n primaryColor,\n 'M304.8 524h50.7c3.7 0 6.8-3 6.8-6.8v-78.9c0-19.7 15.9-35.6 35.5-35.6h205.7v53.4c0 5.7 6.5 8.8 10.9 5.3l109.1-85.7c3.5-2.7 3.5-8 0-10.7l-109.1-85.7c-4.4-3.5-10.9-.3-10.9 5.3V338H397.7c-55.1 0-99.7 44.8-99.7 100.1V517c0 4 3 7 6.8 7zm-4.2 134.9l109.1 85.7c4.4 3.5 10.9.3 10.9-5.3v-53.4h205.7c55.1 0 99.7-44.8 99.7-100.1v-78.9c0-3.7-3-6.8-6.8-6.8h-50.7c-3.7 0-6.8 3-6.8 6.8v78.9c0 19.7-15.9 35.6-35.5 35.6H420.6V568c0-5.7-6.5-8.8-10.9-5.3l-109.1 85.7c-3.5 2.5-3.5 7.8 0 10.5z'\n ]);\n});\nexports.InterationTwoTone = getIcon('interation', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm114-401.9c0-55.3 44.6-100.1 99.7-100.1h205.8v-53.4c0-5.6 6.5-8.8 10.9-5.3L723.5 365c3.5 2.7 3.5 8 0 10.7l-109.1 85.7c-4.4 3.5-10.9.4-10.9-5.3v-53.4H397.8c-19.6 0-35.5 15.9-35.5 35.6v78.9c0 3.8-3.1 6.8-6.8 6.8h-50.7c-3.8 0-6.8-3-6.8-7v-78.9zm2.6 210.3l109.1-85.7c4.4-3.5 10.9-.4 10.9 5.3v53.4h205.6c19.6 0 35.5-15.9 35.5-35.6v-78.9c0-3.8 3.1-6.8 6.8-6.8h50.7c3.8 0 6.8 3.1 6.8 6.8v78.9c0 55.3-44.6 100.1-99.7 100.1H420.6v53.4c0 5.6-6.5 8.8-10.9 5.3l-109.1-85.7c-3.5-2.7-3.5-8 0-10.5z'\n ], [\n primaryColor,\n 'M304.8 524h50.7c3.7 0 6.8-3 6.8-6.8v-78.9c0-19.7 15.9-35.6 35.5-35.6h205.7v53.4c0 5.7 6.5 8.8 10.9 5.3l109.1-85.7c3.5-2.7 3.5-8 0-10.7l-109.1-85.7c-4.4-3.5-10.9-.3-10.9 5.3V338H397.7c-55.1 0-99.7 44.8-99.7 100.1V517c0 4 3 7 6.8 7zm-4.2 134.9l109.1 85.7c4.4 3.5 10.9.3 10.9-5.3v-53.4h205.7c55.1 0 99.7-44.8 99.7-100.1v-78.9c0-3.7-3-6.8-6.8-6.8h-50.7c-3.7 0-6.8 3-6.8 6.8v78.9c0 19.7-15.9 35.6-35.5 35.6H420.6V568c0-5.7-6.5-8.8-10.9-5.3l-109.1 85.7c-3.5 2.5-3.5 7.8 0 10.5z'\n ]);\n});\nexports.LayoutTwoTone = getIcon('layout', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M384 185h456v136H384zm-200 0h136v656H184zm696-73H144c-17.7 0-32 14.3-32 32v1c0-17.7 14.3-32 32-32h736c17.7 0 32 14.3 32 32v-1c0-17.7-14.3-32-32-32zM384 385h456v456H384z'\n ], [\n primaryColor,\n 'M880 113H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V145c0-17.7-14.3-32-32-32zM320 841H184V185h136v656zm520 0H384V385h456v456zm0-520H384V185h456v136z'\n ]);\n});\nexports.LeftCircleTwoTone = getIcon('left-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm104 240.9c0 10.3-4.9 19.9-13.2 25.9L457.4 512l145.4 105.1c8.3 6 13.2 15.7 13.2 25.9v46.9c0 6.5-7.4 10.3-12.7 6.5l-246-178a7.95 7.95 0 0 1 0-12.9l246-178c5.3-3.8 12.7 0 12.7 6.5v46.9z'\n ], [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n primaryColor,\n 'M603.3 327.5l-246 178a7.95 7.95 0 0 0 0 12.9l246 178c5.3 3.8 12.7 0 12.7-6.5V643c0-10.2-4.9-19.9-13.2-25.9L457.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5z'\n ]);\n});\nexports.LeftSquareTwoTone = getIcon('left-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm181.3-334.5l246-178c5.3-3.8 12.7 0 12.7 6.5v46.9c0 10.3-4.9 19.9-13.2 25.9L465.4 512l145.4 105.2c8.3 6 13.2 15.7 13.2 25.9V690c0 6.5-7.4 10.3-12.7 6.4l-246-178a7.95 7.95 0 0 1 0-12.9z'\n ], [\n primaryColor,\n 'M365.3 518.4l246 178c5.3 3.9 12.7.1 12.7-6.4v-46.9c0-10.2-4.9-19.9-13.2-25.9L465.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5l-246 178a7.95 7.95 0 0 0 0 12.9z'\n ]);\n});\nexports.LikeTwoTone = getIcon('like', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M273 495.9v428l.3-428zm538.2-88.3H496.8l9.6-198.4c.6-11.9-4.7-23.1-14.6-30.5-6.1-4.5-13.6-6.8-21.1-6.7-19.6.1-36.9 13.4-42.2 32.3-37.1 134.4-64.9 235.2-83.5 302.5V852h399.4a56.85 56.85 0 0 0 33.6-51.8c0-9.7-2.3-18.9-6.9-27.3l-13.9-25.4 21.9-19a56.76 56.76 0 0 0 19.6-43c0-9.7-2.3-18.9-6.9-27.3l-13.9-25.4 21.9-19a56.76 56.76 0 0 0 19.6-43c0-9.7-2.3-18.9-6.9-27.3l-14-25.5 21.9-19a56.76 56.76 0 0 0 19.6-43c0-19.1-11-37.5-28.8-48.4z'\n ], [\n primaryColor,\n 'M112 528v364c0 17.7 14.3 32 32 32h65V496h-65c-17.7 0-32 14.3-32 32zm773.9 5.7c16.8-22.2 26.1-49.4 26.1-77.7 0-44.9-25.1-87.5-65.5-111a67.67 67.67 0 0 0-34.3-9.3H572.3l6-122.9c1.5-29.7-9-57.9-29.5-79.4a106.4 106.4 0 0 0-77.9-33.4c-52 0-98 35-111.8 85.1l-85.8 310.8-.3 428h472.1c9.3 0 18.2-1.8 26.5-5.4 47.6-20.3 78.3-66.8 78.3-118.4 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37zM820.4 499l-21.9 19 14 25.5a56.2 56.2 0 0 1 6.9 27.3c0 16.5-7.1 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 0 1 6.9 27.3c0 16.5-7.1 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 0 1 6.9 27.3c0 22.4-13.2 42.6-33.6 51.8H345V506.8c18.6-67.2 46.4-168 83.5-302.5a44.28 44.28 0 0 1 42.2-32.3c7.5-.1 15 2.2 21.1 6.7 9.9 7.4 15.2 18.6 14.6 30.5l-9.6 198.4h314.4C829 418.5 840 436.9 840 456c0 16.5-7.1 32.2-19.6 43z'\n ]);\n});\nexports.LockTwoTone = getIcon('lock', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM332 240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224H332V240zm460 600H232V536h560v304z'\n ], [\n secondaryColor,\n 'M232 840h560V536H232v304zm280-226a48.01 48.01 0 0 1 28 87v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 0 1 28-87z'\n ], [\n primaryColor,\n 'M484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 1 0-56 0z'\n ]);\n});\nexports.MailTwoTone = getIcon('mail', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M477.5 536.3L135.9 270.7l-27.5-21.4 27.6 21.5V792h752V270.8L546.2 536.3a55.99 55.99 0 0 1-68.7 0z'\n ], [secondaryColor, 'M876.3 198.8l39.3 50.5-27.6 21.5 27.7-21.5-39.3-50.5z'], [\n primaryColor,\n 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-94.5 72.1L512 482 190.5 232.1h643zm54.5 38.7V792H136V270.8l-27.6-21.5 27.5 21.4 341.6 265.6a55.99 55.99 0 0 0 68.7 0L888 270.8l27.6-21.5-39.3-50.5h.1l39.3 50.5-27.7 21.5z'\n ]);\n});\nexports.MedicineBoxTwoTone = getIcon('medicine-box', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M244.3 328L184 513.4V840h656V513.4L779.7 328H244.3zM660 628c0 4.4-3.6 8-8 8H544v108c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V636H372c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h108V464c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v108h108c4.4 0 8 3.6 8 8v48z'\n ], [\n primaryColor,\n 'M652 572H544V464c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v108H372c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h108v108c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V636h108c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'\n ], [\n primaryColor,\n 'M839.2 278.1a32 32 0 0 0-30.4-22.1H736V144c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32v112h-72.8a31.9 31.9 0 0 0-30.4 22.1L112 502v378c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V502l-72.8-223.9zM360 184h304v72H360v-72zm480 656H184V513.4L244.3 328h535.4L840 513.4V840z'\n ]);\n});\nexports.MehTwoTone = getIcon('meh', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm384 200c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h304c4.4 0 8 3.6 8 8v48zm16-152a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'\n ], [\n primaryColor,\n 'M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm376 144H360c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-24-144a48 48 0 1 0 96 0 48 48 0 1 0-96 0z'\n ]);\n});\nexports.MessageTwoTone = getIcon('message', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M775.3 248.9a369.62 369.62 0 0 0-119-80A370.2 370.2 0 0 0 512.1 140h-1.7c-99.7.4-193 39.4-262.8 109.9-69.9 70.5-108 164.1-107.6 263.8.3 60.3 15.3 120.2 43.5 173.1l4.5 8.4V836h140.8l8.4 4.5c52.9 28.2 112.8 43.2 173.1 43.5h1.7c99 0 192-38.2 262.1-107.6 70.4-69.8 109.5-163.1 110.1-262.7.2-50.6-9.5-99.6-28.9-145.8a370.15 370.15 0 0 0-80-119zM312 560a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96zm200 0a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96zm200 0a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'\n ], [\n primaryColor,\n 'M664 512a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm-400 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0z'\n ], [\n primaryColor,\n 'M925.2 338.4c-22.6-53.7-55-101.9-96.3-143.3a444.35 444.35 0 0 0-143.3-96.3C630.6 75.7 572.2 64 512 64h-2c-60.6.3-119.3 12.3-174.5 35.9a445.35 445.35 0 0 0-142 96.5c-40.9 41.3-73 89.3-95.2 142.8-23 55.4-34.6 114.3-34.3 174.9A449.4 449.4 0 0 0 112 714v152a46 46 0 0 0 46 46h152.1A449.4 449.4 0 0 0 510 960h2.1c59.9 0 118-11.6 172.7-34.3a444.48 444.48 0 0 0 142.8-95.2c41.3-40.9 73.8-88.7 96.5-142 23.6-55.2 35.6-113.9 35.9-174.5.3-60.9-11.5-120-34.8-175.6zm-151.1 438C704 845.8 611 884 512 884h-1.7c-60.3-.3-120.2-15.3-173.1-43.5l-8.4-4.5H188V695.2l-4.5-8.4C155.3 633.9 140.3 574 140 513.7c-.4-99.7 37.7-193.3 107.6-263.8 69.8-70.5 163.1-109.5 262.8-109.9h1.7c50 0 98.5 9.7 144.2 28.9 44.6 18.7 84.6 45.6 119 80 34.3 34.3 61.3 74.4 80 119 19.4 46.2 29.1 95.2 28.9 145.8-.6 99.6-39.7 192.9-110.1 262.7z'\n ], [primaryColor, 'M464 512a48 48 0 1 0 96 0 48 48 0 1 0-96 0z']);\n});\nexports.MinusCircleTwoTone = getIcon('minus-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm192 396c0 4.4-3.6 8-8 8H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h368c4.4 0 8 3.6 8 8v48z'\n ], [\n primaryColor,\n 'M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.MinusSquareTwoTone = getIcon('minus-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm136-352c0-4.4 3.6-8 8-8h368c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H328c-4.4 0-8-3.6-8-8v-48z'\n ], [\n primaryColor,\n 'M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'\n ]);\n});\nexports.MobileTwoTone = getIcon('mobile', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M744 64H280c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h464c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zm-8 824H288V136h448v752z'\n ], [\n secondaryColor,\n 'M288 888h448V136H288v752zm224-142c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z'\n ], [primaryColor, 'M472 786a40 40 0 1 0 80 0 40 40 0 1 0-80 0z']);\n});\nexports.PauseCircleTwoTone = getIcon('pause-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm-80 524c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304zm224 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304z'\n ], [\n primaryColor,\n 'M424 352h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zm224 0h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.MoneyCollectTwoTone = getIcon('money-collect', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M256 744.4l256 93.1 256-93.1V184H256v560.4zM359.7 313c1.2-.7 2.5-1 3.8-1h55.7a8 8 0 0 1 7.1 4.4L511 485.2h3.3L599 316.4c1.3-2.7 4.1-4.4 7.1-4.4h54.5c4.4 0 8 3.6 8.1 7.9 0 1.3-.4 2.6-1 3.8L564 515.3h57.6c4.4 0 8 3.6 8 8v27.1c0 4.4-3.6 8-8 8h-76.3v39h76.3c4.4 0 8 3.6 8 8v27.1c0 4.4-3.6 8-8 8h-76.3V704c0 4.4-3.6 8-8 8h-49.9c-4.4 0-8-3.6-8-8v-63.4h-76c-4.4 0-8-3.6-8-8v-27.1c0-4.4 3.6-8 8-8h76v-39h-76c-4.4 0-8-3.6-8-8v-27.1c0-4.4 3.6-8 8-8h57L356.5 323.8c-2.1-3.8-.7-8.7 3.2-10.8z'\n ], [\n primaryColor,\n 'M911.5 700.7a8 8 0 0 0-10.3-4.8L840 718.2V180c0-37.6-30.4-68-68-68H252c-37.6 0-68 30.4-68 68v538.2l-61.3-22.3c-.9-.3-1.8-.5-2.7-.5-4.4 0-8 3.6-8 8V763c0 3.3 2.1 6.3 5.3 7.5L501 910.1c7.1 2.6 14.8 2.6 21.9 0l383.8-139.5c3.2-1.2 5.3-4.2 5.3-7.5v-59.6c0-1-.2-1.9-.5-2.8zM768 744.4l-256 93.1-256-93.1V184h512v560.4z'\n ], [\n primaryColor,\n 'M460.4 515.4h-57c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76v39h-76c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76V704c0 4.4 3.6 8 8 8h49.9c4.4 0 8-3.6 8-8v-63.5h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8h-76.3v-39h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8H564l103.7-191.6c.6-1.2 1-2.5 1-3.8-.1-4.3-3.7-7.9-8.1-7.9h-54.5c-3 0-5.8 1.7-7.1 4.4l-84.7 168.8H511l-84.7-168.8a8 8 0 0 0-7.1-4.4h-55.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.8l103.9 191.6z'\n ]);\n});\nexports.NotificationTwoTone = getIcon('notification', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M229.6 678.1c-3.7 11.6-5.6 23.9-5.6 36.4 0-12.5 2-24.8 5.7-36.4h-.1zm76.3-260.2H184v188.2h121.9l12.9 5.2L840 820.7V203.3L318.8 412.7z'\n ], [\n primaryColor,\n 'M880 112c-3.8 0-7.7.7-11.6 2.3L292 345.9H128c-8.8 0-16 7.4-16 16.6v299c0 9.2 7.2 16.6 16 16.6h101.7c-3.7 11.6-5.7 23.9-5.7 36.4 0 65.9 53.8 119.5 120 119.5 55.4 0 102.1-37.6 115.9-88.4l408.6 164.2c3.9 1.5 7.8 2.3 11.6 2.3 16.9 0 32-14.2 32-33.2V145.2C912 126.2 897 112 880 112zM344 762.3c-26.5 0-48-21.4-48-47.8 0-11.2 3.9-21.9 11-30.4l84.9 34.1c-2 24.6-22.7 44.1-47.9 44.1zm496 58.4L318.8 611.3l-12.9-5.2H184V417.9h121.9l12.9-5.2L840 203.3v617.4z'\n ]);\n});\nexports.PhoneTwoTone = getIcon('phone', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M721.7 184.9L610.9 295.8l120.8 120.7-8 21.6A481.29 481.29 0 0 1 438 723.9l-21.6 8-.9-.9-119.8-120-110.8 110.9 104.5 104.5c10.8 10.7 26 15.7 40.8 13.2 117.9-19.5 235.4-82.9 330.9-178.4s158.9-213.1 178.4-331c2.5-14.8-2.5-30-13.3-40.8L721.7 184.9z'\n ], [\n primaryColor,\n 'M877.1 238.7L770.6 132.3c-13-13-30.4-20.3-48.8-20.3s-35.8 7.2-48.8 20.3L558.3 246.8c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l89.6 89.7a405.46 405.46 0 0 1-86.4 127.3c-36.7 36.9-79.6 66-127.2 86.6l-89.6-89.7c-13-13-30.4-20.3-48.8-20.3a68.2 68.2 0 0 0-48.8 20.3L132.3 673c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l106.4 106.4c22.2 22.2 52.8 34.9 84.2 34.9 6.5 0 12.8-.5 19.2-1.6 132.4-21.8 263.8-92.3 369.9-198.3C818 606 888.4 474.6 910.4 342.1c6.3-37.6-6.3-76.3-33.3-103.4zm-37.6 91.5c-19.5 117.9-82.9 235.5-178.4 331s-213 158.9-330.9 178.4c-14.8 2.5-30-2.5-40.8-13.2L184.9 721.9 295.7 611l119.8 120 .9.9 21.6-8a481.29 481.29 0 0 0 285.7-285.8l8-21.6-120.8-120.7 110.8-110.9 104.5 104.5c10.8 10.8 15.8 26 13.3 40.8z'\n ]);\n});\nexports.PictureTwoTone = getIcon('picture', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136v-39.9l138.5-164.3 150.1 178L658.1 489 888 761.6V792zm0-129.8L664.2 396.8c-3.2-3.8-9-3.8-12.2 0L424.6 666.4l-144-170.7c-3.2-3.8-9-3.8-12.2 0L136 652.7V232h752v430.2z'\n ], [\n secondaryColor,\n 'M424.6 765.8l-150.1-178L136 752.1V792h752v-30.4L658.1 489z'\n ], [\n secondaryColor,\n 'M136 652.7l132.4-157c3.2-3.8 9-3.8 12.2 0l144 170.7L652 396.8c3.2-3.8 9-3.8 12.2 0L888 662.2V232H136v420.7zM304 280a88 88 0 1 1 0 176 88 88 0 0 1 0-176z'\n ], [secondaryColor, 'M276 368a28 28 0 1 0 56 0 28 28 0 1 0-56 0z'], [\n primaryColor,\n 'M304 456a88 88 0 1 0 0-176 88 88 0 0 0 0 176zm0-116c15.5 0 28 12.5 28 28s-12.5 28-28 28-28-12.5-28-28 12.5-28 28-28z'\n ]);\n});\nexports.PlayCircleTwoTone = getIcon('play-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm164.1 378.2L457.7 677.1a8.02 8.02 0 0 1-12.7-6.5V353a8 8 0 0 1 12.7-6.5l218.4 158.8a7.9 7.9 0 0 1 0 12.9z'\n ], [\n primaryColor,\n 'M676.1 505.3L457.7 346.5A8 8 0 0 0 445 353v317.6a8.02 8.02 0 0 0 12.7 6.5l218.4-158.9a7.9 7.9 0 0 0 0-12.9z'\n ]);\n});\nexports.PlaySquareTwoTone = getIcon('play-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm240-484.7c0-9.4 10.9-14.7 18.3-8.8l199.4 156.7a11.2 11.2 0 0 1 0 17.6L442.3 677.6c-7.4 5.8-18.3.6-18.3-8.8V355.3z'\n ], [\n primaryColor,\n 'M442.3 677.6l199.4-156.8a11.2 11.2 0 0 0 0-17.6L442.3 346.5c-7.4-5.9-18.3-.6-18.3 8.8v313.5c0 9.4 10.9 14.6 18.3 8.8z'\n ]);\n});\nexports.PieChartTwoTone = getIcon('pie-chart', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M316.2 920.5c-47.6-20.1-90.4-49-127.1-85.7a398.19 398.19 0 0 1-85.7-127.1A397.12 397.12 0 0 1 72 552.2v.2a398.57 398.57 0 0 0 117 282.5c36.7 36.7 79.4 65.5 127 85.6A396.64 396.64 0 0 0 471.6 952c27 0 53.6-2.7 79.7-7.9-25.9 5.2-52.4 7.8-79.3 7.8-54 .1-106.4-10.5-155.8-31.4zM560 472c-4.4 0-8-3.6-8-8V79.9c0-1.3.3-2.5.9-3.6-.9 1.3-1.5 2.9-1.5 4.6v383.7c0 4.4 3.6 8 8 8l383.6-1c1.6 0 3.1-.5 4.4-1.3-1 .5-2.2.7-3.4.7l-384 1z'\n ], [\n secondaryColor,\n 'M619.8 147.6v256.6l256.4-.7c-13-62.5-44.3-120.5-90-166.1a332.24 332.24 0 0 0-166.4-89.8z'\n ], [\n secondaryColor,\n 'M438 221.7c-75.9 7.6-146.2 40.9-200.8 95.5C174.5 379.9 140 463.3 140 552s34.5 172.1 97.2 234.8c62.3 62.3 145.1 96.8 233.2 97.2 88.2.4 172.7-34.1 235.3-96.2C761 733 794.6 662.3 802.3 586H438V221.7z'\n ], [\n primaryColor,\n 'M864 518H506V160c0-4.4-3.6-8-8-8h-26a398.46 398.46 0 0 0-282.8 117.1 398.19 398.19 0 0 0-85.7 127.1A397.61 397.61 0 0 0 72 552v.2c0 53.9 10.6 106.2 31.4 155.5 20.1 47.6 49 90.4 85.7 127.1 36.7 36.7 79.5 65.6 127.1 85.7A397.61 397.61 0 0 0 472 952c26.9 0 53.4-2.6 79.3-7.8 26.1-5.3 51.7-13.1 76.4-23.6 47.6-20.1 90.4-49 127.1-85.7 36.7-36.7 65.6-79.5 85.7-127.1A397.61 397.61 0 0 0 872 552v-26c0-4.4-3.6-8-8-8zM705.7 787.8A331.59 331.59 0 0 1 470.4 884c-88.1-.4-170.9-34.9-233.2-97.2C174.5 724.1 140 640.7 140 552s34.5-172.1 97.2-234.8c54.6-54.6 124.9-87.9 200.8-95.5V586h364.3c-7.7 76.3-41.3 147-96.6 201.8z'\n ], [\n primaryColor,\n 'M952 462.4l-2.6-28.2c-8.5-92.1-49.4-179-115.2-244.6A399.4 399.4 0 0 0 589 74.6L560.7 72c-3.4-.3-6.4 1.5-7.8 4.3a8.7 8.7 0 0 0-.9 3.6V464c0 4.4 3.6 8 8 8l384-1c1.2 0 2.3-.3 3.4-.7a8.1 8.1 0 0 0 4.6-7.9zm-332.2-58.2V147.6a332.24 332.24 0 0 1 166.4 89.8c45.7 45.6 77 103.6 90 166.1l-256.4.7z'\n ]);\n});\nexports.PlusCircleTwoTone = getIcon('plus-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm192 396c0 4.4-3.6 8-8 8H544v152c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V544H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h152V328c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v152h152c4.4 0 8 3.6 8 8v48z'\n ], [\n primaryColor,\n 'M696 480H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.PlusSquareTwoTone = getIcon('plus-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm136-352c0-4.4 3.6-8 8-8h152V328c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v152h152c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H544v152c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V544H328c-4.4 0-8-3.6-8-8v-48z'\n ], [\n primaryColor,\n 'M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'\n ]);\n});\nexports.PoundCircleTwoTone = getIcon('pound-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm146 582.1c0 4.4-3.6 8-8 8H376.2c-4.4 0-8-3.6-8-8v-38.5c0-3.7 2.5-6.9 6.1-7.8 44-10.9 72.8-49 72.8-94.2 0-14.7-2.5-29.4-5.9-44.2H374c-4.4 0-8-3.6-8-8v-30c0-4.4 3.6-8 8-8h53.7c-7.8-25.1-14.6-50.7-14.6-77.1 0-75.8 58.6-120.3 151.5-120.3 26.5 0 51.4 5.5 70.3 12.7 3.1 1.2 5.2 4.2 5.2 7.5v39.5a8 8 0 0 1-10.6 7.6c-17.9-6.4-39-10.5-60.4-10.5-53.3 0-87.3 26.6-87.3 70.2 0 24.7 6.2 47.9 13.4 70.5h112c4.4 0 8 3.6 8 8v30c0 4.4-3.6 8-8 8h-98.6c3.1 13.2 5.3 26.9 5.3 41 0 40.7-16.5 73.9-43.9 91.1v4.7h180c4.4 0 8 3.6 8 8v39.8z'\n ], [\n primaryColor,\n 'M650 674.3H470v-4.7c27.4-17.2 43.9-50.4 43.9-91.1 0-14.1-2.2-27.8-5.3-41h98.6c4.4 0 8-3.6 8-8v-30c0-4.4-3.6-8-8-8h-112c-7.2-22.6-13.4-45.8-13.4-70.5 0-43.6 34-70.2 87.3-70.2 21.4 0 42.5 4.1 60.4 10.5a8 8 0 0 0 10.6-7.6v-39.5c0-3.3-2.1-6.3-5.2-7.5-18.9-7.2-43.8-12.7-70.3-12.7-92.9 0-151.5 44.5-151.5 120.3 0 26.4 6.8 52 14.6 77.1H374c-4.4 0-8 3.6-8 8v30c0 4.4 3.6 8 8 8h67.2c3.4 14.8 5.9 29.5 5.9 44.2 0 45.2-28.8 83.3-72.8 94.2-3.6.9-6.1 4.1-6.1 7.8v38.5c0 4.4 3.6 8 8 8H650c4.4 0 8-3.6 8-8v-39.8c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.PrinterTwoTone = getIcon('printer', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M360 180h304v152H360zm492 220H172c-6.6 0-12 5.4-12 12v292h132V500h440v204h132V412c0-6.6-5.4-12-12-12zm-24 84c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-40c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v40z'\n ], [\n primaryColor,\n 'M852 332H732V120c0-4.4-3.6-8-8-8H300c-4.4 0-8 3.6-8 8v212H172c-44.2 0-80 35.8-80 80v328c0 17.7 14.3 32 32 32h168v132c0 4.4 3.6 8 8 8h424c4.4 0 8-3.6 8-8V772h168c17.7 0 32-14.3 32-32V412c0-44.2-35.8-80-80-80zM360 180h304v152H360V180zm304 664H360V568h304v276zm200-140H732V500H292v204H160V412c0-6.6 5.4-12 12-12h680c6.6 0 12 5.4 12 12v292z'\n ], [\n primaryColor,\n 'M820 436h-40c-4.4 0-8 3.6-8 8v40c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-40c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.ProfileTwoTone = getIcon('profile', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm300-496c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48zm0 144c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48zm0 144c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48zM380 328c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm0 144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm0 144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z'\n ], [\n primaryColor,\n 'M340 656a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0-144a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0-144a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm152 320h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0-144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0-144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'\n ]);\n});\nexports.ProjectTwoTone = getIcon('project', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm472-560c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v256c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280zm-192 0c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v184c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280zm-192 0c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v464c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280z'\n ], [\n primaryColor,\n 'M280 752h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8zm192-280h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8zm192 72h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v256c0 4.4 3.6 8 8 8z'\n ]);\n});\nexports.PushpinTwoTone = getIcon('pushpin', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M474.8 357.7l-24.5 24.5-34.4-3.8c-9.6-1.1-19.3-1.6-28.9-1.6-29 0-57.5 4.7-84.7 14.1-14 4.8-27.4 10.8-40.3 17.9l353.1 353.3a259.92 259.92 0 0 0 30.4-153.9l-3.8-34.4 24.5-24.5L800 415.5 608.5 224 474.8 357.7z'\n ], [\n primaryColor,\n 'M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3a33.23 33.23 0 0 0-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 0 0-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8zM666.2 549.3l-24.5 24.5 3.8 34.4a259.92 259.92 0 0 1-30.4 153.9L262 408.8c12.9-7.1 26.3-13.1 40.3-17.9 27.2-9.4 55.7-14.1 84.7-14.1 9.6 0 19.3.5 28.9 1.6l34.4 3.8 24.5-24.5L608.5 224 800 415.5 666.2 549.3z'\n ]);\n});\nexports.PropertySafetyTwoTone = getIcon('property-safety', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z'\n ], [\n secondaryColor,\n 'M214 226.7v427.6l298 232.2 298-232.2V226.7L512 125.1 214 226.7zM593.9 318h45c5.5 0 10 4.5 10 10 .1 1.7-.3 3.3-1.1 4.8l-87.7 161.1h45.7c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4v29.7h63.4c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4V658c0 5.5-4.5 10-10 10h-41.3c-5.5 0-10-4.5-10-10v-51.8H418c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h63.1v-29.7H418c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h45.2l-88-161.1c-2.6-4.8-.9-10.9 4-13.6 1.5-.8 3.1-1.2 4.8-1.2h46c3.8 0 7.2 2.1 8.9 5.5l72.9 144.3L585 323.5a10 10 0 0 1 8.9-5.5z'\n ], [\n primaryColor,\n 'M438.9 323.5a9.88 9.88 0 0 0-8.9-5.5h-46c-1.7 0-3.3.4-4.8 1.2-4.9 2.7-6.6 8.8-4 13.6l88 161.1H418c-5.5 0-10 4.5-10 10v21.3c0 5.5 4.5 10 10 10h63.1v29.7H418c-5.5 0-10 4.5-10 10v21.3c0 5.5 4.5 10 10 10h63.1V658c0 5.5 4.5 10 10 10h41.3c5.5 0 10-4.5 10-10v-51.8h63.4c5.5 0 10-4.5 10-10v-21.3c0-5.5-4.5-10-10-10h-63.4v-29.7h63.4c5.5 0 10-4.5 10-10v-21.3c0-5.5-4.5-10-10-10h-45.7l87.7-161.1c.8-1.5 1.2-3.1 1.1-4.8 0-5.5-4.5-10-10-10h-45a10 10 0 0 0-8.9 5.5l-73.2 144.3-72.9-144.3z'\n ]);\n});\nexports.QuestionCircleTwoTone = getIcon('question-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm0 632c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm62.9-219.5a48.3 48.3 0 0 0-30.9 44.8V620c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-21.5c0-23.1 6.7-45.9 19.9-64.9 12.9-18.6 30.9-32.8 52.1-40.9 34-13.1 56-41.6 56-72.7 0-44.1-43.1-80-96-80s-96 35.9-96 80v7.6c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V420c0-39.3 17.2-76 48.4-103.3C430.4 290.4 470 276 512 276s81.6 14.5 111.6 40.7C654.8 344 672 380.7 672 420c0 57.8-38.1 109.8-97.1 132.5z'\n ], [\n primaryColor,\n 'M472 732a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm151.6-415.3C593.6 290.5 554 276 512 276s-81.6 14.4-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.2 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0 1 30.9-44.8c59-22.7 97.1-74.7 97.1-132.5 0-39.3-17.2-76-48.4-103.3z'\n ]);\n});\nexports.ReconciliationTwoTone = getIcon('reconciliation', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M740 344H404V240H304v160h176c17.7 0 32 14.3 32 32v360h328V240H740v104zM584 448c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56zm92 301c-50.8 0-92-41.2-92-92s41.2-92 92-92 92 41.2 92 92-41.2 92-92 92zm92-341v96c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-96c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8z'\n ], [secondaryColor, 'M642 657a34 34 0 1 0 68 0 34 34 0 1 0-68 0z'], [\n primaryColor,\n 'M592 512h48c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm112-104v96c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-96c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8z'\n ], [\n primaryColor,\n 'M880 168H668c0-30.9-25.1-56-56-56h-80c-30.9 0-56 25.1-56 56H264c-17.7 0-32 14.3-32 32v200h-88c-17.7 0-32 14.3-32 32v448c0 17.7 14.3 32 32 32h336c17.7 0 32-14.3 32-32v-16h368c17.7 0 32-14.3 32-32V200c0-17.7-14.3-32-32-32zm-412 64h72v-56h64v56h72v48H468v-48zm-20 616H176V616h272v232zm0-296H176v-88h272v88zm392 240H512V432c0-17.7-14.3-32-32-32H304V240h100v104h336V240h100v552z'\n ], [\n primaryColor,\n 'M676 565c-50.8 0-92 41.2-92 92s41.2 92 92 92 92-41.2 92-92-41.2-92-92-92zm0 126c-18.8 0-34-15.2-34-34s15.2-34 34-34 34 15.2 34 34-15.2 34-34 34z'\n ]);\n});\nexports.RedEnvelopeTwoTone = getIcon('red-envelope', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V193.1l260.3 204.1c11.6 9.1 27.9 9.1 39.5 0L792 193.1V888zm0-751.3h-31.7L512 331.3 263.7 136.7H232v-.7h560v.7z'\n ], [\n secondaryColor,\n 'M492.3 397.2L232 193.1V888h560V193.1L531.8 397.2a31.99 31.99 0 0 1-39.5 0zm99.4 60.9h47.8a8.45 8.45 0 0 1 7.4 12.4l-87.2 161h45.9c4.6 0 8.4 3.8 8.4 8.4V665c0 4.6-3.8 8.4-8.4 8.4h-63.3V702h63.3c4.6 0 8.4 3.8 8.4 8.4v25c.2 4.7-3.5 8.5-8.2 8.5h-63.3v49.9c0 4.6-3.8 8.4-8.4 8.4h-43.7c-4.6 0-8.4-3.8-8.4-8.4v-49.9h-63c-4.6 0-8.4-3.8-8.4-8.4v-25.1c0-4.6 3.8-8.4 8.4-8.4h63v-28.6h-63c-4.6 0-8.4-3.8-8.4-8.4v-25.1c0-4.6 3.8-8.4 8.4-8.4h45.4L377 470.4a8.4 8.4 0 0 1 3.4-11.4c1.3-.6 2.6-1 3.9-1h48.8c3.2 0 6.1 1.8 7.5 4.6l71.7 142 71.9-141.9a8.6 8.6 0 0 1 7.5-4.6z'\n ], [secondaryColor, 'M232 136.7h31.7L512 331.3l248.3-194.6H792v-.7H232z'], [\n primaryColor,\n 'M440.6 462.6a8.38 8.38 0 0 0-7.5-4.6h-48.8c-1.3 0-2.6.4-3.9 1a8.4 8.4 0 0 0-3.4 11.4l87.4 161.1H419c-4.6 0-8.4 3.8-8.4 8.4V665c0 4.6 3.8 8.4 8.4 8.4h63V702h-63c-4.6 0-8.4 3.8-8.4 8.4v25.1c0 4.6 3.8 8.4 8.4 8.4h63v49.9c0 4.6 3.8 8.4 8.4 8.4h43.7c4.6 0 8.4-3.8 8.4-8.4v-49.9h63.3c4.7 0 8.4-3.8 8.2-8.5v-25c0-4.6-3.8-8.4-8.4-8.4h-63.3v-28.6h63.3c4.6 0 8.4-3.8 8.4-8.4v-25.1c0-4.6-3.8-8.4-8.4-8.4h-45.9l87.2-161a8.45 8.45 0 0 0-7.4-12.4h-47.8c-3.1 0-6 1.8-7.5 4.6l-71.9 141.9-71.7-142z'\n ]);\n});\nexports.RestTwoTone = getIcon('rest', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M326.4 844h363.2l44.3-520H282l44.4 520zM508 416c79.5 0 144 64.5 144 144s-64.5 144-144 144-144-64.5-144-144 64.5-144 144-144z'\n ], [\n primaryColor,\n 'M508 704c79.5 0 144-64.5 144-144s-64.5-144-144-144-144 64.5-144 144 64.5 144 144 144zm0-224c44.2 0 80 35.8 80 80s-35.8 80-80 80-80-35.8-80-80 35.8-80 80-80z'\n ], [\n primaryColor,\n 'M832 256h-28.1l-35.7-120.9c-4-13.7-16.5-23.1-30.7-23.1h-451c-14.3 0-26.8 9.4-30.7 23.1L220.1 256H192c-17.7 0-32 14.3-32 32v28c0 4.4 3.6 8 8 8h45.8l47.7 558.7a32 32 0 0 0 31.9 29.3h429.2a32 32 0 0 0 31.9-29.3L802.2 324H856c4.4 0 8-3.6 8-8v-28c0-17.7-14.3-32-32-32zm-518.6-76h397.2l22.4 76H291l22.4-76zm376.2 664H326.4L282 324h451.9l-44.3 520z'\n ]);\n});\nexports.RightCircleTwoTone = getIcon('right-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm154.7 378.4l-246 178c-5.3 3.8-12.7 0-12.7-6.5V643c0-10.2 4.9-19.9 13.2-25.9L566.6 512 421.2 406.8c-8.3-6-13.2-15.6-13.2-25.9V334c0-6.5 7.4-10.3 12.7-6.5l246 178c4.4 3.2 4.4 9.7 0 12.9z'\n ], [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n primaryColor,\n 'M666.7 505.5l-246-178c-5.3-3.8-12.7 0-12.7 6.5v46.9c0 10.3 4.9 19.9 13.2 25.9L566.6 512 421.2 617.1c-8.3 6-13.2 15.7-13.2 25.9v46.9c0 6.5 7.4 10.3 12.7 6.5l246-178c4.4-3.2 4.4-9.7 0-12.9z'\n ]);\n});\nexports.RocketTwoTone = getIcon('rocket', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M261.7 621.4c-9.4 14.6-17 30.3-22.5 46.6H324V558.7c-24.8 16.2-46 37.5-62.3 62.7zM700 558.7V668h84.8c-5.5-16.3-13.1-32-22.5-46.6a211.6 211.6 0 0 0-62.3-62.7zm-64-239.9l-124-147-124 147V668h248V318.8zM512 448a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'\n ], [\n primaryColor,\n 'M864 736c0-111.6-65.4-208-160-252.9V317.3c0-15.1-5.3-29.7-15.1-41.2L536.5 95.4C530.1 87.8 521 84 512 84s-18.1 3.8-24.5 11.4L335.1 276.1a63.97 63.97 0 0 0-15.1 41.2v165.8C225.4 528 160 624.4 160 736h156.5c-2.3 7.2-3.5 15-3.5 23.8 0 22.1 7.6 43.7 21.4 60.8a97.2 97.2 0 0 0 43.1 30.6c23.1 54 75.6 88.8 134.5 88.8 29.1 0 57.3-8.6 81.4-24.8 23.6-15.8 41.9-37.9 53-64a97 97 0 0 0 43.1-30.5 97.52 97.52 0 0 0 21.4-60.8c0-8.4-1.1-16.4-3.1-23.8L864 736zm-540-68h-84.8c5.5-16.3 13.1-32 22.5-46.6 16.3-25.2 37.5-46.5 62.3-62.7V668zm64-184.9V318.8l124-147 124 147V668H388V483.1zm240.1 301.1c-5.2 3-11.2 4.2-17.1 3.4l-19.5-2.4-2.8 19.4c-5.4 37.9-38.4 66.5-76.7 66.5s-71.3-28.6-76.7-66.5l-2.8-19.5-19.5 2.5a27.7 27.7 0 0 1-17.1-3.5c-8.7-5-14.1-14.3-14.1-24.4 0-10.6 5.9-19.4 14.6-23.8h231.3c8.8 4.5 14.6 13.3 14.6 23.8-.1 10.2-5.5 19.6-14.2 24.5zM700 668V558.7a211.6 211.6 0 0 1 62.3 62.7c9.4 14.6 17 30.3 22.5 46.6H700z'\n ], [primaryColor, 'M464 400a48 48 0 1 0 96 0 48 48 0 1 0-96 0z']);\n});\nexports.RightSquareTwoTone = getIcon('right-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm216-196.9c0-10.2 4.9-19.9 13.2-25.9L558.6 512 413.2 406.8c-8.3-6-13.2-15.6-13.2-25.9V334c0-6.5 7.4-10.3 12.7-6.5l246 178c4.4 3.2 4.4 9.7 0 12.9l-246 178c-5.3 3.9-12.7.1-12.7-6.4v-46.9z'\n ], [\n primaryColor,\n 'M412.7 696.4l246-178c4.4-3.2 4.4-9.7 0-12.9l-246-178c-5.3-3.8-12.7 0-12.7 6.5v46.9c0 10.3 4.9 19.9 13.2 25.9L558.6 512 413.2 617.2c-8.3 6-13.2 15.7-13.2 25.9V690c0 6.5 7.4 10.3 12.7 6.4z'\n ]);\n});\nexports.SafetyCertificateTwoTone = getIcon('safety-certificate', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z'\n ], [\n secondaryColor,\n 'M214 226.7v427.6l298 232.2 298-232.2V226.7L512 125.1 214 226.7zM632.8 328H688c6.5 0 10.3 7.4 6.5 12.7L481.9 633.4a16.1 16.1 0 0 1-26 0l-126.4-174c-3.8-5.3 0-12.7 6.5-12.7h55.2c5.2 0 10 2.5 13 6.6l64.7 89.1 150.9-207.8c3-4.1 7.9-6.6 13-6.6z'\n ], [\n primaryColor,\n 'M404.2 453.3c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0 0 26 0l212.6-292.7c3.8-5.3 0-12.7-6.5-12.7h-55.2c-5.1 0-10 2.5-13 6.6L468.9 542.4l-64.7-89.1z'\n ]);\n});\nexports.SaveTwoTone = getIcon('save', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M704 320c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V184H184v656h656V341.8l-136-136V320zM512 730c-79.5 0-144-64.5-144-144s64.5-144 144-144 144 64.5 144 144-64.5 144-144 144z'\n ], [\n primaryColor,\n 'M512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z'\n ], [\n primaryColor,\n 'M893.3 293.3L730.7 130.7c-.7-.7-1.4-1.3-2.1-2-.1-.1-.3-.2-.4-.3-.7-.7-1.5-1.3-2.2-1.9a64 64 0 0 0-22-11.7V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840z'\n ]);\n});\nexports.ScheduleTwoTone = getIcon('schedule', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M768 352c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H548v56c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H328v56c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H136v496h752V296H768v56zM424 688c0 4.4-3.6 8-8 8H232c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm0-136c0 4.4-3.6 8-8 8H232c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm374.4-91.2l-165 228.7a15.9 15.9 0 0 1-25.8 0L493.5 531.3c-3.8-5.3 0-12.7 6.5-12.7h54.9c5.1 0 9.9 2.4 12.9 6.6l52.8 73.1 103.6-143.7c3-4.1 7.8-6.6 12.8-6.5h54.9c6.5 0 10.3 7.4 6.5 12.7z'\n ], [\n primaryColor,\n 'M724.2 454.6L620.6 598.3l-52.8-73.1c-3-4.2-7.8-6.6-12.9-6.6H500c-6.5 0-10.3 7.4-6.5 12.7l114.1 158.2a15.9 15.9 0 0 0 25.8 0l165-228.7c3.8-5.3 0-12.7-6.5-12.7H737c-5-.1-9.8 2.4-12.8 6.5zM416 496H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'\n ], [\n primaryColor,\n 'M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zm-40 568H136V296h120v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h120v496z'\n ], [\n primaryColor,\n 'M416 632H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'\n ]);\n});\nexports.SecurityScanTwoTone = getIcon('security-scan', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z'\n ], [\n secondaryColor,\n 'M460.7 451.1a80.1 80.1 0 1 0 160.2 0 80.1 80.1 0 1 0-160.2 0z'\n ], [\n secondaryColor,\n 'M214 226.7v427.6l298 232.2 298-232.2V226.7L512 125.1 214 226.7zm428.7 122.5c56.3 56.3 56.3 147.5 0 203.8-48.5 48.5-123 55.2-178.6 20.1l-77.5 77.5a8.03 8.03 0 0 1-11.3 0l-34-34a8.03 8.03 0 0 1 0-11.3l77.5-77.5c-35.1-55.7-28.4-130.1 20.1-178.6 56.3-56.3 147.5-56.3 203.8 0z'\n ], [\n primaryColor,\n 'M418.8 527.8l-77.5 77.5a8.03 8.03 0 0 0 0 11.3l34 34c3.1 3.1 8.2 3.1 11.3 0l77.5-77.5c55.6 35.1 130.1 28.4 178.6-20.1 56.3-56.3 56.3-147.5 0-203.8-56.3-56.3-147.5-56.3-203.8 0-48.5 48.5-55.2 122.9-20.1 178.6zm65.4-133.3a80.1 80.1 0 0 1 113.3 0 80.1 80.1 0 0 1 0 113.3c-31.3 31.3-82 31.3-113.3 0s-31.3-82 0-113.3z'\n ]);\n});\nexports.SettingTwoTone = getIcon('setting', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M859.3 569.7l.2.1c3.1-18.9 4.6-38.2 4.6-57.3 0-17.1-1.3-34.3-3.7-51.1 2.4 16.7 3.6 33.6 3.6 50.5 0 19.4-1.6 38.8-4.7 57.8zM99 398.1c-.5-.4-.9-.8-1.4-1.3.7.7 1.4 1.4 2.2 2.1l65.5 55.9v-.1L99 398.1zm536.6-216h.1l-15.5-83.8c-.2-1-.4-1.9-.7-2.8.1.5.3 1.1.4 1.6l15.7 85zm54 546.5l31.4-25.8 92.8 32.9c17-22.9 31.3-47.5 42.6-73.6l-74.7-63.9 6.6-40.1c2.5-15.1 3.8-30.6 3.8-46.1s-1.3-31-3.8-46.1l-6.5-39.9 74.7-63.9c-11.4-26-25.6-50.7-42.6-73.6l-92.8 32.9-31.4-25.8c-23.9-19.6-50.6-35-79.3-45.8l-38.1-14.3-17.9-97a377.5 377.5 0 0 0-85 0l-17.9 97.2-37.9 14.3c-28.5 10.8-55 26.2-78.7 45.7l-31.4 25.9-93.4-33.2c-17 22.9-31.3 47.5-42.6 73.6l75.5 64.5-6.5 40c-2.5 14.9-3.7 30.2-3.7 45.5 0 15.2 1.3 30.6 3.7 45.5l6.5 40-75.5 64.5c11.4 26 25.6 50.7 42.6 73.6l93.4-33.2 31.4 25.9c23.7 19.5 50.2 34.9 78.7 45.7l37.8 14.5 17.9 97.2c28.2 3.2 56.9 3.2 85 0l17.9-97 38.1-14.3c28.8-10.8 55.4-26.2 79.3-45.8zm-177.1-50.3c-30.5 0-59.2-7.8-84.3-21.5C373.3 627 336 568.9 336 502c0-97.2 78.8-176 176-176 66.9 0 125 37.3 154.8 92.2 13.7 25 21.5 53.7 21.5 84.3 0 97.1-78.7 175.8-175.8 175.8zM207.2 812.8c-5.5 1.9-11.2 2.3-16.6 1.2 5.7 1.2 11.7 1 17.5-1l81.4-29c-.1-.1-.3-.2-.4-.3l-81.9 29.1zm717.6-414.7l-65.5 56c0 .2.1.5.1.7l65.4-55.9c7.1-6.1 11.1-14.9 11.2-24-.3 8.8-4.3 17.3-11.2 23.2z'\n ], [\n secondaryColor,\n 'M935.8 646.6c.5 4.7 0 9.5-1.7 14.1l-.9 2.6a446.02 446.02 0 0 1-79.7 137.9l-1.8 2.1a32 32 0 0 1-35.1 9.5l-81.3-28.9a350 350 0 0 1-99.7 57.6l-15.7 85a32.05 32.05 0 0 1-25.8 25.7l-2.7.5a445.2 445.2 0 0 1-79.2 7.1h.3c26.7 0 53.4-2.4 79.4-7.1l2.7-.5a32.05 32.05 0 0 0 25.8-25.7l15.7-84.9c36.2-13.6 69.6-32.9 99.6-57.5l81.2 28.9a32 32 0 0 0 35.1-9.5l1.8-2.1c34.8-41.1 61.5-87.4 79.6-137.7l.9-2.6c1.6-4.7 2.1-9.7 1.5-14.5z'\n ], [\n primaryColor,\n 'M688 502c0-30.3-7.7-58.9-21.2-83.8C637 363.3 578.9 326 512 326c-97.2 0-176 78.8-176 176 0 66.9 37.3 125 92.2 154.8 24.9 13.5 53.4 21.2 83.8 21.2 97.2 0 176-78.8 176-176zm-288 0c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 0 1 624 502c0 29.9-11.7 58-32.8 79.2A111.6 111.6 0 0 1 512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 0 1 400 502z'\n ], [\n primaryColor,\n 'M594.1 952.2a32.05 32.05 0 0 0 25.8-25.7l15.7-85a350 350 0 0 0 99.7-57.6l81.3 28.9a32 32 0 0 0 35.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c1.7-4.6 2.2-9.4 1.7-14.1-.9-7.9-4.7-15.4-11-20.9l-65.3-55.9-.2-.1c3.1-19 4.7-38.4 4.7-57.8 0-16.9-1.2-33.9-3.6-50.5-.3-2.2-.7-4.4-1-6.6 0-.2-.1-.5-.1-.7l65.5-56c6.9-5.9 10.9-14.4 11.2-23.2.1-4-.5-8.1-1.9-12l-.9-2.6a443.74 443.74 0 0 0-79.7-137.9l-1.8-2.1a32.12 32.12 0 0 0-35.1-9.5l-81.3 28.9c-30-24.6-63.4-44-99.6-57.6h-.1l-15.7-85c-.1-.5-.2-1.1-.4-1.6a32.08 32.08 0 0 0-25.4-24.1l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 0 0-25.8 25.7l-15.8 85.4a351.86 351.86 0 0 0-99 57.4l-81.9-29.1a32 32 0 0 0-35.1 9.5l-1.8 2.1a446.02 446.02 0 0 0-79.7 137.9l-.9 2.6a32.09 32.09 0 0 0 7.9 33.9c.5.4.9.9 1.4 1.3l66.3 56.6v.1c-3.1 18.8-4.6 37.9-4.6 57 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 0 0-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1c4.9 5.7 11.4 9.4 18.5 10.7 5.4 1 11.1.7 16.6-1.2l81.9-29.1c.1.1.3.2.4.3 29.7 24.3 62.8 43.6 98.6 57.1l15.8 85.4a32.05 32.05 0 0 0 25.8 25.7l2.7.5c26.1 4.7 52.8 7.1 79.5 7.1h.3c26.6 0 53.3-2.4 79.2-7.1l2.7-.5zm-39.8-66.5a377.5 377.5 0 0 1-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 0 1-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97z'\n ]);\n});\nexports.ShopTwoTone = getIcon('shop', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M839.5 344h-655c-.3 0-.5.2-.5.5v91.2c0 59.8 49 108.3 109.3 108.3 40.7 0 76.2-22 95.1-54.7 2.9-5.1 8.4-8.3 14.3-8.3s11.3 3.2 14.3 8.3c18.8 32.7 54.3 54.7 95 54.7 40.8 0 76.4-22.1 95.1-54.9 2.9-5 8.2-8.1 13.9-8.1h.6c5.8 0 11 3.1 13.9 8.1 18.8 32.8 54.4 54.9 95.2 54.9C791 544 840 495.5 840 435.7v-91.2c0-.3-.2-.5-.5-.5z'\n ], [\n primaryColor,\n 'M882 272.1V144c0-17.7-14.3-32-32-32H174c-17.7 0-32 14.3-32 32v128.1c-16.7 1-30 14.9-30 31.9v131.7a177 177 0 0 0 14.4 70.4c4.3 10.2 9.6 19.8 15.6 28.9v345c0 17.6 14.3 32 32 32h676c17.7 0 32-14.3 32-32V535a175 175 0 0 0 15.6-28.9c9.5-22.3 14.4-46 14.4-70.4V304c0-17-13.3-30.9-30-31.9zM214 184h596v88H214v-88zm362 656.1H448V736h128v104.1zm234.4 0H640V704c0-17.7-14.3-32-32-32H416c-17.7 0-32 14.3-32 32v136.1H214V597.9c2.9 1.4 5.9 2.8 9 4 22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1s48-4.7 70.4-14.1c13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1s48-4.7 70.4-14.1c3-1.3 6-2.6 9-4v242.2zM840 435.7c0 59.8-49 108.3-109.3 108.3-40.8 0-76.4-22.1-95.2-54.9-2.9-5-8.1-8.1-13.9-8.1h-.6c-5.7 0-11 3.1-13.9 8.1A109.24 109.24 0 0 1 512 544c-40.7 0-76.2-22-95-54.7-3-5.1-8.4-8.3-14.3-8.3s-11.4 3.2-14.3 8.3a109.63 109.63 0 0 1-95.1 54.7C233 544 184 495.5 184 435.7v-91.2c0-.3.2-.5.5-.5h655c.3 0 .5.2.5.5v91.2z'\n ]);\n});\nexports.ShoppingTwoTone = getIcon('shopping', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M696 472c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-88H400v88c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-88h-96v456h560V384h-96v88z'\n ], [\n primaryColor,\n 'M832 312H696v-16c0-101.6-82.4-184-184-184s-184 82.4-184 184v16H192c-17.7 0-32 14.3-32 32v536c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V344c0-17.7-14.3-32-32-32zm-432-16c0-61.9 50.1-112 112-112s112 50.1 112 112v16H400v-16zm392 544H232V384h96v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h224v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h96v456z'\n ]);\n});\nexports.SkinTwoTone = getIcon('skin', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 318c-79.2 0-148.5-48.8-176.7-120H182v196h119v432h422V394h119V198H688.7c-28.2 71.2-97.5 120-176.7 120z'\n ], [\n primaryColor,\n 'M870 126H663.8c-17.4 0-32.9 11.9-37 29.3C614.3 208.1 567 246 512 246s-102.3-37.9-114.8-90.7a37.93 37.93 0 0 0-37-29.3H154a44 44 0 0 0-44 44v252a44 44 0 0 0 44 44h75v388a44 44 0 0 0 44 44h478a44 44 0 0 0 44-44V466h75a44 44 0 0 0 44-44V170a44 44 0 0 0-44-44zm-28 268H723v432H301V394H182V198h153.3c28.2 71.2 97.5 120 176.7 120s148.5-48.8 176.7-120H842v196z'\n ]);\n});\nexports.SlidersTwoTone = getIcon('sliders', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M180 292h80v440h-80zm369 180h-74a3 3 0 0 0-3 3v74a3 3 0 0 0 3 3h74a3 3 0 0 0 3-3v-74a3 3 0 0 0-3-3zm215-108h80v296h-80z'\n ], [\n primaryColor,\n 'M904 296h-66v-96c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v96h-66c-4.4 0-8 3.6-8 8v416c0 4.4 3.6 8 8 8h66v96c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-96h66c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8zm-60 364h-80V364h80v296zM612 404h-66V232c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v172h-66c-4.4 0-8 3.6-8 8v200c0 4.4 3.6 8 8 8h66v172c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V620h66c4.4 0 8-3.6 8-8V412c0-4.4-3.6-8-8-8zm-60 145a3 3 0 0 1-3 3h-74a3 3 0 0 1-3-3v-74a3 3 0 0 1 3-3h74a3 3 0 0 1 3 3v74zM320 224h-66v-56c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v56h-66c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h66v56c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-56h66c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zm-60 508h-80V292h80v440z'\n ]);\n});\nexports.SmileTwoTone = getIcon('smile', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm224 272c-85.5 0-155.6-67.3-160-151.6a8 8 0 0 1 8-8.4h48.1c4.2 0 7.8 3.2 8.1 7.4C420 589.9 461.5 629 512 629s92.1-39.1 95.8-88.6c.3-4.2 3.9-7.4 8.1-7.4H664a8 8 0 0 1 8 8.4C667.6 625.7 597.5 693 512 693zm176-224a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z'\n ], [\n primaryColor,\n 'M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm376 112h-48.1c-4.2 0-7.8 3.2-8.1 7.4-3.7 49.5-45.3 88.6-95.8 88.6s-92-39.1-95.8-88.6c-.3-4.2-3.9-7.4-8.1-7.4H360a8 8 0 0 0-8 8.4c4.4 84.3 74.5 151.6 160 151.6s155.6-67.3 160-151.6a8 8 0 0 0-8-8.4zm-24-112a48 48 0 1 0 96 0 48 48 0 1 0-96 0z'\n ]);\n});\nexports.SnippetsTwoTone = getIcon('snippets', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M450 510V336H232v552h432V550H490c-22.1 0-40-17.9-40-40z'\n ], [\n primaryColor,\n 'M832 112H724V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H500V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H320c-17.7 0-32 14.3-32 32v120h-96c-17.7 0-32 14.3-32 32v632c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32v-96h96c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM664 888H232V336h218v174c0 22.1 17.9 40 40 40h174v338zm0-402H514V336h.2L664 485.8v.2zm128 274h-56V456L544 264H360v-80h68v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h152v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h68v576z'\n ]);\n});\nexports.SoundTwoTone = getIcon('sound', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M275.4 424H146v176h129.4l18 11.7L586 803V221L293.3 412.3z'\n ], [\n primaryColor,\n 'M892.1 737.8l-110.3-63.7a15.9 15.9 0 0 0-21.7 5.9l-19.9 34.5c-4.4 7.6-1.8 17.4 5.8 21.8L856.3 800a15.9 15.9 0 0 0 21.7-5.9l19.9-34.5c4.4-7.6 1.7-17.4-5.8-21.8zM934 476H806c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16zM760 344a15.9 15.9 0 0 0 21.7 5.9L892 286.2c7.6-4.4 10.2-14.2 5.8-21.8L878 230a15.9 15.9 0 0 0-21.7-5.9L746 287.8a15.99 15.99 0 0 0-5.8 21.8L760 344zM625.9 115c-5.9 0-11.9 1.6-17.4 5.3L254 352H90c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h164l354.5 231.7c5.5 3.6 11.6 5.3 17.4 5.3 16.7 0 32.1-13.3 32.1-32.1V147.1c0-18.8-15.4-32.1-32.1-32.1zM586 803L293.4 611.7l-18-11.7H146V424h129.4l17.9-11.7L586 221v582z'\n ]);\n});\nexports.StarTwoTone = getIcon('star', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512.5 190.4l-94.4 191.3-211.2 30.7 152.8 149-36.1 210.3 188.9-99.3 188.9 99.2-36.1-210.3 152.8-148.9-211.2-30.7z'\n ], [\n primaryColor,\n 'M908.6 352.8l-253.9-36.9L541.2 85.8c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L370.3 315.9l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 0 0 .6 45.3l183.7 179.1L239 839.4a31.95 31.95 0 0 0 46.4 33.7l227.1-119.4 227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3zM665.3 561.3l36.1 210.3-188.9-99.2-188.9 99.3 36.1-210.3-152.8-149 211.2-30.7 94.4-191.3 94.4 191.3 211.2 30.7-152.8 148.9z'\n ]);\n});\nexports.StopTwoTone = getIcon('stop', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm288.5 682.8L277.7 224C258 240 240 258 224 277.7l522.8 522.8C682.8 852.7 601 884 512 884c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372c0 89-31.3 170.8-83.5 234.8z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372c89 0 170.8-31.3 234.8-83.5L224 277.7c16-19.7 34-37.7 53.7-53.7l522.8 522.8C852.7 682.8 884 601 884 512c0-205.4-166.6-372-372-372z'\n ]);\n});\nexports.SwitcherTwoTone = getIcon('switcher', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [secondaryColor, 'M184 840h528V312H184v528zm116-290h296v64H300v-64z'], [\n primaryColor,\n 'M880 112H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h576v576c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V144c0-17.7-14.3-32-32-32z'\n ], [\n primaryColor,\n 'M752 240H144c-17.7 0-32 14.3-32 32v608c0 17.7 14.3 32 32 32h608c17.7 0 32-14.3 32-32V272c0-17.7-14.3-32-32-32zm-40 600H184V312h528v528z'\n ], [primaryColor, 'M300 550h296v64H300z']);\n});\nexports.TabletTwoTone = getIcon('tablet', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M800 64H224c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zm-8 824H232V136h560v752z'\n ], [\n secondaryColor,\n 'M232 888h560V136H232v752zm280-144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z'\n ], [primaryColor, 'M472 784a40 40 0 1 0 80 0 40 40 0 1 0-80 0z']);\n});\nexports.TagTwoTone = getIcon('tag', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M589 164.6L189.3 564.3l270.4 270.4L859.4 435 836 188l-247-23.4zM680 432c-48.5 0-88-39.5-88-88s39.5-88 88-88 88 39.5 88 88-39.5 88-88 88z'\n ], [\n primaryColor,\n 'M680 256c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm0 120c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z'\n ], [\n primaryColor,\n 'M938 458.8l-29.6-312.6c-1.5-16.2-14.4-29-30.6-30.6L565.2 86h-.4c-3.2 0-5.7 1-7.6 2.9L88.9 557.2a9.96 9.96 0 0 0 0 14.1l363.8 363.8a9.9 9.9 0 0 0 7.1 2.9c2.7 0 5.2-1 7.1-2.9l468.3-468.3c2-2.1 3-5 2.8-8zM459.7 834.7L189.3 564.3 589 164.6 836 188l23.4 247-399.7 399.7z'\n ]);\n});\nexports.TagsTwoTone = getIcon('tags', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M477.5 694l311.9-311.8-19-224.6-224.6-19-311.9 311.9L477.5 694zm116-415.5a47.81 47.81 0 0 1 33.9-33.9c16.6-4.4 34.2.3 46.4 12.4a47.93 47.93 0 0 1 12.4 46.4 47.81 47.81 0 0 1-33.9 33.9c-16.6 4.4-34.2-.3-46.4-12.4a48.3 48.3 0 0 1-12.4-46.4z'\n ], [\n secondaryColor,\n 'M476.6 792.6c-1.7-.2-3.4-1-4.7-2.3L137.7 456.1a8.03 8.03 0 0 1 0-11.3L515.9 66.6c1.2-1.3 2.9-2.1 4.7-2.3h-.4c-2.3-.2-4.7.6-6.3 2.3L135.7 444.8a8.03 8.03 0 0 0 0 11.3l334.2 334.2c1.8 1.9 4.3 2.6 6.7 2.3z'\n ], [\n primaryColor,\n 'M889.7 539.8l-39.6-39.5a8.03 8.03 0 0 0-11.3 0l-362 361.3-237.6-237a8.03 8.03 0 0 0-11.3 0l-39.6 39.5a8.03 8.03 0 0 0 0 11.3l243.2 242.8 39.6 39.5c3.1 3.1 8.2 3.1 11.3 0l407.3-406.6c3.1-3.1 3.1-8.2 0-11.3zM652.3 337.3a47.81 47.81 0 0 0 33.9-33.9c4.4-16.6-.3-34.2-12.4-46.4a47.93 47.93 0 0 0-46.4-12.4 47.81 47.81 0 0 0-33.9 33.9c-4.4 16.6.3 34.2 12.4 46.4a48.3 48.3 0 0 0 46.4 12.4z'\n ], [\n primaryColor,\n 'M137.7 444.8a8.03 8.03 0 0 0 0 11.3l334.2 334.2c1.3 1.3 2.9 2.1 4.7 2.3 2.4.3 4.8-.5 6.6-2.3L861.4 412c1.7-1.7 2.5-4 2.3-6.3l-25.5-301.4c-.7-7.8-6.8-13.9-14.6-14.6L522.2 64.3h-1.6c-1.8.2-3.4 1-4.7 2.3L137.7 444.8zm408.1-306.2l224.6 19 19 224.6L477.5 694 233.9 450.5l311.9-311.9z'\n ]);\n});\nexports.ToolTwoTone = getIcon('tool', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M706.8 488.7a32.05 32.05 0 0 1-45.3 0L537 364.2a32.05 32.05 0 0 1 0-45.3l132.9-132.8a184.2 184.2 0 0 0-144 53.5c-58.1 58.1-69.3 145.3-33.6 214.6L439.5 507c-.1 0-.1-.1-.1-.1L209.3 737l79.2 79.2 274-274.1.1.1 8.8-8.8c69.3 35.7 156.5 24.5 214.6-33.6 39.2-39.1 57.3-92.1 53.6-143.9L706.8 488.7z'\n ], [\n primaryColor,\n 'M876.6 239.5c-.5-.9-1.2-1.8-2-2.5-5-5-13.1-5-18.1 0L684.2 409.3l-67.9-67.9L788.7 169c.8-.8 1.4-1.6 2-2.5 3.6-6.1 1.6-13.9-4.5-17.5-98.2-58-226.8-44.7-311.3 39.7-67 67-89.2 162-66.5 247.4l-293 293c-3 3-2.8 7.9.3 11l169.7 169.7c3.1 3.1 8.1 3.3 11 .3l292.9-292.9c85.5 22.8 180.5.7 247.6-66.4 84.4-84.5 97.7-213.1 39.7-311.3zM786 499.8c-58.1 58.1-145.3 69.3-214.6 33.6l-8.8 8.8-.1-.1-274 274.1-79.2-79.2 230.1-230.1s0 .1.1.1l52.8-52.8c-35.7-69.3-24.5-156.5 33.6-214.6a184.2 184.2 0 0 1 144-53.5L537 318.9a32.05 32.05 0 0 0 0 45.3l124.5 124.5a32.05 32.05 0 0 0 45.3 0l132.8-132.8c3.7 51.8-14.4 104.8-53.6 143.9z'\n ]);\n});\nexports.TrademarkCircleTwoTone = getIcon('trademark-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm170.7 584.2c-1.1.5-2.3.8-3.5.8h-62c-3.1 0-5.9-1.8-7.2-4.6l-74.6-159.2h-88.7V717c0 4.4-3.6 8-8 8H384c-4.4 0-8-3.6-8-8V307c0-4.4 3.6-8 8-8h155.6c98.8 0 144.2 59.9 144.2 131.1 0 70.2-43.6 106.4-78.4 119.2l80.8 164.2c2.1 3.9.4 8.7-3.5 10.7z'\n ], [\n secondaryColor,\n 'M529.9 357h-83.4v148H528c53 0 82.8-25.6 82.8-72.4 0-50.3-32.9-75.6-80.9-75.6z'\n ], [\n primaryColor,\n 'M605.4 549.3c34.8-12.8 78.4-49 78.4-119.2 0-71.2-45.4-131.1-144.2-131.1H384c-4.4 0-8 3.6-8 8v410c0 4.4 3.6 8 8 8h54.7c4.4 0 8-3.6 8-8V561.2h88.7L610 720.4c1.3 2.8 4.1 4.6 7.2 4.6h62c1.2 0 2.4-.3 3.5-.8 3.9-2 5.6-6.8 3.5-10.7l-80.8-164.2zM528 505h-81.5V357h83.4c48 0 80.9 25.3 80.9 75.6 0 46.8-29.8 72.4-82.8 72.4z'\n ]);\n});\nexports.UnlockTwoTone = getIcon('unlock', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M232 840h560V536H232v304zm280-226a48.01 48.01 0 0 1 28 87v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 0 1 28-87z'\n ], [\n primaryColor,\n 'M484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 1 0-56 0z'\n ], [\n primaryColor,\n 'M832 464H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v68c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-68c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zm-40 376H232V536h560v304z'\n ]);\n});\nexports.TrophyTwoTone = getIcon('trophy', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M320 480c0 49.1 19.1 95.3 53.9 130.1 34.7 34.8 81 53.9 130.1 53.9h16c49.1 0 95.3-19.1 130.1-53.9 34.8-34.7 53.9-81 53.9-130.1V184H320v296zM184 352c0 41 26.9 75.8 64 87.6-37.1-11.9-64-46.7-64-87.6zm364 382.5C665 721.8 758.4 630.2 773.8 514 758.3 630.2 665 721.7 548 734.5zM250.2 514C265.6 630.2 359 721.8 476 734.5 359 721.7 265.7 630.2 250.2 514z'\n ], [\n primaryColor,\n 'M868 160h-92v-40c0-4.4-3.6-8-8-8H256c-4.4 0-8 3.6-8 8v40h-92a44 44 0 0 0-44 44v148c0 81.7 60 149.6 138.2 162C265.7 630.2 359 721.7 476 734.5v105.2H280c-17.7 0-32 14.3-32 32V904c0 4.4 3.6 8 8 8h512c4.4 0 8-3.6 8-8v-32.3c0-17.7-14.3-32-32-32H548V734.5C665 721.7 758.3 630.2 773.8 514 852 501.6 912 433.7 912 352V204a44 44 0 0 0-44-44zM248 439.6a91.99 91.99 0 0 1-64-87.6V232h64v207.6zM704 480c0 49.1-19.1 95.4-53.9 130.1-34.8 34.8-81 53.9-130.1 53.9h-16c-49.1 0-95.4-19.1-130.1-53.9-34.8-34.8-53.9-81-53.9-130.1V184h384v296zm136-128c0 41-26.9 75.8-64 87.6V232h64v120z'\n ]);\n});\nexports.UpCircleTwoTone = getIcon('up-circle', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm178 479h-46.9c-10.2 0-19.9-4.9-25.9-13.2L512 460.4 406.8 605.8c-6 8.3-15.6 13.2-25.9 13.2H334c-6.5 0-10.3-7.4-6.5-12.7l178-246c3.2-4.4 9.7-4.4 12.9 0l178 246c3.9 5.3.1 12.7-6.4 12.7z'\n ], [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n primaryColor,\n 'M518.4 360.3a7.95 7.95 0 0 0-12.9 0l-178 246c-3.8 5.3 0 12.7 6.5 12.7h46.9c10.3 0 19.9-4.9 25.9-13.2L512 460.4l105.2 145.4c6 8.3 15.7 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.4-12.7l-178-246z'\n ]);\n});\nexports.ThunderboltTwoTone = getIcon('thunderbolt', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M695.4 164.1H470.8L281.2 491.5h157.4l-60.3 241 319.8-305.1h-211z'\n ], [\n primaryColor,\n 'M848.1 359.3H627.8L825.9 109c4.1-5.3.4-13-6.3-13H436.1c-2.8 0-5.5 1.5-6.9 4L170.1 547.5c-3.1 5.3.7 12 6.9 12h174.4L262 917.1c-1.9 7.8 7.5 13.3 13.3 7.7L853.6 373c5.2-4.9 1.7-13.7-5.5-13.7zM378.3 732.5l60.3-241H281.2l189.6-327.4h224.6L487.1 427.4h211L378.3 732.5z'\n ]);\n});\nexports.UpSquareTwoTone = getIcon('up-square', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z'\n ], [\n secondaryColor,\n 'M184 840h656V184H184v656zm143.5-228.7l178-246c3.2-4.4 9.7-4.4 12.9 0l178 246c3.9 5.3.1 12.7-6.4 12.7h-46.9c-10.2 0-19.9-4.9-25.9-13.2L512 465.4 406.8 610.8c-6 8.3-15.6 13.2-25.9 13.2H334c-6.5 0-10.3-7.4-6.5-12.7z'\n ], [\n primaryColor,\n 'M334 624h46.9c10.3 0 19.9-4.9 25.9-13.2L512 465.4l105.2 145.4c6 8.3 15.7 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.4-12.7l-178-246a7.95 7.95 0 0 0-12.9 0l-178 246c-3.8 5.3 0 12.7 6.5 12.7z'\n ]);\n});\nexports.UsbTwoTone = getIcon('usb', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M759.9 504H264.1c-26.5 0-48.1 19.7-48.1 44v292h592V548c0-24.3-21.6-44-48.1-44z'\n ], [\n primaryColor,\n 'M456 248h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm160 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z'\n ], [\n primaryColor,\n 'M760 432V144c0-17.7-14.3-32-32-32H296c-17.7 0-32 14.3-32 32v288c-66.2 0-120 52.1-120 116v356c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8V548c0-63.9-53.8-116-120-116zM336 184h352v248H336V184zm472 656H216V548c0-24.3 21.6-44 48.1-44h495.8c26.5 0 48.1 19.7 48.1 44v292z'\n ]);\n});\nexports.VideoCameraTwoTone = getIcon('video-camera', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M136 792h576V232H136v560zm64-488c0-4.4 3.6-8 8-8h112c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H208c-4.4 0-8-3.6-8-8v-48z'\n ], [\n primaryColor,\n 'M912 302.3L784 376V224c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v576c0 35.3 28.7 64 64 64h592c35.3 0 64-28.7 64-64V648l128 73.7c21.3 12.3 48-3.1 48-27.6V330c0-24.6-26.7-40-48-27.7zM712 792H136V232h576v560zm176-167l-104-59.8V458.9L888 399v226z'\n ], [\n primaryColor,\n 'M208 360h112c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H208c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z'\n ]);\n});\nexports.WalletTwoTone = getIcon('wallet', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 464H528V448h312v128zm0-192H496c-17.7 0-32 14.3-32 32v192c0 17.7 14.3 32 32 32h344v200H184V184h656v200z'\n ], [\n secondaryColor,\n 'M528 576h312V448H528v128zm92-104c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z'\n ], [primaryColor, 'M580 512a40 40 0 1 0 80 0 40 40 0 1 0-80 0z'], [\n secondaryColor,\n 'M184 840h656V640H496c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32h344V184H184v656z'\n ]);\n});\nexports.WarningTwoTone = getIcon('warning', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M955.7 856l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z'\n ], [\n secondaryColor,\n 'M172.2 828.1h679.6L512 239.9 172.2 828.1zM560 720a48.01 48.01 0 0 1-96 0 48.01 48.01 0 0 1 96 0zm-16-304v184c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V416c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8z'\n ], [\n primaryColor,\n 'M464 720a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8z'\n ]);\n});\nexports.CiTwoTone = getIcon('ci', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm-63.5 522.8c49.3 0 82.8-29.4 87-72.4.4-4.1 3.8-7.3 8-7.3h52.7c2.4 0 4.4 2 4.4 4.4 0 77.4-64.3 132.5-152.3 132.5C345.4 720 286 651.4 286 537.4v-49C286 373.5 345.4 304 448.3 304c88.3 0 152.3 56.9 152.3 138.1 0 2.4-2 4.4-4.4 4.4h-52.6c-4.2 0-7.6-3.2-8-7.4-3.9-46.1-37.5-77.6-87-77.6-61.1 0-95.6 45.4-95.7 126.8v49.3c0 80.3 34.5 125.2 95.6 125.2zM738 704.1c0 4.4-3.6 8-8 8h-50.4c-4.4 0-8-3.6-8-8V319.9c0-4.4 3.6-8 8-8H730c4.4 0 8 3.6 8 8v384.2z'\n ], [\n primaryColor,\n 'M730 311.9h-50.4c-4.4 0-8 3.6-8 8v384.2c0 4.4 3.6 8 8 8H730c4.4 0 8-3.6 8-8V319.9c0-4.4-3.6-8-8-8zm-281.4 49.6c49.5 0 83.1 31.5 87 77.6.4 4.2 3.8 7.4 8 7.4h52.6c2.4 0 4.4-2 4.4-4.4 0-81.2-64-138.1-152.3-138.1C345.4 304 286 373.5 286 488.4v49c0 114 59.4 182.6 162.3 182.6 88 0 152.3-55.1 152.3-132.5 0-2.4-2-4.4-4.4-4.4h-52.7c-4.2 0-7.6 3.2-8 7.3-4.2 43-37.7 72.4-87 72.4-61.1 0-95.6-44.9-95.6-125.2v-49.3c.1-81.4 34.6-126.8 95.7-126.8z'\n ]);\n});\nexports.CopyrightTwoTone = getIcon('copyright', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm5.5 533c52.9 0 88.8-31.7 93-77.8.4-4.1 3.8-7.3 8-7.3h56.8c2.6 0 4.7 2.1 4.7 4.7 0 82.6-68.7 141.4-162.7 141.4C407.4 734 344 660.8 344 539.1v-52.3C344 364.2 407.4 290 517.3 290c94.3 0 162.7 60.7 162.7 147.4 0 2.6-2.1 4.7-4.7 4.7h-56.7c-4.2 0-7.7-3.2-8-7.4-4-49.6-40-83.4-93-83.4-65.2 0-102.1 48.5-102.2 135.5v52.6c0 85.7 36.8 133.6 102.1 133.6z'\n ], [\n primaryColor,\n 'M517.6 351.3c53 0 89 33.8 93 83.4.3 4.2 3.8 7.4 8 7.4h56.7c2.6 0 4.7-2.1 4.7-4.7 0-86.7-68.4-147.4-162.7-147.4C407.4 290 344 364.2 344 486.8v52.3C344 660.8 407.4 734 517.3 734c94 0 162.7-58.8 162.7-141.4 0-2.6-2.1-4.7-4.7-4.7h-56.8c-4.2 0-7.6 3.2-8 7.3-4.2 46.1-40.1 77.8-93 77.8-65.3 0-102.1-47.9-102.1-133.6v-52.6c.1-87 37-135.5 102.2-135.5z'\n ]);\n});\nexports.DollarTwoTone = getIcon('dollar', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M426.6 410.3c0 25.4 15.7 45.1 49.5 57.3 4.7 1.9 9.4 3.4 15 5v-124c-37 4.7-64.5 25.4-64.5 61.7zm116.5 135.2c-2.9-.6-5.7-1.3-8.8-2.2V677c42.6-3.8 72-27.3 72-66.4 0-30.7-15.9-50.7-63.2-65.1z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm22.4 589.2l.2 31.7c0 4.5-3.6 8.1-8 8.1h-28.4c-4.4 0-8-3.6-8-8v-31.4c-89-6.5-130.7-57.1-135.2-112.1-.4-4.7 3.3-8.7 8-8.7h46.2c3.9 0 7.3 2.8 7.9 6.6 5.1 31.8 29.9 55.4 74.1 61.3V534l-24.7-6.3c-52.3-12.5-102.1-45.1-102.1-112.7 0-73 55.4-112.1 126.2-119v-33c0-4.4 3.6-8 8-8h28.1c4.4 0 8 3.6 8 8v32.7c68.5 6.9 119.8 46.9 125.9 109.2a8.1 8.1 0 0 1-8 8.8h-44.9c-4 0-7.4-2.9-7.9-6.9-4-29.2-27.5-53-65.5-58.2v134.3l25.4 5.9c64.8 16 108.9 47 109 116.4 0 75.2-56 117.1-134.3 124z'\n ], [\n primaryColor,\n 'M559.7 488.8l-25.4-5.9V348.6c38 5.2 61.5 29 65.5 58.2.5 4 3.9 6.9 7.9 6.9h44.9c4.7 0 8.4-4.1 8-8.8-6.1-62.3-57.4-102.3-125.9-109.2V263c0-4.4-3.6-8-8-8h-28.1c-4.4 0-8 3.6-8 8v33c-70.8 6.9-126.2 46-126.2 119 0 67.6 49.8 100.2 102.1 112.7l24.7 6.3v142.7c-44.2-5.9-69-29.5-74.1-61.3-.6-3.8-4-6.6-7.9-6.6H363c-4.7 0-8.4 4-8 8.7 4.5 55 46.2 105.6 135.2 112.1V761c0 4.4 3.6 8 8 8h28.4c4.4 0 8-3.6 8-8.1l-.2-31.7c78.3-6.9 134.3-48.8 134.3-124-.1-69.4-44.2-100.4-109-116.4zm-68.6-16.2c-5.6-1.6-10.3-3.1-15-5-33.8-12.2-49.5-31.9-49.5-57.3 0-36.3 27.5-57 64.5-61.7v124zM534.3 677V543.3c3.1.9 5.9 1.6 8.8 2.2 47.3 14.4 63.2 34.4 63.2 65.1 0 39.1-29.4 62.6-72 66.4z'\n ]);\n});\nexports.EuroTwoTone = getIcon('euro', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z'\n ], [\n secondaryColor,\n 'M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm117.1 581.1c0 3.8-2.7 7-6.4 7.8-15.9 3.4-34.4 5.1-55.3 5.1-109.8 0-183-58.8-200.2-158H337c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h26.1v-36.9c0-4.4 0-8.7.3-12.8H337c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h31.8C388.5 345.7 460.7 290 567.4 290c20.9 0 39.4 1.9 55.3 5.4 3.7.8 6.3 4 6.3 7.8V346a8 8 0 0 1-9.6 7.8c-14.6-2.9-31.8-4.4-51.7-4.4-65.3 0-110.4 33.5-127.6 90.4h128.3c4.4 0 8 3.6 8 8V475c0 4.4-3.6 8-8 8H432.5c-.3 4.4-.3 9.1-.3 13.8v36h136.4c4.4 0 8 3.6 8 8V568c0 4.4-3.6 8-8 8H438c15.3 62 61.3 98.6 129.8 98.6 19.9 0 37.1-1.3 51.8-4.1 4.9-1 9.5 2.8 9.5 7.8v42.8z'\n ], [\n primaryColor,\n 'M619.6 670.5c-14.7 2.8-31.9 4.1-51.8 4.1-68.5 0-114.5-36.6-129.8-98.6h130.6c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H432.2v-36c0-4.7 0-9.4.3-13.8h135.9c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H440.1c17.2-56.9 62.3-90.4 127.6-90.4 19.9 0 37.1 1.5 51.7 4.4a8 8 0 0 0 9.6-7.8v-42.8c0-3.8-2.6-7-6.3-7.8-15.9-3.5-34.4-5.4-55.3-5.4-106.7 0-178.9 55.7-198.6 149.9H337c-4.4 0-8 3.6-8 8v27.2c0 4.4 3.6 8 8 8h26.4c-.3 4.1-.3 8.4-.3 12.8v36.9H337c-4.4 0-8 3.6-8 8V568c0 4.4 3.6 8 8 8h30.2c17.2 99.2 90.4 158 200.2 158 20.9 0 39.4-1.7 55.3-5.1 3.7-.8 6.4-4 6.4-7.8v-42.8c0-5-4.6-8.8-9.5-7.8z'\n ]);\n});\nexports.GoldTwoTone = getIcon('gold', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n primaryColor,\n 'M435.7 558.7c-.6-3.9-4-6.7-7.9-6.7H166.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248zM196.5 748l20.7-128h159.5l20.7 128H196.5zm709.4 58.7l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H596.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.3-.7 7.3-4.8 6.6-9.2zM626.5 748l20.7-128h159.5l20.7 128H626.5zM342 472h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H382.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8zm91.2-196h159.5l20.7 128h-201l20.8-128z'\n ], [\n secondaryColor,\n 'M592.7 276H433.2l-20.8 128h201zM217.2 620l-20.7 128h200.9l-20.7-128zm430 0l-20.7 128h200.9l-20.7-128z'\n ]);\n});\nexports.CanlendarTwoTone = getIcon('canlendar', twotone, function (primaryColor, secondaryColor) {\n return getNode(newViewBox, [\n secondaryColor,\n 'M712 304c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H384v48c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H184v136h656V256H712v48z'\n ], [\n primaryColor,\n 'M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zm0-448H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136z'\n ]);\n});\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\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\nmodule.exports = merge;\n","function getError(option, xhr) {\n const msg = `cannot ${option.method} ${option.action} ${xhr.status}'`;\n const err = new Error(msg);\n err.status = xhr.status;\n err.method = option.method;\n err.url = option.action;\n return err;\n}\n\nfunction getBody(xhr) {\n const text = xhr.responseText || xhr.response;\n if (!text) {\n return text;\n }\n\n try {\n return JSON.parse(text);\n } catch (e) {\n return text;\n }\n}\n\n// option {\n// onProgress: (event: { percent: number }): void,\n// onError: (event: Error, body?: Object): void,\n// onSuccess: (body: Object): void,\n// data: Object,\n// filename: String,\n// file: File,\n// withCredentials: Boolean,\n// action: String,\n// headers: Object,\n// }\nexport default function upload(option) {\n const xhr = new window.XMLHttpRequest();\n\n if (option.onProgress && xhr.upload) {\n xhr.upload.onprogress = function progress(e) {\n if (e.total > 0) {\n e.percent = (e.loaded / e.total) * 100;\n }\n option.onProgress(e);\n };\n }\n\n const formData = new window.FormData();\n\n if (option.data) {\n Object.keys(option.data).forEach(key => {\n const value = option.data[key];\n // support key-value array data\n if (Array.isArray(value)) {\n value.forEach(item => {\n // { list: [ 11, 22 ] }\n // formData.append('list[]', 11);\n formData.append(`${key}[]`, item);\n });\n return;\n }\n\n formData.append(key, option.data[key]);\n });\n }\n\n formData.append(option.filename, option.file);\n\n xhr.onerror = function error(e) {\n option.onError(e);\n };\n\n xhr.onload = function onload() {\n // allow success when 2xx status\n // see https://github.com/react-component/upload/issues/34\n if (xhr.status < 200 || xhr.status >= 300) {\n return option.onError(getError(option, xhr), getBody(xhr));\n }\n\n option.onSuccess(getBody(xhr), xhr);\n };\n\n xhr.open(option.method, option.action, true);\n\n // Has to be after `.open()`. See https://github.com/enyo/dropzone/issues/179\n if (option.withCredentials && 'withCredentials' in xhr) {\n xhr.withCredentials = true;\n }\n\n const headers = option.headers || {};\n\n // when set headers['X-Requested-With'] = null , can close default XHR header\n // see https://github.com/react-component/upload/issues/33\n if (headers['X-Requested-With'] !== null) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n\n for (const h in headers) {\n if (headers.hasOwnProperty(h) && headers[h] !== null) {\n xhr.setRequestHeader(h, headers[h]);\n }\n }\n xhr.send(formData);\n\n return {\n abort() {\n xhr.abort();\n },\n };\n}\n","const now = +new Date();\nlet index = 0;\n\nexport default function uid() {\n return `vc-upload-${now}-${++index}`;\n}\n","function endsWith(str, suffix) {\n return str.indexOf(suffix, str.length - suffix.length) !== -1;\n}\n\nexport default (file, acceptedFiles) => {\n if (file && acceptedFiles) {\n const acceptedFilesArray = Array.isArray(acceptedFiles)\n ? acceptedFiles\n : acceptedFiles.split(',');\n const fileName = file.name || '';\n const mimeType = file.type || '';\n const baseMimeType = mimeType.replace(/\\/.*$/, '');\n\n return acceptedFilesArray.some(type => {\n const validType = type.trim();\n if (validType.charAt(0) === '.') {\n return endsWith(fileName.toLowerCase(), validType.toLowerCase());\n } else if (/\\/\\*$/.test(validType)) {\n // This is something like a image/* mime type\n return baseMimeType === validType.replace(/\\/.*$/, '');\n }\n return mimeType === validType;\n });\n }\n return true;\n};\n","function loopFiles(item, callback) {\n const dirReader = item.createReader();\n let fileList = [];\n\n function sequence() {\n dirReader.readEntries(entries => {\n const entryList = Array.prototype.slice.apply(entries);\n fileList = fileList.concat(entryList);\n\n // Check if all the file has been viewed\n const isFinished = !entryList.length;\n\n if (isFinished) {\n callback(fileList);\n } else {\n sequence();\n }\n });\n }\n\n sequence();\n}\n\nconst traverseFileTree = (files, callback, isAccepted) => {\n const _traverseFileTree = (item, path) => {\n path = path || '';\n if (item.isFile) {\n item.file(file => {\n if (isAccepted(file)) {\n // https://github.com/ant-design/ant-design/issues/16426\n if (item.fullPath && !file.webkitRelativePath) {\n Object.defineProperties(file, {\n webkitRelativePath: {\n writable: true,\n },\n });\n file.webkitRelativePath = item.fullPath.replace(/^\\//, '');\n Object.defineProperties(file, {\n webkitRelativePath: {\n writable: false,\n },\n });\n }\n callback([file]);\n }\n });\n } else if (item.isDirectory) {\n loopFiles(item, entries => {\n entries.forEach(entryItem => {\n _traverseFileTree(entryItem, `${path}${item.name}/`);\n });\n });\n }\n };\n for (const file of files) {\n _traverseFileTree(file.webkitGetAsEntry());\n }\n};\n\nexport default traverseFileTree;\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport partition from 'lodash/partition';\nimport classNames from 'classnames';\nimport defaultRequest from './request';\nimport getUid from './uid';\nimport attrAccept from './attr-accept';\nimport traverseFileTree from './traverseFileTree';\nimport { getListeners } from '../../_util/props-util';\n\nconst upLoadPropTypes = {\n componentTag: PropTypes.string,\n // style: PropTypes.object,\n prefixCls: PropTypes.string,\n name: PropTypes.string,\n // className: PropTypes.string,\n multiple: PropTypes.bool,\n directory: PropTypes.bool,\n disabled: PropTypes.bool,\n accept: PropTypes.string,\n // children: PropTypes.any,\n // onStart: PropTypes.func,\n data: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n action: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n headers: PropTypes.object,\n beforeUpload: PropTypes.func,\n customRequest: PropTypes.func,\n // onProgress: PropTypes.func,\n withCredentials: PropTypes.bool,\n openFileDialogOnClick: PropTypes.bool,\n transformFile: PropTypes.func,\n method: PropTypes.string,\n};\n\nconst AjaxUploader = {\n inheritAttrs: false,\n name: 'ajaxUploader',\n mixins: [BaseMixin],\n props: upLoadPropTypes,\n data() {\n this.reqs = {};\n return {\n uid: getUid(),\n };\n },\n mounted() {\n this._isMounted = true;\n },\n beforeDestroy() {\n this._isMounted = false;\n this.abort();\n },\n methods: {\n onChange(e) {\n const files = e.target.files;\n this.uploadFiles(files);\n this.reset();\n },\n onClick() {\n const el = this.$refs.fileInputRef;\n if (!el) {\n return;\n }\n el.click();\n },\n onKeyDown(e) {\n if (e.key === 'Enter') {\n this.onClick();\n }\n },\n onFileDrop(e) {\n const { multiple } = this.$props;\n e.preventDefault();\n if (e.type === 'dragover') {\n return;\n }\n if (this.directory) {\n traverseFileTree(e.dataTransfer.items, this.uploadFiles, _file =>\n attrAccept(_file, this.accept),\n );\n } else {\n let files = partition(Array.prototype.slice.call(e.dataTransfer.files), file =>\n attrAccept(file, this.accept),\n );\n let successFiles = files[0];\n const errorFiles = files[1];\n if (multiple === false) {\n successFiles = successFiles.slice(0, 1);\n }\n this.uploadFiles(successFiles);\n\n if (errorFiles.length) {\n this.$emit('reject', errorFiles);\n }\n }\n },\n uploadFiles(files) {\n const postFiles = Array.prototype.slice.call(files);\n postFiles\n .map(file => {\n file.uid = getUid();\n return file;\n })\n .forEach(file => {\n this.upload(file, postFiles);\n });\n },\n upload(file, fileList) {\n if (!this.beforeUpload) {\n // always async in case use react state to keep fileList\n return setTimeout(() => this.post(file), 0);\n }\n\n const before = this.beforeUpload(file, fileList);\n if (before && before.then) {\n before\n .then(processedFile => {\n const processedFileType = Object.prototype.toString.call(processedFile);\n if (processedFileType === '[object File]' || processedFileType === '[object Blob]') {\n return this.post(processedFile);\n }\n return this.post(file);\n })\n .catch(e => {\n console && console.log(e); // eslint-disable-line\n });\n } else if (before !== false) {\n setTimeout(() => this.post(file), 0);\n }\n },\n post(file) {\n if (!this._isMounted) {\n return;\n }\n const { $props: props } = this;\n let { data } = props;\n const { transformFile = originFile => originFile } = props;\n\n new Promise(resolve => {\n const { action } = this;\n if (typeof action === 'function') {\n return resolve(action(file));\n }\n resolve(action);\n }).then(action => {\n const { uid } = file;\n const request = this.customRequest || defaultRequest;\n const transform = Promise.resolve(transformFile(file)).catch(e => {\n console.error(e); // eslint-disable-line no-console\n });\n transform.then(transformedFile => {\n if (typeof data === 'function') {\n data = data(file);\n }\n\n const requestOption = {\n action,\n filename: this.name,\n data,\n file: transformedFile,\n headers: this.headers,\n withCredentials: this.withCredentials,\n method: props.method || 'post',\n onProgress: e => {\n this.$emit('progress', e, file);\n },\n onSuccess: (ret, xhr) => {\n delete this.reqs[uid];\n this.$emit('success', ret, file, xhr);\n },\n onError: (err, ret) => {\n delete this.reqs[uid];\n this.$emit('error', err, ret, file);\n },\n };\n this.reqs[uid] = request(requestOption);\n this.$emit('start', file);\n });\n });\n },\n reset() {\n this.setState({\n uid: getUid(),\n });\n },\n abort(file) {\n const { reqs } = this;\n if (file) {\n let uid = file;\n if (file && file.uid) {\n uid = file.uid;\n }\n if (reqs[uid] && reqs[uid].abort) {\n reqs[uid].abort();\n }\n delete reqs[uid];\n } else {\n Object.keys(reqs).forEach(uid => {\n if (reqs[uid] && reqs[uid].abort) {\n reqs[uid].abort();\n }\n\n delete reqs[uid];\n });\n }\n },\n },\n\n render() {\n const { $props, $attrs } = this;\n const {\n componentTag: Tag,\n prefixCls,\n disabled,\n multiple,\n accept,\n directory,\n openFileDialogOnClick,\n } = $props;\n const cls = classNames({\n [prefixCls]: true,\n [`${prefixCls}-disabled`]: disabled,\n });\n const events = disabled\n ? {}\n : {\n click: openFileDialogOnClick ? this.onClick : () => {},\n keydown: openFileDialogOnClick ? this.onKeyDown : () => {},\n drop: this.onFileDrop,\n dragover: this.onFileDrop,\n };\n const tagProps = {\n on: {\n ...getListeners(this),\n ...events,\n },\n attrs: {\n role: 'button',\n tabIndex: disabled ? null : '0',\n },\n class: cls,\n };\n return (\n <Tag {...tagProps}>\n <input\n id={$attrs.id}\n type=\"file\"\n ref=\"fileInputRef\"\n onClick={e => e.stopPropagation()} // https://github.com/ant-design/ant-design/issues/19948\n key={this.uid}\n style={{ display: 'none' }}\n accept={accept}\n directory={directory ? 'directory' : null}\n webkitdirectory={directory ? 'webkitdirectory' : null}\n multiple={multiple}\n onChange={this.onChange}\n />\n {this.$slots.default}\n </Tag>\n );\n },\n};\n\nexport default AjaxUploader;\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport classNames from 'classnames';\nimport getUid from './uid';\nimport warning from '../../_util/warning';\n\nconst IFRAME_STYLE = {\n position: 'absolute',\n top: 0,\n opacity: 0,\n filter: 'alpha(opacity=0)',\n left: 0,\n zIndex: 9999,\n};\n\n// diferent from AjaxUpload, can only upload on at one time, serial seriously\nconst IframeUploader = {\n mixins: [BaseMixin],\n props: {\n componentTag: PropTypes.string,\n // style: PropTypes.object,\n disabled: PropTypes.bool,\n prefixCls: PropTypes.string,\n // className: PropTypes.string,\n accept: PropTypes.string,\n // onStart: PropTypes.func,\n multiple: PropTypes.bool,\n // children: PropTypes.any,\n data: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n action: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n name: PropTypes.string,\n },\n data() {\n this.file = {};\n return {\n uploading: false,\n };\n },\n methods: {\n onLoad() {\n if (!this.uploading) {\n return;\n }\n const { file } = this;\n let response;\n try {\n const doc = this.getIframeDocument();\n const script = doc.getElementsByTagName('script')[0];\n if (script && script.parentNode === doc.body) {\n doc.body.removeChild(script);\n }\n response = doc.body.innerHTML;\n this.$emit('success', response, file);\n } catch (err) {\n warning(\n false,\n 'cross domain error for Upload. Maybe server should return document.domain script. see Note from https://github.com/react-component/upload',\n );\n response = 'cross-domain';\n this.$emit('error', err, null, file);\n }\n this.endUpload();\n },\n onChange() {\n const target = this.getFormInputNode();\n // ie8/9 don't support FileList Object\n // http://stackoverflow.com/questions/12830058/ie8-input-type-file-get-files\n const file = (this.file = {\n uid: getUid(),\n name:\n target.value &&\n target.value.substring(target.value.lastIndexOf('\\\\') + 1, target.value.length),\n });\n this.startUpload();\n const { $props: props } = this;\n if (!props.beforeUpload) {\n return this.post(file);\n }\n const before = props.beforeUpload(file);\n if (before && before.then) {\n before.then(\n () => {\n this.post(file);\n },\n () => {\n this.endUpload();\n },\n );\n } else if (before !== false) {\n this.post(file);\n } else {\n this.endUpload();\n }\n },\n getIframeNode() {\n return this.$refs.iframeRef;\n },\n getIframeDocument() {\n return this.getIframeNode().contentDocument;\n },\n getFormNode() {\n return this.getIframeDocument().getElementById('form');\n },\n getFormInputNode() {\n return this.getIframeDocument().getElementById('input');\n },\n getFormDataNode() {\n return this.getIframeDocument().getElementById('data');\n },\n getFileForMultiple(file) {\n return this.multiple ? [file] : file;\n },\n getIframeHTML(domain) {\n let domainScript = '';\n let domainInput = '';\n if (domain) {\n const script = 'script';\n domainScript = `<${script}>document.domain=\"${domain}\";</${script}>`;\n domainInput = `<input name=\"_documentDomain\" value=\"${domain}\" />`;\n }\n return `\n <!DOCTYPE html>\n <html>\n <head>\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n <style>\n body,html {padding:0;margin:0;border:0;overflow:hidden;}\n </style>\n ${domainScript}\n </head>\n <body>\n <form method=\"post\"\n encType=\"multipart/form-data\"\n action=\"\" id=\"form\"\n style=\"display:block;height:9999px;position:relative;overflow:hidden;\">\n <input id=\"input\" type=\"file\"\n name=\"${this.name}\"\n style=\"position:absolute;top:0;right:0;height:9999px;font-size:9999px;cursor:pointer;\"/>\n ${domainInput}\n <span id=\"data\"></span>\n </form>\n </body>\n </html>\n `;\n },\n initIframeSrc() {\n if (this.domain) {\n this.getIframeNode().src = `javascript:void((function(){\n var d = document;\n d.open();\n d.domain='${this.domain}';\n d.write('');\n d.close();\n })())`;\n }\n },\n initIframe() {\n const iframeNode = this.getIframeNode();\n let win = iframeNode.contentWindow;\n let doc;\n this.domain = this.domain || '';\n this.initIframeSrc();\n try {\n doc = win.document;\n } catch (e) {\n this.domain = document.domain;\n this.initIframeSrc();\n win = iframeNode.contentWindow;\n doc = win.document;\n }\n doc.open('text/html', 'replace');\n doc.write(this.getIframeHTML(this.domain));\n doc.close();\n this.getFormInputNode().onchange = this.onChange;\n },\n endUpload() {\n if (this.uploading) {\n this.file = {};\n // hack avoid batch\n this.uploading = false;\n this.setState({\n uploading: false,\n });\n this.initIframe();\n }\n },\n startUpload() {\n if (!this.uploading) {\n this.uploading = true;\n this.setState({\n uploading: true,\n });\n }\n },\n updateIframeWH() {\n const rootNode = this.$el;\n const iframeNode = this.getIframeNode();\n iframeNode.style.height = `${rootNode.offsetHeight}px`;\n iframeNode.style.width = `${rootNode.offsetWidth}px`;\n },\n abort(file) {\n if (file) {\n let uid = file;\n if (file && file.uid) {\n uid = file.uid;\n }\n if (uid === this.file.uid) {\n this.endUpload();\n }\n } else {\n this.endUpload();\n }\n },\n post(file) {\n const formNode = this.getFormNode();\n const dataSpan = this.getFormDataNode();\n let { data } = this.$props;\n if (typeof data === 'function') {\n data = data(file);\n }\n const inputs = document.createDocumentFragment();\n for (const key in data) {\n if (data.hasOwnProperty(key)) {\n const input = document.createElement('input');\n input.setAttribute('name', key);\n input.value = data[key];\n inputs.appendChild(input);\n }\n }\n dataSpan.appendChild(inputs);\n new Promise(resolve => {\n const { action } = this;\n if (typeof action === 'function') {\n return resolve(action(file));\n }\n resolve(action);\n }).then(action => {\n formNode.setAttribute('action', action);\n formNode.submit();\n dataSpan.innerHTML = '';\n this.$emit('start', file);\n });\n },\n },\n mounted() {\n this.$nextTick(() => {\n this.updateIframeWH();\n this.initIframe();\n });\n },\n updated() {\n this.$nextTick(() => {\n this.updateIframeWH();\n });\n },\n\n render() {\n const { componentTag: Tag, disabled, prefixCls } = this.$props;\n const iframeStyle = {\n ...IFRAME_STYLE,\n display: this.uploading || disabled ? 'none' : '',\n };\n const cls = classNames({\n [prefixCls]: true,\n [`${prefixCls}-disabled`]: disabled,\n });\n\n return (\n <Tag className={cls} style={{ position: 'relative', zIndex: 0 }}>\n <iframe ref=\"iframeRef\" onLoad={this.onLoad} style={iframeStyle} />\n {this.$slots.default}\n </Tag>\n );\n },\n};\n\nexport default IframeUploader;\n","import PropTypes from '../../_util/vue-types';\nimport { initDefaultProps, getListeners } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport AjaxUpload from './AjaxUploader';\nimport IframeUpload from './IframeUploader';\n\nfunction empty() {}\n\nconst uploadProps = {\n componentTag: PropTypes.string,\n prefixCls: PropTypes.string,\n action: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n name: PropTypes.string,\n multipart: PropTypes.bool,\n directory: PropTypes.bool,\n // onError: PropTypes.func,\n // onSuccess: PropTypes.func,\n // onProgress: PropTypes.func,\n // onStart: PropTypes.func,\n data: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n headers: PropTypes.object,\n accept: PropTypes.string,\n multiple: PropTypes.bool,\n disabled: PropTypes.bool,\n beforeUpload: PropTypes.func,\n customRequest: PropTypes.func,\n // onReady: PropTypes.func,\n method: PropTypes.string,\n withCredentials: PropTypes.bool,\n supportServerRender: PropTypes.bool,\n openFileDialogOnClick: PropTypes.bool,\n transformFile: PropTypes.func,\n};\nexport default {\n name: 'Upload',\n mixins: [BaseMixin],\n inheritAttrs: false,\n props: initDefaultProps(uploadProps, {\n componentTag: 'span',\n prefixCls: 'rc-upload',\n data: {},\n headers: {},\n name: 'file',\n multipart: false,\n // onReady: empty,\n // onStart: empty,\n // onError: empty,\n // onSuccess: empty,\n supportServerRender: false,\n multiple: false,\n beforeUpload: empty,\n withCredentials: false,\n openFileDialogOnClick: true,\n }),\n data() {\n return {\n Component: null,\n };\n },\n mounted() {\n this.$nextTick(() => {\n if (this.supportServerRender) {\n this.setState(\n {\n Component: this.getComponent(),\n },\n () => {\n this.$emit('ready');\n },\n );\n }\n });\n },\n methods: {\n getComponent() {\n return typeof File !== 'undefined' ? AjaxUpload : IframeUpload;\n },\n abort(file) {\n this.$refs.uploaderRef.abort(file);\n },\n },\n\n render() {\n const componentProps = {\n props: {\n ...this.$props,\n },\n on: getListeners(this),\n ref: 'uploaderRef',\n attrs: this.$attrs,\n };\n if (this.supportServerRender) {\n const ComponentUploader = this.Component;\n if (ComponentUploader) {\n return <ComponentUploader {...componentProps}>{this.$slots.default}</ComponentUploader>;\n }\n return null;\n }\n const ComponentUploader = this.getComponent();\n return <ComponentUploader {...componentProps}>{this.$slots.default}</ComponentUploader>;\n },\n};\n","// export this package's api\nimport Upload from './Upload';\n\nexport default Upload;\n","// rc-upload 2.9.4\nimport upload from './src';\n\nexport default upload;\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../empty/style';\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../button/style';\n","import '../../style/index.less';\nimport './index.less';\n","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","module.exports = require('./_hide');\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","module.exports = function(arr, obj){\n if (arr.indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n};","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\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 * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var MediaQueryDispatch = require('./MediaQueryDispatch');\nmodule.exports = new MediaQueryDispatch();\n","/**\n * Helper function for iterating over a collection\n *\n * @param collection\n * @param fn\n */\nfunction each(collection, fn) {\n var i = 0,\n length = collection.length,\n cont;\n\n for(i; i < length; i++) {\n cont = fn(collection[i], i);\n if(cont === false) {\n break; //allow early exit\n }\n }\n}\n\n/**\n * Helper function for determining whether target object is an array\n *\n * @param target the object under test\n * @return {Boolean} true if array, false otherwise\n */\nfunction isArray(target) {\n return Object.prototype.toString.apply(target) === '[object Array]';\n}\n\n/**\n * Helper function for determining whether target object is a function\n *\n * @param target the object under test\n * @return {Boolean} true if function, false otherwise\n */\nfunction isFunction(target) {\n return typeof target === 'function';\n}\n\nmodule.exports = {\n isFunction : isFunction,\n isArray : isArray,\n each : each\n};\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","var flatten = require('./flatten'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n}\n\nmodule.exports = flatRest;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\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\nmodule.exports = baseIsEqual;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\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\nmodule.exports = equalArrays;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var isObject = require('./isObject');\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\nmodule.exports = isStrictComparable;\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\nmodule.exports = matchesStrictComparable;\n","var baseHasIn = require('./_baseHasIn'),\n hasPath = require('./_hasPath');\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\nmodule.exports = hasIn;\n","var castPath = require('./_castPath'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isIndex = require('./_isIndex'),\n isLength = require('./isLength'),\n toKey = require('./_toKey');\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\nmodule.exports = hasPath;\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\nmodule.exports = baseProperty;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = baseFindIndex;\n","var assignValue = require('./_assignValue'),\n castPath = require('./_castPath'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nmodule.exports = baseSet;\n","var baseRepeat = require('./_baseRepeat'),\n baseToString = require('./_baseToString'),\n castSlice = require('./_castSlice'),\n hasUnicode = require('./_hasUnicode'),\n stringSize = require('./_stringSize'),\n stringToArray = require('./_stringToArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil;\n\n/**\n * Creates the padding for `string` based on `length`. The `chars` string\n * is truncated if the number of characters exceeds `length`.\n *\n * @private\n * @param {number} length The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padding for `string`.\n */\nfunction createPadding(length, chars) {\n chars = chars === undefined ? ' ' : baseToString(chars);\n\n var charsLength = chars.length;\n if (charsLength < 2) {\n return charsLength ? baseRepeat(chars, length) : chars;\n }\n var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));\n return hasUnicode(chars)\n ? castSlice(stringToArray(result), 0, length).join('')\n : result.slice(0, length);\n}\n\nmodule.exports = createPadding;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\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\nmodule.exports = assignMergeValue;\n","var createBaseFor = require('./_createBaseFor');\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\nmodule.exports = baseFor;\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\nmodule.exports = safeGet;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports['default'] = addEventListener;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _EventObject = require('./EventObject');\n\nvar _EventObject2 = _interopRequireDefault(_EventObject);\n\nfunction addEventListener(target, eventType, callback, option) {\n function wrapCallback(e) {\n var ne = new _EventObject2['default'](e);\n callback.call(target, ne);\n }\n\n if (target.addEventListener) {\n var _ret = (function () {\n var useCapture = false;\n if (typeof option === 'object') {\n useCapture = option.capture || false;\n } else if (typeof option === 'boolean') {\n useCapture = option;\n }\n\n target.addEventListener(eventType, wrapCallback, option || false);\n\n return {\n v: {\n remove: function remove() {\n target.removeEventListener(eventType, wrapCallback, useCapture);\n }\n }\n };\n })();\n\n if (typeof _ret === 'object') return _ret.v;\n } else if (target.attachEvent) {\n target.attachEvent('on' + eventType, wrapCallback);\n return {\n remove: function remove() {\n target.detachEvent('on' + eventType, wrapCallback);\n }\n };\n }\n}\n\nmodule.exports = exports['default'];","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar generate_1 = __importDefault(require(\"./generate\"));\nexports.generate = generate_1.default;\nvar presetPrimaryColors = {\n red: '#F5222D',\n volcano: '#FA541C',\n orange: '#FA8C16',\n gold: '#FAAD14',\n yellow: '#FADB14',\n lime: '#A0D911',\n green: '#52C41A',\n cyan: '#13C2C2',\n blue: '#1890FF',\n geekblue: '#2F54EB',\n purple: '#722ED1',\n magenta: '#EB2F96',\n grey: '#666666',\n};\nexports.presetPrimaryColors = presetPrimaryColors;\nvar presetPalettes = {};\nexports.presetPalettes = presetPalettes;\nObject.keys(presetPrimaryColors).forEach(function (key) {\n presetPalettes[key] = generate_1.default(presetPrimaryColors[key]);\n presetPalettes[key].primary = presetPalettes[key][5];\n});\nvar red = presetPalettes.red;\nexports.red = red;\nvar volcano = presetPalettes.volcano;\nexports.volcano = volcano;\nvar gold = presetPalettes.gold;\nexports.gold = gold;\nvar orange = presetPalettes.orange;\nexports.orange = orange;\nvar yellow = presetPalettes.yellow;\nexports.yellow = yellow;\nvar lime = presetPalettes.lime;\nexports.lime = lime;\nvar green = presetPalettes.green;\nexports.green = green;\nvar cyan = presetPalettes.cyan;\nexports.cyan = cyan;\nvar blue = presetPalettes.blue;\nexports.blue = blue;\nvar geekblue = presetPalettes.geekblue;\nexports.geekblue = geekblue;\nvar purple = presetPalettes.purple;\nexports.purple = purple;\nvar magenta = presetPalettes.magenta;\nexports.magenta = magenta;\nvar grey = presetPalettes.grey;\nexports.grey = grey;\n","'use strict'\r\n\r\nmodule.exports = isMobile\r\nmodule.exports.isMobile = isMobile\r\nmodule.exports.default = isMobile\r\n\r\nvar mobileRE = /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i\r\n\r\nvar tabletRE = /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i\r\n\r\nfunction isMobile (opts) {\r\n if (!opts) opts = {}\r\n var ua = opts.ua\r\n if (!ua && typeof navigator !== 'undefined') ua = navigator.userAgent\r\n if (ua && ua.headers && typeof ua.headers['user-agent'] === 'string') {\r\n ua = ua.headers['user-agent']\r\n }\r\n if (typeof ua !== 'string') return false\r\n\r\n var result = opts.tablet ? tabletRE.test(ua) : mobileRE.test(ua)\r\n\r\n if (\r\n !result &&\r\n opts.tablet &&\r\n opts.featureDetect &&\r\n navigator &&\r\n navigator.maxTouchPoints > 1 &&\r\n ua.indexOf('Macintosh') !== -1 &&\r\n ua.indexOf('Safari') !== -1\r\n ) {\r\n result = true\r\n }\r\n\r\n return result\r\n}\r\n","'use strict';\n\nfunction shallowEqualArrays(arrA, arrB) {\n if (arrA === arrB) {\n return true;\n }\n\n if (!arrA || !arrB) {\n return false;\n }\n\n var len = arrA.length;\n\n if (arrB.length !== len) {\n return false;\n }\n\n for (var i = 0; i < len; i++) {\n if (arrA[i] !== arrB[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqualArrays;\n","var createFind = require('./_createFind'),\n findIndex = require('./findIndex');\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\nmodule.exports = find;\n","var baseHas = require('./_baseHas'),\n hasPath = require('./_hasPath');\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\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 = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\n\nmodule.exports = has;\n","var createPadding = require('./_createPadding'),\n stringSize = require('./_stringSize'),\n toInteger = require('./toInteger'),\n toString = require('./toString');\n\n/**\n * Pads `string` on the right side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padEnd('abc', 6);\n * // => 'abc '\n *\n * _.padEnd('abc', 6, '_-');\n * // => 'abc_-_'\n *\n * _.padEnd('abc', 3);\n * // => 'abc'\n */\nfunction padEnd(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (string + createPadding(length - strLength, chars))\n : string;\n}\n\nmodule.exports = padEnd;\n","var createPadding = require('./_createPadding'),\n stringSize = require('./_stringSize'),\n toInteger = require('./toInteger'),\n toString = require('./toString');\n\n/**\n * Pads `string` on the left side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padStart('abc', 6);\n * // => ' abc'\n *\n * _.padStart('abc', 6, '_-');\n * // => '_-_abc'\n *\n * _.padStart('abc', 3);\n * // => 'abc'\n */\nfunction padStart(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (createPadding(length - strLength, chars) + string)\n : string;\n}\n\nmodule.exports = padStart;\n","/**\n * Module dependencies\n */\n\nvar matches = require('dom-matches');\n\n/**\n * @param element {Element}\n * @param selector {String}\n * @param context {Element}\n * @return {Element}\n */\nmodule.exports = function (element, selector, context) {\n context = context || document;\n // guard against orphans\n element = { parentNode: element };\n\n while ((element = element.parentNode) && element !== context) {\n if (matches(element, selector)) {\n return element;\n }\n }\n};\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","var baseIteratee = require('./_baseIteratee'),\n baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nmodule.exports = uniqBy;\n","var basePick = require('./_basePick'),\n flatRest = require('./_flatRest');\n\n/**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\nvar pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n});\n\nmodule.exports = pick;\n","import BaseMixin from '../_util/BaseMixin';\nimport { getOptionProps, initDefaultProps, getListeners } from '../_util/props-util';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport { previewImage, isImageUrl } from './utils';\nimport Icon from '../icon';\nimport Tooltip from '../tooltip';\nimport Progress from '../progress';\nimport classNames from 'classnames';\nimport { UploadListProps } from './interface';\n\nexport default {\n name: 'AUploadList',\n mixins: [BaseMixin],\n props: initDefaultProps(UploadListProps, {\n listType: 'text', // or picture\n progressAttr: {\n strokeWidth: 2,\n showInfo: false,\n },\n showRemoveIcon: true,\n showDownloadIcon: false,\n showPreviewIcon: true,\n previewFile: previewImage,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n updated() {\n this.$nextTick(() => {\n const { listType, items, previewFile } = this.$props;\n if (listType !== 'picture' && listType !== 'picture-card') {\n return;\n }\n (items || []).forEach(file => {\n if (\n typeof document === 'undefined' ||\n typeof window === 'undefined' ||\n !window.FileReader ||\n !window.File ||\n !(file.originFileObj instanceof File || file.originFileObj instanceof Blob) ||\n file.thumbUrl !== undefined\n ) {\n return;\n }\n /*eslint-disable */\n file.thumbUrl = '';\n if (previewFile) {\n previewFile(file.originFileObj).then(previewDataUrl => {\n // Need append '' to avoid dead loop\n file.thumbUrl = previewDataUrl || '';\n this.$forceUpdate();\n });\n }\n });\n });\n },\n methods: {\n handlePreview(file, e) {\n const { preview } = getListeners(this);\n if (!preview) {\n return;\n }\n e.preventDefault();\n return this.$emit('preview', file);\n },\n handleDownload(file) {\n const { download } = getListeners(this);\n if (typeof download === 'function') {\n download(file);\n } else if (file.url) {\n window.open(file.url);\n }\n },\n\n handleClose(file) {\n this.$emit('remove', file);\n },\n },\n render() {\n const {\n prefixCls: customizePrefixCls,\n items = [],\n listType,\n showPreviewIcon,\n showRemoveIcon,\n showDownloadIcon,\n locale,\n progressAttr,\n } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('upload', customizePrefixCls);\n\n const list = items.map(file => {\n let progress;\n let icon = <Icon type={file.status === 'uploading' ? 'loading' : 'paper-clip'} />;\n\n if (listType === 'picture' || listType === 'picture-card') {\n if (listType === 'picture-card' && file.status === 'uploading') {\n icon = <div class={`${prefixCls}-list-item-uploading-text`}>{locale.uploading}</div>;\n } else if (!file.thumbUrl && !file.url) {\n icon = <Icon class={`${prefixCls}-list-item-thumbnail`} type=\"picture\" theme=\"twoTone\" />;\n } else {\n const thumbnail = isImageUrl(file) ? (\n <img\n src={file.thumbUrl || file.url}\n alt={file.name}\n class={`${prefixCls}-list-item-image`}\n />\n ) : (\n <Icon type=\"file\" class={`${prefixCls}-list-item-icon`} theme=\"twoTone\" />\n );\n icon = (\n <a\n class={`${prefixCls}-list-item-thumbnail`}\n onClick={e => this.handlePreview(file, e)}\n href={file.url || file.thumbUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {thumbnail}\n </a>\n );\n }\n }\n\n if (file.status === 'uploading') {\n const progressProps = {\n props: {\n ...progressAttr,\n type: 'line',\n percent: file.percent,\n },\n };\n // show loading icon if upload progress listener is disabled\n const loadingProgress = 'percent' in file ? <Progress {...progressProps} /> : null;\n\n progress = (\n <div class={`${prefixCls}-list-item-progress`} key=\"progress\">\n {loadingProgress}\n </div>\n );\n }\n const infoUploadingClass = classNames({\n [`${prefixCls}-list-item`]: true,\n [`${prefixCls}-list-item-${file.status}`]: true,\n [`${prefixCls}-list-item-list-type-${listType}`]: true,\n });\n const linkProps =\n typeof file.linkProps === 'string' ? JSON.parse(file.linkProps) : file.linkProps;\n\n const removeIcon = showRemoveIcon ? (\n <Icon type=\"delete\" title={locale.removeFile} onClick={() => this.handleClose(file)} />\n ) : null;\n const downloadIcon =\n showDownloadIcon && file.status === 'done' ? (\n <Icon\n type=\"download\"\n title={locale.downloadFile}\n onClick={() => this.handleDownload(file)}\n />\n ) : null;\n const downloadOrDelete = listType !== 'picture-card' && (\n <span\n key=\"download-delete\"\n class={`${prefixCls}-list-item-card-actions ${listType === 'picture' ? 'picture' : ''}`}\n >\n {downloadIcon && <a title={locale.downloadFile}>{downloadIcon}</a>}\n {removeIcon && <a title={locale.removeFile}>{removeIcon}</a>}\n </span>\n );\n const listItemNameClass = classNames({\n [`${prefixCls}-list-item-name`]: true,\n [`${prefixCls}-list-item-name-icon-count-${\n [downloadIcon, removeIcon].filter(x => x).length\n }`]: true,\n });\n\n const preview = file.url\n ? [\n <a\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class={listItemNameClass}\n title={file.name}\n {...linkProps}\n href={file.url}\n onClick={e => this.handlePreview(file, e)}\n >\n {file.name}\n </a>,\n downloadOrDelete,\n ]\n : [\n <span\n key=\"view\"\n class={`${prefixCls}-list-item-name`}\n onClick={e => this.handlePreview(file, e)}\n title={file.name}\n >\n {file.name}\n </span>,\n downloadOrDelete,\n ];\n const style =\n file.url || file.thumbUrl\n ? undefined\n : {\n pointerEvents: 'none',\n opacity: 0.5,\n };\n const previewIcon = showPreviewIcon ? (\n <a\n href={file.url || file.thumbUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={style}\n onClick={e => this.handlePreview(file, e)}\n title={locale.previewFile}\n >\n <Icon type=\"eye-o\" />\n </a>\n ) : null;\n const actions = listType === 'picture-card' && file.status !== 'uploading' && (\n <span class={`${prefixCls}-list-item-actions`}>\n {previewIcon}\n {file.status === 'done' && downloadIcon}\n {removeIcon}\n </span>\n );\n let message;\n if (file.response && typeof file.response === 'string') {\n message = file.response;\n } else {\n message = (file.error && file.error.statusText) || locale.uploadError;\n }\n const iconAndPreview = (\n <span>\n {icon}\n {preview}\n </span>\n );\n const transitionProps = getTransitionProps('fade');\n const dom = (\n <div class={infoUploadingClass} key={file.uid}>\n <div class={`${prefixCls}-list-item-info`}>{iconAndPreview}</div>\n {actions}\n <transition {...transitionProps}>{progress}</transition>\n </div>\n );\n const listContainerNameClass = classNames({\n [`${prefixCls}-list-picture-card-container`]: listType === 'picture-card',\n });\n return (\n <div key={file.uid} class={listContainerNameClass}>\n {file.status === 'error' ? <Tooltip title={message}>{dom}</Tooltip> : <span>{dom}</span>}\n </div>\n );\n });\n const listClassNames = classNames({\n [`${prefixCls}-list`]: true,\n [`${prefixCls}-list-${listType}`]: true,\n });\n const animationDirection = listType === 'picture-card' ? 'animate-inline' : 'animate';\n const transitionGroupProps = getTransitionProps(`${prefixCls}-${animationDirection}`);\n return (\n <transition-group {...transitionGroupProps} tag=\"div\" class={listClassNames}>\n {list}\n </transition-group>\n );\n },\n};\n","var createAggregator = require('./_createAggregator');\n\n/**\n * Creates an array of elements split into two groups, the first of which\n * contains elements `predicate` returns truthy for, the second of which\n * contains elements `predicate` returns falsey for. The predicate is\n * invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of grouped elements.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true },\n * { 'user': 'pebbles', 'age': 1, 'active': false }\n * ];\n *\n * _.partition(users, function(o) { return o.active; });\n * // => objects for [['fred'], ['barney', 'pebbles']]\n *\n * // The `_.matches` iteratee shorthand.\n * _.partition(users, { 'age': 1, 'active': false });\n * // => objects for [['pebbles'], ['barney', 'fred']]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.partition(users, ['active', false]);\n * // => objects for [['barney', 'pebbles'], ['fred']]\n *\n * // The `_.property` iteratee shorthand.\n * _.partition(users, 'active');\n * // => objects for [['fred'], ['barney', 'pebbles']]\n */\nvar partition = createAggregator(function(result, value, key) {\n result[key ? 0 : 1].push(value);\n}, function() { return [[], []]; });\n\nmodule.exports = partition;\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../button/style';\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../select/style';\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","module.exports = function () { /* empty */ };\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","require('./_wks-define')('asyncIterator');\n","require('./_wks-define')('observable');\n","var Symbol = require('./_Symbol');\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 * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","module.exports = { \"default\": require(\"core-js/library/fn/array/from\"), __esModule: true };","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/is-iterable\"), __esModule: true };","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.is-iterable');\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').isIterable = function (it) {\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n // eslint-disable-next-line no-prototype-builtins\n || Iterators.hasOwnProperty(classof(O));\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/get-iterator\"), __esModule: true };","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.get-iterator');\n","var anObject = require('./_an-object');\nvar get = require('./core.get-iterator-method');\nmodule.exports = require('./_core').getIterator = function (it) {\n var iterFn = get(it);\n if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n","// Generated by CoffeeScript 1.12.2\n(function() {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n module.exports = function() {\n return performance.now();\n };\n } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n module.exports = function() {\n return (getNanoSeconds() - nodeLoadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\n } else if (Date.now) {\n module.exports = function() {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function() {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n\n}).call(this);\n\n//# sourceMappingURL=performance-now.js.map\n","/**\n * @ignore\n * event object for dom\n * @author yiminghe@gmail.com\n */\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _EventBaseObject = require('./EventBaseObject');\n\nvar _EventBaseObject2 = _interopRequireDefault(_EventBaseObject);\n\nvar _objectAssign = require('object-assign');\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar TRUE = true;\nvar FALSE = false;\nvar commonProps = ['altKey', 'bubbles', 'cancelable', 'ctrlKey', 'currentTarget', 'eventPhase', 'metaKey', 'shiftKey', 'target', 'timeStamp', 'view', 'type'];\n\nfunction isNullOrUndefined(w) {\n return w === null || w === undefined;\n}\n\nvar eventNormalizers = [{\n reg: /^key/,\n props: ['char', 'charCode', 'key', 'keyCode', 'which'],\n fix: function fix(event, nativeEvent) {\n if (isNullOrUndefined(event.which)) {\n event.which = !isNullOrUndefined(nativeEvent.charCode) ? nativeEvent.charCode : nativeEvent.keyCode;\n }\n\n // add metaKey to non-Mac browsers (use ctrl for PC 's and Meta for Macs)\n if (event.metaKey === undefined) {\n event.metaKey = event.ctrlKey;\n }\n }\n}, {\n reg: /^touch/,\n props: ['touches', 'changedTouches', 'targetTouches']\n}, {\n reg: /^hashchange$/,\n props: ['newURL', 'oldURL']\n}, {\n reg: /^gesturechange$/i,\n props: ['rotation', 'scale']\n}, {\n reg: /^(mousewheel|DOMMouseScroll)$/,\n props: [],\n fix: function fix(event, nativeEvent) {\n var deltaX = undefined;\n var deltaY = undefined;\n var delta = undefined;\n var wheelDelta = nativeEvent.wheelDelta;\n var axis = nativeEvent.axis;\n var wheelDeltaY = nativeEvent.wheelDeltaY;\n var wheelDeltaX = nativeEvent.wheelDeltaX;\n var detail = nativeEvent.detail;\n\n // ie/webkit\n if (wheelDelta) {\n delta = wheelDelta / 120;\n }\n\n // gecko\n if (detail) {\n // press control e.detail == 1 else e.detail == 3\n delta = 0 - (detail % 3 === 0 ? detail / 3 : detail);\n }\n\n // Gecko\n if (axis !== undefined) {\n if (axis === event.HORIZONTAL_AXIS) {\n deltaY = 0;\n deltaX = 0 - delta;\n } else if (axis === event.VERTICAL_AXIS) {\n deltaX = 0;\n deltaY = delta;\n }\n }\n\n // Webkit\n if (wheelDeltaY !== undefined) {\n deltaY = wheelDeltaY / 120;\n }\n if (wheelDeltaX !== undefined) {\n deltaX = -1 * wheelDeltaX / 120;\n }\n\n // 默认 deltaY (ie)\n if (!deltaX && !deltaY) {\n deltaY = delta;\n }\n\n if (deltaX !== undefined) {\n /**\n * deltaX of mousewheel event\n * @property deltaX\n * @member Event.DomEvent.Object\n */\n event.deltaX = deltaX;\n }\n\n if (deltaY !== undefined) {\n /**\n * deltaY of mousewheel event\n * @property deltaY\n * @member Event.DomEvent.Object\n */\n event.deltaY = deltaY;\n }\n\n if (delta !== undefined) {\n /**\n * delta of mousewheel event\n * @property delta\n * @member Event.DomEvent.Object\n */\n event.delta = delta;\n }\n }\n}, {\n reg: /^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i,\n props: ['buttons', 'clientX', 'clientY', 'button', 'offsetX', 'relatedTarget', 'which', 'fromElement', 'toElement', 'offsetY', 'pageX', 'pageY', 'screenX', 'screenY'],\n fix: function fix(event, nativeEvent) {\n var eventDoc = undefined;\n var doc = undefined;\n var body = undefined;\n var target = event.target;\n var button = nativeEvent.button;\n\n // Calculate pageX/Y if missing and clientX/Y available\n if (target && isNullOrUndefined(event.pageX) && !isNullOrUndefined(nativeEvent.clientX)) {\n eventDoc = target.ownerDocument || document;\n doc = eventDoc.documentElement;\n body = eventDoc.body;\n event.pageX = nativeEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n event.pageY = nativeEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n }\n\n // which for click: 1 === left; 2 === middle; 3 === right\n // do not use button\n if (!event.which && button !== undefined) {\n if (button & 1) {\n event.which = 1;\n } else if (button & 2) {\n event.which = 3;\n } else if (button & 4) {\n event.which = 2;\n } else {\n event.which = 0;\n }\n }\n\n // add relatedTarget, if necessary\n if (!event.relatedTarget && event.fromElement) {\n event.relatedTarget = event.fromElement === target ? event.toElement : event.fromElement;\n }\n\n return event;\n }\n}];\n\nfunction retTrue() {\n return TRUE;\n}\n\nfunction retFalse() {\n return FALSE;\n}\n\nfunction DomEventObject(nativeEvent) {\n var type = nativeEvent.type;\n\n var isNative = typeof nativeEvent.stopPropagation === 'function' || typeof nativeEvent.cancelBubble === 'boolean';\n\n _EventBaseObject2['default'].call(this);\n\n this.nativeEvent = nativeEvent;\n\n // in case dom event has been mark as default prevented by lower dom node\n var isDefaultPrevented = retFalse;\n if ('defaultPrevented' in nativeEvent) {\n isDefaultPrevented = nativeEvent.defaultPrevented ? retTrue : retFalse;\n } else if ('getPreventDefault' in nativeEvent) {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=691151\n isDefaultPrevented = nativeEvent.getPreventDefault() ? retTrue : retFalse;\n } else if ('returnValue' in nativeEvent) {\n isDefaultPrevented = nativeEvent.returnValue === FALSE ? retTrue : retFalse;\n }\n\n this.isDefaultPrevented = isDefaultPrevented;\n\n var fixFns = [];\n var fixFn = undefined;\n var l = undefined;\n var prop = undefined;\n var props = commonProps.concat();\n\n eventNormalizers.forEach(function (normalizer) {\n if (type.match(normalizer.reg)) {\n props = props.concat(normalizer.props);\n if (normalizer.fix) {\n fixFns.push(normalizer.fix);\n }\n }\n });\n\n l = props.length;\n\n // clone properties of the original event object\n while (l) {\n prop = props[--l];\n this[prop] = nativeEvent[prop];\n }\n\n // fix target property, if necessary\n if (!this.target && isNative) {\n this.target = nativeEvent.srcElement || document; // srcElement might not be defined either\n }\n\n // check if target is a text node (safari)\n if (this.target && this.target.nodeType === 3) {\n this.target = this.target.parentNode;\n }\n\n l = fixFns.length;\n\n while (l) {\n fixFn = fixFns[--l];\n fixFn(this, nativeEvent);\n }\n\n this.timeStamp = nativeEvent.timeStamp || Date.now();\n}\n\nvar EventBaseObjectProto = _EventBaseObject2['default'].prototype;\n\n(0, _objectAssign2['default'])(DomEventObject.prototype, EventBaseObjectProto, {\n constructor: DomEventObject,\n\n preventDefault: function preventDefault() {\n var e = this.nativeEvent;\n\n // if preventDefault exists run it on the original event\n if (e.preventDefault) {\n e.preventDefault();\n } else {\n // otherwise set the returnValue property of the original event to FALSE (IE)\n e.returnValue = FALSE;\n }\n\n EventBaseObjectProto.preventDefault.call(this);\n },\n\n stopPropagation: function stopPropagation() {\n var e = this.nativeEvent;\n\n // if stopPropagation exists run it on the original event\n if (e.stopPropagation) {\n e.stopPropagation();\n } else {\n // otherwise set the cancelBubble property of the original event to TRUE (IE)\n e.cancelBubble = TRUE;\n }\n\n EventBaseObjectProto.stopPropagation.call(this);\n }\n});\n\nexports['default'] = DomEventObject;\nmodule.exports = exports['default'];","/**\n * @ignore\n * base event object for custom and dom event.\n * @author yiminghe@gmail.com\n */\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction returnFalse() {\n return false;\n}\n\nfunction returnTrue() {\n return true;\n}\n\nfunction EventBaseObject() {\n this.timeStamp = Date.now();\n this.target = undefined;\n this.currentTarget = undefined;\n}\n\nEventBaseObject.prototype = {\n isEventObject: 1,\n\n constructor: EventBaseObject,\n\n isDefaultPrevented: returnFalse,\n\n isPropagationStopped: returnFalse,\n\n isImmediatePropagationStopped: returnFalse,\n\n preventDefault: function preventDefault() {\n this.isDefaultPrevented = returnTrue;\n },\n\n stopPropagation: function stopPropagation() {\n this.isPropagationStopped = returnTrue;\n },\n\n stopImmediatePropagation: function stopImmediatePropagation() {\n this.isImmediatePropagationStopped = returnTrue;\n // fixed 1.2\n // call stopPropagation implicitly\n this.stopPropagation();\n },\n\n halt: function halt(immediate) {\n if (immediate) {\n this.stopImmediatePropagation();\n } else {\n this.stopPropagation();\n }\n this.preventDefault();\n }\n};\n\nexports[\"default\"] = EventBaseObject;\nmodule.exports = exports[\"default\"];","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tinycolor2_1 = __importDefault(require(\"tinycolor2\"));\nvar hueStep = 2; // 色相阶梯\nvar saturationStep = 16; // 饱和度阶梯,浅色部分\nvar saturationStep2 = 5; // 饱和度阶梯,深色部分\nvar brightnessStep1 = 5; // 亮度阶梯,浅色部分\nvar brightnessStep2 = 15; // 亮度阶梯,深色部分\nvar lightColorCount = 5; // 浅色数量,主色上\nvar darkColorCount = 4; // 深色数量,主色下\nfunction getHue(hsv, i, light) {\n var hue;\n // 根据色相不同,色相转向不同\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n }\n else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n if (hue < 0) {\n hue += 360;\n }\n else if (hue >= 360) {\n hue -= 360;\n }\n return hue;\n}\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n var saturation;\n if (light) {\n saturation = Math.round(hsv.s * 100) - saturationStep * i;\n }\n else if (i === darkColorCount) {\n saturation = Math.round(hsv.s * 100) + saturationStep;\n }\n else {\n saturation = Math.round(hsv.s * 100) + saturationStep2 * i;\n }\n // 边界值修正\n if (saturation > 100) {\n saturation = 100;\n }\n // 第一格的 s 限制在 6-10 之间\n if (light && i === lightColorCount && saturation > 10) {\n saturation = 10;\n }\n if (saturation < 6) {\n saturation = 6;\n }\n return saturation;\n}\nfunction getValue(hsv, i, light) {\n if (light) {\n return Math.round(hsv.v * 100) + brightnessStep1 * i;\n }\n return Math.round(hsv.v * 100) - brightnessStep2 * i;\n}\nfunction generate(color) {\n var patterns = [];\n var pColor = tinycolor2_1.default(color);\n for (var i = lightColorCount; i > 0; i -= 1) {\n var hsv = pColor.toHsv();\n var colorString = tinycolor2_1.default({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true),\n }).toHexString();\n patterns.push(colorString);\n }\n patterns.push(pColor.toHexString());\n for (var i = 1; i <= darkColorCount; i += 1) {\n var hsv = pColor.toHsv();\n var colorString = tinycolor2_1.default({\n h: getHue(hsv, i),\n s: getSaturation(hsv, i),\n v: getValue(hsv, i),\n }).toHexString();\n patterns.push(colorString);\n }\n return patterns;\n}\nexports.default = generate;\n","// TinyColor v1.4.2\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\n(function(Math) {\n\nvar trimLeft = /^\\s+/,\n trimRight = /\\s+$/,\n tinyCounter = 0,\n mathRound = Math.round,\n mathMin = Math.min,\n mathMax = Math.max,\n mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n color = (color) ? color : '';\n opts = opts || { };\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n\n var rgb = inputToRGB(color);\n this._originalInput = color,\n this._r = rgb.r,\n this._g = rgb.g,\n this._b = rgb.b,\n this._a = rgb.a,\n this._roundA = mathRound(100*this._a) / 100,\n this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) { this._r = mathRound(this._r); }\n if (this._g < 1) { this._g = mathRound(this._g); }\n if (this._b < 1) { this._b = mathRound(this._b); }\n\n this._ok = rgb.ok;\n this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n getBrightness: function() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r/255;\n GsRGB = rgb.g/255;\n BsRGB = rgb.b/255;\n\n if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n },\n setAlpha: function(value) {\n this._a = boundAlpha(value);\n this._roundA = mathRound(100*this._a) / 100;\n return this;\n },\n toHsv: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n },\n toHsvString: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n return (this._a == 1) ?\n \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" :\n \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n },\n toHsl: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n },\n toHslString: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n return (this._a == 1) ?\n \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" :\n \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n },\n toHex: function(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function(allow3Char) {\n return '#' + this.toHex(allow3Char);\n },\n toHex8: function(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function(allow4Char) {\n return '#' + this.toHex8(allow4Char);\n },\n toRgb: function() {\n return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n },\n toRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n },\n toPercentageRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n if (this._a === 0) {\n return \"transparent\";\n }\n\n if (this._a < 1) {\n return false;\n }\n\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function(secondColor) {\n var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n\n return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n },\n toString: function(format) {\n var formatSet = !!format;\n format = format || this._format;\n\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// <http://www.w3.org/TR/css3-color/>\n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>\n\nfunction desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>\n\nfunction complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\n\nfunction triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n}\n\nfunction analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\n\nfunction monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\n var rgba = {\n r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n };\n\n return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)\n\n// `contrast`\n// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)\ntinycolor.readability = function(color1, color2) {\n var c1 = tinycolor(color1);\n var c2 = tinycolor(color2);\n return (Math.max(c1.getLuminance(),c2.getLuminance())+0.05) / (Math.min(c1.getLuminance(),c2.getLuminance())+0.05);\n};\n\n// `isReadable`\n// Ensure that foreground and background color combinations meet WCAG2 guidelines.\n// The third argument is an optional Object.\n// the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';\n// the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.\n// If the entire object is absent, isReadable defaults to {level:\"AA\",size:\"small\"}.\n\n// *Example*\n// tinycolor.isReadable(\"#000\", \"#111\") => false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n};\n\n\n// Big List of Colors\n// ------------------\n// <http://www.w3.org/TR/css3-color/#svg-color>\nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n // <http://www.w3.org/TR/css3-values/#integers>\n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // <http://www.w3.org/TR/css3-values/#number-value>\n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color == 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex6.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if ((match = matchers.hex4.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n a: convertHexToDecimal(match[4] + '' + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex3.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n\n return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (typeof define === 'function' && define.amd) {\n define(function () {return tinycolor;});\n}\n// Browser: Expose to window\nelse {\n window.tinycolor = tinycolor;\n}\n\n})(Math);\n","// mutationobserver-shim v0.3.3 (github.com/megawac/MutationObserver.js)\n// Authors: Graeme Yeates (github.com/megawac) \n/*\n Shim for MutationObserver interface\n Author: Graeme Yeates (github.com/megawac)\n Repository: https://github.com/megawac/MutationObserver.js\n License: WTFPL V2, 2004 (wtfpl.net).\n Though credit and staring the repo will make me feel pretty, you can modify and redistribute as you please.\n Attempts to follow spec (https://www.w3.org/TR/dom/#mutation-observers) as closely as possible for native javascript\n See https://github.com/WebKit/webkit/blob/master/Source/WebCore/dom/MutationObserver.cpp for current webkit source c++ implementation\n*/\nwindow.MutationObserver||(window.MutationObserver=function(y){function z(a){this.i=[];this.m=a}function K(a){(function c(){var d=a.takeRecords();d.length&&a.m(d,a);a.h=setTimeout(c,z._period)})()}function r(a){var b={type:null,target:null,addedNodes:[],removedNodes:[],previousSibling:null,nextSibling:null,attributeName:null,attributeNamespace:null,oldValue:null},c;for(c in a)b[c]!==y&&a[c]!==y&&(b[c]=a[c]);return b}function L(a,b){var c=E(a,b);return function(d){var f=d.length;b.a&&3===a.nodeType&&\na.nodeValue!==c.a&&d.push(new r({type:\"characterData\",target:a,oldValue:c.a}));b.b&&c.b&&C(d,a,c.b,b.f);if(b.c||b.g)var m=M(d,a,c,b);if(m||d.length!==f)c=E(a,b)}}function N(a,b){return b.value}function O(a,b){return\"style\"!==b.name?b.value:a.style.cssText}function C(a,b,c,d){for(var f={},m=b.attributes,k,g,p=m.length;p--;)k=m[p],g=k.name,d&&d[g]===y||(F(b,k)!==c[g]&&a.push(r({type:\"attributes\",target:b,attributeName:g,oldValue:c[g],attributeNamespace:k.namespaceURI})),f[g]=!0);for(g in c)f[g]||a.push(r({target:b,\ntype:\"attributes\",attributeName:g,oldValue:c[g]}))}function M(a,b,c,d){function f(g,p,t,q,x){var A=g.length-1;x=-~((A-x)/2);for(var h,l,e;e=g.pop();)h=t[e.j],l=q[e.l],d.c&&x&&Math.abs(e.j-e.l)>=A&&(a.push(r({type:\"childList\",target:p,addedNodes:[h],removedNodes:[h],nextSibling:h.nextSibling,previousSibling:h.previousSibling})),x--),d.b&&l.b&&C(a,h,l.b,d.f),d.a&&3===h.nodeType&&h.nodeValue!==l.a&&a.push(r({type:\"characterData\",target:h,oldValue:l.a})),d.g&&m(h,l)}function m(g,p){for(var t=g.childNodes,\nq=p.c,x=t.length,A=q?q.length:0,h,l,e,n,v,B=0,w=0,u=0;w<x||u<A;)n=t[w],v=(e=q[u])&&e.node,n===v?(d.b&&e.b&&C(a,n,e.b,d.f),d.a&&e.a!==y&&n.nodeValue!==e.a&&a.push(r({type:\"characterData\",target:n,oldValue:e.a})),l&&f(l,g,t,q,B),d.g&&(n.childNodes.length||e.c&&e.c.length)&&m(n,e),w++,u++):(k=!0,h||(h={},l=[]),n&&(h[e=G(n)]||(h[e]=!0,-1===(e=H(q,n,u,\"node\"))?d.c&&(a.push(r({type:\"childList\",target:g,addedNodes:[n],nextSibling:n.nextSibling,previousSibling:n.previousSibling})),B++):l.push({j:w,l:e})),\nw++),v&&v!==t[w]&&(h[e=G(v)]||(h[e]=!0,-1===(e=H(t,v,w))?d.c&&(a.push(r({type:\"childList\",target:p.node,removedNodes:[v],nextSibling:q[u+1],previousSibling:q[u-1]})),B--):l.push({j:e,l:u})),u++));l&&f(l,g,t,q,B)}var k;m(b,c);return k}function E(a,b){var c=!0;return function m(f){var k={node:f};!b.a||3!==f.nodeType&&8!==f.nodeType?(b.b&&c&&1===f.nodeType&&(k.b=I(f.attributes,function(g,p){if(!b.f||b.f[p.name])g[p.name]=F(f,p);return g},{})),c&&(b.c||b.a||b.b&&b.g)&&(k.c=P(f.childNodes,m)),c=b.g):k.a=\nf.nodeValue;return k}(a)}function G(a){try{return a.id||(a.mo_id=a.mo_id||J++)}catch(b){try{return a.nodeValue}catch(c){return J++}}}function P(a,b){for(var c=[],d=0;d<a.length;d++)c[d]=b(a[d],d,a);return c}function I(a,b,c){for(var d=0;d<a.length;d++)c=b(c,a[d],d,a);return c}function H(a,b,c,d){for(;c<a.length;c++)if((d?a[c][d]:a[c])===b)return c;return-1}z._period=30;z.prototype={observe:function(a,b){for(var c={b:!!(b.attributes||b.attributeFilter||b.attributeOldValue),c:!!b.childList,g:!!b.subtree,\na:!(!b.characterData&&!b.characterDataOldValue)},d=this.i,f=0;f<d.length;f++)d[f].s===a&&d.splice(f,1);b.attributeFilter&&(c.f=I(b.attributeFilter,function(m,k){m[k]=!0;return m},{}));d.push({s:a,o:L(a,c)});this.h||K(this)},takeRecords:function(){for(var a=[],b=this.i,c=0;c<b.length;c++)b[c].o(a);return a},disconnect:function(){this.i=[];clearTimeout(this.h);this.h=null}};var D=document.createElement(\"i\");D.style.top=0;var F=(D=\"null\"!=D.attributes.style.value)?N:O,J=1;return z}(void 0));\n//# sourceMappingURL=mutationobserver.map\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/**\n * Gets the value at `key` of `object`.\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 getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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 * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\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 * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\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 * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\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 * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\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 * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\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 float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var Symbol = require('./_Symbol');\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 * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var MediaQuery = require('./MediaQuery');\nvar Util = require('./Util');\nvar each = Util.each;\nvar isFunction = Util.isFunction;\nvar isArray = Util.isArray;\n\n/**\n * Allows for registration of query handlers.\n * Manages the query handler's state and is responsible for wiring up browser events\n *\n * @constructor\n */\nfunction MediaQueryDispatch () {\n if(!window.matchMedia) {\n throw new Error('matchMedia not present, legacy browsers require a polyfill');\n }\n\n this.queries = {};\n this.browserIsIncapable = !window.matchMedia('only all').matches;\n}\n\nMediaQueryDispatch.prototype = {\n\n constructor : MediaQueryDispatch,\n\n /**\n * Registers a handler for the given media query\n *\n * @param {string} q the media query\n * @param {object || Array || Function} options either a single query handler object, a function, or an array of query handlers\n * @param {function} options.match fired when query matched\n * @param {function} [options.unmatch] fired when a query is no longer matched\n * @param {function} [options.setup] fired when handler first triggered\n * @param {boolean} [options.deferSetup=false] whether setup should be run immediately or deferred until query is first matched\n * @param {boolean} [shouldDegrade=false] whether this particular media query should always run on incapable browsers\n */\n register : function(q, options, shouldDegrade) {\n var queries = this.queries,\n isUnconditional = shouldDegrade && this.browserIsIncapable;\n\n if(!queries[q]) {\n queries[q] = new MediaQuery(q, isUnconditional);\n }\n\n //normalise to object in an array\n if(isFunction(options)) {\n options = { match : options };\n }\n if(!isArray(options)) {\n options = [options];\n }\n each(options, function(handler) {\n if (isFunction(handler)) {\n handler = { match : handler };\n }\n queries[q].addHandler(handler);\n });\n\n return this;\n },\n\n /**\n * unregisters a query and all it's handlers, or a specific handler for a query\n *\n * @param {string} q the media query to target\n * @param {object || function} [handler] specific handler to unregister\n */\n unregister : function(q, handler) {\n var query = this.queries[q];\n\n if(query) {\n if(handler) {\n query.removeHandler(handler);\n }\n else {\n query.clear();\n delete this.queries[q];\n }\n }\n\n return this;\n }\n};\n\nmodule.exports = MediaQueryDispatch;\n","var QueryHandler = require('./QueryHandler');\nvar each = require('./Util').each;\n\n/**\n * Represents a single media query, manages it's state and registered handlers for this query\n *\n * @constructor\n * @param {string} query the media query string\n * @param {boolean} [isUnconditional=false] whether the media query should run regardless of whether the conditions are met. Primarily for helping older browsers deal with mobile-first design\n */\nfunction MediaQuery(query, isUnconditional) {\n this.query = query;\n this.isUnconditional = isUnconditional;\n this.handlers = [];\n this.mql = window.matchMedia(query);\n\n var self = this;\n this.listener = function(mql) {\n // Chrome passes an MediaQueryListEvent object, while other browsers pass MediaQueryList directly\n self.mql = mql.currentTarget || mql;\n self.assess();\n };\n this.mql.addListener(this.listener);\n}\n\nMediaQuery.prototype = {\n\n constuctor : MediaQuery,\n\n /**\n * add a handler for this query, triggering if already active\n *\n * @param {object} handler\n * @param {function} handler.match callback for when query is activated\n * @param {function} [handler.unmatch] callback for when query is deactivated\n * @param {function} [handler.setup] callback for immediate execution when a query handler is registered\n * @param {boolean} [handler.deferSetup=false] should the setup callback be deferred until the first time the handler is matched?\n */\n addHandler : function(handler) {\n var qh = new QueryHandler(handler);\n this.handlers.push(qh);\n\n this.matches() && qh.on();\n },\n\n /**\n * removes the given handler from the collection, and calls it's destroy methods\n *\n * @param {object || function} handler the handler to remove\n */\n removeHandler : function(handler) {\n var handlers = this.handlers;\n each(handlers, function(h, i) {\n if(h.equals(handler)) {\n h.destroy();\n return !handlers.splice(i,1); //remove from array and exit each early\n }\n });\n },\n\n /**\n * Determine whether the media query should be considered a match\n *\n * @return {Boolean} true if media query can be considered a match, false otherwise\n */\n matches : function() {\n return this.mql.matches || this.isUnconditional;\n },\n\n /**\n * Clears all handlers and unbinds events\n */\n clear : function() {\n each(this.handlers, function(handler) {\n handler.destroy();\n });\n this.mql.removeListener(this.listener);\n this.handlers.length = 0; //clear array\n },\n\n /*\n * Assesses the query, turning on all handlers if it matches, turning them off if it doesn't match\n */\n assess : function() {\n var action = this.matches() ? 'on' : 'off';\n\n each(this.handlers, function(handler) {\n handler[action]();\n });\n }\n};\n\nmodule.exports = MediaQuery;\n","/**\n * Delegate to handle a media query being matched and unmatched.\n *\n * @param {object} options\n * @param {function} options.match callback for when the media query is matched\n * @param {function} [options.unmatch] callback for when the media query is unmatched\n * @param {function} [options.setup] one-time callback triggered the first time a query is matched\n * @param {boolean} [options.deferSetup=false] should the setup callback be run immediately, rather than first time query is matched?\n * @constructor\n */\nfunction QueryHandler(options) {\n this.options = options;\n !options.deferSetup && this.setup();\n}\n\nQueryHandler.prototype = {\n\n constructor : QueryHandler,\n\n /**\n * coordinates setup of the handler\n *\n * @function\n */\n setup : function() {\n if(this.options.setup) {\n this.options.setup();\n }\n this.initialised = true;\n },\n\n /**\n * coordinates setup and triggering of the handler\n *\n * @function\n */\n on : function() {\n !this.initialised && this.setup();\n this.options.match && this.options.match();\n },\n\n /**\n * coordinates the unmatch event for the handler\n *\n * @function\n */\n off : function() {\n this.options.unmatch && this.options.unmatch();\n },\n\n /**\n * called when a handler is to be destroyed.\n * delegates to the destroy or unmatch callbacks, depending on availability.\n *\n * @function\n */\n destroy : function() {\n this.options.destroy ? this.options.destroy() : this.off();\n },\n\n /**\n * determines equality by reference.\n * if object is supplied compare options, if function, compare match callback\n *\n * @function\n * @param {object || function} [target] the target for comparison\n */\n equals : function(target) {\n return this.options === target || this.options.match === target;\n }\n\n};\n\nmodule.exports = QueryHandler;\n","var camel2hyphen = function (str) {\n return str\n .replace(/[A-Z]/g, function (match) {\n return '-' + match.toLowerCase();\n })\n .toLowerCase();\n};\n\nmodule.exports = camel2hyphen;","var castPath = require('./_castPath'),\n last = require('./last'),\n parent = require('./_parent'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\nfunction baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n}\n\nmodule.exports = baseUnset;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var baseGet = require('./_baseGet'),\n baseSlice = require('./_baseSlice');\n\n/**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\nfunction parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n}\n\nmodule.exports = parent;\n","var isPlainObject = require('./isPlainObject');\n\n/**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\nfunction customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n}\n\nmodule.exports = customOmitClone;\n","var baseFlatten = require('./_baseFlatten');\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n}\n\nmodule.exports = flatten;\n","var arrayPush = require('./_arrayPush'),\n isFlattenable = require('./_isFlattenable');\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nmodule.exports = baseFlatten;\n","var Symbol = require('./_Symbol'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray');\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nmodule.exports = isFlattenable;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar regexpTag = '[object RegExp]';\n\n/**\n * The base implementation of `_.isRegExp` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n */\nfunction baseIsRegExp(value) {\n return isObjectLike(value) && baseGetTag(value) == regexpTag;\n}\n\nmodule.exports = baseIsRegExp;\n","var baseIteratee = require('./_baseIteratee'),\n isArrayLike = require('./isArrayLike'),\n keys = require('./keys');\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\nmodule.exports = createFind;\n","var baseIsMatch = require('./_baseIsMatch'),\n getMatchData = require('./_getMatchData'),\n matchesStrictComparable = require('./_matchesStrictComparable');\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\nmodule.exports = baseMatches;\n","var Stack = require('./_Stack'),\n baseIsEqual = require('./_baseIsEqual');\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\nmodule.exports = baseIsMatch;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\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\nmodule.exports = baseIsEqualDeep;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\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\nmodule.exports = arraySome;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\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\nmodule.exports = equalByTag;\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\nmodule.exports = mapToArray;\n","var getAllKeys = require('./_getAllKeys');\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\nmodule.exports = equalObjects;\n","var isStrictComparable = require('./_isStrictComparable'),\n keys = require('./keys');\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\nmodule.exports = getMatchData;\n","var baseIsEqual = require('./_baseIsEqual'),\n get = require('./get'),\n hasIn = require('./hasIn'),\n isKey = require('./_isKey'),\n isStrictComparable = require('./_isStrictComparable'),\n matchesStrictComparable = require('./_matchesStrictComparable'),\n toKey = require('./_toKey');\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\nmodule.exports = baseMatchesProperty;\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\nmodule.exports = baseHasIn;\n","var baseProperty = require('./_baseProperty'),\n basePropertyDeep = require('./_basePropertyDeep'),\n isKey = require('./_isKey'),\n toKey = require('./_toKey');\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\nmodule.exports = property;\n","var baseGet = require('./_baseGet');\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\nmodule.exports = basePropertyDeep;\n","var toNumber = require('./toNumber');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\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 * The base implementation of `_.has` 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 baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\nmodule.exports = baseHas;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeFloor = Math.floor;\n\n/**\n * The base implementation of `_.repeat` which doesn't coerce arguments.\n *\n * @private\n * @param {string} string The string to repeat.\n * @param {number} n The number of times to repeat the string.\n * @returns {string} Returns the repeated string.\n */\nfunction baseRepeat(string, n) {\n var result = '';\n if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\n return result;\n }\n // Leverage the exponentiation by squaring algorithm for a faster repeat.\n // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\n do {\n if (n % 2) {\n result += string;\n }\n n = nativeFloor(n / 2);\n if (n) {\n string += string;\n }\n } while (n);\n\n return result;\n}\n\nmodule.exports = baseRepeat;\n","var baseSlice = require('./_baseSlice');\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nmodule.exports = castSlice;\n","var baseProperty = require('./_baseProperty');\n\n/**\n * Gets the size of an ASCII `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\nvar asciiSize = baseProperty('length');\n\nmodule.exports = asciiSize;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Gets the size of a Unicode `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\nfunction unicodeSize(string) {\n var result = reUnicode.lastIndex = 0;\n while (reUnicode.test(string)) {\n ++result;\n }\n return result;\n}\n\nmodule.exports = unicodeSize;\n","var asciiToArray = require('./_asciiToArray'),\n hasUnicode = require('./_hasUnicode'),\n unicodeToArray = require('./_unicodeToArray');\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nmodule.exports = stringToArray;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nmodule.exports = asciiToArray;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nmodule.exports = unicodeToArray;\n","'use strict';\n\n/**\n * Determine if a DOM element matches a CSS selector\n *\n * @param {Element} elem\n * @param {String} selector\n * @return {Boolean}\n * @api public\n */\n\nfunction matches(elem, selector) {\n // Vendor-specific implementations of `Element.prototype.matches()`.\n var proto = window.Element.prototype;\n var nativeMatches = proto.matches ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n\n if (!elem || elem.nodeType !== 1) {\n return false;\n }\n\n var parentElem = elem.parentNode;\n\n // use native 'matches'\n if (nativeMatches) {\n return nativeMatches.call(elem, selector);\n }\n\n // native support for `matches` is missing and a fallback is required\n var nodes = parentElem.querySelectorAll(selector);\n var len = nodes.length;\n\n for (var i = 0; i < len; i++) {\n if (nodes[i] === elem) {\n return true;\n }\n }\n\n return false;\n}\n\n/**\n * Expose `matches`\n */\n\nmodule.exports = matches;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\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\nmodule.exports = baseMerge;\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\nmodule.exports = createBaseFor;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\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\nmodule.exports = baseMergeDeep;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\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\nmodule.exports = toPlainObject;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\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\nmodule.exports = createAssigner;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\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\nmodule.exports = isIterateeCall;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n cacheHas = require('./_cacheHas'),\n createSet = require('./_createSet'),\n setToArray = require('./_setToArray');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array 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 duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseUniq;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nmodule.exports = arrayIncludes;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIsNaN = require('./_baseIsNaN'),\n strictIndexOf = require('./_strictIndexOf');\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nmodule.exports = baseIndexOf;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nmodule.exports = baseIsNaN;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nmodule.exports = strictIndexOf;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arrayIncludesWith;\n","var Set = require('./_Set'),\n noop = require('./noop'),\n setToArray = require('./_setToArray');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nmodule.exports = createSet;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nmodule.exports = noop;\n","var basePickBy = require('./_basePickBy'),\n hasIn = require('./hasIn');\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n}\n\nmodule.exports = basePick;\n","var baseGet = require('./_baseGet'),\n baseSet = require('./_baseSet'),\n castPath = require('./_castPath');\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n}\n\nmodule.exports = basePickBy;\n","var arrayAggregator = require('./_arrayAggregator'),\n baseAggregator = require('./_baseAggregator'),\n baseIteratee = require('./_baseIteratee'),\n isArray = require('./isArray');\n\n/**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\nfunction createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, baseIteratee(iteratee, 2), accumulator);\n };\n}\n\nmodule.exports = createAggregator;\n","/**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n}\n\nmodule.exports = arrayAggregator;\n","var baseEach = require('./_baseEach');\n\n/**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n}\n\nmodule.exports = baseAggregator;\n","var baseForOwn = require('./_baseForOwn'),\n createBaseEach = require('./_createBaseEach');\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nmodule.exports = baseEach;\n","var baseFor = require('./_baseFor'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nmodule.exports = baseForOwn;\n","var isArrayLike = require('./isArrayLike');\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nmodule.exports = createBaseEach;\n","// based on rc-resize-observer 0.1.3\nimport ResizeObserver from 'resize-observer-polyfill';\n\n// Still need to be compatible with React 15, we use class component here\nconst VueResizeObserver = {\n name: 'ResizeObserver',\n props: {\n disabled: Boolean,\n },\n data() {\n this.currentElement = null;\n this.resizeObserver = null;\n return {\n width: 0,\n height: 0,\n };\n },\n\n mounted() {\n this.onComponentUpdated();\n },\n\n updated() {\n this.onComponentUpdated();\n },\n beforeDestroy() {\n this.destroyObserver();\n },\n methods: {\n onComponentUpdated() {\n const { disabled } = this.$props;\n\n // Unregister if disabled\n if (disabled) {\n this.destroyObserver();\n return;\n }\n\n // Unregister if element changed\n const element = this.$el;\n const elementChanged = element !== this.currentElement;\n if (elementChanged) {\n this.destroyObserver();\n this.currentElement = element;\n }\n\n if (!this.resizeObserver && element) {\n this.resizeObserver = new ResizeObserver(this.onResize);\n this.resizeObserver.observe(element);\n }\n },\n\n onResize(entries) {\n const { target } = entries[0];\n const { width, height } = target.getBoundingClientRect();\n /**\n * Resize observer trigger when content size changed.\n * In most case we just care about element size,\n * let's use `boundary` instead of `contentRect` here to avoid shaking.\n */\n const fixedWidth = Math.floor(width);\n const fixedHeight = Math.floor(height);\n\n if (this.width !== fixedWidth || this.height !== fixedHeight) {\n const size = { width: fixedWidth, height: fixedHeight };\n this.width = fixedWidth;\n this.height = fixedHeight;\n this.$emit('resize', size);\n }\n },\n\n destroyObserver() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n },\n },\n\n render() {\n return this.$slots.default[0];\n },\n};\n\nexport default VueResizeObserver;\n","import raf from 'raf';\n\nexport default function throttleByAnimationFrame(fn) {\n let requestId;\n\n const later = args => () => {\n requestId = null;\n fn(...args);\n };\n\n const throttled = (...args) => {\n if (requestId == null) {\n requestId = raf(later(args));\n }\n };\n\n throttled.cancel = () => raf.cancel(requestId);\n\n return throttled;\n}\n\nexport function throttleByAnimationFrameDecorator() {\n return function(target, key, descriptor) {\n const fn = descriptor.value;\n let definingProperty = false;\n return {\n configurable: true,\n get() {\n if (definingProperty || this === target.prototype || this.hasOwnProperty(key)) {\n return fn;\n }\n\n const boundFn = throttleByAnimationFrame(fn.bind(this));\n definingProperty = true;\n Object.defineProperty(this, key, {\n value: boundFn,\n configurable: true,\n writable: true,\n });\n definingProperty = false;\n return boundFn;\n },\n };\n };\n}\n","import addEventListener from '../vc-util/Dom/addEventListener';\n\nexport function getTargetRect(target) {\n return target !== window\n ? target.getBoundingClientRect()\n : { top: 0, bottom: window.innerHeight };\n}\n\nexport function getFixedTop(placeholderReact, targetRect, offsetTop) {\n if (offsetTop !== undefined && targetRect.top > placeholderReact.top - offsetTop) {\n return offsetTop + targetRect.top + 'px';\n }\n return undefined;\n}\n\nexport function getFixedBottom(placeholderReact, targetRect, offsetBottom) {\n if (offsetBottom !== undefined && targetRect.bottom < placeholderReact.bottom + offsetBottom) {\n const targetBottomOffset = window.innerHeight - targetRect.bottom;\n return offsetBottom + targetBottomOffset + 'px';\n }\n return undefined;\n}\n\n// ======================== Observer ========================\nconst TRIGGER_EVENTS = [\n 'resize',\n 'scroll',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'pageshow',\n 'load',\n];\n\nlet observerEntities = [];\n\nexport function getObserverEntities() {\n // Only used in test env. Can be removed if refactor.\n return observerEntities;\n}\n\nexport function addObserveTarget(target, affix) {\n if (!target) return;\n\n let entity = observerEntities.find(item => item.target === target);\n\n if (entity) {\n entity.affixList.push(affix);\n } else {\n entity = {\n target,\n affixList: [affix],\n eventHandlers: {},\n };\n observerEntities.push(entity);\n\n // Add listener\n TRIGGER_EVENTS.forEach(eventName => {\n entity.eventHandlers[eventName] = addEventListener(target, eventName, () => {\n entity.affixList.forEach(targetAffix => {\n targetAffix.lazyUpdatePosition();\n });\n });\n });\n }\n}\n\nexport function removeObserveTarget(affix) {\n const observerEntity = observerEntities.find(oriObserverEntity => {\n const hasAffix = oriObserverEntity.affixList.some(item => item === affix);\n if (hasAffix) {\n oriObserverEntity.affixList = oriObserverEntity.affixList.filter(item => item !== affix);\n }\n return hasAffix;\n });\n\n if (observerEntity && observerEntity.affixList.length === 0) {\n observerEntities = observerEntities.filter(item => item !== observerEntity);\n\n // Remove listener\n TRIGGER_EVENTS.forEach(eventName => {\n const handler = observerEntity.eventHandlers[eventName];\n if (handler && handler.remove) {\n handler.remove();\n }\n });\n }\n}\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport ResizeObserver from '../vc-resize-observer';\nimport BaseMixin from '../_util/BaseMixin';\nimport throttleByAnimationFrame from '../_util/throttleByAnimationFrame';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\nimport warning from '../_util/warning';\nimport {\n addObserveTarget,\n removeObserveTarget,\n getTargetRect,\n getFixedTop,\n getFixedBottom,\n} from './utils';\n\nfunction getDefaultTarget() {\n return typeof window !== 'undefined' ? window : null;\n}\n\n// Affix\nconst AffixProps = {\n /**\n * 距离窗口顶部达到指定偏移量后触发\n */\n offsetTop: PropTypes.number,\n offset: PropTypes.number,\n /** 距离窗口底部达到指定偏移量后触发 */\n offsetBottom: PropTypes.number,\n /** 固定状态改变时触发的回调函数 */\n // onChange?: (affixed?: boolean) => void;\n /** 设置 Affix 需要监听其滚动事件的元素,值为一个返回对应 DOM 元素的函数 */\n target: PropTypes.func.def(getDefaultTarget),\n prefixCls: PropTypes.string,\n};\nconst AffixStatus = {\n None: 'none',\n Prepare: 'Prepare',\n};\nconst Affix = {\n name: 'AAffix',\n props: AffixProps,\n mixins: [BaseMixin],\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n affixStyle: undefined,\n placeholderStyle: undefined,\n status: AffixStatus.None,\n lastAffix: false,\n prevTarget: null,\n };\n },\n beforeMount() {\n this.updatePosition = throttleByAnimationFrame(this.updatePosition);\n this.lazyUpdatePosition = throttleByAnimationFrame(this.lazyUpdatePosition);\n },\n mounted() {\n const { target } = this;\n if (target) {\n // [Legacy] Wait for parent component ref has its value.\n // We should use target as directly element instead of function which makes element check hard.\n this.timeout = setTimeout(() => {\n addObserveTarget(target(), this);\n // Mock Event object.\n this.updatePosition();\n });\n }\n },\n updated() {\n this.measure();\n },\n watch: {\n target(val) {\n let newTarget = null;\n if (val) {\n newTarget = val() || null;\n }\n if (this.prevTarget !== newTarget) {\n removeObserveTarget(this);\n if (newTarget) {\n addObserveTarget(newTarget, this);\n // Mock Event object.\n this.updatePosition();\n }\n this.prevTarget = newTarget;\n }\n },\n offsetTop() {\n this.updatePosition();\n },\n offsetBottom() {\n this.updatePosition();\n },\n },\n beforeDestroy() {\n clearTimeout(this.timeout);\n removeObserveTarget(this);\n this.updatePosition.cancel();\n // https://github.com/ant-design/ant-design/issues/22683\n this.lazyUpdatePosition.cancel();\n },\n methods: {\n getOffsetTop() {\n const { offset, offsetBottom } = this;\n let { offsetTop } = this;\n if (typeof offsetTop === 'undefined') {\n offsetTop = offset;\n warning(\n typeof offset === 'undefined',\n 'Affix',\n '`offset` is deprecated. Please use `offsetTop` instead.',\n );\n }\n\n if (offsetBottom === undefined && offsetTop === undefined) {\n offsetTop = 0;\n }\n return offsetTop;\n },\n\n getOffsetBottom() {\n return this.offsetBottom;\n },\n // =================== Measure ===================\n measure() {\n const { status, lastAffix } = this;\n const { target } = this;\n if (\n status !== AffixStatus.Prepare ||\n !this.$refs.fixedNode ||\n !this.$refs.placeholderNode ||\n !target\n ) {\n return;\n }\n\n const offsetTop = this.getOffsetTop();\n const offsetBottom = this.getOffsetBottom();\n\n const targetNode = target();\n if (!targetNode) {\n return;\n }\n\n const newState = {\n status: AffixStatus.None,\n };\n const targetRect = getTargetRect(targetNode);\n const placeholderReact = getTargetRect(this.$refs.placeholderNode);\n const fixedTop = getFixedTop(placeholderReact, targetRect, offsetTop);\n const fixedBottom = getFixedBottom(placeholderReact, targetRect, offsetBottom);\n if (fixedTop !== undefined) {\n newState.affixStyle = {\n position: 'fixed',\n top: fixedTop,\n width: placeholderReact.width + 'px',\n height: placeholderReact.height + 'px',\n };\n newState.placeholderStyle = {\n width: placeholderReact.width + 'px',\n height: placeholderReact.height + 'px',\n };\n } else if (fixedBottom !== undefined) {\n newState.affixStyle = {\n position: 'fixed',\n bottom: fixedBottom,\n width: placeholderReact.width + 'px',\n height: placeholderReact.height + 'px',\n };\n newState.placeholderStyle = {\n width: placeholderReact.width + 'px',\n height: placeholderReact.height + 'px',\n };\n }\n\n newState.lastAffix = !!newState.affixStyle;\n if (lastAffix !== newState.lastAffix) {\n this.$emit('change', newState.lastAffix);\n }\n\n this.setState(newState);\n },\n\n // @ts-ignore TS6133\n prepareMeasure() {\n this.setState({\n status: AffixStatus.Prepare,\n affixStyle: undefined,\n placeholderStyle: undefined,\n });\n this.$forceUpdate();\n\n // Test if `updatePosition` called\n if (process.env.NODE_ENV === 'test') {\n this.$emit('testUpdatePosition');\n }\n },\n updatePosition() {\n this.prepareMeasure();\n },\n lazyUpdatePosition() {\n const { target } = this;\n const { affixStyle } = this;\n\n // Check position change before measure to make Safari smooth\n if (target && affixStyle) {\n const offsetTop = this.getOffsetTop();\n const offsetBottom = this.getOffsetBottom();\n\n const targetNode = target();\n if (targetNode && this.$refs.placeholderNode) {\n const targetRect = getTargetRect(targetNode);\n const placeholderReact = getTargetRect(this.$refs.placeholderNode);\n const fixedTop = getFixedTop(placeholderReact, targetRect, offsetTop);\n const fixedBottom = getFixedBottom(placeholderReact, targetRect, offsetBottom);\n\n if (\n (fixedTop !== undefined && affixStyle.top === fixedTop) ||\n (fixedBottom !== undefined && affixStyle.bottom === fixedBottom)\n ) {\n return;\n }\n }\n }\n // Directly call prepare measure since it's already throttled.\n this.prepareMeasure();\n },\n },\n\n render() {\n const { prefixCls, affixStyle, placeholderStyle, $slots, $props } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const className = classNames({\n [getPrefixCls('affix', prefixCls)]: affixStyle,\n });\n\n const props = {\n attrs: omit($props, ['prefixCls', 'offsetTop', 'offsetBottom', 'target']),\n };\n return (\n <ResizeObserver\n onResize={() => {\n this.updatePosition();\n }}\n >\n <div {...props} style={placeholderStyle} ref=\"placeholderNode\">\n <div class={className} ref=\"fixedNode\" style={affixStyle}>\n {$slots.default}\n </div>\n </div>\n </ResizeObserver>\n );\n },\n};\n\n/* istanbul ignore next */\nAffix.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Affix.name, Affix);\n};\n\nexport default Affix;\n","export default function getScroll(target, top) {\n if (typeof window === 'undefined') {\n return 0;\n }\n\n const prop = top ? 'pageYOffset' : 'pageXOffset';\n const method = top ? 'scrollTop' : 'scrollLeft';\n const isWindow = target === window;\n\n let ret = isWindow ? target[prop] : target[method];\n // ie6,7,8 standard mode\n if (isWindow && typeof ret !== 'number') {\n ret = window.document.documentElement[method];\n }\n\n return ret;\n}\n","export function easeInOutCubic(t, b, c, d) {\n const cc = c - b;\n t /= d / 2;\n if (t < 1) {\n return (cc / 2) * t * t * t + b;\n }\n return (cc / 2) * ((t -= 2) * t * t + 2) + b;\n}\n","import raf from 'raf';\nimport getScroll from './getScroll';\nimport { easeInOutCubic } from './easings';\n\n// interface ScrollToOptions {\n// /** Scroll container, default as window */\n// getContainer?: () => HTMLElement | Window;\n// /** Scroll end callback */\n// callback?: () => any;\n// /** Animation duration, default as 450 */\n// duration?: number;\n// }\n\nexport default function scrollTo(y, options = {}) {\n const { getContainer = () => window, callback, duration = 450 } = options;\n\n const container = getContainer();\n const scrollTop = getScroll(container, true);\n const startTime = Date.now();\n\n const frameFunc = () => {\n const timestamp = Date.now();\n const time = timestamp - startTime;\n const nextScrollTop = easeInOutCubic(time > duration ? duration : time, scrollTop, y, duration);\n if (container === window) {\n window.scrollTo(window.pageXOffset, nextScrollTop);\n } else {\n container.scrollTop = nextScrollTop;\n }\n if (time < duration) {\n raf(frameFunc);\n } else if (typeof callback === 'function') {\n callback();\n }\n };\n raf(frameFunc);\n}\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport addEventListener from '../vc-util/Dom/addEventListener';\nimport Affix from '../affix';\nimport scrollTo from '../_util/scrollTo';\nimport getScroll from '../_util/getScroll';\nimport { initDefaultProps } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nfunction getDefaultContainer() {\n return window;\n}\n\nfunction getOffsetTop(element, container) {\n if (!element) {\n return 0;\n }\n\n if (!element.getClientRects().length) {\n return 0;\n }\n\n const rect = element.getBoundingClientRect();\n\n if (rect.width || rect.height) {\n if (container === window) {\n container = element.ownerDocument.documentElement;\n return rect.top - container.clientTop;\n }\n return rect.top - container.getBoundingClientRect().top;\n }\n\n return rect.top;\n}\n\n// function easeInOutCubic(t, b, c, d) {\n// const cc = c - b;\n// t /= d / 2;\n// if (t < 1) {\n// return (cc / 2) * t * t * t + b;\n// }\n// return (cc / 2) * ((t -= 2) * t * t + 2) + b;\n// }\n\nconst sharpMatcherRegx = /#([^#]+)$/;\n// function scrollTo(href, offsetTop = 0, getContainer, callback = () => {}) {\n// const container = getContainer();\n// const scrollTop = getScroll(container, true);\n// const sharpLinkMatch = sharpMatcherRegx.exec(href);\n// if (!sharpLinkMatch) {\n// return;\n// }\n// const targetElement = document.getElementById(sharpLinkMatch[1]);\n// if (!targetElement) {\n// return;\n// }\n// const eleOffsetTop = getOffsetTop(targetElement, container);\n// const targetScrollTop = scrollTop + eleOffsetTop - offsetTop;\n// const startTime = Date.now();\n// const frameFunc = () => {\n// const timestamp = Date.now();\n// const time = timestamp - startTime;\n// const nextScrollTop = easeInOutCubic(time, scrollTop, targetScrollTop, 450);\n// if (container === window) {\n// window.scrollTo(window.pageXOffset, nextScrollTop);\n// } else {\n// container.scrollTop = nextScrollTop;\n// }\n// if (time < 450) {\n// raf(frameFunc);\n// } else {\n// callback();\n// }\n// };\n// raf(frameFunc);\n// }\n\nexport const AnchorProps = {\n prefixCls: PropTypes.string,\n offsetTop: PropTypes.number,\n bounds: PropTypes.number,\n affix: PropTypes.bool,\n showInkInFixed: PropTypes.bool,\n getContainer: PropTypes.func,\n wrapperClass: PropTypes.string,\n wrapperStyle: PropTypes.object,\n getCurrentAnchor: PropTypes.func,\n targetOffset: PropTypes.number,\n};\n\nexport default {\n name: 'AAnchor',\n mixins: [BaseMixin],\n inheritAttrs: false,\n props: initDefaultProps(AnchorProps, {\n affix: true,\n showInkInFixed: false,\n getContainer: getDefaultContainer,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n this.links = [];\n this._sPrefixCls = '';\n return {\n activeLink: null,\n };\n },\n provide() {\n return {\n antAnchor: {\n registerLink: link => {\n if (!this.links.includes(link)) {\n this.links.push(link);\n }\n },\n unregisterLink: link => {\n const index = this.links.indexOf(link);\n if (index !== -1) {\n this.links.splice(index, 1);\n }\n },\n $data: this.$data,\n scrollTo: this.handleScrollTo,\n },\n antAnchorContext: this,\n };\n },\n\n mounted() {\n this.$nextTick(() => {\n const { getContainer } = this;\n this.scrollContainer = getContainer();\n this.scrollEvent = addEventListener(this.scrollContainer, 'scroll', this.handleScroll);\n this.handleScroll();\n });\n },\n updated() {\n this.$nextTick(() => {\n if (this.scrollEvent) {\n const { getContainer } = this;\n const currentContainer = getContainer();\n if (this.scrollContainer !== currentContainer) {\n this.scrollContainer = currentContainer;\n this.scrollEvent.remove();\n this.scrollEvent = addEventListener(this.scrollContainer, 'scroll', this.handleScroll);\n this.handleScroll();\n }\n }\n this.updateInk();\n });\n },\n beforeDestroy() {\n if (this.scrollEvent) {\n this.scrollEvent.remove();\n }\n },\n methods: {\n getCurrentActiveLink(offsetTop = 0, bounds = 5) {\n const { getCurrentAnchor } = this;\n\n if (typeof getCurrentAnchor === 'function') {\n return getCurrentAnchor();\n }\n const activeLink = '';\n if (typeof document === 'undefined') {\n return activeLink;\n }\n\n const linkSections = [];\n const { getContainer } = this;\n const container = getContainer();\n this.links.forEach(link => {\n const sharpLinkMatch = sharpMatcherRegx.exec(link.toString());\n if (!sharpLinkMatch) {\n return;\n }\n const target = document.getElementById(sharpLinkMatch[1]);\n if (target) {\n const top = getOffsetTop(target, container);\n if (top < offsetTop + bounds) {\n linkSections.push({\n link,\n top,\n });\n }\n }\n });\n\n if (linkSections.length) {\n const maxSection = linkSections.reduce((prev, curr) => (curr.top > prev.top ? curr : prev));\n return maxSection.link;\n }\n return '';\n },\n\n handleScrollTo(link) {\n const { offsetTop, getContainer, targetOffset } = this;\n\n this.setCurrentActiveLink(link);\n const container = getContainer();\n const scrollTop = getScroll(container, true);\n const sharpLinkMatch = sharpMatcherRegx.exec(link);\n if (!sharpLinkMatch) {\n return;\n }\n const targetElement = document.getElementById(sharpLinkMatch[1]);\n if (!targetElement) {\n return;\n }\n\n const eleOffsetTop = getOffsetTop(targetElement, container);\n let y = scrollTop + eleOffsetTop;\n y -= targetOffset !== undefined ? targetOffset : offsetTop || 0;\n this.animating = true;\n\n scrollTo(y, {\n callback: () => {\n this.animating = false;\n },\n getContainer,\n });\n },\n setCurrentActiveLink(link) {\n const { activeLink } = this;\n\n if (activeLink !== link) {\n this.setState({\n activeLink: link,\n });\n this.$emit('change', link);\n }\n },\n\n handleScroll() {\n if (this.animating) {\n return;\n }\n const { offsetTop, bounds, targetOffset } = this;\n const currentActiveLink = this.getCurrentActiveLink(\n targetOffset !== undefined ? targetOffset : offsetTop || 0,\n bounds,\n );\n this.setCurrentActiveLink(currentActiveLink);\n },\n\n updateInk() {\n if (typeof document === 'undefined') {\n return;\n }\n const { _sPrefixCls } = this;\n const linkNode = this.$el.getElementsByClassName(`${_sPrefixCls}-link-title-active`)[0];\n if (linkNode) {\n this.$refs.inkNode.style.top = `${linkNode.offsetTop + linkNode.clientHeight / 2 - 4.5}px`;\n }\n },\n },\n\n render() {\n const {\n prefixCls: customizePrefixCls,\n offsetTop,\n affix,\n showInkInFixed,\n activeLink,\n $slots,\n getContainer,\n } = this;\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('anchor', customizePrefixCls);\n this._sPrefixCls = prefixCls;\n\n const inkClass = classNames(`${prefixCls}-ink-ball`, {\n visible: activeLink,\n });\n\n const wrapperClass = classNames(this.wrapperClass, `${prefixCls}-wrapper`);\n\n const anchorClass = classNames(prefixCls, {\n fixed: !affix && !showInkInFixed,\n });\n\n const wrapperStyle = {\n maxHeight: offsetTop ? `calc(100vh - ${offsetTop}px)` : '100vh',\n ...this.wrapperStyle,\n };\n\n const anchorContent = (\n <div class={wrapperClass} style={wrapperStyle}>\n <div class={anchorClass}>\n <div class={`${prefixCls}-ink`}>\n <span class={inkClass} ref=\"inkNode\" />\n </div>\n {$slots.default}\n </div>\n </div>\n );\n\n return !affix ? (\n anchorContent\n ) : (\n <Affix offsetTop={offsetTop} target={getContainer}>\n {anchorContent}\n </Affix>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { initDefaultProps, getComponentFromProp } from '../_util/props-util';\nimport classNames from 'classnames';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport const AnchorLinkProps = {\n prefixCls: PropTypes.string,\n href: PropTypes.string,\n title: PropTypes.any,\n target: PropTypes.string,\n};\n\nexport default {\n name: 'AAnchorLink',\n props: initDefaultProps(AnchorLinkProps, {\n href: '#',\n }),\n inject: {\n antAnchor: { default: () => ({}) },\n antAnchorContext: { default: () => ({}) },\n configProvider: { default: () => ConfigConsumerProps },\n },\n watch: {\n href(val, oldVal) {\n this.$nextTick(() => {\n this.antAnchor.unregisterLink(oldVal);\n this.antAnchor.registerLink(val);\n });\n },\n },\n\n mounted() {\n this.antAnchor.registerLink(this.href);\n },\n\n beforeDestroy() {\n this.antAnchor.unregisterLink(this.href);\n },\n methods: {\n handleClick(e) {\n this.antAnchor.scrollTo(this.href);\n const { scrollTo } = this.antAnchor;\n const { href, title } = this.$props;\n if (this.antAnchorContext.$emit) {\n this.antAnchorContext.$emit('click', e, { title, href });\n }\n scrollTo(href);\n },\n },\n render() {\n const { prefixCls: customizePrefixCls, href, $slots, target } = this;\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('anchor', customizePrefixCls);\n\n const title = getComponentFromProp(this, 'title');\n const active = this.antAnchor.$data.activeLink === href;\n const wrapperClassName = classNames(`${prefixCls}-link`, {\n [`${prefixCls}-link-active`]: active,\n });\n const titleClassName = classNames(`${prefixCls}-link-title`, {\n [`${prefixCls}-link-title-active`]: active,\n });\n return (\n <div class={wrapperClassName}>\n <a\n class={titleClassName}\n href={href}\n title={typeof title === 'string' ? title : ''}\n target={target}\n onClick={this.handleClick}\n >\n {title}\n </a>\n {$slots.default}\n </div>\n );\n },\n};\n","import Anchor from './Anchor';\nimport AnchorLink from './AnchorLink';\nimport Base from '../base';\n\nAnchor.Link = AnchorLink;\n\n/* istanbul ignore next */\nAnchor.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Anchor.name, Anchor);\n Vue.component(Anchor.Link.name, Anchor.Link);\n};\nexport { AnchorProps } from './Anchor';\nexport { AnchorLinkProps } from './AnchorLink';\nexport default Anchor;\n","import PropTypes from '../_util/vue-types';\n\nexport default {\n props: {\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disabled: PropTypes.bool,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n },\n isSelectOption: true,\n};\n","import PropTypes from '../_util/vue-types';\nexport default {\n props: {\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n },\n isSelectOptGroup: true,\n};\n","/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\n\nconst KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n /**\n * TAB\n */\n TAB: 9,\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12, // NUMLOCK on FF/Safari Mac\n /**\n * ENTER\n */\n ENTER: 13,\n /**\n * SHIFT\n */\n SHIFT: 16,\n /**\n * CTRL\n */\n CTRL: 17,\n /**\n * ALT\n */\n ALT: 18,\n /**\n * PAUSE\n */\n PAUSE: 19,\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n /**\n * ESC\n */\n ESC: 27,\n /**\n * SPACE\n */\n SPACE: 32,\n /**\n * PAGE_UP\n */\n PAGE_UP: 33, // also NUM_NORTH_EAST\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34, // also NUM_SOUTH_EAST\n /**\n * END\n */\n END: 35, // also NUM_SOUTH_WEST\n /**\n * HOME\n */\n HOME: 36, // also NUM_NORTH_WEST\n /**\n * LEFT\n */\n LEFT: 37, // also NUM_WEST\n /**\n * UP\n */\n UP: 38, // also NUM_NORTH\n /**\n * RIGHT\n */\n RIGHT: 39, // also NUM_EAST\n /**\n * DOWN\n */\n DOWN: 40, // also NUM_SOUTH\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n /**\n * INSERT\n */\n INSERT: 45, // also NUM_INSERT\n /**\n * DELETE\n */\n DELETE: 46, // also NUM_DELETE\n /**\n * ZERO\n */\n ZERO: 48,\n /**\n * ONE\n */\n ONE: 49,\n /**\n * TWO\n */\n TWO: 50,\n /**\n * THREE\n */\n THREE: 51,\n /**\n * FOUR\n */\n FOUR: 52,\n /**\n * FIVE\n */\n FIVE: 53,\n /**\n * SIX\n */\n SIX: 54,\n /**\n * SEVEN\n */\n SEVEN: 55,\n /**\n * EIGHT\n */\n EIGHT: 56,\n /**\n * NINE\n */\n NINE: 57,\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63, // needs localization\n /**\n * A\n */\n A: 65,\n /**\n * B\n */\n B: 66,\n /**\n * C\n */\n C: 67,\n /**\n * D\n */\n D: 68,\n /**\n * E\n */\n E: 69,\n /**\n * F\n */\n F: 70,\n /**\n * G\n */\n G: 71,\n /**\n * H\n */\n H: 72,\n /**\n * I\n */\n I: 73,\n /**\n * J\n */\n J: 74,\n /**\n * K\n */\n K: 75,\n /**\n * L\n */\n L: 76,\n /**\n * M\n */\n M: 77,\n /**\n * N\n */\n N: 78,\n /**\n * O\n */\n O: 79,\n /**\n * P\n */\n P: 80,\n /**\n * Q\n */\n Q: 81,\n /**\n * R\n */\n R: 82,\n /**\n * S\n */\n S: 83,\n /**\n * T\n */\n T: 84,\n /**\n * U\n */\n U: 85,\n /**\n * V\n */\n V: 86,\n /**\n * W\n */\n W: 87,\n /**\n * X\n */\n X: 88,\n /**\n * Y\n */\n Y: 89,\n /**\n * Z\n */\n Z: 90,\n /**\n * META\n */\n META: 91, // WIN_KEY_LEFT\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n /**\n * F1\n */\n F1: 112,\n /**\n * F2\n */\n F2: 113,\n /**\n * F3\n */\n F3: 114,\n /**\n * F4\n */\n F4: 115,\n /**\n * F5\n */\n F5: 116,\n /**\n * F6\n */\n F6: 117,\n /**\n * F7\n */\n F7: 118,\n /**\n * F8\n */\n F8: 119,\n /**\n * F9\n */\n F9: 120,\n /**\n * F10\n */\n F10: 121,\n /**\n * F11\n */\n F11: 122,\n /**\n * F12\n */\n F12: 123,\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n /**\n * SEMICOLON\n */\n SEMICOLON: 186, // needs localization\n /**\n * DASH\n */\n DASH: 189, // needs localization\n /**\n * EQUALS\n */\n EQUALS: 187, // needs localization\n /**\n * COMMA\n */\n COMMA: 188, // needs localization\n /**\n * PERIOD\n */\n PERIOD: 190, // needs localization\n /**\n * SLASH\n */\n SLASH: 191, // needs localization\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192, // needs localization\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222, // needs localization\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219, // needs localization\n /**\n * BACKSLASH\n */\n BACKSLASH: 220, // needs localization\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221, // needs localization\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224, // Firefox (Gecko) fires this for the meta key instead of 91\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n};\n\n/*\n whether text and modified key is entered at the same time.\n */\nKeyCode.isTextModifyingKeyEvent = function isTextModifyingKeyEvent(e) {\n const keyCode = e.keyCode;\n if (\n (e.altKey && !e.ctrlKey) ||\n e.metaKey ||\n // Function keys don't generate text\n (keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12)\n ) {\n return false;\n }\n\n // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n switch (keyCode) {\n case KeyCode.ALT:\n case KeyCode.CAPS_LOCK:\n case KeyCode.CONTEXT_MENU:\n case KeyCode.CTRL:\n case KeyCode.DOWN:\n case KeyCode.END:\n case KeyCode.ESC:\n case KeyCode.HOME:\n case KeyCode.INSERT:\n case KeyCode.LEFT:\n case KeyCode.MAC_FF_META:\n case KeyCode.META:\n case KeyCode.NUMLOCK:\n case KeyCode.NUM_CENTER:\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAUSE:\n case KeyCode.PRINT_SCREEN:\n case KeyCode.RIGHT:\n case KeyCode.SHIFT:\n case KeyCode.UP:\n case KeyCode.WIN_KEY:\n case KeyCode.WIN_KEY_RIGHT:\n return false;\n default:\n return true;\n }\n};\n\n/*\n whether character is entered.\n */\nKeyCode.isCharacterKey = function isCharacterKey(keyCode) {\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n return true;\n }\n\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n }\n\n // Safari sends zero key code for non-latin characters.\n if (window.navigation.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\n\n switch (keyCode) {\n case KeyCode.SPACE:\n case KeyCode.QUESTION_MARK:\n case KeyCode.NUM_PLUS:\n case KeyCode.NUM_MINUS:\n case KeyCode.NUM_PERIOD:\n case KeyCode.NUM_DIVISION:\n case KeyCode.SEMICOLON:\n case KeyCode.DASH:\n case KeyCode.EQUALS:\n case KeyCode.COMMA:\n case KeyCode.PERIOD:\n case KeyCode.SLASH:\n case KeyCode.APOSTROPHE:\n case KeyCode.SINGLE_QUOTE:\n case KeyCode.OPEN_SQUARE_BRACKET:\n case KeyCode.BACKSLASH:\n case KeyCode.CLOSE_SQUARE_BRACKET:\n return true;\n default:\n return false;\n }\n};\n\nexport default KeyCode;\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nfunction getClientPosition(elem) {\n var box;\n var x;\n var y;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement; // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n\n box = elem.getBoundingClientRect(); // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top; // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n var method = \"scroll\".concat(top ? 'Top' : 'Left');\n\n if (typeof ret !== 'number') {\n var d = w.document; // ie6,7,8 standard mode\n\n ret = d.documentElement[method];\n\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\n\nfunction _getComputedStyle(elem, name, computedStyle_) {\n var val = '';\n var d = elem.ownerDocument;\n var computedStyle = computedStyle_ || d.defaultView.getComputedStyle(elem, null); // https://github.com/kissyteam/kissy/issues/61\n\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp(\"^(\".concat(RE_NUM, \")(?!px)[a-z%]+$\"), 'i');\n\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name]; // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT]; // prevent flashing of content\n\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT]; // Put in the new values to get a computed value out\n\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX; // Revert the changed values\n\n style[LEFT] = left;\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n\n return ret === '' ? 'auto' : ret;\n}\n\nvar getComputedStyleX;\n\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name; // Remember the old values, and insert the new ones\n\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem); // Revert the old values\n\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop;\n var j;\n var i;\n\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = void 0;\n\n if (prop === 'border') {\n cssProp = \"\".concat(prop + which[i], \"Width\");\n } else {\n cssProp = prop + which[i];\n }\n\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n\n return value;\n}\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\n\n\nfunction isWindow(obj) {\n // must use == for ie8\n\n /* eslint eqeqeq:0 */\n return obj != null && obj == obj.window;\n}\n\nvar domUtils = {};\neach(['Width', 'Height'], function (name) {\n domUtils[\"doc\".concat(name)] = function (refWin) {\n var d = refWin.document;\n return Math.max( // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement[\"scroll\".concat(name)], // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body[\"scroll\".concat(name)], domUtils[\"viewport\".concat(name)](d));\n };\n\n domUtils[\"viewport\".concat(name)] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = \"client\".concat(name);\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop]; // 标准模式取 documentElement\n // backcompat 取 body\n\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\n\nfunction getWH(elem, name, extra) {\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.offsetWidth : elem.offsetHeight;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n var cssBoxValue = 0;\n\n if (borderBoxValue == null || borderBoxValue <= 0) {\n borderBoxValue = undefined; // Fall back to computed then un computed css if necessary\n\n cssBoxValue = getComputedStyleX(elem, name);\n\n if (cssBoxValue == null || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n } // Normalize '', auto, and prepare for extra\n\n\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which);\n }\n\n return cssBoxValue;\n }\n\n if (borderBoxValueOrIsBorderBox) {\n var padding = extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which) : getPBMWidth(elem, ['margin'], which);\n return val + (extra === BORDER_INDEX ? 0 : padding);\n }\n\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n}; // fix #119 : https://github.com/kissyteam/kissy/issues/119\n\nfunction getWHIgnoreDisplay(elem) {\n var val;\n var args = arguments; // in case elem is window\n // elem.offsetWidth === undefined\n\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n\n return val;\n}\n\nfunction css(el, name, v) {\n var value = v;\n\n if (_typeof(name) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n\n return undefined;\n }\n\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value += 'px';\n }\n\n el.style[name] = value;\n return undefined;\n }\n\n return getComputedStyleX(el, name);\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n\n domUtils[\"outer\".concat(first)] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, val) {\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which);\n }\n\n return css(elem, name, val);\n }\n\n return undefined;\n }\n\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n}); // 设置 elem 相对 elem.ownerDocument 的坐标\n\nfunction setOffset(elem, offset) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n\n var old = getOffset(elem);\n var ret = {};\n var current;\n var key;\n\n for (key in offset) {\n if (offset.hasOwnProperty(key)) {\n current = parseFloat(css(elem, key)) || 0;\n ret[key] = current + offset[key] - old[key];\n }\n }\n\n css(elem, ret);\n}\n\nvar util = _objectSpread2({\n getWindow: function getWindow(node) {\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n offset: function offset(el, value) {\n if (typeof value !== 'undefined') {\n setOffset(el, value);\n } else {\n return getOffset(el);\n }\n },\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var ret = {};\n\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n\n var overflow = obj.overflow;\n\n if (overflow) {\n for (var _i in obj) {\n if (obj.hasOwnProperty(_i)) {\n ret.overflow[_i] = obj.overflow[_i];\n }\n }\n }\n\n return ret;\n },\n scrollLeft: function scrollLeft(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollLeft(w);\n }\n\n window.scrollTo(v, getScrollTop(w));\n } else {\n if (v === undefined) {\n return w.scrollLeft;\n }\n\n w.scrollLeft = v;\n }\n },\n scrollTop: function scrollTop(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollTop(w);\n }\n\n window.scrollTo(getScrollLeft(w), v);\n } else {\n if (v === undefined) {\n return w.scrollTop;\n }\n\n w.scrollTop = v;\n }\n },\n viewportWidth: 0,\n viewportHeight: 0\n}, domUtils);\n\nfunction scrollIntoView(elem, container, config) {\n config = config || {}; // document 归一化到 window\n\n if (container.nodeType === 9) {\n container = util.getWindow(container);\n }\n\n var allowHorizontalScroll = config.allowHorizontalScroll;\n var onlyScrollIfNeeded = config.onlyScrollIfNeeded;\n var alignWithTop = config.alignWithTop;\n var alignWithLeft = config.alignWithLeft;\n var offsetTop = config.offsetTop || 0;\n var offsetLeft = config.offsetLeft || 0;\n var offsetBottom = config.offsetBottom || 0;\n var offsetRight = config.offsetRight || 0;\n allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll;\n var isWin = util.isWindow(container);\n var elemOffset = util.offset(elem);\n var eh = util.outerHeight(elem);\n var ew = util.outerWidth(elem);\n var containerOffset;\n var ch;\n var cw;\n var containerScroll;\n var diffTop;\n var diffBottom;\n var win;\n var winScroll;\n var ww;\n var wh;\n\n if (isWin) {\n win = container;\n wh = util.height(win);\n ww = util.width(win);\n winScroll = {\n left: util.scrollLeft(win),\n top: util.scrollTop(win)\n }; // elem 相对 container 可视视窗的距离\n\n diffTop = {\n left: elemOffset.left - winScroll.left - offsetLeft,\n top: elemOffset.top - winScroll.top - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (winScroll.left + ww) + offsetRight,\n top: elemOffset.top + eh - (winScroll.top + wh) + offsetBottom\n };\n containerScroll = winScroll;\n } else {\n containerOffset = util.offset(container);\n ch = container.clientHeight;\n cw = container.clientWidth;\n containerScroll = {\n left: container.scrollLeft,\n top: container.scrollTop\n }; // elem 相对 container 可视视窗的距离\n // 注意边框, offset 是边框到根节点\n\n diffTop = {\n left: elemOffset.left - (containerOffset.left + (parseFloat(util.css(container, 'borderLeftWidth')) || 0)) - offsetLeft,\n top: elemOffset.top - (containerOffset.top + (parseFloat(util.css(container, 'borderTopWidth')) || 0)) - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (containerOffset.left + cw + (parseFloat(util.css(container, 'borderRightWidth')) || 0)) + offsetRight,\n top: elemOffset.top + eh - (containerOffset.top + ch + (parseFloat(util.css(container, 'borderBottomWidth')) || 0)) + offsetBottom\n };\n }\n\n if (diffTop.top < 0 || diffBottom.top > 0) {\n // 强制向上\n if (alignWithTop === true) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else if (alignWithTop === false) {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n } else {\n // 自动调整\n if (diffTop.top < 0) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithTop = alignWithTop === undefined ? true : !!alignWithTop;\n\n if (alignWithTop) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n }\n\n if (allowHorizontalScroll) {\n if (diffTop.left < 0 || diffBottom.left > 0) {\n // 强制向上\n if (alignWithLeft === true) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else if (alignWithLeft === false) {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n } else {\n // 自动调整\n if (diffTop.left < 0) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft;\n\n if (alignWithLeft) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n }\n }\n}\n\nexport default scrollIntoView;\n//# sourceMappingURL=index.js.map\n","import shallowEqual from 'shallowequal';\nimport omit from 'omit.js';\nimport { getOptionProps, getListeners } from '../props-util';\nimport PropTypes from '../vue-types';\nimport proxyComponent from '../proxyComponent';\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.name || 'Component';\n}\n\nconst defaultMapStateToProps = () => ({});\nexport default function connect(mapStateToProps) {\n const shouldSubscribe = !!mapStateToProps;\n const finalMapStateToProps = mapStateToProps || defaultMapStateToProps;\n return function wrapWithConnect(WrappedComponent) {\n const tempProps = omit(WrappedComponent.props || {}, ['store']);\n const props = {\n __propsSymbol__: PropTypes.any,\n };\n Object.keys(tempProps).forEach(k => {\n props[k] = { ...tempProps[k], required: false };\n });\n const Connect = {\n name: `Connect_${getDisplayName(WrappedComponent)}`,\n props,\n inject: {\n storeContext: { default: () => ({}) },\n },\n data() {\n this.store = this.storeContext.store;\n this.preProps = omit(getOptionProps(this), ['__propsSymbol__']);\n return {\n subscribed: finalMapStateToProps(this.store.getState(), this.$props),\n };\n },\n watch: {\n __propsSymbol__() {\n if (mapStateToProps && mapStateToProps.length === 2) {\n this.subscribed = finalMapStateToProps(this.store.getState(), this.$props);\n }\n },\n },\n mounted() {\n this.trySubscribe();\n },\n\n beforeDestroy() {\n this.tryUnsubscribe();\n },\n methods: {\n handleChange() {\n if (!this.unsubscribe) {\n return;\n }\n const props = omit(getOptionProps(this), ['__propsSymbol__']);\n const nextSubscribed = finalMapStateToProps(this.store.getState(), props);\n if (\n !shallowEqual(this.preProps, props) ||\n !shallowEqual(this.subscribed, nextSubscribed)\n ) {\n this.subscribed = nextSubscribed;\n }\n },\n\n trySubscribe() {\n if (shouldSubscribe) {\n this.unsubscribe = this.store.subscribe(this.handleChange);\n this.handleChange();\n }\n },\n\n tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n },\n getWrappedInstance() {\n return this.$refs.wrappedInstance;\n },\n },\n render() {\n const { $slots = {}, $scopedSlots, subscribed, store } = this;\n const props = getOptionProps(this);\n this.preProps = { ...omit(props, ['__propsSymbol__']) };\n const wrapProps = {\n props: {\n ...props,\n ...subscribed,\n store,\n },\n on: getListeners(this),\n scopedSlots: $scopedSlots,\n };\n return (\n <WrappedComponent {...wrapProps} ref=\"wrappedInstance\">\n {Object.keys($slots).map(name => {\n return <template slot={name}>{$slots[name]}</template>;\n })}\n </WrappedComponent>\n );\n },\n };\n return proxyComponent(Connect);\n };\n}\n","// MIT License from https://github.com/kaimallea/isMobile\n\nconst applePhone = /iPhone/i;\nconst appleIpod = /iPod/i;\nconst appleTablet = /iPad/i;\nconst androidPhone = /\\bAndroid(?:.+)Mobile\\b/i; // Match 'Android' AND 'Mobile'\nconst androidTablet = /Android/i;\nconst amazonPhone = /\\bAndroid(?:.+)SD4930UR\\b/i;\nconst amazonTablet = /\\bAndroid(?:.+)(?:KF[A-Z]{2,4})\\b/i;\nconst windowsPhone = /Windows Phone/i;\nconst windowsTablet = /\\bWindows(?:.+)ARM\\b/i; // Match 'Windows' AND 'ARM'\nconst otherBlackberry = /BlackBerry/i;\nconst otherBlackberry10 = /BB10/i;\nconst otherOpera = /Opera Mini/i;\nconst otherChrome = /\\b(CriOS|Chrome)(?:.+)Mobile/i;\nconst otherFirefox = /Mobile(?:.+)Firefox\\b/i; // Match 'Mobile' AND 'Firefox'\n\nfunction match(regex, userAgent) {\n return regex.test(userAgent);\n}\n\nfunction isMobile(userAgent) {\n let ua = userAgent || (typeof navigator !== 'undefined' ? navigator.userAgent : '');\n\n // Facebook mobile app's integrated browser adds a bunch of strings that\n // match everything. Strip it out if it exists.\n let tmp = ua.split('[FBAN');\n if (typeof tmp[1] !== 'undefined') {\n [ua] = tmp;\n }\n\n // Twitter mobile app's integrated browser on iPad adds a \"Twitter for\n // iPhone\" string. Same probably happens on other tablet platforms.\n // This will confuse detection so strip it out if it exists.\n tmp = ua.split('Twitter');\n if (typeof tmp[1] !== 'undefined') {\n [ua] = tmp;\n }\n\n const result = {\n apple: {\n phone: match(applePhone, ua) && !match(windowsPhone, ua),\n ipod: match(appleIpod, ua),\n tablet: !match(applePhone, ua) && match(appleTablet, ua) && !match(windowsPhone, ua),\n device:\n (match(applePhone, ua) || match(appleIpod, ua) || match(appleTablet, ua)) &&\n !match(windowsPhone, ua),\n },\n amazon: {\n phone: match(amazonPhone, ua),\n tablet: !match(amazonPhone, ua) && match(amazonTablet, ua),\n device: match(amazonPhone, ua) || match(amazonTablet, ua),\n },\n android: {\n phone:\n (!match(windowsPhone, ua) && match(amazonPhone, ua)) ||\n (!match(windowsPhone, ua) && match(androidPhone, ua)),\n tablet:\n !match(windowsPhone, ua) &&\n !match(amazonPhone, ua) &&\n !match(androidPhone, ua) &&\n (match(amazonTablet, ua) || match(androidTablet, ua)),\n device:\n (!match(windowsPhone, ua) &&\n (match(amazonPhone, ua) ||\n match(amazonTablet, ua) ||\n match(androidPhone, ua) ||\n match(androidTablet, ua))) ||\n match(/\\bokhttp\\b/i, ua),\n },\n windows: {\n phone: match(windowsPhone, ua),\n tablet: match(windowsTablet, ua),\n device: match(windowsPhone, ua) || match(windowsTablet, ua),\n },\n other: {\n blackberry: match(otherBlackberry, ua),\n blackberry10: match(otherBlackberry10, ua),\n opera: match(otherOpera, ua),\n firefox: match(otherFirefox, ua),\n chrome: match(otherChrome, ua),\n device:\n match(otherBlackberry, ua) ||\n match(otherBlackberry10, ua) ||\n match(otherOpera, ua) ||\n match(otherFirefox, ua) ||\n match(otherChrome, ua),\n },\n\n // Additional\n any: null,\n phone: null,\n tablet: null,\n };\n result.any =\n result.apple.device || result.android.device || result.windows.device || result.other.device;\n\n // excludes 'other' devices and ipods, targeting touchscreen phones\n result.phone = result.apple.phone || result.android.phone || result.windows.phone;\n result.tablet = result.apple.tablet || result.android.tablet || result.windows.tablet;\n\n return result;\n}\n\nconst defaultResult = {\n ...isMobile(),\n isMobile,\n};\n\nexport default defaultResult;\n","import isMobile from './utils/isMobile';\n\nexport function noop() {}\n\nexport function getKeyFromChildrenIndex(child, menuEventKey, index) {\n const prefix = menuEventKey || '';\n return child.key === undefined ? `${prefix}item_${index}` : child.key;\n}\n\nexport function getMenuIdFromSubMenuEventKey(eventKey) {\n return `${eventKey}-menu-`;\n}\n\nexport function loopMenuItem(children, cb) {\n let index = -1;\n children.forEach(c => {\n index++;\n if (c && c.type && c.type.isMenuItemGroup) {\n c.$slots.default.forEach(c2 => {\n index++;\n c.componentOptions && cb(c2, index);\n });\n } else {\n c.componentOptions && cb(c, index);\n }\n });\n}\n\nexport function loopMenuItemRecursively(children, keys, ret) {\n if (!children || ret.find) {\n return;\n }\n children.forEach(c => {\n if (ret.find) {\n return;\n }\n if (c.data && c.data.slot && c.data.slot !== 'default') {\n return;\n }\n if (c && c.componentOptions) {\n const options = c.componentOptions.Ctor.options;\n if (!options || !(options.isSubMenu || options.isMenuItem || options.isMenuItemGroup)) {\n return;\n }\n if (keys.indexOf(c.key) !== -1) {\n ret.find = true;\n } else if (c.componentOptions.children) {\n loopMenuItemRecursively(c.componentOptions.children, keys, ret);\n }\n }\n });\n}\n\nexport const menuAllProps = {\n props: [\n 'defaultSelectedKeys',\n 'selectedKeys',\n 'defaultOpenKeys',\n 'openKeys',\n 'mode',\n 'getPopupContainer',\n 'openTransitionName',\n 'openAnimation',\n 'subMenuOpenDelay',\n 'subMenuCloseDelay',\n 'forceSubMenuRender',\n 'triggerSubMenuAction',\n 'level',\n 'selectable',\n 'multiple',\n 'visible',\n 'focusable',\n 'defaultActiveFirst',\n 'prefixCls',\n 'inlineIndent',\n 'parentMenu',\n 'title',\n 'rootPrefixCls',\n 'eventKey',\n 'active',\n 'popupAlign',\n 'popupOffset',\n 'isOpen',\n 'renderMenuItem',\n 'manualRef',\n 'subMenuKey',\n 'disabled',\n 'index',\n 'isSelected',\n 'store',\n 'activeKey',\n 'builtinPlacements',\n 'overflowedIndicator',\n\n // the following keys found need to be removed from test regression\n 'attribute',\n 'value',\n 'popupClassName',\n 'inlineCollapsed',\n 'menu',\n 'theme',\n 'itemIcon',\n 'expandIcon',\n ],\n on: [\n 'select',\n 'deselect',\n 'destroy',\n 'openChange',\n 'itemHover',\n 'titleMouseenter',\n 'titleMouseleave',\n 'titleClick',\n ],\n};\n\n// ref: https://github.com/ant-design/ant-design/issues/14007\n// ref: https://bugs.chromium.org/p/chromium/issues/detail?id=360889\n// getBoundingClientRect return the full precision value, which is\n// not the same behavior as on chrome. Set the precision to 6 to\n// unify their behavior\nexport const getWidth = elem => {\n let width =\n elem && typeof elem.getBoundingClientRect === 'function' && elem.getBoundingClientRect().width;\n if (width) {\n width = +width.toFixed(6);\n }\n return width || 0;\n};\n\nexport const setStyle = (elem, styleProperty, value) => {\n if (elem && typeof elem.style === 'object') {\n elem.style[styleProperty] = value;\n }\n};\n\nexport const isMobileDevice = () => {\n return isMobile.any;\n};\n","import PropTypes from '../_util/vue-types';\nimport KeyCode from '../_util/KeyCode';\nimport BaseMixin from '../_util/BaseMixin';\nimport scrollIntoView from 'dom-scroll-into-view';\nimport { connect } from '../_util/store';\nimport { noop, menuAllProps } from './util';\nimport { getComponentFromProp, getListeners } from '../_util/props-util';\n\nconst props = {\n attribute: PropTypes.object,\n rootPrefixCls: PropTypes.string,\n eventKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n active: PropTypes.bool,\n selectedKeys: PropTypes.array,\n disabled: PropTypes.bool,\n title: PropTypes.any,\n index: PropTypes.number,\n inlineIndent: PropTypes.number.def(24),\n level: PropTypes.number.def(1),\n mode: PropTypes.oneOf([\n 'horizontal',\n 'vertical',\n 'vertical-left',\n 'vertical-right',\n 'inline',\n ]).def('vertical'),\n parentMenu: PropTypes.object,\n multiple: PropTypes.bool,\n value: PropTypes.any,\n isSelected: PropTypes.bool,\n manualRef: PropTypes.func.def(noop),\n role: PropTypes.any,\n subMenuKey: PropTypes.string,\n itemIcon: PropTypes.any,\n // clearSubMenuTimers: PropTypes.func.def(noop),\n};\nconst MenuItem = {\n name: 'MenuItem',\n props,\n mixins: [BaseMixin],\n isMenuItem: true,\n created() {\n this.prevActive = this.active;\n // invoke customized ref to expose component to mixin\n this.callRef();\n },\n updated() {\n this.$nextTick(() => {\n const { active, parentMenu, eventKey } = this.$props;\n if (!this.prevActive && active && (!parentMenu || !parentMenu[`scrolled-${eventKey}`])) {\n scrollIntoView(this.$el, this.parentMenu.$el, {\n onlyScrollIfNeeded: true,\n });\n parentMenu[`scrolled-${eventKey}`] = true;\n } else if (parentMenu && parentMenu[`scrolled-${eventKey}`]) {\n delete parentMenu[`scrolled-${eventKey}`];\n }\n this.prevActive = active;\n });\n this.callRef();\n },\n beforeDestroy() {\n const props = this.$props;\n this.__emit('destroy', props.eventKey);\n },\n methods: {\n onKeyDown(e) {\n const keyCode = e.keyCode;\n if (keyCode === KeyCode.ENTER) {\n this.onClick(e);\n return true;\n }\n },\n\n onMouseLeave(e) {\n const { eventKey } = this.$props;\n this.__emit('itemHover', {\n key: eventKey,\n hover: false,\n });\n this.__emit('mouseleave', {\n key: eventKey,\n domEvent: e,\n });\n },\n\n onMouseEnter(e) {\n const { eventKey } = this;\n this.__emit('itemHover', {\n key: eventKey,\n hover: true,\n });\n this.__emit('mouseenter', {\n key: eventKey,\n domEvent: e,\n });\n },\n\n onClick(e) {\n const { eventKey, multiple, isSelected } = this.$props;\n const info = {\n key: eventKey,\n keyPath: [eventKey],\n item: this,\n domEvent: e,\n };\n\n this.__emit('click', info);\n if (multiple) {\n if (isSelected) {\n this.__emit('deselect', info);\n } else {\n this.__emit('select', info);\n }\n } else if (!isSelected) {\n this.__emit('select', info);\n }\n },\n\n getPrefixCls() {\n return `${this.$props.rootPrefixCls}-item`;\n },\n\n getActiveClassName() {\n return `${this.getPrefixCls()}-active`;\n },\n\n getSelectedClassName() {\n return `${this.getPrefixCls()}-selected`;\n },\n\n getDisabledClassName() {\n return `${this.getPrefixCls()}-disabled`;\n },\n\n callRef() {\n if (this.manualRef) {\n this.manualRef(this);\n }\n },\n },\n\n render() {\n const props = { ...this.$props };\n const className = {\n [this.getPrefixCls()]: true,\n [this.getActiveClassName()]: !props.disabled && props.active,\n [this.getSelectedClassName()]: props.isSelected,\n [this.getDisabledClassName()]: props.disabled,\n };\n let attrs = {\n ...props.attribute,\n title: props.title,\n role: props.role || 'menuitem',\n 'aria-disabled': props.disabled,\n };\n if (props.role === 'option') {\n // overwrite to option\n attrs = {\n ...attrs,\n role: 'option',\n 'aria-selected': props.isSelected,\n };\n } else if (props.role === null || props.role === 'none') {\n // sometimes we want to specify role inside <li/> element\n // <li><a role='menuitem'>Link</a></li> would be a good example\n // in this case the role on <li/> should be \"none\" to\n // remove the implied listitem role.\n // https://www.w3.org/TR/wai-aria-practices-1.1/examples/menubar/menubar-1/menubar-1.html\n attrs.role = 'none';\n }\n // In case that onClick/onMouseLeave/onMouseEnter is passed down from owner\n const mouseEvent = {\n click: props.disabled ? noop : this.onClick,\n mouseleave: props.disabled ? noop : this.onMouseLeave,\n mouseenter: props.disabled ? noop : this.onMouseEnter,\n };\n\n const style = {};\n if (props.mode === 'inline') {\n style.paddingLeft = `${props.inlineIndent * props.level}px`;\n }\n const listeners = { ...getListeners(this) };\n menuAllProps.props.forEach(key => delete props[key]);\n menuAllProps.on.forEach(key => delete listeners[key]);\n const liProps = {\n attrs: {\n ...props,\n ...attrs,\n },\n on: {\n ...listeners,\n ...mouseEvent,\n },\n };\n return (\n <li {...liProps} style={style} class={className}>\n {this.$slots.default}\n {getComponentFromProp(this, 'itemIcon', props)}\n </li>\n );\n },\n};\n\nconst connected = connect(({ activeKey, selectedKeys }, { eventKey, subMenuKey }) => ({\n active: activeKey[subMenuKey] === eventKey,\n isSelected: selectedKeys.indexOf(eventKey) !== -1,\n}))(MenuItem);\n\nexport default connected;\nexport { props as menuItemProps };\n","import PropTypes from '../_util/vue-types';\nimport { getComponentFromProp, getListeners } from '../_util/props-util';\n\n// import { menuAllProps } from './util'\n\nconst MenuItemGroup = {\n name: 'MenuItemGroup',\n\n props: {\n renderMenuItem: PropTypes.func,\n index: PropTypes.number,\n className: PropTypes.string,\n subMenuKey: PropTypes.string,\n rootPrefixCls: PropTypes.string,\n disabled: PropTypes.bool.def(true),\n title: PropTypes.any,\n },\n isMenuItemGroup: true,\n methods: {\n renderInnerMenuItem(item) {\n const { renderMenuItem, index, subMenuKey } = this.$props;\n return renderMenuItem(item, index, subMenuKey);\n },\n },\n render() {\n const props = { ...this.$props };\n const { rootPrefixCls, title } = props;\n const titleClassName = `${rootPrefixCls}-item-group-title`;\n const listClassName = `${rootPrefixCls}-item-group-list`;\n // menuAllProps.props.forEach(key => delete props[key])\n const listeners = { ...getListeners(this) };\n delete listeners.click;\n\n return (\n <li {...{ on: listeners, class: `${rootPrefixCls}-item-group` }}>\n <div class={titleClassName} title={typeof title === 'string' ? title : undefined}>\n {getComponentFromProp(this, 'title')}\n </div>\n <ul class={listClassName}>\n {this.$slots.default && this.$slots.default.map(this.renderInnerMenuItem)}\n </ul>\n </li>\n );\n },\n};\n\nexport default MenuItemGroup;\n","import PropTypes from '../vue-types';\n\nexport const storeShape = PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n setState: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired,\n});\n","import { storeShape } from './PropTypes';\nexport default {\n name: 'StoreProvider',\n props: {\n store: storeShape.isRequired,\n },\n provide() {\n return {\n storeContext: this.$props,\n };\n },\n render() {\n return this.$slots.default[0];\n },\n};\n","const autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1,\n};\n\nexport const placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -7],\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 7],\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n },\n};\n\nexport default placements;\n","import omit from 'omit.js';\nimport PropTypes from '../_util/vue-types';\nimport Trigger from '../vc-trigger';\nimport KeyCode from '../_util/KeyCode';\nimport { connect } from '../_util/store';\nimport SubPopupMenu from './SubPopupMenu';\nimport placements from './placements';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getComponentFromProp, filterEmpty, getListeners } from '../_util/props-util';\nimport { requestAnimationTimeout, cancelAnimationTimeout } from '../_util/requestAnimationTimeout';\nimport { noop, loopMenuItemRecursively, getMenuIdFromSubMenuEventKey } from './util';\nimport getTransitionProps from '../_util/getTransitionProps';\n\nlet guid = 0;\n\nconst popupPlacementMap = {\n horizontal: 'bottomLeft',\n vertical: 'rightTop',\n 'vertical-left': 'rightTop',\n 'vertical-right': 'leftTop',\n};\n\nconst updateDefaultActiveFirst = (store, eventKey, defaultActiveFirst) => {\n const menuId = getMenuIdFromSubMenuEventKey(eventKey);\n const state = store.getState();\n store.setState({\n defaultActiveFirst: {\n ...state.defaultActiveFirst,\n [menuId]: defaultActiveFirst,\n },\n });\n};\n\nconst SubMenu = {\n name: 'SubMenu',\n props: {\n parentMenu: PropTypes.object,\n title: PropTypes.any,\n selectedKeys: PropTypes.array.def([]),\n openKeys: PropTypes.array.def([]),\n openChange: PropTypes.func.def(noop),\n rootPrefixCls: PropTypes.string,\n eventKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n multiple: PropTypes.bool,\n active: PropTypes.bool, // TODO: remove\n isRootMenu: PropTypes.bool.def(false),\n index: PropTypes.number,\n triggerSubMenuAction: PropTypes.string,\n popupClassName: PropTypes.string,\n getPopupContainer: PropTypes.func,\n forceSubMenuRender: PropTypes.bool,\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n disabled: PropTypes.bool,\n subMenuOpenDelay: PropTypes.number.def(0.1),\n subMenuCloseDelay: PropTypes.number.def(0.1),\n level: PropTypes.number.def(1),\n inlineIndent: PropTypes.number.def(24),\n openTransitionName: PropTypes.string,\n popupOffset: PropTypes.array,\n isOpen: PropTypes.bool,\n store: PropTypes.object,\n mode: PropTypes.oneOf([\n 'horizontal',\n 'vertical',\n 'vertical-left',\n 'vertical-right',\n 'inline',\n ]).def('vertical'),\n manualRef: PropTypes.func.def(noop),\n builtinPlacements: PropTypes.object.def(() => ({})),\n itemIcon: PropTypes.any,\n expandIcon: PropTypes.any,\n subMenuKey: PropTypes.string,\n },\n mixins: [BaseMixin],\n isSubMenu: true,\n data() {\n const props = this.$props;\n const store = props.store;\n const eventKey = props.eventKey;\n const defaultActiveFirst = store.getState().defaultActiveFirst;\n let value = false;\n\n if (defaultActiveFirst) {\n value = defaultActiveFirst[eventKey];\n }\n\n updateDefaultActiveFirst(store, eventKey, value);\n return {\n // defaultActiveFirst: false,\n };\n },\n mounted() {\n this.$nextTick(() => {\n this.handleUpdated();\n });\n },\n\n updated() {\n this.$nextTick(() => {\n this.handleUpdated();\n });\n },\n\n beforeDestroy() {\n const { eventKey } = this;\n this.__emit('destroy', eventKey);\n\n /* istanbul ignore if */\n if (this.minWidthTimeout) {\n cancelAnimationTimeout(this.minWidthTimeout);\n this.minWidthTimeout = null;\n }\n\n /* istanbul ignore if */\n if (this.mouseenterTimeout) {\n cancelAnimationTimeout(this.mouseenterTimeout);\n this.mouseenterTimeout = null;\n }\n },\n methods: {\n handleUpdated() {\n const { mode, parentMenu, manualRef } = this.$props;\n\n // invoke customized ref to expose component to mixin\n if (manualRef) {\n manualRef(this);\n }\n\n if (mode !== 'horizontal' || !parentMenu.isRootMenu || !this.isOpen) {\n return;\n }\n\n this.minWidthTimeout = requestAnimationTimeout(() => this.adjustWidth(), 0);\n },\n\n onKeyDown(e) {\n const keyCode = e.keyCode;\n const menu = this.menuInstance;\n const { store, isOpen } = this.$props;\n\n if (keyCode === KeyCode.ENTER) {\n this.onTitleClick(e);\n updateDefaultActiveFirst(store, this.eventKey, true);\n return true;\n }\n\n if (keyCode === KeyCode.RIGHT) {\n if (isOpen) {\n menu.onKeyDown(e);\n } else {\n this.triggerOpenChange(true);\n // need to update current menu's defaultActiveFirst value\n updateDefaultActiveFirst(store, this.eventKey, true);\n }\n return true;\n }\n if (keyCode === KeyCode.LEFT) {\n let handled;\n if (isOpen) {\n handled = menu.onKeyDown(e);\n } else {\n return undefined;\n }\n if (!handled) {\n this.triggerOpenChange(false);\n handled = true;\n }\n return handled;\n }\n\n if (isOpen && (keyCode === KeyCode.UP || keyCode === KeyCode.DOWN)) {\n return menu.onKeyDown(e);\n }\n return undefined;\n },\n\n onPopupVisibleChange(visible) {\n this.triggerOpenChange(visible, visible ? 'mouseenter' : 'mouseleave');\n },\n\n onMouseEnter(e) {\n const { eventKey: key, store } = this.$props;\n updateDefaultActiveFirst(store, key, false);\n this.__emit('mouseenter', {\n key,\n domEvent: e,\n });\n },\n\n onMouseLeave(e) {\n const { eventKey, parentMenu } = this;\n parentMenu.subMenuInstance = this;\n // parentMenu.subMenuLeaveFn = () => {\n // // trigger mouseleave\n // this.__emit('mouseleave', {\n // key: eventKey,\n // domEvent: e,\n // })\n // }\n this.__emit('mouseleave', {\n key: eventKey,\n domEvent: e,\n });\n // prevent popup menu and submenu gap\n // parentMenu.subMenuLeaveTimer = setTimeout(parentMenu.subMenuLeaveFn, 100)\n },\n\n onTitleMouseEnter(domEvent) {\n const { eventKey: key } = this.$props;\n // this.clearSubMenuTitleLeaveTimer()\n this.__emit('itemHover', {\n key,\n hover: true,\n });\n this.__emit('titleMouseenter', {\n key,\n domEvent,\n });\n },\n\n onTitleMouseLeave(e) {\n const { eventKey, parentMenu } = this;\n parentMenu.subMenuInstance = this;\n this.__emit('itemHover', {\n key: eventKey,\n hover: false,\n });\n this.__emit('titleMouseleave', {\n key: eventKey,\n domEvent: e,\n });\n },\n\n onTitleClick(e) {\n const { triggerSubMenuAction, eventKey, isOpen, store } = this.$props;\n this.__emit('titleClick', {\n key: eventKey,\n domEvent: e,\n });\n if (triggerSubMenuAction === 'hover') {\n return;\n }\n this.triggerOpenChange(!isOpen, 'click');\n updateDefaultActiveFirst(store, eventKey, false);\n },\n\n onSubMenuClick(info) {\n this.__emit('click', this.addKeyPath(info));\n },\n\n getPrefixCls() {\n return `${this.$props.rootPrefixCls}-submenu`;\n },\n\n getActiveClassName() {\n return `${this.getPrefixCls()}-active`;\n },\n\n getDisabledClassName() {\n return `${this.getPrefixCls()}-disabled`;\n },\n\n getSelectedClassName() {\n return `${this.getPrefixCls()}-selected`;\n },\n\n getOpenClassName() {\n return `${this.$props.rootPrefixCls}-submenu-open`;\n },\n\n saveMenuInstance(c) {\n // children menu instance\n this.menuInstance = c;\n },\n\n addKeyPath(info) {\n return {\n ...info,\n keyPath: (info.keyPath || []).concat(this.$props.eventKey),\n };\n },\n\n // triggerOpenChange (open, type) {\n // const key = this.$props.eventKey\n // this.__emit('openChange', {\n // key,\n // item: this,\n // trigger: type,\n // open,\n // })\n // },\n triggerOpenChange(open, type) {\n const key = this.$props.eventKey;\n const openChange = () => {\n this.__emit('openChange', {\n key,\n item: this,\n trigger: type,\n open,\n });\n };\n if (type === 'mouseenter') {\n // make sure mouseenter happen after other menu item's mouseleave\n this.mouseenterTimeout = requestAnimationTimeout(() => {\n openChange();\n }, 0);\n } else {\n openChange();\n }\n },\n\n isChildrenSelected() {\n const ret = { find: false };\n loopMenuItemRecursively(this.$slots.default, this.$props.selectedKeys, ret);\n return ret.find;\n },\n // isOpen () {\n // return this.$props.openKeys.indexOf(this.$props.eventKey) !== -1\n // },\n\n adjustWidth() {\n /* istanbul ignore if */\n if (!this.$refs.subMenuTitle || !this.menuInstance) {\n return;\n }\n const popupMenu = this.menuInstance.$el;\n if (popupMenu.offsetWidth >= this.$refs.subMenuTitle.offsetWidth) {\n return;\n }\n\n /* istanbul ignore next */\n popupMenu.style.minWidth = `${this.$refs.subMenuTitle.offsetWidth}px`;\n },\n\n renderChildren(children) {\n const props = this.$props;\n const { select, deselect, openChange } = getListeners(this);\n const subPopupMenuProps = {\n props: {\n mode: props.mode === 'horizontal' ? 'vertical' : props.mode,\n visible: props.isOpen,\n level: props.level + 1,\n inlineIndent: props.inlineIndent,\n focusable: false,\n selectedKeys: props.selectedKeys,\n eventKey: `${props.eventKey}-menu-`,\n openKeys: props.openKeys,\n openTransitionName: props.openTransitionName,\n openAnimation: props.openAnimation,\n subMenuOpenDelay: props.subMenuOpenDelay,\n parentMenu: this,\n subMenuCloseDelay: props.subMenuCloseDelay,\n forceSubMenuRender: props.forceSubMenuRender,\n triggerSubMenuAction: props.triggerSubMenuAction,\n builtinPlacements: props.builtinPlacements,\n defaultActiveFirst: props.store.getState().defaultActiveFirst[\n getMenuIdFromSubMenuEventKey(props.eventKey)\n ],\n multiple: props.multiple,\n prefixCls: props.rootPrefixCls,\n manualRef: this.saveMenuInstance,\n itemIcon: getComponentFromProp(this, 'itemIcon'),\n expandIcon: getComponentFromProp(this, 'expandIcon'),\n children,\n },\n on: {\n click: this.onSubMenuClick,\n select,\n deselect,\n openChange,\n },\n id: this.internalMenuId,\n };\n const baseProps = subPopupMenuProps.props;\n const haveRendered = this.haveRendered;\n this.haveRendered = true;\n\n this.haveOpened = this.haveOpened || baseProps.visible || baseProps.forceSubMenuRender;\n // never rendered not planning to, don't render\n if (!this.haveOpened) {\n return <div />;\n }\n\n // don't show transition on first rendering (no animation for opened menu)\n // show appear transition if it's not visible (not sure why)\n // show appear transition if it's not inline mode\n const transitionAppear = haveRendered || !baseProps.visible || !baseProps.mode === 'inline';\n subPopupMenuProps.class = ` ${baseProps.prefixCls}-sub`;\n let animProps = { appear: transitionAppear, css: false };\n let transitionProps = {\n props: animProps,\n on: {},\n };\n if (baseProps.openTransitionName) {\n transitionProps = getTransitionProps(baseProps.openTransitionName, {\n appear: transitionAppear,\n });\n } else if (typeof baseProps.openAnimation === 'object') {\n animProps = { ...animProps, ...(baseProps.openAnimation.props || {}) };\n if (!transitionAppear) {\n animProps.appear = false;\n }\n } else if (typeof baseProps.openAnimation === 'string') {\n transitionProps = getTransitionProps(baseProps.openAnimation, { appear: transitionAppear });\n }\n\n if (typeof baseProps.openAnimation === 'object' && baseProps.openAnimation.on) {\n transitionProps.on = baseProps.openAnimation.on;\n }\n return (\n <transition {...transitionProps}>\n <SubPopupMenu v-show={props.isOpen} {...subPopupMenuProps} />\n </transition>\n );\n },\n },\n\n render() {\n const props = this.$props;\n const { rootPrefixCls, parentMenu } = this;\n const isOpen = props.isOpen;\n const prefixCls = this.getPrefixCls();\n const isInlineMode = props.mode === 'inline';\n const className = {\n [prefixCls]: true,\n [`${prefixCls}-${props.mode}`]: true,\n [this.getOpenClassName()]: isOpen,\n [this.getActiveClassName()]: props.active || (isOpen && !isInlineMode),\n [this.getDisabledClassName()]: props.disabled,\n [this.getSelectedClassName()]: this.isChildrenSelected(),\n };\n\n if (!this.internalMenuId) {\n if (props.eventKey) {\n this.internalMenuId = `${props.eventKey}$Menu`;\n } else {\n this.internalMenuId = `$__$${++guid}$Menu`;\n }\n }\n\n let mouseEvents = {};\n let titleClickEvents = {};\n let titleMouseEvents = {};\n if (!props.disabled) {\n mouseEvents = {\n mouseleave: this.onMouseLeave,\n mouseenter: this.onMouseEnter,\n };\n\n // only works in title, not outer li\n titleClickEvents = {\n click: this.onTitleClick,\n };\n titleMouseEvents = {\n mouseenter: this.onTitleMouseEnter,\n mouseleave: this.onTitleMouseLeave,\n };\n }\n\n const style = {};\n if (isInlineMode) {\n style.paddingLeft = `${props.inlineIndent * props.level}px`;\n }\n let ariaOwns = {};\n // only set aria-owns when menu is open\n // otherwise it would be an invalid aria-owns value\n // since corresponding node cannot be found\n if (isOpen) {\n ariaOwns = {\n 'aria-owns': this.internalMenuId,\n };\n }\n const titleProps = {\n attrs: {\n 'aria-expanded': isOpen,\n ...ariaOwns,\n 'aria-haspopup': 'true',\n title: typeof props.title === 'string' ? props.title : undefined,\n },\n on: {\n ...titleMouseEvents,\n ...titleClickEvents,\n },\n style,\n class: `${prefixCls}-title`,\n ref: 'subMenuTitle',\n };\n // expand custom icon should NOT be displayed in menu with horizontal mode.\n let icon = null;\n if (props.mode !== 'horizontal') {\n icon = getComponentFromProp(this, 'expandIcon', props);\n }\n const title = (\n <div {...titleProps}>\n {getComponentFromProp(this, 'title')}\n {icon || <i class={`${prefixCls}-arrow`} />}\n </div>\n );\n const children = this.renderChildren(filterEmpty(this.$slots.default));\n\n const getPopupContainer = this.parentMenu.isRootMenu\n ? this.parentMenu.getPopupContainer\n : triggerNode => triggerNode.parentNode;\n const popupPlacement = popupPlacementMap[props.mode];\n const popupAlign = props.popupOffset ? { offset: props.popupOffset } : {};\n const popupClassName = props.mode === 'inline' ? '' : props.popupClassName;\n const liProps = {\n on: { ...omit(getListeners(this), ['click']), ...mouseEvents },\n class: className,\n };\n\n return (\n <li {...liProps} role=\"menuitem\">\n {isInlineMode && title}\n {isInlineMode && children}\n {!isInlineMode && (\n <Trigger\n prefixCls={prefixCls}\n popupClassName={`${prefixCls}-popup ${rootPrefixCls}-${\n parentMenu.theme\n } ${popupClassName || ''}`}\n getPopupContainer={getPopupContainer}\n builtinPlacements={placements}\n builtinPlacements={Object.assign({}, placements, props.builtinPlacements)}\n popupPlacement={popupPlacement}\n popupVisible={isOpen}\n popupAlign={popupAlign}\n action={props.disabled ? [] : [props.triggerSubMenuAction]}\n mouseEnterDelay={props.subMenuOpenDelay}\n mouseLeaveDelay={props.subMenuCloseDelay}\n onPopupVisibleChange={this.onPopupVisibleChange}\n forceRender={props.forceSubMenuRender}\n // popupTransitionName='rc-menu-open-slide-up'\n // popupAnimation={transitionProps}\n >\n <template slot=\"popup\">{children}</template>\n {title}\n </Trigger>\n )}\n </li>\n );\n },\n};\n\nconst connected = connect(({ openKeys, activeKey, selectedKeys }, { eventKey, subMenuKey }) => ({\n isOpen: openKeys.indexOf(eventKey) > -1,\n active: activeKey[subMenuKey] === eventKey,\n selectedKeys,\n}))(SubMenu);\n\nconnected.isSubMenu = true;\n\nexport default connected;\n","import PropTypes from '../_util/vue-types';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport SubMenu from './SubMenu';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getWidth, setStyle, menuAllProps } from './util';\nimport { cloneElement } from '../_util/vnode';\nimport { getClass, getPropsData, getEvents, getListeners } from '../_util/props-util';\n\nconst canUseDOM = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nconst MENUITEM_OVERFLOWED_CLASSNAME = 'menuitem-overflowed';\nconst FLOAT_PRECISION_ADJUST = 0.5;\n\n// Fix ssr\nif (canUseDOM) {\n require('mutationobserver-shim');\n}\n\nconst DOMWrap = {\n name: 'DOMWrap',\n mixins: [BaseMixin],\n data() {\n this.resizeObserver = null;\n this.mutationObserver = null;\n\n // original scroll size of the list\n this.originalTotalWidth = 0;\n\n // copy of overflowed items\n this.overflowedItems = [];\n\n // cache item of the original items (so we can track the size and order)\n this.menuItemSizes = [];\n return {\n lastVisibleIndex: undefined,\n };\n },\n\n mounted() {\n this.$nextTick(() => {\n this.setChildrenWidthAndResize();\n if (this.level === 1 && this.mode === 'horizontal') {\n const menuUl = this.$el;\n if (!menuUl) {\n return;\n }\n this.resizeObserver = new ResizeObserver(entries => {\n entries.forEach(this.setChildrenWidthAndResize);\n });\n\n [].slice\n .call(menuUl.children)\n .concat(menuUl)\n .forEach(el => {\n this.resizeObserver.observe(el);\n });\n\n if (typeof MutationObserver !== 'undefined') {\n this.mutationObserver = new MutationObserver(() => {\n this.resizeObserver.disconnect();\n [].slice\n .call(menuUl.children)\n .concat(menuUl)\n .forEach(el => {\n this.resizeObserver.observe(el);\n });\n this.setChildrenWidthAndResize();\n });\n this.mutationObserver.observe(menuUl, {\n attributes: false,\n childList: true,\n subTree: false,\n });\n }\n }\n });\n },\n\n beforeDestroy() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n },\n methods: {\n // get all valid menuItem nodes\n getMenuItemNodes() {\n const { prefixCls } = this.$props;\n const ul = this.$el;\n if (!ul) {\n return [];\n }\n\n // filter out all overflowed indicator placeholder\n return [].slice\n .call(ul.children)\n .filter(node => node.className.split(' ').indexOf(`${prefixCls}-overflowed-submenu`) < 0);\n },\n\n getOverflowedSubMenuItem(keyPrefix, overflowedItems, renderPlaceholder) {\n const { overflowedIndicator, level, mode, prefixCls, theme } = this.$props;\n if (level !== 1 || mode !== 'horizontal') {\n return null;\n }\n // put all the overflowed item inside a submenu\n // with a title of overflow indicator ('...')\n const copy = this.$slots.default[0];\n const { title, ...rest } = getPropsData(copy); // eslint-disable-line no-unused-vars\n const events = getEvents(copy);\n let style = {};\n let key = `${keyPrefix}-overflowed-indicator`;\n let eventKey = `${keyPrefix}-overflowed-indicator`;\n\n if (overflowedItems.length === 0 && renderPlaceholder !== true) {\n style = {\n display: 'none',\n };\n } else if (renderPlaceholder) {\n style = {\n visibility: 'hidden',\n // prevent from taking normal dom space\n position: 'absolute',\n };\n key = `${key}-placeholder`;\n eventKey = `${eventKey}-placeholder`;\n }\n\n const popupClassName = theme ? `${prefixCls}-${theme}` : '';\n const props = {};\n const on = {};\n menuAllProps.props.forEach(k => {\n if (rest[k] !== undefined) {\n props[k] = rest[k];\n }\n });\n menuAllProps.on.forEach(k => {\n if (events[k] !== undefined) {\n on[k] = events[k];\n }\n });\n const subMenuProps = {\n props: {\n title: overflowedIndicator,\n popupClassName,\n ...props,\n eventKey,\n disabled: false,\n },\n class: `${prefixCls}-overflowed-submenu`,\n key,\n style,\n on,\n };\n\n return <SubMenu {...subMenuProps}>{overflowedItems}</SubMenu>;\n },\n\n // memorize rendered menuSize\n setChildrenWidthAndResize() {\n if (this.mode !== 'horizontal') {\n return;\n }\n const ul = this.$el;\n\n if (!ul) {\n return;\n }\n\n const ulChildrenNodes = ul.children;\n\n if (!ulChildrenNodes || ulChildrenNodes.length === 0) {\n return;\n }\n\n const lastOverflowedIndicatorPlaceholder = ul.children[ulChildrenNodes.length - 1];\n\n // need last overflowed indicator for calculating length;\n setStyle(lastOverflowedIndicatorPlaceholder, 'display', 'inline-block');\n\n const menuItemNodes = this.getMenuItemNodes();\n\n // reset display attribute for all hidden elements caused by overflow to calculate updated width\n // and then reset to original state after width calculation\n\n const overflowedItems = menuItemNodes.filter(\n c => c.className.split(' ').indexOf(MENUITEM_OVERFLOWED_CLASSNAME) >= 0,\n );\n\n overflowedItems.forEach(c => {\n setStyle(c, 'display', 'inline-block');\n });\n\n this.menuItemSizes = menuItemNodes.map(c => getWidth(c));\n\n overflowedItems.forEach(c => {\n setStyle(c, 'display', 'none');\n });\n this.overflowedIndicatorWidth = getWidth(ul.children[ul.children.length - 1]);\n this.originalTotalWidth = this.menuItemSizes.reduce((acc, cur) => acc + cur, 0);\n this.handleResize();\n // prevent the overflowed indicator from taking space;\n setStyle(lastOverflowedIndicatorPlaceholder, 'display', 'none');\n },\n\n handleResize() {\n if (this.mode !== 'horizontal') {\n return;\n }\n\n const ul = this.$el;\n if (!ul) {\n return;\n }\n const width = getWidth(ul);\n\n this.overflowedItems = [];\n let currentSumWidth = 0;\n\n // index for last visible child in horizontal mode\n let lastVisibleIndex;\n\n // float number comparison could be problematic\n // e.g. 0.1 + 0.2 > 0.3 =====> true\n // thus using FLOAT_PRECISION_ADJUST as buffer to help the situation\n if (this.originalTotalWidth > width + FLOAT_PRECISION_ADJUST) {\n lastVisibleIndex = -1;\n\n this.menuItemSizes.forEach(liWidth => {\n currentSumWidth += liWidth;\n if (currentSumWidth + this.overflowedIndicatorWidth <= width) {\n lastVisibleIndex += 1;\n }\n });\n }\n\n this.setState({ lastVisibleIndex });\n },\n\n renderChildren(children) {\n // need to take care of overflowed items in horizontal mode\n const { lastVisibleIndex } = this.$data;\n const className = getClass(this);\n return (children || []).reduce((acc, childNode, index) => {\n let item = childNode;\n const eventKey = getPropsData(childNode).eventKey;\n if (this.mode === 'horizontal') {\n let overflowed = this.getOverflowedSubMenuItem(eventKey, []);\n if (lastVisibleIndex !== undefined && className[`${this.prefixCls}-root`] !== -1) {\n if (index > lastVisibleIndex) {\n item = cloneElement(\n childNode,\n // 这里修改 eventKey 是为了防止隐藏状态下还会触发 openkeys 事件\n {\n style: { display: 'none' },\n props: { eventKey: `${eventKey}-hidden` },\n class: MENUITEM_OVERFLOWED_CLASSNAME,\n },\n );\n }\n if (index === lastVisibleIndex + 1) {\n this.overflowedItems = children.slice(lastVisibleIndex + 1).map(c => {\n return cloneElement(\n c,\n // children[index].key will become '.$key' in clone by default,\n // we have to overwrite with the correct key explicitly\n {\n key: getPropsData(c).eventKey,\n props: { mode: 'vertical-left' },\n },\n );\n });\n\n overflowed = this.getOverflowedSubMenuItem(eventKey, this.overflowedItems);\n }\n }\n\n const ret = [...acc, overflowed, item];\n\n if (index === children.length - 1) {\n // need a placeholder for calculating overflowed indicator width\n ret.push(this.getOverflowedSubMenuItem(eventKey, [], true));\n }\n return ret;\n }\n return [...acc, item];\n }, []);\n },\n },\n\n render() {\n const Tag = this.$props.tag;\n const tagProps = {\n on: getListeners(this),\n };\n return <Tag {...tagProps}>{this.renderChildren(this.$slots.default)}</Tag>;\n },\n};\n\nDOMWrap.props = {\n mode: PropTypes.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),\n prefixCls: PropTypes.string,\n level: PropTypes.number,\n theme: PropTypes.string,\n overflowedIndicator: PropTypes.node,\n visible: PropTypes.bool,\n hiddenClassName: PropTypes.string,\n tag: PropTypes.string.def('div'),\n};\n\nexport default DOMWrap;\n","import omit from 'omit.js';\nimport PropTypes from '../_util/vue-types';\nimport { connect } from '../_util/store';\nimport BaseMixin from '../_util/BaseMixin';\nimport KeyCode from '../_util/KeyCode';\nimport classNames from 'classnames';\nimport { getKeyFromChildrenIndex, loopMenuItem, noop, isMobileDevice } from './util';\nimport DOMWrap from './DOMWrap';\nimport { cloneElement } from '../_util/vnode';\nimport {\n initDefaultProps,\n getOptionProps,\n getPropsData,\n getEvents,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\n\nfunction allDisabled(arr) {\n if (!arr.length) {\n return true;\n }\n return arr.every(c => {\n return !!c.disabled;\n });\n}\n\nfunction updateActiveKey(store, menuId, activeKey) {\n const state = store.getState();\n store.setState({\n activeKey: {\n ...state.activeKey,\n [menuId]: activeKey,\n },\n });\n}\n\nfunction getEventKey(props) {\n // when eventKey not available ,it's menu and return menu id '0-menu-'\n return props.eventKey || '0-menu-';\n}\n\nexport function saveRef(key, c) {\n if (c) {\n const index = this.instanceArrayKeyIndexMap[key];\n this.instanceArray[index] = c;\n }\n}\nexport function getActiveKey(props, originalActiveKey) {\n let activeKey = originalActiveKey;\n const { eventKey, defaultActiveFirst, children } = props;\n if (activeKey !== undefined && activeKey !== null) {\n let found;\n loopMenuItem(children, (c, i) => {\n const propsData = c.componentOptions.propsData || {};\n if (c && !propsData.disabled && activeKey === getKeyFromChildrenIndex(c, eventKey, i)) {\n found = true;\n }\n });\n if (found) {\n return activeKey;\n }\n }\n activeKey = null;\n if (defaultActiveFirst) {\n loopMenuItem(children, (c, i) => {\n const propsData = c.componentOptions.propsData || {};\n const noActiveKey = activeKey === null || activeKey === undefined;\n if (noActiveKey && c && !propsData.disabled) {\n activeKey = getKeyFromChildrenIndex(c, eventKey, i);\n }\n });\n return activeKey;\n }\n return activeKey;\n}\n\nconst SubPopupMenu = {\n name: 'SubPopupMenu',\n props: initDefaultProps(\n {\n // onSelect: PropTypes.func,\n // onClick: PropTypes.func,\n // onDeselect: PropTypes.func,\n // onOpenChange: PropTypes.func,\n // onDestroy: PropTypes.func,\n prefixCls: PropTypes.string,\n openTransitionName: PropTypes.string,\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n openKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n visible: PropTypes.bool,\n parentMenu: PropTypes.object,\n eventKey: PropTypes.string,\n store: PropTypes.object,\n forceSubMenuRender: PropTypes.bool,\n\n // adding in refactor\n focusable: PropTypes.bool,\n multiple: PropTypes.bool,\n defaultActiveFirst: PropTypes.bool,\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectedKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n defaultSelectedKeys: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n ),\n defaultOpenKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n level: PropTypes.number,\n mode: PropTypes.oneOf([\n 'horizontal',\n 'vertical',\n 'vertical-left',\n 'vertical-right',\n 'inline',\n ]),\n triggerSubMenuAction: PropTypes.oneOf(['click', 'hover']),\n inlineIndent: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n manualRef: PropTypes.func,\n itemIcon: PropTypes.any,\n expandIcon: PropTypes.any,\n overflowedIndicator: PropTypes.any,\n children: PropTypes.any.def([]),\n __propsSymbol__: PropTypes.any, // mock componentWillReceiveProps\n },\n {\n prefixCls: 'rc-menu',\n mode: 'vertical',\n level: 1,\n inlineIndent: 24,\n visible: true,\n focusable: true,\n manualRef: noop,\n },\n ),\n\n mixins: [BaseMixin],\n created() {\n const props = getOptionProps(this);\n this.prevProps = { ...props };\n props.store.setState({\n activeKey: {\n ...props.store.getState().activeKey,\n [props.eventKey]: getActiveKey(props, props.activeKey),\n },\n });\n this.instanceArray = [];\n },\n mounted() {\n // invoke customized ref to expose component to mixin\n if (this.manualRef) {\n this.manualRef(this);\n }\n },\n updated() {\n const props = getOptionProps(this);\n const prevProps = this.prevProps;\n const originalActiveKey =\n 'activeKey' in props ? props.activeKey : props.store.getState().activeKey[getEventKey(props)];\n const activeKey = getActiveKey(props, originalActiveKey);\n if (activeKey !== originalActiveKey) {\n updateActiveKey(props.store, getEventKey(props), activeKey);\n } else if ('activeKey' in prevProps) {\n // If prev activeKey is not same as current activeKey,\n // we should set it.\n const prevActiveKey = getActiveKey(prevProps, prevProps.activeKey);\n if (activeKey !== prevActiveKey) {\n updateActiveKey(props.store, getEventKey(props), activeKey);\n }\n }\n this.prevProps = { ...props };\n },\n methods: {\n // all keyboard events callbacks run from here at first\n onKeyDown(e, callback) {\n const keyCode = e.keyCode;\n let handled;\n this.getFlatInstanceArray().forEach(obj => {\n if (obj && obj.active && obj.onKeyDown) {\n handled = obj.onKeyDown(e);\n }\n });\n if (handled) {\n return 1;\n }\n let activeItem = null;\n if (keyCode === KeyCode.UP || keyCode === KeyCode.DOWN) {\n activeItem = this.step(keyCode === KeyCode.UP ? -1 : 1);\n }\n if (activeItem) {\n e.preventDefault();\n updateActiveKey(this.$props.store, getEventKey(this.$props), activeItem.eventKey);\n\n if (typeof callback === 'function') {\n callback(activeItem);\n }\n\n return 1;\n }\n return undefined;\n },\n\n onItemHover(e) {\n const { key, hover } = e;\n updateActiveKey(this.$props.store, getEventKey(this.$props), hover ? key : null);\n },\n\n onDeselect(selectInfo) {\n this.__emit('deselect', selectInfo);\n },\n\n onSelect(selectInfo) {\n this.__emit('select', selectInfo);\n },\n\n onClick(e) {\n this.__emit('click', e);\n },\n\n onOpenChange(e) {\n this.__emit('openChange', e);\n },\n\n onDestroy(key) {\n this.__emit('destroy', key);\n },\n\n getFlatInstanceArray() {\n return this.instanceArray;\n },\n\n getOpenTransitionName() {\n return this.$props.openTransitionName;\n },\n\n step(direction) {\n let children = this.getFlatInstanceArray();\n const activeKey = this.$props.store.getState().activeKey[getEventKey(this.$props)];\n const len = children.length;\n if (!len) {\n return null;\n }\n if (direction < 0) {\n children = children.concat().reverse();\n }\n // find current activeIndex\n let activeIndex = -1;\n children.every((c, ci) => {\n if (c && c.eventKey === activeKey) {\n activeIndex = ci;\n return false;\n }\n return true;\n });\n if (\n !this.defaultActiveFirst &&\n activeIndex !== -1 &&\n allDisabled(children.slice(activeIndex, len - 1))\n ) {\n return undefined;\n }\n const start = (activeIndex + 1) % len;\n let i = start;\n\n do {\n const child = children[i];\n if (!child || child.disabled) {\n i = (i + 1) % len;\n } else {\n return child;\n }\n } while (i !== start);\n\n return null;\n },\n getIcon(instance, name) {\n if (instance.$createElement) {\n const temp = instance[name];\n if (temp !== undefined) {\n return temp;\n }\n return instance.$slots[name] || instance.$scopedSlots[name];\n } else {\n const temp = getPropsData(instance)[name];\n if (temp !== undefined) {\n return temp;\n }\n const slotsProp = [];\n const componentOptions = instance.componentOptions || {};\n (componentOptions.children || []).forEach(child => {\n if (child.data && child.data.slot === name) {\n if (child.tag === 'template') {\n slotsProp.push(child.children);\n } else {\n slotsProp.push(child);\n }\n }\n });\n return slotsProp.length ? slotsProp : undefined;\n }\n },\n renderCommonMenuItem(child, i, extraProps) {\n if (child.tag === undefined) {\n return child;\n }\n const state = this.$props.store.getState();\n const props = this.$props;\n const key = getKeyFromChildrenIndex(child, props.eventKey, i);\n const childProps = child.componentOptions.propsData || {};\n\n const isActive = key === state.activeKey[getEventKey(this.$props)];\n if (!childProps.disabled) {\n // manualRef的执行顺序不能保证,使用key映射ref在this.instanceArray中的位置\n this.instanceArrayKeyIndexMap[key] = Object.keys(this.instanceArrayKeyIndexMap).length;\n }\n const childListeners = getEvents(child);\n const newChildProps = {\n props: {\n mode: childProps.mode || props.mode,\n level: props.level,\n inlineIndent: props.inlineIndent,\n renderMenuItem: this.renderMenuItem,\n rootPrefixCls: props.prefixCls,\n index: i,\n parentMenu: props.parentMenu,\n // customized ref function, need to be invoked manually in child's componentDidMount\n manualRef: childProps.disabled ? noop : saveRef.bind(this, key),\n eventKey: key,\n active: !childProps.disabled && isActive,\n multiple: props.multiple,\n openTransitionName: this.getOpenTransitionName(),\n openAnimation: props.openAnimation,\n subMenuOpenDelay: props.subMenuOpenDelay,\n subMenuCloseDelay: props.subMenuCloseDelay,\n forceSubMenuRender: props.forceSubMenuRender,\n builtinPlacements: props.builtinPlacements,\n itemIcon: this.getIcon(child, 'itemIcon') || this.getIcon(this, 'itemIcon'),\n expandIcon: this.getIcon(child, 'expandIcon') || this.getIcon(this, 'expandIcon'),\n ...extraProps,\n },\n on: {\n click: e => {\n (childListeners.click || noop)(e);\n this.onClick(e);\n },\n itemHover: this.onItemHover,\n openChange: this.onOpenChange,\n deselect: this.onDeselect,\n // destroy: this.onDestroy,\n select: this.onSelect,\n },\n };\n // ref: https://github.com/ant-design/ant-design/issues/13943\n if (props.mode === 'inline' || isMobileDevice()) {\n newChildProps.props.triggerSubMenuAction = 'click';\n }\n return cloneElement(child, newChildProps);\n },\n\n renderMenuItem(c, i, subMenuKey) {\n if (!c) {\n return null;\n }\n const state = this.$props.store.getState();\n const extraProps = {\n openKeys: state.openKeys,\n selectedKeys: state.selectedKeys,\n triggerSubMenuAction: this.triggerSubMenuAction,\n isRootMenu: false,\n subMenuKey,\n };\n return this.renderCommonMenuItem(c, i, extraProps);\n },\n },\n render() {\n const { ...props } = this.$props;\n const { eventKey, prefixCls, visible, level, mode, theme } = props;\n this.instanceArray = [];\n this.instanceArrayKeyIndexMap = {};\n const className = classNames(props.prefixCls, `${props.prefixCls}-${props.mode}`);\n const domWrapProps = {\n props: {\n tag: 'ul',\n // hiddenClassName: `${prefixCls}-hidden`,\n visible,\n prefixCls,\n level,\n mode,\n theme,\n overflowedIndicator: getComponentFromProp(this, 'overflowedIndicator'),\n },\n attrs: {\n role: props.role || 'menu',\n },\n class: className,\n // Otherwise, the propagated click event will trigger another onClick\n on: omit(getListeners(this), ['click']),\n };\n // if (props.id) {\n // domProps.id = props.id\n // }\n if (props.focusable) {\n domWrapProps.attrs.tabIndex = '0';\n domWrapProps.on.keydown = this.onKeyDown;\n }\n return (\n // ESLint is not smart enough to know that the type of `children` was checked.\n /* eslint-disable */\n <DOMWrap {...domWrapProps}>\n {props.children.map((c, i) => this.renderMenuItem(c, i, eventKey || '0-menu-'))}\n </DOMWrap>\n /*eslint -enable */\n );\n },\n};\n\nexport default connect()(SubPopupMenu);\n","import PropTypes from '../_util/vue-types';\nexport default {\n prefixCls: PropTypes.string.def('rc-menu'),\n focusable: PropTypes.bool.def(true),\n multiple: PropTypes.bool,\n defaultActiveFirst: PropTypes.bool,\n visible: PropTypes.bool.def(true),\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectedKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n defaultSelectedKeys: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n ).def([]),\n defaultOpenKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])).def(\n [],\n ),\n openKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n mode: PropTypes.oneOf([\n 'horizontal',\n 'vertical',\n 'vertical-left',\n 'vertical-right',\n 'inline',\n ]).def('vertical'),\n triggerSubMenuAction: PropTypes.string.def('hover'),\n subMenuOpenDelay: PropTypes.number.def(0.1),\n subMenuCloseDelay: PropTypes.number.def(0.1),\n level: PropTypes.number.def(1),\n inlineIndent: PropTypes.number.def(24),\n theme: PropTypes.oneOf(['light', 'dark']).def('light'),\n getPopupContainer: PropTypes.func,\n openTransitionName: PropTypes.string,\n forceSubMenuRender: PropTypes.bool,\n selectable: PropTypes.bool,\n isRootMenu: PropTypes.bool.def(true),\n builtinPlacements: PropTypes.object.def(() => ({})),\n itemIcon: PropTypes.any,\n expandIcon: PropTypes.any,\n overflowedIndicator: PropTypes.any,\n};\n","// based on rc-menu 7.5.5\nimport Menu from './Menu';\nimport SubMenu from './SubMenu';\nimport MenuItem, { menuItemProps } from './MenuItem';\nimport MenuItemGroup from './MenuItemGroup';\nimport Divider from './Divider';\n\nexport {\n SubMenu,\n MenuItem as Item,\n menuItemProps as itemProps,\n MenuItem,\n MenuItemGroup,\n MenuItemGroup as ItemGroup,\n Divider,\n};\n\nexport default Menu;\n","import PropTypes from '../_util/vue-types';\nimport { Provider, create } from '../_util/store';\nimport { default as SubPopupMenu, getActiveKey } from './SubPopupMenu';\nimport BaseMixin from '../_util/BaseMixin';\nimport hasProp, {\n getOptionProps,\n getComponentFromProp,\n filterEmpty,\n getListeners,\n} from '../_util/props-util';\nimport commonPropsType from './commonPropsType';\n\nconst Menu = {\n name: 'Menu',\n props: {\n ...commonPropsType,\n selectable: PropTypes.bool.def(true),\n },\n mixins: [BaseMixin],\n\n data() {\n const props = getOptionProps(this);\n let selectedKeys = props.defaultSelectedKeys;\n let openKeys = props.defaultOpenKeys;\n if ('selectedKeys' in props) {\n selectedKeys = props.selectedKeys || [];\n }\n if ('openKeys' in props) {\n openKeys = props.openKeys || [];\n }\n\n this.store = create({\n selectedKeys,\n openKeys,\n activeKey: {\n '0-menu-': getActiveKey({ ...props, children: this.$slots.default || [] }, props.activeKey),\n },\n });\n\n // this.isRootMenu = true // 声明在props上\n return {};\n },\n mounted() {\n this.updateMiniStore();\n },\n updated() {\n this.updateMiniStore();\n },\n methods: {\n onSelect(selectInfo) {\n const props = this.$props;\n if (props.selectable) {\n // root menu\n let selectedKeys = this.store.getState().selectedKeys;\n const selectedKey = selectInfo.key;\n if (props.multiple) {\n selectedKeys = selectedKeys.concat([selectedKey]);\n } else {\n selectedKeys = [selectedKey];\n }\n if (!hasProp(this, 'selectedKeys')) {\n this.store.setState({\n selectedKeys,\n });\n }\n this.__emit('select', {\n ...selectInfo,\n selectedKeys,\n });\n }\n },\n\n onClick(e) {\n this.__emit('click', e);\n },\n // onKeyDown needs to be exposed as a instance method\n // e.g., in rc-select, we need to navigate menu item while\n // current active item is rc-select input box rather than the menu itself\n onKeyDown(e, callback) {\n this.$refs.innerMenu.getWrappedInstance().onKeyDown(e, callback);\n },\n onOpenChange(event) {\n const openKeys = this.store.getState().openKeys.concat();\n let changed = false;\n const processSingle = e => {\n let oneChanged = false;\n if (e.open) {\n oneChanged = openKeys.indexOf(e.key) === -1;\n if (oneChanged) {\n openKeys.push(e.key);\n }\n } else {\n const index = openKeys.indexOf(e.key);\n oneChanged = index !== -1;\n if (oneChanged) {\n openKeys.splice(index, 1);\n }\n }\n changed = changed || oneChanged;\n };\n if (Array.isArray(event)) {\n // batch change call\n event.forEach(processSingle);\n } else {\n processSingle(event);\n }\n if (changed) {\n if (!hasProp(this, 'openKeys')) {\n this.store.setState({ openKeys });\n }\n this.__emit('openChange', openKeys);\n }\n },\n\n onDeselect(selectInfo) {\n const props = this.$props;\n if (props.selectable) {\n const selectedKeys = this.store.getState().selectedKeys.concat();\n const selectedKey = selectInfo.key;\n const index = selectedKeys.indexOf(selectedKey);\n if (index !== -1) {\n selectedKeys.splice(index, 1);\n }\n if (!hasProp(this, 'selectedKeys')) {\n this.store.setState({\n selectedKeys,\n });\n }\n this.__emit('deselect', {\n ...selectInfo,\n selectedKeys,\n });\n }\n },\n\n getOpenTransitionName() {\n const props = this.$props;\n let transitionName = props.openTransitionName;\n const animationName = props.openAnimation;\n if (!transitionName && typeof animationName === 'string') {\n transitionName = `${props.prefixCls}-open-${animationName}`;\n }\n return transitionName;\n },\n updateMiniStore() {\n const props = getOptionProps(this);\n if ('selectedKeys' in props) {\n this.store.setState({\n selectedKeys: props.selectedKeys || [],\n });\n }\n if ('openKeys' in props) {\n this.store.setState({\n openKeys: props.openKeys || [],\n });\n }\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const subPopupMenuProps = {\n props: {\n ...props,\n itemIcon: getComponentFromProp(this, 'itemIcon', props),\n expandIcon: getComponentFromProp(this, 'expandIcon', props),\n overflowedIndicator: getComponentFromProp(this, 'overflowedIndicator', props) || (\n <span>···</span>\n ),\n openTransitionName: this.getOpenTransitionName(),\n parentMenu: this,\n children: filterEmpty(this.$slots.default || []),\n },\n class: `${props.prefixCls}-root`,\n on: {\n ...getListeners(this),\n click: this.onClick,\n openChange: this.onOpenChange,\n deselect: this.onDeselect,\n select: this.onSelect,\n },\n ref: 'innerMenu',\n };\n return (\n <Provider store={this.store}>\n <SubPopupMenu {...subPopupMenuProps} />\n </Provider>\n );\n },\n};\nexport default Menu;\n","export default function create(initialState) {\n let state = initialState;\n const listeners = [];\n\n function setState(partial) {\n state = { ...state, ...partial };\n for (let i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n }\n\n function getState() {\n return state;\n }\n\n function subscribe(listener) {\n listeners.push(listener);\n\n return function unsubscribe() {\n const index = listeners.indexOf(listener);\n listeners.splice(index, 1);\n };\n }\n\n return {\n setState,\n getState,\n subscribe,\n };\n}\n","import {\n getPropsData,\n getSlotOptions,\n getKey,\n getAttrs,\n getComponentFromProp,\n} from '../_util/props-util';\nimport { cloneVNodes } from '../_util/vnode';\n\nexport function toTitle(title) {\n if (typeof title === 'string') {\n return title.trim();\n }\n return '';\n}\nexport function getValuePropValue(child) {\n if (!child) {\n return null;\n }\n const props = getPropsData(child);\n if ('value' in props) {\n return props.value;\n }\n if (getKey(child) !== undefined) {\n return getKey(child);\n }\n if (getSlotOptions(child).isSelectOptGroup) {\n const label = getComponentFromProp(child, 'label');\n if (label) {\n return label;\n }\n }\n throw new Error(`Need at least a key or a value or a label (only for OptGroup) for ${child}`);\n}\n\nexport function getPropValue(child, prop) {\n if (prop === 'value') {\n return getValuePropValue(child);\n }\n if (prop === 'children') {\n const newChild = child.$slots\n ? cloneVNodes(child.$slots.default, true)\n : cloneVNodes(child.componentOptions.children, true);\n if (newChild.length === 1 && !newChild[0].tag) {\n return newChild[0].text;\n }\n return newChild;\n }\n const data = getPropsData(child);\n if (prop in data) {\n return data[prop];\n } else {\n return getAttrs(child)[prop];\n }\n}\n\nexport function isMultiple(props) {\n return props.multiple;\n}\n\nexport function isCombobox(props) {\n return props.combobox;\n}\n\nexport function isMultipleOrTags(props) {\n return props.multiple || props.tags;\n}\n\nexport function isMultipleOrTagsOrCombobox(props) {\n return isMultipleOrTags(props) || isCombobox(props);\n}\n\nexport function isSingleMode(props) {\n return !isMultipleOrTagsOrCombobox(props);\n}\n\nexport function toArray(value) {\n let ret = value;\n if (value === undefined) {\n ret = [];\n } else if (!Array.isArray(value)) {\n ret = [value];\n }\n return ret;\n}\n\nexport function getMapKey(value) {\n return `${typeof value}-${value}`;\n}\n\nexport function preventDefaultEvent(e) {\n e.preventDefault();\n}\n\nexport function findIndexInValueBySingleValue(value, singleValue) {\n let index = -1;\n if (value) {\n for (let i = 0; i < value.length; i++) {\n if (value[i] === singleValue) {\n index = i;\n break;\n }\n }\n }\n return index;\n}\n\nexport function getLabelFromPropsValue(value, key) {\n let label;\n value = toArray(value);\n if (value) {\n for (let i = 0; i < value.length; i++) {\n if (value[i].key === key) {\n label = value[i].label;\n break;\n }\n }\n }\n return label;\n}\n\nexport function getSelectKeys(menuItems, value) {\n if (value === null || value === undefined) {\n return [];\n }\n let selectedKeys = [];\n menuItems.forEach(item => {\n if (getSlotOptions(item).isMenuItemGroup) {\n selectedKeys = selectedKeys.concat(getSelectKeys(item.componentOptions.children, value));\n } else {\n const itemValue = getValuePropValue(item);\n const itemKey = item.key;\n if (findIndexInValueBySingleValue(value, itemValue) !== -1 && itemKey !== undefined) {\n selectedKeys.push(itemKey);\n }\n }\n });\n return selectedKeys;\n}\n\nexport const UNSELECTABLE_STYLE = {\n userSelect: 'none',\n WebkitUserSelect: 'none',\n};\n\nexport const UNSELECTABLE_ATTRIBUTE = {\n unselectable: 'on',\n};\n\nexport function findFirstMenuItem(children) {\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n const props = getPropsData(child);\n if (getSlotOptions(child).isMenuItemGroup) {\n const found = findFirstMenuItem(child.componentOptions.children);\n if (found) {\n return found;\n }\n } else if (!(props.disabled || props.disabled === '')) {\n return child;\n }\n }\n return null;\n}\n\nexport function includesSeparators(str, separators) {\n for (let i = 0; i < separators.length; ++i) {\n if (str.lastIndexOf(separators[i]) > 0) {\n return true;\n }\n }\n return false;\n}\n\nexport function splitBySeparators(str, separators) {\n const reg = new RegExp(`[${separators.join()}]`);\n return str.split(reg).filter(token => token);\n}\n\nexport function defaultFilterFn(input, child) {\n const props = getPropsData(child);\n if (props.disabled) {\n return false;\n }\n let value = getPropValue(child, this.optionFilterProp);\n if (value.length && value[0].text) {\n value = value[0].text;\n } else {\n value = String(value);\n }\n return value.toLowerCase().indexOf(input.toLowerCase()) > -1;\n}\n\nexport function validateOptionValue(value, props) {\n if (isSingleMode(props) || isMultiple(props)) {\n return;\n }\n if (typeof value !== 'string') {\n throw new Error(\n `Invalid \\`value\\` of type \\`${typeof value}\\` supplied to Option, ` +\n `expected \\`string\\` when \\`tags/combobox\\` is \\`true\\`.`,\n );\n }\n}\n\nexport function saveRef(instance, name) {\n return node => {\n instance[name] = node;\n };\n}\n\nexport function generateUUID() {\n if (process.env.NODE_ENV === 'test') {\n return 'test-uuid';\n }\n let d = new Date().getTime();\n const uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\n const r = (d + Math.random() * 16) % 16 | 0;\n d = Math.floor(d / 16);\n return (c === 'x' ? r : (r & 0x7) | 0x8).toString(16);\n });\n return uuid;\n}\n","import raf from 'raf';\nimport PropTypes from '../_util/vue-types';\nimport Menu from '../vc-menu';\nimport scrollIntoView from 'dom-scroll-into-view';\nimport { getSelectKeys, preventDefaultEvent } from './util';\nimport { cloneElement } from '../_util/vnode';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getSlotOptions, getComponentFromProp, getListeners } from '../_util/props-util';\n\nexport default {\n name: 'DropdownMenu',\n mixins: [BaseMixin],\n props: {\n ariaId: PropTypes.string,\n defaultActiveFirstOption: PropTypes.bool,\n value: PropTypes.any,\n dropdownMenuStyle: PropTypes.object,\n multiple: PropTypes.bool,\n // onPopupFocus: PropTypes.func,\n // onPopupScroll: PropTypes.func,\n // onMenuDeSelect: PropTypes.func,\n // onMenuSelect: PropTypes.func,\n prefixCls: PropTypes.string,\n menuItems: PropTypes.any,\n inputValue: PropTypes.string,\n visible: PropTypes.bool,\n backfillValue: PropTypes.any,\n firstActiveValue: PropTypes.string,\n menuItemSelectedIcon: PropTypes.any,\n },\n watch: {\n visible(val) {\n if (!val) {\n this.lastVisible = val;\n } else {\n this.$nextTick(() => {\n this.scrollActiveItemToView();\n });\n }\n },\n },\n\n created() {\n this.rafInstance = null;\n this.lastInputValue = this.$props.inputValue;\n this.lastVisible = false;\n },\n\n mounted() {\n this.$nextTick(() => {\n this.scrollActiveItemToView();\n });\n this.lastVisible = this.$props.visible;\n },\n updated() {\n const props = this.$props;\n // if (!this.prevVisible && props.visible) {\n // this.$nextTick(() => {\n // this.scrollActiveItemToView();\n // });\n // }\n this.lastVisible = props.visible;\n this.lastInputValue = props.inputValue;\n this.prevVisible = this.visible;\n },\n beforeDestroy() {\n if (this.rafInstance) {\n raf.cancel(this.rafInstance);\n }\n },\n methods: {\n scrollActiveItemToView() {\n // scroll into view\n const itemComponent = this.firstActiveItem && this.firstActiveItem.$el;\n const props = this.$props;\n const { value, visible, firstActiveValue } = props;\n if (!itemComponent || !visible) {\n return;\n }\n const scrollIntoViewOpts = {\n onlyScrollIfNeeded: true,\n };\n if ((!value || value.length === 0) && firstActiveValue) {\n scrollIntoViewOpts.alignWithTop = true;\n }\n // Delay to scroll since current frame item position is not ready when pre view is by filter\n // https://github.com/ant-design/ant-design/issues/11268#issuecomment-406634462\n this.rafInstance = raf(() => {\n scrollIntoView(itemComponent, this.$refs.menuRef.$el, scrollIntoViewOpts);\n });\n },\n\n renderMenu() {\n const props = this.$props;\n const {\n menuItems,\n defaultActiveFirstOption,\n value,\n prefixCls,\n multiple,\n inputValue,\n firstActiveValue,\n dropdownMenuStyle,\n backfillValue,\n visible,\n } = props;\n const menuItemSelectedIcon = getComponentFromProp(this, 'menuItemSelectedIcon');\n const { menuDeselect, menuSelect, popupScroll } = getListeners(this);\n if (menuItems && menuItems.length) {\n const selectedKeys = getSelectKeys(menuItems, value);\n const menuProps = {\n props: {\n multiple,\n itemIcon: multiple ? menuItemSelectedIcon : null,\n selectedKeys,\n prefixCls: `${prefixCls}-menu`,\n },\n on: {},\n style: dropdownMenuStyle,\n ref: 'menuRef',\n attrs: {\n role: 'listbox',\n },\n };\n if (popupScroll) {\n menuProps.on.scroll = popupScroll;\n }\n if (multiple) {\n menuProps.on.deselect = menuDeselect;\n menuProps.on.select = menuSelect;\n } else {\n menuProps.on.click = menuSelect;\n }\n const activeKeyProps = {};\n\n let defaultActiveFirst = defaultActiveFirstOption;\n let clonedMenuItems = menuItems;\n if (selectedKeys.length || firstActiveValue) {\n if (props.visible && !this.lastVisible) {\n activeKeyProps.activeKey = selectedKeys[0] || firstActiveValue;\n } else if (!visible) {\n // Do not trigger auto active since we already have selectedKeys\n if (selectedKeys[0]) {\n defaultActiveFirst = false;\n }\n activeKeyProps.activeKey = undefined;\n }\n let foundFirst = false;\n // set firstActiveItem via cloning menus\n // for scroll into view\n const clone = item => {\n if (\n (!foundFirst && selectedKeys.indexOf(item.key) !== -1) ||\n (!foundFirst && !selectedKeys.length && firstActiveValue.indexOf(item.key) !== -1)\n ) {\n foundFirst = true;\n return cloneElement(item, {\n directives: [\n {\n name: 'ant-ref',\n value: ref => {\n this.firstActiveItem = ref;\n },\n },\n ],\n });\n }\n return item;\n };\n\n clonedMenuItems = menuItems.map(item => {\n if (getSlotOptions(item).isMenuItemGroup) {\n const children = item.componentOptions.children.map(clone);\n return cloneElement(item, { children });\n }\n return clone(item);\n });\n } else {\n // Clear firstActiveItem when dropdown menu items was empty\n // Avoid `Unable to find node on an unmounted component`\n // https://github.com/ant-design/ant-design/issues/10774\n this.firstActiveItem = null;\n }\n\n // clear activeKey when inputValue change\n const lastValue = value && value[value.length - 1];\n if (inputValue !== this.lastInputValue && (!lastValue || lastValue !== backfillValue)) {\n activeKeyProps.activeKey = '';\n }\n menuProps.props = { ...activeKeyProps, ...menuProps.props, defaultActiveFirst };\n return <Menu {...menuProps}>{clonedMenuItems}</Menu>;\n }\n return null;\n },\n },\n render() {\n const renderMenu = this.renderMenu();\n const { popupFocus, popupScroll } = getListeners(this);\n return renderMenu ? (\n <div\n style={{\n overflow: 'auto',\n transform: 'translateZ(0)',\n }}\n id={this.$props.ariaId}\n tabIndex=\"-1\"\n onFocus={popupFocus}\n onMousedown={preventDefaultEvent}\n onScroll={popupScroll}\n ref=\"menuContainer\"\n >\n {renderMenu}\n </div>\n ) : null;\n },\n};\n","import classnames from 'classnames';\nimport raf from 'raf';\nimport Trigger from '../vc-trigger';\nimport PropTypes from '../_util/vue-types';\nimport DropdownMenu from './DropdownMenu';\nimport { isSingleMode, saveRef } from './util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getListeners } from '../_util/props-util';\n\nconst BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n};\n\nexport default {\n name: 'SelectTrigger',\n mixins: [BaseMixin],\n props: {\n // onPopupFocus: PropTypes.func,\n // onPopupScroll: PropTypes.func,\n dropdownMatchSelectWidth: PropTypes.bool,\n defaultActiveFirstOption: PropTypes.bool,\n dropdownAlign: PropTypes.object,\n visible: PropTypes.bool,\n disabled: PropTypes.bool,\n showSearch: PropTypes.bool,\n dropdownClassName: PropTypes.string,\n dropdownStyle: PropTypes.object,\n dropdownMenuStyle: PropTypes.object,\n multiple: PropTypes.bool,\n inputValue: PropTypes.string,\n filterOption: PropTypes.any,\n empty: PropTypes.bool,\n options: PropTypes.any,\n prefixCls: PropTypes.string,\n popupClassName: PropTypes.string,\n value: PropTypes.array,\n // children: PropTypes.any,\n showAction: PropTypes.arrayOf(PropTypes.string),\n combobox: PropTypes.bool,\n animation: PropTypes.string,\n transitionName: PropTypes.string,\n getPopupContainer: PropTypes.func,\n backfillValue: PropTypes.any,\n menuItemSelectedIcon: PropTypes.any,\n dropdownRender: PropTypes.func,\n ariaId: PropTypes.string,\n },\n data() {\n return {\n dropdownWidth: 0,\n };\n },\n created() {\n this.rafInstance = null;\n this.saveDropdownMenuRef = saveRef(this, 'dropdownMenuRef');\n this.saveTriggerRef = saveRef(this, 'triggerRef');\n },\n\n mounted() {\n this.$nextTick(() => {\n this.setDropdownWidth();\n });\n },\n\n updated() {\n this.$nextTick(() => {\n this.setDropdownWidth();\n });\n },\n beforeDestroy() {\n this.cancelRafInstance();\n },\n methods: {\n setDropdownWidth() {\n this.cancelRafInstance();\n this.rafInstance = raf(() => {\n const width = this.$el.offsetWidth;\n if (width !== this.dropdownWidth) {\n this.setState({ dropdownWidth: width });\n }\n });\n },\n cancelRafInstance() {\n if (this.rafInstance) {\n raf.cancel(this.rafInstance);\n }\n },\n getInnerMenu() {\n return this.dropdownMenuRef && this.dropdownMenuRef.$refs.menuRef;\n },\n\n getPopupDOMNode() {\n return this.triggerRef.getPopupDomNode();\n },\n\n getDropdownElement(newProps) {\n const {\n value,\n firstActiveValue,\n defaultActiveFirstOption,\n dropdownMenuStyle,\n getDropdownPrefixCls,\n backfillValue,\n menuItemSelectedIcon,\n } = this;\n const { menuSelect, menuDeselect, popupScroll } = getListeners(this);\n const props = this.$props;\n\n const { dropdownRender, ariaId } = props;\n const dropdownMenuProps = {\n props: {\n ...newProps.props,\n ariaId,\n prefixCls: getDropdownPrefixCls(),\n value,\n firstActiveValue,\n defaultActiveFirstOption,\n dropdownMenuStyle,\n backfillValue,\n menuItemSelectedIcon,\n },\n on: {\n ...newProps.on,\n menuSelect,\n menuDeselect,\n popupScroll,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.saveDropdownMenuRef,\n },\n ],\n };\n const menuNode = <DropdownMenu {...dropdownMenuProps} />;\n\n if (dropdownRender) {\n return dropdownRender(menuNode, props);\n }\n return null;\n },\n\n getDropdownTransitionName() {\n const props = this.$props;\n let transitionName = props.transitionName;\n if (!transitionName && props.animation) {\n transitionName = `${this.getDropdownPrefixCls()}-${props.animation}`;\n }\n return transitionName;\n },\n\n getDropdownPrefixCls() {\n return `${this.prefixCls}-dropdown`;\n },\n },\n\n render() {\n const { $props, $slots } = this;\n const {\n multiple,\n visible,\n inputValue,\n dropdownAlign,\n disabled,\n showSearch,\n dropdownClassName,\n dropdownStyle,\n dropdownMatchSelectWidth,\n options,\n getPopupContainer,\n showAction,\n empty,\n } = $props;\n const { mouseenter, mouseleave, popupFocus, dropdownVisibleChange } = getListeners(this);\n const dropdownPrefixCls = this.getDropdownPrefixCls();\n const popupClassName = {\n [dropdownClassName]: !!dropdownClassName,\n [`${dropdownPrefixCls}--${multiple ? 'multiple' : 'single'}`]: 1,\n [`${dropdownPrefixCls}--empty`]: empty,\n };\n const popupElement = this.getDropdownElement({\n props: {\n menuItems: options,\n multiple,\n inputValue,\n visible,\n },\n on: {\n popupFocus,\n },\n });\n let hideAction;\n if (disabled) {\n hideAction = [];\n } else if (isSingleMode($props) && !showSearch) {\n hideAction = ['click'];\n } else {\n hideAction = ['blur'];\n }\n const popupStyle = { ...dropdownStyle };\n const widthProp = dropdownMatchSelectWidth ? 'width' : 'minWidth';\n if (this.dropdownWidth) {\n popupStyle[widthProp] = `${this.dropdownWidth}px`;\n }\n const triggerProps = {\n props: {\n ...$props,\n showAction: disabled ? [] : showAction,\n hideAction,\n ref: 'triggerRef',\n popupPlacement: 'bottomLeft',\n builtinPlacements: BUILT_IN_PLACEMENTS,\n prefixCls: dropdownPrefixCls,\n popupTransitionName: this.getDropdownTransitionName(),\n popupAlign: dropdownAlign,\n popupVisible: visible,\n getPopupContainer,\n popupClassName: classnames(popupClassName),\n popupStyle,\n },\n on: {\n popupVisibleChange: dropdownVisibleChange,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.saveTriggerRef,\n },\n ],\n };\n if (mouseenter) {\n triggerProps.on.mouseenter = mouseenter;\n }\n if (mouseleave) {\n triggerProps.on.mouseleave = mouseleave;\n }\n return (\n <Trigger {...triggerProps}>\n {$slots.default}\n <template slot=\"popup\">{popupElement}</template>\n </Trigger>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\n\nexport const SelectPropTypes = {\n defaultActiveFirstOption: PropTypes.bool,\n multiple: PropTypes.bool,\n filterOption: PropTypes.any,\n // children: PropTypes.any,\n showSearch: PropTypes.bool,\n disabled: PropTypes.bool,\n allowClear: PropTypes.bool,\n showArrow: PropTypes.bool,\n tags: PropTypes.bool,\n prefixCls: PropTypes.string,\n // className: PropTypes.string,\n transitionName: PropTypes.string,\n optionLabelProp: PropTypes.string,\n optionFilterProp: PropTypes.string,\n animation: PropTypes.string,\n choiceTransitionName: PropTypes.string,\n open: PropTypes.bool,\n defaultOpen: PropTypes.bool,\n // onChange: PropTypes.func,\n // onBlur: PropTypes.func,\n // onFocus: PropTypes.func,\n // onSelect: PropTypes.func,\n // onSearch: PropTypes.func,\n // onPopupScroll: PropTypes.func,\n // onMouseEnter: PropTypes.func,\n // onMouseLeave: PropTypes.func,\n // onInputKeyDown: PropTypes.func,\n placeholder: PropTypes.any,\n // onDeselect: PropTypes.func,\n labelInValue: PropTypes.bool,\n loading: PropTypes.bool,\n value: PropTypes.any,\n defaultValue: PropTypes.any,\n dropdownStyle: PropTypes.object,\n dropdownClassName: PropTypes.string,\n maxTagTextLength: PropTypes.number,\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.any,\n tokenSeparators: PropTypes.arrayOf(PropTypes.string),\n getInputElement: PropTypes.func,\n showAction: PropTypes.arrayOf(PropTypes.string),\n autoFocus: PropTypes.bool,\n getPopupContainer: PropTypes.func,\n clearIcon: PropTypes.any,\n inputIcon: PropTypes.any,\n removeIcon: PropTypes.any,\n menuItemSelectedIcon: PropTypes.any,\n dropdownRender: PropTypes.func,\n mode: PropTypes.oneOf(['multiple', 'tags']),\n backfill: PropTypes.bool,\n dropdownAlign: PropTypes.any,\n dropdownMatchSelectWidth: PropTypes.bool,\n dropdownMenuStyle: PropTypes.object,\n notFoundContent: PropTypes.oneOfType([String, Number]),\n tabIndex: PropTypes.oneOfType([String, Number]),\n};\n","/* eslint-disable no-undef */\n// Browser environment sniffing\nexport const inBrowser = typeof window !== 'undefined';\nexport const inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nexport const weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nexport const UA = inBrowser && window.navigator.userAgent.toLowerCase();\nexport const isIE = UA && /msie|trident/.test(UA);\nexport const isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nexport const isEdge = UA && UA.indexOf('edge/') > 0;\nexport const isAndroid = (UA && UA.indexOf('android') > 0) || weexPlatform === 'android';\nexport const isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || weexPlatform === 'ios';\nexport const isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nexport const isPhantomJS = UA && /phantomjs/.test(UA);\nexport const isFF = UA && UA.match(/firefox\\/(\\d+)/);\n","import KeyCode from '../_util/KeyCode';\nimport PropTypes from '../_util/vue-types';\nimport classnames from 'classnames';\nimport classes from 'component-classes';\nimport { Item as MenuItem, ItemGroup as MenuItemGroup } from '../vc-menu';\nimport warning from 'warning';\nimport Vue from 'vue';\nimport Option from './Option';\nimport OptGroup from './OptGroup';\nimport {\n hasProp,\n getSlotOptions,\n getPropsData,\n getValueByProp as getValue,\n getComponentFromProp,\n getEvents,\n getClass,\n getStyle,\n getAttrs,\n getOptionProps,\n getSlots,\n getListeners,\n} from '../_util/props-util';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport { cloneElement } from '../_util/vnode';\nimport BaseMixin from '../_util/BaseMixin';\nimport proxyComponent from '../_util/proxyComponent';\nimport ref from 'vue-ref';\nimport SelectTrigger from './SelectTrigger';\nimport {\n defaultFilterFn,\n findFirstMenuItem,\n findIndexInValueBySingleValue,\n generateUUID,\n getLabelFromPropsValue,\n getMapKey,\n getPropValue,\n getValuePropValue,\n includesSeparators,\n isCombobox,\n isMultipleOrTags,\n isMultipleOrTagsOrCombobox,\n isSingleMode,\n preventDefaultEvent,\n saveRef,\n splitBySeparators,\n toArray,\n toTitle,\n UNSELECTABLE_ATTRIBUTE,\n UNSELECTABLE_STYLE,\n validateOptionValue,\n} from './util';\nimport { SelectPropTypes } from './PropTypes';\nimport contains from '../vc-util/Dom/contains';\nimport { isIE, isEdge } from '../_util/env';\n\nVue.use(ref, { name: 'ant-ref' });\nconst SELECT_EMPTY_VALUE_KEY = 'RC_SELECT_EMPTY_VALUE_KEY';\n\nconst noop = () => null;\n\n// Where el is the DOM element you'd like to test for visibility\nfunction isHidden(node) {\n return !node || node.offsetParent === null;\n}\n\nfunction chaining(...fns) {\n return function(...args) {\n // eslint-disable-line\n // eslint-disable-line\n for (let i = 0; i < fns.length; i++) {\n if (fns[i] && typeof fns[i] === 'function') {\n fns[i].apply(chaining, args);\n }\n }\n };\n}\nconst Select = {\n inheritAttrs: false,\n Option,\n OptGroup,\n name: 'Select',\n mixins: [BaseMixin],\n props: {\n ...SelectPropTypes,\n prefixCls: SelectPropTypes.prefixCls.def('rc-select'),\n defaultOpen: PropTypes.bool.def(false),\n labelInValue: SelectPropTypes.labelInValue.def(false),\n defaultActiveFirstOption: SelectPropTypes.defaultActiveFirstOption.def(true),\n showSearch: SelectPropTypes.showSearch.def(true),\n allowClear: SelectPropTypes.allowClear.def(false),\n placeholder: SelectPropTypes.placeholder.def(''),\n // showArrow: SelectPropTypes.showArrow.def(true),\n dropdownMatchSelectWidth: PropTypes.bool.def(true),\n dropdownStyle: SelectPropTypes.dropdownStyle.def(() => ({})),\n dropdownMenuStyle: PropTypes.object.def(() => ({})),\n optionFilterProp: SelectPropTypes.optionFilterProp.def('value'),\n optionLabelProp: SelectPropTypes.optionLabelProp.def('value'),\n notFoundContent: PropTypes.any.def('Not Found'),\n backfill: PropTypes.bool.def(false),\n showAction: SelectPropTypes.showAction.def(['click']),\n combobox: PropTypes.bool.def(false),\n tokenSeparators: PropTypes.arrayOf(PropTypes.string).def([]),\n autoClearSearchValue: PropTypes.bool.def(true),\n tabIndex: PropTypes.any.def(0),\n dropdownRender: PropTypes.func.def(menu => menu),\n // onChange: noop,\n // onFocus: noop,\n // onBlur: noop,\n // onSelect: noop,\n // onSearch: noop,\n // onDeselect: noop,\n // onInputKeydown: noop,\n },\n model: {\n prop: 'value',\n event: 'change',\n },\n created() {\n this.saveInputRef = saveRef(this, 'inputRef');\n this.saveInputMirrorRef = saveRef(this, 'inputMirrorRef');\n this.saveTopCtrlRef = saveRef(this, 'topCtrlRef');\n this.saveSelectTriggerRef = saveRef(this, 'selectTriggerRef');\n this.saveRootRef = saveRef(this, 'rootRef');\n this.saveSelectionRef = saveRef(this, 'selectionRef');\n this._focused = false;\n this._mouseDown = false;\n this._options = [];\n this._empty = false;\n },\n data() {\n const props = getOptionProps(this);\n const optionsInfo = this.getOptionsInfoFromProps(props);\n warning(\n this.__propsSymbol__,\n 'Replace slots.default with props.children and pass props.__propsSymbol__',\n );\n if (props.tags && typeof props.filterOption !== 'function') {\n const isDisabledExist = Object.keys(optionsInfo).some(key => optionsInfo[key].disabled);\n warning(\n !isDisabledExist,\n 'Please avoid setting option to disabled in tags mode since user can always type text as tag.',\n );\n }\n const state = {\n _value: this.getValueFromProps(props, true), // true: use default value\n _inputValue: props.combobox\n ? this.getInputValueForCombobox(\n props,\n optionsInfo,\n true, // use default value\n )\n : '',\n _open: props.defaultOpen,\n _optionsInfo: optionsInfo,\n _backfillValue: '',\n // a flag for aviod redundant getOptionsInfoFromProps call\n _skipBuildOptionsInfo: true,\n _ariaId: generateUUID(),\n };\n return {\n ...state,\n _mirrorInputValue: state._inputValue, // https://github.com/vueComponent/ant-design-vue/issues/1458\n ...this.getDerivedState(props, state),\n };\n },\n\n mounted() {\n this.$nextTick(() => {\n // when defaultOpen is true, we should auto focus search input\n // https://github.com/ant-design/ant-design/issues/14254\n if (this.autoFocus || this._open) {\n this.focus();\n }\n // this.setState({\n // _ariaId: generateUUID(),\n // });\n });\n },\n watch: {\n __propsSymbol__() {\n Object.assign(this.$data, this.getDerivedState(getOptionProps(this), this.$data));\n },\n '$data._inputValue'(val) {\n this.$data._mirrorInputValue = val;\n },\n },\n updated() {\n this.$nextTick(() => {\n if (isMultipleOrTags(this.$props)) {\n const inputNode = this.getInputDOMNode();\n const mirrorNode = this.getInputMirrorDOMNode();\n if (inputNode && inputNode.value && mirrorNode) {\n inputNode.style.width = '';\n inputNode.style.width = `${mirrorNode.clientWidth + 10}px`;\n } else if (inputNode) {\n inputNode.style.width = '';\n }\n }\n this.forcePopupAlign();\n });\n },\n beforeDestroy() {\n this.clearFocusTime();\n this.clearBlurTime();\n this.clearComboboxTime();\n if (this.dropdownContainer) {\n document.body.removeChild(this.dropdownContainer);\n this.dropdownContainer = null;\n }\n },\n methods: {\n getDerivedState(nextProps, prevState) {\n const optionsInfo = prevState._skipBuildOptionsInfo\n ? prevState._optionsInfo\n : this.getOptionsInfoFromProps(nextProps, prevState);\n\n const newState = {\n _optionsInfo: optionsInfo,\n _skipBuildOptionsInfo: false,\n };\n\n if ('open' in nextProps) {\n newState._open = nextProps.open;\n }\n\n if ('value' in nextProps) {\n const value = this.getValueFromProps(nextProps);\n newState._value = value;\n if (nextProps.combobox) {\n newState._inputValue = this.getInputValueForCombobox(nextProps, optionsInfo);\n }\n }\n return newState;\n },\n getOptionsFromChildren(children = [], options = []) {\n children.forEach(child => {\n if (!child.data || child.data.slot !== undefined) {\n return;\n }\n if (getSlotOptions(child).isSelectOptGroup) {\n this.getOptionsFromChildren(child.componentOptions.children, options);\n } else {\n options.push(child);\n }\n });\n return options;\n },\n getInputValueForCombobox(props, optionsInfo, useDefaultValue) {\n let value = [];\n if ('value' in props && !useDefaultValue) {\n value = toArray(props.value);\n }\n if ('defaultValue' in props && useDefaultValue) {\n value = toArray(props.defaultValue);\n }\n if (value.length) {\n value = value[0];\n } else {\n return '';\n }\n let label = value;\n if (props.labelInValue) {\n label = value.label;\n } else if (optionsInfo[getMapKey(value)]) {\n label = optionsInfo[getMapKey(value)].label;\n }\n if (label === undefined) {\n label = '';\n }\n return label;\n },\n\n getLabelFromOption(props, option) {\n return getPropValue(option, props.optionLabelProp);\n },\n\n getOptionsInfoFromProps(props, preState) {\n const options = this.getOptionsFromChildren(this.$props.children);\n const optionsInfo = {};\n options.forEach(option => {\n const singleValue = getValuePropValue(option);\n optionsInfo[getMapKey(singleValue)] = {\n option,\n value: singleValue,\n label: this.getLabelFromOption(props, option),\n title: getValue(option, 'title'),\n disabled: getValue(option, 'disabled'),\n };\n });\n if (preState) {\n // keep option info in pre state value.\n const oldOptionsInfo = preState._optionsInfo;\n const value = preState._value;\n if (value) {\n value.forEach(v => {\n const key = getMapKey(v);\n if (!optionsInfo[key] && oldOptionsInfo[key] !== undefined) {\n optionsInfo[key] = oldOptionsInfo[key];\n }\n });\n }\n }\n return optionsInfo;\n },\n\n getValueFromProps(props, useDefaultValue) {\n let value = [];\n if ('value' in props && !useDefaultValue) {\n value = toArray(props.value);\n }\n if ('defaultValue' in props && useDefaultValue) {\n value = toArray(props.defaultValue);\n }\n if (props.labelInValue) {\n value = value.map(v => {\n return v.key;\n });\n }\n return value;\n },\n\n onInputChange(e) {\n const { value: val, composing } = e.target;\n const { _inputValue = '' } = this.$data;\n if (e.isComposing || composing || _inputValue === val) {\n this.setState({\n _mirrorInputValue: val,\n });\n return;\n }\n const { tokenSeparators } = this.$props;\n if (\n isMultipleOrTags(this.$props) &&\n tokenSeparators.length &&\n includesSeparators(val, tokenSeparators)\n ) {\n const nextValue = this.getValueByInput(val);\n if (nextValue !== undefined) {\n this.fireChange(nextValue);\n }\n this.setOpenState(false, { needFocus: true });\n this.setInputValue('', false);\n return;\n }\n this.setInputValue(val);\n this.setState({\n _open: true,\n });\n if (isCombobox(this.$props)) {\n this.fireChange([val]);\n }\n },\n\n onDropdownVisibleChange(open) {\n if (open && !this._focused) {\n this.clearBlurTime();\n this.timeoutFocus();\n this._focused = true;\n this.updateFocusClassName();\n }\n this.setOpenState(open);\n },\n\n // combobox ignore\n onKeyDown(event) {\n const { _open: open } = this.$data;\n const { disabled } = this.$props;\n if (disabled) {\n return;\n }\n const keyCode = event.keyCode;\n if (open && !this.getInputDOMNode()) {\n this.onInputKeydown(event);\n } else if (keyCode === KeyCode.ENTER || keyCode === KeyCode.DOWN) {\n // vue state是同步更新,onKeyDown在onMenuSelect后会再次调用,单选时不在调用setOpenState\n // https://github.com/vueComponent/ant-design-vue/issues/1142\n if (keyCode === KeyCode.ENTER && !isMultipleOrTags(this.$props)) {\n this.maybeFocus(true);\n } else if (!open) {\n this.setOpenState(true);\n }\n event.preventDefault();\n } else if (keyCode === KeyCode.SPACE) {\n // Not block space if popup is shown\n if (!open) {\n this.setOpenState(true);\n event.preventDefault();\n }\n }\n },\n\n onInputKeydown(event) {\n const { disabled, combobox, defaultActiveFirstOption } = this.$props;\n if (disabled) {\n return;\n }\n const state = this.$data;\n const isRealOpen = this.getRealOpenState(state);\n const keyCode = event.keyCode;\n if (isMultipleOrTags(this.$props) && !event.target.value && keyCode === KeyCode.BACKSPACE) {\n event.preventDefault();\n const { _value: value } = state;\n if (value.length) {\n this.removeSelected(value[value.length - 1]);\n }\n return;\n }\n if (keyCode === KeyCode.DOWN) {\n if (!state._open) {\n this.openIfHasChildren();\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n } else if (keyCode === KeyCode.ENTER && state._open) {\n // Aviod trigger form submit when select item\n // https://github.com/ant-design/ant-design/issues/10861\n // https://github.com/ant-design/ant-design/issues/14544\n if (isRealOpen || !combobox) {\n event.preventDefault();\n }\n // Hard close popup to avoid lock of non option in combobox mode\n if (isRealOpen && combobox && defaultActiveFirstOption === false) {\n this.comboboxTimer = setTimeout(() => {\n this.setOpenState(false);\n });\n }\n } else if (keyCode === KeyCode.ESC) {\n if (state._open) {\n this.setOpenState(false);\n event.preventDefault();\n event.stopPropagation();\n }\n return;\n }\n\n if (isRealOpen && this.selectTriggerRef) {\n const menu = this.selectTriggerRef.getInnerMenu();\n if (menu && menu.onKeyDown(event, this.handleBackfill)) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n },\n\n onMenuSelect({ item }) {\n if (!item) {\n return;\n }\n let value = this.$data._value;\n const props = this.$props;\n const selectedValue = getValuePropValue(item);\n const lastValue = value[value.length - 1];\n let skipTrigger = false;\n\n if (isMultipleOrTags(props)) {\n if (findIndexInValueBySingleValue(value, selectedValue) !== -1) {\n skipTrigger = true;\n } else {\n value = value.concat([selectedValue]);\n }\n } else {\n if (\n !isCombobox(props) &&\n lastValue !== undefined &&\n lastValue === selectedValue &&\n selectedValue !== this.$data._backfillValue\n ) {\n this.setOpenState(false, { needFocus: true, fireSearch: false });\n skipTrigger = true;\n } else {\n value = [selectedValue];\n this.setOpenState(false, { needFocus: true, fireSearch: false });\n }\n }\n if (!skipTrigger) {\n this.fireChange(value);\n }\n if (!skipTrigger) {\n this.fireSelect(selectedValue);\n const inputValue = isCombobox(props) ? getPropValue(item, props.optionLabelProp) : '';\n\n if (props.autoClearSearchValue) {\n this.setInputValue(inputValue, false);\n }\n }\n },\n\n onMenuDeselect({ item, domEvent }) {\n if (domEvent.type === 'keydown' && domEvent.keyCode === KeyCode.ENTER) {\n const menuItemDomNode = item.$el;\n // https://github.com/ant-design/ant-design/issues/20465#issuecomment-569033796\n if (!isHidden(menuItemDomNode)) {\n this.removeSelected(getValuePropValue(item));\n }\n return;\n }\n if (domEvent.type === 'click') {\n this.removeSelected(getValuePropValue(item));\n }\n if (this.autoClearSearchValue) {\n this.setInputValue('');\n }\n },\n\n onArrowClick(e) {\n e.stopPropagation();\n e.preventDefault();\n this.clearBlurTime();\n if (!this.disabled) {\n this.setOpenState(!this.$data._open, { needFocus: !this.$data._open });\n }\n },\n\n onPlaceholderClick() {\n if (this.getInputDOMNode() && this.getInputDOMNode()) {\n this.getInputDOMNode().focus();\n }\n },\n\n onPopupFocus() {\n // fix ie scrollbar, focus element again\n this.maybeFocus(true, true);\n },\n\n onClearSelection(event) {\n const props = this.$props;\n const state = this.$data;\n if (props.disabled) {\n return;\n }\n const { _inputValue: inputValue, _value: value } = state;\n event.stopPropagation();\n if (inputValue || value.length) {\n if (value.length) {\n this.fireChange([]);\n }\n this.setOpenState(false, { needFocus: true });\n if (inputValue) {\n this.setInputValue('');\n }\n }\n },\n\n onChoiceAnimationLeave() {\n this.forcePopupAlign();\n },\n\n getOptionInfoBySingleValue(value, optionsInfo) {\n let info;\n optionsInfo = optionsInfo || this.$data._optionsInfo;\n if (optionsInfo[getMapKey(value)]) {\n info = optionsInfo[getMapKey(value)];\n }\n if (info) {\n return info;\n }\n let defaultLabel = value;\n if (this.$props.labelInValue) {\n const valueLabel = getLabelFromPropsValue(this.$props.value, value);\n const defaultValueLabel = getLabelFromPropsValue(this.$props.defaultValue, value);\n if (valueLabel !== undefined) {\n defaultLabel = valueLabel;\n } else if (defaultValueLabel !== undefined) {\n defaultLabel = defaultValueLabel;\n }\n }\n const defaultInfo = {\n option: (\n <Option value={value} key={value}>\n {value}\n </Option>\n ),\n value,\n label: defaultLabel,\n };\n return defaultInfo;\n },\n\n getOptionBySingleValue(value) {\n const { option } = this.getOptionInfoBySingleValue(value);\n return option;\n },\n\n getOptionsBySingleValue(values) {\n return values.map(value => {\n return this.getOptionBySingleValue(value);\n });\n },\n\n getValueByLabel(label) {\n if (label === undefined) {\n return null;\n }\n let value = null;\n Object.keys(this.$data._optionsInfo).forEach(key => {\n const info = this.$data._optionsInfo[key];\n const { disabled } = info;\n if (disabled) {\n return;\n }\n const oldLable = toArray(info.label);\n if (oldLable && oldLable.join('') === label) {\n value = info.value;\n }\n });\n return value;\n },\n\n getVLBySingleValue(value) {\n if (this.$props.labelInValue) {\n return {\n key: value,\n label: this.getLabelBySingleValue(value),\n };\n }\n return value;\n },\n\n getVLForOnChange(vlsS) {\n let vls = vlsS;\n if (vls !== undefined) {\n if (!this.labelInValue) {\n vls = vls.map(v => v);\n } else {\n vls = vls.map(vl => ({\n key: vl,\n label: this.getLabelBySingleValue(vl),\n }));\n }\n return isMultipleOrTags(this.$props) ? vls : vls[0];\n }\n return vls;\n },\n\n getLabelBySingleValue(value, optionsInfo) {\n const { label } = this.getOptionInfoBySingleValue(value, optionsInfo);\n return label;\n },\n\n getDropdownContainer() {\n if (!this.dropdownContainer) {\n this.dropdownContainer = document.createElement('div');\n document.body.appendChild(this.dropdownContainer);\n }\n return this.dropdownContainer;\n },\n\n getPlaceholderElement() {\n const { $props: props, $data: state } = this;\n let hidden = false;\n if (state._mirrorInputValue) {\n hidden = true;\n }\n const value = state._value;\n if (value.length) {\n hidden = true;\n }\n if (\n !state._mirrorInputValue &&\n isCombobox(props) &&\n value.length === 1 &&\n state._value &&\n !state._value[0]\n ) {\n hidden = false;\n }\n const placeholder = props.placeholder;\n if (placeholder) {\n const p = {\n on: {\n mousedown: preventDefaultEvent,\n click: this.onPlaceholderClick,\n },\n attrs: UNSELECTABLE_ATTRIBUTE,\n style: {\n display: hidden ? 'none' : 'block',\n ...UNSELECTABLE_STYLE,\n },\n class: `${props.prefixCls}-selection__placeholder`,\n };\n return <div {...p}>{placeholder}</div>;\n }\n return null;\n },\n inputClick(e) {\n if (this.$data._open) {\n this.clearBlurTime();\n e.stopPropagation();\n } else {\n this._focused = false;\n }\n },\n inputBlur(e) {\n const target = e.relatedTarget || document.activeElement;\n\n // https://github.com/vueComponent/ant-design-vue/issues/999\n // https://github.com/vueComponent/ant-design-vue/issues/1223\n if (\n (isIE || isEdge) &&\n (e.relatedTarget === this.$refs.arrow ||\n (target &&\n this.selectTriggerRef &&\n this.selectTriggerRef.getInnerMenu() &&\n this.selectTriggerRef.getInnerMenu().$el === target) ||\n contains(e.target, target))\n ) {\n e.target.focus();\n e.preventDefault();\n return;\n }\n this.clearBlurTime();\n if (this.disabled) {\n e.preventDefault();\n return;\n }\n this.blurTimer = setTimeout(() => {\n this._focused = false;\n this.updateFocusClassName();\n const props = this.$props;\n let { _value: value } = this.$data;\n const { _inputValue: inputValue } = this.$data;\n if (\n isSingleMode(props) &&\n props.showSearch &&\n inputValue &&\n props.defaultActiveFirstOption\n ) {\n const options = this._options || [];\n if (options.length) {\n const firstOption = findFirstMenuItem(options);\n if (firstOption) {\n value = [getValuePropValue(firstOption)];\n this.fireChange(value);\n }\n }\n } else if (isMultipleOrTags(props) && inputValue) {\n if (this._mouseDown) {\n // need update dropmenu when not blur\n this.setInputValue('');\n } else {\n // why not use setState?\n this.$data._inputValue = '';\n if (this.getInputDOMNode && this.getInputDOMNode()) {\n this.getInputDOMNode().value = '';\n }\n }\n const tmpValue = this.getValueByInput(inputValue);\n if (tmpValue !== undefined) {\n value = tmpValue;\n this.fireChange(value);\n }\n }\n // if click the rest space of Select in multiple mode\n if (isMultipleOrTags(props) && this._mouseDown) {\n this.maybeFocus(true, true);\n this._mouseDown = false;\n return;\n }\n this.setOpenState(false);\n this.$emit('blur', this.getVLForOnChange(value));\n }, 200);\n },\n inputFocus(e) {\n if (this.$props.disabled) {\n e.preventDefault();\n return;\n }\n this.clearBlurTime();\n\n // In IE11, onOuterFocus will be trigger twice when focus input\n // First one: e.target is div\n // Second one: e.target is input\n // other browser only trigger second one\n // https://github.com/ant-design/ant-design/issues/15942\n // Here we ignore the first one when e.target is div\n const inputNode = this.getInputDOMNode();\n if (inputNode && e.target === this.rootRef) {\n return;\n }\n if (!isMultipleOrTagsOrCombobox(this.$props) && e.target === inputNode) {\n return;\n }\n if (this._focused) {\n return;\n }\n this._focused = true;\n this.updateFocusClassName();\n // only effect multiple or tag mode\n if (!isMultipleOrTags(this.$props) || !this._mouseDown) {\n this.timeoutFocus();\n }\n },\n _getInputElement() {\n const props = this.$props;\n const { _inputValue: inputValue, _mirrorInputValue } = this.$data;\n const attrs = getAttrs(this);\n const defaultInput = <input id={attrs.id} autoComplete=\"off\" />;\n\n const inputElement = props.getInputElement ? props.getInputElement() : defaultInput;\n const inputCls = classnames(getClass(inputElement), {\n [`${props.prefixCls}-search__field`]: true,\n });\n const inputEvents = getEvents(inputElement);\n // https://github.com/ant-design/ant-design/issues/4992#issuecomment-281542159\n // Add space to the end of the inputValue as the width measurement tolerance\n inputElement.data = inputElement.data || {};\n return (\n <div class={`${props.prefixCls}-search__field__wrap`} onClick={this.inputClick}>\n {cloneElement(inputElement, {\n props: {\n disabled: props.disabled,\n value: inputValue,\n },\n attrs: {\n ...(inputElement.data.attrs || {}),\n disabled: props.disabled,\n value: inputValue,\n },\n domProps: {\n value: inputValue,\n },\n class: inputCls,\n directives: [\n {\n name: 'ant-ref',\n value: this.saveInputRef,\n },\n {\n name: 'ant-input',\n },\n ],\n on: {\n input: this.onInputChange,\n keydown: chaining(\n this.onInputKeydown,\n inputEvents.keydown,\n getListeners(this).inputKeydown,\n ),\n focus: chaining(this.inputFocus, inputEvents.focus),\n blur: chaining(this.inputBlur, inputEvents.blur),\n },\n })}\n <span\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveInputMirrorRef,\n },\n ],\n }}\n // ref='inputMirrorRef'\n class={`${props.prefixCls}-search__field__mirror`}\n >\n {_mirrorInputValue} \n </span>\n </div>\n );\n },\n\n getInputDOMNode() {\n return this.topCtrlRef\n ? this.topCtrlRef.querySelector('input,textarea,div[contentEditable]')\n : this.inputRef;\n },\n\n getInputMirrorDOMNode() {\n return this.inputMirrorRef;\n },\n\n getPopupDOMNode() {\n if (this.selectTriggerRef) {\n return this.selectTriggerRef.getPopupDOMNode();\n }\n },\n\n getPopupMenuComponent() {\n if (this.selectTriggerRef) {\n return this.selectTriggerRef.getInnerMenu();\n }\n },\n\n setOpenState(open, config = {}) {\n const { $props: props, $data: state } = this;\n const { needFocus, fireSearch } = config;\n if (state._open === open) {\n this.maybeFocus(open, !!needFocus);\n return;\n }\n this.__emit('dropdownVisibleChange', open);\n const nextState = {\n _open: open,\n _backfillValue: '',\n };\n // clear search input value when open is false in singleMode.\n if (!open && isSingleMode(props) && props.showSearch) {\n this.setInputValue('', fireSearch);\n }\n if (!open) {\n this.maybeFocus(open, !!needFocus);\n }\n this.setState(nextState, () => {\n if (open) {\n this.maybeFocus(open, !!needFocus);\n }\n });\n },\n\n setInputValue(inputValue, fireSearch = true) {\n if (inputValue !== this.$data._inputValue) {\n this.setState(\n {\n _inputValue: inputValue,\n },\n this.forcePopupAlign,\n );\n if (fireSearch) {\n this.$emit('search', inputValue);\n }\n }\n },\n getValueByInput(str) {\n const { multiple, tokenSeparators } = this.$props;\n let nextValue = this.$data._value;\n let hasNewValue = false;\n splitBySeparators(str, tokenSeparators).forEach(label => {\n const selectedValue = [label];\n if (multiple) {\n const value = this.getValueByLabel(label);\n if (value && findIndexInValueBySingleValue(nextValue, value) === -1) {\n nextValue = nextValue.concat(value);\n hasNewValue = true;\n this.fireSelect(value);\n }\n } else if (findIndexInValueBySingleValue(nextValue, label) === -1) {\n nextValue = nextValue.concat(selectedValue);\n hasNewValue = true;\n this.fireSelect(label);\n }\n });\n return hasNewValue ? nextValue : undefined;\n },\n\n getRealOpenState(state) {\n const { open: _open } = this.$props;\n if (typeof _open === 'boolean') {\n return _open;\n }\n\n let open = (state || this.$data)._open;\n const options = this._options || [];\n if (isMultipleOrTagsOrCombobox(this.$props) || !this.$props.showSearch) {\n if (open && !options.length) {\n open = false;\n }\n }\n return open;\n },\n\n focus() {\n if (isSingleMode(this.$props) && this.selectionRef) {\n this.selectionRef.focus();\n } else if (this.getInputDOMNode()) {\n this.getInputDOMNode().focus();\n }\n },\n\n blur() {\n if (isSingleMode(this.$props) && this.selectionRef) {\n this.selectionRef.blur();\n } else if (this.getInputDOMNode()) {\n this.getInputDOMNode().blur();\n }\n },\n markMouseDown() {\n this._mouseDown = true;\n },\n\n markMouseLeave() {\n this._mouseDown = false;\n },\n\n handleBackfill(item) {\n if (!this.backfill || !(isSingleMode(this.$props) || isCombobox(this.$props))) {\n return;\n }\n\n const key = getValuePropValue(item);\n\n if (isCombobox(this.$props)) {\n this.setInputValue(key, false);\n }\n\n this.setState({\n _value: [key],\n _backfillValue: key,\n });\n },\n\n _filterOption(input, child, defaultFilter = defaultFilterFn) {\n const { _value: value, _backfillValue: backfillValue } = this.$data;\n const lastValue = value[value.length - 1];\n if (!input || (lastValue && lastValue === backfillValue)) {\n return true;\n }\n let filterFn = this.$props.filterOption;\n if (hasProp(this, 'filterOption')) {\n if (filterFn === true) {\n filterFn = defaultFilter.bind(this);\n }\n } else {\n filterFn = defaultFilter.bind(this);\n }\n if (!filterFn) {\n return true;\n } else if (typeof filterFn === 'function') {\n return filterFn.call(this, input, child);\n } else if (getValue(child, 'disabled')) {\n return false;\n }\n return true;\n },\n\n timeoutFocus() {\n if (this.focusTimer) {\n this.clearFocusTime();\n }\n this.focusTimer = window.setTimeout(() => {\n // this._focused = true\n // this.updateFocusClassName()\n this.$emit('focus');\n }, 10);\n },\n\n clearFocusTime() {\n if (this.focusTimer) {\n clearTimeout(this.focusTimer);\n this.focusTimer = null;\n }\n },\n\n clearBlurTime() {\n if (this.blurTimer) {\n clearTimeout(this.blurTimer);\n this.blurTimer = null;\n }\n },\n\n clearComboboxTime() {\n if (this.comboboxTimer) {\n clearTimeout(this.comboboxTimer);\n this.comboboxTimer = null;\n }\n },\n\n updateFocusClassName() {\n const { rootRef, prefixCls } = this;\n // avoid setState and its side effect\n if (this._focused) {\n classes(rootRef).add(`${prefixCls}-focused`);\n } else {\n classes(rootRef).remove(`${prefixCls}-focused`);\n }\n },\n\n maybeFocus(open, needFocus) {\n if (needFocus || open) {\n const input = this.getInputDOMNode();\n const { activeElement } = document;\n if (input && (open || isMultipleOrTagsOrCombobox(this.$props))) {\n if (activeElement !== input) {\n input.focus();\n this._focused = true;\n }\n } else if (activeElement !== this.selectionRef && this.selectionRef) {\n this.selectionRef.focus();\n this._focused = true;\n }\n }\n },\n\n removeSelected(selectedKey, e) {\n const props = this.$props;\n if (props.disabled || this.isChildDisabled(selectedKey)) {\n return;\n }\n // Do not trigger Trigger popup\n if (e && e.stopPropagation) {\n e.stopPropagation();\n }\n const oldValue = this.$data._value;\n const value = oldValue.filter(singleValue => {\n return singleValue !== selectedKey;\n });\n const canMultiple = isMultipleOrTags(props);\n\n if (canMultiple) {\n let event = selectedKey;\n if (props.labelInValue) {\n event = {\n key: selectedKey,\n label: this.getLabelBySingleValue(selectedKey),\n };\n }\n this.$emit('deselect', event, this.getOptionBySingleValue(selectedKey));\n }\n this.fireChange(value);\n },\n\n openIfHasChildren() {\n const { $props } = this;\n if (($props.children && $props.children.length) || isSingleMode($props)) {\n this.setOpenState(true);\n }\n },\n fireSelect(value) {\n this.$emit('select', this.getVLBySingleValue(value), this.getOptionBySingleValue(value));\n },\n fireChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState(\n {\n _value: value,\n },\n this.forcePopupAlign,\n );\n }\n const vls = this.getVLForOnChange(value);\n const options = this.getOptionsBySingleValue(value);\n this._valueOptions = options;\n this.$emit('change', vls, isMultipleOrTags(this.$props) ? options : options[0]);\n },\n\n isChildDisabled(key) {\n return (this.$props.children || []).some(child => {\n const childValue = getValuePropValue(child);\n return childValue === key && getValue(child, 'disabled');\n });\n },\n forcePopupAlign() {\n if (!this.$data._open) {\n return;\n }\n if (this.selectTriggerRef && this.selectTriggerRef.triggerRef) {\n this.selectTriggerRef.triggerRef.forcePopupAlign();\n }\n },\n renderFilterOptions() {\n const { _inputValue: inputValue } = this.$data;\n const { children, tags, notFoundContent } = this.$props;\n const menuItems = [];\n const childrenKeys = [];\n let empty = false;\n let options = this.renderFilterOptionsFromChildren(children, childrenKeys, menuItems);\n if (tags) {\n // tags value must be string\n let value = this.$data._value;\n value = value.filter(singleValue => {\n return (\n childrenKeys.indexOf(singleValue) === -1 &&\n (!inputValue || String(singleValue).indexOf(String(inputValue)) > -1)\n );\n });\n\n // sort by length\n value.sort((val1, val2) => {\n return val1.length - val2.length;\n });\n\n value.forEach(singleValue => {\n const key = singleValue;\n const attrs = {\n ...UNSELECTABLE_ATTRIBUTE,\n role: 'option',\n };\n const menuItem = (\n <MenuItem style={UNSELECTABLE_STYLE} {...{ attrs }} value={key} key={key}>\n {key}\n </MenuItem>\n );\n options.push(menuItem);\n menuItems.push(menuItem);\n });\n // ref: https://github.com/ant-design/ant-design/issues/14090\n if (inputValue && menuItems.every(option => getValuePropValue(option) !== inputValue)) {\n const p = {\n attrs: UNSELECTABLE_ATTRIBUTE,\n key: inputValue,\n props: {\n value: inputValue,\n role: 'option',\n },\n style: UNSELECTABLE_STYLE,\n };\n options.unshift(<MenuItem {...p}>{inputValue}</MenuItem>);\n }\n }\n\n if (!options.length && notFoundContent) {\n empty = true;\n const p = {\n attrs: UNSELECTABLE_ATTRIBUTE,\n key: 'NOT_FOUND',\n props: {\n value: 'NOT_FOUND',\n disabled: true,\n role: 'option',\n },\n style: UNSELECTABLE_STYLE,\n };\n options = [<MenuItem {...p}>{notFoundContent}</MenuItem>];\n }\n return { empty, options };\n },\n\n renderFilterOptionsFromChildren(children = [], childrenKeys, menuItems) {\n const sel = [];\n const props = this.$props;\n const { _inputValue: inputValue } = this.$data;\n const tags = props.tags;\n children.forEach(child => {\n if (!child.data || child.data.slot !== undefined) {\n return;\n }\n if (getSlotOptions(child).isSelectOptGroup) {\n let label = getComponentFromProp(child, 'label');\n let key = child.key;\n if (!key && typeof label === 'string') {\n key = label;\n } else if (!label && key) {\n label = key;\n }\n let childChildren = getSlots(child).default;\n childChildren = typeof childChildren === 'function' ? childChildren() : childChildren;\n // Match option group label\n if (inputValue && this._filterOption(inputValue, child)) {\n const innerItems = childChildren.map(subChild => {\n const childValueSub = getValuePropValue(subChild) || subChild.key;\n return (\n <MenuItem key={childValueSub} value={childValueSub} {...subChild.data}>\n {subChild.componentOptions.children}\n </MenuItem>\n );\n });\n\n sel.push(\n <MenuItemGroup key={key} title={label} class={getClass(child)}>\n {innerItems}\n </MenuItemGroup>,\n );\n\n // Not match\n } else {\n const innerItems = this.renderFilterOptionsFromChildren(\n childChildren,\n childrenKeys,\n menuItems,\n );\n if (innerItems.length) {\n sel.push(\n <MenuItemGroup key={key} title={label} {...child.data}>\n {innerItems}\n </MenuItemGroup>,\n );\n }\n }\n\n return;\n }\n warning(\n getSlotOptions(child).isSelectOption,\n 'the children of `Select` should be `Select.Option` or `Select.OptGroup`, ' +\n `instead of \\`${getSlotOptions(child).name || getSlotOptions(child)}\\`.`,\n );\n\n const childValue = getValuePropValue(child);\n\n validateOptionValue(childValue, this.$props);\n if (this._filterOption(inputValue, child)) {\n const p = {\n attrs: {\n ...UNSELECTABLE_ATTRIBUTE,\n ...getAttrs(child),\n },\n key: childValue,\n props: {\n value: childValue,\n ...getPropsData(child),\n role: 'option',\n },\n style: UNSELECTABLE_STYLE,\n on: getEvents(child),\n class: getClass(child),\n };\n const menuItem = <MenuItem {...p}>{child.componentOptions.children}</MenuItem>;\n sel.push(menuItem);\n menuItems.push(menuItem);\n }\n if (tags) {\n childrenKeys.push(childValue);\n }\n });\n\n return sel;\n },\n\n renderTopControlNode() {\n const { $props: props } = this;\n const { _value: value, _inputValue: inputValue, _open: open } = this.$data;\n const {\n choiceTransitionName,\n prefixCls,\n maxTagTextLength,\n maxTagCount,\n maxTagPlaceholder,\n showSearch,\n } = props;\n const removeIcon = getComponentFromProp(this, 'removeIcon');\n const className = `${prefixCls}-selection__rendered`;\n // search input is inside topControlNode in single, multiple & combobox. 2016/04/13\n let innerNode = null;\n if (isSingleMode(props)) {\n let selectedValue = null;\n if (value.length) {\n let showSelectedValue = false;\n let opacity = 1;\n if (!showSearch) {\n showSelectedValue = true;\n } else if (open) {\n showSelectedValue = !inputValue;\n if (showSelectedValue) {\n opacity = 0.4;\n }\n } else {\n showSelectedValue = true;\n }\n const singleValue = value[0];\n const { label, title } = this.getOptionInfoBySingleValue(singleValue);\n selectedValue = (\n <div\n key=\"value\"\n class={`${prefixCls}-selection-selected-value`}\n title={toTitle(title || label)}\n style={{\n display: showSelectedValue ? 'block' : 'none',\n opacity,\n }}\n >\n {label}\n </div>\n );\n }\n if (!showSearch) {\n innerNode = [selectedValue];\n } else {\n innerNode = [\n selectedValue,\n <div\n class={`${prefixCls}-search ${prefixCls}-search--inline`}\n key=\"input\"\n style={{\n display: open ? 'block' : 'none',\n }}\n >\n {this._getInputElement()}\n </div>,\n ];\n }\n } else {\n let selectedValueNodes = [];\n let limitedCountValue = value;\n let maxTagPlaceholderEl;\n if (maxTagCount !== undefined && value.length > maxTagCount) {\n limitedCountValue = limitedCountValue.slice(0, maxTagCount);\n const omittedValues = this.getVLForOnChange(value.slice(maxTagCount, value.length));\n let content = `+ ${value.length - maxTagCount} ...`;\n if (maxTagPlaceholder) {\n content =\n typeof maxTagPlaceholder === 'function'\n ? maxTagPlaceholder(omittedValues)\n : maxTagPlaceholder;\n }\n const attrs = {\n ...UNSELECTABLE_ATTRIBUTE,\n role: 'presentation',\n title: toTitle(content),\n };\n maxTagPlaceholderEl = (\n <li\n style={UNSELECTABLE_STYLE}\n {...{ attrs }}\n onMousedown={preventDefaultEvent}\n class={`${prefixCls}-selection__choice ${prefixCls}-selection__choice__disabled`}\n key=\"maxTagPlaceholder\"\n >\n <div class={`${prefixCls}-selection__choice__content`}>{content}</div>\n </li>\n );\n }\n if (isMultipleOrTags(props)) {\n selectedValueNodes = limitedCountValue.map(singleValue => {\n const info = this.getOptionInfoBySingleValue(singleValue);\n let content = info.label;\n const title = info.title || content;\n if (\n maxTagTextLength &&\n typeof content === 'string' &&\n content.length > maxTagTextLength\n ) {\n content = `${content.slice(0, maxTagTextLength)}...`;\n }\n const disabled = this.isChildDisabled(singleValue);\n const choiceClassName = disabled\n ? `${prefixCls}-selection__choice ${prefixCls}-selection__choice__disabled`\n : `${prefixCls}-selection__choice`;\n // attrs 放在一起,避免动态title混乱问题,很奇怪的问题 https://github.com/vueComponent/ant-design-vue/issues/588\n const attrs = {\n ...UNSELECTABLE_ATTRIBUTE,\n role: 'presentation',\n title: toTitle(title),\n };\n return (\n <li\n style={UNSELECTABLE_STYLE}\n {...{ attrs }}\n onMousedown={preventDefaultEvent}\n class={choiceClassName}\n key={singleValue || SELECT_EMPTY_VALUE_KEY}\n >\n <div class={`${prefixCls}-selection__choice__content`}>{content}</div>\n {disabled ? null : (\n <span\n onClick={event => {\n this.removeSelected(singleValue, event);\n }}\n class={`${prefixCls}-selection__choice__remove`}\n >\n {removeIcon || <i class={`${prefixCls}-selection__choice__remove-icon`}>×</i>}\n </span>\n )}\n </li>\n );\n });\n }\n if (maxTagPlaceholderEl) {\n selectedValueNodes.push(maxTagPlaceholderEl);\n }\n selectedValueNodes.push(\n <li class={`${prefixCls}-search ${prefixCls}-search--inline`} key=\"__input\">\n {this._getInputElement()}\n </li>,\n );\n\n if (isMultipleOrTags(props) && choiceTransitionName) {\n const transitionProps = getTransitionProps(choiceTransitionName, {\n tag: 'ul',\n afterLeave: this.onChoiceAnimationLeave,\n });\n innerNode = (\n <transition-group {...transitionProps}>{selectedValueNodes}</transition-group>\n );\n } else {\n innerNode = <ul>{selectedValueNodes}</ul>;\n }\n }\n return (\n <div\n class={className}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveTopCtrlRef,\n },\n ],\n }}\n onClick={this.topCtrlContainerClick}\n >\n {this.getPlaceholderElement()}\n {innerNode}\n </div>\n );\n },\n renderArrow(multiple) {\n // showArrow : Set to true if not multiple by default but keep set value.\n const { showArrow = !multiple, loading, prefixCls } = this.$props;\n const inputIcon = getComponentFromProp(this, 'inputIcon');\n if (!showArrow && !loading) {\n return null;\n }\n // if loading have loading icon\n const defaultIcon = loading ? (\n <i class={`${prefixCls}-arrow-loading`} />\n ) : (\n <i class={`${prefixCls}-arrow-icon`} />\n );\n return (\n <span\n key=\"arrow\"\n class={`${prefixCls}-arrow`}\n style={UNSELECTABLE_STYLE}\n {...{ attrs: UNSELECTABLE_ATTRIBUTE }}\n onClick={this.onArrowClick}\n ref=\"arrow\"\n >\n {inputIcon || defaultIcon}\n </span>\n );\n },\n topCtrlContainerClick(e) {\n if (this.$data._open && !isSingleMode(this.$props)) {\n e.stopPropagation();\n }\n },\n renderClear() {\n const { prefixCls, allowClear } = this.$props;\n const { _value: value, _inputValue: inputValue } = this.$data;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const clear = (\n <span\n key=\"clear\"\n class={`${prefixCls}-selection__clear`}\n onMousedown={preventDefaultEvent}\n style={UNSELECTABLE_STYLE}\n {...{ attrs: UNSELECTABLE_ATTRIBUTE }}\n onClick={this.onClearSelection}\n >\n {clearIcon || <i class={`${prefixCls}-selection__clear-icon`}>×</i>}\n </span>\n );\n if (!allowClear) {\n return null;\n }\n if (isCombobox(this.$props)) {\n if (inputValue) {\n return clear;\n }\n return null;\n }\n if (inputValue || value.length) {\n return clear;\n }\n return null;\n },\n\n selectionRefClick() {\n //e.stopPropagation();\n if (!this.disabled) {\n const input = this.getInputDOMNode();\n if (this._focused && this.$data._open) {\n // this._focused = false;\n this.setOpenState(false, false);\n input && input.blur();\n } else {\n this.clearBlurTime();\n //this._focused = true;\n this.setOpenState(true, true);\n input && input.focus();\n }\n }\n },\n selectionRefFocus(e) {\n if (this._focused || this.disabled || isMultipleOrTagsOrCombobox(this.$props)) {\n e.preventDefault();\n return;\n }\n this._focused = true;\n this.updateFocusClassName();\n this.$emit('focus');\n },\n selectionRefBlur(e) {\n if (isMultipleOrTagsOrCombobox(this.$props)) {\n e.preventDefault();\n return;\n }\n this.inputBlur(e);\n },\n },\n\n render() {\n const props = this.$props;\n const multiple = isMultipleOrTags(props);\n // Default set showArrow to true if not set (not set directly in defaultProps to handle multiple case)\n const { showArrow = true } = props;\n const state = this.$data;\n const { disabled, prefixCls, loading } = props;\n const ctrlNode = this.renderTopControlNode();\n const { _open: open, _inputValue: inputValue, _value: value } = this.$data;\n if (open) {\n const filterOptions = this.renderFilterOptions();\n this._empty = filterOptions.empty;\n this._options = filterOptions.options;\n }\n const realOpen = this.getRealOpenState();\n const empty = this._empty;\n const options = this._options || [];\n const { mouseenter = noop, mouseleave = noop, popupScroll = noop } = getListeners(this);\n const selectionProps = {\n props: {},\n attrs: {\n role: 'combobox',\n 'aria-autocomplete': 'list',\n 'aria-haspopup': 'true',\n 'aria-expanded': realOpen,\n 'aria-controls': this.$data._ariaId,\n },\n on: {\n // click: this.selectionRefClick,\n },\n class: `${prefixCls}-selection ${prefixCls}-selection--${multiple ? 'multiple' : 'single'}`,\n // directives: [\n // {\n // name: 'ant-ref',\n // value: this.saveSelectionRef,\n // },\n // ],\n key: 'selection',\n };\n //if (!isMultipleOrTagsOrCombobox(props)) {\n // selectionProps.on.keydown = this.onKeyDown;\n // selectionProps.on.focus = this.selectionRefFocus;\n // selectionProps.on.blur = this.selectionRefBlur;\n // selectionProps.attrs.tabIndex = props.disabled ? -1 : props.tabIndex;\n //}\n let extraSelectionProps = { attrs: { tabIndex: -1 } };\n if (!isMultipleOrTagsOrCombobox(props)) {\n extraSelectionProps.attrs.tabIndex = props.disabled ? -1 : props.tabIndex;\n }\n const rootCls = {\n [prefixCls]: true,\n [`${prefixCls}-open`]: open,\n [`${prefixCls}-focused`]: open || !!this._focused,\n [`${prefixCls}-combobox`]: isCombobox(props),\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-enabled`]: !disabled,\n [`${prefixCls}-allow-clear`]: !!props.allowClear,\n [`${prefixCls}-no-arrow`]: !showArrow,\n [`${prefixCls}-loading`]: !!loading,\n };\n return (\n <SelectTrigger\n dropdownAlign={props.dropdownAlign}\n dropdownClassName={props.dropdownClassName}\n dropdownMatchSelectWidth={props.dropdownMatchSelectWidth}\n defaultActiveFirstOption={props.defaultActiveFirstOption}\n dropdownMenuStyle={props.dropdownMenuStyle}\n transitionName={props.transitionName}\n animation={props.animation}\n prefixCls={props.prefixCls}\n dropdownStyle={props.dropdownStyle}\n combobox={props.combobox}\n showSearch={props.showSearch}\n options={options}\n empty={empty}\n multiple={multiple}\n disabled={disabled}\n visible={realOpen}\n inputValue={inputValue}\n value={value}\n backfillValue={state._backfillValue}\n firstActiveValue={props.firstActiveValue}\n onDropdownVisibleChange={this.onDropdownVisibleChange}\n getPopupContainer={props.getPopupContainer}\n onMenuSelect={this.onMenuSelect}\n onMenuDeselect={this.onMenuDeselect}\n onPopupScroll={popupScroll}\n onPopupFocus={this.onPopupFocus}\n onMouseenter={mouseenter}\n onMouseleave={mouseleave}\n showAction={props.showAction}\n menuItemSelectedIcon={getComponentFromProp(this, 'menuItemSelectedIcon')}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveSelectTriggerRef,\n },\n ],\n }}\n dropdownRender={props.dropdownRender}\n ariaId={this.$data._ariaId}\n >\n <div\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: chaining(this.saveRootRef, this.saveSelectionRef),\n },\n ],\n }}\n style={getStyle(this)}\n class={classnames(rootCls)}\n onMousedown={this.markMouseDown}\n onMouseup={this.markMouseLeave}\n onMouseout={this.markMouseLeave}\n {...extraSelectionProps}\n onBlur={this.selectionRefBlur}\n onFocus={this.selectionRefFocus}\n onClick={this.selectionRefClick}\n onKeydown={isMultipleOrTagsOrCombobox(props) ? noop : this.onKeyDown}\n >\n <div {...selectionProps}>\n {ctrlNode}\n {this.renderClear()}\n {this.renderArrow(!!multiple)}\n </div>\n </div>\n </SelectTrigger>\n );\n },\n};\nexport { Select };\nexport default proxyComponent(Select);\n","import warning from '../_util/warning';\nimport omit from 'omit.js';\nimport PropTypes from '../_util/vue-types';\nimport { Select as VcSelect, Option, OptGroup } from '../vc-select';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport {\n getComponentFromProp,\n getOptionProps,\n filterEmpty,\n isValidElement,\n getListeners,\n} from '../_util/props-util';\nimport Icon from '../icon';\nimport { cloneElement } from '../_util/vnode';\nimport Base from '../base';\n\nconst AbstractSelectProps = () => ({\n prefixCls: PropTypes.string,\n size: PropTypes.oneOf(['small', 'large', 'default']),\n showAction: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(String)]),\n notFoundContent: PropTypes.any,\n transitionName: PropTypes.string,\n choiceTransitionName: PropTypes.string,\n showSearch: PropTypes.bool,\n allowClear: PropTypes.bool,\n disabled: PropTypes.bool,\n tabIndex: PropTypes.number,\n placeholder: PropTypes.any,\n defaultActiveFirstOption: PropTypes.bool,\n dropdownClassName: PropTypes.string,\n dropdownStyle: PropTypes.any,\n dropdownMenuStyle: PropTypes.any,\n dropdownMatchSelectWidth: PropTypes.bool,\n // onSearch: (value: string) => any,\n filterOption: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n autoFocus: PropTypes.bool,\n backfill: PropTypes.bool,\n showArrow: PropTypes.bool,\n getPopupContainer: PropTypes.func,\n open: PropTypes.bool,\n defaultOpen: PropTypes.bool,\n autoClearSearchValue: PropTypes.bool,\n dropdownRender: PropTypes.func,\n loading: PropTypes.bool,\n});\nconst Value = PropTypes.shape({\n key: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n}).loose;\n\nconst SelectValue = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.arrayOf(PropTypes.oneOfType([Value, PropTypes.string, PropTypes.number])),\n Value,\n]);\n\nconst SelectProps = {\n ...AbstractSelectProps(),\n value: SelectValue,\n defaultValue: SelectValue,\n // mode: PropTypes.oneOf(['default', 'multiple', 'tags', 'combobox']),\n mode: PropTypes.string,\n optionLabelProp: PropTypes.string,\n firstActiveValue: PropTypes.oneOfType([String, PropTypes.arrayOf(String)]),\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.any,\n maxTagTextLength: PropTypes.number,\n dropdownMatchSelectWidth: PropTypes.bool,\n optionFilterProp: PropTypes.string,\n labelInValue: PropTypes.boolean,\n getPopupContainer: PropTypes.func,\n tokenSeparators: PropTypes.arrayOf(PropTypes.string),\n getInputElement: PropTypes.func,\n options: PropTypes.array,\n suffixIcon: PropTypes.any,\n removeIcon: PropTypes.any,\n clearIcon: PropTypes.any,\n menuItemSelectedIcon: PropTypes.any,\n};\n\nconst SelectPropTypes = {\n prefixCls: PropTypes.string,\n size: PropTypes.oneOf(['default', 'large', 'small']),\n // combobox: PropTypes.bool,\n notFoundContent: PropTypes.any,\n showSearch: PropTypes.bool,\n optionLabelProp: PropTypes.string,\n transitionName: PropTypes.string,\n choiceTransitionName: PropTypes.string,\n};\n\nexport { AbstractSelectProps, SelectValue, SelectProps };\nconst SECRET_COMBOBOX_MODE_DO_NOT_USE = 'SECRET_COMBOBOX_MODE_DO_NOT_USE';\nconst Select = {\n SECRET_COMBOBOX_MODE_DO_NOT_USE,\n Option: { ...Option, name: 'ASelectOption' },\n OptGroup: { ...OptGroup, name: 'ASelectOptGroup' },\n name: 'ASelect',\n props: {\n ...SelectProps,\n showSearch: PropTypes.bool.def(false),\n transitionName: PropTypes.string.def('slide-up'),\n choiceTransitionName: PropTypes.string.def('zoom'),\n },\n propTypes: SelectPropTypes,\n model: {\n prop: 'value',\n event: 'change',\n },\n provide() {\n return {\n savePopupRef: this.savePopupRef,\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n created() {\n warning(\n this.$props.mode !== 'combobox',\n 'Select',\n 'The combobox mode of Select is deprecated,' +\n 'it will be removed in next major version,' +\n 'please use AutoComplete instead',\n );\n },\n methods: {\n getNotFoundContent(renderEmpty) {\n const h = this.$createElement;\n const notFoundContent = getComponentFromProp(this, 'notFoundContent');\n if (notFoundContent !== undefined) {\n return notFoundContent;\n }\n if (this.isCombobox()) {\n return null;\n }\n return renderEmpty(h, 'Select');\n },\n savePopupRef(ref) {\n this.popupRef = ref;\n },\n focus() {\n this.$refs.vcSelect.focus();\n },\n blur() {\n this.$refs.vcSelect.blur();\n },\n\n isCombobox() {\n const { mode } = this;\n return mode === 'combobox' || mode === SECRET_COMBOBOX_MODE_DO_NOT_USE;\n },\n\n renderSuffixIcon(prefixCls) {\n const { loading } = this.$props;\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n if (suffixIcon) {\n return isValidElement(suffixIcon)\n ? cloneElement(suffixIcon, { class: `${prefixCls}-arrow-icon` })\n : suffixIcon;\n }\n if (loading) {\n return <Icon type=\"loading\" />;\n }\n return <Icon type=\"down\" class={`${prefixCls}-arrow-icon`} />;\n },\n },\n render() {\n const {\n prefixCls: customizePrefixCls,\n size,\n mode,\n options,\n getPopupContainer,\n showArrow,\n ...restProps\n } = getOptionProps(this);\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const renderEmpty = this.configProvider.renderEmpty;\n const prefixCls = getPrefixCls('select', customizePrefixCls);\n\n const { getPopupContainer: getContextPopupContainer } = this.configProvider;\n let removeIcon = getComponentFromProp(this, 'removeIcon');\n removeIcon = Array.isArray(removeIcon) ? removeIcon[0] : removeIcon;\n let clearIcon = getComponentFromProp(this, 'clearIcon');\n clearIcon = Array.isArray(clearIcon) ? clearIcon[0] : clearIcon;\n let menuItemSelectedIcon = getComponentFromProp(this, 'menuItemSelectedIcon');\n menuItemSelectedIcon = Array.isArray(menuItemSelectedIcon)\n ? menuItemSelectedIcon[0]\n : menuItemSelectedIcon;\n const rest = omit(restProps, [\n 'inputIcon',\n 'removeIcon',\n 'clearIcon',\n 'suffixIcon',\n 'menuItemSelectedIcon',\n ]);\n\n const cls = {\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n [`${prefixCls}-show-arrow`]: showArrow,\n };\n\n let { optionLabelProp } = this.$props;\n if (this.isCombobox()) {\n // children 带 dom 结构时,无法填入输入框\n optionLabelProp = optionLabelProp || 'value';\n }\n\n const modeConfig = {\n multiple: mode === 'multiple',\n tags: mode === 'tags',\n combobox: this.isCombobox(),\n };\n const finalRemoveIcon = (removeIcon &&\n (isValidElement(removeIcon)\n ? cloneElement(removeIcon, { class: `${prefixCls}-remove-icon` })\n : removeIcon)) || <Icon type=\"close\" class={`${prefixCls}-remove-icon`} />;\n\n const finalClearIcon = (clearIcon &&\n (isValidElement(clearIcon)\n ? cloneElement(clearIcon, { class: `${prefixCls}-clear-icon` })\n : clearIcon)) || (\n <Icon type=\"close-circle\" theme=\"filled\" class={`${prefixCls}-clear-icon`} />\n );\n\n const finalMenuItemSelectedIcon = (menuItemSelectedIcon &&\n (isValidElement(menuItemSelectedIcon)\n ? cloneElement(menuItemSelectedIcon, { class: `${prefixCls}-selected-icon` })\n : menuItemSelectedIcon)) || <Icon type=\"check\" class={`${prefixCls}-selected-icon`} />;\n\n const selectProps = {\n props: {\n inputIcon: this.renderSuffixIcon(prefixCls),\n removeIcon: finalRemoveIcon,\n clearIcon: finalClearIcon,\n menuItemSelectedIcon: finalMenuItemSelectedIcon,\n showArrow,\n ...rest,\n ...modeConfig,\n prefixCls,\n optionLabelProp: optionLabelProp || 'children',\n notFoundContent: this.getNotFoundContent(renderEmpty),\n maxTagPlaceholder: getComponentFromProp(this, 'maxTagPlaceholder'),\n placeholder: getComponentFromProp(this, 'placeholder'),\n children: options\n ? options.map(option => {\n const { key, label = option.title, on, class: cls, style, ...restOption } = option;\n return (\n <Option key={key} {...{ props: restOption, on, class: cls, style }}>\n {label}\n </Option>\n );\n })\n : filterEmpty(this.$slots.default),\n __propsSymbol__: Symbol(),\n dropdownRender: getComponentFromProp(this, 'dropdownRender', {}, false),\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n },\n on: getListeners(this),\n class: cls,\n ref: 'vcSelect',\n };\n return <VcSelect {...selectProps} />;\n },\n};\n\n/* istanbul ignore next */\nSelect.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Select.name, Select);\n Vue.component(Select.Option.name, Select.Option);\n Vue.component(Select.OptGroup.name, Select.OptGroup);\n};\n\nexport default Select;\n","import classNames from 'classnames';\nimport Icon from '../icon';\nimport { getInputClassName } from './Input';\nimport PropTypes from '../_util/vue-types';\nimport { cloneElement } from '../_util/vnode';\nimport { getComponentFromProp } from '../_util/props-util';\n\nexport function hasPrefixSuffix(instance) {\n return !!(\n getComponentFromProp(instance, 'prefix') ||\n getComponentFromProp(instance, 'suffix') ||\n instance.$props.allowClear\n );\n}\n\nconst ClearableInputType = ['text', 'input'];\n\nconst ClearableLabeledInput = {\n props: {\n prefixCls: PropTypes.string,\n inputType: PropTypes.oneOf(ClearableInputType),\n value: PropTypes.any,\n defaultValue: PropTypes.any,\n allowClear: PropTypes.bool,\n element: PropTypes.any,\n handleReset: PropTypes.func,\n disabled: PropTypes.bool,\n size: PropTypes.oneOf(['small', 'large', 'default']),\n suffix: PropTypes.any,\n prefix: PropTypes.any,\n addonBefore: PropTypes.any,\n addonAfter: PropTypes.any,\n className: PropTypes.string,\n readOnly: PropTypes.bool,\n },\n methods: {\n renderClearIcon(prefixCls) {\n const { allowClear, value, disabled, readOnly, inputType, handleReset } = this.$props;\n if (\n !allowClear ||\n disabled ||\n readOnly ||\n value === undefined ||\n value === null ||\n value === ''\n ) {\n return null;\n }\n const className =\n inputType === ClearableInputType[0]\n ? `${prefixCls}-textarea-clear-icon`\n : `${prefixCls}-clear-icon`;\n return (\n <Icon\n type=\"close-circle\"\n theme=\"filled\"\n onClick={handleReset}\n class={className}\n role=\"button\"\n />\n );\n },\n\n renderSuffix(prefixCls) {\n const { suffix, allowClear } = this.$props;\n if (suffix || allowClear) {\n return (\n <span class={`${prefixCls}-suffix`}>\n {this.renderClearIcon(prefixCls)}\n {suffix}\n </span>\n );\n }\n return null;\n },\n\n renderLabeledIcon(prefixCls, element) {\n const props = this.$props;\n const suffix = this.renderSuffix(prefixCls);\n if (!hasPrefixSuffix(this)) {\n return cloneElement(element, {\n props: { value: props.value },\n });\n }\n\n const prefix = props.prefix ? (\n <span class={`${prefixCls}-prefix`}>{props.prefix}</span>\n ) : null;\n\n const affixWrapperCls = classNames(props.className, `${prefixCls}-affix-wrapper`, {\n [`${prefixCls}-affix-wrapper-sm`]: props.size === 'small',\n [`${prefixCls}-affix-wrapper-lg`]: props.size === 'large',\n [`${prefixCls}-affix-wrapper-input-with-clear-btn`]:\n props.suffix && props.allowClear && this.$props.value,\n });\n\n return (\n <span class={affixWrapperCls} style={props.style}>\n {prefix}\n {cloneElement(element, {\n style: null,\n props: { value: props.value },\n class: getInputClassName(prefixCls, props.size, props.disabled),\n })}\n {suffix}\n </span>\n );\n },\n\n renderInputWithLabel(prefixCls, labeledElement) {\n const { addonBefore, addonAfter, style, size, className } = this.$props;\n // Not wrap when there is not addons\n if (!addonBefore && !addonAfter) {\n return labeledElement;\n }\n\n const wrapperClassName = `${prefixCls}-group`;\n const addonClassName = `${wrapperClassName}-addon`;\n const addonBeforeNode = addonBefore ? (\n <span class={addonClassName}>{addonBefore}</span>\n ) : null;\n const addonAfterNode = addonAfter ? <span class={addonClassName}>{addonAfter}</span> : null;\n\n const mergedWrapperClassName = classNames(`${prefixCls}-wrapper`, {\n [wrapperClassName]: addonBefore || addonAfter,\n });\n\n const mergedGroupClassName = classNames(className, `${prefixCls}-group-wrapper`, {\n [`${prefixCls}-group-wrapper-sm`]: size === 'small',\n [`${prefixCls}-group-wrapper-lg`]: size === 'large',\n });\n\n // Need another wrapper for changing display:table to display:inline-block\n // and put style prop in wrapper\n return (\n <span class={mergedGroupClassName} style={style}>\n <span class={mergedWrapperClassName}>\n {addonBeforeNode}\n {cloneElement(labeledElement, { style: null })}\n {addonAfterNode}\n </span>\n </span>\n );\n },\n\n renderTextAreaWithClearIcon(prefixCls, element) {\n const { value, allowClear, className, style } = this.$props;\n if (!allowClear) {\n return cloneElement(element, {\n props: { value },\n });\n }\n const affixWrapperCls = classNames(\n className,\n `${prefixCls}-affix-wrapper`,\n `${prefixCls}-affix-wrapper-textarea-with-clear-btn`,\n );\n return (\n <span class={affixWrapperCls} style={style}>\n {cloneElement(element, {\n style: null,\n props: { value },\n })}\n {this.renderClearIcon(prefixCls)}\n </span>\n );\n },\n\n renderClearableLabeledInput() {\n const { prefixCls, inputType, element } = this.$props;\n if (inputType === ClearableInputType[0]) {\n return this.renderTextAreaWithClearIcon(prefixCls, element);\n }\n return this.renderInputWithLabel(prefixCls, this.renderLabeledIcon(prefixCls, element));\n },\n },\n render() {\n return this.renderClearableLabeledInput();\n },\n};\n\nexport default ClearableLabeledInput;\n","// Thanks to https://github.com/andreypopp/react-textarea-autosize/\n\n/**\n * calculateNodeHeight(uiTextNode, useCache = false)\n */\n\nconst HIDDEN_TEXTAREA_STYLE = `\n min-height:0 !important;\n max-height:none !important;\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important\n`;\n\nconst SIZING_STYLE = [\n 'letter-spacing',\n 'line-height',\n 'padding-top',\n 'padding-bottom',\n 'font-family',\n 'font-weight',\n 'font-size',\n 'font-variant',\n 'text-rendering',\n 'text-transform',\n 'width',\n 'text-indent',\n 'padding-left',\n 'padding-right',\n 'border-width',\n 'box-sizing',\n];\n\nconst computedStyleCache = {};\nlet hiddenTextarea;\n\nexport function calculateNodeStyling(node, useCache = false) {\n const nodeRef =\n node.getAttribute('id') || node.getAttribute('data-reactid') || node.getAttribute('name');\n\n if (useCache && computedStyleCache[nodeRef]) {\n return computedStyleCache[nodeRef];\n }\n\n const style = window.getComputedStyle(node);\n\n const boxSizing =\n style.getPropertyValue('box-sizing') ||\n style.getPropertyValue('-moz-box-sizing') ||\n style.getPropertyValue('-webkit-box-sizing');\n\n const paddingSize =\n parseFloat(style.getPropertyValue('padding-bottom')) +\n parseFloat(style.getPropertyValue('padding-top'));\n\n const borderSize =\n parseFloat(style.getPropertyValue('border-bottom-width')) +\n parseFloat(style.getPropertyValue('border-top-width'));\n\n const sizingStyle = SIZING_STYLE.map(name => `${name}:${style.getPropertyValue(name)}`).join(';');\n\n const nodeInfo = {\n sizingStyle,\n paddingSize,\n borderSize,\n boxSizing,\n };\n\n if (useCache && nodeRef) {\n computedStyleCache[nodeRef] = nodeInfo;\n }\n\n return nodeInfo;\n}\n\nexport default function calculateNodeHeight(\n uiTextNode,\n useCache = false,\n minRows = null,\n maxRows = null,\n) {\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea');\n document.body.appendChild(hiddenTextarea);\n }\n\n // Fix wrap=\"off\" issue\n // https://github.com/ant-design/ant-design/issues/6577\n if (uiTextNode.getAttribute('wrap')) {\n hiddenTextarea.setAttribute('wrap', uiTextNode.getAttribute('wrap'));\n } else {\n hiddenTextarea.removeAttribute('wrap');\n }\n\n // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\n const { paddingSize, borderSize, boxSizing, sizingStyle } = calculateNodeStyling(\n uiTextNode,\n useCache,\n );\n\n // Need to have the overflow attribute to hide the scrollbar otherwise\n // text-lines will not calculated properly as the shadow will technically be\n // narrower for content\n hiddenTextarea.setAttribute('style', `${sizingStyle};${HIDDEN_TEXTAREA_STYLE}`);\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || '';\n\n let minHeight = Number.MIN_SAFE_INTEGER;\n let maxHeight = Number.MAX_SAFE_INTEGER;\n let height = hiddenTextarea.scrollHeight;\n let overflowY;\n\n if (boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n height += borderSize;\n } else if (boxSizing === 'content-box') {\n // remove padding, since height = content\n height -= paddingSize;\n }\n\n if (minRows !== null || maxRows !== null) {\n // measure height of a textarea with a single row\n hiddenTextarea.value = ' ';\n const singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n overflowY = height > maxHeight ? '' : 'hidden';\n height = Math.min(maxHeight, height);\n }\n }\n return {\n height: `${height}px`,\n minHeight: `${minHeight}px`,\n maxHeight: `${maxHeight}px`,\n overflowY,\n };\n}\n","import raf from 'raf';\n\nlet id = 0;\nconst ids = {};\n\n// Support call raf with delay specified frame\nexport default function wrapperRaf(callback, delayFrames = 1) {\n const myId = id++;\n let restFrames = delayFrames;\n\n function internalCallback() {\n restFrames -= 1;\n\n if (restFrames <= 0) {\n callback();\n delete ids[myId];\n } else {\n ids[myId] = raf(internalCallback);\n }\n }\n\n ids[myId] = raf(internalCallback);\n\n return myId;\n}\n\nwrapperRaf.cancel = function(pid) {\n if (pid === undefined) return;\n raf.cancel(ids[pid]);\n delete ids[pid];\n};\nwrapperRaf.ids = ids; // export this for test usage\n","import PropTypes from '../_util/vue-types';\nexport default {\n prefixCls: PropTypes.string,\n inputPrefixCls: PropTypes.string,\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n placeholder: [String, Number],\n type: {\n default: 'text',\n type: String,\n },\n name: String,\n size: PropTypes.oneOf(['small', 'large', 'default']),\n disabled: PropTypes.bool,\n readOnly: PropTypes.bool,\n addonBefore: PropTypes.any,\n addonAfter: PropTypes.any,\n // onPressEnter?: React.FormEventHandler<any>;\n // onKeyDown?: React.FormEventHandler<any>;\n // onChange?: React.ChangeEventHandler<HTMLInputElement>;\n // onClick?: React.FormEventHandler<any>;\n // onFocus?: React.FormEventHandler<any>;\n // onBlur?: React.FormEventHandler<any>;\n prefix: PropTypes.any,\n suffix: PropTypes.any,\n // spellCheck: Boolean,\n autoFocus: Boolean,\n allowClear: Boolean,\n lazy: {\n default: true,\n type: Boolean,\n },\n maxLength: PropTypes.number,\n loading: PropTypes.bool,\n className: PropTypes.string,\n};\n","import ResizeObserver from '../vc-resize-observer';\nimport omit from 'omit.js';\nimport classNames from 'classnames';\nimport calculateNodeHeight from './calculateNodeHeight';\nimport raf from '../_util/raf';\nimport warning from '../_util/warning';\nimport BaseMixin from '../_util/BaseMixin';\nimport inputProps from './inputProps';\nimport PropTypes from '../_util/vue-types';\nimport { getOptionProps, getListeners } from '../_util/props-util';\n\nconst RESIZE_STATUS_NONE = 0;\nconst RESIZE_STATUS_RESIZING = 1;\nconst RESIZE_STATUS_RESIZED = 2;\n\nconst TextAreaProps = {\n ...inputProps,\n autosize: PropTypes.oneOfType([Object, Boolean]),\n autoSize: PropTypes.oneOfType([Object, Boolean]),\n};\nconst ResizableTextArea = {\n name: 'ResizableTextArea',\n props: TextAreaProps,\n data() {\n return {\n textareaStyles: {},\n resizeStatus: RESIZE_STATUS_NONE,\n };\n },\n mixins: [BaseMixin],\n mounted() {\n this.$nextTick(() => {\n this.resizeTextarea();\n });\n },\n beforeDestroy() {\n raf.cancel(this.nextFrameActionId);\n raf.cancel(this.resizeFrameId);\n },\n watch: {\n value() {\n this.$nextTick(() => {\n this.resizeTextarea();\n });\n },\n },\n methods: {\n handleResize(size) {\n const { resizeStatus } = this.$data;\n const { autoSize } = this.$props;\n\n if (resizeStatus !== RESIZE_STATUS_NONE) {\n return;\n }\n this.$emit('resize', size);\n if (autoSize) {\n this.resizeOnNextFrame();\n }\n },\n resizeOnNextFrame() {\n raf.cancel(this.nextFrameActionId);\n this.nextFrameActionId = raf(this.resizeTextarea);\n },\n\n resizeTextarea() {\n const autoSize = this.$props.autoSize || this.$props.autosize;\n if (!autoSize || !this.$refs.textArea) {\n return;\n }\n const { minRows, maxRows } = autoSize;\n const textareaStyles = calculateNodeHeight(this.$refs.textArea, false, minRows, maxRows);\n this.setState({ textareaStyles, resizeStatus: RESIZE_STATUS_RESIZING }, () => {\n raf.cancel(this.resizeFrameId);\n this.resizeFrameId = raf(() => {\n this.setState({ resizeStatus: RESIZE_STATUS_RESIZED }, () => {\n this.resizeFrameId = raf(() => {\n this.setState({ resizeStatus: RESIZE_STATUS_NONE });\n this.fixFirefoxAutoScroll();\n });\n });\n });\n });\n },\n // https://github.com/ant-design/ant-design/issues/21870\n fixFirefoxAutoScroll() {\n try {\n if (document.activeElement === this.$refs.textArea) {\n const currentStart = this.$refs.textArea.selectionStart;\n const currentEnd = this.$refs.textArea.selectionEnd;\n this.$refs.textArea.setSelectionRange(currentStart, currentEnd);\n }\n } catch (e) {\n // Fix error in Chrome:\n // Failed to read the 'selectionStart' property from 'HTMLInputElement'\n // http://stackoverflow.com/q/21177489/3040605\n }\n },\n\n renderTextArea() {\n const props = getOptionProps(this);\n const { prefixCls, autoSize, autosize, disabled } = props;\n const { textareaStyles, resizeStatus } = this.$data;\n warning(\n autosize === undefined,\n 'Input.TextArea',\n 'autosize is deprecated, please use autoSize instead.',\n );\n const otherProps = omit(props, [\n 'prefixCls',\n 'autoSize',\n 'autosize',\n 'defaultValue',\n 'allowClear',\n 'type',\n 'lazy',\n 'value',\n ]);\n const cls = classNames(prefixCls, {\n [`${prefixCls}-disabled`]: disabled,\n });\n const domProps = {};\n // Fix https://github.com/ant-design/ant-design/issues/6776\n // Make sure it could be reset when using form.getFieldDecorator\n if ('value' in props) {\n domProps.value = props.value || '';\n }\n const style = {\n ...textareaStyles,\n ...(resizeStatus === RESIZE_STATUS_RESIZING\n ? { overflowX: 'hidden', overflowY: 'hidden' }\n : null),\n };\n const textareaProps = {\n attrs: otherProps,\n domProps,\n style,\n class: cls,\n on: omit(getListeners(this), 'pressEnter'),\n directives: [\n {\n name: 'ant-input',\n },\n ],\n };\n return (\n <ResizeObserver onResize={this.handleResize} disabled={!(autoSize || autosize)}>\n <textarea {...textareaProps} ref=\"textArea\" />\n </ResizeObserver>\n );\n },\n },\n\n render() {\n return this.renderTextArea();\n },\n};\n\nexport default ResizableTextArea;\n","import ClearableLabeledInput from './ClearableLabeledInput';\nimport ResizableTextArea from './ResizableTextArea';\nimport inputProps from './inputProps';\nimport hasProp, { getListeners, getOptionProps } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport { fixControlledValue, resolveOnChange } from './Input';\nimport PropTypes from '../_util/vue-types';\n\nconst TextAreaProps = {\n ...inputProps,\n autosize: PropTypes.oneOfType([Object, Boolean]),\n autoSize: PropTypes.oneOfType([Object, Boolean]),\n};\n\nexport default {\n name: 'ATextarea',\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'change.value',\n },\n props: {\n ...TextAreaProps,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const value = typeof this.value === 'undefined' ? this.defaultValue : this.value;\n return {\n stateValue: typeof value === 'undefined' ? '' : value,\n };\n },\n computed: {},\n watch: {\n value(val) {\n this.stateValue = val;\n },\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus) {\n this.focus();\n }\n });\n },\n methods: {\n setValue(value, callback) {\n if (!hasProp(this, 'value')) {\n this.stateValue = value;\n this.$nextTick(() => {\n callback && callback();\n });\n } else {\n // 不在严格受控\n // https://github.com/vueComponent/ant-design-vue/issues/2207,modal 是 新 new 实例,更新队列和当前不在同一个更新队列中\n // this.$forceUpdate();\n }\n },\n handleKeyDown(e) {\n if (e.keyCode === 13) {\n this.$emit('pressEnter', e);\n }\n this.$emit('keydown', e);\n },\n onChange(e) {\n this.$emit('change.value', e.target.value);\n this.$emit('change', e);\n this.$emit('input', e);\n },\n handleChange(e) {\n const { value, composing } = e.target;\n if (((e.isComposing || composing) && this.lazy) || this.stateValue === value) return;\n\n this.setValue(e.target.value, () => {\n this.$refs.resizableTextArea.resizeTextarea();\n });\n resolveOnChange(this.$refs.resizableTextArea.$refs.textArea, e, this.onChange);\n },\n\n focus() {\n this.$refs.resizableTextArea.$refs.textArea.focus();\n },\n\n blur() {\n this.$refs.resizableTextArea.$refs.textArea.blur();\n },\n handleReset(e) {\n this.setValue('', () => {\n this.$refs.resizableTextArea.renderTextArea();\n this.focus();\n });\n resolveOnChange(this.$refs.resizableTextArea.$refs.textArea, e, this.onChange);\n },\n\n renderTextArea(prefixCls) {\n const props = getOptionProps(this);\n const resizeProps = {\n props: {\n ...props,\n prefixCls,\n },\n on: {\n ...getListeners(this),\n input: this.handleChange,\n keydown: this.handleKeyDown,\n },\n attrs: this.$attrs,\n };\n return <ResizableTextArea {...resizeProps} ref=\"resizableTextArea\" />;\n },\n },\n render() {\n const { stateValue, prefixCls: customizePrefixCls } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('input', customizePrefixCls);\n\n const props = {\n props: {\n ...getOptionProps(this),\n prefixCls,\n inputType: 'text',\n value: fixControlledValue(stateValue),\n element: this.renderTextArea(prefixCls),\n handleReset: this.handleReset,\n },\n on: getListeners(this),\n };\n return <ClearableLabeledInput {...props} />;\n },\n};\n","import classNames from 'classnames';\nimport TextArea from './TextArea';\nimport omit from 'omit.js';\nimport inputProps from './inputProps';\nimport { hasProp, getComponentFromProp, getListeners, getOptionProps } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport ClearableLabeledInput from './ClearableLabeledInput';\n\nfunction noop() {}\n\nexport function fixControlledValue(value) {\n if (typeof value === 'undefined' || value === null) {\n return '';\n }\n return value;\n}\n\nexport function resolveOnChange(target, e, onChange) {\n if (onChange) {\n let event = e;\n if (e.type === 'click') {\n // click clear icon\n //event = Object.create(e);\n Object.defineProperty(event, 'target', {\n writable: true,\n });\n Object.defineProperty(event, 'currentTarget', {\n writable: true,\n });\n event.target = target;\n event.currentTarget = target;\n const originalInputValue = target.value;\n // change target ref value cause e.target.value should be '' when clear input\n target.value = '';\n onChange(event);\n // reset target ref value\n target.value = originalInputValue;\n return;\n }\n onChange(event);\n }\n}\n\nexport function getInputClassName(prefixCls, size, disabled) {\n return classNames(prefixCls, {\n [`${prefixCls}-sm`]: size === 'small',\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-disabled`]: disabled,\n });\n}\n\nexport default {\n name: 'AInput',\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'change.value',\n },\n props: {\n ...inputProps,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const props = this.$props;\n const value = typeof props.value === 'undefined' ? props.defaultValue : props.value;\n return {\n stateValue: typeof value === 'undefined' ? '' : value,\n };\n },\n watch: {\n value(val) {\n this.stateValue = val;\n },\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus) {\n this.focus();\n }\n this.clearPasswordValueAttribute();\n });\n },\n beforeDestroy() {\n if (this.removePasswordTimeout) {\n clearTimeout(this.removePasswordTimeout);\n }\n },\n methods: {\n onBlur(e) {\n // fix this isssue: https://github.com/vueComponent/ant-design-vue/issues/3816\n // reference: https://github.com/vuejs/vue/issues/5847 and https://github.com/vuejs/vue/issues/8431\n this.$forceUpdate();\n\n const { blur } = getListeners(this);\n blur && blur(e);\n },\n\n focus() {\n this.$refs.input.focus();\n },\n\n blur() {\n this.$refs.input.blur();\n },\n select() {\n this.$refs.input.select();\n },\n\n setValue(value, callback) {\n if (this.stateValue === value) {\n return;\n }\n if (!hasProp(this, 'value')) {\n this.stateValue = value;\n this.$nextTick(() => {\n callback && callback();\n });\n } else {\n // 不在严格受控\n // https://github.com/vueComponent/ant-design-vue/issues/2207,modal 是 新 new 实例,更新队列和当前不在同一个更新队列中\n // this.$forceUpdate();\n }\n },\n onChange(e) {\n this.$emit('change.value', e.target.value);\n this.$emit('change', e);\n this.$emit('input', e);\n },\n handleReset(e) {\n this.setValue('', () => {\n this.focus();\n });\n resolveOnChange(this.$refs.input, e, this.onChange);\n },\n renderInput(prefixCls) {\n const otherProps = omit(this.$props, [\n 'prefixCls',\n 'addonBefore',\n 'addonAfter',\n 'prefix',\n 'suffix',\n 'allowClear',\n 'value',\n 'defaultValue',\n 'lazy',\n 'size',\n 'inputType',\n 'className',\n ]);\n const { stateValue, handleKeyDown, handleChange, size, disabled } = this;\n const inputProps = {\n directives: [{ name: 'ant-input' }],\n domProps: {\n value: fixControlledValue(stateValue),\n },\n attrs: { ...otherProps, ...this.$attrs },\n on: {\n ...getListeners(this),\n keydown: handleKeyDown,\n input: handleChange,\n change: noop,\n blur: this.onBlur,\n },\n class: getInputClassName(prefixCls, size, disabled),\n ref: 'input',\n key: 'ant-input',\n };\n return <input {...inputProps} />;\n },\n clearPasswordValueAttribute() {\n // https://github.com/ant-design/ant-design/issues/20541\n this.removePasswordTimeout = setTimeout(() => {\n if (\n this.$refs.input &&\n this.$refs.input.getAttribute &&\n this.$refs.input.getAttribute('type') === 'password' &&\n this.$refs.input.hasAttribute('value')\n ) {\n this.$refs.input.removeAttribute('value');\n }\n });\n },\n handleChange(e) {\n const { value, composing } = e.target;\n // https://github.com/vueComponent/ant-design-vue/issues/2203\n if (((e.isComposing || composing) && this.lazy) || this.stateValue === value) return;\n this.setValue(value, this.clearPasswordValueAttribute);\n resolveOnChange(this.$refs.input, e, this.onChange);\n },\n handleKeyDown(e) {\n if (e.keyCode === 13) {\n this.$emit('pressEnter', e);\n }\n this.$emit('keydown', e);\n },\n },\n render() {\n if (this.$props.type === 'textarea') {\n const textareaProps = {\n props: this.$props,\n attrs: this.$attrs,\n on: {\n ...getListeners(this),\n input: this.handleChange,\n keydown: this.handleKeyDown,\n change: noop,\n blur: this.onBlur,\n },\n };\n return <TextArea {...textareaProps} ref=\"input\" />;\n }\n const { prefixCls: customizePrefixCls } = this.$props;\n const { stateValue } = this.$data;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('input', customizePrefixCls);\n const addonAfter = getComponentFromProp(this, 'addonAfter');\n const addonBefore = getComponentFromProp(this, 'addonBefore');\n const suffix = getComponentFromProp(this, 'suffix');\n const prefix = getComponentFromProp(this, 'prefix');\n const props = {\n props: {\n ...getOptionProps(this),\n prefixCls,\n inputType: 'input',\n value: fixControlledValue(stateValue),\n element: this.renderInput(prefixCls),\n handleReset: this.handleReset,\n addonAfter,\n addonBefore,\n suffix,\n prefix,\n },\n on: getListeners(this),\n };\n return <ClearableLabeledInput {...props} />;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { filterEmpty, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport default {\n name: 'AInputGroup',\n props: {\n prefixCls: PropTypes.string,\n size: {\n validator(value) {\n return ['small', 'large', 'default'].includes(value);\n },\n },\n compact: Boolean,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n computed: {\n classes() {\n const { prefixCls: customizePrefixCls, size, compact = false } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('input-group', customizePrefixCls);\n\n return {\n [`${prefixCls}`]: true,\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n [`${prefixCls}-compact`]: compact,\n };\n },\n },\n methods: {},\n render() {\n return (\n <span class={this.classes} {...{ on: getListeners(this) }}>\n {filterEmpty(this.$slots.default)}\n </span>\n );\n },\n};\n","import TransitionEvents from './css-animation/Event';\nimport raf from './raf';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nlet styleForPesudo;\n\n// Where el is the DOM element you'd like to test for visibility\nfunction isHidden(element) {\n if (process.env.NODE_ENV === 'test') {\n return false;\n }\n return !element || element.offsetParent === null;\n}\nfunction isNotGrey(color) {\n // eslint-disable-next-line no-useless-escape\n const match = (color || '').match(/rgba?\\((\\d*), (\\d*), (\\d*)(, [\\.\\d]*)?\\)/);\n if (match && match[1] && match[2] && match[3]) {\n return !(match[1] === match[2] && match[2] === match[3]);\n }\n return true;\n}\nexport default {\n name: 'Wave',\n props: ['insertExtraNode'],\n mounted() {\n this.$nextTick(() => {\n const node = this.$el;\n if (node.nodeType !== 1) {\n return;\n }\n this.instance = this.bindAnimationEvent(node);\n });\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n beforeDestroy() {\n if (this.instance) {\n this.instance.cancel();\n }\n if (this.clickWaveTimeoutId) {\n clearTimeout(this.clickWaveTimeoutId);\n }\n this.destroy = true;\n },\n methods: {\n onClick(node, waveColor) {\n if (!node || isHidden(node) || node.className.indexOf('-leave') >= 0) {\n return;\n }\n const { insertExtraNode } = this.$props;\n this.extraNode = document.createElement('div');\n const extraNode = this.extraNode;\n extraNode.className = 'ant-click-animating-node';\n const attributeName = this.getAttributeName();\n node.removeAttribute(attributeName);\n node.setAttribute(attributeName, 'true');\n // Not white or transparent or grey\n styleForPesudo = styleForPesudo || document.createElement('style');\n if (\n waveColor &&\n waveColor !== '#ffffff' &&\n waveColor !== 'rgb(255, 255, 255)' &&\n isNotGrey(waveColor) &&\n !/rgba\\(\\d*, \\d*, \\d*, 0\\)/.test(waveColor) && // any transparent rgba color\n waveColor !== 'transparent'\n ) {\n // Add nonce if CSP exist\n if (this.csp && this.csp.nonce) {\n styleForPesudo.nonce = this.csp.nonce;\n }\n extraNode.style.borderColor = waveColor;\n styleForPesudo.innerHTML = `\n [ant-click-animating-without-extra-node='true']::after, .ant-click-animating-node {\n --antd-wave-shadow-color: ${waveColor};\n }`;\n if (!document.body.contains(styleForPesudo)) {\n document.body.appendChild(styleForPesudo);\n }\n }\n if (insertExtraNode) {\n node.appendChild(extraNode);\n }\n TransitionEvents.addStartEventListener(node, this.onTransitionStart);\n TransitionEvents.addEndEventListener(node, this.onTransitionEnd);\n },\n onTransitionStart(e) {\n if (this.destroy) return;\n\n const node = this.$el;\n if (!e || e.target !== node) {\n return;\n }\n\n if (!this.animationStart) {\n this.resetEffect(node);\n }\n },\n onTransitionEnd(e) {\n if (!e || e.animationName !== 'fadeEffect') {\n return;\n }\n this.resetEffect(e.target);\n },\n getAttributeName() {\n const { insertExtraNode } = this.$props;\n return insertExtraNode ? 'ant-click-animating' : 'ant-click-animating-without-extra-node';\n },\n bindAnimationEvent(node) {\n if (\n !node ||\n !node.getAttribute ||\n node.getAttribute('disabled') ||\n node.className.indexOf('disabled') >= 0\n ) {\n return;\n }\n const onClick = e => {\n // Fix radio button click twice\n if (e.target.tagName === 'INPUT' || isHidden(e.target)) {\n return;\n }\n this.resetEffect(node);\n // Get wave color from target\n const waveColor =\n getComputedStyle(node).getPropertyValue('border-top-color') || // Firefox Compatible\n getComputedStyle(node).getPropertyValue('border-color') ||\n getComputedStyle(node).getPropertyValue('background-color');\n this.clickWaveTimeoutId = window.setTimeout(() => this.onClick(node, waveColor), 0);\n raf.cancel(this.animationStartId);\n this.animationStart = true;\n\n // Render to trigger transition event cost 3 frames. Let's delay 10 frames to reset this.\n this.animationStartId = raf(() => {\n this.animationStart = false;\n }, 10);\n };\n node.addEventListener('click', onClick, true);\n return {\n cancel: () => {\n node.removeEventListener('click', onClick, true);\n },\n };\n },\n\n resetEffect(node) {\n if (!node || node === this.extraNode || !(node instanceof Element)) {\n return;\n }\n const { insertExtraNode } = this.$props;\n const attributeName = this.getAttributeName();\n node.setAttribute(attributeName, 'false'); // edge has bug on `removeAttribute` #14466\n if (styleForPesudo) {\n styleForPesudo.innerHTML = '';\n }\n if (insertExtraNode && this.extraNode && node.contains(this.extraNode)) {\n node.removeChild(this.extraNode);\n }\n TransitionEvents.removeStartEventListener(node, this.onTransitionStart);\n TransitionEvents.removeEndEventListener(node, this.onTransitionEnd);\n },\n },\n\n render() {\n if (this.configProvider.csp) {\n this.csp = this.configProvider.csp;\n }\n return this.$slots.default && this.$slots.default[0];\n },\n};\n","import PropTypes from '../_util/vue-types';\nexport default () => ({\n prefixCls: PropTypes.string,\n type: PropTypes.string,\n htmlType: PropTypes.oneOf(['button', 'submit', 'reset']).def('button'),\n icon: PropTypes.any,\n shape: PropTypes.oneOf(['circle', 'circle-outline', 'round']),\n size: PropTypes.oneOf(['small', 'large', 'default']).def('default'),\n loading: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n disabled: PropTypes.bool,\n ghost: PropTypes.bool,\n block: PropTypes.bool,\n});\n","import Wave from '../_util/wave';\nimport Icon from '../icon';\nimport buttonTypes from './buttonTypes';\nimport { filterEmpty, getListeners, getComponentFromProp } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nconst rxTwoCNChar = /^[\\u4e00-\\u9fa5]{2}$/;\nconst isTwoCNChar = rxTwoCNChar.test.bind(rxTwoCNChar);\nconst props = buttonTypes();\nexport default {\n name: 'AButton',\n inheritAttrs: false,\n __ANT_BUTTON: true,\n props,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n sizeMap: {\n large: 'lg',\n small: 'sm',\n },\n sLoading: !!this.loading,\n hasTwoCNChar: false,\n };\n },\n computed: {\n classes() {\n const {\n prefixCls: customizePrefixCls,\n type,\n shape,\n size,\n hasTwoCNChar,\n sLoading,\n ghost,\n block,\n icon,\n $slots,\n } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('btn', customizePrefixCls);\n const autoInsertSpace = this.configProvider.autoInsertSpaceInButton !== false;\n\n // large => lg\n // small => sm\n let sizeCls = '';\n switch (size) {\n case 'large':\n sizeCls = 'lg';\n break;\n case 'small':\n sizeCls = 'sm';\n break;\n default:\n break;\n }\n const iconType = sLoading ? 'loading' : icon;\n const children = filterEmpty($slots.default);\n return {\n [`${prefixCls}`]: true,\n [`${prefixCls}-${type}`]: type,\n [`${prefixCls}-${shape}`]: shape,\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n [`${prefixCls}-icon-only`]: children.length === 0 && iconType,\n [`${prefixCls}-loading`]: sLoading,\n [`${prefixCls}-background-ghost`]: ghost || type === 'ghost',\n [`${prefixCls}-two-chinese-chars`]: hasTwoCNChar && autoInsertSpace,\n [`${prefixCls}-block`]: block,\n };\n },\n },\n watch: {\n loading(val, preVal) {\n if (preVal && typeof preVal !== 'boolean') {\n clearTimeout(this.delayTimeout);\n }\n if (val && typeof val !== 'boolean' && val.delay) {\n this.delayTimeout = setTimeout(() => {\n this.sLoading = !!val;\n }, val.delay);\n } else {\n this.sLoading = !!val;\n }\n },\n },\n mounted() {\n this.fixTwoCNChar();\n },\n updated() {\n this.fixTwoCNChar();\n },\n beforeDestroy() {\n // if (this.timeout) {\n // clearTimeout(this.timeout)\n // }\n if (this.delayTimeout) {\n clearTimeout(this.delayTimeout);\n }\n },\n methods: {\n fixTwoCNChar() {\n // Fix for HOC usage like <FormatMessage />\n const node = this.$refs.buttonNode;\n if (!node) {\n return;\n }\n const buttonText = node.textContent;\n if (this.isNeedInserted() && isTwoCNChar(buttonText)) {\n if (!this.hasTwoCNChar) {\n this.hasTwoCNChar = true;\n }\n } else if (this.hasTwoCNChar) {\n this.hasTwoCNChar = false;\n }\n },\n handleClick(event) {\n const { sLoading } = this.$data;\n if (sLoading) {\n return;\n }\n this.$emit('click', event);\n },\n insertSpace(child, needInserted) {\n const SPACE = needInserted ? ' ' : '';\n if (typeof child.text === 'string') {\n let text = child.text.trim();\n if (isTwoCNChar(text)) {\n text = text.split('').join(SPACE);\n }\n return <span>{text}</span>;\n }\n return child;\n },\n isNeedInserted() {\n const { $slots, type } = this;\n const icon = getComponentFromProp(this, 'icon');\n return $slots.default && $slots.default.length === 1 && !icon && type !== 'link';\n },\n },\n render() {\n const { type, htmlType, classes, disabled, handleClick, sLoading, $slots, $attrs } = this;\n const icon = getComponentFromProp(this, 'icon');\n const buttonProps = {\n attrs: {\n ...$attrs,\n disabled,\n },\n class: classes,\n on: {\n ...getListeners(this),\n click: handleClick,\n },\n };\n const iconType = sLoading ? 'loading' : icon;\n const iconNode = iconType ? <Icon type={iconType} /> : null;\n const children = filterEmpty($slots.default);\n const autoInsertSpace = this.configProvider.autoInsertSpaceInButton !== false;\n const kids = children.map(child =>\n this.insertSpace(child, this.isNeedInserted() && autoInsertSpace),\n );\n\n if ($attrs.href !== undefined) {\n return (\n <a {...buttonProps} ref=\"buttonNode\">\n {iconNode}\n {kids}\n </a>\n );\n }\n\n const buttonNode = (\n <button {...buttonProps} ref=\"buttonNode\" type={htmlType || 'button'}>\n {iconNode}\n {kids}\n </button>\n );\n\n if (type === 'link') {\n return buttonNode;\n }\n\n return <Wave>{buttonNode}</Wave>;\n },\n};\n","import { filterEmpty } from '../_util/props-util';\nimport PropTypes from '../_util/vue-types';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nconst ButtonGroupProps = {\n prefixCls: PropTypes.string,\n size: {\n validator(value) {\n return ['small', 'large', 'default'].includes(value);\n },\n },\n};\nexport { ButtonGroupProps };\nexport default {\n name: 'AButtonGroup',\n props: ButtonGroupProps,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n sizeMap: {\n large: 'lg',\n small: 'sm',\n },\n };\n },\n render() {\n const { prefixCls: customizePrefixCls, size, $slots } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('btn-group', customizePrefixCls);\n\n // large => lg\n // small => sm\n let sizeCls = '';\n switch (size) {\n case 'large':\n sizeCls = 'lg';\n break;\n case 'small':\n sizeCls = 'sm';\n break;\n default:\n break;\n }\n const classes = {\n [`${prefixCls}`]: true,\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n };\n return <div class={classes}>{filterEmpty($slots.default)}</div>;\n },\n};\n","import Button from './button';\nimport ButtonGroup from './button-group';\nimport Base from '../base';\n\nButton.Group = ButtonGroup;\n\n/* istanbul ignore next */\nButton.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Button.name, Button);\n Vue.component(ButtonGroup.name, ButtonGroup);\n};\n\nexport default Button;\n","import classNames from 'classnames';\nimport { isMobile } from 'is-mobile';\nimport Input from './Input';\nimport Icon from '../icon';\nimport inputProps from './inputProps';\nimport Button from '../button';\nimport { cloneElement } from '../_util/vnode';\nimport PropTypes from '../_util/vue-types';\nimport { getOptionProps, getComponentFromProp, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport default {\n name: 'AInputSearch',\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'change.value',\n },\n props: {\n ...inputProps,\n // 不能设置默认值 https://github.com/vueComponent/ant-design-vue/issues/1916\n enterButton: PropTypes.any,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n onChange(e) {\n if (e && e.target && e.type === 'click') {\n this.$emit('search', e.target.value, e);\n }\n this.$emit('change', e);\n },\n onSearch(e) {\n if (this.loading || this.disabled) {\n return;\n }\n this.$emit('search', this.$refs.input.stateValue, e);\n if (!isMobile({ tablet: true })) {\n this.$refs.input.focus();\n }\n },\n focus() {\n this.$refs.input.focus();\n },\n\n blur() {\n this.$refs.input.blur();\n },\n renderLoading(prefixCls) {\n const { size } = this.$props;\n let enterButton = getComponentFromProp(this, 'enterButton');\n // 兼容 <a-input-search enterButton />, 因enterButton类型为 any,此类写法 enterButton 为空字符串\n enterButton = enterButton || enterButton === '';\n if (enterButton) {\n return (\n <Button class={`${prefixCls}-button`} type=\"primary\" size={size} key=\"enterButton\">\n <Icon type=\"loading\" />\n </Button>\n );\n }\n return <Icon class={`${prefixCls}-icon`} type=\"loading\" key=\"loadingIcon\" />;\n },\n renderSuffix(prefixCls) {\n const { loading } = this;\n const suffix = getComponentFromProp(this, 'suffix');\n let enterButton = getComponentFromProp(this, 'enterButton');\n // 兼容 <a-input-search enterButton />, 因enterButton类型为 any,此类写法 enterButton 为空字符串\n enterButton = enterButton || enterButton === '';\n if (loading && !enterButton) {\n return [suffix, this.renderLoading(prefixCls)];\n }\n\n if (enterButton) return suffix;\n\n const icon = (\n <Icon class={`${prefixCls}-icon`} type=\"search\" key=\"searchIcon\" onClick={this.onSearch} />\n );\n\n if (suffix) {\n // let cloneSuffix = suffix;\n // if (isValidElement(cloneSuffix) && !cloneSuffix.key) {\n // cloneSuffix = cloneElement(cloneSuffix, {\n // key: 'originSuffix',\n // });\n // }\n return [suffix, icon];\n }\n\n return icon;\n },\n renderAddonAfter(prefixCls) {\n const { size, disabled, loading } = this;\n const btnClassName = `${prefixCls}-button`;\n let enterButton = getComponentFromProp(this, 'enterButton');\n enterButton = enterButton || enterButton === '';\n const addonAfter = getComponentFromProp(this, 'addonAfter');\n if (loading && enterButton) {\n return [this.renderLoading(prefixCls), addonAfter];\n }\n if (!enterButton) return addonAfter;\n const enterButtonAsElement = Array.isArray(enterButton) ? enterButton[0] : enterButton;\n let button;\n const isAntdButton =\n enterButtonAsElement.componentOptions &&\n enterButtonAsElement.componentOptions.Ctor.extendOptions.__ANT_BUTTON;\n if (enterButtonAsElement.tag === 'button' || isAntdButton) {\n button = cloneElement(enterButtonAsElement, {\n key: 'enterButton',\n class: isAntdButton ? btnClassName : '',\n props: isAntdButton ? { size } : {},\n on: {\n click: this.onSearch,\n },\n });\n } else {\n button = (\n <Button\n class={btnClassName}\n type=\"primary\"\n size={size}\n disabled={disabled}\n key=\"enterButton\"\n onClick={this.onSearch}\n >\n {enterButton === true || enterButton === '' ? <Icon type=\"search\" /> : enterButton}\n </Button>\n );\n }\n if (addonAfter) {\n return [button, addonAfter];\n }\n\n return button;\n },\n },\n render() {\n const {\n prefixCls: customizePrefixCls,\n inputPrefixCls: customizeInputPrefixCls,\n size,\n loading,\n ...others\n } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('input-search', customizePrefixCls);\n const inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n\n let enterButton = getComponentFromProp(this, 'enterButton');\n const addonBefore = getComponentFromProp(this, 'addonBefore');\n enterButton = enterButton || enterButton === '';\n let inputClassName;\n if (enterButton) {\n inputClassName = classNames(prefixCls, {\n [`${prefixCls}-enter-button`]: !!enterButton,\n [`${prefixCls}-${size}`]: !!size,\n });\n } else {\n inputClassName = prefixCls;\n }\n\n const on = { ...getListeners(this) };\n delete on.search;\n const inputProps = {\n props: {\n ...others,\n prefixCls: inputPrefixCls,\n size,\n suffix: this.renderSuffix(prefixCls),\n prefix: getComponentFromProp(this, 'prefix'),\n addonAfter: this.renderAddonAfter(prefixCls),\n addonBefore,\n className: inputClassName,\n },\n attrs: this.$attrs,\n ref: 'input',\n on: {\n pressEnter: this.onSearch,\n ...on,\n change: this.onChange,\n },\n };\n return <Input {...inputProps} />;\n },\n};\n","import classNames from 'classnames';\nimport { getComponentFromProp, getOptionProps, getListeners } from '../_util/props-util';\nimport Input from './Input';\nimport Icon from '../icon';\nimport inputProps from './inputProps';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\n\nconst ActionMap = {\n click: 'click',\n hover: 'mouseover',\n};\n\nexport default {\n name: 'AInputPassword',\n mixins: [BaseMixin],\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'change.value',\n },\n props: {\n ...inputProps,\n prefixCls: PropTypes.string.def('ant-input-password'),\n inputPrefixCls: PropTypes.string.def('ant-input'),\n action: PropTypes.string.def('click'),\n visibilityToggle: PropTypes.bool.def(true),\n },\n data() {\n return {\n visible: false,\n };\n },\n methods: {\n focus() {\n this.$refs.input.focus();\n },\n blur() {\n this.$refs.input.blur();\n },\n onVisibleChange() {\n if (this.disabled) {\n return;\n }\n this.setState({\n visible: !this.visible,\n });\n },\n getIcon() {\n const { prefixCls, action } = this.$props;\n const iconTrigger = ActionMap[action] || '';\n const iconProps = {\n props: {\n type: this.visible ? 'eye' : 'eye-invisible',\n },\n on: {\n [iconTrigger]: this.onVisibleChange,\n mousedown: e => {\n // Prevent focused state lost\n // https://github.com/ant-design/ant-design/issues/15173\n e.preventDefault();\n },\n mouseup: e => {\n // Prevent focused state lost\n // https://github.com/ant-design/ant-design/pull/23633/files\n e.preventDefault();\n },\n },\n class: `${prefixCls}-icon`,\n key: 'passwordIcon',\n };\n return <Icon {...iconProps} />;\n },\n },\n render() {\n const {\n prefixCls,\n inputPrefixCls,\n size,\n suffix,\n visibilityToggle,\n ...restProps\n } = getOptionProps(this);\n const suffixIcon = visibilityToggle && this.getIcon();\n const inputClassName = classNames(prefixCls, {\n [`${prefixCls}-${size}`]: !!size,\n });\n const inputProps = {\n props: {\n ...restProps,\n prefixCls: inputPrefixCls,\n size,\n suffix: suffixIcon,\n prefix: getComponentFromProp(this, 'prefix'),\n addonAfter: getComponentFromProp(this, 'addonAfter'),\n addonBefore: getComponentFromProp(this, 'addonBefore'),\n },\n attrs: {\n ...this.$attrs,\n type: this.visible ? 'text' : 'password',\n },\n class: inputClassName,\n ref: 'input',\n on: getListeners(this),\n };\n return <Input {...inputProps} />;\n },\n};\n","import Vue from 'vue';\nimport Input from './Input';\nimport Group from './Group';\nimport Search from './Search';\nimport TextArea from './TextArea';\nimport Password from './Password';\nimport antInputDirective from '../_util/antInputDirective';\nimport Base from '../base';\n\nVue.use(antInputDirective);\n\nInput.Group = Group;\nInput.Search = Search;\nInput.TextArea = TextArea;\nInput.Password = Password;\n\n/* istanbul ignore next */\nInput.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Input.name, Input);\n Vue.component(Input.Group.name, Input.Group);\n Vue.component(Input.Search.name, Input.Search);\n Vue.component(Input.TextArea.name, Input.TextArea);\n Vue.component(Input.Password.name, Input.Password);\n};\n\nexport default Input;\n","import PropTypes from '../_util/vue-types';\nimport { cloneElement } from '../_util/vnode';\nimport { getOptionProps, getListeners } from '../_util/props-util';\nfunction chaining(...fns) {\n return function(...args) {\n // eslint-disable-line\n // eslint-disable-line\n for (let i = 0; i < fns.length; i++) {\n if (fns[i] && typeof fns[i] === 'function') {\n fns[i].apply(this, args);\n }\n }\n };\n}\nexport default {\n name: 'InputElement',\n inheritAttrs: false,\n props: {\n value: PropTypes.any,\n disabled: PropTypes.bool,\n placeholder: PropTypes.string,\n },\n render() {\n const { $slots = {}, $attrs = {}, placeholder } = this;\n const listeners = getListeners(this);\n const props = getOptionProps(this);\n const value = props.value === undefined ? '' : props.value;\n const children = $slots.default[0];\n const { componentOptions = {} } = $slots.default[0];\n const { listeners: events = {} } = componentOptions;\n const newEvent = { ...events };\n\n for (const [eventName, event] of Object.entries(listeners)) {\n newEvent[eventName] = chaining(event, events[eventName]);\n }\n const attrs = { ...$attrs, value };\n // https://github.com/vueComponent/ant-design-vue/issues/1761\n delete props.placeholder;\n if (placeholder) {\n props.placeholder = placeholder;\n attrs.placeholder = placeholder;\n }\n return cloneElement(children, {\n domProps: {\n value,\n },\n props,\n on: newEvent,\n attrs,\n ref: 'ele',\n });\n },\n};\n","import { Option, OptGroup } from '../vc-select';\nimport Select, { AbstractSelectProps, SelectValue } from '../select';\nimport Input from '../input';\nimport InputElement from './InputElement';\nimport PropTypes from '../_util/vue-types';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport {\n getComponentFromProp,\n getOptionProps,\n filterEmpty,\n isValidElement,\n getListeners,\n} from '../_util/props-util';\nimport Base from '../base';\n\n// const DataSourceItemObject = PropTypes.shape({\n// value: String,\n// text: String,\n// }).loose\n// const DataSourceItemType = PropTypes.oneOfType([\n// PropTypes.string,\n// DataSourceItemObject,\n// ]).isRequired\n\n// export interface AutoCompleteInputProps {\n// onChange?: React.FormEventHandler<any>;\n// value: any;\n// }\n\nconst AutoCompleteProps = {\n ...AbstractSelectProps(),\n value: SelectValue,\n defaultValue: SelectValue,\n dataSource: PropTypes.array,\n dropdownMenuStyle: PropTypes.object,\n optionLabelProp: String,\n dropdownMatchSelectWidth: PropTypes.bool,\n // onChange?: (value: SelectValue) => void;\n // onSelect?: (value: SelectValue, option: Object) => any;\n};\n\nconst AutoComplete = {\n name: 'AAutoComplete',\n props: {\n ...AutoCompleteProps,\n prefixCls: PropTypes.string.def('ant-select'),\n showSearch: PropTypes.bool.def(false),\n transitionName: PropTypes.string.def('slide-up'),\n choiceTransitionName: PropTypes.string.def('zoom'),\n autoFocus: PropTypes.bool,\n backfill: PropTypes.bool,\n optionLabelProp: PropTypes.string.def('children'),\n filterOption: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]).def(false),\n defaultActiveFirstOption: PropTypes.bool.def(true),\n },\n Option: { ...Option, name: 'AAutoCompleteOption' },\n OptGroup: { ...OptGroup, name: 'AAutoCompleteOptGroup' },\n model: {\n prop: 'value',\n event: 'change',\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n provide() {\n return {\n savePopupRef: this.savePopupRef,\n };\n },\n methods: {\n savePopupRef(ref) {\n this.popupRef = ref;\n },\n\n getInputElement() {\n const { $slots, placeholder } = this;\n const children = filterEmpty($slots.default);\n const element = children.length ? children[0] : <Input lazy={false} />;\n return <InputElement placeholder={placeholder}>{element}</InputElement>;\n },\n\n focus() {\n if (this.$refs.select) {\n this.$refs.select.focus();\n }\n },\n\n blur() {\n if (this.$refs.select) {\n this.$refs.select.blur();\n }\n },\n },\n\n render() {\n const { size, prefixCls: customizePrefixCls, optionLabelProp, dataSource, $slots } = this;\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('select', customizePrefixCls);\n\n const cls = {\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n [`${prefixCls}-show-search`]: true,\n [`${prefixCls}-auto-complete`]: true,\n };\n\n let options;\n const childArray = filterEmpty($slots.dataSource);\n if (childArray.length) {\n options = childArray;\n } else {\n options = dataSource\n ? dataSource.map(item => {\n if (isValidElement(item)) {\n return item;\n }\n switch (typeof item) {\n case 'string':\n return <Option key={item}>{item}</Option>;\n case 'object':\n return <Option key={item.value}>{item.text}</Option>;\n default:\n throw new Error(\n 'AutoComplete[dataSource] only supports type `string[] | Object[]`.',\n );\n }\n })\n : [];\n }\n const selectProps = {\n props: {\n ...getOptionProps(this),\n mode: Select.SECRET_COMBOBOX_MODE_DO_NOT_USE,\n optionLabelProp,\n getInputElement: this.getInputElement,\n notFoundContent: getComponentFromProp(this, 'notFoundContent'),\n placeholder: '',\n },\n class: cls,\n ref: 'select',\n on: getListeners(this),\n };\n return <Select {...selectProps}>{options}</Select>;\n },\n};\n\n/* istanbul ignore next */\nAutoComplete.install = function(Vue) {\n Vue.use(Base);\n Vue.component(AutoComplete.name, AutoComplete);\n Vue.component(AutoComplete.Option.name, AutoComplete.Option);\n Vue.component(AutoComplete.OptGroup.name, AutoComplete.OptGroup);\n};\n\nexport default AutoComplete;\n","import Icon from '../icon';\nimport classNames from 'classnames';\nimport BaseMixin from '../_util/BaseMixin';\nimport PropTypes from '../_util/vue-types';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport { getComponentFromProp, isValidElement } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\n\nfunction noop() {}\nexport const AlertProps = {\n /**\n * Type of Alert styles, options:`success`, `info`, `warning`, `error`\n */\n type: PropTypes.oneOf(['success', 'info', 'warning', 'error']),\n /** Whether Alert can be closed */\n closable: PropTypes.bool,\n /** Close text to show */\n closeText: PropTypes.any,\n /** Content of Alert */\n message: PropTypes.any,\n /** Additional content of Alert */\n description: PropTypes.any,\n /** Callback when close Alert */\n // onClose?: React.MouseEventHandler<HTMLAnchorElement>;\n /** Trigger when animation ending of Alert */\n afterClose: PropTypes.func.def(noop),\n /** Whether to show icon */\n showIcon: PropTypes.bool,\n iconType: PropTypes.string,\n prefixCls: PropTypes.string,\n banner: PropTypes.bool,\n icon: PropTypes.any,\n};\n\nconst Alert = {\n name: 'AAlert',\n props: AlertProps,\n mixins: [BaseMixin],\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n closing: false,\n closed: false,\n };\n },\n methods: {\n handleClose(e) {\n e.preventDefault();\n const dom = this.$el;\n dom.style.height = `${dom.offsetHeight}px`;\n // Magic code\n // 重复一次后才能正确设置 height\n dom.style.height = `${dom.offsetHeight}px`;\n\n this.setState({\n closing: true,\n });\n this.$emit('close', e);\n },\n animationEnd() {\n this.setState({\n closing: false,\n closed: true,\n });\n this.afterClose();\n },\n },\n\n render() {\n const { prefixCls: customizePrefixCls, banner, closing, closed } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('alert', customizePrefixCls);\n\n let { closable, type, showIcon, iconType } = this;\n const closeText = getComponentFromProp(this, 'closeText');\n const description = getComponentFromProp(this, 'description');\n const message = getComponentFromProp(this, 'message');\n const icon = getComponentFromProp(this, 'icon');\n // banner模式默认有 Icon\n showIcon = banner && showIcon === undefined ? true : showIcon;\n // banner模式默认为警告\n type = banner && type === undefined ? 'warning' : type || 'info';\n let iconTheme = 'filled';\n\n if (!iconType) {\n switch (type) {\n case 'success':\n iconType = 'check-circle';\n break;\n case 'info':\n iconType = 'info-circle';\n break;\n case 'error':\n iconType = 'close-circle';\n break;\n case 'warning':\n iconType = 'exclamation-circle';\n break;\n default:\n iconType = 'default';\n }\n\n // use outline icon in alert with description\n if (description) {\n iconTheme = 'outlined';\n }\n }\n\n // closeable when closeText is assigned\n if (closeText) {\n closable = true;\n }\n\n const alertCls = classNames(prefixCls, {\n [`${prefixCls}-${type}`]: true,\n [`${prefixCls}-closing`]: closing,\n [`${prefixCls}-with-description`]: !!description,\n [`${prefixCls}-no-icon`]: !showIcon,\n [`${prefixCls}-banner`]: !!banner,\n [`${prefixCls}-closable`]: closable,\n });\n\n const closeIcon = closable ? (\n <button\n type=\"button\"\n onClick={this.handleClose}\n class={`${prefixCls}-close-icon`}\n tabIndex={0}\n >\n {closeText ? (\n <span class={`${prefixCls}-close-text`}>{closeText}</span>\n ) : (\n <Icon type=\"close\" />\n )}\n </button>\n ) : null;\n\n const iconNode = (icon &&\n (isValidElement(icon) ? (\n cloneElement(icon, {\n class: `${prefixCls}-icon`,\n })\n ) : (\n <span class={`${prefixCls}-icon`}>{icon}</span>\n ))) || <Icon class={`${prefixCls}-icon`} type={iconType} theme={iconTheme} />;\n\n const transitionProps = getTransitionProps(`${prefixCls}-slide-up`, {\n appear: false,\n afterLeave: this.animationEnd,\n });\n return closed ? null : (\n <transition {...transitionProps}>\n <div v-show={!closing} class={alertCls} data-show={!closing}>\n {showIcon ? iconNode : null}\n <span class={`${prefixCls}-message`}>{message}</span>\n <span class={`${prefixCls}-description`}>{description}</span>\n {closeIcon}\n </div>\n </transition>\n );\n },\n};\n\n/* istanbul ignore next */\nAlert.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Alert.name, Alert);\n};\n\nexport default Alert;\n","import { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Icon from '../icon';\nimport { getListeners, getComponentFromProp } from '../_util/props-util';\nimport PropTypes from '../_util/vue-types';\n\nexport default {\n name: 'AAvatar',\n props: {\n prefixCls: {\n type: String,\n default: undefined,\n },\n shape: {\n validator: val => ['circle', 'square'].includes(val),\n default: 'circle',\n },\n size: {\n validator: val => {\n return typeof val === 'number' || ['small', 'large', 'default'].includes(val);\n },\n default: 'default',\n },\n src: String,\n /** Srcset of image avatar */\n srcSet: String,\n icon: PropTypes.any,\n alt: String,\n loadError: Function,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n isImgExist: true,\n isMounted: false,\n scale: 1,\n };\n },\n watch: {\n src() {\n this.$nextTick(() => {\n this.isImgExist = true;\n this.scale = 1;\n // force uodate for position\n this.$forceUpdate();\n });\n },\n },\n mounted() {\n this.$nextTick(() => {\n this.setScale();\n this.isMounted = true;\n });\n },\n updated() {\n this.$nextTick(() => {\n this.setScale();\n });\n },\n methods: {\n setScale() {\n if (!this.$refs.avatarChildren || !this.$refs.avatarNode) {\n return;\n }\n const childrenWidth = this.$refs.avatarChildren.offsetWidth; // offsetWidth avoid affecting be transform scale\n const nodeWidth = this.$refs.avatarNode.offsetWidth;\n // denominator is 0 is no meaning\n if (\n childrenWidth === 0 ||\n nodeWidth === 0 ||\n (this.lastChildrenWidth === childrenWidth && this.lastNodeWidth === nodeWidth)\n ) {\n return;\n }\n this.lastChildrenWidth = childrenWidth;\n this.lastNodeWidth = nodeWidth;\n // add 4px gap for each side to get better performance\n this.scale = nodeWidth - 8 < childrenWidth ? (nodeWidth - 8) / childrenWidth : 1;\n },\n handleImgLoadError() {\n const { loadError } = this.$props;\n const errorFlag = loadError ? loadError() : undefined;\n if (errorFlag !== false) {\n this.isImgExist = false;\n }\n },\n },\n render() {\n const { prefixCls: customizePrefixCls, shape, size, src, alt, srcSet } = this.$props;\n const icon = getComponentFromProp(this, 'icon');\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('avatar', customizePrefixCls);\n\n const { isImgExist, scale, isMounted } = this.$data;\n\n const sizeCls = {\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n };\n\n const classString = {\n [prefixCls]: true,\n ...sizeCls,\n [`${prefixCls}-${shape}`]: shape,\n [`${prefixCls}-image`]: src && isImgExist,\n [`${prefixCls}-icon`]: icon,\n };\n\n const sizeStyle =\n typeof size === 'number'\n ? {\n width: `${size}px`,\n height: `${size}px`,\n lineHeight: `${size}px`,\n fontSize: icon ? `${size / 2}px` : '18px',\n }\n : {};\n\n let children = this.$slots.default;\n if (src && isImgExist) {\n children = <img src={src} srcSet={srcSet} onError={this.handleImgLoadError} alt={alt} />;\n } else if (icon) {\n if (typeof icon === 'string') {\n children = <Icon type={icon} />;\n } else {\n children = icon;\n }\n } else {\n const childrenNode = this.$refs.avatarChildren;\n if (childrenNode || scale !== 1) {\n const transformString = `scale(${scale}) translateX(-50%)`;\n const childrenStyle = {\n msTransform: transformString,\n WebkitTransform: transformString,\n transform: transformString,\n };\n const sizeChildrenStyle =\n typeof size === 'number'\n ? {\n lineHeight: `${size}px`,\n }\n : {};\n children = (\n <span\n class={`${prefixCls}-string`}\n ref=\"avatarChildren\"\n style={{ ...sizeChildrenStyle, ...childrenStyle }}\n >\n {children}\n </span>\n );\n } else {\n const childrenStyle = {};\n if (!isMounted) {\n childrenStyle.opacity = 0;\n }\n children = (\n <span class={`${prefixCls}-string`} ref=\"avatarChildren\" style={{ opacity: 0 }}>\n {children}\n </span>\n );\n }\n }\n return (\n <span ref=\"avatarNode\" {...{ on: getListeners(this), class: classString, style: sizeStyle }}>\n {children}\n </span>\n );\n },\n};\n","import Avatar from './Avatar';\nimport Base from '../base';\n\n/* istanbul ignore next */\nAvatar.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Avatar.name, Avatar);\n};\n\nexport default Avatar;\n","import PropTypes from '../_util/vue-types';\nimport addEventListener from '../vc-util/Dom/addEventListener';\nimport getScroll from '../_util/getScroll';\nimport BaseMixin from '../_util/BaseMixin';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\nimport { getListeners } from '../_util/props-util';\nimport scrollTo from '../_util/scrollTo';\n\nfunction getDefaultTarget() {\n return window;\n}\n\nconst BackTopProps = {\n visibilityHeight: PropTypes.number,\n // onClick?: React.MouseEventHandler<any>;\n target: PropTypes.func,\n prefixCls: PropTypes.string,\n // visible: PropTypes.bool, // Only for test. Don't use it.\n};\n\nconst BackTop = {\n name: 'ABackTop',\n mixins: [BaseMixin],\n props: {\n ...BackTopProps,\n visibilityHeight: PropTypes.number.def(400),\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n this.scrollEvent = null;\n return {\n visible: false,\n };\n },\n mounted() {\n this.$nextTick(() => {\n const getTarget = this.target || getDefaultTarget;\n this.scrollEvent = addEventListener(getTarget(), 'scroll', this.handleScroll);\n this.handleScroll();\n });\n },\n\n activated() {\n this.$nextTick(() => {\n this.handleScroll();\n });\n },\n beforeDestroy() {\n if (this.scrollEvent) {\n this.scrollEvent.remove();\n }\n },\n methods: {\n getCurrentScrollTop() {\n const getTarget = this.target || getDefaultTarget;\n const targetNode = getTarget();\n if (targetNode === window) {\n return window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop;\n }\n return targetNode.scrollTop;\n },\n\n scrollToTop(e) {\n const { target = getDefaultTarget } = this;\n scrollTo(0, {\n getContainer: target,\n });\n this.$emit('click', e);\n },\n\n handleScroll() {\n const { visibilityHeight, target = getDefaultTarget } = this;\n const scrollTop = getScroll(target(), true);\n this.setState({\n visible: scrollTop > visibilityHeight,\n });\n },\n },\n\n render() {\n const { prefixCls: customizePrefixCls, $slots } = this;\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('back-top', customizePrefixCls);\n\n const defaultElement = (\n <div class={`${prefixCls}-content`}>\n <div class={`${prefixCls}-icon`} />\n </div>\n );\n const divProps = {\n on: {\n ...getListeners(this),\n click: this.scrollToTop,\n },\n class: prefixCls,\n };\n\n const backTopBtn = this.visible ? (\n <div {...divProps}>{$slots.default || defaultElement}</div>\n ) : null;\n const transitionProps = getTransitionProps('fade');\n return <transition {...transitionProps}>{backTopBtn}</transition>;\n },\n};\n\n/* istanbul ignore next */\nBackTop.install = function(Vue) {\n Vue.use(Base);\n Vue.component(BackTop.name, BackTop);\n};\n\nexport default BackTop;\n","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getStyle } from '../_util/props-util';\nimport omit from 'omit.js';\nimport { cloneElement } from '../_util/vnode';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nfunction getNumberArray(num) {\n return num\n ? num\n .toString()\n .split('')\n .reverse()\n .map(i => {\n const current = Number(i);\n return isNaN(current) ? i : current;\n })\n : [];\n}\n\nconst ScrollNumberProps = {\n prefixCls: PropTypes.string,\n count: PropTypes.any,\n component: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.number, PropTypes.string, null]),\n displayComponent: PropTypes.any,\n className: PropTypes.object,\n};\n\nexport default {\n mixins: [BaseMixin],\n props: ScrollNumberProps,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n animateStarted: true,\n sCount: this.count,\n };\n },\n watch: {\n count() {\n this.lastCount = this.sCount;\n this.setState({\n animateStarted: true,\n });\n },\n },\n updated() {\n const { animateStarted, count } = this;\n if (animateStarted) {\n this.clearTimeout();\n // Let browser has time to reset the scroller before actually\n // performing the transition.\n this.timeout = setTimeout(() => {\n this.setState(\n {\n animateStarted: false,\n sCount: count,\n },\n this.onAnimated,\n );\n });\n }\n },\n beforeDestroy() {\n this.clearTimeout();\n },\n methods: {\n clearTimeout() {\n if (this.timeout) {\n clearTimeout(this.timeout);\n this.timeout = undefined;\n }\n },\n getPositionByNum(num, i) {\n const { sCount } = this;\n const currentCount = Math.abs(Number(sCount));\n const lastCount = Math.abs(Number(this.lastCount));\n const currentDigit = Math.abs(getNumberArray(sCount)[i]);\n const lastDigit = Math.abs(getNumberArray(this.lastCount)[i]);\n\n if (this.animateStarted) {\n return 10 + num;\n }\n // 同方向则在同一侧切换数字\n if (currentCount > lastCount) {\n if (currentDigit >= lastDigit) {\n return 10 + num;\n }\n return 20 + num;\n }\n if (currentDigit <= lastDigit) {\n return 10 + num;\n }\n return num;\n },\n onAnimated() {\n this.$emit('animated');\n },\n\n renderNumberList(position, className) {\n const childrenToReturn = [];\n for (let i = 0; i < 30; i++) {\n childrenToReturn.push(\n <p\n key={i.toString()}\n class={classNames(className, {\n current: position === i,\n })}\n >\n {i % 10}\n </p>,\n );\n }\n\n return childrenToReturn;\n },\n renderCurrentNumber(prefixCls, num, i) {\n if (typeof num === 'number') {\n const position = this.getPositionByNum(num, i);\n const removeTransition =\n this.animateStarted || getNumberArray(this.lastCount)[i] === undefined;\n const style = {\n transition: removeTransition ? 'none' : undefined,\n msTransform: `translateY(${-position * 100}%)`,\n WebkitTransform: `translateY(${-position * 100}%)`,\n transform: `translateY(${-position * 100}%)`,\n };\n return (\n <span class={`${prefixCls}-only`} style={style} key={i}>\n {this.renderNumberList(position, `${prefixCls}-only-unit`)}\n </span>\n );\n }\n return (\n <span key=\"symbol\" class={`${prefixCls}-symbol`}>\n {num}\n </span>\n );\n },\n\n renderNumberElement(prefixCls) {\n const { sCount } = this;\n if (sCount && Number(sCount) % 1 === 0) {\n return getNumberArray(sCount)\n .map((num, i) => this.renderCurrentNumber(prefixCls, num, i))\n .reverse();\n }\n return sCount;\n },\n },\n\n render() {\n const {\n prefixCls: customizePrefixCls,\n title,\n component: Tag = 'sup',\n displayComponent,\n className,\n } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('scroll-number', customizePrefixCls);\n if (displayComponent) {\n return cloneElement(displayComponent, {\n class: `${prefixCls}-custom-component`,\n });\n }\n const style = getStyle(this, true);\n // fix https://fb.me/react-unknown-prop\n const restProps = omit(this.$props, ['count', 'component', 'prefixCls', 'displayComponent']);\n const newProps = {\n props: {\n ...restProps,\n },\n attrs: {\n title,\n },\n style,\n class: classNames(prefixCls, className),\n };\n // allow specify the border\n // mock border-color by box-shadow for compatible with old usage:\n // <Badge count={4} style={{ backgroundColor: '#fff', color: '#999', borderColor: '#d9d9d9' }} />\n if (style && style.borderColor) {\n newProps.style.boxShadow = `0 0 0 1px ${style.borderColor} inset`;\n }\n\n return <Tag {...newProps}>{this.renderNumberElement(prefixCls)}</Tag>;\n },\n};\n","import { tuple } from './type';\n\nexport const PresetColorTypes = tuple(\n 'pink',\n 'red',\n 'yellow',\n 'orange',\n 'cyan',\n 'green',\n 'blue',\n 'purple',\n 'geekblue',\n 'magenta',\n 'volcano',\n 'gold',\n 'lime',\n);\n","// https://stackoverflow.com/questions/46176165/ways-to-get-string-literal-type-of-array-values-without-enum-overhead\nexport const tuple = (...args) => args;\n\nexport const tupleNum = (...args) => args;\n","const isNumeric = value => {\n return !isNaN(parseFloat(value)) && isFinite(value);\n};\nexport default isNumeric;\n","import PropTypes from '../_util/vue-types';\nimport ScrollNumber from './ScrollNumber';\nimport { PresetColorTypes } from '../_util/colors';\nimport classNames from 'classnames';\nimport {\n initDefaultProps,\n filterEmpty,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport isNumeric from '../_util/isNumeric';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nconst BadgeProps = {\n /** Number to show in badge */\n count: PropTypes.any,\n showZero: PropTypes.bool,\n /** Max count to show */\n overflowCount: PropTypes.number,\n /** whether to show red dot without number */\n dot: PropTypes.bool,\n prefixCls: PropTypes.string,\n scrollNumberPrefixCls: PropTypes.string,\n status: PropTypes.oneOf(['success', 'processing', 'default', 'error', 'warning']),\n color: PropTypes.string,\n text: PropTypes.string,\n offset: PropTypes.array,\n numberStyle: PropTypes.object.def(() => ({})),\n title: PropTypes.string,\n};\nfunction isPresetColor(color) {\n return PresetColorTypes.indexOf(color) !== -1;\n}\nexport default {\n name: 'ABadge',\n props: initDefaultProps(BadgeProps, {\n showZero: false,\n dot: false,\n overflowCount: 99,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n getNumberedDispayCount() {\n const { overflowCount } = this.$props;\n const count = this.badgeCount;\n const displayCount = count > overflowCount ? `${overflowCount}+` : count;\n return displayCount;\n },\n\n getDispayCount() {\n const isDot = this.isDot();\n // dot mode don't need count\n if (isDot) {\n return '';\n }\n return this.getNumberedDispayCount();\n },\n\n getScrollNumberTitle() {\n const { title } = this.$props;\n const count = this.badgeCount;\n if (title) {\n return title;\n }\n return typeof count === 'string' || typeof count === 'number' ? count : undefined;\n },\n\n getStyleWithOffset() {\n const { offset, numberStyle } = this.$props;\n return offset\n ? {\n right: `${-parseInt(offset[0], 10)}px`,\n marginTop: isNumeric(offset[1]) ? `${offset[1]}px` : offset[1],\n ...numberStyle,\n }\n : { ...numberStyle };\n },\n getBadgeClassName(prefixCls) {\n const children = filterEmpty(this.$slots.default);\n const hasStatus = this.hasStatus();\n return classNames(prefixCls, {\n [`${prefixCls}-status`]: hasStatus,\n [`${prefixCls}-dot-status`]: hasStatus && this.dot && !this.isZero(),\n [`${prefixCls}-not-a-wrapper`]: !children.length,\n });\n },\n hasStatus() {\n const { status, color } = this.$props;\n return !!status || !!color;\n },\n isZero() {\n const numberedDispayCount = this.getNumberedDispayCount();\n return numberedDispayCount === '0' || numberedDispayCount === 0;\n },\n\n isDot() {\n const { dot } = this.$props;\n const isZero = this.isZero();\n return (dot && !isZero) || this.hasStatus();\n },\n\n isHidden() {\n const { showZero } = this.$props;\n const displayCount = this.getDispayCount();\n const isZero = this.isZero();\n const isDot = this.isDot();\n const isEmpty = displayCount === null || displayCount === undefined || displayCount === '';\n return (isEmpty || (isZero && !showZero)) && !isDot;\n },\n\n renderStatusText(prefixCls) {\n const { text } = this.$props;\n const hidden = this.isHidden();\n return hidden || !text ? null : <span class={`${prefixCls}-status-text`}>{text}</span>;\n },\n\n renderDispayComponent() {\n const count = this.badgeCount;\n const customNode = count;\n if (!customNode || typeof customNode !== 'object') {\n return undefined;\n }\n return cloneElement(customNode, {\n style: this.getStyleWithOffset(),\n });\n },\n\n renderBadgeNumber(prefixCls, scrollNumberPrefixCls) {\n const { status, color } = this.$props;\n const count = this.badgeCount;\n const displayCount = this.getDispayCount();\n const isDot = this.isDot();\n const hidden = this.isHidden();\n\n const scrollNumberCls = {\n [`${prefixCls}-dot`]: isDot,\n [`${prefixCls}-count`]: !isDot,\n [`${prefixCls}-multiple-words`]:\n !isDot && count && count.toString && count.toString().length > 1,\n [`${prefixCls}-status-${status}`]: !!status,\n [`${prefixCls}-status-${color}`]: isPresetColor(color),\n };\n\n let statusStyle = this.getStyleWithOffset();\n if (color && !isPresetColor(color)) {\n statusStyle = statusStyle || {};\n statusStyle.background = color;\n }\n\n return hidden ? null : (\n <ScrollNumber\n prefixCls={scrollNumberPrefixCls}\n data-show={!hidden}\n v-show={!hidden}\n className={scrollNumberCls}\n count={displayCount}\n displayComponent={this.renderDispayComponent()} // <Badge status=\"success\" count={<Icon type=\"xxx\" />}></Badge>\n title={this.getScrollNumberTitle()}\n style={statusStyle}\n key=\"scrollNumber\"\n />\n );\n },\n },\n\n render() {\n const {\n prefixCls: customizePrefixCls,\n scrollNumberPrefixCls: customizeScrollNumberPrefixCls,\n status,\n text,\n color,\n $slots,\n } = this;\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('badge', customizePrefixCls);\n const scrollNumberPrefixCls = getPrefixCls('scroll-number', customizeScrollNumberPrefixCls);\n\n const children = filterEmpty($slots.default);\n let count = getComponentFromProp(this, 'count');\n if (Array.isArray(count)) {\n count = count[0];\n }\n this.badgeCount = count;\n const scrollNumber = this.renderBadgeNumber(prefixCls, scrollNumberPrefixCls);\n const statusText = this.renderStatusText(prefixCls);\n const statusCls = classNames({\n [`${prefixCls}-status-dot`]: this.hasStatus(),\n [`${prefixCls}-status-${status}`]: !!status,\n [`${prefixCls}-status-${color}`]: isPresetColor(color),\n });\n const statusStyle = {};\n if (color && !isPresetColor(color)) {\n statusStyle.background = color;\n }\n // <Badge status=\"success\" />\n if (!children.length && this.hasStatus()) {\n const styleWithOffset = this.getStyleWithOffset();\n const statusTextColor = styleWithOffset && styleWithOffset.color;\n return (\n <span\n {...{ on: getListeners(this) }}\n class={this.getBadgeClassName(prefixCls)}\n style={styleWithOffset}\n >\n <span class={statusCls} style={statusStyle} />\n <span style={{ color: statusTextColor }} class={`${prefixCls}-status-text`}>\n {text}\n </span>\n </span>\n );\n }\n\n const transitionProps = getTransitionProps(children.length ? `${prefixCls}-zoom` : '');\n\n return (\n <span {...{ on: getListeners(this) }} class={this.getBadgeClassName(prefixCls)}>\n {children}\n <transition {...transitionProps}>{scrollNumber}</transition>\n {statusText}\n </span>\n );\n },\n};\n","import Badge from './Badge';\nimport Base from '../base';\n\n/* istanbul ignore next */\nBadge.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Badge.name, Badge);\n};\n\nexport default Badge;\n","const autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1,\n};\n\nconst targetOffset = [0, 0];\n\nexport const placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n topCenter: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n bottomCenter: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n};\n\nexport default placements;\n","// base in 2.4.1\nimport Dropdown from './Dropdown';\nexport default Dropdown;\n","import PropTypes from '../../_util/vue-types';\nimport Trigger from '../../vc-trigger';\nimport placements from './placements';\nimport { hasProp, getEvents, getOptionProps } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { cloneElement } from '../../_util/vnode';\n\nexport default {\n mixins: [BaseMixin],\n props: {\n minOverlayWidthMatchTrigger: PropTypes.bool,\n prefixCls: PropTypes.string.def('rc-dropdown'),\n transitionName: PropTypes.string,\n overlayClassName: PropTypes.string.def(''),\n openClassName: PropTypes.string,\n animation: PropTypes.any,\n align: PropTypes.object,\n overlayStyle: PropTypes.object.def(() => ({})),\n placement: PropTypes.string.def('bottomLeft'),\n overlay: PropTypes.any,\n trigger: PropTypes.array.def(['hover']),\n alignPoint: PropTypes.bool,\n showAction: PropTypes.array.def([]),\n hideAction: PropTypes.array.def([]),\n getPopupContainer: PropTypes.func,\n visible: PropTypes.bool,\n defaultVisible: PropTypes.bool.def(false),\n mouseEnterDelay: PropTypes.number.def(0.15),\n mouseLeaveDelay: PropTypes.number.def(0.1),\n },\n data() {\n let sVisible = this.defaultVisible;\n if (hasProp(this, 'visible')) {\n sVisible = this.visible;\n }\n return {\n sVisible,\n };\n },\n watch: {\n visible(val) {\n if (val !== undefined) {\n this.setState({\n sVisible: val,\n });\n }\n },\n },\n methods: {\n onClick(e) {\n // do no call onVisibleChange, if you need click to hide, use onClick and control visible\n if (!hasProp(this, 'visible')) {\n this.setState({\n sVisible: false,\n });\n }\n this.$emit('overlayClick', e);\n if (this.childOriginEvents.click) {\n this.childOriginEvents.click(e);\n }\n },\n\n onVisibleChange(visible) {\n if (!hasProp(this, 'visible')) {\n this.setState({\n sVisible: visible,\n });\n }\n this.__emit('visibleChange', visible);\n },\n\n getMinOverlayWidthMatchTrigger() {\n const props = getOptionProps(this);\n const { minOverlayWidthMatchTrigger, alignPoint } = props;\n if ('minOverlayWidthMatchTrigger' in props) {\n return minOverlayWidthMatchTrigger;\n }\n\n return !alignPoint;\n },\n\n getOverlayElement() {\n const overlay = this.overlay || this.$slots.overlay || this.$scopedSlots.overlay;\n let overlayElement;\n if (typeof overlay === 'function') {\n overlayElement = overlay();\n } else {\n overlayElement = overlay;\n }\n return overlayElement;\n },\n\n getMenuElement() {\n const { onClick, prefixCls, $slots } = this;\n this.childOriginEvents = getEvents($slots.overlay[0]);\n const overlayElement = this.getOverlayElement();\n const extraOverlayProps = {\n props: {\n prefixCls: `${prefixCls}-menu`,\n getPopupContainer: () => this.getPopupDomNode(),\n },\n on: {\n click: onClick,\n },\n };\n if (typeof overlayElement.type === 'string') {\n delete extraOverlayProps.props.prefixCls;\n }\n return cloneElement($slots.overlay[0], extraOverlayProps);\n },\n\n getMenuElementOrLambda() {\n const overlay = this.overlay || this.$slots.overlay || this.$scopedSlots.overlay;\n if (typeof overlay === 'function') {\n return this.getMenuElement;\n }\n return this.getMenuElement();\n },\n\n getPopupDomNode() {\n return this.$refs.trigger.getPopupDomNode();\n },\n\n getOpenClassName() {\n const { openClassName, prefixCls } = this.$props;\n if (openClassName !== undefined) {\n return openClassName;\n }\n return `${prefixCls}-open`;\n },\n\n afterVisibleChange(visible) {\n if (visible && this.getMinOverlayWidthMatchTrigger()) {\n const overlayNode = this.getPopupDomNode();\n const rootNode = this.$el;\n if (rootNode && overlayNode && rootNode.offsetWidth > overlayNode.offsetWidth) {\n overlayNode.style.minWidth = `${rootNode.offsetWidth}px`;\n if (\n this.$refs.trigger &&\n this.$refs.trigger._component &&\n this.$refs.trigger._component.$refs &&\n this.$refs.trigger._component.$refs.alignInstance\n ) {\n this.$refs.trigger._component.$refs.alignInstance.forceAlign();\n }\n }\n }\n },\n\n renderChildren() {\n const children = this.$slots.default && this.$slots.default[0];\n const { sVisible } = this;\n return sVisible && children\n ? cloneElement(children, { class: this.getOpenClassName() })\n : children;\n },\n },\n\n render() {\n const {\n prefixCls,\n transitionName,\n animation,\n align,\n placement,\n getPopupContainer,\n showAction,\n hideAction,\n overlayClassName,\n overlayStyle,\n trigger,\n ...otherProps\n } = this.$props;\n let triggerHideAction = hideAction;\n if (!triggerHideAction && trigger.indexOf('contextmenu') !== -1) {\n triggerHideAction = ['click'];\n }\n\n const triggerProps = {\n props: {\n ...otherProps,\n prefixCls,\n popupClassName: overlayClassName,\n popupStyle: overlayStyle,\n builtinPlacements: placements,\n action: trigger,\n showAction,\n hideAction: triggerHideAction || [],\n popupPlacement: placement,\n popupAlign: align,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n popupVisible: this.sVisible,\n afterPopupVisibleChange: this.afterVisibleChange,\n getPopupContainer,\n },\n on: {\n popupVisibleChange: this.onVisibleChange,\n },\n ref: 'trigger',\n };\n return (\n <Trigger {...triggerProps}>\n {this.renderChildren()}\n <template slot=\"popup\">{this.$slots.overlay && this.getMenuElement()}</template>\n </Trigger>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nexport default () => ({\n trigger: PropTypes.array.def(['hover']),\n overlay: PropTypes.any,\n visible: PropTypes.bool,\n disabled: PropTypes.bool,\n align: PropTypes.object,\n getPopupContainer: PropTypes.func,\n prefixCls: PropTypes.string,\n transitionName: PropTypes.string,\n placement: PropTypes.oneOf([\n 'topLeft',\n 'topCenter',\n 'topRight',\n 'bottomLeft',\n 'bottomCenter',\n 'bottomRight',\n ]),\n overlayClassName: PropTypes.string,\n overlayStyle: PropTypes.object,\n forceRender: PropTypes.bool,\n mouseEnterDelay: PropTypes.number,\n mouseLeaveDelay: PropTypes.number,\n openClassName: PropTypes.string,\n minOverlayWidthMatchTrigger: PropTypes.bool,\n});\n","import Button from '../button';\nimport buttonTypes from '../button/buttonTypes';\nimport { ButtonGroupProps } from '../button/button-group';\nimport Dropdown from './dropdown';\nimport PropTypes from '../_util/vue-types';\nimport { hasProp, getComponentFromProp } from '../_util/props-util';\nimport getDropdownProps from './getDropdownProps';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Icon from '../icon';\n\nconst ButtonTypesProps = buttonTypes();\nconst DropdownProps = getDropdownProps();\nconst ButtonGroup = Button.Group;\nconst DropdownButtonProps = {\n ...ButtonGroupProps,\n ...DropdownProps,\n type: PropTypes.oneOf(['primary', 'ghost', 'dashed', 'danger', 'default']).def('default'),\n size: PropTypes.oneOf(['small', 'large', 'default']).def('default'),\n htmlType: ButtonTypesProps.htmlType,\n href: PropTypes.string,\n disabled: PropTypes.bool,\n prefixCls: PropTypes.string,\n placement: DropdownProps.placement.def('bottomRight'),\n icon: PropTypes.any,\n title: PropTypes.string,\n};\nexport { DropdownButtonProps };\nexport default {\n name: 'ADropdownButton',\n model: {\n prop: 'visible',\n event: 'visibleChange',\n },\n props: DropdownButtonProps,\n provide() {\n return {\n savePopupRef: this.savePopupRef,\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n savePopupRef(ref) {\n this.popupRef = ref;\n },\n onClick(e) {\n this.$emit('click', e);\n },\n onVisibleChange(val) {\n this.$emit('visibleChange', val);\n },\n },\n render() {\n const {\n type,\n disabled,\n htmlType,\n prefixCls: customizePrefixCls,\n trigger,\n align,\n visible,\n placement,\n getPopupContainer,\n href,\n title,\n ...restProps\n } = this.$props;\n const icon = getComponentFromProp(this, 'icon') || <Icon type=\"ellipsis\" />;\n const { getPopupContainer: getContextPopupContainer } = this.configProvider;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('dropdown-button', customizePrefixCls);\n const dropdownProps = {\n props: {\n align,\n disabled,\n trigger: disabled ? [] : trigger,\n placement,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n },\n on: {\n visibleChange: this.onVisibleChange,\n },\n };\n if (hasProp(this, 'visible')) {\n dropdownProps.props.visible = visible;\n }\n\n const buttonGroupProps = {\n props: {\n ...restProps,\n },\n class: prefixCls,\n };\n\n return (\n <ButtonGroup {...buttonGroupProps}>\n <Button\n type={type}\n disabled={disabled}\n onClick={this.onClick}\n htmlType={htmlType}\n href={href}\n title={title}\n >\n {this.$slots.default}\n </Button>\n <Dropdown {...dropdownProps}>\n <template slot=\"overlay\">{getComponentFromProp(this, 'overlay')}</template>\n <Button type={type}>{icon}</Button>\n </Dropdown>\n </ButtonGroup>\n );\n },\n};\n","import RcDropdown from '../vc-dropdown/src/index';\nimport DropdownButton from './dropdown-button';\nimport PropTypes from '../_util/vue-types';\nimport { cloneElement } from '../_util/vnode';\nimport {\n getOptionProps,\n getPropsData,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport getDropdownProps from './getDropdownProps';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Icon from '../icon';\n\nconst DropdownProps = getDropdownProps();\nconst Dropdown = {\n name: 'ADropdown',\n props: {\n ...DropdownProps,\n prefixCls: PropTypes.string,\n mouseEnterDelay: PropTypes.number.def(0.15),\n mouseLeaveDelay: PropTypes.number.def(0.1),\n placement: DropdownProps.placement.def('bottomLeft'),\n },\n model: {\n prop: 'visible',\n event: 'visibleChange',\n },\n provide() {\n return {\n savePopupRef: this.savePopupRef,\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n savePopupRef(ref) {\n this.popupRef = ref;\n },\n getTransitionName() {\n const { placement = '', transitionName } = this.$props;\n if (transitionName !== undefined) {\n return transitionName;\n }\n if (placement.indexOf('top') >= 0) {\n return 'slide-down';\n }\n return 'slide-up';\n },\n renderOverlay(prefixCls) {\n const overlay = getComponentFromProp(this, 'overlay');\n const overlayNode = Array.isArray(overlay) ? overlay[0] : overlay;\n // menu cannot be selectable in dropdown defaultly\n // menu should be focusable in dropdown defaultly\n const overlayProps = overlayNode && getPropsData(overlayNode);\n const { selectable = false, focusable = true } = overlayProps || {};\n const expandIcon = (\n <span class={`${prefixCls}-menu-submenu-arrow`}>\n <Icon type=\"right\" class={`${prefixCls}-menu-submenu-arrow-icon`} />\n </span>\n );\n\n const fixedModeOverlay =\n overlayNode && overlayNode.componentOptions\n ? cloneElement(overlayNode, {\n props: {\n mode: 'vertical',\n selectable,\n focusable,\n expandIcon,\n },\n })\n : overlay;\n return fixedModeOverlay;\n },\n },\n\n render() {\n const { $slots } = this;\n const props = getOptionProps(this);\n const { prefixCls: customizePrefixCls, trigger, disabled, getPopupContainer } = props;\n const { getPopupContainer: getContextPopupContainer } = this.configProvider;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('dropdown', customizePrefixCls);\n\n const dropdownTrigger = cloneElement($slots.default, {\n class: `${prefixCls}-trigger`,\n props: {\n disabled,\n },\n });\n const triggerActions = disabled ? [] : trigger;\n let alignPoint;\n if (triggerActions && triggerActions.indexOf('contextmenu') !== -1) {\n alignPoint = true;\n }\n const dropdownProps = {\n props: {\n alignPoint,\n ...props,\n prefixCls,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n transitionName: this.getTransitionName(),\n trigger: triggerActions,\n },\n on: getListeners(this),\n };\n return (\n <RcDropdown {...dropdownProps}>\n {dropdownTrigger}\n <template slot=\"overlay\">{this.renderOverlay(prefixCls)}</template>\n </RcDropdown>\n );\n },\n};\n\nDropdown.Button = DropdownButton;\nexport default Dropdown;\nexport { DropdownProps };\n","import PropTypes from '../_util/vue-types';\nimport { hasProp, getComponentFromProp } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport DropDown from '../dropdown/dropdown';\nimport Icon from '../icon';\n\nexport default {\n name: 'ABreadcrumbItem',\n __ANT_BREADCRUMB_ITEM: true,\n props: {\n prefixCls: PropTypes.string,\n href: PropTypes.string,\n separator: PropTypes.any.def('/'),\n overlay: PropTypes.any,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n /**\n * if overlay is have\n * Wrap a DropDown\n */\n renderBreadcrumbNode(breadcrumbItem, prefixCls) {\n const overlay = getComponentFromProp(this, 'overlay');\n if (overlay) {\n return (\n <DropDown overlay={overlay} placement=\"bottomCenter\">\n <span class={`${prefixCls}-overlay-link`}>\n {breadcrumbItem}\n <Icon type=\"down\" />\n </span>\n </DropDown>\n );\n }\n return breadcrumbItem;\n },\n },\n render() {\n const { prefixCls: customizePrefixCls, $slots } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('breadcrumb', customizePrefixCls);\n const separator = getComponentFromProp(this, 'separator');\n const children = $slots.default;\n let link;\n if (hasProp(this, 'href')) {\n link = <a class={`${prefixCls}-link`}>{children}</a>;\n } else {\n link = <span class={`${prefixCls}-link`}>{children}</span>;\n }\n // wrap to dropDown\n link = this.renderBreadcrumbNode(link, prefixCls);\n if (children) {\n return (\n <span>\n {link}\n {separator && separator !== '' && (\n <span class={`${prefixCls}-separator`}>{separator}</span>\n )}\n </span>\n );\n }\n return null;\n },\n};\n","export default {\n name: 'MenuDivider',\n props: {\n disabled: {\n type: Boolean,\n default: true,\n },\n rootPrefixCls: String,\n },\n render() {\n const { rootPrefixCls } = this.$props;\n return <li class={`${rootPrefixCls}-item-divider`} />;\n },\n};\n","import { SubMenu as VcSubMenu } from '../vc-menu';\nimport { getListeners } from '../_util/props-util';\nimport classNames from 'classnames';\n\nexport default {\n name: 'ASubMenu',\n isSubMenu: true,\n props: { ...VcSubMenu.props },\n inject: {\n menuPropsContext: { default: () => ({}) },\n },\n methods: {\n onKeyDown(e) {\n this.$refs.subMenu.onKeyDown(e);\n },\n },\n\n render() {\n const { $slots, $scopedSlots } = this;\n const { rootPrefixCls, popupClassName } = this.$props;\n const { theme: antdMenuTheme } = this.menuPropsContext;\n const props = {\n props: {\n ...this.$props,\n popupClassName: classNames(`${rootPrefixCls}-${antdMenuTheme}`, popupClassName),\n },\n ref: 'subMenu',\n on: getListeners(this),\n scopedSlots: $scopedSlots,\n };\n const slotsKey = Object.keys($slots);\n return (\n <VcSubMenu {...props}>\n {slotsKey.length\n ? slotsKey.map(name => {\n return <template slot={name}>{$slots[name]}</template>;\n })\n : null}\n </VcSubMenu>\n );\n },\n};\n","import cssAnimation from './css-animation';\nimport raf from 'raf';\nimport Vue from 'vue';\n\nfunction animate(node, show, done) {\n let height;\n let requestAnimationFrameId;\n let appearRequestAnimationFrameId;\n return cssAnimation(node, 'ant-motion-collapse-legacy', {\n start() {\n if (appearRequestAnimationFrameId) {\n raf.cancel(appearRequestAnimationFrameId);\n }\n if (!show) {\n node.style.height = `${node.offsetHeight}px`;\n node.style.opacity = '1';\n } else {\n height = node.offsetHeight;\n // not get offsetHeight when appear\n // set it into raf get correct offsetHeight\n if (height === 0) {\n appearRequestAnimationFrameId = raf(() => {\n height = node.offsetHeight;\n node.style.height = '0px';\n node.style.opacity = '0';\n });\n } else {\n node.style.height = '0px';\n node.style.opacity = '0';\n }\n }\n },\n active() {\n if (requestAnimationFrameId) {\n raf.cancel(requestAnimationFrameId);\n }\n requestAnimationFrameId = raf(() => {\n node.style.height = `${show ? height : 0}px`;\n node.style.opacity = show ? '1' : '0';\n });\n },\n end() {\n if (appearRequestAnimationFrameId) {\n raf.cancel(appearRequestAnimationFrameId);\n }\n if (requestAnimationFrameId) {\n raf.cancel(requestAnimationFrameId);\n }\n node.style.height = '';\n node.style.opacity = '';\n done && done();\n },\n });\n}\n\nconst animation = {\n enter(node, done) {\n Vue.nextTick(() => {\n animate(node, true, done);\n });\n },\n leave(node, done) {\n return animate(node, false, done);\n },\n};\n\nexport default animation;\n","import { Item, itemProps } from '../vc-menu';\nimport { getOptionProps, getListeners } from '../_util/props-util';\nimport Tooltip from '../tooltip';\nfunction noop() {}\nexport default {\n name: 'MenuItem',\n inheritAttrs: false,\n props: itemProps,\n inject: {\n getInlineCollapsed: { default: () => noop },\n layoutSiderContext: { default: () => ({}) },\n },\n isMenuItem: true,\n methods: {\n onKeyDown(e) {\n this.$refs.menuItem.onKeyDown(e);\n },\n },\n render() {\n const props = getOptionProps(this);\n const { level, title, rootPrefixCls } = props;\n const { getInlineCollapsed, $slots, $attrs: attrs } = this;\n const inlineCollapsed = getInlineCollapsed();\n let tooltipTitle = title;\n if (typeof title === 'undefined') {\n tooltipTitle = level === 1 ? $slots.default : '';\n } else if (title === false) {\n tooltipTitle = '';\n }\n const tooltipProps = {\n title: tooltipTitle,\n };\n const siderCollapsed = this.layoutSiderContext.sCollapsed;\n if (!siderCollapsed && !inlineCollapsed) {\n tooltipProps.title = null;\n // Reset `visible` to fix control mode tooltip display not correct\n // ref: https://github.com/ant-design/ant-design/issues/16742\n tooltipProps.visible = false;\n }\n\n const itemProps = {\n props: {\n ...props,\n title,\n },\n attrs,\n on: getListeners(this),\n };\n const toolTipProps = {\n props: {\n ...tooltipProps,\n placement: 'right',\n overlayClassName: `${rootPrefixCls}-inline-collapsed-tooltip`,\n },\n };\n return (\n <Tooltip {...toolTipProps}>\n <Item {...itemProps} ref=\"menuItem\">\n {$slots.default}\n </Item>\n </Tooltip>\n );\n },\n};\n","import omit from 'omit.js';\nimport VcMenu, { Divider, ItemGroup } from '../vc-menu';\nimport SubMenu from './SubMenu';\nimport PropTypes from '../_util/vue-types';\nimport animation from '../_util/openAnimation';\nimport warning from '../_util/warning';\nimport Item from './MenuItem';\nimport { hasProp, getListeners, getOptionProps } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport commonPropsType from '../vc-menu/commonPropsType';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\n// import raf from '../_util/raf';\n\nexport const MenuMode = PropTypes.oneOf([\n 'vertical',\n 'vertical-left',\n 'vertical-right',\n 'horizontal',\n 'inline',\n]);\n\nexport const menuProps = {\n ...commonPropsType,\n theme: PropTypes.oneOf(['light', 'dark']).def('light'),\n mode: MenuMode.def('vertical'),\n selectable: PropTypes.bool,\n selectedKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n defaultSelectedKeys: PropTypes.array,\n openKeys: PropTypes.array,\n defaultOpenKeys: PropTypes.array,\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n openTransitionName: PropTypes.string,\n prefixCls: PropTypes.string,\n multiple: PropTypes.bool,\n inlineIndent: PropTypes.number.def(24),\n inlineCollapsed: PropTypes.bool,\n isRootMenu: PropTypes.bool.def(true),\n focusable: PropTypes.bool.def(false),\n};\n\nconst Menu = {\n name: 'AMenu',\n props: menuProps,\n Divider: { ...Divider, name: 'AMenuDivider' },\n Item: { ...Item, name: 'AMenuItem' },\n SubMenu: { ...SubMenu, name: 'ASubMenu' },\n ItemGroup: { ...ItemGroup, name: 'AMenuItemGroup' },\n provide() {\n return {\n getInlineCollapsed: this.getInlineCollapsed,\n menuPropsContext: this.$props,\n };\n },\n mixins: [BaseMixin],\n inject: {\n layoutSiderContext: { default: () => ({}) },\n configProvider: { default: () => ConfigConsumerProps },\n },\n model: {\n prop: 'selectedKeys',\n event: 'selectChange',\n },\n updated() {\n this.propsUpdating = false;\n },\n // beforeDestroy() {\n // raf.cancel(this.mountRafId);\n // },\n watch: {\n mode(val, oldVal) {\n if (oldVal === 'inline' && val !== 'inline') {\n this.switchingModeFromInline = true;\n }\n },\n openKeys(val) {\n this.setState({ sOpenKeys: val });\n },\n inlineCollapsed(val) {\n this.collapsedChange(val);\n },\n 'layoutSiderContext.sCollapsed'(val) {\n this.collapsedChange(val);\n },\n },\n data() {\n const props = getOptionProps(this);\n warning(\n !('inlineCollapsed' in props && props.mode !== 'inline'),\n 'Menu',\n \"`inlineCollapsed` should only be used when Menu's `mode` is inline.\",\n );\n this.switchingModeFromInline = false;\n this.leaveAnimationExecutedWhenInlineCollapsed = false;\n this.inlineOpenKeys = [];\n let sOpenKeys;\n\n if ('openKeys' in props) {\n sOpenKeys = props.openKeys;\n } else if ('defaultOpenKeys' in props) {\n sOpenKeys = props.defaultOpenKeys;\n }\n return {\n sOpenKeys,\n };\n },\n methods: {\n collapsedChange(val) {\n if (this.propsUpdating) {\n return;\n }\n this.propsUpdating = true;\n if (!hasProp(this, 'openKeys')) {\n if (val) {\n this.switchingModeFromInline = true;\n this.inlineOpenKeys = this.sOpenKeys;\n this.setState({ sOpenKeys: [] });\n } else {\n this.setState({ sOpenKeys: this.inlineOpenKeys });\n this.inlineOpenKeys = [];\n }\n } else if (val) {\n // 缩起时,openKeys置为空的动画会闪动,react可以通过是否传递openKeys避免闪动,vue不是很方便动态传递openKeys\n this.switchingModeFromInline = true;\n }\n },\n restoreModeVerticalFromInline() {\n if (this.switchingModeFromInline) {\n this.switchingModeFromInline = false;\n this.$forceUpdate();\n }\n },\n // Restore vertical mode when menu is collapsed responsively when mounted\n // https://github.com/ant-design/ant-design/issues/13104\n // TODO: not a perfect solution, looking a new way to avoid setting switchingModeFromInline in this situation\n handleMouseEnter(e) {\n this.restoreModeVerticalFromInline();\n this.$emit('mouseenter', e);\n },\n handleTransitionEnd(e) {\n // when inlineCollapsed menu width animation finished\n // https://github.com/ant-design/ant-design/issues/12864\n const widthCollapsed = e.propertyName === 'width' && e.target === e.currentTarget;\n\n // Fix SVGElement e.target.className.indexOf is not a function\n // https://github.com/ant-design/ant-design/issues/15699\n const { className } = e.target;\n // SVGAnimatedString.animVal should be identical to SVGAnimatedString.baseVal, unless during an animation.\n const classNameValue =\n Object.prototype.toString.call(className) === '[object SVGAnimatedString]'\n ? className.animVal\n : className;\n\n // Fix for <Menu style={{ width: '100%' }} />, the width transition won't trigger when menu is collapsed\n // https://github.com/ant-design/ant-design-pro/issues/2783\n const iconScaled = e.propertyName === 'font-size' && classNameValue.indexOf('anticon') >= 0;\n\n if (widthCollapsed || iconScaled) {\n this.restoreModeVerticalFromInline();\n }\n },\n handleClick(e) {\n this.handleOpenChange([]);\n this.$emit('click', e);\n },\n handleSelect(info) {\n this.$emit('select', info);\n this.$emit('selectChange', info.selectedKeys);\n },\n handleDeselect(info) {\n this.$emit('deselect', info);\n this.$emit('selectChange', info.selectedKeys);\n },\n handleOpenChange(openKeys) {\n this.setOpenKeys(openKeys);\n this.$emit('openChange', openKeys);\n this.$emit('update:openKeys', openKeys);\n },\n setOpenKeys(openKeys) {\n if (!hasProp(this, 'openKeys')) {\n this.setState({ sOpenKeys: openKeys });\n }\n },\n getRealMenuMode() {\n const inlineCollapsed = this.getInlineCollapsed();\n if (this.switchingModeFromInline && inlineCollapsed) {\n return 'inline';\n }\n const { mode } = this.$props;\n return inlineCollapsed ? 'vertical' : mode;\n },\n getInlineCollapsed() {\n const { inlineCollapsed } = this.$props;\n if (this.layoutSiderContext.sCollapsed !== undefined) {\n return this.layoutSiderContext.sCollapsed;\n }\n return inlineCollapsed;\n },\n getMenuOpenAnimation(menuMode) {\n const { openAnimation, openTransitionName } = this.$props;\n let menuOpenAnimation = openAnimation || openTransitionName;\n if (openAnimation === undefined && openTransitionName === undefined) {\n if (menuMode === 'horizontal') {\n menuOpenAnimation = 'slide-up';\n } else if (menuMode === 'inline') {\n menuOpenAnimation = { on: animation };\n } else {\n // When mode switch from inline\n // submenu should hide without animation\n if (this.switchingModeFromInline) {\n menuOpenAnimation = '';\n this.switchingModeFromInline = false;\n } else {\n menuOpenAnimation = 'zoom-big';\n }\n }\n }\n return menuOpenAnimation;\n },\n },\n render() {\n const { layoutSiderContext, $slots } = this;\n const { collapsedWidth } = layoutSiderContext;\n const { getPopupContainer: getContextPopupContainer } = this.configProvider;\n const props = getOptionProps(this);\n const { prefixCls: customizePrefixCls, theme, getPopupContainer } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('menu', customizePrefixCls);\n const menuMode = this.getRealMenuMode();\n const menuOpenAnimation = this.getMenuOpenAnimation(menuMode);\n\n const menuClassName = {\n [`${prefixCls}-${theme}`]: true,\n [`${prefixCls}-inline-collapsed`]: this.getInlineCollapsed(),\n };\n\n const menuProps = {\n props: {\n ...omit(props, ['inlineCollapsed']),\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n openKeys: this.sOpenKeys,\n mode: menuMode,\n prefixCls,\n },\n on: {\n ...getListeners(this),\n select: this.handleSelect,\n deselect: this.handleDeselect,\n openChange: this.handleOpenChange,\n mouseenter: this.handleMouseEnter,\n },\n nativeOn: {\n transitionend: this.handleTransitionEnd,\n },\n };\n if (!hasProp(this, 'selectedKeys')) {\n delete menuProps.props.selectedKeys;\n }\n\n if (menuMode !== 'inline') {\n // closing vertical popup submenu after click it\n menuProps.on.click = this.handleClick;\n menuProps.props.openTransitionName = menuOpenAnimation;\n } else {\n menuProps.on.click = e => {\n this.$emit('click', e);\n };\n menuProps.props.openAnimation = menuOpenAnimation;\n }\n\n // https://github.com/ant-design/ant-design/issues/8587\n const hideMenu =\n this.getInlineCollapsed() &&\n (collapsedWidth === 0 || collapsedWidth === '0' || collapsedWidth === '0px');\n if (hideMenu) {\n menuProps.props.openKeys = [];\n }\n\n return (\n <VcMenu {...menuProps} class={menuClassName}>\n {$slots.default}\n </VcMenu>\n );\n },\n};\n\n/* istanbul ignore next */\nMenu.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Menu.name, Menu);\n Vue.component(Menu.Item.name, Menu.Item);\n Vue.component(Menu.SubMenu.name, Menu.SubMenu);\n Vue.component(Menu.Divider.name, Menu.Divider);\n Vue.component(Menu.ItemGroup.name, Menu.ItemGroup);\n};\nexport default Menu;\n","import PropTypes from '../_util/vue-types';\nimport { cloneElement } from '../_util/vnode';\nimport { filterEmpty, getComponentFromProp, getSlotOptions } from '../_util/props-util';\nimport warning from '../_util/warning';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport BreadcrumbItem from './BreadcrumbItem';\nimport Menu from '../menu';\n\nconst Route = PropTypes.shape({\n path: PropTypes.string,\n breadcrumbName: PropTypes.string,\n children: PropTypes.array,\n}).loose;\n\nconst BreadcrumbProps = {\n prefixCls: PropTypes.string,\n routes: PropTypes.arrayOf(Route),\n params: PropTypes.any,\n separator: PropTypes.any,\n itemRender: PropTypes.func,\n};\n\nfunction getBreadcrumbName(route, params) {\n if (!route.breadcrumbName) {\n return null;\n }\n const paramsKeys = Object.keys(params).join('|');\n const name = route.breadcrumbName.replace(\n new RegExp(`:(${paramsKeys})`, 'g'),\n (replacement, key) => params[key] || replacement,\n );\n return name;\n}\n\nexport default {\n name: 'ABreadcrumb',\n props: BreadcrumbProps,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n defaultItemRender({ route, params, routes, paths }) {\n const isLastItem = routes.indexOf(route) === routes.length - 1;\n const name = getBreadcrumbName(route, params);\n return isLastItem ? <span>{name}</span> : <a href={`#/${paths.join('/')}`}>{name}</a>;\n },\n getPath(path, params) {\n path = (path || '').replace(/^\\//, '');\n Object.keys(params).forEach(key => {\n path = path.replace(`:${key}`, params[key]);\n });\n return path;\n },\n\n addChildPath(paths, childPath, params) {\n const originalPaths = [...paths];\n const path = this.getPath(childPath, params);\n if (path) {\n originalPaths.push(path);\n }\n return originalPaths;\n },\n\n genForRoutes({ routes = [], params = {}, separator, itemRender = this.defaultItemRender }) {\n const paths = [];\n return routes.map(route => {\n const path = this.getPath(route.path, params);\n\n if (path) {\n paths.push(path);\n }\n // generated overlay by route.children\n let overlay = null;\n if (route.children && route.children.length) {\n overlay = (\n <Menu>\n {route.children.map(child => (\n <Menu.Item key={child.path || child.breadcrumbName}>\n {itemRender({\n route: child,\n params,\n routes,\n paths: this.addChildPath(paths, child.path, params),\n h: this.$createElement,\n })}\n </Menu.Item>\n ))}\n </Menu>\n );\n }\n\n return (\n <BreadcrumbItem\n overlay={overlay}\n separator={separator}\n key={path || route.breadcrumbName}\n >\n {itemRender({ route, params, routes, paths, h: this.$createElement })}\n </BreadcrumbItem>\n );\n });\n },\n },\n render() {\n let crumbs;\n const { prefixCls: customizePrefixCls, routes, params = {}, $slots, $scopedSlots } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('breadcrumb', customizePrefixCls);\n\n const children = filterEmpty($slots.default);\n const separator = getComponentFromProp(this, 'separator');\n const itemRender = this.itemRender || $scopedSlots.itemRender || this.defaultItemRender;\n if (routes && routes.length > 0) {\n // generated by route\n crumbs = this.genForRoutes({\n routes,\n params,\n separator,\n itemRender,\n });\n } else if (children.length) {\n crumbs = children.map((element, index) => {\n warning(\n getSlotOptions(element).__ANT_BREADCRUMB_ITEM ||\n getSlotOptions(element).__ANT_BREADCRUMB_SEPARATOR,\n 'Breadcrumb',\n \"Only accepts Breadcrumb.Item and Breadcrumb.Separator as it's children\",\n );\n return cloneElement(element, {\n props: { separator },\n key: index,\n });\n });\n }\n return <div class={prefixCls}>{crumbs}</div>;\n },\n};\n","import { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport PropTypes from '../_util/vue-types';\n\nexport default {\n name: 'ABreadcrumbSeparator',\n __ANT_BREADCRUMB_SEPARATOR: true,\n props: {\n prefixCls: PropTypes.string,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render() {\n const { prefixCls: customizePrefixCls, $slots } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('breadcrumb', customizePrefixCls);\n\n const children = $slots.default;\n return <span class={`${prefixCls}-separator`}>{children || '/'}</span>;\n },\n};\n","import Breadcrumb from './Breadcrumb';\nimport BreadcrumbItem from './BreadcrumbItem';\nimport BreadcrumbSeparator from './BreadcrumbSeparator';\nimport Base from '../base';\n\nBreadcrumb.Item = BreadcrumbItem;\nBreadcrumb.Separator = BreadcrumbSeparator;\n\n/* istanbul ignore next */\nBreadcrumb.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Breadcrumb.name, Breadcrumb);\n Vue.component(BreadcrumbItem.name, BreadcrumbItem);\n Vue.component(BreadcrumbSeparator.name, BreadcrumbSeparator);\n};\n\nexport default Breadcrumb;\n","export default {\n DATE_ROW_COUNT: 6,\n DATE_COL_COUNT: 7,\n};\n","import DateConstants from './DateConstants';\nimport moment from 'moment';\n\nexport default {\n functional: true,\n render(createElement, context) {\n const { props } = context;\n const value = props.value;\n const localeData = value.localeData();\n const prefixCls = props.prefixCls;\n const veryShortWeekdays = [];\n const weekDays = [];\n const firstDayOfWeek = localeData.firstDayOfWeek();\n let showWeekNumberEl;\n const now = moment();\n for (let dateColIndex = 0; dateColIndex < DateConstants.DATE_COL_COUNT; dateColIndex++) {\n const index = (firstDayOfWeek + dateColIndex) % DateConstants.DATE_COL_COUNT;\n now.day(index);\n veryShortWeekdays[dateColIndex] = localeData.weekdaysMin(now);\n weekDays[dateColIndex] = localeData.weekdaysShort(now);\n }\n\n if (props.showWeekNumber) {\n showWeekNumberEl = (\n <th\n role=\"columnheader\"\n class={`${prefixCls}-column-header ${prefixCls}-week-number-header`}\n >\n <span class={`${prefixCls}-column-header-inner`}>x</span>\n </th>\n );\n }\n const weekDaysEls = weekDays.map((day, xindex) => {\n return (\n <th key={xindex} role=\"columnheader\" title={day} class={`${prefixCls}-column-header`}>\n <span class={`${prefixCls}-column-header-inner`}>{veryShortWeekdays[xindex]}</span>\n </th>\n );\n });\n return (\n <thead>\n <tr role=\"row\">\n {showWeekNumberEl}\n {weekDaysEls}\n </tr>\n </thead>\n );\n },\n};\n","import moment from 'moment';\n\nconst defaultDisabledTime = {\n disabledHours() {\n return [];\n },\n disabledMinutes() {\n return [];\n },\n disabledSeconds() {\n return [];\n },\n};\n\nexport function getTodayTime(value) {\n const today = moment();\n today.locale(value.locale()).utcOffset(value.utcOffset());\n return today;\n}\n\nexport function getTitleString(value) {\n return value.format('LL');\n}\n\nexport function getTodayTimeStr(value) {\n const today = getTodayTime(value);\n return getTitleString(today);\n}\n\nexport function getMonthName(month) {\n const locale = month.locale();\n const localeData = month.localeData();\n return localeData[locale === 'zh-cn' ? 'months' : 'monthsShort'](month);\n}\n\nexport function syncTime(from, to) {\n if (!moment.isMoment(from) || !moment.isMoment(to)) return;\n to.hour(from.hour());\n to.minute(from.minute());\n to.second(from.second());\n to.millisecond(from.millisecond());\n}\n\nexport function getTimeConfig(value, disabledTime) {\n let disabledTimeConfig = disabledTime ? disabledTime(value) : {};\n disabledTimeConfig = {\n ...defaultDisabledTime,\n ...disabledTimeConfig,\n };\n return disabledTimeConfig;\n}\n\nexport function isTimeValidByConfig(value, disabledTimeConfig) {\n let invalidTime = false;\n if (value) {\n const hour = value.hour();\n const minutes = value.minute();\n const seconds = value.second();\n const disabledHours = disabledTimeConfig.disabledHours();\n if (disabledHours.indexOf(hour) === -1) {\n const disabledMinutes = disabledTimeConfig.disabledMinutes(hour);\n if (disabledMinutes.indexOf(minutes) === -1) {\n const disabledSeconds = disabledTimeConfig.disabledSeconds(hour, minutes);\n invalidTime = disabledSeconds.indexOf(seconds) !== -1;\n } else {\n invalidTime = true;\n }\n } else {\n invalidTime = true;\n }\n }\n return !invalidTime;\n}\n\nexport function isTimeValid(value, disabledTime) {\n const disabledTimeConfig = getTimeConfig(value, disabledTime);\n return isTimeValidByConfig(value, disabledTimeConfig);\n}\n\nexport function isAllowedDate(value, disabledDate, disabledTime) {\n if (disabledDate) {\n if (disabledDate(value)) {\n return false;\n }\n }\n if (disabledTime) {\n if (!isTimeValid(value, disabledTime)) {\n return false;\n }\n }\n return true;\n}\n\nexport function formatDate(value, format) {\n if (!value) {\n return '';\n }\n\n if (Array.isArray(format)) {\n format = format[0];\n }\n\n if (typeof format === 'function') {\n const result = format(value);\n if (typeof result === 'string') {\n return result;\n } else {\n throw new Error('The function of format does not return a string');\n }\n }\n\n return value.format(format);\n}\n","import PropTypes from '../../../_util/vue-types';\nimport { getOptionProps, getListeners } from '../../../_util/props-util';\nimport cx from 'classnames';\nimport DateConstants from './DateConstants';\nimport { getTitleString, getTodayTime } from '../util/';\nfunction noop() {}\nfunction isSameDay(one, two) {\n return one && two && one.isSame(two, 'day');\n}\n\nfunction beforeCurrentMonthYear(current, today) {\n if (current.year() < today.year()) {\n return 1;\n }\n return current.year() === today.year() && current.month() < today.month();\n}\n\nfunction afterCurrentMonthYear(current, today) {\n if (current.year() > today.year()) {\n return 1;\n }\n return current.year() === today.year() && current.month() > today.month();\n}\n\nfunction getIdFromDate(date) {\n return `rc-calendar-${date.year()}-${date.month()}-${date.date()}`;\n}\n\nconst DateTBody = {\n props: {\n contentRender: PropTypes.func,\n dateRender: PropTypes.func,\n disabledDate: PropTypes.func,\n prefixCls: PropTypes.string,\n selectedValue: PropTypes.oneOfType([PropTypes.any, PropTypes.arrayOf(PropTypes.any)]),\n value: PropTypes.object,\n hoverValue: PropTypes.any.def([]),\n showWeekNumber: PropTypes.bool,\n },\n\n render() {\n const props = getOptionProps(this);\n const {\n contentRender,\n prefixCls,\n selectedValue,\n value,\n showWeekNumber,\n dateRender,\n disabledDate,\n hoverValue,\n } = props;\n const { select = noop, dayHover = noop } = getListeners(this);\n let iIndex;\n let jIndex;\n let current;\n const dateTable = [];\n const today = getTodayTime(value);\n const cellClass = `${prefixCls}-cell`;\n const weekNumberCellClass = `${prefixCls}-week-number-cell`;\n const dateClass = `${prefixCls}-date`;\n const todayClass = `${prefixCls}-today`;\n const selectedClass = `${prefixCls}-selected-day`;\n const selectedDateClass = `${prefixCls}-selected-date`; // do not move with mouse operation\n const selectedStartDateClass = `${prefixCls}-selected-start-date`;\n const selectedEndDateClass = `${prefixCls}-selected-end-date`;\n const inRangeClass = `${prefixCls}-in-range-cell`;\n const lastMonthDayClass = `${prefixCls}-last-month-cell`;\n const nextMonthDayClass = `${prefixCls}-next-month-btn-day`;\n const disabledClass = `${prefixCls}-disabled-cell`;\n const firstDisableClass = `${prefixCls}-disabled-cell-first-of-row`;\n const lastDisableClass = `${prefixCls}-disabled-cell-last-of-row`;\n const lastDayOfMonthClass = `${prefixCls}-last-day-of-month`;\n const month1 = value.clone();\n month1.date(1);\n const day = month1.day();\n const lastMonthDiffDay = (day + 7 - value.localeData().firstDayOfWeek()) % 7;\n // calculate last month\n const lastMonth1 = month1.clone();\n lastMonth1.add(0 - lastMonthDiffDay, 'days');\n let passed = 0;\n for (iIndex = 0; iIndex < DateConstants.DATE_ROW_COUNT; iIndex++) {\n for (jIndex = 0; jIndex < DateConstants.DATE_COL_COUNT; jIndex++) {\n current = lastMonth1;\n if (passed) {\n current = current.clone();\n current.add(passed, 'days');\n }\n dateTable.push(current);\n passed++;\n }\n }\n const tableHtml = [];\n passed = 0;\n\n for (iIndex = 0; iIndex < DateConstants.DATE_ROW_COUNT; iIndex++) {\n let isCurrentWeek;\n let weekNumberCell;\n let isActiveWeek = false;\n const dateCells = [];\n if (showWeekNumber) {\n weekNumberCell = (\n <td key={`week-${dateTable[passed].week()}`} role=\"gridcell\" class={weekNumberCellClass}>\n {dateTable[passed].week()}\n </td>\n );\n }\n for (jIndex = 0; jIndex < DateConstants.DATE_COL_COUNT; jIndex++) {\n let next = null;\n let last = null;\n current = dateTable[passed];\n if (jIndex < DateConstants.DATE_COL_COUNT - 1) {\n next = dateTable[passed + 1];\n }\n if (jIndex > 0) {\n last = dateTable[passed - 1];\n }\n let cls = cellClass;\n let disabled = false;\n let selected = false;\n\n if (isSameDay(current, today)) {\n cls += ` ${todayClass}`;\n isCurrentWeek = true;\n }\n\n const isBeforeCurrentMonthYear = beforeCurrentMonthYear(current, value);\n const isAfterCurrentMonthYear = afterCurrentMonthYear(current, value);\n\n if (selectedValue && Array.isArray(selectedValue)) {\n const rangeValue = hoverValue.length ? hoverValue : selectedValue;\n if (!isBeforeCurrentMonthYear && !isAfterCurrentMonthYear) {\n const startValue = rangeValue[0];\n const endValue = rangeValue[1];\n if (startValue) {\n if (isSameDay(current, startValue)) {\n selected = true;\n isActiveWeek = true;\n cls += ` ${selectedStartDateClass}`;\n }\n }\n if (startValue || endValue) {\n if (isSameDay(current, endValue)) {\n selected = true;\n isActiveWeek = true;\n cls += ` ${selectedEndDateClass}`;\n } else if (\n (startValue === null || startValue === undefined) &&\n current.isBefore(endValue, 'day')\n ) {\n cls += ` ${inRangeClass}`;\n } else if (\n (endValue === null || endValue === undefined) &&\n current.isAfter(startValue, 'day')\n ) {\n cls += ` ${inRangeClass}`;\n } else if (current.isAfter(startValue, 'day') && current.isBefore(endValue, 'day')) {\n cls += ` ${inRangeClass}`;\n }\n }\n }\n } else if (isSameDay(current, value)) {\n // keyboard change value, highlight works\n selected = true;\n isActiveWeek = true;\n }\n\n if (isSameDay(current, selectedValue)) {\n cls += ` ${selectedDateClass}`;\n }\n\n if (isBeforeCurrentMonthYear) {\n cls += ` ${lastMonthDayClass}`;\n }\n if (isAfterCurrentMonthYear) {\n cls += ` ${nextMonthDayClass}`;\n }\n\n if (\n current\n .clone()\n .endOf('month')\n .date() === current.date()\n ) {\n cls += ` ${lastDayOfMonthClass}`;\n }\n\n if (disabledDate) {\n if (disabledDate(current, value)) {\n disabled = true;\n\n if (!last || !disabledDate(last, value)) {\n cls += ` ${firstDisableClass}`;\n }\n\n if (!next || !disabledDate(next, value)) {\n cls += ` ${lastDisableClass}`;\n }\n }\n }\n\n if (selected) {\n cls += ` ${selectedClass}`;\n }\n\n if (disabled) {\n cls += ` ${disabledClass}`;\n }\n\n let dateHtml;\n if (dateRender) {\n dateHtml = dateRender(current, value);\n } else {\n const content = contentRender ? contentRender(current, value) : current.date();\n dateHtml = (\n <div\n key={getIdFromDate(current)}\n class={dateClass}\n aria-selected={selected}\n aria-disabled={disabled}\n >\n {content}\n </div>\n );\n }\n\n dateCells.push(\n <td\n key={passed}\n onClick={disabled ? noop : select.bind(null, current)}\n onMouseenter={disabled ? noop : dayHover.bind(null, current)}\n role=\"gridcell\"\n title={getTitleString(current)}\n class={cls}\n >\n {dateHtml}\n </td>,\n );\n\n passed++;\n }\n\n tableHtml.push(\n <tr\n key={iIndex}\n role=\"row\"\n class={cx({\n [`${prefixCls}-current-week`]: isCurrentWeek,\n [`${prefixCls}-active-week`]: isActiveWeek,\n })}\n >\n {weekNumberCell}\n {dateCells}\n </tr>,\n );\n }\n return <tbody class={`${prefixCls}-tbody`}>{tableHtml}</tbody>;\n },\n};\n\nexport default DateTBody;\n","import DateTHead from './DateTHead';\nimport DateTBody from './DateTBody';\n\nexport default {\n functional: true,\n render(createElement, context) {\n const { props, listeners = {} } = context;\n const prefixCls = props.prefixCls;\n const bodyProps = {\n props,\n on: listeners,\n };\n return (\n <table class={`${prefixCls}-table`} cellSpacing=\"0\" role=\"grid\">\n <DateTHead {...bodyProps} />\n <DateTBody {...bodyProps} />\n </table>\n );\n },\n};\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { getTodayTime, getMonthName } from '../util/index';\n\nconst ROW = 4;\nconst COL = 3;\n\nfunction noop() {}\n\nconst MonthTable = {\n name: 'MonthTable',\n mixins: [BaseMixin],\n props: {\n cellRender: PropTypes.func,\n prefixCls: PropTypes.string,\n value: PropTypes.object,\n locale: PropTypes.any,\n contentRender: PropTypes.any,\n disabledDate: PropTypes.func,\n },\n data() {\n return {\n sValue: this.value,\n };\n },\n watch: {\n value(val) {\n this.setState({\n sValue: val,\n });\n },\n },\n methods: {\n setAndSelectValue(value) {\n this.setState({\n sValue: value,\n });\n this.__emit('select', value);\n },\n chooseMonth(month) {\n const next = this.sValue.clone();\n next.month(month);\n this.setAndSelectValue(next);\n },\n months() {\n const value = this.sValue;\n const current = value.clone();\n const months = [];\n let index = 0;\n for (let rowIndex = 0; rowIndex < ROW; rowIndex++) {\n months[rowIndex] = [];\n for (let colIndex = 0; colIndex < COL; colIndex++) {\n current.month(index);\n const content = getMonthName(current);\n months[rowIndex][colIndex] = {\n value: index,\n content,\n title: content,\n };\n index++;\n }\n }\n return months;\n },\n },\n\n render() {\n const props = this.$props;\n const value = this.sValue;\n const today = getTodayTime(value);\n const months = this.months();\n const currentMonth = value.month();\n const { prefixCls, locale, contentRender, cellRender, disabledDate } = props;\n const monthsEls = months.map((month, index) => {\n const tds = month.map(monthData => {\n let disabled = false;\n if (disabledDate) {\n const testValue = value.clone();\n testValue.month(monthData.value);\n disabled = disabledDate(testValue);\n }\n const classNameMap = {\n [`${prefixCls}-cell`]: 1,\n [`${prefixCls}-cell-disabled`]: disabled,\n [`${prefixCls}-selected-cell`]: monthData.value === currentMonth,\n [`${prefixCls}-current-cell`]:\n today.year() === value.year() && monthData.value === today.month(),\n };\n let cellEl;\n if (cellRender) {\n const currentValue = value.clone();\n currentValue.month(monthData.value);\n cellEl = cellRender(currentValue, locale);\n } else {\n let content;\n if (contentRender) {\n const currentValue = value.clone();\n currentValue.month(monthData.value);\n content = contentRender(currentValue, locale);\n } else {\n content = monthData.content;\n }\n cellEl = <a class={`${prefixCls}-month`}>{content}</a>;\n }\n return (\n <td\n role=\"gridcell\"\n key={monthData.value}\n onClick={disabled ? noop : () => this.chooseMonth(monthData.value)}\n title={monthData.title}\n class={classNameMap}\n >\n {cellEl}\n </td>\n );\n });\n return (\n <tr key={index} role=\"row\">\n {tds}\n </tr>\n );\n });\n\n return (\n <table class={`${prefixCls}-table`} cellSpacing=\"0\" role=\"grid\">\n <tbody class={`${prefixCls}-tbody`}>{monthsEls}</tbody>\n </table>\n );\n },\n};\n\nexport default MonthTable;\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { hasProp } from '../../../_util/props-util';\nimport moment from 'moment';\nimport { isAllowedDate, getTodayTime } from '../util/index';\nfunction noop() {}\n\nexport function getNowByCurrentStateValue(value) {\n let ret;\n if (value) {\n ret = getTodayTime(value);\n } else {\n ret = moment();\n }\n return ret;\n}\nfunction isMoment(value) {\n if (Array.isArray(value)) {\n return (\n value.length === 0 || value.findIndex(val => val === undefined || moment.isMoment(val)) !== -1\n );\n } else {\n return value === undefined || moment.isMoment(value);\n }\n}\nconst MomentType = PropTypes.custom(isMoment);\nconst CalendarMixin = {\n mixins: [BaseMixin],\n name: 'CalendarMixinWrapper',\n props: {\n value: MomentType,\n defaultValue: MomentType,\n },\n\n data() {\n const props = this.$props;\n const sValue = props.value || props.defaultValue || getNowByCurrentStateValue();\n return {\n sValue,\n sSelectedValue: props.selectedValue || props.defaultSelectedValue,\n };\n },\n watch: {\n value(val) {\n const sValue = val || this.defaultValue || getNowByCurrentStateValue(this.sValue);\n this.setState({\n sValue,\n });\n },\n selectedValue(val) {\n this.setState({\n sSelectedValue: val,\n });\n },\n },\n methods: {\n onSelect(value, cause) {\n if (value) {\n this.setValue(value);\n }\n this.setSelectedValue(value, cause);\n },\n\n renderRoot(newProps) {\n const props = this.$props;\n const prefixCls = props.prefixCls;\n\n const className = {\n [prefixCls]: 1,\n [`${prefixCls}-hidden`]: !props.visible,\n // [props.className]: !!props.className,\n [newProps.class]: !!newProps.class,\n };\n return (\n <div\n ref=\"rootInstance\"\n class={className}\n tabIndex=\"0\"\n onKeydown={this.onKeyDown || noop}\n onBlur={this.onBlur || noop}\n >\n {newProps.children}\n </div>\n );\n },\n\n setSelectedValue(selectedValue, cause) {\n // if (this.isAllowedDate(selectedValue)) {\n if (!hasProp(this, 'selectedValue')) {\n this.setState({\n sSelectedValue: selectedValue,\n });\n }\n this.__emit('select', selectedValue, cause);\n // }\n },\n\n setValue(value) {\n const originalValue = this.sValue;\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n });\n }\n if (\n (originalValue && value && !originalValue.isSame(value)) ||\n (!originalValue && value) ||\n (originalValue && !value)\n ) {\n this.__emit('change', value);\n }\n },\n\n isAllowedDate(value) {\n const disabledDate = this.disabledDate;\n const disabledTime = this.disabledTime;\n return isAllowedDate(value, disabledDate, disabledTime);\n },\n },\n};\n\nexport default CalendarMixin;\n","export default {\n methods: {\n getFormat() {\n let { format } = this;\n const { locale, timePicker } = this;\n if (!format) {\n if (timePicker) {\n format = locale.dateTimeFormat;\n } else {\n format = locale.dateFormat;\n }\n }\n return format;\n },\n focus() {\n if (this.focusElement) {\n this.focusElement.focus();\n } else if (this.$refs.rootInstance) {\n this.$refs.rootInstance.focus();\n }\n },\n saveFocusElement(focusElement) {\n this.focusElement = focusElement;\n },\n },\n};\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { getMonthName } from '../util';\n\nconst CalendarHeader = {\n name: 'CalendarHeader',\n mixins: [BaseMixin],\n props: {\n value: PropTypes.object,\n locale: PropTypes.object,\n yearSelectOffset: PropTypes.number.def(10),\n yearSelectTotal: PropTypes.number.def(20),\n // onValueChange: PropTypes.func,\n // onTypeChange: PropTypes.func,\n Select: PropTypes.object,\n prefixCls: PropTypes.string,\n type: PropTypes.string,\n showTypeSwitch: PropTypes.bool,\n headerComponents: PropTypes.array,\n },\n methods: {\n onYearChange(year) {\n const newValue = this.value.clone();\n newValue.year(parseInt(year, 10));\n this.__emit('valueChange', newValue);\n },\n\n onMonthChange(month) {\n const newValue = this.value.clone();\n newValue.month(parseInt(month, 10));\n this.__emit('valueChange', newValue);\n },\n\n yearSelectElement(year) {\n const { yearSelectOffset, yearSelectTotal, prefixCls, Select } = this;\n const start = year - yearSelectOffset;\n const end = start + yearSelectTotal;\n\n const options = [];\n for (let index = start; index < end; index++) {\n options.push(<Select.Option key={`${index}`}>{index}</Select.Option>);\n }\n return (\n <Select\n class={`${prefixCls}-header-year-select`}\n onChange={this.onYearChange}\n dropdownStyle={{ zIndex: 2000 }}\n dropdownMenuStyle={{ maxHeight: '250px', overflow: 'auto', fontSize: '12px' }}\n optionLabelProp=\"children\"\n value={String(year)}\n showSearch={false}\n >\n {options}\n </Select>\n );\n },\n\n monthSelectElement(month) {\n const { value, Select, prefixCls } = this;\n const t = value.clone();\n const options = [];\n\n for (let index = 0; index < 12; index++) {\n t.month(index);\n options.push(<Select.Option key={`${index}`}>{getMonthName(t)}</Select.Option>);\n }\n\n return (\n <Select\n class={`${prefixCls}-header-month-select`}\n dropdownStyle={{ zIndex: 2000 }}\n dropdownMenuStyle={{\n maxHeight: '250px',\n overflow: 'auto',\n overflowX: 'hidden',\n fontSize: '12px',\n }}\n optionLabelProp=\"children\"\n value={String(month)}\n showSearch={false}\n onChange={this.onMonthChange}\n >\n {options}\n </Select>\n );\n },\n\n changeTypeToDate() {\n this.__emit('typeChange', 'date');\n },\n\n changeTypeToMonth() {\n this.__emit('typeChange', 'month');\n },\n },\n\n render() {\n const { value, locale, prefixCls, type, showTypeSwitch, headerComponents } = this;\n const year = value.year();\n const month = value.month();\n const yearSelect = this.yearSelectElement(year);\n const monthSelect = type === 'month' ? null : this.monthSelectElement(month);\n const switchCls = `${prefixCls}-header-switcher`;\n const typeSwitcher = showTypeSwitch ? (\n <span class={switchCls}>\n {type === 'date' ? (\n <span class={`${switchCls}-focus`}>{locale.month}</span>\n ) : (\n <span onClick={this.changeTypeToDate} class={`${switchCls}-normal`}>\n {locale.month}\n </span>\n )}\n {type === 'month' ? (\n <span class={`${switchCls}-focus`}>{locale.year}</span>\n ) : (\n <span onClick={this.changeTypeToMonth} class={`${switchCls}-normal`}>\n {locale.year}\n </span>\n )}\n </span>\n ) : null;\n\n return (\n <div class={`${prefixCls}-header`}>\n {typeSwitcher}\n {monthSelect}\n {yearSelect}\n {headerComponents}\n </div>\n );\n },\n};\n\nexport default CalendarHeader;\n","import moment from 'moment';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOptionProps, hasProp, getListeners } from '../../_util/props-util';\nimport DateTable from './date/DateTable';\nimport MonthTable from './month/MonthTable';\nimport CalendarMixin, { getNowByCurrentStateValue } from './mixin/CalendarMixin';\nimport CommonMixin from './mixin/CommonMixin';\nimport CalendarHeader from './full-calendar/CalendarHeader';\nimport enUs from './locale/en_US';\nconst FullCalendar = {\n name: 'FullCalendar',\n props: {\n locale: PropTypes.object.def(enUs),\n format: PropTypes.oneOfType([PropTypes.string, PropTypes.array, PropTypes.func]),\n visible: PropTypes.bool.def(true),\n prefixCls: PropTypes.string.def('rc-calendar'),\n defaultType: PropTypes.string.def('date'),\n type: PropTypes.string,\n fullscreen: PropTypes.bool.def(false),\n monthCellRender: PropTypes.func,\n dateCellRender: PropTypes.func,\n showTypeSwitch: PropTypes.bool.def(true),\n Select: PropTypes.object.isRequired,\n headerComponents: PropTypes.array,\n headerComponent: PropTypes.object, // The whole header component\n headerRender: PropTypes.func,\n showHeader: PropTypes.bool.def(true),\n disabledDate: PropTypes.func,\n value: PropTypes.object,\n defaultValue: PropTypes.object,\n selectedValue: PropTypes.object,\n defaultSelectedValue: PropTypes.object,\n renderFooter: PropTypes.func.def(() => null),\n renderSidebar: PropTypes.func.def(() => null),\n },\n mixins: [BaseMixin, CommonMixin, CalendarMixin],\n data() {\n let type;\n if (hasProp(this, 'type')) {\n type = this.type;\n } else {\n type = this.defaultType;\n }\n const props = this.$props;\n return {\n sType: type,\n sValue: props.value || props.defaultValue || moment(),\n sSelectedValue: props.selectedValue || props.defaultSelectedValue,\n };\n },\n watch: {\n type(val) {\n this.setState({\n sType: val,\n });\n },\n value(val) {\n const sValue = val || this.defaultValue || getNowByCurrentStateValue(this.sValue);\n this.setState({\n sValue,\n });\n },\n selectedValue(val) {\n this.setState({\n sSelectedValue: val,\n });\n },\n },\n methods: {\n onMonthSelect(value) {\n this.onSelect(value, {\n target: 'month',\n });\n },\n setType(type) {\n if (!hasProp(this, 'type')) {\n this.setState({\n sType: type,\n });\n }\n this.__emit('typeChange', type);\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const {\n locale,\n prefixCls,\n fullscreen,\n showHeader,\n headerComponent,\n headerRender,\n disabledDate,\n } = props;\n const { sValue: value, sType: type } = this;\n\n let header = null;\n if (showHeader) {\n if (headerRender) {\n header = headerRender(value, type, locale);\n } else {\n const TheHeader = headerComponent || CalendarHeader;\n const headerProps = {\n props: {\n ...props,\n prefixCls: `${prefixCls}-full`,\n type,\n value,\n },\n on: {\n ...getListeners(this),\n typeChange: this.setType,\n valueChange: this.setValue,\n },\n key: 'calendar-header',\n };\n header = <TheHeader {...headerProps} />;\n }\n }\n\n const table =\n type === 'date' ? (\n <DateTable\n dateRender={props.dateCellRender}\n contentRender={props.dateCellContentRender}\n locale={locale}\n prefixCls={prefixCls}\n onSelect={this.onSelect}\n value={value}\n disabledDate={disabledDate}\n />\n ) : (\n <MonthTable\n cellRender={props.monthCellRender}\n contentRender={props.monthCellContentRender}\n locale={locale}\n onSelect={this.onMonthSelect}\n prefixCls={`${prefixCls}-month-panel`}\n value={value}\n disabledDate={disabledDate}\n />\n );\n\n const children = [\n header,\n <div key=\"calendar-body\" class={`${prefixCls}-calendar-body`}>\n {table}\n </div>,\n ];\n\n const className = [`${prefixCls}-full`];\n\n if (fullscreen) {\n className.push(`${prefixCls}-fullscreen`);\n }\n\n return this.renderRoot({\n children,\n class: className.join(' '),\n });\n },\n};\n\nexport default FullCalendar;\n","import Checkbox from './Checkbox';\n\nexport default Checkbox;\n","import PropTypes from '../../_util/vue-types';\nimport classNames from 'classnames';\nimport {\n getOptionProps,\n hasProp,\n initDefaultProps,\n getAttrs,\n getListeners,\n} from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\n\nexport default {\n name: 'Checkbox',\n mixins: [BaseMixin],\n inheritAttrs: false,\n model: {\n prop: 'checked',\n event: 'change',\n },\n props: initDefaultProps(\n {\n prefixCls: PropTypes.string,\n name: PropTypes.string,\n id: PropTypes.string,\n type: PropTypes.string,\n defaultChecked: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n checked: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n disabled: PropTypes.bool,\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.bool,\n autoFocus: PropTypes.bool,\n value: PropTypes.any,\n },\n {\n prefixCls: 'rc-checkbox',\n type: 'checkbox',\n defaultChecked: false,\n },\n ),\n data() {\n const checked = hasProp(this, 'checked') ? this.checked : this.defaultChecked;\n return {\n sChecked: checked,\n };\n },\n watch: {\n checked(val) {\n this.sChecked = val;\n },\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus) {\n this.$refs.input && this.$refs.input.focus();\n }\n });\n },\n methods: {\n focus() {\n this.$refs.input.focus();\n },\n\n blur() {\n this.$refs.input.blur();\n },\n\n handleChange(e) {\n const props = getOptionProps(this);\n if (props.disabled) {\n return;\n }\n if (!('checked' in props)) {\n this.sChecked = e.target.checked;\n }\n this.$forceUpdate(); // change前,维持现有状态\n e.shiftKey = this.eventShiftKey;\n this.__emit('change', {\n target: {\n ...props,\n checked: e.target.checked,\n },\n stopPropagation() {\n e.stopPropagation();\n },\n preventDefault() {\n e.preventDefault();\n },\n nativeEvent: e,\n });\n this.eventShiftKey = false;\n // fix https://github.com/vueComponent/ant-design-vue/issues/3047\n if ('checked' in props) {\n this.$refs.input.checked = props.checked;\n }\n },\n onClick(e) {\n this.__emit('click', e);\n // onChange没能获取到shiftKey,使用onClick hack\n this.eventShiftKey = e.shiftKey;\n },\n },\n\n render() {\n const {\n prefixCls,\n name,\n id,\n type,\n disabled,\n readOnly,\n tabIndex,\n autoFocus,\n value,\n ...others\n } = getOptionProps(this);\n const attrs = getAttrs(this);\n const globalProps = Object.keys({ ...others, ...attrs }).reduce((prev, key) => {\n if (key.substr(0, 5) === 'aria-' || key.substr(0, 5) === 'data-' || key === 'role') {\n prev[key] = others[key];\n }\n return prev;\n }, {});\n\n const { sChecked } = this;\n const classString = classNames(prefixCls, {\n [`${prefixCls}-checked`]: sChecked,\n [`${prefixCls}-disabled`]: disabled,\n });\n\n return (\n <span class={classString}>\n <input\n name={name}\n id={id}\n type={type}\n readOnly={readOnly}\n disabled={disabled}\n tabIndex={tabIndex}\n class={`${prefixCls}-input`}\n checked={!!sChecked}\n autoFocus={autoFocus}\n ref=\"input\"\n value={value}\n {...{\n attrs: globalProps,\n on: {\n ...getListeners(this),\n change: this.handleChange,\n click: this.onClick,\n },\n }}\n />\n <span class={`${prefixCls}-inner`} />\n </span>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport VcCheckbox from '../vc-checkbox';\nimport classNames from 'classnames';\nimport { getOptionProps, getAttrs, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nfunction noop() {}\n\nexport default {\n name: 'ARadio',\n model: {\n prop: 'checked',\n },\n props: {\n prefixCls: PropTypes.string,\n defaultChecked: Boolean,\n checked: { type: Boolean, default: undefined },\n disabled: Boolean,\n isGroup: Boolean,\n value: PropTypes.any,\n name: String,\n id: String,\n autoFocus: Boolean,\n type: PropTypes.string.def('radio'),\n },\n inject: {\n radioGroupContext: { default: undefined },\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n focus() {\n this.$refs.vcCheckbox.focus();\n },\n blur() {\n this.$refs.vcCheckbox.blur();\n },\n handleChange(event) {\n const targetChecked = event.target.checked;\n this.$emit('input', targetChecked);\n this.$emit('change', event);\n },\n onChange(e) {\n this.$emit('change', e);\n if (this.radioGroupContext && this.radioGroupContext.onRadioChange) {\n this.radioGroupContext.onRadioChange(e);\n }\n },\n },\n\n render() {\n const { $slots, radioGroupContext: radioGroup } = this;\n const props = getOptionProps(this);\n const children = $slots.default;\n const { mouseenter = noop, mouseleave = noop, ...restListeners } = getListeners(this);\n const { prefixCls: customizePrefixCls, ...restProps } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('radio', customizePrefixCls);\n\n const radioProps = {\n props: { ...restProps, prefixCls },\n on: restListeners,\n attrs: getAttrs(this),\n };\n\n if (radioGroup) {\n radioProps.props.name = radioGroup.name;\n radioProps.on.change = this.onChange;\n radioProps.props.checked = props.value === radioGroup.stateValue;\n radioProps.props.disabled = props.disabled || radioGroup.disabled;\n } else {\n radioProps.on.change = this.handleChange;\n }\n const wrapperClassString = classNames({\n [`${prefixCls}-wrapper`]: true,\n [`${prefixCls}-wrapper-checked`]: radioProps.props.checked,\n [`${prefixCls}-wrapper-disabled`]: radioProps.props.disabled,\n });\n\n return (\n <label class={wrapperClassString} onMouseenter={mouseenter} onMouseleave={mouseleave}>\n <VcCheckbox {...radioProps} ref=\"vcCheckbox\" />\n {children !== undefined ? <span>{children}</span> : null}\n </label>\n );\n },\n};\n","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport Radio from './Radio';\nimport { getOptionProps, filterEmpty, hasProp, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nfunction noop() {}\n\nexport default {\n name: 'ARadioGroup',\n model: {\n prop: 'value',\n },\n props: {\n prefixCls: PropTypes.string,\n defaultValue: PropTypes.any,\n value: PropTypes.any,\n size: {\n default: 'default',\n validator(value) {\n return ['large', 'default', 'small'].includes(value);\n },\n },\n options: {\n default: () => [],\n type: Array,\n },\n disabled: Boolean,\n name: String,\n buttonStyle: PropTypes.string.def('outline'),\n },\n data() {\n const { value, defaultValue } = this;\n this.updatingValue = false;\n return {\n stateValue: value === undefined ? defaultValue : value,\n };\n },\n provide() {\n return {\n radioGroupContext: this,\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\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 classes() {\n const { prefixCls, size } = this;\n return {\n [`${prefixCls}`]: true,\n [`${prefixCls}-${size}`]: size,\n };\n },\n },\n watch: {\n value(val) {\n this.updatingValue = false;\n this.stateValue = val;\n },\n },\n methods: {\n onRadioChange(ev) {\n const lastValue = this.stateValue;\n const { value } = ev.target;\n if (!hasProp(this, 'value')) {\n this.stateValue = value;\n }\n // nextTick for https://github.com/vueComponent/ant-design-vue/issues/1280\n if (!this.updatingValue && value !== lastValue) {\n this.updatingValue = true;\n this.$emit('input', value);\n this.$emit('change', ev);\n }\n this.$nextTick(() => {\n this.updatingValue = false;\n });\n },\n },\n render() {\n const { mouseenter = noop, mouseleave = noop } = getListeners(this);\n const props = getOptionProps(this);\n const { prefixCls: customizePrefixCls, options, buttonStyle } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('radio', customizePrefixCls);\n\n const groupPrefixCls = `${prefixCls}-group`;\n const classString = classNames(groupPrefixCls, `${groupPrefixCls}-${buttonStyle}`, {\n [`${groupPrefixCls}-${props.size}`]: props.size,\n });\n\n let children = filterEmpty(this.$slots.default);\n\n // 如果存在 options, 优先使用\n if (options && options.length > 0) {\n children = options.map(option => {\n if (typeof option === 'string') {\n return (\n <Radio\n key={option}\n prefixCls={prefixCls}\n disabled={props.disabled}\n value={option}\n checked={this.stateValue === option}\n >\n {option}\n </Radio>\n );\n } else {\n return (\n <Radio\n key={`radio-group-value-options-${option.value}`}\n prefixCls={prefixCls}\n disabled={option.disabled || props.disabled}\n value={option.value}\n checked={this.stateValue === option.value}\n >\n {option.label}\n </Radio>\n );\n }\n });\n }\n\n return (\n <div class={classString} onMouseenter={mouseenter} onMouseleave={mouseleave}>\n {children}\n </div>\n );\n },\n};\n","import Radio from './Radio';\nimport { getOptionProps, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport default {\n name: 'ARadioButton',\n props: {\n ...Radio.props,\n },\n inject: {\n radioGroupContext: { default: undefined },\n configProvider: { default: () => ConfigConsumerProps },\n },\n render() {\n const { prefixCls: customizePrefixCls, ...otherProps } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('radio-button', customizePrefixCls);\n\n const radioProps = {\n props: {\n ...otherProps,\n prefixCls,\n },\n on: getListeners(this),\n };\n if (this.radioGroupContext) {\n radioProps.on.change = this.radioGroupContext.onRadioChange;\n radioProps.props.checked = this.$props.value === this.radioGroupContext.stateValue;\n radioProps.props.disabled = this.$props.disabled || this.radioGroupContext.disabled;\n }\n return <Radio {...radioProps}>{this.$slots.default}</Radio>;\n },\n};\n","import Select from '../select';\nimport { Group, Button } from '../radio';\nimport PropTypes from '../_util/vue-types';\nimport { initDefaultProps } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nconst { Option } = Select;\n\nfunction getMonthsLocale(value) {\n const current = value.clone();\n const localeData = value.localeData();\n const months = [];\n for (let i = 0; i < 12; i++) {\n current.month(i);\n months.push(localeData.monthsShort(current));\n }\n return months;\n}\n\nexport const HeaderProps = {\n prefixCls: PropTypes.string,\n locale: PropTypes.any,\n fullscreen: PropTypes.boolean,\n yearSelectOffset: PropTypes.number,\n yearSelectTotal: PropTypes.number,\n type: PropTypes.string,\n // onValueChange: PropTypes.(value: moment.Moment) => void,\n // onTypeChange: PropTypes.(type: string) => void,\n value: PropTypes.any,\n validRange: PropTypes.array,\n headerRender: PropTypes.func,\n};\n\nexport default {\n props: initDefaultProps(HeaderProps, {\n yearSelectOffset: 10,\n yearSelectTotal: 20,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n // private calenderHeaderNode: HTMLDivElement;\n methods: {\n getYearSelectElement(prefixCls, year) {\n const { yearSelectOffset, yearSelectTotal, locale = {}, fullscreen, validRange } = this;\n let start = year - yearSelectOffset;\n let end = start + yearSelectTotal;\n if (validRange) {\n start = validRange[0].get('year');\n end = validRange[1].get('year') + 1;\n }\n const suffix = locale.year === '年' ? '年' : '';\n\n const options = [];\n for (let index = start; index < end; index++) {\n options.push(<Option key={`${index}`}>{index + suffix}</Option>);\n }\n return (\n <Select\n size={fullscreen ? 'default' : 'small'}\n dropdownMatchSelectWidth={false}\n class={`${prefixCls}-year-select`}\n onChange={this.onYearChange}\n value={String(year)}\n getPopupContainer={() => this.getCalenderHeaderNode()}\n >\n {options}\n </Select>\n );\n },\n\n getMonthSelectElement(prefixCls, month, months) {\n const { fullscreen, validRange, value } = this;\n const options = [];\n let start = 0;\n let end = 12;\n if (validRange) {\n const [rangeStart, rangeEnd] = validRange;\n const currentYear = value.get('year');\n if (rangeEnd.get('year') === currentYear) {\n end = rangeEnd.get('month') + 1;\n }\n if (rangeStart.get('year') === currentYear) {\n start = rangeStart.get('month');\n }\n }\n for (let index = start; index < end; index++) {\n options.push(<Option key={`${index}`}>{months[index]}</Option>);\n }\n\n return (\n <Select\n size={fullscreen ? 'default' : 'small'}\n dropdownMatchSelectWidth={false}\n class={`${prefixCls}-month-select`}\n value={String(month)}\n onChange={this.onMonthChange}\n getPopupContainer={() => this.getCalenderHeaderNode()}\n >\n {options}\n </Select>\n );\n },\n\n onYearChange(year) {\n const { value, validRange } = this;\n const newValue = value.clone();\n newValue.year(parseInt(year, 10));\n // switch the month so that it remains within range when year changes\n if (validRange) {\n const [start, end] = validRange;\n const newYear = newValue.get('year');\n const newMonth = newValue.get('month');\n if (newYear === end.get('year') && newMonth > end.get('month')) {\n newValue.month(end.get('month'));\n }\n if (newYear === start.get('year') && newMonth < start.get('month')) {\n newValue.month(start.get('month'));\n }\n }\n this.$emit('valueChange', newValue);\n },\n\n onMonthChange(month) {\n const newValue = this.value.clone();\n newValue.month(parseInt(month, 10));\n this.$emit('valueChange', newValue);\n },\n\n onInternalTypeChange(e) {\n this.onTypeChange(e.target.value);\n },\n\n onTypeChange(val) {\n this.$emit('typeChange', val);\n },\n\n getCalenderHeaderNode() {\n return this.$refs.calenderHeaderNode;\n },\n getMonthYearSelections(getPrefixCls) {\n const { prefixCls: customizePrefixCls, type, value } = this.$props;\n\n const prefixCls = getPrefixCls('fullcalendar', customizePrefixCls);\n const yearReactNode = this.getYearSelectElement(prefixCls, value.year());\n const monthReactNode =\n type === 'month'\n ? this.getMonthSelectElement(prefixCls, value.month(), getMonthsLocale(value))\n : null;\n return {\n yearReactNode,\n monthReactNode,\n };\n },\n\n getTypeSwitch() {\n const { locale = {}, type, fullscreen } = this.$props;\n const size = fullscreen ? 'default' : 'small';\n return (\n <Group onChange={this.onInternalTypeChange} value={type} size={size}>\n <Button value=\"month\">{locale.month}</Button>\n <Button value=\"year\">{locale.year}</Button>\n </Group>\n );\n },\n onValueChange() {\n this.$emit('valueChange', ...arguments);\n },\n headerRenderCustom(headerRender) {\n const { type, value } = this.$props;\n return headerRender({\n value,\n type: type || 'month',\n onChange: this.onValueChange,\n onTypeChange: this.onTypeChange,\n });\n },\n },\n\n render() {\n const { prefixCls: customizePrefixCls, headerRender } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('fullcalendar', customizePrefixCls);\n const typeSwitch = this.getTypeSwitch();\n const { yearReactNode, monthReactNode } = this.getMonthYearSelections(getPrefixCls);\n return headerRender ? (\n this.headerRenderCustom(headerRender)\n ) : (\n <div class={`${prefixCls}-header`} ref=\"calenderHeaderNode\">\n {yearReactNode}\n {monthReactNode}\n {typeSwitch}\n </div>\n );\n },\n};\n","// https://github.com/moment/moment/issues/3650\nexport default function interopDefault(m) {\n return m.default || m;\n}\n","import interopDefault from './interopDefault';\nimport * as moment from 'moment';\nimport warning from './warning';\nimport isNil from 'lodash/isNil';\n\nexport const TimeType = {\n validator(value) {\n return typeof value === 'string' || isNil(value) || moment.isMoment(value);\n },\n};\n\nexport const TimesType = {\n validator(value) {\n if (Array.isArray(value)) {\n return (\n value.length === 0 ||\n value.findIndex(val => typeof val !== 'string') === -1 ||\n value.findIndex(val => !isNil(val) && !moment.isMoment(val)) === -1\n );\n }\n return false;\n },\n};\n\nexport const TimeOrTimesType = {\n validator(value) {\n if (Array.isArray(value)) {\n return (\n value.length === 0 ||\n value.findIndex(val => typeof val !== 'string') === -1 ||\n value.findIndex(val => !isNil(val) && !moment.isMoment(val)) === -1\n );\n } else {\n return typeof value === 'string' || isNil(value) || moment.isMoment(value);\n }\n },\n};\n\nexport function checkValidate(componentName, value, propName, valueFormat) {\n const values = Array.isArray(value) ? value : [value];\n values.forEach(val => {\n if (!val) return;\n valueFormat &&\n warning(\n interopDefault(moment)(val, valueFormat).isValid(),\n componentName,\n `When set \\`valueFormat\\`, \\`${propName}\\` should provides invalidate string time. `,\n );\n !valueFormat &&\n warning(\n interopDefault(moment).isMoment(val) && val.isValid(),\n componentName,\n `\\`${propName}\\` provides invalidate moment time. If you want to set empty value, use \\`null\\` instead.`,\n );\n });\n}\nexport const stringToMoment = (value, valueFormat) => {\n if (Array.isArray(value)) {\n return value.map(val =>\n typeof val === 'string' && val ? interopDefault(moment)(val, valueFormat) : val || null,\n );\n } else {\n return typeof value === 'string' && value\n ? interopDefault(moment)(value, valueFormat)\n : value || null;\n }\n};\n\nexport const momentToString = (value, valueFormat) => {\n if (Array.isArray(value)) {\n return value.map(val => (interopDefault(moment).isMoment(val) ? val.format(valueFormat) : val));\n } else {\n return interopDefault(moment).isMoment(value) ? value.format(valueFormat) : value;\n }\n};\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getOptionProps, hasProp, initDefaultProps, getListeners } from '../_util/props-util';\nimport * as moment from 'moment';\nimport FullCalendar from '../vc-calendar/src/FullCalendar';\nimport Header from './Header';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport interopDefault from '../_util/interopDefault';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport enUS from './locale/en_US';\nimport Base from '../base';\nimport { checkValidate, stringToMoment, momentToString, TimeType } from '../_util/moment-util';\n\nfunction noop() {\n return null;\n}\n\nfunction zerofixed(v) {\n if (v < 10) {\n return `0${v}`;\n }\n return `${v}`;\n}\nfunction isMomentArray(value) {\n return Array.isArray(value) && !!value.find(val => moment.isMoment(val));\n}\nexport const CalendarMode = PropTypes.oneOf(['month', 'year']);\n\nexport const CalendarProps = () => ({\n prefixCls: PropTypes.string,\n value: TimeType,\n defaultValue: TimeType,\n mode: CalendarMode,\n fullscreen: PropTypes.bool,\n // dateCellRender: PropTypes.func,\n // monthCellRender: PropTypes.func,\n // dateFullCellRender: PropTypes.func,\n // monthFullCellRender: PropTypes.func,\n locale: PropTypes.object,\n // onPanelChange?: (date?: moment.Moment, mode?: CalendarMode) => void;\n // onSelect?: (date?: moment.Moment) => void;\n disabledDate: PropTypes.func,\n validRange: PropTypes.custom(isMomentArray),\n headerRender: PropTypes.func,\n valueFormat: PropTypes.string,\n});\n\nconst Calendar = {\n name: 'ACalendar',\n mixins: [BaseMixin],\n props: initDefaultProps(CalendarProps(), {\n locale: {},\n fullscreen: true,\n }),\n model: {\n prop: 'value',\n event: 'change',\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const { value, defaultValue, valueFormat } = this;\n const sValue = value || defaultValue || interopDefault(moment)();\n checkValidate('Calendar', defaultValue, 'defaultValue', valueFormat);\n checkValidate('Calendar', value, 'value', valueFormat);\n this._sPrefixCls = undefined;\n return {\n sValue: stringToMoment(sValue, valueFormat),\n sMode: this.mode || 'month',\n };\n },\n watch: {\n value(val) {\n checkValidate('Calendar', val, 'value', this.valueFormat);\n this.setState({\n sValue: stringToMoment(val, this.valueFormat),\n });\n },\n mode(val) {\n this.setState({\n sMode: val,\n });\n },\n },\n methods: {\n onHeaderValueChange(value) {\n this.setValue(value, 'changePanel');\n },\n onHeaderTypeChange(mode) {\n this.sMode = mode;\n this.onPanelChange(this.sValue, mode);\n },\n onPanelChange(value, mode) {\n const val = this.valueFormat ? momentToString(value, this.valueFormat) : value;\n this.$emit('panelChange', val, mode);\n if (value !== this.sValue) {\n this.$emit('change', val);\n }\n },\n\n onSelect(value) {\n this.setValue(value, 'select');\n },\n setValue(value, way) {\n const prevValue = this.value ? stringToMoment(this.value, this.valueFormat) : this.sValue;\n const { sMode: mode, valueFormat } = this;\n if (!hasProp(this, 'value')) {\n this.setState({ sValue: value });\n }\n if (way === 'select') {\n if (prevValue && prevValue.month() !== value.month()) {\n this.onPanelChange(value, mode);\n }\n this.$emit('select', valueFormat ? momentToString(value, valueFormat) : value);\n } else if (way === 'changePanel') {\n this.onPanelChange(value, mode);\n }\n },\n getDateRange(validRange, disabledDate) {\n return current => {\n if (!current) {\n return false;\n }\n const [startDate, endDate] = validRange;\n const inRange = !current.isBetween(startDate, endDate, 'days', '[]');\n if (disabledDate) {\n return disabledDate(current) || inRange;\n }\n return inRange;\n };\n },\n getDefaultLocale() {\n const result = {\n ...enUS,\n ...this.$props.locale,\n };\n result.lang = {\n ...result.lang,\n ...(this.$props.locale || {}).lang,\n };\n return result;\n },\n monthCellRender2(value) {\n const { _sPrefixCls, $scopedSlots } = this;\n const monthCellRender = this.monthCellRender || $scopedSlots.monthCellRender || noop;\n return (\n <div class={`${_sPrefixCls}-month`}>\n <div class={`${_sPrefixCls}-value`}>{value.localeData().monthsShort(value)}</div>\n <div class={`${_sPrefixCls}-content`}>{monthCellRender(value)}</div>\n </div>\n );\n },\n\n dateCellRender2(value) {\n const { _sPrefixCls, $scopedSlots } = this;\n const dateCellRender = this.dateCellRender || $scopedSlots.dateCellRender || noop;\n return (\n <div class={`${_sPrefixCls}-date`}>\n <div class={`${_sPrefixCls}-value`}>{zerofixed(value.date())}</div>\n <div class={`${_sPrefixCls}-content`}>{dateCellRender(value)}</div>\n </div>\n );\n },\n\n renderCalendar(locale, localeCode) {\n const props = getOptionProps(this);\n const { sValue: value, sMode: mode, $scopedSlots } = this;\n if (value && localeCode) {\n value.locale(localeCode);\n }\n const {\n prefixCls: customizePrefixCls,\n fullscreen,\n dateFullCellRender,\n monthFullCellRender,\n } = props;\n const headerRender = this.headerRender || $scopedSlots.headerRender;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('fullcalendar', customizePrefixCls);\n\n // To support old version react.\n // Have to add prefixCls on the instance.\n // https://github.com/facebook/react/issues/12397\n this._sPrefixCls = prefixCls;\n\n let cls = '';\n if (fullscreen) {\n cls += ` ${prefixCls}-fullscreen`;\n }\n\n const monthCellRender =\n monthFullCellRender || $scopedSlots.monthFullCellRender || this.monthCellRender2;\n const dateCellRender =\n dateFullCellRender || $scopedSlots.dateFullCellRender || this.dateCellRender2;\n\n let disabledDate = props.disabledDate;\n\n if (props.validRange) {\n disabledDate = this.getDateRange(props.validRange, disabledDate);\n }\n const fullCalendarProps = {\n props: {\n ...props,\n Select: {},\n locale: locale.lang,\n type: mode === 'year' ? 'month' : 'date',\n prefixCls,\n showHeader: false,\n value,\n monthCellRender,\n dateCellRender,\n disabledDate,\n },\n on: {\n ...getListeners(this),\n select: this.onSelect,\n },\n };\n return (\n <div class={cls}>\n <Header\n fullscreen={fullscreen}\n type={mode}\n headerRender={headerRender}\n value={value}\n locale={locale.lang}\n prefixCls={prefixCls}\n onTypeChange={this.onHeaderTypeChange}\n onValueChange={this.onHeaderValueChange}\n validRange={props.validRange}\n />\n <FullCalendar {...fullCalendarProps} />\n </div>\n );\n },\n },\n\n render() {\n return (\n <LocaleReceiver\n componentName=\"Calendar\"\n defaultLocale={this.getDefaultLocale}\n scopedSlots={{ default: this.renderCalendar }}\n />\n );\n },\n};\n\n/* istanbul ignore next */\nCalendar.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Calendar.name, Calendar);\n};\nexport { HeaderProps } from './Header';\nexport default Calendar;\n","import PropTypes from '../../_util/vue-types';\nimport KeyCode from '../../_util/KeyCode';\n\nconst sentinelStyle = { width: 0, height: 0, overflow: 'hidden', position: 'absolute' };\nexport default {\n name: 'Sentinel',\n props: {\n setRef: PropTypes.func,\n prevElement: PropTypes.any,\n nextElement: PropTypes.any,\n },\n methods: {\n onKeyDown({ target, which, shiftKey }) {\n const { nextElement, prevElement } = this.$props;\n if (which !== KeyCode.TAB || document.activeElement !== target) return;\n\n // Tab next\n if (!shiftKey && nextElement) {\n nextElement.focus();\n }\n\n // Tab prev\n if (shiftKey && prevElement) {\n prevElement.focus();\n }\n },\n },\n render() {\n const { setRef } = this.$props;\n\n return (\n <div\n tabIndex={0}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: setRef,\n },\n ],\n }}\n style={sentinelStyle}\n onKeydown={this.onKeyDown}\n role=\"presentation\"\n >\n {this.$slots.default}\n </div>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport { getComponentFromProp } from '../../_util/props-util';\nimport Sentinel from './Sentinel';\n\nexport default {\n name: 'TabPane',\n props: {\n active: PropTypes.bool,\n destroyInactiveTabPane: PropTypes.bool,\n forceRender: PropTypes.bool,\n placeholder: PropTypes.any,\n rootPrefixCls: PropTypes.string,\n tab: PropTypes.any,\n closable: PropTypes.bool,\n disabled: PropTypes.bool,\n },\n inject: {\n sentinelContext: { default: () => ({}) },\n },\n render() {\n const { destroyInactiveTabPane, active, forceRender, rootPrefixCls } = this.$props;\n const children = this.$slots.default;\n const placeholder = getComponentFromProp(this, 'placeholder');\n this._isActived = this._isActived || active;\n const prefixCls = `${rootPrefixCls}-tabpane`;\n const cls = {\n [prefixCls]: 1,\n [`${prefixCls}-inactive`]: !active,\n [`${prefixCls}-active`]: active,\n };\n const isRender = destroyInactiveTabPane ? active : this._isActived;\n const shouldRender = isRender || forceRender;\n const {\n sentinelStart,\n sentinelEnd,\n setPanelSentinelStart,\n setPanelSentinelEnd,\n } = this.sentinelContext;\n let panelSentinelStart;\n let panelSentinelEnd;\n if (active && shouldRender) {\n panelSentinelStart = <Sentinel setRef={setPanelSentinelStart} prevElement={sentinelStart} />;\n panelSentinelEnd = <Sentinel setRef={setPanelSentinelEnd} nextElement={sentinelEnd} />;\n }\n return (\n <div class={cls} role=\"tabpanel\" aria-hidden={active ? 'false' : 'true'}>\n {panelSentinelStart}\n {shouldRender ? children : placeholder}\n {panelSentinelEnd}\n </div>\n );\n },\n};\n","export default {\n /**\n * LEFT\n */\n LEFT: 37, // also NUM_WEST\n /**\n * UP\n */\n UP: 38, // also NUM_NORTH\n /**\n * RIGHT\n */\n RIGHT: 39, // also NUM_EAST\n /**\n * DOWN\n */\n DOWN: 40, // also NUM_SOUTH\n};\n","const isValid = value => {\n return value !== undefined && value !== null && value !== '';\n};\nexport default isValid;\n","import omit from 'omit.js';\nimport BaseMixin from '../../_util/BaseMixin';\nimport PropTypes from '../../_util/vue-types';\nimport raf from 'raf';\nimport KeyCode from './KeyCode';\nimport { getOptionProps, getListeners, getValueByProp } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport Sentinel from './Sentinel';\nimport isValid from '../../_util/isValid';\n\nfunction getDefaultActiveKey(props) {\n let activeKey;\n const children = props.children;\n children.forEach(child => {\n if (child && !isValid(activeKey) && !child.disabled) {\n activeKey = child.key;\n }\n });\n return activeKey;\n}\n\nfunction activeKeyIsValid(props, key) {\n const children = props.children;\n const keys = children.map(child => child && child.key);\n return keys.indexOf(key) >= 0;\n}\n\nexport default {\n name: 'Tabs',\n mixins: [BaseMixin],\n model: {\n prop: 'activeKey',\n event: 'change',\n },\n props: {\n destroyInactiveTabPane: PropTypes.bool,\n renderTabBar: PropTypes.func.isRequired,\n renderTabContent: PropTypes.func.isRequired,\n navWrapper: PropTypes.func.def(arg => arg),\n children: PropTypes.any.def([]),\n prefixCls: PropTypes.string.def('ant-tabs'),\n tabBarPosition: PropTypes.string.def('top'),\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n defaultActiveKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n __propsSymbol__: PropTypes.any,\n direction: PropTypes.string.def('ltr'),\n tabBarGutter: PropTypes.number,\n },\n data() {\n const props = getOptionProps(this);\n let activeKey;\n if ('activeKey' in props) {\n activeKey = props.activeKey;\n } else if ('defaultActiveKey' in props) {\n activeKey = props.defaultActiveKey;\n } else {\n activeKey = getDefaultActiveKey(props);\n }\n return {\n _activeKey: activeKey,\n };\n },\n provide() {\n return {\n sentinelContext: this,\n };\n },\n watch: {\n __propsSymbol__() {\n const nextProps = getOptionProps(this);\n if ('activeKey' in nextProps) {\n this.setState({\n _activeKey: nextProps.activeKey,\n });\n } else if (!activeKeyIsValid(nextProps, this.$data._activeKey)) {\n // https://github.com/ant-design/ant-design/issues/7093\n this.setState({\n _activeKey: getDefaultActiveKey(nextProps),\n });\n }\n },\n },\n beforeDestroy() {\n this.destroy = true;\n raf.cancel(this.sentinelId);\n },\n methods: {\n onTabClick(activeKey, e) {\n if (\n this.tabBar.componentOptions &&\n this.tabBar.componentOptions.listeners &&\n this.tabBar.componentOptions.listeners.tabClick\n ) {\n this.tabBar.componentOptions.listeners.tabClick(activeKey, e);\n }\n this.setActiveKey(activeKey);\n },\n\n onNavKeyDown(e) {\n const eventKeyCode = e.keyCode;\n if (eventKeyCode === KeyCode.RIGHT || eventKeyCode === KeyCode.DOWN) {\n e.preventDefault();\n const nextKey = this.getNextActiveKey(true);\n this.onTabClick(nextKey);\n } else if (eventKeyCode === KeyCode.LEFT || eventKeyCode === KeyCode.UP) {\n e.preventDefault();\n const previousKey = this.getNextActiveKey(false);\n this.onTabClick(previousKey);\n }\n },\n\n onScroll({ target, currentTarget }) {\n if (target === currentTarget && target.scrollLeft > 0) {\n target.scrollLeft = 0;\n }\n },\n\n // Sentinel for tab index\n setSentinelStart(node) {\n this.sentinelStart = node;\n },\n\n setSentinelEnd(node) {\n this.sentinelEnd = node;\n },\n\n setPanelSentinelStart(node) {\n if (node !== this.panelSentinelStart) {\n this.updateSentinelContext();\n }\n this.panelSentinelStart = node;\n },\n\n setPanelSentinelEnd(node) {\n if (node !== this.panelSentinelEnd) {\n this.updateSentinelContext();\n }\n this.panelSentinelEnd = node;\n },\n\n setActiveKey(activeKey) {\n if (this.$data._activeKey !== activeKey) {\n const props = getOptionProps(this);\n if (!('activeKey' in props)) {\n this.setState({\n _activeKey: activeKey,\n });\n }\n this.__emit('change', activeKey);\n }\n },\n\n getNextActiveKey(next) {\n const activeKey = this.$data._activeKey;\n const children = [];\n this.$props.children.forEach(c => {\n const disabled = getValueByProp(c, 'disabled');\n if (c && !disabled && disabled !== '') {\n if (next) {\n children.push(c);\n } else {\n children.unshift(c);\n }\n }\n });\n const length = children.length;\n let ret = length && children[0].key;\n children.forEach((child, i) => {\n if (child.key === activeKey) {\n if (i === length - 1) {\n ret = children[0].key;\n } else {\n ret = children[i + 1].key;\n }\n }\n });\n return ret;\n },\n updateSentinelContext() {\n if (this.destroy) return;\n\n raf.cancel(this.sentinelId);\n this.sentinelId = raf(() => {\n if (this.destroy) return;\n this.$forceUpdate();\n });\n },\n },\n render() {\n const props = this.$props;\n const {\n prefixCls,\n navWrapper,\n tabBarPosition,\n renderTabContent,\n renderTabBar,\n destroyInactiveTabPane,\n direction,\n tabBarGutter,\n } = props;\n const cls = {\n [prefixCls]: 1,\n [`${prefixCls}-${tabBarPosition}`]: 1,\n [`${prefixCls}-rtl`]: direction === 'rtl',\n };\n\n this.tabBar = renderTabBar();\n const tabBar = cloneElement(this.tabBar, {\n props: {\n prefixCls,\n navWrapper,\n tabBarPosition,\n panels: props.children,\n activeKey: this.$data._activeKey,\n direction,\n tabBarGutter,\n },\n on: {\n keydown: this.onNavKeyDown,\n tabClick: this.onTabClick,\n },\n key: 'tabBar',\n });\n const tabContent = cloneElement(renderTabContent(), {\n props: {\n prefixCls,\n tabBarPosition,\n activeKey: this.$data._activeKey,\n destroyInactiveTabPane,\n direction,\n },\n on: {\n change: this.setActiveKey,\n },\n children: props.children,\n key: 'tabContent',\n });\n\n const sentinelStart = (\n <Sentinel\n key=\"sentinelStart\"\n setRef={this.setSentinelStart}\n nextElement={this.panelSentinelStart}\n />\n );\n const sentinelEnd = (\n <Sentinel\n key=\"sentinelEnd\"\n setRef={this.setSentinelEnd}\n prevElement={this.panelSentinelEnd}\n />\n );\n\n const contents = [];\n\n if (tabBarPosition === 'bottom') {\n contents.push(sentinelStart, tabContent, sentinelEnd, tabBar);\n } else {\n contents.push(tabBar, sentinelStart, tabContent, sentinelEnd);\n }\n const listeners = {\n ...omit(getListeners(this), ['change']),\n scroll: this.onScroll,\n };\n return <div {...{ on: listeners, class: cls }}>{contents}</div>;\n },\n};\n","// based on rc-tabs 9.7.0\nimport ref from 'vue-ref';\nimport Vue from 'vue';\nimport Tabs from './Tabs';\nimport TabPane from './TabPane';\nimport TabContent from './TabContent';\n\nVue.use(ref, { name: 'ant-ref' });\n\nexport default Tabs;\nexport { TabPane, TabContent };\n","export function toArray(children) {\n const c = [];\n children.forEach(child => {\n if (child.data) {\n c.push(child);\n }\n });\n return c;\n}\n\nexport function getActiveIndex(children, activeKey) {\n const c = toArray(children);\n for (let i = 0; i < c.length; i++) {\n if (c[i].key === activeKey) {\n return i;\n }\n }\n return -1;\n}\n\nexport function getActiveKey(children, index) {\n const c = toArray(children);\n return c[index].key;\n}\n\nexport function setTransform(style, v) {\n style.transform = v;\n style.webkitTransform = v;\n style.mozTransform = v;\n}\n\nexport function isTransform3dSupported(style) {\n return (\n ('transform' in style || 'webkitTransform' in style || 'MozTransform' in style) && window.atob\n );\n}\n\nexport function setTransition(style, v) {\n style.transition = v;\n style.webkitTransition = v;\n style.MozTransition = v;\n}\nexport function getTransformPropValue(v) {\n return {\n transform: v,\n WebkitTransform: v,\n MozTransform: v,\n };\n}\n\nexport function isVertical(tabBarPosition) {\n return tabBarPosition === 'left' || tabBarPosition === 'right';\n}\n\nexport function getTransformByIndex(index, tabBarPosition, direction = 'ltr') {\n const translate = isVertical(tabBarPosition) ? 'translateY' : 'translateX';\n if (!isVertical(tabBarPosition) && direction === 'rtl') {\n return `${translate}(${index * 100}%) translateZ(0)`;\n }\n return `${translate}(${-index * 100}%) translateZ(0)`;\n}\n\nexport function getMarginStyle(index, tabBarPosition) {\n const marginDirection = isVertical(tabBarPosition) ? 'marginTop' : 'marginLeft';\n return {\n [marginDirection]: `${-index * 100}%`,\n };\n}\n\nexport function getStyle(el, property) {\n return +window\n .getComputedStyle(el)\n .getPropertyValue(property)\n .replace('px', '');\n}\n\nexport function setPxStyle(el, value, vertical) {\n value = vertical ? `0px, ${value}px, 0px` : `${value}px, 0px, 0px`;\n setTransform(el.style, `translate3d(${value})`);\n}\n\nexport function getDataAttr(props) {\n return Object.keys(props).reduce((prev, key) => {\n if (key.substr(0, 5) === 'aria-' || key.substr(0, 5) === 'data-' || key === 'role') {\n prev[key] = props[key];\n }\n return prev;\n }, {});\n}\n\nfunction toNum(style, property) {\n return +style.getPropertyValue(property).replace('px', '');\n}\n\nfunction getTypeValue(start, current, end, tabNode, wrapperNode) {\n let total = getStyle(wrapperNode, `padding-${start}`);\n if (!tabNode || !tabNode.parentNode) {\n return total;\n }\n\n const { childNodes } = tabNode.parentNode;\n Array.prototype.some.call(childNodes, node => {\n const style = window.getComputedStyle(node);\n if (node !== tabNode) {\n total += toNum(style, `margin-${start}`);\n total += node[current];\n total += toNum(style, `margin-${end}`);\n\n if (style.boxSizing === 'content-box') {\n total += toNum(style, `border-${start}-width`) + toNum(style, `border-${end}-width`);\n }\n return false;\n }\n\n // We need count current node margin\n // ref: https://github.com/react-component/tabs/pull/139#issuecomment-431005262\n total += toNum(style, `margin-${start}`);\n\n return true;\n });\n\n return total;\n}\n\nexport function getLeft(tabNode, wrapperNode) {\n return getTypeValue('left', 'offsetWidth', 'right', tabNode, wrapperNode);\n}\n\nexport function getTop(tabNode, wrapperNode) {\n return getTypeValue('top', 'offsetHeight', 'bottom', tabNode, wrapperNode);\n}\n","import PropTypes from '../../_util/vue-types';\nimport { cloneElement } from '../../_util/vnode';\nimport {\n getTransformByIndex,\n getActiveIndex,\n getTransformPropValue,\n getMarginStyle,\n} from './utils';\nexport default {\n name: 'TabContent',\n props: {\n animated: { type: Boolean, default: true },\n animatedWithMargin: { type: Boolean, default: true },\n prefixCls: {\n default: 'ant-tabs',\n type: String,\n },\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n tabBarPosition: String,\n direction: PropTypes.string,\n destroyInactiveTabPane: PropTypes.bool,\n },\n computed: {\n classes() {\n const { animated, prefixCls } = this;\n return {\n [`${prefixCls}-content`]: true,\n [animated ? `${prefixCls}-content-animated` : `${prefixCls}-content-no-animated`]: true,\n };\n },\n },\n methods: {\n getTabPanes() {\n const props = this.$props;\n const activeKey = props.activeKey;\n const children = this.$slots.default || [];\n const newChildren = [];\n\n children.forEach(child => {\n if (!child) {\n return;\n }\n const key = child.key;\n const active = activeKey === key;\n newChildren.push(\n cloneElement(child, {\n props: {\n active,\n destroyInactiveTabPane: props.destroyInactiveTabPane,\n rootPrefixCls: props.prefixCls,\n },\n }),\n );\n });\n\n return newChildren;\n },\n },\n render() {\n const { activeKey, tabBarPosition, animated, animatedWithMargin, direction, classes } = this;\n let style = {};\n if (animated && this.$slots.default) {\n const activeIndex = getActiveIndex(this.$slots.default, activeKey);\n if (activeIndex !== -1) {\n const animatedStyle = animatedWithMargin\n ? getMarginStyle(activeIndex, tabBarPosition)\n : getTransformPropValue(getTransformByIndex(activeIndex, tabBarPosition, direction));\n style = animatedStyle;\n } else {\n style = {\n display: 'none',\n };\n }\n }\n return (\n <div class={classes} style={style}>\n {this.getTabPanes()}\n </div>\n );\n },\n};\n","const isStyleSupport = styleName => {\n if (typeof window !== 'undefined' && window.document && window.document.documentElement) {\n const styleNameList = Array.isArray(styleName) ? styleName : [styleName];\n const { documentElement } = window.document;\n\n return styleNameList.some(name => name in documentElement.style);\n }\n return false;\n};\n\nexport const isFlexSupported = isStyleSupport(['flex', 'webkitFlex', 'Flex', 'msFlex']);\n\nexport default isStyleSupport;\n","import PropTypes from '../../_util/vue-types';\nimport {\n setTransform,\n isTransform3dSupported,\n getLeft,\n getStyle,\n getTop,\n getActiveIndex,\n} from './utils';\nimport BaseMixin from '../../_util/BaseMixin';\n\nfunction componentDidUpdate(component, init) {\n const { styles = {}, panels, activeKey, direction } = component.$props;\n const rootNode = component.getRef('root');\n const wrapNode = component.getRef('nav') || rootNode;\n const inkBarNode = component.getRef('inkBar');\n const activeTab = component.getRef('activeTab');\n const inkBarNodeStyle = inkBarNode.style;\n const tabBarPosition = component.$props.tabBarPosition;\n const activeIndex = getActiveIndex(panels, activeKey);\n if (init) {\n // prevent mount animation\n inkBarNodeStyle.display = 'none';\n }\n if (activeTab) {\n const tabNode = activeTab;\n const transformSupported = isTransform3dSupported(inkBarNodeStyle);\n\n // Reset current style\n setTransform(inkBarNodeStyle, '');\n inkBarNodeStyle.width = '';\n inkBarNodeStyle.height = '';\n inkBarNodeStyle.left = '';\n inkBarNodeStyle.top = '';\n inkBarNodeStyle.bottom = '';\n inkBarNodeStyle.right = '';\n\n if (tabBarPosition === 'top' || tabBarPosition === 'bottom') {\n let left = getLeft(tabNode, wrapNode);\n let width = tabNode.offsetWidth;\n // If tabNode'width width equal to wrapNode'width when tabBarPosition is top or bottom\n // It means no css working, then ink bar should not have width until css is loaded\n // Fix https://github.com/ant-design/ant-design/issues/7564\n if (width === rootNode.offsetWidth) {\n width = 0;\n } else if (styles.inkBar && styles.inkBar.width !== undefined) {\n width = parseFloat(styles.inkBar.width, 10);\n if (width) {\n left += (tabNode.offsetWidth - width) / 2;\n }\n }\n if (direction === 'rtl') {\n left = getStyle(tabNode, 'margin-left') - left;\n }\n // use 3d gpu to optimize render\n if (transformSupported) {\n setTransform(inkBarNodeStyle, `translate3d(${left}px,0,0)`);\n } else {\n inkBarNodeStyle.left = `${left}px`;\n }\n inkBarNodeStyle.width = `${width}px`;\n } else {\n let top = getTop(tabNode, wrapNode, true);\n let height = tabNode.offsetHeight;\n if (styles.inkBar && styles.inkBar.height !== undefined) {\n height = parseFloat(styles.inkBar.height, 10);\n if (height) {\n top += (tabNode.offsetHeight - height) / 2;\n }\n }\n if (transformSupported) {\n setTransform(inkBarNodeStyle, `translate3d(0,${top}px,0)`);\n inkBarNodeStyle.top = '0';\n } else {\n inkBarNodeStyle.top = `${top}px`;\n }\n inkBarNodeStyle.height = `${height}px`;\n }\n }\n inkBarNodeStyle.display = activeIndex !== -1 ? 'block' : 'none';\n}\n\nexport default {\n name: 'InkTabBarNode',\n mixins: [BaseMixin],\n props: {\n inkBarAnimated: {\n type: Boolean,\n default: true,\n },\n direction: PropTypes.string,\n prefixCls: String,\n styles: Object,\n tabBarPosition: String,\n saveRef: PropTypes.func.def(() => {}),\n getRef: PropTypes.func.def(() => {}),\n panels: PropTypes.array,\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n },\n updated() {\n this.$nextTick(function() {\n componentDidUpdate(this);\n });\n },\n\n mounted() {\n this.$nextTick(function() {\n componentDidUpdate(this, true);\n });\n },\n render() {\n const { prefixCls, styles = {}, inkBarAnimated } = this;\n const className = `${prefixCls}-ink-bar`;\n const classes = {\n [className]: true,\n [inkBarAnimated ? `${className}-animated` : `${className}-no-animated`]: true,\n };\n return (\n <div\n style={styles.inkBar}\n class={classes}\n key=\"inkBar\"\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveRef('inkBar'),\n },\n ],\n }}\n />\n );\n },\n};\n","import warning from 'warning';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOptionProps, getComponentFromProp } from '../../_util/props-util';\nimport { isVertical } from './utils';\nfunction noop() {}\nexport default {\n name: 'TabBarTabsNode',\n mixins: [BaseMixin],\n props: {\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n panels: PropTypes.any.def([]),\n prefixCls: PropTypes.string.def(''),\n tabBarGutter: PropTypes.any.def(null),\n onTabClick: PropTypes.func,\n saveRef: PropTypes.func.def(noop),\n getRef: PropTypes.func.def(noop),\n renderTabBarNode: PropTypes.func,\n tabBarPosition: PropTypes.string,\n direction: PropTypes.string,\n },\n render() {\n const {\n panels: children,\n activeKey,\n prefixCls,\n tabBarGutter,\n saveRef,\n tabBarPosition,\n direction,\n } = this.$props;\n const rst = [];\n const renderTabBarNode = this.renderTabBarNode || this.$scopedSlots.renderTabBarNode;\n children.forEach((child, index) => {\n if (!child) {\n return;\n }\n const props = getOptionProps(child);\n const key = child.key;\n let cls = activeKey === key ? `${prefixCls}-tab-active` : '';\n cls += ` ${prefixCls}-tab`;\n const events = { on: {} };\n const disabled = props.disabled || props.disabled === '';\n if (disabled) {\n cls += ` ${prefixCls}-tab-disabled`;\n } else {\n events.on.click = () => {\n this.__emit('tabClick', key);\n };\n }\n const directives = [];\n if (activeKey === key) {\n directives.push({\n name: 'ant-ref',\n value: saveRef('activeTab'),\n });\n }\n const tab = getComponentFromProp(child, 'tab');\n let gutter = tabBarGutter && index === children.length - 1 ? 0 : tabBarGutter;\n gutter = typeof gutter === 'number' ? `${gutter}px` : gutter;\n const marginProperty = direction === 'rtl' ? 'marginLeft' : 'marginRight';\n const style = {\n [isVertical(tabBarPosition) ? 'marginBottom' : marginProperty]: gutter,\n };\n warning(tab !== undefined, 'There must be `tab` property or slot on children of Tabs.');\n let node = (\n <div\n role=\"tab\"\n aria-disabled={disabled ? 'true' : 'false'}\n aria-selected={activeKey === key ? 'true' : 'false'}\n {...events}\n class={cls}\n key={key}\n style={style}\n {...{ directives }}\n >\n {tab}\n </div>\n );\n if (renderTabBarNode) {\n node = renderTabBarNode(node);\n }\n\n rst.push(node);\n });\n\n return (\n <div\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveRef('navTabsContainer'),\n },\n ],\n }}\n >\n {rst}\n </div>\n );\n },\n};\n","import { cloneElement } from '../../_util/vnode';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nfunction noop() {}\nexport default {\n name: 'TabBarRootNode',\n mixins: [BaseMixin],\n props: {\n saveRef: PropTypes.func.def(noop),\n getRef: PropTypes.func.def(noop),\n prefixCls: PropTypes.string.def(''),\n tabBarPosition: PropTypes.string.def('top'),\n extraContent: PropTypes.any,\n },\n methods: {\n onKeyDown(e) {\n this.__emit('keydown', e);\n },\n },\n render() {\n const { prefixCls, onKeyDown, tabBarPosition, extraContent } = this;\n const cls = {\n [`${prefixCls}-bar`]: true,\n };\n const topOrBottom = tabBarPosition === 'top' || tabBarPosition === 'bottom';\n const tabBarExtraContentStyle = topOrBottom ? { float: 'right' } : {};\n const children = this.$slots.default;\n let newChildren = children;\n if (extraContent) {\n newChildren = [\n cloneElement(extraContent, {\n key: 'extra',\n style: {\n ...tabBarExtraContentStyle,\n },\n }),\n cloneElement(children, { key: 'content' }),\n ];\n newChildren = topOrBottom ? newChildren : newChildren.reverse();\n }\n\n return (\n <div\n role=\"tablist\"\n class={cls}\n tabIndex=\"0\"\n onKeydown={onKeyDown}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveRef('root'),\n },\n ],\n }}\n >\n {newChildren}\n </div>\n );\n },\n};\n","import debounce from 'lodash/debounce';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getComponentFromProp } from '../../_util/props-util';\nimport { setTransform, isTransform3dSupported } from './utils';\n\nfunction noop() {}\nexport default {\n name: 'ScrollableTabBarNode',\n mixins: [BaseMixin],\n props: {\n activeKey: PropTypes.any,\n getRef: PropTypes.func.def(() => {}),\n saveRef: PropTypes.func.def(() => {}),\n tabBarPosition: PropTypes.oneOf(['left', 'right', 'top', 'bottom']).def('left'),\n prefixCls: PropTypes.string.def(''),\n scrollAnimated: PropTypes.bool.def(true),\n navWrapper: PropTypes.func.def(arg => arg),\n prevIcon: PropTypes.any,\n nextIcon: PropTypes.any,\n direction: PropTypes.string,\n },\n\n data() {\n this.offset = 0;\n this.prevProps = { ...this.$props };\n return {\n next: false,\n prev: false,\n };\n },\n watch: {\n tabBarPosition() {\n this.tabBarPositionChange = true;\n this.$nextTick(() => {\n this.setOffset(0);\n });\n },\n },\n\n mounted() {\n this.$nextTick(() => {\n this.updatedCal();\n this.debouncedResize = debounce(() => {\n this.setNextPrev();\n this.scrollToActiveTab();\n }, 200);\n this.resizeObserver = new ResizeObserver(this.debouncedResize);\n this.resizeObserver.observe(this.$props.getRef('container'));\n });\n },\n\n updated() {\n this.$nextTick(() => {\n this.updatedCal(this.prevProps);\n this.prevProps = { ...this.$props };\n });\n },\n\n beforeDestroy() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n if (this.debouncedResize && this.debouncedResize.cancel) {\n this.debouncedResize.cancel();\n }\n },\n methods: {\n updatedCal(prevProps) {\n const props = this.$props;\n if (prevProps && prevProps.tabBarPosition !== props.tabBarPosition) {\n this.setOffset(0);\n return;\n }\n // wait next, prev show hide\n if (this.isNextPrevShown(this.$data) !== this.isNextPrevShown(this.setNextPrev())) {\n this.$forceUpdate();\n this.$nextTick(() => {\n this.scrollToActiveTab();\n });\n } else if (!prevProps || props.activeKey !== prevProps.activeKey) {\n // can not use props.activeKey\n this.scrollToActiveTab();\n }\n },\n setNextPrev() {\n const navNode = this.$props.getRef('nav');\n const navTabsContainer = this.$props.getRef('navTabsContainer');\n const navNodeWH = this.getScrollWH(navTabsContainer || navNode);\n // Add 1px to fix `offsetWidth` with decimal in Chrome not correct handle\n // https://github.com/ant-design/ant-design/issues/13423\n const containerWH = this.getOffsetWH(this.$props.getRef('container')) + 1;\n const navWrapNodeWH = this.getOffsetWH(this.$props.getRef('navWrap'));\n let { offset } = this;\n const minOffset = containerWH - navNodeWH;\n let { next, prev } = this;\n if (minOffset >= 0) {\n next = false;\n this.setOffset(0, false);\n offset = 0;\n } else if (minOffset < offset) {\n next = true;\n } else {\n next = false;\n // Fix https://github.com/ant-design/ant-design/issues/8861\n // Test with container offset which is stable\n // and set the offset of the nav wrap node\n const realOffset = navWrapNodeWH - navNodeWH;\n this.setOffset(realOffset, false);\n offset = realOffset;\n }\n\n if (offset < 0) {\n prev = true;\n } else {\n prev = false;\n }\n\n this.setNext(next);\n this.setPrev(prev);\n return {\n next,\n prev,\n };\n },\n\n getOffsetWH(node) {\n const tabBarPosition = this.$props.tabBarPosition;\n let prop = 'offsetWidth';\n if (tabBarPosition === 'left' || tabBarPosition === 'right') {\n prop = 'offsetHeight';\n }\n return node[prop];\n },\n\n getScrollWH(node) {\n const tabBarPosition = this.tabBarPosition;\n let prop = 'scrollWidth';\n if (tabBarPosition === 'left' || tabBarPosition === 'right') {\n prop = 'scrollHeight';\n }\n return node[prop];\n },\n\n getOffsetLT(node) {\n const tabBarPosition = this.$props.tabBarPosition;\n let prop = 'left';\n if (tabBarPosition === 'left' || tabBarPosition === 'right') {\n prop = 'top';\n }\n return node.getBoundingClientRect()[prop];\n },\n\n setOffset(offset, checkNextPrev = true) {\n let target = Math.min(0, offset);\n if (this.offset !== target) {\n this.offset = target;\n let navOffset = {};\n const tabBarPosition = this.$props.tabBarPosition;\n const navStyle = this.$props.getRef('nav').style;\n const transformSupported = isTransform3dSupported(navStyle);\n if (tabBarPosition === 'left' || tabBarPosition === 'right') {\n if (transformSupported) {\n navOffset = {\n value: `translate3d(0,${target}px,0)`,\n };\n } else {\n navOffset = {\n name: 'top',\n value: `${target}px`,\n };\n }\n } else if (transformSupported) {\n if (this.$props.direction === 'rtl') {\n target = -target;\n }\n navOffset = {\n value: `translate3d(${target}px,0,0)`,\n };\n } else {\n navOffset = {\n name: 'left',\n value: `${target}px`,\n };\n }\n if (transformSupported) {\n setTransform(navStyle, navOffset.value);\n } else {\n navStyle[navOffset.name] = navOffset.value;\n }\n if (checkNextPrev) {\n this.setNextPrev();\n }\n }\n },\n\n setPrev(v) {\n if (this.prev !== v) {\n this.prev = v;\n }\n },\n\n setNext(v) {\n if (!v) {\n // debugger\n }\n if (this.next !== v) {\n this.next = v;\n }\n },\n\n isNextPrevShown(state) {\n if (state) {\n return state.next || state.prev;\n }\n return this.next || this.prev;\n },\n\n prevTransitionEnd(e) {\n if (e.propertyName !== 'opacity') {\n return;\n }\n const container = this.$props.getRef('container');\n this.scrollToActiveTab({\n target: container,\n currentTarget: container,\n });\n },\n\n scrollToActiveTab(e) {\n const activeTab = this.$props.getRef('activeTab');\n const navWrap = this.$props.getRef('navWrap');\n if ((e && e.target !== e.currentTarget) || !activeTab) {\n return;\n }\n\n // when not scrollable or enter scrollable first time, don't emit scrolling\n const needToSroll = this.isNextPrevShown() && this.lastNextPrevShown;\n this.lastNextPrevShown = this.isNextPrevShown();\n if (!needToSroll) {\n return;\n }\n\n const activeTabWH = this.getScrollWH(activeTab);\n const navWrapNodeWH = this.getOffsetWH(navWrap);\n let { offset } = this;\n const wrapOffset = this.getOffsetLT(navWrap);\n const activeTabOffset = this.getOffsetLT(activeTab);\n if (wrapOffset > activeTabOffset) {\n offset += wrapOffset - activeTabOffset;\n this.setOffset(offset);\n } else if (wrapOffset + navWrapNodeWH < activeTabOffset + activeTabWH) {\n offset -= activeTabOffset + activeTabWH - (wrapOffset + navWrapNodeWH);\n this.setOffset(offset);\n }\n },\n\n prevClick(e) {\n this.__emit('prevClick', e);\n const navWrapNode = this.$props.getRef('navWrap');\n const navWrapNodeWH = this.getOffsetWH(navWrapNode);\n const { offset } = this;\n this.setOffset(offset + navWrapNodeWH);\n },\n\n nextClick(e) {\n this.__emit('nextClick', e);\n const navWrapNode = this.$props.getRef('navWrap');\n const navWrapNodeWH = this.getOffsetWH(navWrapNode);\n const { offset } = this;\n this.setOffset(offset - navWrapNodeWH);\n },\n },\n render() {\n const { next, prev } = this;\n const { prefixCls, scrollAnimated, navWrapper } = this.$props;\n const prevIcon = getComponentFromProp(this, 'prevIcon');\n const nextIcon = getComponentFromProp(this, 'nextIcon');\n const showNextPrev = prev || next;\n\n const prevButton = (\n <span\n onClick={prev ? this.prevClick : noop}\n unselectable=\"unselectable\"\n class={{\n [`${prefixCls}-tab-prev`]: 1,\n [`${prefixCls}-tab-btn-disabled`]: !prev,\n [`${prefixCls}-tab-arrow-show`]: showNextPrev,\n }}\n onTransitionend={this.prevTransitionEnd}\n >\n {prevIcon || <span class={`${prefixCls}-tab-prev-icon`} />}\n </span>\n );\n\n const nextButton = (\n <span\n onClick={next ? this.nextClick : noop}\n unselectable=\"unselectable\"\n class={{\n [`${prefixCls}-tab-next`]: 1,\n [`${prefixCls}-tab-btn-disabled`]: !next,\n [`${prefixCls}-tab-arrow-show`]: showNextPrev,\n }}\n >\n {nextIcon || <span class={`${prefixCls}-tab-next-icon`} />}\n </span>\n );\n\n const navClassName = `${prefixCls}-nav`;\n const navClasses = {\n [navClassName]: true,\n [scrollAnimated ? `${navClassName}-animated` : `${navClassName}-no-animated`]: true,\n };\n\n return (\n <div\n class={{\n [`${prefixCls}-nav-container`]: 1,\n [`${prefixCls}-nav-container-scrolling`]: showNextPrev,\n }}\n key=\"container\"\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveRef('container'),\n },\n ],\n }}\n >\n {prevButton}\n {nextButton}\n <div\n class={`${prefixCls}-nav-wrap`}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveRef('navWrap'),\n },\n ],\n }}\n >\n <div class={`${prefixCls}-nav-scroll`}>\n <div\n class={navClasses}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveRef('nav'),\n },\n ],\n }}\n >\n {navWrapper(this.$slots.default)}\n </div>\n </div>\n </div>\n </div>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\n\nexport default {\n props: {\n children: PropTypes.func.def(() => null),\n },\n methods: {\n getRef(name) {\n return this[name];\n },\n\n saveRef(name) {\n return node => {\n if (node) {\n this[name] = node;\n }\n };\n },\n },\n\n render() {\n // 每次都new一个新的function,避免子节点不能重新渲染\n const saveRef = name => this.saveRef(name);\n const getRef = name => this.getRef(name);\n return this.children(saveRef, getRef);\n },\n};\n","import InkTabBarNode from './InkTabBarNode';\nimport TabBarTabsNode from './TabBarTabsNode';\nimport TabBarRootNode from './TabBarRootNode';\nimport ScrollableTabBarNode from './ScrollableTabBarNode';\nimport SaveRef from './SaveRef';\nimport { getListeners } from '../../_util/props-util';\n\nexport default {\n name: 'ScrollableInkTabBar',\n inheritAttrs: false,\n props: [\n 'extraContent',\n 'inkBarAnimated',\n 'tabBarGutter',\n 'prefixCls',\n 'navWrapper',\n 'tabBarPosition',\n 'panels',\n 'activeKey',\n 'prevIcon',\n 'nextIcon',\n ],\n render() {\n const props = { ...this.$props };\n const listeners = getListeners(this);\n const { default: renderTabBarNode } = this.$scopedSlots;\n return (\n <SaveRef\n children={(saveRef, getRef) => (\n <TabBarRootNode saveRef={saveRef} {...{ props, on: listeners }}>\n <ScrollableTabBarNode saveRef={saveRef} getRef={getRef} {...{ props, on: listeners }}>\n <TabBarTabsNode\n saveRef={saveRef}\n {...{ props: { ...props, renderTabBarNode }, on: listeners }}\n />\n <InkTabBarNode saveRef={saveRef} getRef={getRef} {...{ props, on: listeners }} />\n </ScrollableTabBarNode>\n </TabBarRootNode>\n )}\n />\n );\n },\n};\n","import Icon from '../icon';\nimport ScrollableInkTabBar from '../vc-tabs/src/ScrollableInkTabBar';\nimport { cloneElement } from '../_util/vnode';\nimport PropTypes from '../_util/vue-types';\nimport { getListeners } from '../_util/props-util';\nconst TabBar = {\n name: 'TabBar',\n inheritAttrs: false,\n props: {\n prefixCls: PropTypes.string,\n tabBarStyle: PropTypes.object,\n tabBarExtraContent: PropTypes.any,\n type: PropTypes.oneOf(['line', 'card', 'editable-card']),\n tabPosition: PropTypes.oneOf(['top', 'right', 'bottom', 'left']).def('top'),\n tabBarPosition: PropTypes.oneOf(['top', 'right', 'bottom', 'left']),\n size: PropTypes.oneOf(['default', 'small', 'large']),\n animated: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n renderTabBar: PropTypes.func,\n panels: PropTypes.array.def([]),\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n tabBarGutter: PropTypes.number,\n },\n render() {\n const {\n tabBarStyle,\n animated = true,\n renderTabBar,\n tabBarExtraContent,\n tabPosition,\n prefixCls,\n type = 'line',\n size,\n } = this.$props;\n const inkBarAnimated = typeof animated === 'object' ? animated.inkBar : animated;\n\n const isVertical = tabPosition === 'left' || tabPosition === 'right';\n const prevIconType = isVertical ? 'up' : 'left';\n const nextIconType = isVertical ? 'down' : 'right';\n const prevIcon = (\n <span class={`${prefixCls}-tab-prev-icon`}>\n <Icon type={prevIconType} class={`${prefixCls}-tab-prev-icon-target`} />\n </span>\n );\n const nextIcon = (\n <span class={`${prefixCls}-tab-next-icon`}>\n <Icon type={nextIconType} class={`${prefixCls}-tab-next-icon-target`} />\n </span>\n );\n\n // Additional className for style usage\n const cls = {\n [`${prefixCls}-${tabPosition}-bar`]: true,\n [`${prefixCls}-${size}-bar`]: !!size,\n [`${prefixCls}-card-bar`]: type && type.indexOf('card') >= 0,\n };\n\n const renderProps = {\n props: {\n ...this.$props,\n ...this.$attrs,\n inkBarAnimated,\n extraContent: tabBarExtraContent,\n prevIcon,\n nextIcon,\n },\n style: tabBarStyle,\n on: getListeners(this),\n class: cls,\n };\n\n let RenderTabBar;\n\n if (renderTabBar) {\n RenderTabBar = renderTabBar(renderProps, ScrollableInkTabBar);\n // https://github.com/vueComponent/ant-design-vue/issues/2157\n return cloneElement(RenderTabBar, renderProps);\n } else {\n return <ScrollableInkTabBar {...renderProps} />;\n }\n },\n};\n\nexport default TabBar;\n","import Icon from '../icon';\nimport VcTabs, { TabPane } from '../vc-tabs/src';\nimport TabContent from '../vc-tabs/src/TabContent';\nimport { isFlexSupported } from '../_util/styleChecker';\nimport PropTypes from '../_util/vue-types';\nimport {\n getComponentFromProp,\n getOptionProps,\n filterEmpty,\n getListeners,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport isValid from '../_util/isValid';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport TabBar from './TabBar';\n\nexport default {\n TabPane,\n name: 'ATabs',\n model: {\n prop: 'activeKey',\n event: 'change',\n },\n props: {\n prefixCls: PropTypes.string,\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n defaultActiveKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n hideAdd: PropTypes.bool.def(false),\n tabBarStyle: PropTypes.object,\n tabBarExtraContent: PropTypes.any,\n destroyInactiveTabPane: PropTypes.bool.def(false),\n type: PropTypes.oneOf(['line', 'card', 'editable-card']),\n tabPosition: PropTypes.oneOf(['top', 'right', 'bottom', 'left']).def('top'),\n size: PropTypes.oneOf(['default', 'small', 'large']),\n animated: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n tabBarGutter: PropTypes.number,\n renderTabBar: PropTypes.func,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n mounted() {\n const NO_FLEX = ' no-flex';\n const tabNode = this.$el;\n if (tabNode && !isFlexSupported && tabNode.className.indexOf(NO_FLEX) === -1) {\n tabNode.className += NO_FLEX;\n }\n },\n methods: {\n removeTab(targetKey, e) {\n e.stopPropagation();\n if (isValid(targetKey)) {\n this.$emit('edit', targetKey, 'remove');\n }\n },\n handleChange(activeKey) {\n this.$emit('change', activeKey);\n },\n createNewTab(targetKey) {\n this.$emit('edit', targetKey, 'add');\n },\n onTabClick(val) {\n this.$emit('tabClick', val);\n },\n onPrevClick(val) {\n this.$emit('prevClick', val);\n },\n onNextClick(val) {\n this.$emit('nextClick', val);\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const {\n prefixCls: customizePrefixCls,\n size,\n type = 'line',\n tabPosition,\n animated = true,\n hideAdd,\n renderTabBar,\n } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('tabs', customizePrefixCls);\n const children = filterEmpty(this.$slots.default);\n\n let tabBarExtraContent = getComponentFromProp(this, 'tabBarExtraContent');\n let tabPaneAnimated = typeof animated === 'object' ? animated.tabPane : animated;\n\n // card tabs should not have animation\n if (type !== 'line') {\n tabPaneAnimated = 'animated' in props ? tabPaneAnimated : false;\n }\n const cls = {\n [`${prefixCls}-vertical`]: tabPosition === 'left' || tabPosition === 'right',\n [`${prefixCls}-${size}`]: !!size,\n [`${prefixCls}-card`]: type.indexOf('card') >= 0,\n [`${prefixCls}-${type}`]: true,\n [`${prefixCls}-no-animation`]: !tabPaneAnimated,\n };\n // only card type tabs can be added and closed\n let childrenWithClose = [];\n if (type === 'editable-card') {\n childrenWithClose = [];\n children.forEach((child, index) => {\n const props = getOptionProps(child);\n let closable = props.closable;\n closable = typeof closable === 'undefined' ? true : closable;\n const closeIcon = closable ? (\n <Icon\n type=\"close\"\n class={`${prefixCls}-close-x`}\n onClick={e => this.removeTab(child.key, e)}\n />\n ) : null;\n childrenWithClose.push(\n cloneElement(child, {\n props: {\n tab: (\n <div class={closable ? undefined : `${prefixCls}-tab-unclosable`}>\n {getComponentFromProp(child, 'tab')}\n {closeIcon}\n </div>\n ),\n },\n key: child.key || index,\n }),\n );\n });\n // Add new tab handler\n if (!hideAdd) {\n tabBarExtraContent = (\n <span>\n <Icon type=\"plus\" class={`${prefixCls}-new-tab`} onClick={this.createNewTab} />\n {tabBarExtraContent}\n </span>\n );\n }\n }\n\n tabBarExtraContent = tabBarExtraContent ? (\n <div class={`${prefixCls}-extra-content`}>{tabBarExtraContent}</div>\n ) : null;\n\n const renderTabBarSlot = renderTabBar || this.$scopedSlots.renderTabBar;\n const listeners = getListeners(this);\n const tabBarProps = {\n props: {\n ...this.$props,\n prefixCls,\n tabBarExtraContent,\n renderTabBar: renderTabBarSlot,\n },\n on: listeners,\n };\n const contentCls = {\n [`${prefixCls}-${tabPosition}-content`]: true,\n [`${prefixCls}-card-content`]: type.indexOf('card') >= 0,\n };\n const tabsProps = {\n props: {\n ...getOptionProps(this),\n prefixCls,\n tabBarPosition: tabPosition,\n // https://github.com/vueComponent/ant-design-vue/issues/2030\n // 如仅传递 tabBarProps 会导致,第二次执行 renderTabBar 时,丢失 on 属性,\n // 添加key之后,会在babel jsx 插件中做一次merge,最终TabBar接收的是一个新的对象,而不是 tabBarProps\n renderTabBar: () => <TabBar key=\"tabBar\" {...tabBarProps} />,\n renderTabContent: () => (\n <TabContent class={contentCls} animated={tabPaneAnimated} animatedWithMargin />\n ),\n children: childrenWithClose.length > 0 ? childrenWithClose : children,\n __propsSymbol__: Symbol(),\n },\n on: {\n ...listeners,\n change: this.handleChange,\n },\n class: cls,\n };\n return <VcTabs {...tabsProps} />;\n },\n};\n","import ref from 'vue-ref';\nimport Vue from 'vue';\nimport Tabs from './tabs';\nimport TabPane from '../vc-tabs/src/TabPane';\nimport TabContent from '../vc-tabs/src/TabContent';\nimport Base from '../base';\n\nTabs.TabPane = { ...TabPane, name: 'ATabPane', __ANT_TAB_PANE: true };\nTabs.TabContent = { ...TabContent, name: 'ATabContent' };\nVue.use(ref, { name: 'ant-ref' });\n\n/* istanbul ignore next */\nTabs.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Tabs.name, Tabs);\n Vue.component(Tabs.TabPane.name, Tabs.TabPane);\n Vue.component(Tabs.TabContent.name, Tabs.TabContent);\n};\n\nexport default Tabs;\nexport { TabPane, TabContent };\n","// matchMedia polyfill for\n// https://github.com/WickyNilliams/enquire.js/issues/82\nlet enquire;\n\n// TODO: Will be removed in antd 4.0 because we will no longer support ie9\nif (typeof window !== 'undefined') {\n const matchMediaPolyfill = mediaQuery => {\n return {\n media: mediaQuery,\n matches: false,\n addListener() {},\n removeListener() {},\n };\n };\n // ref: https://github.com/ant-design/ant-design/issues/18774\n if (!window.matchMedia) window.matchMedia = matchMediaPolyfill;\n // eslint-disable-next-line global-require\n enquire = require('enquire.js');\n}\n\nexport const responsiveArray = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\n\nexport const responsiveMap = {\n xs: '(max-width: 575px)',\n sm: '(min-width: 576px)',\n md: '(min-width: 768px)',\n lg: '(min-width: 992px)',\n xl: '(min-width: 1200px)',\n xxl: '(min-width: 1600px)',\n};\n\nlet subscribers = [];\nlet subUid = -1;\nlet screens = {};\n\nconst responsiveObserve = {\n dispatch(pointMap) {\n screens = pointMap;\n if (subscribers.length < 1) {\n return false;\n }\n\n subscribers.forEach(item => {\n item.func(screens);\n });\n\n return true;\n },\n subscribe(func) {\n if (subscribers.length === 0) {\n this.register();\n }\n const token = (++subUid).toString();\n subscribers.push({\n token,\n func,\n });\n func(screens);\n return token;\n },\n unsubscribe(token) {\n subscribers = subscribers.filter(item => item.token !== token);\n if (subscribers.length === 0) {\n this.unregister();\n }\n },\n unregister() {\n Object.keys(responsiveMap).map(screen => enquire.unregister(responsiveMap[screen]));\n },\n register() {\n Object.keys(responsiveMap).map(screen =>\n enquire.register(responsiveMap[screen], {\n match: () => {\n const pointMap = {\n ...screens,\n [screen]: true,\n };\n this.dispatch(pointMap);\n },\n unmatch: () => {\n const pointMap = {\n ...screens,\n [screen]: false,\n };\n this.dispatch(pointMap);\n },\n // Keep a empty destroy to avoid triggering unmatch when unregister\n destroy() {},\n }),\n );\n },\n};\n\nexport default responsiveObserve;\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport ResponsiveObserve from '../_util/responsiveObserve';\n\nconst RowProps = {\n gutter: PropTypes.oneOfType([PropTypes.object, PropTypes.number, PropTypes.array]),\n type: PropTypes.oneOf(['flex']),\n align: PropTypes.oneOf(['top', 'middle', 'bottom', 'stretch']),\n justify: PropTypes.oneOf(['start', 'end', 'center', 'space-around', 'space-between']),\n prefixCls: PropTypes.string,\n};\n\nconst responsiveArray = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\n\nexport default {\n name: 'ARow',\n mixins: [BaseMixin],\n props: {\n ...RowProps,\n gutter: PropTypes.oneOfType([PropTypes.object, PropTypes.number, PropTypes.array]).def(0),\n },\n provide() {\n return {\n rowContext: this,\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n screens: {},\n };\n },\n\n mounted() {\n this.$nextTick(() => {\n this.token = ResponsiveObserve.subscribe(screens => {\n const { gutter } = this;\n if (\n typeof gutter === 'object' ||\n (Array.isArray(gutter) &&\n (typeof gutter[0] === 'object' || typeof gutter[1] === 'object'))\n ) {\n this.screens = screens;\n }\n });\n });\n },\n beforeDestroy() {\n ResponsiveObserve.unsubscribe(this.token);\n },\n methods: {\n getGutter() {\n const results = [0, 0];\n const { gutter, screens } = this;\n const normalizedGutter = Array.isArray(gutter) ? gutter : [gutter, 0];\n normalizedGutter.forEach((g, index) => {\n if (typeof g === 'object') {\n for (let i = 0; i < responsiveArray.length; i++) {\n const breakpoint = responsiveArray[i];\n if (screens[breakpoint] && g[breakpoint] !== undefined) {\n results[index] = g[breakpoint];\n break;\n }\n }\n } else {\n results[index] = g || 0;\n }\n });\n return results;\n },\n },\n\n render() {\n const { type, justify, align, prefixCls: customizePrefixCls, $slots } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('row', customizePrefixCls);\n\n const gutter = this.getGutter();\n const classes = {\n [prefixCls]: !type,\n [`${prefixCls}-${type}`]: type,\n [`${prefixCls}-${type}-${justify}`]: type && justify,\n [`${prefixCls}-${type}-${align}`]: type && align,\n };\n const rowStyle = {\n ...(gutter[0] > 0\n ? {\n marginLeft: `${gutter[0] / -2}px`,\n marginRight: `${gutter[0] / -2}px`,\n }\n : {}),\n ...(gutter[1] > 0\n ? {\n marginTop: `${gutter[1] / -2}px`,\n marginBottom: `${gutter[1] / -2}px`,\n }\n : {}),\n };\n return (\n <div class={classes} style={rowStyle}>\n {$slots.default}\n </div>\n );\n },\n};\n","import { Row } from '../grid';\nimport Base from '../base';\n\n/* istanbul ignore next */\nRow.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Row.name, Row);\n};\n\nexport default Row;\n","import PropTypes from '../_util/vue-types';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport { getListeners } from '../_util/props-util';\n\nconst stringOrNumber = PropTypes.oneOfType([PropTypes.string, PropTypes.number]);\n\nexport const ColSize = PropTypes.shape({\n span: stringOrNumber,\n order: stringOrNumber,\n offset: stringOrNumber,\n push: stringOrNumber,\n pull: stringOrNumber,\n}).loose;\n\nconst objectOrNumber = PropTypes.oneOfType([PropTypes.string, PropTypes.number, ColSize]);\n\nexport const ColProps = {\n span: stringOrNumber,\n order: stringOrNumber,\n offset: stringOrNumber,\n push: stringOrNumber,\n pull: stringOrNumber,\n xs: objectOrNumber,\n sm: objectOrNumber,\n md: objectOrNumber,\n lg: objectOrNumber,\n xl: objectOrNumber,\n xxl: objectOrNumber,\n prefixCls: PropTypes.string,\n flex: stringOrNumber,\n};\n\nexport default {\n name: 'ACol',\n props: ColProps,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n rowContext: {\n default: () => null,\n },\n },\n methods: {\n parseFlex(flex) {\n if (typeof flex === 'number') {\n return `${flex} ${flex} auto`;\n }\n if (/^\\d+(\\.\\d+)?(px|em|rem|%)$/.test(flex)) {\n return `0 0 ${flex}`;\n }\n return flex;\n },\n },\n render() {\n const {\n span,\n order,\n offset,\n push,\n pull,\n flex,\n prefixCls: customizePrefixCls,\n $slots,\n rowContext,\n } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('col', customizePrefixCls);\n\n let sizeClassObj = {};\n ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'].forEach(size => {\n let sizeProps = {};\n const propSize = this[size];\n if (typeof propSize === 'number') {\n sizeProps.span = propSize;\n } else if (typeof propSize === 'object') {\n sizeProps = propSize || {};\n }\n\n sizeClassObj = {\n ...sizeClassObj,\n [`${prefixCls}-${size}-${sizeProps.span}`]: sizeProps.span !== undefined,\n [`${prefixCls}-${size}-order-${sizeProps.order}`]: sizeProps.order || sizeProps.order === 0,\n [`${prefixCls}-${size}-offset-${sizeProps.offset}`]:\n sizeProps.offset || sizeProps.offset === 0,\n [`${prefixCls}-${size}-push-${sizeProps.push}`]: sizeProps.push || sizeProps.push === 0,\n [`${prefixCls}-${size}-pull-${sizeProps.pull}`]: sizeProps.pull || sizeProps.pull === 0,\n };\n });\n const classes = {\n [`${prefixCls}`]: true,\n [`${prefixCls}-${span}`]: span !== undefined,\n [`${prefixCls}-order-${order}`]: order,\n [`${prefixCls}-offset-${offset}`]: offset,\n [`${prefixCls}-push-${push}`]: push,\n [`${prefixCls}-pull-${pull}`]: pull,\n ...sizeClassObj,\n };\n const divProps = {\n on: getListeners(this),\n class: classes,\n style: {},\n };\n if (rowContext) {\n const gutter = rowContext.getGutter();\n if (gutter) {\n divProps.style = {\n ...(gutter[0] > 0\n ? {\n paddingLeft: `${gutter[0] / 2}px`,\n paddingRight: `${gutter[0] / 2}px`,\n }\n : {}),\n ...(gutter[1] > 0\n ? {\n paddingTop: `${gutter[1] / 2}px`,\n paddingBottom: `${gutter[1] / 2}px`,\n }\n : {}),\n };\n }\n }\n\n if (flex) {\n divProps.style.flex = this.parseFlex(flex);\n }\n\n return <div {...divProps}>{$slots.default}</div>;\n },\n};\n","import { Col } from '../grid';\nimport Base from '../base';\n/* istanbul ignore next */\nCol.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Col.name, Col);\n};\n\nexport default Col;\n","import omit from 'omit.js';\nimport Tabs from '../tabs';\nimport Row from '../row';\nimport Col from '../col';\nimport PropTypes from '../_util/vue-types';\nimport {\n getComponentFromProp,\n getSlotOptions,\n filterEmpty,\n getListeners,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nconst { TabPane } = Tabs;\nexport default {\n name: 'ACard',\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n title: PropTypes.any,\n extra: PropTypes.any,\n bordered: PropTypes.bool.def(true),\n bodyStyle: PropTypes.object,\n headStyle: PropTypes.object,\n loading: PropTypes.bool.def(false),\n hoverable: PropTypes.bool.def(false),\n type: PropTypes.string,\n size: PropTypes.oneOf(['default', 'small']),\n actions: PropTypes.any,\n tabList: PropTypes.array,\n tabProps: PropTypes.object,\n tabBarExtraContent: PropTypes.any,\n activeTabKey: PropTypes.string,\n defaultActiveTabKey: PropTypes.string,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n widerPadding: false,\n };\n },\n methods: {\n getAction(actions) {\n const actionList = actions.map((action, index) => (\n <li style={{ width: `${100 / actions.length}%` }} key={`action-${index}`}>\n <span>{action}</span>\n </li>\n ));\n return actionList;\n },\n onTabChange(key) {\n this.$emit('tabChange', key);\n },\n isContainGrid(obj = []) {\n let containGrid;\n obj.forEach(element => {\n if (element && getSlotOptions(element).__ANT_CARD_GRID) {\n containGrid = true;\n }\n });\n return containGrid;\n },\n },\n render() {\n const {\n prefixCls: customizePrefixCls,\n headStyle = {},\n bodyStyle = {},\n loading,\n bordered = true,\n size = 'default',\n type,\n tabList,\n tabProps = {},\n hoverable,\n activeTabKey,\n defaultActiveTabKey,\n } = this.$props;\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('card', customizePrefixCls);\n\n const { $slots, $scopedSlots } = this;\n const tabBarExtraContent = getComponentFromProp(this, 'tabBarExtraContent');\n const classString = {\n [`${prefixCls}`]: true,\n [`${prefixCls}-loading`]: loading,\n [`${prefixCls}-bordered`]: bordered,\n [`${prefixCls}-hoverable`]: !!hoverable,\n [`${prefixCls}-contain-grid`]: this.isContainGrid($slots.default),\n [`${prefixCls}-contain-tabs`]: tabList && tabList.length,\n [`${prefixCls}-${size}`]: size !== 'default',\n [`${prefixCls}-type-${type}`]: !!type,\n };\n\n const loadingBlockStyle =\n bodyStyle.padding === 0 || bodyStyle.padding === '0px' ? { padding: 24 } : undefined;\n\n const loadingBlock = (\n <div class={`${prefixCls}-loading-content`} style={loadingBlockStyle}>\n <Row gutter={8}>\n <Col span={22}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n </Row>\n <Row gutter={8}>\n <Col span={8}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n <Col span={15}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n </Row>\n <Row gutter={8}>\n <Col span={6}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n <Col span={18}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n </Row>\n <Row gutter={8}>\n <Col span={13}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n <Col span={9}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n </Row>\n <Row gutter={8}>\n <Col span={4}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n <Col span={3}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n <Col span={16}>\n <div class={`${prefixCls}-loading-block`} />\n </Col>\n </Row>\n </div>\n );\n\n const hasActiveTabKey = activeTabKey !== undefined;\n const tabsProps = {\n props: {\n size: 'large',\n ...tabProps,\n [hasActiveTabKey ? 'activeKey' : 'defaultActiveKey']: hasActiveTabKey\n ? activeTabKey\n : defaultActiveTabKey,\n tabBarExtraContent,\n },\n on: {\n change: this.onTabChange,\n },\n class: `${prefixCls}-head-tabs`,\n };\n\n let head;\n const tabs =\n tabList && tabList.length ? (\n <Tabs {...tabsProps}>\n {tabList.map(item => {\n const { tab: temp, scopedSlots = {} } = item;\n const name = scopedSlots.tab;\n const tab =\n temp !== undefined ? temp : $scopedSlots[name] ? $scopedSlots[name](item) : null;\n return <TabPane tab={tab} key={item.key} disabled={item.disabled} />;\n })}\n </Tabs>\n ) : null;\n const titleDom = getComponentFromProp(this, 'title');\n const extraDom = getComponentFromProp(this, 'extra');\n if (titleDom || extraDom || tabs) {\n head = (\n <div class={`${prefixCls}-head`} style={headStyle}>\n <div class={`${prefixCls}-head-wrapper`}>\n {titleDom && <div class={`${prefixCls}-head-title`}>{titleDom}</div>}\n {extraDom && <div class={`${prefixCls}-extra`}>{extraDom}</div>}\n </div>\n {tabs}\n </div>\n );\n }\n\n const children = $slots.default;\n const cover = getComponentFromProp(this, 'cover');\n const coverDom = cover ? <div class={`${prefixCls}-cover`}>{cover}</div> : null;\n const body = (\n <div class={`${prefixCls}-body`} style={bodyStyle}>\n {loading ? loadingBlock : children}\n </div>\n );\n const actions = filterEmpty(this.$slots.actions);\n const actionDom =\n actions && actions.length ? (\n <ul class={`${prefixCls}-actions`}>{this.getAction(actions)}</ul>\n ) : null;\n\n return (\n <div\n class={classString}\n ref=\"cardContainerRef\"\n {...{ on: omit(getListeners(this), ['tabChange', 'tab-change']) }}\n >\n {head}\n {coverDom}\n {children ? body : null}\n {actionDom}\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { getComponentFromProp, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport default {\n name: 'ACardMeta',\n props: {\n prefixCls: PropTypes.string,\n title: PropTypes.any,\n description: PropTypes.any,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render() {\n const { prefixCls: customizePrefixCls } = this.$props;\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('card', customizePrefixCls);\n\n const classString = {\n [`${prefixCls}-meta`]: true,\n };\n\n const avatar = getComponentFromProp(this, 'avatar');\n const title = getComponentFromProp(this, 'title');\n const description = getComponentFromProp(this, 'description');\n\n const avatarDom = avatar ? <div class={`${prefixCls}-meta-avatar`}>{avatar}</div> : null;\n const titleDom = title ? <div class={`${prefixCls}-meta-title`}>{title}</div> : null;\n const descriptionDom = description ? (\n <div class={`${prefixCls}-meta-description`}>{description}</div>\n ) : null;\n const MetaDetail =\n titleDom || descriptionDom ? (\n <div class={`${prefixCls}-meta-detail`}>\n {titleDom}\n {descriptionDom}\n </div>\n ) : null;\n return (\n <div {...{ on: getListeners(this) }} class={classString}>\n {avatarDom}\n {MetaDetail}\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport { getListeners } from '../_util/props-util';\n\nexport default {\n name: 'ACardGrid',\n __ANT_CARD_GRID: true,\n props: {\n prefixCls: PropTypes.string,\n hoverable: PropTypes.bool,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render() {\n const { prefixCls: customizePrefixCls, hoverable = true } = this.$props;\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('card', customizePrefixCls);\n\n const classString = {\n [`${prefixCls}-grid`]: true,\n [`${prefixCls}-grid-hoverable`]: hoverable,\n };\n return (\n <div {...{ on: getListeners(this) }} class={classString}>\n {this.$slots.default}\n </div>\n );\n },\n};\n","import Card from './Card';\nimport Meta from './Meta';\nimport Grid from './Grid';\nimport Base from '../base';\nCard.Meta = Meta;\nCard.Grid = Grid;\n\n/* istanbul ignore next */\nCard.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Card.name, Card);\n Vue.component(Meta.name, Meta);\n Vue.component(Grid.name, Grid);\n};\n\nexport default Card;\n","import PropTypes from '../../_util/vue-types';\n\nconst collapseProps = () => ({\n prefixCls: PropTypes.string,\n activeKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n ]),\n defaultActiveKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n ]),\n accordion: PropTypes.bool,\n destroyInactivePanel: PropTypes.bool,\n bordered: PropTypes.bool,\n expandIcon: PropTypes.func,\n openAnimation: PropTypes.object,\n expandIconPosition: PropTypes.oneOf(['left', 'right']),\n});\n\nconst panelProps = () => ({\n openAnimation: PropTypes.object,\n prefixCls: PropTypes.string,\n header: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.node]),\n headerClass: PropTypes.string,\n showArrow: PropTypes.bool,\n isActive: PropTypes.bool,\n destroyInactivePanel: PropTypes.bool,\n disabled: PropTypes.bool,\n accordion: PropTypes.bool,\n forceRender: PropTypes.bool,\n expandIcon: PropTypes.func,\n extra: PropTypes.any,\n panelKey: PropTypes.any,\n});\n\nexport { collapseProps, panelProps };\n","import PropTypes from '../../_util/vue-types';\n\nexport default {\n name: 'PanelContent',\n props: {\n prefixCls: PropTypes.string,\n isActive: PropTypes.bool,\n destroyInactivePanel: PropTypes.bool,\n forceRender: PropTypes.bool,\n role: PropTypes.any,\n },\n data() {\n return {\n _isActive: undefined,\n };\n },\n render() {\n this._isActive = this.forceRender || this._isActive || this.isActive;\n if (!this._isActive) {\n return null;\n }\n const { prefixCls, isActive, destroyInactivePanel, forceRender, role } = this.$props;\n const { $slots } = this;\n const contentCls = {\n [`${prefixCls}-content`]: true,\n [`${prefixCls}-content-active`]: isActive,\n };\n const child =\n !forceRender && !isActive && destroyInactivePanel ? null : (\n <div class={`${prefixCls}-content-box`}>{$slots.default}</div>\n );\n return (\n <div class={contentCls} role={role}>\n {child}\n </div>\n );\n },\n};\n","import PanelContent from './PanelContent';\nimport { initDefaultProps, getComponentFromProp } from '../../_util/props-util';\nimport { panelProps } from './commonProps';\n\nexport default {\n name: 'Panel',\n props: initDefaultProps(panelProps(), {\n showArrow: true,\n isActive: false,\n destroyInactivePanel: false,\n headerClass: '',\n forceRender: false,\n }),\n methods: {\n handleItemClick() {\n this.$emit('itemClick', this.panelKey);\n },\n handleKeyPress(e) {\n if (e.key === 'Enter' || e.keyCode === 13 || e.which === 13) {\n this.handleItemClick();\n }\n },\n },\n render() {\n const {\n prefixCls,\n headerClass,\n isActive,\n showArrow,\n destroyInactivePanel,\n disabled,\n openAnimation,\n accordion,\n forceRender,\n expandIcon,\n extra,\n } = this.$props;\n const { $slots } = this;\n\n const transitionProps = {\n props: Object.assign({\n appear: true,\n css: false,\n }),\n on: { ...openAnimation },\n };\n const headerCls = {\n [`${prefixCls}-header`]: true,\n [headerClass]: headerClass,\n };\n const header = getComponentFromProp(this, 'header');\n const itemCls = {\n [`${prefixCls}-item`]: true,\n [`${prefixCls}-item-active`]: isActive,\n [`${prefixCls}-item-disabled`]: disabled,\n };\n let icon = <i class=\"arrow\" />;\n if (showArrow && typeof expandIcon === 'function') {\n icon = expandIcon(this.$props);\n }\n return (\n <div class={itemCls} role=\"tablist\">\n <div\n class={headerCls}\n onClick={this.handleItemClick.bind(this)}\n onKeypress={this.handleKeyPress}\n role={accordion ? 'tab' : 'button'}\n tabIndex={disabled ? -1 : 0}\n aria-expanded={isActive}\n >\n {showArrow && icon}\n {header}\n {extra && <div class={`${prefixCls}-extra`}>{extra}</div>}\n </div>\n <transition {...transitionProps}>\n <PanelContent\n v-show={isActive}\n prefixCls={prefixCls}\n isActive={isActive}\n destroyInactivePanel={destroyInactivePanel}\n forceRender={forceRender}\n role={accordion ? 'tabpanel' : null}\n >\n {$slots.default}\n </PanelContent>\n </transition>\n </div>\n );\n },\n};\n","import cssAnimation from '../../_util/css-animation';\n\nfunction animate(node, show, transitionName, done) {\n let height;\n return cssAnimation(node, transitionName, {\n start() {\n if (!show) {\n node.style.height = `${node.offsetHeight}px`;\n } else {\n height = node.offsetHeight;\n node.style.height = 0;\n }\n },\n active() {\n node.style.height = `${show ? height : 0}px`;\n },\n end() {\n node.style.height = '';\n done();\n },\n });\n}\n\nfunction animation(prefixCls) {\n return {\n enter(node, done) {\n return animate(node, true, `${prefixCls}-anim`, done);\n },\n leave(node, done) {\n return animate(node, false, `${prefixCls}-anim`, done);\n },\n };\n}\n\nexport default animation;\n","import BaseMixin from '../../_util/BaseMixin';\nimport { hasProp, getPropsData, isEmptyElement, initDefaultProps } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport openAnimationFactory from './openAnimationFactory';\nimport { collapseProps } from './commonProps';\n\nfunction _toArray(activeKey) {\n let currentActiveKey = activeKey;\n if (!Array.isArray(currentActiveKey)) {\n currentActiveKey = currentActiveKey ? [currentActiveKey] : [];\n }\n return currentActiveKey.map(key => String(key));\n}\nexport default {\n name: 'Collapse',\n mixins: [BaseMixin],\n model: {\n prop: 'activeKey',\n event: 'change',\n },\n props: initDefaultProps(collapseProps(), {\n prefixCls: 'rc-collapse',\n accordion: false,\n destroyInactivePanel: false,\n }),\n data() {\n const { activeKey, defaultActiveKey, openAnimation, prefixCls } = this.$props;\n let currentActiveKey = defaultActiveKey;\n if (hasProp(this, 'activeKey')) {\n currentActiveKey = activeKey;\n }\n const currentOpenAnimations = openAnimation || openAnimationFactory(prefixCls);\n return {\n currentOpenAnimations,\n stateActiveKey: _toArray(currentActiveKey),\n };\n },\n watch: {\n activeKey(val) {\n this.setState({\n stateActiveKey: _toArray(val),\n });\n },\n openAnimation(val) {\n this.setState({\n currentOpenAnimations: val,\n });\n },\n },\n methods: {\n onClickItem(key) {\n let activeKey = this.stateActiveKey;\n if (this.accordion) {\n activeKey = activeKey[0] === key ? [] : [key];\n } else {\n activeKey = [...activeKey];\n const index = activeKey.indexOf(key);\n const isActive = index > -1;\n if (isActive) {\n // remove active state\n activeKey.splice(index, 1);\n } else {\n activeKey.push(key);\n }\n }\n this.setActiveKey(activeKey);\n },\n getNewChild(child, index) {\n if (isEmptyElement(child)) return;\n const activeKey = this.stateActiveKey;\n const { prefixCls, accordion, destroyInactivePanel, expandIcon } = this.$props;\n\n // If there is no key provide, use the panel order as default key\n const key = child.key || String(index);\n const { header, headerClass, disabled } = getPropsData(child);\n let isActive = false;\n\n if (accordion) {\n isActive = activeKey[0] === key;\n } else {\n isActive = activeKey.indexOf(key) > -1;\n }\n\n let panelEvents = {};\n if (!disabled && disabled !== '') {\n panelEvents = {\n itemClick: this.onClickItem,\n };\n }\n\n const props = {\n key,\n props: {\n panelKey: key,\n header,\n headerClass,\n isActive,\n prefixCls,\n destroyInactivePanel,\n openAnimation: this.currentOpenAnimations,\n accordion,\n expandIcon,\n },\n on: panelEvents,\n };\n\n return cloneElement(child, props);\n },\n getItems() {\n const newChildren = [];\n this.$slots.default &&\n this.$slots.default.forEach((child, index) => {\n newChildren.push(this.getNewChild(child, index));\n });\n return newChildren;\n },\n setActiveKey(activeKey) {\n this.setState({ stateActiveKey: activeKey });\n this.$emit('change', this.accordion ? activeKey[0] : activeKey);\n },\n },\n render() {\n const { prefixCls, accordion } = this.$props;\n const collapseClassName = {\n [prefixCls]: true,\n };\n return (\n <div class={collapseClassName} role={accordion ? 'tablist' : null}>\n {this.getItems()}\n </div>\n );\n },\n};\n","// based on rc-collapse 1.11.8\nimport CollapsePanel from './src/Panel';\nimport Collapse from './src/Collapse';\nimport { collapseProps, panelProps } from './src/commonProps';\n\nCollapse.Panel = CollapsePanel;\n\nexport { collapseProps, panelProps };\nexport default Collapse;\n","import animation from '../_util/openAnimation';\nimport {\n getOptionProps,\n initDefaultProps,\n getComponentFromProp,\n isValidElement,\n getListeners,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport VcCollapse, { collapseProps } from '../vc-collapse';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport default {\n name: 'ACollapse',\n model: {\n prop: 'activeKey',\n event: 'change',\n },\n props: initDefaultProps(collapseProps(), {\n bordered: true,\n openAnimation: animation,\n expandIconPosition: 'left',\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n renderExpandIcon(panelProps, prefixCls) {\n const expandIcon = getComponentFromProp(this, 'expandIcon', panelProps);\n const icon = expandIcon || (\n <Icon type=\"right\" rotate={panelProps.isActive ? 90 : undefined} />\n );\n return isValidElement(Array.isArray(expandIcon) ? icon[0] : icon)\n ? cloneElement(icon, {\n class: `${prefixCls}-arrow`,\n })\n : icon;\n },\n },\n render() {\n const { prefixCls: customizePrefixCls, bordered, expandIconPosition } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('collapse', customizePrefixCls);\n\n const collapseClassName = {\n [`${prefixCls}-borderless`]: !bordered,\n [`${prefixCls}-icon-position-${expandIconPosition}`]: true,\n };\n const rcCollapeProps = {\n props: {\n ...getOptionProps(this),\n prefixCls,\n expandIcon: panelProps => this.renderExpandIcon(panelProps, prefixCls),\n },\n class: collapseClassName,\n on: getListeners(this),\n };\n return <VcCollapse {...rcCollapeProps}>{this.$slots.default}</VcCollapse>;\n },\n};\n","import { getOptionProps, getComponentFromProp, getListeners } from '../_util/props-util';\nimport VcCollapse, { panelProps } from '../vc-collapse';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport default {\n name: 'ACollapsePanel',\n props: {\n ...panelProps(),\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render() {\n const { prefixCls: customizePrefixCls, showArrow = true } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('collapse', customizePrefixCls);\n\n const collapsePanelClassName = {\n [`${prefixCls}-no-arrow`]: !showArrow,\n };\n const rcCollapePanelProps = {\n props: {\n ...getOptionProps(this),\n prefixCls,\n extra: getComponentFromProp(this, 'extra'),\n },\n class: collapsePanelClassName,\n on: getListeners(this),\n };\n const header = getComponentFromProp(this, 'header');\n return (\n <VcCollapse.Panel {...rcCollapePanelProps}>\n {this.$slots.default}\n {header ? <template slot=\"header\">{header}</template> : null}\n </VcCollapse.Panel>\n );\n },\n};\n","import Collapse from './Collapse';\nimport CollapsePanel from './CollapsePanel';\nimport Base from '../base';\n\nCollapse.Panel = CollapsePanel;\n\n/* istanbul ignore next */\nCollapse.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Collapse.name, Collapse);\n Vue.component(CollapsePanel.name, CollapsePanel);\n};\n\nexport default Collapse;\n","import PropTypes from '../_util/vue-types';\nimport debounce from 'lodash/debounce';\nimport hasProp, {\n initDefaultProps,\n getComponentFromProp,\n filterEmpty,\n getListeners,\n} from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\nimport warning from '../_util/warning';\nimport classNames from 'classnames';\n\n// matchMedia polyfill for\n// https://github.com/WickyNilliams/enquire.js/issues/82\nif (typeof window !== 'undefined') {\n const matchMediaPolyfill = mediaQuery => {\n return {\n media: mediaQuery,\n matches: false,\n addListener() {},\n removeListener() {},\n };\n };\n // ref: https://github.com/ant-design/ant-design/issues/18774\n if (!window.matchMedia) window.matchMedia = matchMediaPolyfill;\n}\n// Use require over import (will be lifted up)\n// make sure matchMedia polyfill run before require('vc-slick')\n// Fix https://github.com/ant-design/ant-design/issues/6560\n// Fix https://github.com/ant-design/ant-design/issues/3308\nconst SlickCarousel = require('../vc-slick/src').default;\n\nexport const CarouselEffect = PropTypes.oneOf(['scrollx', 'fade']);\n// Carousel\nexport const CarouselProps = {\n effect: CarouselEffect,\n dots: PropTypes.bool,\n vertical: PropTypes.bool,\n autoplay: PropTypes.bool,\n easing: PropTypes.string,\n beforeChange: PropTypes.func,\n afterChange: PropTypes.func,\n // style: PropTypes.React.CSSProperties,\n prefixCls: PropTypes.string,\n accessibility: PropTypes.bool,\n nextArrow: PropTypes.any,\n prevArrow: PropTypes.any,\n pauseOnHover: PropTypes.bool,\n // className: PropTypes.string,\n adaptiveHeight: PropTypes.bool,\n arrows: PropTypes.bool,\n autoplaySpeed: PropTypes.number,\n centerMode: PropTypes.bool,\n centerPadding: PropTypes.string,\n cssEase: PropTypes.string,\n dotsClass: PropTypes.string,\n draggable: PropTypes.bool,\n fade: PropTypes.bool,\n focusOnSelect: PropTypes.bool,\n infinite: PropTypes.bool,\n initialSlide: PropTypes.number,\n lazyLoad: PropTypes.bool,\n rtl: PropTypes.bool,\n slide: PropTypes.string,\n slidesToShow: PropTypes.number,\n slidesToScroll: PropTypes.number,\n speed: PropTypes.number,\n swipe: PropTypes.bool,\n swipeToSlide: PropTypes.bool,\n touchMove: PropTypes.bool,\n touchThreshold: PropTypes.number,\n variableWidth: PropTypes.bool,\n useCSS: PropTypes.bool,\n slickGoTo: PropTypes.number,\n responsive: PropTypes.array,\n dotPosition: PropTypes.oneOf(['top', 'bottom', 'left', 'right']),\n};\n\nconst Carousel = {\n name: 'ACarousel',\n props: initDefaultProps(CarouselProps, {\n dots: true,\n arrows: false,\n draggable: false,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n\n beforeMount() {\n this.onWindowResized = debounce(this.onWindowResized, 500, {\n leading: false,\n });\n },\n\n mounted() {\n if (hasProp(this, 'vertical')) {\n warning(\n !this.vertical,\n 'Carousel',\n '`vertical` is deprecated, please use `dotPosition` instead.',\n );\n }\n const { autoplay } = this;\n if (autoplay) {\n window.addEventListener('resize', this.onWindowResized);\n }\n // https://github.com/ant-design/ant-design/issues/7191\n this.innerSlider = this.$refs.slick && this.$refs.slick.innerSlider;\n },\n beforeDestroy() {\n const { autoplay } = this;\n if (autoplay) {\n window.removeEventListener('resize', this.onWindowResized);\n this.onWindowResized.cancel();\n }\n },\n methods: {\n getDotPosition() {\n if (this.dotPosition) {\n return this.dotPosition;\n }\n if (hasProp(this, 'vertical')) {\n return this.vertical ? 'right' : 'bottom';\n }\n return 'bottom';\n },\n onWindowResized() {\n // Fix https://github.com/ant-design/ant-design/issues/2550\n const { autoplay } = this;\n if (\n autoplay &&\n this.$refs.slick &&\n this.$refs.slick.innerSlider &&\n this.$refs.slick.innerSlider.autoPlay\n ) {\n this.$refs.slick.innerSlider.autoPlay();\n }\n },\n\n next() {\n this.$refs.slick.slickNext();\n },\n\n prev() {\n this.$refs.slick.slickPrev();\n },\n\n goTo(slide, dontAnimate = false) {\n this.$refs.slick.slickGoTo(slide, dontAnimate);\n },\n },\n\n render() {\n const props = { ...this.$props };\n const { $slots } = this;\n\n if (props.effect === 'fade') {\n props.fade = true;\n }\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n let className = getPrefixCls('carousel', props.prefixCls);\n const dotsClass = 'slick-dots';\n const dotPosition = this.getDotPosition();\n props.vertical = dotPosition === 'left' || dotPosition === 'right';\n props.dotsClass = classNames(`${dotsClass}`, `${dotsClass}-${dotPosition || 'bottom'}`, {\n [`${props.dotsClass}`]: !!props.dotsClass,\n });\n if (props.vertical) {\n className = `${className} ${className}-vertical`;\n }\n const SlickCarouselProps = {\n props: {\n ...props,\n nextArrow: getComponentFromProp(this, 'nextArrow'),\n prevArrow: getComponentFromProp(this, 'prevArrow'),\n },\n on: getListeners(this),\n scopedSlots: this.$scopedSlots,\n };\n const children = filterEmpty($slots.default);\n return (\n <div class={className}>\n <SlickCarousel ref=\"slick\" {...SlickCarouselProps}>\n {children}\n </SlickCarousel>\n </div>\n );\n },\n};\n\n/* istanbul ignore next */\nCarousel.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Carousel.name, Carousel);\n};\n\nexport default Carousel;\n","import { getComponentFromProp } from '../_util/props-util';\nimport PropTypes from '../_util/vue-types';\nimport arrayTreeFilter from 'array-tree-filter';\nimport BaseMixin from '../_util/BaseMixin';\n\nexport default {\n name: 'CascaderMenus',\n mixins: [BaseMixin],\n props: {\n value: PropTypes.array.def([]),\n activeValue: PropTypes.array.def([]),\n options: PropTypes.array,\n prefixCls: PropTypes.string.def('rc-cascader-menus'),\n expandTrigger: PropTypes.string.def('click'),\n // onSelect: PropTypes.func,\n visible: PropTypes.bool.def(false),\n dropdownMenuColumnStyle: PropTypes.object,\n defaultFieldNames: PropTypes.object,\n fieldNames: PropTypes.object,\n expandIcon: PropTypes.any,\n loadingIcon: PropTypes.any,\n },\n data() {\n this.menuItems = {};\n return {};\n },\n watch: {\n visible(val) {\n if (val) {\n this.$nextTick(() => {\n this.scrollActiveItemToView();\n });\n }\n },\n },\n mounted() {\n this.$nextTick(() => {\n this.scrollActiveItemToView();\n });\n },\n methods: {\n getFieldName(name) {\n const { fieldNames, defaultFieldNames } = this.$props;\n // 防止只设置单个属性的名字\n return fieldNames[name] || defaultFieldNames[name];\n },\n getOption(option, menuIndex) {\n const { prefixCls, expandTrigger } = this;\n const loadingIcon = getComponentFromProp(this, 'loadingIcon');\n const expandIcon = getComponentFromProp(this, 'expandIcon');\n const onSelect = e => {\n this.__emit('select', option, menuIndex, e);\n };\n const onItemDoubleClick = e => {\n this.__emit('itemDoubleClick', option, menuIndex, e);\n };\n const key = option[this.getFieldName('value')];\n const expandProps = {\n attrs: {\n role: 'menuitem',\n },\n on: {\n click: onSelect,\n dblclick: onItemDoubleClick,\n mousedown: e => e.preventDefault(),\n },\n key: Array.isArray(key) ? key.join('__ant__') : key,\n };\n let menuItemCls = `${prefixCls}-menu-item`;\n let expandIconNode = null;\n const hasChildren =\n option[this.getFieldName('children')] && option[this.getFieldName('children')].length > 0;\n if (hasChildren || option.isLeaf === false) {\n menuItemCls += ` ${prefixCls}-menu-item-expand`;\n if (!option.loading) {\n expandIconNode = <span class={`${prefixCls}-menu-item-expand-icon`}>{expandIcon}</span>;\n }\n }\n if (expandTrigger === 'hover' && (hasChildren || option.isLeaf === false)) {\n expandProps.on = {\n mouseenter: this.delayOnSelect.bind(this, onSelect),\n mouseleave: this.delayOnSelect.bind(this),\n click: onSelect,\n };\n }\n if (this.isActiveOption(option, menuIndex)) {\n menuItemCls += ` ${prefixCls}-menu-item-active`;\n expandProps.ref = this.getMenuItemRef(menuIndex);\n }\n if (option.disabled) {\n menuItemCls += ` ${prefixCls}-menu-item-disabled`;\n }\n let loadingIconNode = null;\n if (option.loading) {\n menuItemCls += ` ${prefixCls}-menu-item-loading`;\n loadingIconNode = loadingIcon || null;\n }\n let title = '';\n if (option.title) {\n title = option.title;\n } else if (typeof option[this.getFieldName('label')] === 'string') {\n title = option[this.getFieldName('label')];\n }\n expandProps.attrs.title = title;\n expandProps.class = menuItemCls;\n return (\n <li {...expandProps}>\n {option[this.getFieldName('label')]}\n {expandIconNode}\n {loadingIconNode}\n </li>\n );\n },\n\n getActiveOptions(values) {\n const activeValue = values || this.activeValue;\n const options = this.options;\n return arrayTreeFilter(\n options,\n (o, level) => o[this.getFieldName('value')] === activeValue[level],\n { childrenKeyName: this.getFieldName('children') },\n );\n },\n\n getShowOptions() {\n const { options } = this;\n const result = this.getActiveOptions()\n .map(activeOption => activeOption[this.getFieldName('children')])\n .filter(activeOption => !!activeOption);\n result.unshift(options);\n return result;\n },\n\n delayOnSelect(onSelect, ...args) {\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n if (typeof onSelect === 'function') {\n this.delayTimer = setTimeout(() => {\n onSelect(args);\n this.delayTimer = null;\n }, 150);\n }\n },\n\n scrollActiveItemToView() {\n // scroll into view\n const optionsLength = this.getShowOptions().length;\n for (let i = 0; i < optionsLength; i++) {\n const itemComponent = this.$refs[`menuItems_${i}`];\n if (itemComponent) {\n const target = itemComponent;\n target.parentNode.scrollTop = target.offsetTop;\n }\n }\n },\n\n isActiveOption(option, menuIndex) {\n const { activeValue = [] } = this;\n return activeValue[menuIndex] === option[this.getFieldName('value')];\n },\n\n getMenuItemRef(index) {\n return `menuItems_${index}`;\n },\n },\n\n render() {\n const { prefixCls, dropdownMenuColumnStyle } = this;\n return (\n <div>\n {this.getShowOptions().map((options, menuIndex) => (\n <ul class={`${prefixCls}-menu`} key={menuIndex} style={dropdownMenuColumnStyle}>\n {options.map(option => this.getOption(option, menuIndex))}\n </ul>\n ))}\n </div>\n );\n },\n};\n","// based on rc-cascader 0.17.4\nimport Cascader from './Cascader';\nexport default Cascader;\n","import { getComponentFromProp, getListeners } from '../_util/props-util';\nimport PropTypes from '../_util/vue-types';\nimport Trigger from '../vc-trigger';\nimport Menus from './Menus';\nimport KeyCode from '../_util/KeyCode';\nimport arrayTreeFilter from 'array-tree-filter';\nimport shallowEqualArrays from 'shallow-equal/arrays';\nimport { hasProp, getEvents, getSlot } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { cloneElement } from '../_util/vnode';\n\nconst BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: 1,\n adjustY: 1,\n },\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: 1,\n adjustY: 1,\n },\n },\n bottomRight: {\n points: ['tr', 'br'],\n offset: [0, 4],\n overflow: {\n adjustX: 1,\n adjustY: 1,\n },\n },\n topRight: {\n points: ['br', 'tr'],\n offset: [0, -4],\n overflow: {\n adjustX: 1,\n adjustY: 1,\n },\n },\n};\n\nexport default {\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change',\n },\n props: {\n value: PropTypes.array,\n defaultValue: PropTypes.array,\n options: PropTypes.array,\n // onChange: PropTypes.func,\n // onPopupVisibleChange: PropTypes.func,\n popupVisible: PropTypes.bool,\n disabled: PropTypes.bool.def(false),\n transitionName: PropTypes.string.def(''),\n popupClassName: PropTypes.string.def(''),\n popupStyle: PropTypes.object.def(() => ({})),\n popupPlacement: PropTypes.string.def('bottomLeft'),\n prefixCls: PropTypes.string.def('rc-cascader'),\n dropdownMenuColumnStyle: PropTypes.object,\n builtinPlacements: PropTypes.object.def(BUILT_IN_PLACEMENTS),\n loadData: PropTypes.func,\n changeOnSelect: PropTypes.bool,\n // onKeyDown: PropTypes.func,\n expandTrigger: PropTypes.string.def('click'),\n fieldNames: PropTypes.object.def(() => ({\n label: 'label',\n value: 'value',\n children: 'children',\n })),\n expandIcon: PropTypes.any,\n loadingIcon: PropTypes.any,\n getPopupContainer: PropTypes.func,\n },\n data() {\n let initialValue = [];\n const { value, defaultValue, popupVisible } = this;\n if (hasProp(this, 'value')) {\n initialValue = value || [];\n } else if (hasProp(this, 'defaultValue')) {\n initialValue = defaultValue || [];\n }\n // warning(!('filedNames' in props),\n // '`filedNames` of Cascader is a typo usage and deprecated, please use `fieldNames` instead.');\n\n return {\n sPopupVisible: popupVisible,\n sActiveValue: initialValue,\n sValue: initialValue,\n };\n },\n watch: {\n value(val, oldValue) {\n if (!shallowEqualArrays(val, oldValue)) {\n const newValues = {\n sValue: val || [],\n };\n // allow activeValue diff from value\n // https://github.com/ant-design/ant-design/issues/2767\n if (!hasProp(this, 'loadData')) {\n newValues.sActiveValue = val || [];\n }\n this.setState(newValues);\n }\n },\n popupVisible(val) {\n this.setState({\n sPopupVisible: val,\n });\n },\n },\n methods: {\n getPopupDOMNode() {\n return this.$refs.trigger.getPopupDomNode();\n },\n getFieldName(name) {\n const { defaultFieldNames, fieldNames } = this;\n return fieldNames[name] || defaultFieldNames[name];\n },\n getFieldNames() {\n return this.fieldNames;\n },\n getCurrentLevelOptions() {\n const { options = [], sActiveValue = [] } = this;\n const result = arrayTreeFilter(\n options,\n (o, level) => o[this.getFieldName('value')] === sActiveValue[level],\n { childrenKeyName: this.getFieldName('children') },\n );\n if (result[result.length - 2]) {\n return result[result.length - 2][this.getFieldName('children')];\n }\n return [...options].filter(o => !o.disabled);\n },\n getActiveOptions(activeValue) {\n return arrayTreeFilter(\n this.options || [],\n (o, level) => o[this.getFieldName('value')] === activeValue[level],\n { childrenKeyName: this.getFieldName('children') },\n );\n },\n setPopupVisible(popupVisible) {\n if (!hasProp(this, 'popupVisible')) {\n this.setState({ sPopupVisible: popupVisible });\n }\n // sync activeValue with value when panel open\n if (popupVisible && !this.sPopupVisible) {\n this.setState({\n sActiveValue: this.sValue,\n });\n }\n this.__emit('popupVisibleChange', popupVisible);\n },\n handleChange(options, setProps, e) {\n if (e.type !== 'keydown' || e.keyCode === KeyCode.ENTER) {\n this.__emit(\n 'change',\n options.map(o => o[this.getFieldName('value')]),\n options,\n );\n this.setPopupVisible(setProps.visible);\n }\n },\n handlePopupVisibleChange(popupVisible) {\n this.setPopupVisible(popupVisible);\n },\n handleMenuSelect(targetOption, menuIndex, e) {\n // Keep focused state for keyboard support\n const triggerNode = this.$refs.trigger.getRootDomNode();\n if (triggerNode && triggerNode.focus) {\n triggerNode.focus();\n }\n const { changeOnSelect, loadData, expandTrigger } = this;\n if (!targetOption || targetOption.disabled) {\n return;\n }\n let { sActiveValue } = this;\n sActiveValue = sActiveValue.slice(0, menuIndex + 1);\n sActiveValue[menuIndex] = targetOption[this.getFieldName('value')];\n const activeOptions = this.getActiveOptions(sActiveValue);\n if (\n targetOption.isLeaf === false &&\n !targetOption[this.getFieldName('children')] &&\n loadData\n ) {\n if (changeOnSelect) {\n this.handleChange(activeOptions, { visible: true }, e);\n }\n this.setState({ sActiveValue });\n loadData(activeOptions);\n return;\n }\n const newState = {};\n if (\n !targetOption[this.getFieldName('children')] ||\n !targetOption[this.getFieldName('children')].length\n ) {\n this.handleChange(activeOptions, { visible: false }, e);\n // set value to activeValue when select leaf option\n newState.sValue = sActiveValue;\n // add e.type judgement to prevent `onChange` being triggered by mouseEnter\n } else if (changeOnSelect && (e.type === 'click' || e.type === 'keydown')) {\n if (expandTrigger === 'hover') {\n this.handleChange(activeOptions, { visible: false }, e);\n } else {\n this.handleChange(activeOptions, { visible: true }, e);\n }\n // set value to activeValue on every select\n newState.sValue = sActiveValue;\n }\n newState.sActiveValue = sActiveValue;\n // not change the value by keyboard\n if (hasProp(this, 'value') || (e.type === 'keydown' && e.keyCode !== KeyCode.ENTER)) {\n delete newState.sValue;\n }\n this.setState(newState);\n },\n handleItemDoubleClick() {\n const { changeOnSelect } = this.$props;\n if (changeOnSelect) {\n this.setPopupVisible(false);\n }\n },\n handleKeyDown(e) {\n const { $slots } = this;\n const children = $slots.default && $slots.default[0];\n // https://github.com/ant-design/ant-design/issues/6717\n // Don't bind keyboard support when children specify the onKeyDown\n if (children) {\n const keydown = getEvents(children).keydown;\n if (keydown) {\n keydown(e);\n return;\n }\n }\n const activeValue = [...this.sActiveValue];\n const currentLevel = activeValue.length - 1 < 0 ? 0 : activeValue.length - 1;\n const currentOptions = this.getCurrentLevelOptions();\n const currentIndex = currentOptions\n .map(o => o[this.getFieldName('value')])\n .indexOf(activeValue[currentLevel]);\n if (\n e.keyCode !== KeyCode.DOWN &&\n e.keyCode !== KeyCode.UP &&\n e.keyCode !== KeyCode.LEFT &&\n e.keyCode !== KeyCode.RIGHT &&\n e.keyCode !== KeyCode.ENTER &&\n e.keyCode !== KeyCode.SPACE &&\n e.keyCode !== KeyCode.BACKSPACE &&\n e.keyCode !== KeyCode.ESC &&\n e.keyCode !== KeyCode.TAB\n ) {\n return;\n }\n // Press any keys above to reopen menu\n if (\n !this.sPopupVisible &&\n e.keyCode !== KeyCode.BACKSPACE &&\n e.keyCode !== KeyCode.LEFT &&\n e.keyCode !== KeyCode.RIGHT &&\n e.keyCode !== KeyCode.ESC &&\n e.keyCode !== KeyCode.TAB\n ) {\n this.setPopupVisible(true);\n return;\n }\n if (e.keyCode === KeyCode.DOWN || e.keyCode === KeyCode.UP) {\n e.preventDefault();\n let nextIndex = currentIndex;\n if (nextIndex !== -1) {\n if (e.keyCode === KeyCode.DOWN) {\n nextIndex += 1;\n nextIndex = nextIndex >= currentOptions.length ? 0 : nextIndex;\n } else {\n nextIndex -= 1;\n nextIndex = nextIndex < 0 ? currentOptions.length - 1 : nextIndex;\n }\n } else {\n nextIndex = 0;\n }\n activeValue[currentLevel] = currentOptions[nextIndex][this.getFieldName('value')];\n } else if (e.keyCode === KeyCode.LEFT || e.keyCode === KeyCode.BACKSPACE) {\n e.preventDefault();\n activeValue.splice(activeValue.length - 1, 1);\n } else if (e.keyCode === KeyCode.RIGHT) {\n e.preventDefault();\n if (\n currentOptions[currentIndex] &&\n currentOptions[currentIndex][this.getFieldName('children')]\n ) {\n activeValue.push(\n currentOptions[currentIndex][this.getFieldName('children')][0][\n this.getFieldName('value')\n ],\n );\n }\n } else if (e.keyCode === KeyCode.ESC || e.keyCode === KeyCode.TAB) {\n this.setPopupVisible(false);\n return;\n }\n if (!activeValue || activeValue.length === 0) {\n this.setPopupVisible(false);\n }\n const activeOptions = this.getActiveOptions(activeValue);\n const targetOption = activeOptions[activeOptions.length - 1];\n this.handleMenuSelect(targetOption, activeOptions.length - 1, e);\n this.__emit('keydown', e);\n },\n },\n\n render() {\n const {\n $props,\n sActiveValue,\n handleMenuSelect,\n sPopupVisible,\n handlePopupVisibleChange,\n handleKeyDown,\n } = this;\n const listeners = getListeners(this);\n const {\n prefixCls,\n transitionName,\n popupClassName,\n options = [],\n disabled,\n builtinPlacements,\n popupPlacement,\n ...restProps\n } = $props;\n // Did not show popup when there is no options\n let menus = <div />;\n let emptyMenuClassName = '';\n if (options && options.length > 0) {\n const loadingIcon = getComponentFromProp(this, 'loadingIcon');\n const expandIcon = getComponentFromProp(this, 'expandIcon') || '>';\n const menusProps = {\n props: {\n ...$props,\n fieldNames: this.getFieldNames(),\n defaultFieldNames: this.defaultFieldNames,\n activeValue: sActiveValue,\n visible: sPopupVisible,\n loadingIcon,\n expandIcon,\n },\n on: {\n ...listeners,\n select: handleMenuSelect,\n itemDoubleClick: this.handleItemDoubleClick,\n },\n };\n menus = <Menus {...menusProps} />;\n } else {\n emptyMenuClassName = ` ${prefixCls}-menus-empty`;\n }\n const triggerProps = {\n props: {\n ...restProps,\n disabled,\n popupPlacement,\n builtinPlacements,\n popupTransitionName: transitionName,\n action: disabled ? [] : ['click'],\n popupVisible: disabled ? false : sPopupVisible,\n prefixCls: `${prefixCls}-menus`,\n popupClassName: popupClassName + emptyMenuClassName,\n },\n on: {\n ...listeners,\n popupVisibleChange: handlePopupVisibleChange,\n },\n ref: 'trigger',\n };\n const children = getSlot(this, 'default')[0];\n return (\n <Trigger {...triggerProps}>\n {children &&\n cloneElement(children, {\n on: {\n keydown: handleKeyDown,\n },\n attrs: {\n tabIndex: disabled ? undefined : 0,\n },\n })}\n <template slot=\"popup\">{menus}</template>\n </Trigger>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport VcCascader from '../vc-cascader';\nimport arrayTreeFilter from 'array-tree-filter';\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport KeyCode from '../_util/KeyCode';\nimport Input from '../input';\nimport Icon from '../icon';\nimport {\n hasProp,\n filterEmpty,\n getOptionProps,\n getStyle,\n getClass,\n getAttrs,\n getComponentFromProp,\n isValidElement,\n getListeners,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { cloneElement } from '../_util/vnode';\nimport warning from '../_util/warning';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\n\nconst CascaderOptionType = PropTypes.shape({\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.any,\n disabled: PropTypes.bool,\n children: PropTypes.array,\n key: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n}).loose;\n\nconst FieldNamesType = PropTypes.shape({\n value: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n children: PropTypes.string,\n}).loose;\n\nconst CascaderExpandTrigger = PropTypes.oneOf(['click', 'hover']);\n\nconst ShowSearchType = PropTypes.shape({\n filter: PropTypes.func,\n render: PropTypes.func,\n sort: PropTypes.func,\n matchInputWidth: PropTypes.bool,\n limit: PropTypes.oneOfType([Boolean, Number]),\n}).loose;\nfunction noop() {}\n\nconst CascaderProps = {\n /** 可选项数据源 */\n options: PropTypes.arrayOf(CascaderOptionType).def([]),\n /** 默认的选中项 */\n defaultValue: PropTypes.array,\n /** 指定选中项 */\n value: PropTypes.array,\n /** 选择完成后的回调 */\n // onChange?: (value: string[], selectedOptions?: CascaderOptionType[]) => void;\n /** 选择后展示的渲染函数 */\n displayRender: PropTypes.func,\n transitionName: PropTypes.string.def('slide-up'),\n popupStyle: PropTypes.object.def(() => ({})),\n /** 自定义浮层类名 */\n popupClassName: PropTypes.string,\n /** 浮层预设位置:`bottomLeft` `bottomRight` `topLeft` `topRight` */\n popupPlacement: PropTypes.oneOf(['bottomLeft', 'bottomRight', 'topLeft', 'topRight']).def(\n 'bottomLeft',\n ),\n /** 输入框占位文本*/\n placeholder: PropTypes.string.def('Please select'),\n /** 输入框大小,可选 `large` `default` `small` */\n size: PropTypes.oneOf(['large', 'default', 'small']),\n /** 禁用*/\n disabled: PropTypes.bool.def(false),\n /** 是否支持清除*/\n allowClear: PropTypes.bool.def(true),\n showSearch: PropTypes.oneOfType([Boolean, ShowSearchType]),\n notFoundContent: PropTypes.any,\n loadData: PropTypes.func,\n /** 次级菜单的展开方式,可选 'click' 和 'hover' */\n expandTrigger: CascaderExpandTrigger,\n /** 当此项为 true 时,点选每级菜单选项值都会发生变化 */\n changeOnSelect: PropTypes.bool,\n /** 浮层可见变化时回调 */\n // onPopupVisibleChange?: (popupVisible: boolean) => void;\n prefixCls: PropTypes.string,\n inputPrefixCls: PropTypes.string,\n getPopupContainer: PropTypes.func,\n popupVisible: PropTypes.bool,\n fieldNames: FieldNamesType,\n autoFocus: PropTypes.bool,\n suffixIcon: PropTypes.any,\n};\n\n// We limit the filtered item count by default\nconst defaultLimit = 50;\n\nfunction defaultFilterOption(inputValue, path, names) {\n return path.some(option => option[names.label].indexOf(inputValue) > -1);\n}\n\nfunction defaultSortFilteredOption(a, b, inputValue, names) {\n function callback(elem) {\n return elem[names.label].indexOf(inputValue) > -1;\n }\n\n return a.findIndex(callback) - b.findIndex(callback);\n}\n\nfunction getFilledFieldNames({ fieldNames = {} }) {\n const names = {\n children: fieldNames.children || 'children',\n label: fieldNames.label || 'label',\n value: fieldNames.value || 'value',\n };\n return names;\n}\n\nfunction flattenTree(options = [], props, ancestor = []) {\n const names = getFilledFieldNames(props);\n let flattenOptions = [];\n const childrenName = names.children;\n options.forEach(option => {\n const path = ancestor.concat(option);\n if (props.changeOnSelect || !option[childrenName] || !option[childrenName].length) {\n flattenOptions.push(path);\n }\n if (option[childrenName]) {\n flattenOptions = flattenOptions.concat(flattenTree(option[childrenName], props, path));\n }\n });\n return flattenOptions;\n}\n\nconst defaultDisplayRender = ({ labels }) => labels.join(' / ');\n\nconst Cascader = {\n inheritAttrs: false,\n name: 'ACascader',\n mixins: [BaseMixin],\n props: CascaderProps,\n model: {\n prop: 'value',\n event: 'change',\n },\n provide() {\n return {\n savePopupRef: this.savePopupRef,\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n localeData: { default: () => ({}) },\n },\n data() {\n this.cachedOptions = [];\n const { value, defaultValue, popupVisible, showSearch, options } = this;\n return {\n sValue: value || defaultValue || [],\n inputValue: '',\n inputFocused: false,\n sPopupVisible: popupVisible,\n flattenOptions: showSearch ? flattenTree(options, this.$props) : undefined,\n };\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus && !this.showSearch && !this.disabled) {\n this.$refs.picker.focus();\n }\n });\n },\n watch: {\n value(val) {\n this.setState({ sValue: val || [] });\n },\n popupVisible(val) {\n this.setState({ sPopupVisible: val });\n },\n options(val) {\n if (this.showSearch) {\n this.setState({ flattenOptions: flattenTree(val, this.$props) });\n }\n },\n },\n methods: {\n savePopupRef(ref) {\n this.popupRef = ref;\n },\n highlightKeyword(str, keyword, prefixCls) {\n return str\n .split(keyword)\n .map((node, index) =>\n index === 0\n ? node\n : [<span class={`${prefixCls}-menu-item-keyword`}>{keyword}</span>, node],\n );\n },\n\n defaultRenderFilteredOption({ inputValue, path, prefixCls, names }) {\n return path.map((option, index) => {\n const label = option[names.label];\n const node =\n label.indexOf(inputValue) > -1\n ? this.highlightKeyword(label, inputValue, prefixCls)\n : label;\n return index === 0 ? node : [' / ', node];\n });\n },\n handleChange(value, selectedOptions) {\n this.setState({ inputValue: '' });\n if (selectedOptions[0].__IS_FILTERED_OPTION) {\n const unwrappedValue = value[0];\n const unwrappedSelectedOptions = selectedOptions[0].path;\n this.setValue(unwrappedValue, unwrappedSelectedOptions);\n return;\n }\n this.setValue(value, selectedOptions);\n },\n\n handlePopupVisibleChange(popupVisible) {\n if (!hasProp(this, 'popupVisible')) {\n this.setState(state => ({\n sPopupVisible: popupVisible,\n inputFocused: popupVisible,\n inputValue: popupVisible ? state.inputValue : '',\n }));\n }\n this.$emit('popupVisibleChange', popupVisible);\n },\n handleInputFocus(e) {\n this.$emit('focus', e);\n },\n\n handleInputBlur(e) {\n this.setState({\n inputFocused: false,\n });\n this.$emit('blur', e);\n },\n\n handleInputClick(e) {\n const { inputFocused, sPopupVisible } = this;\n // Prevent `Trigger` behaviour.\n if (inputFocused || sPopupVisible) {\n e.stopPropagation();\n if (e.nativeEvent && e.nativeEvent.stopImmediatePropagation) {\n e.nativeEvent.stopImmediatePropagation();\n }\n }\n },\n\n handleKeyDown(e) {\n if (e.keyCode === KeyCode.BACKSPACE || e.keyCode === KeyCode.SPACE) {\n e.stopPropagation();\n }\n },\n\n handleInputChange(e) {\n const inputValue = e.target.value;\n this.setState({ inputValue });\n this.$emit('search', inputValue);\n },\n\n setValue(value, selectedOptions) {\n if (!hasProp(this, 'value')) {\n this.setState({ sValue: value });\n }\n this.$emit('change', value, selectedOptions);\n },\n\n getLabel() {\n const { options, $scopedSlots } = this;\n const names = getFilledFieldNames(this.$props);\n const displayRender =\n this.displayRender || $scopedSlots.displayRender || defaultDisplayRender;\n const value = this.sValue;\n const unwrappedValue = Array.isArray(value[0]) ? value[0] : value;\n const selectedOptions = arrayTreeFilter(\n options,\n (o, level) => o[names.value] === unwrappedValue[level],\n { childrenKeyName: names.children },\n );\n const labels = selectedOptions.map(o => o[names.label]);\n return displayRender({ labels, selectedOptions });\n },\n\n clearSelection(e) {\n e.preventDefault();\n e.stopPropagation();\n if (!this.inputValue) {\n this.setValue([]);\n this.handlePopupVisibleChange(false);\n } else {\n this.setState({ inputValue: '' });\n }\n },\n\n generateFilteredOptions(prefixCls, renderEmpty) {\n const h = this.$createElement;\n const { showSearch, notFoundContent, $scopedSlots } = this;\n const names = getFilledFieldNames(this.$props);\n const {\n filter = defaultFilterOption,\n // render = this.defaultRenderFilteredOption,\n sort = defaultSortFilteredOption,\n limit = defaultLimit,\n } = showSearch;\n const render =\n showSearch.render || $scopedSlots.showSearchRender || this.defaultRenderFilteredOption;\n const { flattenOptions = [], inputValue } = this.$data;\n\n // Limit the filter if needed\n let filtered;\n if (limit > 0) {\n filtered = [];\n let matchCount = 0;\n\n // Perf optimization to filter items only below the limit\n flattenOptions.some(path => {\n const match = filter(inputValue, path, names);\n if (match) {\n filtered.push(path);\n matchCount += 1;\n }\n return matchCount >= limit;\n });\n } else {\n warning(\n typeof limit !== 'number',\n 'Cascader',\n \"'limit' of showSearch in Cascader should be positive number or false.\",\n );\n filtered = flattenOptions.filter(path => filter(inputValue, path, names));\n }\n\n filtered.sort((a, b) => sort(a, b, inputValue, names));\n\n if (filtered.length > 0) {\n return filtered.map(path => {\n return {\n __IS_FILTERED_OPTION: true,\n path,\n [names.label]: render({ inputValue, path, prefixCls, names }),\n [names.value]: path.map(o => o[names.value]),\n disabled: path.some(o => !!o.disabled),\n };\n });\n }\n return [\n {\n [names.label]: notFoundContent || renderEmpty(h, 'Cascader'),\n [names.value]: 'ANT_CASCADER_NOT_FOUND',\n disabled: true,\n },\n ];\n },\n\n focus() {\n if (this.showSearch) {\n this.$refs.input.focus();\n } else {\n this.$refs.picker.focus();\n }\n },\n\n blur() {\n if (this.showSearch) {\n this.$refs.input.blur();\n } else {\n this.$refs.picker.blur();\n }\n },\n },\n\n render() {\n const { $slots, sPopupVisible, inputValue, configProvider, localeData } = this;\n const { sValue: value, inputFocused } = this.$data;\n const props = getOptionProps(this);\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n const { getPopupContainer: getContextPopupContainer } = configProvider;\n const {\n prefixCls: customizePrefixCls,\n inputPrefixCls: customizeInputPrefixCls,\n placeholder = localeData.placeholder,\n size,\n disabled,\n allowClear,\n showSearch = false,\n notFoundContent,\n ...otherProps\n } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const renderEmpty = this.configProvider.renderEmpty;\n const prefixCls = getPrefixCls('cascader', customizePrefixCls);\n const inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n\n const sizeCls = classNames({\n [`${inputPrefixCls}-lg`]: size === 'large',\n [`${inputPrefixCls}-sm`]: size === 'small',\n });\n const clearIcon =\n (allowClear && !disabled && value.length > 0) || inputValue ? (\n <Icon\n type=\"close-circle\"\n theme=\"filled\"\n class={`${prefixCls}-picker-clear`}\n onClick={this.clearSelection}\n key=\"clear-icon\"\n />\n ) : null;\n const arrowCls = classNames({\n [`${prefixCls}-picker-arrow`]: true,\n [`${prefixCls}-picker-arrow-expand`]: sPopupVisible,\n });\n const pickerCls = classNames(getClass(this), `${prefixCls}-picker`, {\n [`${prefixCls}-picker-with-value`]: inputValue,\n [`${prefixCls}-picker-disabled`]: disabled,\n [`${prefixCls}-picker-${size}`]: !!size,\n [`${prefixCls}-picker-show-search`]: !!showSearch,\n [`${prefixCls}-picker-focused`]: inputFocused,\n });\n\n // Fix bug of https://github.com/facebook/react/pull/5004\n // and https://fb.me/react-unknown-prop\n const tempInputProps = omit(otherProps, [\n 'options',\n 'popupPlacement',\n 'transitionName',\n 'displayRender',\n 'changeOnSelect',\n 'expandTrigger',\n 'popupVisible',\n 'getPopupContainer',\n 'loadData',\n 'popupClassName',\n 'filterOption',\n 'renderFilteredOption',\n 'sortFilteredOption',\n 'notFoundContent',\n 'defaultValue',\n 'fieldNames',\n ]);\n\n let options = props.options;\n const names = getFilledFieldNames(this.$props);\n if (options && options.length > 0) {\n if (inputValue) {\n options = this.generateFilteredOptions(prefixCls, renderEmpty);\n }\n } else {\n options = [\n {\n [names.label]: notFoundContent || renderEmpty(h, 'Cascader'),\n [names.value]: 'ANT_CASCADER_NOT_FOUND',\n disabled: true,\n },\n ];\n }\n\n // Dropdown menu should keep previous status until it is fully closed.\n if (!sPopupVisible) {\n options = this.cachedOptions;\n } else {\n this.cachedOptions = options;\n }\n\n const dropdownMenuColumnStyle = {};\n const isNotFound =\n (options || []).length === 1 && options[0].value === 'ANT_CASCADER_NOT_FOUND';\n if (isNotFound) {\n dropdownMenuColumnStyle.height = 'auto'; // Height of one row.\n }\n // The default value of `matchInputWidth` is `true`\n const resultListMatchInputWidth = showSearch.matchInputWidth !== false;\n if (resultListMatchInputWidth && (inputValue || isNotFound) && this.$refs.input) {\n dropdownMenuColumnStyle.width = this.$refs.input.$el.offsetWidth + 'px';\n }\n // showSearch时,focus、blur在input上触发,反之在ref='picker'上触发\n const inputProps = {\n props: {\n ...tempInputProps,\n prefixCls: inputPrefixCls,\n placeholder: value && value.length > 0 ? undefined : placeholder,\n value: inputValue,\n disabled,\n readOnly: !showSearch,\n autoComplete: 'off',\n },\n class: `${prefixCls}-input ${sizeCls}`,\n ref: 'input',\n on: {\n focus: showSearch ? this.handleInputFocus : noop,\n click: showSearch ? this.handleInputClick : noop,\n blur: showSearch ? this.handleInputBlur : noop,\n keydown: this.handleKeyDown,\n change: showSearch ? this.handleInputChange : noop,\n },\n attrs: getAttrs(this),\n };\n const children = filterEmpty($slots.default);\n const inputIcon = (suffixIcon &&\n (isValidElement(suffixIcon) ? (\n cloneElement(suffixIcon, {\n class: {\n [`${prefixCls}-picker-arrow`]: true,\n },\n })\n ) : (\n <span class={`${prefixCls}-picker-arrow`}>{suffixIcon}</span>\n ))) || <Icon type=\"down\" class={arrowCls} />;\n\n const input = children.length ? (\n children\n ) : (\n <span class={pickerCls} style={getStyle(this)} ref=\"picker\">\n {showSearch ? <span class={`${prefixCls}-picker-label`}>{this.getLabel()}</span> : null}\n <Input {...inputProps} />\n {!showSearch ? <span class={`${prefixCls}-picker-label`}>{this.getLabel()}</span> : null}\n {clearIcon}\n {inputIcon}\n </span>\n );\n\n const expandIcon = <Icon type=\"right\" />;\n\n const loadingIcon = (\n <span class={`${prefixCls}-menu-item-loading-icon`}>\n <Icon type=\"redo\" spin />\n </span>\n );\n const getPopupContainer = props.getPopupContainer || getContextPopupContainer;\n const cascaderProps = {\n props: {\n ...props,\n getPopupContainer,\n options,\n prefixCls,\n value,\n popupVisible: sPopupVisible,\n dropdownMenuColumnStyle,\n expandIcon,\n loadingIcon,\n },\n on: {\n ...getListeners(this),\n popupVisibleChange: this.handlePopupVisibleChange,\n change: this.handleChange,\n },\n };\n return <VcCascader {...cascaderProps}>{input}</VcCascader>;\n },\n};\n\n/* istanbul ignore next */\nCascader.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Cascader.name, Cascader);\n};\n\nexport default Cascader;\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport VcCheckbox from '../vc-checkbox';\nimport hasProp, { getOptionProps, getAttrs, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport warning from '../_util/warning';\nfunction noop() {}\n\nexport default {\n name: 'ACheckbox',\n inheritAttrs: false,\n __ANT_CHECKBOX: true,\n model: {\n prop: 'checked',\n },\n props: {\n prefixCls: PropTypes.string,\n defaultChecked: PropTypes.bool,\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n isGroup: PropTypes.bool,\n value: PropTypes.any,\n name: PropTypes.string,\n id: PropTypes.string,\n indeterminate: PropTypes.bool,\n type: PropTypes.string.def('checkbox'),\n autoFocus: PropTypes.bool,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n checkboxGroupContext: { default: () => undefined },\n },\n watch: {\n value(value, prevValue) {\n this.$nextTick(() => {\n const { checkboxGroupContext: checkboxGroup = {} } = this;\n if (checkboxGroup.registerValue && checkboxGroup.cancelValue) {\n checkboxGroup.cancelValue(prevValue);\n checkboxGroup.registerValue(value);\n }\n });\n },\n },\n mounted() {\n const { value, checkboxGroupContext: checkboxGroup = {} } = this;\n if (checkboxGroup.registerValue) {\n checkboxGroup.registerValue(value);\n }\n\n warning(\n hasProp(this, 'checked') || this.checkboxGroupContext || !hasProp(this, 'value'),\n 'Checkbox',\n '`value` is not validate prop, do you mean `checked`?',\n );\n },\n beforeDestroy() {\n const { value, checkboxGroupContext: checkboxGroup = {} } = this;\n if (checkboxGroup.cancelValue) {\n checkboxGroup.cancelValue(value);\n }\n },\n methods: {\n handleChange(event) {\n const targetChecked = event.target.checked;\n this.$emit('input', targetChecked);\n this.$emit('change', event);\n },\n focus() {\n this.$refs.vcCheckbox.focus();\n },\n blur() {\n this.$refs.vcCheckbox.blur();\n },\n },\n\n render() {\n const { checkboxGroupContext: checkboxGroup, $slots } = this;\n const props = getOptionProps(this);\n const children = $slots.default;\n const { mouseenter = noop, mouseleave = noop, input, ...restListeners } = getListeners(this);\n const { prefixCls: customizePrefixCls, indeterminate, ...restProps } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('checkbox', customizePrefixCls);\n\n const checkboxProps = {\n props: { ...restProps, prefixCls },\n on: restListeners,\n attrs: getAttrs(this),\n };\n if (checkboxGroup) {\n checkboxProps.on.change = (...args) => {\n this.$emit('change', ...args);\n checkboxGroup.toggleOption({ label: children, value: props.value });\n };\n checkboxProps.props.name = checkboxGroup.name;\n checkboxProps.props.checked = checkboxGroup.sValue.indexOf(props.value) !== -1;\n checkboxProps.props.disabled = props.disabled || checkboxGroup.disabled;\n checkboxProps.props.indeterminate = indeterminate;\n } else {\n checkboxProps.on.change = this.handleChange;\n }\n const classString = classNames({\n [`${prefixCls}-wrapper`]: true,\n [`${prefixCls}-wrapper-checked`]: checkboxProps.props.checked,\n [`${prefixCls}-wrapper-disabled`]: checkboxProps.props.disabled,\n });\n const checkboxClass = classNames({\n [`${prefixCls}-indeterminate`]: indeterminate,\n });\n return (\n <label class={classString} onMouseenter={mouseenter} onMouseleave={mouseleave}>\n <VcCheckbox {...checkboxProps} class={checkboxClass} ref=\"vcCheckbox\" />\n {children !== undefined && <span>{children}</span>}\n </label>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport Checkbox from './Checkbox';\nimport hasProp from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nfunction noop() {}\nexport default {\n name: 'ACheckboxGroup',\n model: {\n prop: 'value',\n },\n props: {\n name: PropTypes.string,\n prefixCls: PropTypes.string,\n defaultValue: PropTypes.array,\n value: PropTypes.array,\n options: PropTypes.array.def([]),\n disabled: PropTypes.bool,\n },\n provide() {\n return {\n checkboxGroupContext: this,\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const { value, defaultValue } = this;\n return {\n sValue: value || defaultValue || [],\n registeredValues: [],\n };\n },\n watch: {\n value(val) {\n this.sValue = val || [];\n },\n },\n methods: {\n getOptions() {\n const { options, $scopedSlots } = this;\n return options.map(option => {\n if (typeof option === 'string') {\n return {\n label: option,\n value: option,\n };\n }\n let label = option.label;\n if (label === undefined && $scopedSlots.label) {\n label = $scopedSlots.label(option);\n }\n return { ...option, label };\n });\n },\n cancelValue(value) {\n this.registeredValues = this.registeredValues.filter(val => val !== value);\n },\n\n registerValue(value) {\n this.registeredValues = [...this.registeredValues, value];\n },\n toggleOption(option) {\n const { registeredValues } = this;\n const optionIndex = this.sValue.indexOf(option.value);\n const value = [...this.sValue];\n if (optionIndex === -1) {\n value.push(option.value);\n } else {\n value.splice(optionIndex, 1);\n }\n if (!hasProp(this, 'value')) {\n this.sValue = value;\n }\n const options = this.getOptions();\n const val = value\n .filter(val => registeredValues.indexOf(val) !== -1)\n .sort((a, b) => {\n const indexA = options.findIndex(opt => opt.value === a);\n const indexB = options.findIndex(opt => opt.value === b);\n return indexA - indexB;\n });\n this.$emit('input', val);\n this.$emit('change', val);\n },\n },\n render() {\n const { $props: props, $data: state, $slots } = this;\n const { prefixCls: customizePrefixCls, options } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('checkbox', customizePrefixCls);\n\n let children = $slots.default;\n const groupPrefixCls = `${prefixCls}-group`;\n if (options && options.length > 0) {\n children = this.getOptions().map(option => (\n <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={`${groupPrefixCls}-item`}\n >\n {option.label}\n </Checkbox>\n ));\n }\n return <div class={groupPrefixCls}>{children}</div>;\n },\n};\n","import Checkbox from './Checkbox';\nimport CheckboxGroup from './Group';\nimport Base from '../base';\n\nCheckbox.Group = CheckboxGroup;\n\n/* istanbul ignore next */\nCheckbox.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Checkbox.name, Checkbox);\n Vue.component(CheckboxGroup.name, CheckboxGroup);\n};\n\nexport default Checkbox;\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { hasProp, getListeners } from '../../../_util/props-util';\nimport MonthTable from './MonthTable';\n\nfunction goYear(direction) {\n this.changeYear(direction);\n}\n\nfunction noop() {}\n\nconst MonthPanel = {\n name: 'MonthPanel',\n mixins: [BaseMixin],\n props: {\n value: PropTypes.any,\n defaultValue: PropTypes.any,\n cellRender: PropTypes.any,\n contentRender: PropTypes.any,\n locale: PropTypes.any,\n rootPrefixCls: PropTypes.string,\n // onChange: PropTypes.func,\n disabledDate: PropTypes.func,\n // onSelect: PropTypes.func,\n renderFooter: PropTypes.func,\n changeYear: PropTypes.func.def(noop),\n },\n\n data() {\n const { value, defaultValue } = this;\n // bind methods\n this.nextYear = goYear.bind(this, 1);\n this.previousYear = goYear.bind(this, -1);\n return {\n sValue: value || defaultValue,\n };\n },\n watch: {\n value(val) {\n this.setState({\n sValue: val,\n });\n },\n },\n methods: {\n setAndSelectValue(value) {\n this.setValue(value);\n this.__emit('select', value);\n },\n\n setValue(value) {\n if (hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n });\n }\n },\n },\n\n render() {\n const {\n sValue,\n cellRender,\n contentRender,\n locale,\n rootPrefixCls,\n disabledDate,\n renderFooter,\n } = this;\n const year = sValue.year();\n const prefixCls = `${rootPrefixCls}-month-panel`;\n\n const footer = renderFooter && renderFooter('month');\n return (\n <div class={prefixCls}>\n <div>\n <div class={`${prefixCls}-header`}>\n <a\n class={`${prefixCls}-prev-year-btn`}\n role=\"button\"\n onClick={this.previousYear}\n title={locale.previousYear}\n />\n\n <a\n class={`${prefixCls}-year-select`}\n role=\"button\"\n onClick={getListeners(this).yearPanelShow || noop}\n title={locale.yearSelect}\n >\n <span class={`${prefixCls}-year-select-content`}>{year}</span>\n <span class={`${prefixCls}-year-select-arrow`}>x</span>\n </a>\n\n <a\n class={`${prefixCls}-next-year-btn`}\n role=\"button\"\n onClick={this.nextYear}\n title={locale.nextYear}\n />\n </div>\n <div class={`${prefixCls}-body`}>\n <MonthTable\n disabledDate={disabledDate}\n onSelect={this.setAndSelectValue}\n locale={locale}\n value={sValue}\n cellRender={cellRender}\n contentRender={contentRender}\n prefixCls={prefixCls}\n />\n </div>\n {footer && <div class={`${prefixCls}-footer`}>{footer}</div>}\n </div>\n </div>\n );\n },\n};\n\nexport default MonthPanel;\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { getListeners } from '../../../_util/props-util';\nconst ROW = 4;\nconst COL = 3;\nfunction noop() {}\nfunction goYear(direction) {\n const value = this.sValue.clone();\n value.add(direction, 'year');\n this.setState({\n sValue: value,\n });\n}\n\nfunction chooseYear(year) {\n const value = this.sValue.clone();\n value.year(year);\n value.month(this.sValue.month());\n this.sValue = value;\n this.__emit('select', value);\n}\n\nexport default {\n mixins: [BaseMixin],\n props: {\n rootPrefixCls: PropTypes.string,\n value: PropTypes.object,\n defaultValue: PropTypes.object,\n locale: PropTypes.object,\n renderFooter: PropTypes.func,\n disabledDate: PropTypes.func,\n },\n data() {\n this.nextDecade = goYear.bind(this, 10);\n this.previousDecade = goYear.bind(this, -10);\n return {\n sValue: this.value || this.defaultValue,\n };\n },\n watch: {\n value(val) {\n this.sValue = val;\n },\n },\n methods: {\n years() {\n const value = this.sValue;\n const currentYear = value.year();\n const startYear = parseInt(currentYear / 10, 10) * 10;\n const previousYear = startYear - 1;\n const years = [];\n let index = 0;\n for (let rowIndex = 0; rowIndex < ROW; rowIndex++) {\n years[rowIndex] = [];\n for (let colIndex = 0; colIndex < COL; colIndex++) {\n const year = previousYear + index;\n const content = String(year);\n years[rowIndex][colIndex] = {\n content,\n year,\n title: content,\n };\n index++;\n }\n }\n return years;\n },\n },\n\n render() {\n const { sValue: value, locale, renderFooter, $props } = this;\n const decadePanelShow = getListeners(this).decadePanelShow || noop;\n const years = this.years();\n const currentYear = value.year();\n const startYear = parseInt(currentYear / 10, 10) * 10;\n const endYear = startYear + 9;\n const prefixCls = `${this.rootPrefixCls}-year-panel`;\n const { disabledDate } = $props;\n\n const yeasEls = years.map((row, index) => {\n const tds = row.map(yearData => {\n let disabled = false;\n if (disabledDate) {\n const testValue = value.clone();\n testValue.year(yearData.year);\n disabled = disabledDate(testValue);\n }\n const classNameMap = {\n [`${prefixCls}-cell`]: 1,\n [`${prefixCls}-cell-disabled`]: disabled,\n [`${prefixCls}-selected-cell`]: yearData.year === currentYear,\n [`${prefixCls}-last-decade-cell`]: yearData.year < startYear,\n [`${prefixCls}-next-decade-cell`]: yearData.year > endYear,\n };\n let clickHandler = noop;\n if (yearData.year < startYear) {\n clickHandler = this.previousDecade;\n } else if (yearData.year > endYear) {\n clickHandler = this.nextDecade;\n } else {\n clickHandler = chooseYear.bind(this, yearData.year);\n }\n return (\n <td\n role=\"gridcell\"\n title={yearData.title}\n key={yearData.content}\n onClick={disabled ? noop : clickHandler}\n class={classNameMap}\n >\n <a class={`${prefixCls}-year`}>{yearData.content}</a>\n </td>\n );\n });\n return (\n <tr key={index} role=\"row\">\n {tds}\n </tr>\n );\n });\n const footer = renderFooter && renderFooter('year');\n return (\n <div class={prefixCls}>\n <div>\n <div class={`${prefixCls}-header`}>\n <a\n class={`${prefixCls}-prev-decade-btn`}\n role=\"button\"\n onClick={this.previousDecade}\n title={locale.previousDecade}\n />\n <a\n class={`${prefixCls}-decade-select`}\n role=\"button\"\n onClick={decadePanelShow}\n title={locale.decadeSelect}\n >\n <span class={`${prefixCls}-decade-select-content`}>\n {startYear}-{endYear}\n </span>\n <span class={`${prefixCls}-decade-select-arrow`}>x</span>\n </a>\n\n <a\n class={`${prefixCls}-next-decade-btn`}\n role=\"button\"\n onClick={this.nextDecade}\n title={locale.nextDecade}\n />\n </div>\n <div class={`${prefixCls}-body`}>\n <table class={`${prefixCls}-table`} cellSpacing=\"0\" role=\"grid\">\n <tbody class={`${prefixCls}-tbody`}>{yeasEls}</tbody>\n </table>\n </div>\n {footer && <div class={`${prefixCls}-footer`}>{footer}</div>}\n </div>\n </div>\n );\n },\n};\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nconst ROW = 4;\nconst COL = 3;\nfunction noop() {}\nfunction goYear(direction) {\n const next = this.sValue.clone();\n next.add(direction, 'years');\n this.setState({\n sValue: next,\n });\n}\n\nfunction chooseDecade(year, event) {\n const next = this.sValue.clone();\n next.year(year);\n next.month(this.sValue.month());\n this.__emit('select', next);\n event.preventDefault();\n}\n\nexport default {\n mixins: [BaseMixin],\n props: {\n locale: PropTypes.object,\n value: PropTypes.object,\n defaultValue: PropTypes.object,\n rootPrefixCls: PropTypes.string,\n renderFooter: PropTypes.func,\n },\n data() {\n this.nextCentury = goYear.bind(this, 100);\n this.previousCentury = goYear.bind(this, -100);\n return {\n sValue: this.value || this.defaultValue,\n };\n },\n watch: {\n value(val) {\n this.sValue = val;\n },\n },\n render() {\n const value = this.sValue;\n const { locale, renderFooter } = this.$props;\n const currentYear = value.year();\n const startYear = parseInt(currentYear / 100, 10) * 100;\n const preYear = startYear - 10;\n const endYear = startYear + 99;\n const decades = [];\n let index = 0;\n const prefixCls = `${this.rootPrefixCls}-decade-panel`;\n\n for (let rowIndex = 0; rowIndex < ROW; rowIndex++) {\n decades[rowIndex] = [];\n for (let colIndex = 0; colIndex < COL; colIndex++) {\n const startDecade = preYear + index * 10;\n const endDecade = preYear + index * 10 + 9;\n decades[rowIndex][colIndex] = {\n startDecade,\n endDecade,\n };\n index++;\n }\n }\n\n const footer = renderFooter && renderFooter('decade');\n const decadesEls = decades.map((row, decadeIndex) => {\n const tds = row.map(decadeData => {\n const dStartDecade = decadeData.startDecade;\n const dEndDecade = decadeData.endDecade;\n const isLast = dStartDecade < startYear;\n const isNext = dEndDecade > endYear;\n const classNameMap = {\n [`${prefixCls}-cell`]: 1,\n [`${prefixCls}-selected-cell`]: dStartDecade <= currentYear && currentYear <= dEndDecade,\n [`${prefixCls}-last-century-cell`]: isLast,\n [`${prefixCls}-next-century-cell`]: isNext,\n };\n const content = `${dStartDecade}-${dEndDecade}`;\n let clickHandler = noop;\n if (isLast) {\n clickHandler = this.previousCentury;\n } else if (isNext) {\n clickHandler = this.nextCentury;\n } else {\n clickHandler = chooseDecade.bind(this, dStartDecade);\n }\n return (\n <td key={dStartDecade} onClick={clickHandler} role=\"gridcell\" class={classNameMap}>\n <a class={`${prefixCls}-decade`}>{content}</a>\n </td>\n );\n });\n return (\n <tr key={decadeIndex} role=\"row\">\n {tds}\n </tr>\n );\n });\n\n return (\n <div class={prefixCls}>\n <div class={`${prefixCls}-header`}>\n <a\n class={`${prefixCls}-prev-century-btn`}\n role=\"button\"\n onClick={this.previousCentury}\n title={locale.previousCentury}\n />\n\n <div class={`${prefixCls}-century`}>\n {startYear}-{endYear}\n </div>\n <a\n class={`${prefixCls}-next-century-btn`}\n role=\"button\"\n onClick={this.nextCentury}\n title={locale.nextCentury}\n />\n </div>\n <div class={`${prefixCls}-body`}>\n <table class={`${prefixCls}-table`} cellSpacing=\"0\" role=\"grid\">\n <tbody class={`${prefixCls}-tbody`}>{decadesEls}</tbody>\n </table>\n </div>\n {footer && <div class={`${prefixCls}-footer`}>{footer}</div>}\n </div>\n );\n },\n};\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { getOptionProps, getListeners } from '../../../_util/props-util';\nimport MonthPanel from '../month/MonthPanel';\nimport YearPanel from '../year/YearPanel';\nimport DecadePanel from '../decade/DecadePanel';\nfunction noop() {}\nfunction goMonth(direction) {\n const next = this.value.clone();\n next.add(direction, 'months');\n this.__emit('valueChange', next);\n}\n\nfunction goYear(direction) {\n const next = this.value.clone();\n next.add(direction, 'years');\n this.__emit('valueChange', next);\n}\n\nfunction showIf(condition, el) {\n return condition ? el : null;\n}\n\nconst CalendarHeader = {\n name: 'CalendarHeader',\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n value: PropTypes.object,\n // onValueChange: PropTypes.func,\n showTimePicker: PropTypes.bool,\n // onPanelChange: PropTypes.func,\n locale: PropTypes.object,\n enablePrev: PropTypes.any.def(1),\n enableNext: PropTypes.any.def(1),\n disabledMonth: PropTypes.func,\n mode: PropTypes.any,\n monthCellRender: PropTypes.func,\n monthCellContentRender: PropTypes.func,\n renderFooter: PropTypes.func,\n },\n data() {\n this.nextMonth = goMonth.bind(this, 1);\n this.previousMonth = goMonth.bind(this, -1);\n this.nextYear = goYear.bind(this, 1);\n this.previousYear = goYear.bind(this, -1);\n return {\n yearPanelReferer: null,\n };\n },\n methods: {\n onMonthSelect(value) {\n this.__emit('panelChange', value, 'date');\n if (getListeners(this).monthSelect) {\n this.__emit('monthSelect', value);\n } else {\n this.__emit('valueChange', value);\n }\n },\n\n onYearSelect(value) {\n const referer = this.yearPanelReferer;\n this.setState({ yearPanelReferer: null });\n this.__emit('panelChange', value, referer);\n this.__emit('valueChange', value);\n },\n\n onDecadeSelect(value) {\n this.__emit('panelChange', value, 'year');\n this.__emit('valueChange', value);\n },\n\n changeYear(direction) {\n if (direction > 0) {\n this.nextYear();\n } else {\n this.previousYear();\n }\n },\n\n monthYearElement(showTimePicker) {\n const props = this.$props;\n const prefixCls = props.prefixCls;\n const locale = props.locale;\n const value = props.value;\n const localeData = value.localeData();\n const monthBeforeYear = locale.monthBeforeYear;\n const selectClassName = `${prefixCls}-${monthBeforeYear ? 'my-select' : 'ym-select'}`;\n const timeClassName = showTimePicker ? ` ${prefixCls}-time-status` : '';\n const year = (\n <a\n class={`${prefixCls}-year-select${timeClassName}`}\n role=\"button\"\n onClick={showTimePicker ? noop : () => this.showYearPanel('date')}\n title={showTimePicker ? null : locale.yearSelect}\n >\n {value.format(locale.yearFormat)}\n </a>\n );\n const month = (\n <a\n class={`${prefixCls}-month-select${timeClassName}`}\n role=\"button\"\n onClick={showTimePicker ? noop : this.showMonthPanel}\n title={showTimePicker ? null : locale.monthSelect}\n >\n {locale.monthFormat ? value.format(locale.monthFormat) : localeData.monthsShort(value)}\n </a>\n );\n let day;\n if (showTimePicker) {\n day = (\n <a class={`${prefixCls}-day-select${timeClassName}`} role=\"button\">\n {value.format(locale.dayFormat)}\n </a>\n );\n }\n let my = [];\n if (monthBeforeYear) {\n my = [month, day, year];\n } else {\n my = [year, month, day];\n }\n return <span class={selectClassName}>{my}</span>;\n },\n\n showMonthPanel() {\n // null means that users' interaction doesn't change value\n this.__emit('panelChange', null, 'month');\n },\n\n showYearPanel(referer) {\n this.setState({ yearPanelReferer: referer });\n this.__emit('panelChange', null, 'year');\n },\n\n showDecadePanel() {\n this.__emit('panelChange', null, 'decade');\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const {\n prefixCls,\n locale,\n mode,\n value,\n showTimePicker,\n enableNext,\n enablePrev,\n disabledMonth,\n renderFooter,\n } = props;\n\n let panel = null;\n if (mode === 'month') {\n panel = (\n <MonthPanel\n locale={locale}\n value={value}\n rootPrefixCls={prefixCls}\n onSelect={this.onMonthSelect}\n onYearPanelShow={() => this.showYearPanel('month')}\n disabledDate={disabledMonth}\n cellRender={props.monthCellRender}\n contentRender={props.monthCellContentRender}\n renderFooter={renderFooter}\n changeYear={this.changeYear}\n />\n );\n }\n if (mode === 'year') {\n panel = (\n <YearPanel\n locale={locale}\n value={value}\n rootPrefixCls={prefixCls}\n onSelect={this.onYearSelect}\n onDecadePanelShow={this.showDecadePanel}\n renderFooter={renderFooter}\n disabledDate={disabledMonth}\n />\n );\n }\n if (mode === 'decade') {\n panel = (\n <DecadePanel\n locale={locale}\n value={value}\n rootPrefixCls={prefixCls}\n onSelect={this.onDecadeSelect}\n renderFooter={renderFooter}\n />\n );\n }\n\n return (\n <div class={`${prefixCls}-header`}>\n <div style={{ position: 'relative' }}>\n {showIf(\n enablePrev && !showTimePicker,\n <a\n class={`${prefixCls}-prev-year-btn`}\n role=\"button\"\n onClick={this.previousYear}\n title={locale.previousYear}\n />,\n )}\n {showIf(\n enablePrev && !showTimePicker,\n <a\n class={`${prefixCls}-prev-month-btn`}\n role=\"button\"\n onClick={this.previousMonth}\n title={locale.previousMonth}\n />,\n )}\n {this.monthYearElement(showTimePicker)}\n {showIf(\n enableNext && !showTimePicker,\n <a\n class={`${prefixCls}-next-month-btn`}\n onClick={this.nextMonth}\n title={locale.nextMonth}\n />,\n )}\n {showIf(\n enableNext && !showTimePicker,\n <a\n class={`${prefixCls}-next-year-btn`}\n onClick={this.nextYear}\n title={locale.nextYear}\n />,\n )}\n </div>\n {panel}\n </div>\n );\n },\n};\n\nexport default CalendarHeader;\n","import { getTodayTimeStr, getTodayTime, isAllowedDate } from '../util/';\nfunction noop() {}\nexport default {\n functional: true,\n render(createElement, context) {\n const { props, listeners = {} } = context;\n const {\n prefixCls,\n locale,\n value,\n timePicker,\n disabled,\n disabledDate,\n // onToday,\n text,\n } = props;\n const { today = noop } = listeners;\n const localeNow = (!text && timePicker ? locale.now : text) || locale.today;\n const disabledToday = disabledDate && !isAllowedDate(getTodayTime(value), disabledDate);\n const isDisabled = disabledToday || disabled;\n const disabledTodayClass = isDisabled ? `${prefixCls}-today-btn-disabled` : '';\n return (\n <a\n class={`${prefixCls}-today-btn ${disabledTodayClass}`}\n role=\"button\"\n onClick={isDisabled ? noop : today}\n title={getTodayTimeStr(value)}\n >\n {localeNow}\n </a>\n );\n },\n};\n","function noop() {}\nexport default {\n functional: true,\n render(createElement, context) {\n const { props, listeners = {} } = context;\n const { prefixCls, locale, okDisabled } = props;\n const { ok = noop } = listeners;\n let className = `${prefixCls}-ok-btn`;\n if (okDisabled) {\n className += ` ${prefixCls}-ok-btn-disabled`;\n }\n return (\n <a class={className} role=\"button\" onClick={okDisabled ? noop : ok}>\n {locale.ok}\n </a>\n );\n },\n};\n","function noop() {}\nexport default {\n functional: true,\n render(h, context) {\n const { props, listeners = {} } = context;\n const { prefixCls, locale, showTimePicker, timePickerDisabled } = props;\n const { closeTimePicker = noop, openTimePicker = noop } = listeners;\n const className = {\n [`${prefixCls}-time-picker-btn`]: true,\n [`${prefixCls}-time-picker-btn-disabled`]: timePickerDisabled,\n };\n let onClick = noop;\n if (!timePickerDisabled) {\n onClick = showTimePicker ? closeTimePicker : openTimePicker;\n }\n return (\n <a class={className} role=\"button\" onClick={onClick}>\n {showTimePicker ? locale.dateSelect : locale.timeSelect}\n </a>\n );\n },\n};\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { getOptionProps, getListeners } from '../../../_util/props-util';\nimport TodayButton from './TodayButton';\nimport OkButton from './OkButton';\nimport TimePickerButton from './TimePickerButton';\n\nconst CalendarFooter = {\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n showDateInput: PropTypes.bool,\n disabledTime: PropTypes.any,\n timePicker: PropTypes.any,\n selectedValue: PropTypes.any,\n showOk: PropTypes.bool,\n // onSelect: PropTypes.func,\n value: PropTypes.object,\n renderFooter: PropTypes.func,\n defaultValue: PropTypes.object,\n locale: PropTypes.object,\n showToday: PropTypes.bool,\n disabledDate: PropTypes.func,\n showTimePicker: PropTypes.bool,\n okDisabled: PropTypes.bool,\n mode: PropTypes.string,\n },\n methods: {\n onSelect(value) {\n this.__emit('select', value);\n },\n\n getRootDOMNode() {\n return this.$el;\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const { value, prefixCls, showOk, timePicker, renderFooter, showToday, mode } = props;\n let footerEl = null;\n const extraFooter = renderFooter && renderFooter(mode);\n if (showToday || timePicker || extraFooter) {\n const btnProps = {\n props: {\n ...props,\n value,\n },\n on: getListeners(this),\n };\n let nowEl = null;\n if (showToday) {\n nowEl = <TodayButton key=\"todayButton\" {...btnProps} />;\n }\n delete btnProps.props.value;\n let okBtn = null;\n if (showOk === true || (showOk !== false && !!timePicker)) {\n okBtn = <OkButton key=\"okButton\" {...btnProps} />;\n }\n let timePickerBtn = null;\n if (timePicker) {\n timePickerBtn = <TimePickerButton key=\"timePickerButton\" {...btnProps} />;\n }\n\n let footerBtn;\n if (nowEl || timePickerBtn || okBtn || extraFooter) {\n footerBtn = (\n <span class={`${prefixCls}-footer-btn`}>\n {extraFooter}\n {nowEl}\n {timePickerBtn}\n {okBtn}\n </span>\n );\n }\n const cls = {\n [`${prefixCls}-footer`]: true,\n [`${prefixCls}-footer-show-ok`]: !!okBtn,\n };\n footerEl = <div class={cls}>{footerBtn}</div>;\n }\n return footerEl;\n },\n};\n\nexport default CalendarFooter;\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { getComponentFromProp } from '../../../_util/props-util';\nimport moment from 'moment';\nimport { formatDate } from '../util';\nimport KeyCode from '../../../_util/KeyCode';\n\nlet cachedSelectionStart;\nlet cachedSelectionEnd;\nlet dateInputInstance;\n\nconst DateInput = {\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n timePicker: PropTypes.object,\n value: PropTypes.object,\n disabledTime: PropTypes.any,\n format: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.func,\n ]),\n locale: PropTypes.object,\n disabledDate: PropTypes.func,\n // onChange: PropTypes.func,\n // onClear: PropTypes.func,\n placeholder: PropTypes.string,\n // onSelect: PropTypes.func,\n selectedValue: PropTypes.object,\n clearIcon: PropTypes.any,\n inputMode: PropTypes.string,\n inputReadOnly: PropTypes.bool,\n },\n\n data() {\n const selectedValue = this.selectedValue;\n return {\n str: formatDate(selectedValue, this.format),\n invalid: false,\n hasFocus: false,\n };\n },\n watch: {\n selectedValue() {\n this.setState();\n },\n format() {\n this.setState();\n },\n },\n\n updated() {\n this.$nextTick(() => {\n if (\n dateInputInstance &&\n this.$data.hasFocus &&\n !this.invalid &&\n !(cachedSelectionStart === 0 && cachedSelectionEnd === 0)\n ) {\n dateInputInstance.setSelectionRange(cachedSelectionStart, cachedSelectionEnd);\n }\n });\n },\n getInstance() {\n return dateInputInstance;\n },\n methods: {\n getDerivedStateFromProps(nextProps, state) {\n let newState = {};\n if (dateInputInstance) {\n cachedSelectionStart = dateInputInstance.selectionStart;\n cachedSelectionEnd = dateInputInstance.selectionEnd;\n }\n // when popup show, click body will call this, bug!\n const selectedValue = nextProps.selectedValue;\n if (!state.hasFocus) {\n newState = {\n str: formatDate(selectedValue, this.format),\n invalid: false,\n };\n }\n return newState;\n },\n onClear() {\n this.setState({\n str: '',\n });\n this.__emit('clear', null);\n },\n onInputChange(e) {\n const { value: str, composing } = e.target;\n const { str: oldStr = '' } = this;\n if (e.isComposing || composing || oldStr === str) return;\n\n const { disabledDate, format, selectedValue } = this.$props;\n\n // 没有内容,合法并直接退出\n if (!str) {\n this.__emit('change', null);\n this.setState({\n invalid: false,\n str,\n });\n return;\n }\n\n // 不合法直接退出\n const parsed = moment(str, format, true);\n if (!parsed.isValid()) {\n this.setState({\n invalid: true,\n str,\n });\n return;\n }\n const value = this.value.clone();\n value\n .year(parsed.year())\n .month(parsed.month())\n .date(parsed.date())\n .hour(parsed.hour())\n .minute(parsed.minute())\n .second(parsed.second());\n\n if (!value || (disabledDate && disabledDate(value))) {\n this.setState({\n invalid: true,\n str,\n });\n return;\n }\n\n if (selectedValue !== value || (selectedValue && value && !selectedValue.isSame(value))) {\n this.setState({\n invalid: false,\n str,\n });\n this.__emit('change', value);\n }\n },\n onFocus() {\n this.setState({ hasFocus: true });\n },\n onBlur() {\n this.setState((prevState, prevProps) => ({\n hasFocus: false,\n str: formatDate(prevProps.value, prevProps.format),\n }));\n },\n onKeyDown(event) {\n const { keyCode } = event;\n const { value, disabledDate } = this.$props;\n if (keyCode === KeyCode.ENTER) {\n const validateDate = !disabledDate || !disabledDate(value);\n if (validateDate) {\n this.__emit('select', value.clone());\n }\n event.preventDefault();\n }\n },\n getRootDOMNode() {\n return this.$el;\n },\n focus() {\n if (dateInputInstance) {\n dateInputInstance.focus();\n }\n },\n saveDateInput(dateInput) {\n dateInputInstance = dateInput;\n },\n },\n\n render() {\n const {\n invalid,\n str,\n locale,\n prefixCls,\n placeholder,\n disabled,\n showClear,\n inputMode,\n inputReadOnly,\n } = this;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const invalidClass = invalid ? `${prefixCls}-input-invalid` : '';\n return (\n <div class={`${prefixCls}-input-wrap`}>\n <div class={`${prefixCls}-date-input-wrap`}>\n <input\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveDateInput,\n },\n {\n name: 'ant-input',\n },\n ],\n }}\n class={`${prefixCls}-input ${invalidClass}`}\n value={str}\n disabled={disabled}\n placeholder={placeholder}\n onInput={this.onInputChange}\n onKeydown={this.onKeyDown}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n inputMode={inputMode}\n readOnly={inputReadOnly}\n />\n </div>\n {showClear ? (\n <a role=\"button\" title={locale.clear} onClick={this.onClear}>\n {clearIcon || <span class={`${prefixCls}-clear-btn`} />}\n </a>\n ) : null}\n </div>\n );\n },\n};\n\nexport default DateInput;\n","export function goStartMonth(time) {\n return time.clone().startOf('month');\n}\n\nexport function goEndMonth(time) {\n return time.clone().endOf('month');\n}\n\nexport function goTime(time, direction, unit) {\n return time.clone().add(direction, unit);\n}\n\nexport function includesTime(timeList = [], time, unit) {\n return timeList.some(t => t.isSame(time, unit));\n}\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOptionProps, hasProp, getComponentFromProp } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport KeyCode from '../../_util/KeyCode';\nimport moment from 'moment';\nimport DateTable from './date/DateTable';\nimport CalendarHeader from './calendar/CalendarHeader';\nimport CalendarFooter from './calendar/CalendarFooter';\nimport CalendarMixin, { getNowByCurrentStateValue } from './mixin/CalendarMixin';\nimport CommonMixin from './mixin/CommonMixin';\nimport DateInput from './date/DateInput';\nimport enUs from './locale/en_US';\nimport { getTimeConfig, getTodayTime, syncTime } from './util';\nimport { goStartMonth, goEndMonth, goTime } from './util/toTime';\n\nconst getMomentObjectIfValid = date => {\n if (moment.isMoment(date) && date.isValid()) {\n return date;\n }\n return false;\n};\n\nconst Calendar = {\n name: 'Calendar',\n props: {\n locale: PropTypes.object.def(enUs),\n format: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.func,\n ]),\n visible: PropTypes.bool.def(true),\n prefixCls: PropTypes.string.def('rc-calendar'),\n // prefixCls: PropTypes.string,\n defaultValue: PropTypes.object,\n value: PropTypes.object,\n selectedValue: PropTypes.object,\n defaultSelectedValue: PropTypes.object,\n mode: PropTypes.oneOf(['time', 'date', 'month', 'year', 'decade']),\n // locale: PropTypes.object,\n showDateInput: PropTypes.bool.def(true),\n showWeekNumber: PropTypes.bool,\n showToday: PropTypes.bool.def(true),\n showOk: PropTypes.bool,\n // onSelect: PropTypes.func,\n // onOk: PropTypes.func,\n // onKeyDown: PropTypes.func,\n timePicker: PropTypes.any,\n dateInputPlaceholder: PropTypes.any,\n // onClear: PropTypes.func,\n // onChange: PropTypes.func,\n // onPanelChange: PropTypes.func,\n disabledDate: PropTypes.func,\n disabledTime: PropTypes.any,\n dateRender: PropTypes.func,\n renderFooter: PropTypes.func.def(() => null),\n renderSidebar: PropTypes.func.def(() => null),\n clearIcon: PropTypes.any,\n focusablePanel: PropTypes.bool.def(true),\n inputMode: PropTypes.string,\n inputReadOnly: PropTypes.bool,\n },\n\n mixins: [BaseMixin, CommonMixin, CalendarMixin],\n\n data() {\n const props = this.$props;\n return {\n sMode: this.mode || 'date',\n sValue:\n getMomentObjectIfValid(props.value) ||\n getMomentObjectIfValid(props.defaultValue) ||\n moment(),\n sSelectedValue: props.selectedValue || props.defaultSelectedValue,\n };\n },\n watch: {\n mode(val) {\n this.setState({ sMode: val });\n },\n value(val) {\n this.setState({\n sValue:\n getMomentObjectIfValid(val) ||\n getMomentObjectIfValid(this.defaultValue) ||\n getNowByCurrentStateValue(this.sValue),\n });\n },\n selectedValue(val) {\n this.setState({\n sSelectedValue: val,\n });\n },\n },\n mounted() {\n this.$nextTick(() => {\n this.saveFocusElement(DateInput.getInstance());\n });\n },\n methods: {\n onPanelChange(value, mode) {\n const { sValue } = this;\n if (!hasProp(this, 'mode')) {\n this.setState({ sMode: mode });\n }\n this.__emit('panelChange', value || sValue, mode);\n },\n onKeyDown(event) {\n if (event.target.nodeName.toLowerCase() === 'input') {\n return undefined;\n }\n const keyCode = event.keyCode;\n // mac\n const ctrlKey = event.ctrlKey || event.metaKey;\n const { disabledDate, sValue: value } = this;\n switch (keyCode) {\n case KeyCode.DOWN:\n this.goTime(1, 'weeks');\n event.preventDefault();\n return 1;\n case KeyCode.UP:\n this.goTime(-1, 'weeks');\n event.preventDefault();\n return 1;\n case KeyCode.LEFT:\n if (ctrlKey) {\n this.goTime(-1, 'years');\n } else {\n this.goTime(-1, 'days');\n }\n event.preventDefault();\n return 1;\n case KeyCode.RIGHT:\n if (ctrlKey) {\n this.goTime(1, 'years');\n } else {\n this.goTime(1, 'days');\n }\n event.preventDefault();\n return 1;\n case KeyCode.HOME:\n this.setValue(goStartMonth(value));\n event.preventDefault();\n return 1;\n case KeyCode.END:\n this.setValue(goEndMonth(value));\n event.preventDefault();\n return 1;\n case KeyCode.PAGE_DOWN:\n this.goTime(1, 'month');\n event.preventDefault();\n return 1;\n case KeyCode.PAGE_UP:\n this.goTime(-1, 'month');\n event.preventDefault();\n return 1;\n case KeyCode.ENTER:\n if (!disabledDate || !disabledDate(value)) {\n this.onSelect(value, {\n source: 'keyboard',\n });\n }\n event.preventDefault();\n return 1;\n default:\n this.__emit('keydown', event);\n return 1;\n }\n },\n\n onClear() {\n this.onSelect(null);\n this.__emit('clear');\n },\n\n onOk() {\n const { sSelectedValue } = this;\n if (this.isAllowedDate(sSelectedValue)) {\n this.__emit('ok', sSelectedValue);\n }\n },\n\n onDateInputChange(value) {\n this.onSelect(value, {\n source: 'dateInput',\n });\n },\n onDateInputSelect(value) {\n this.onSelect(value, {\n source: 'dateInputSelect',\n });\n },\n onDateTableSelect(value) {\n const { timePicker, sSelectedValue } = this;\n if (!sSelectedValue && timePicker) {\n const timePickerProps = getOptionProps(timePicker);\n const timePickerDefaultValue = timePickerProps.defaultValue;\n if (timePickerDefaultValue) {\n syncTime(timePickerDefaultValue, value);\n }\n }\n this.onSelect(value);\n },\n onToday() {\n const { sValue } = this;\n const now = getTodayTime(sValue);\n this.onSelect(now, {\n source: 'todayButton',\n });\n },\n\n onBlur(event) {\n setTimeout(() => {\n const dateInput = DateInput.getInstance();\n const rootInstance = this.rootInstance;\n\n if (\n !rootInstance ||\n rootInstance.contains(document.activeElement) ||\n (dateInput && dateInput.contains(document.activeElement))\n ) {\n // focused element is still part of Calendar\n return;\n }\n\n this.$emit('blur', event);\n }, 0);\n },\n\n getRootDOMNode() {\n return this.$el;\n },\n openTimePicker() {\n this.onPanelChange(null, 'time');\n },\n closeTimePicker() {\n this.onPanelChange(null, 'date');\n },\n goTime(direction, unit) {\n this.setValue(goTime(this.sValue, direction, unit));\n },\n },\n\n render() {\n const {\n locale,\n prefixCls,\n disabledDate,\n dateInputPlaceholder,\n timePicker,\n disabledTime,\n showDateInput,\n sValue,\n sSelectedValue,\n sMode,\n renderFooter,\n inputMode,\n inputReadOnly,\n monthCellRender,\n monthCellContentRender,\n $props: props,\n } = this;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const showTimePicker = sMode === 'time';\n const disabledTimeConfig =\n showTimePicker && disabledTime && timePicker\n ? getTimeConfig(sSelectedValue, disabledTime)\n : null;\n\n let timePickerEle = null;\n\n if (timePicker && showTimePicker) {\n const timePickerOriginProps = getOptionProps(timePicker);\n const timePickerProps = {\n props: {\n showHour: true,\n showSecond: true,\n showMinute: true,\n ...timePickerOriginProps,\n ...disabledTimeConfig,\n value: sSelectedValue,\n disabledTime,\n },\n on: {\n change: this.onDateInputChange,\n },\n };\n\n if (timePickerOriginProps.defaultValue !== undefined) {\n timePickerProps.props.defaultOpenValue = timePickerOriginProps.defaultValue;\n }\n timePickerEle = cloneElement(timePicker, timePickerProps);\n }\n\n const dateInputElement = showDateInput ? (\n <DateInput\n format={this.getFormat()}\n key=\"date-input\"\n value={sValue}\n locale={locale}\n placeholder={dateInputPlaceholder}\n showClear\n disabledTime={disabledTime}\n disabledDate={disabledDate}\n onClear={this.onClear}\n prefixCls={prefixCls}\n selectedValue={sSelectedValue}\n onChange={this.onDateInputChange}\n clearIcon={clearIcon}\n onSelect={this.onDateInputSelect}\n inputMode={inputMode}\n inputReadOnly={inputReadOnly}\n />\n ) : null;\n const children = [];\n if (props.renderSidebar) {\n children.push(props.renderSidebar());\n }\n children.push(\n <div class={`${prefixCls}-panel`} key=\"panel\">\n {dateInputElement}\n <div tabIndex={props.focusablePanel ? 0 : undefined} class={`${prefixCls}-date-panel`}>\n <CalendarHeader\n locale={locale}\n mode={sMode}\n value={sValue}\n disabledMonth={disabledDate}\n onValueChange={this.setValue}\n onPanelChange={this.onPanelChange}\n renderFooter={renderFooter}\n showTimePicker={showTimePicker}\n prefixCls={prefixCls}\n monthCellRender={monthCellRender}\n monthCellContentRender={monthCellContentRender}\n />\n {timePicker && showTimePicker ? (\n <div class={`${prefixCls}-time-picker`}>\n <div class={`${prefixCls}-time-picker-panel`}>{timePickerEle}</div>\n </div>\n ) : null}\n <div class={`${prefixCls}-body`}>\n <DateTable\n locale={locale}\n value={sValue}\n selectedValue={sSelectedValue}\n prefixCls={prefixCls}\n dateRender={props.dateRender}\n onSelect={this.onDateTableSelect}\n disabledDate={disabledDate}\n showWeekNumber={props.showWeekNumber}\n />\n </div>\n\n <CalendarFooter\n showOk={props.showOk}\n mode={sMode}\n renderFooter={props.renderFooter}\n locale={locale}\n prefixCls={prefixCls}\n showToday={props.showToday}\n disabledTime={disabledTime}\n showTimePicker={showTimePicker}\n showDateInput={props.showDateInput}\n timePicker={timePicker}\n selectedValue={sSelectedValue}\n timePickerDisabled={!sSelectedValue}\n value={sValue}\n disabledDate={disabledDate}\n okDisabled={\n props.showOk !== false && (!sSelectedValue || !this.isAllowedDate(sSelectedValue))\n }\n onOk={this.onOk}\n onSelect={this.onSelect}\n onToday={this.onToday}\n onOpenTimePicker={this.openTimePicker}\n onCloseTimePicker={this.closeTimePicker}\n />\n </div>\n </div>,\n );\n\n return this.renderRoot({\n children,\n class: props.showWeekNumber ? `${prefixCls}-week-number` : '',\n });\n },\n};\n\nexport default Calendar;\n","import Calendar from './Calendar';\n\nexport default Calendar;\n","// based on rc-calendar 9.15.10\nimport Vue from 'vue';\nimport ref from 'vue-ref';\nimport Calendar from './src/';\n\nVue.use(ref, { name: 'ant-ref' });\n\nexport default Calendar;\n","import moment from 'moment';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport KeyCode from '../../_util/KeyCode';\nimport CalendarHeader from './calendar/CalendarHeader';\nimport CalendarFooter from './calendar/CalendarFooter';\nimport CalendarMixin from './mixin/CalendarMixin';\nimport CommonMixin from './mixin/CommonMixin';\nimport enUs from './locale/en_US';\nconst MonthCalendar = {\n name: 'MonthCalendar',\n props: {\n locale: PropTypes.object.def(enUs),\n format: PropTypes.string,\n visible: PropTypes.bool.def(true),\n prefixCls: PropTypes.string.def('rc-calendar'),\n monthCellRender: PropTypes.func,\n value: PropTypes.object,\n defaultValue: PropTypes.object,\n selectedValue: PropTypes.object,\n defaultSelectedValue: PropTypes.object,\n disabledDate: PropTypes.func,\n monthCellContentRender: PropTypes.func,\n renderFooter: PropTypes.func.def(() => null),\n renderSidebar: PropTypes.func.def(() => null),\n },\n mixins: [BaseMixin, CommonMixin, CalendarMixin],\n\n data() {\n const props = this.$props;\n return {\n mode: 'month',\n sValue: props.value || props.defaultValue || moment(),\n sSelectedValue: props.selectedValue || props.defaultSelectedValue,\n };\n },\n methods: {\n onKeyDown(event) {\n const keyCode = event.keyCode;\n const ctrlKey = event.ctrlKey || event.metaKey;\n const stateValue = this.sValue;\n const { disabledDate } = this;\n let value = stateValue;\n switch (keyCode) {\n case KeyCode.DOWN:\n value = stateValue.clone();\n value.add(3, 'months');\n break;\n case KeyCode.UP:\n value = stateValue.clone();\n value.add(-3, 'months');\n break;\n case KeyCode.LEFT:\n value = stateValue.clone();\n if (ctrlKey) {\n value.add(-1, 'years');\n } else {\n value.add(-1, 'months');\n }\n break;\n case KeyCode.RIGHT:\n value = stateValue.clone();\n if (ctrlKey) {\n value.add(1, 'years');\n } else {\n value.add(1, 'months');\n }\n break;\n case KeyCode.ENTER:\n if (!disabledDate || !disabledDate(stateValue)) {\n this.onSelect(stateValue);\n }\n event.preventDefault();\n return 1;\n default:\n return undefined;\n }\n if (value !== stateValue) {\n this.setValue(value);\n event.preventDefault();\n return 1;\n }\n },\n\n handlePanelChange(_, mode) {\n if (mode !== 'date') {\n this.setState({ mode });\n }\n },\n },\n\n render() {\n const { mode, sValue: value, $props: props, $scopedSlots } = this;\n const { prefixCls, locale, disabledDate } = props;\n const monthCellRender = this.monthCellRender || $scopedSlots.monthCellRender;\n const monthCellContentRender =\n this.monthCellContentRender || $scopedSlots.monthCellContentRender;\n const renderFooter = this.renderFooter || $scopedSlots.renderFooter;\n const children = (\n <div class={`${prefixCls}-month-calendar-content`}>\n <div class={`${prefixCls}-month-header-wrap`}>\n <CalendarHeader\n prefixCls={prefixCls}\n mode={mode}\n value={value}\n locale={locale}\n disabledMonth={disabledDate}\n monthCellRender={monthCellRender}\n monthCellContentRender={monthCellContentRender}\n onMonthSelect={this.onSelect}\n onValueChange={this.setValue}\n onPanelChange={this.handlePanelChange}\n />\n </div>\n <CalendarFooter prefixCls={prefixCls} renderFooter={renderFooter} />\n </div>\n );\n return this.renderRoot({\n class: `${props.prefixCls}-month-calendar`,\n children,\n });\n },\n};\n\nexport default MonthCalendar;\n","/**\n * Safe chained function\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n *\n * @returns {function|null}\n */\nexport default function createChainedFunction() {\n const args = [].slice.call(arguments, 0);\n if (args.length === 1) {\n return args[0];\n }\n\n return function chainedFunction() {\n for (let i = 0; i < args.length; i++) {\n if (args[i] && args[i].apply) {\n args[i].apply(this, arguments);\n }\n }\n };\n}\n","const autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1,\n};\n\nconst targetOffset = [0, 0];\n\nconst placements = {\n bottomLeft: {\n points: ['tl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -3],\n targetOffset,\n },\n bottomRight: {\n points: ['tr', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -3],\n targetOffset,\n },\n topRight: {\n points: ['br', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 3],\n targetOffset,\n },\n topLeft: {\n points: ['bl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 3],\n targetOffset,\n },\n};\n\nexport default placements;\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOptionProps, hasProp, getEvents, getStyle } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport createChainedFunction from '../../_util/createChainedFunction';\nimport KeyCode from '../../_util/KeyCode';\nimport placements from './picker/placements';\nimport Trigger from '../../vc-trigger';\nimport moment from 'moment';\nimport isNil from 'lodash/isNil';\nconst TimeType = {\n validator(value) {\n if (Array.isArray(value)) {\n return (\n value.length === 0 || value.findIndex(val => !isNil(val) && !moment.isMoment(val)) === -1\n );\n } else {\n return isNil(value) || moment.isMoment(value);\n }\n },\n};\nconst Picker = {\n name: 'Picker',\n props: {\n animation: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),\n disabled: PropTypes.bool,\n transitionName: PropTypes.string,\n format: PropTypes.oneOfType([PropTypes.string, PropTypes.array, PropTypes.func]),\n // onChange: PropTypes.func,\n // onOpenChange: PropTypes.func,\n children: PropTypes.func,\n getCalendarContainer: PropTypes.func,\n calendar: PropTypes.any,\n open: PropTypes.bool,\n defaultOpen: PropTypes.bool.def(false),\n prefixCls: PropTypes.string.def('rc-calendar-picker'),\n placement: PropTypes.any.def('bottomLeft'),\n value: TimeType,\n defaultValue: TimeType,\n align: PropTypes.object.def(() => ({})),\n dropdownClassName: PropTypes.string,\n dateRender: PropTypes.func,\n },\n mixins: [BaseMixin],\n\n data() {\n const props = this.$props;\n let open;\n if (hasProp(this, 'open')) {\n open = props.open;\n } else {\n open = props.defaultOpen;\n }\n const value = props.value || props.defaultValue;\n return {\n sOpen: open,\n sValue: value,\n };\n },\n watch: {\n value(val) {\n this.setState({\n sValue: val,\n });\n },\n open(val) {\n this.setState({\n sOpen: val,\n });\n },\n },\n mounted() {\n this.preSOpen = this.sOpen;\n },\n updated() {\n if (!this.preSOpen && this.sOpen) {\n // setTimeout is for making sure saveCalendarRef happen before focusCalendar\n this.focusTimeout = setTimeout(this.focusCalendar, 0);\n }\n this.preSOpen = this.sOpen;\n },\n\n beforeDestroy() {\n clearTimeout(this.focusTimeout);\n },\n methods: {\n onCalendarKeyDown(event) {\n if (event.keyCode === KeyCode.ESC) {\n event.stopPropagation();\n this.closeCalendar(this.focus);\n }\n },\n\n onCalendarSelect(value, cause = {}) {\n const props = this.$props;\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n });\n }\n const calendarProps = getOptionProps(props.calendar);\n if (\n cause.source === 'keyboard' ||\n cause.source === 'dateInputSelect' ||\n (!calendarProps.timePicker && cause.source !== 'dateInput') ||\n cause.source === 'todayButton'\n ) {\n this.closeCalendar(this.focus);\n }\n this.__emit('change', value);\n },\n\n onKeyDown(event) {\n if (!this.sOpen && (event.keyCode === KeyCode.DOWN || event.keyCode === KeyCode.ENTER)) {\n this.openCalendar();\n event.preventDefault();\n }\n },\n\n onCalendarOk() {\n this.closeCalendar(this.focus);\n },\n\n onCalendarClear() {\n this.closeCalendar(this.focus);\n },\n\n onCalendarBlur() {\n this.setOpen(false);\n },\n\n onVisibleChange(open) {\n this.setOpen(open);\n },\n\n getCalendarElement() {\n const props = this.$props;\n const calendarProps = getOptionProps(props.calendar);\n const calendarEvents = getEvents(props.calendar);\n const { sValue: value } = this;\n const defaultValue = value;\n const extraProps = {\n ref: 'calendarInstance',\n props: {\n defaultValue: defaultValue || calendarProps.defaultValue,\n selectedValue: value,\n },\n on: {\n keydown: this.onCalendarKeyDown,\n ok: createChainedFunction(calendarEvents.ok, this.onCalendarOk),\n select: createChainedFunction(calendarEvents.select, this.onCalendarSelect),\n clear: createChainedFunction(calendarEvents.clear, this.onCalendarClear),\n blur: createChainedFunction(calendarEvents.blur, this.onCalendarBlur),\n },\n };\n\n return cloneElement(props.calendar, extraProps);\n },\n\n setOpen(open, callback) {\n if (this.sOpen !== open) {\n if (!hasProp(this, 'open')) {\n this.setState(\n {\n sOpen: open,\n },\n callback,\n );\n }\n this.__emit('openChange', open);\n }\n },\n\n openCalendar(callback) {\n this.setOpen(true, callback);\n },\n\n closeCalendar(callback) {\n this.setOpen(false, callback);\n },\n\n focus() {\n if (!this.sOpen) {\n this.$el.focus();\n }\n },\n\n focusCalendar() {\n if (this.sOpen && this.calendarInstance && this.calendarInstance.componentInstance) {\n this.calendarInstance.componentInstance.focus();\n }\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const style = getStyle(this);\n const {\n prefixCls,\n placement,\n getCalendarContainer,\n align,\n animation,\n disabled,\n dropdownClassName,\n transitionName,\n } = props;\n const { sValue, sOpen } = this;\n const children = this.$scopedSlots.default;\n const childrenState = {\n value: sValue,\n open: sOpen,\n };\n if (this.sOpen || !this.calendarInstance) {\n this.calendarInstance = this.getCalendarElement();\n }\n\n return (\n <Trigger\n popupAlign={align}\n builtinPlacements={placements}\n popupPlacement={placement}\n action={disabled && !sOpen ? [] : ['click']}\n destroyPopupOnHide\n getPopupContainer={getCalendarContainer}\n popupStyle={style}\n popupAnimation={animation}\n popupTransitionName={transitionName}\n popupVisible={sOpen}\n onPopupVisibleChange={this.onVisibleChange}\n prefixCls={prefixCls}\n popupClassName={dropdownClassName}\n >\n <template slot=\"popup\">{this.calendarInstance}</template>\n {cloneElement(children(childrenState, props), { on: { keydown: this.onKeyDown } })}\n </Trigger>\n );\n },\n};\n\nexport default Picker;\n","export function formatDate(value, format) {\n if (!value) {\n return '';\n }\n if (Array.isArray(format)) {\n format = format[0];\n }\n if (typeof format === 'function') {\n const result = format(value);\n if (typeof result === 'string') {\n return result;\n } else {\n throw new Error('The function of format does not return a string');\n }\n }\n return value.format(format);\n}\n","import * as moment from 'moment';\nimport omit from 'lodash/omit';\nimport MonthCalendar from '../vc-calendar/src/MonthCalendar';\nimport VcDatePicker from '../vc-calendar/src/Picker';\nimport classNames from 'classnames';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport interopDefault from '../_util/interopDefault';\nimport BaseMixin from '../_util/BaseMixin';\nimport {\n hasProp,\n getOptionProps,\n initDefaultProps,\n mergeProps,\n getComponentFromProp,\n isValidElement,\n getListeners,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport { formatDate } from './utils';\n\n// export const PickerProps = {\n// value?: moment.Moment;\n// prefixCls: string;\n// }\nfunction noop() {}\nexport default function createPicker(TheCalendar, props) {\n return {\n props: initDefaultProps(props, {\n allowClear: true,\n showToday: true,\n }),\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change',\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const value = this.value || this.defaultValue;\n if (value && !interopDefault(moment).isMoment(value)) {\n throw new Error(\n 'The value/defaultValue of DatePicker or MonthPicker must be ' + 'a moment object',\n );\n }\n return {\n sValue: value,\n showDate: value,\n _open: !!this.open,\n };\n },\n watch: {\n open(val) {\n const props = getOptionProps(this);\n const state = {};\n state._open = val;\n if ('value' in props && !val && props.value !== this.showDate) {\n state.showDate = props.value;\n }\n this.setState(state);\n },\n value(val) {\n const state = {};\n state.sValue = val;\n if (val !== this.sValue) {\n state.showDate = val;\n }\n this.setState(state);\n },\n _open(val, oldVal) {\n this.$nextTick(() => {\n if (!hasProp(this, 'open') && oldVal && !val) {\n this.focus();\n }\n });\n },\n },\n methods: {\n clearSelection(e) {\n e.preventDefault();\n e.stopPropagation();\n this.handleChange(null);\n },\n\n handleChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n showDate: value,\n });\n }\n this.$emit('change', value, formatDate(value, this.format));\n },\n\n handleCalendarChange(value) {\n this.setState({ showDate: value });\n },\n handleOpenChange(open) {\n const props = getOptionProps(this);\n if (!('open' in props)) {\n this.setState({ _open: open });\n }\n this.$emit('openChange', open);\n },\n focus() {\n this.$refs.input.focus();\n },\n\n blur() {\n this.$refs.input.blur();\n },\n renderFooter(...args) {\n const { $scopedSlots, $slots, _prefixCls: prefixCls } = this;\n const renderExtraFooter =\n this.renderExtraFooter || $scopedSlots.renderExtraFooter || $slots.renderExtraFooter;\n return renderExtraFooter ? (\n <div class={`${prefixCls}-footer-extra`}>\n {typeof renderExtraFooter === 'function'\n ? renderExtraFooter(...args)\n : renderExtraFooter}\n </div>\n ) : null;\n },\n onMouseEnter(e) {\n this.$emit('mouseenter', e);\n },\n onMouseLeave(e) {\n this.$emit('mouseleave', e);\n },\n },\n\n render() {\n const { $scopedSlots } = this;\n const { sValue: value, showDate, _open: open } = this.$data;\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n const listeners = getListeners(this);\n const { panelChange = noop, focus = noop, blur = noop, ok = noop } = listeners;\n const props = getOptionProps(this);\n\n const { prefixCls: customizePrefixCls, locale, localeCode, inputReadOnly } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('calendar', customizePrefixCls);\n this._prefixCls = prefixCls;\n\n const dateRender = props.dateRender || $scopedSlots.dateRender;\n const monthCellContentRender =\n props.monthCellContentRender || $scopedSlots.monthCellContentRender;\n const placeholder = 'placeholder' in props ? props.placeholder : locale.lang.placeholder;\n\n const disabledTime = props.showTime ? props.disabledTime : null;\n\n const calendarClassName = classNames({\n [`${prefixCls}-time`]: props.showTime,\n [`${prefixCls}-month`]: MonthCalendar === TheCalendar,\n });\n\n if (value && localeCode) {\n value.locale(localeCode);\n }\n\n const pickerProps = { props: {}, on: {} };\n const calendarProps = { props: {}, on: {} };\n const pickerStyle = {};\n if (props.showTime) {\n // fix https://github.com/ant-design/ant-design/issues/1902\n calendarProps.on.select = this.handleChange;\n pickerStyle.minWidth = '195px';\n } else {\n pickerProps.on.change = this.handleChange;\n }\n if ('mode' in props) {\n calendarProps.props.mode = props.mode;\n }\n const theCalendarProps = mergeProps(calendarProps, {\n props: {\n disabledDate: props.disabledDate,\n disabledTime,\n locale: locale.lang,\n timePicker: props.timePicker,\n defaultValue: props.defaultPickerValue || interopDefault(moment)(),\n dateInputPlaceholder: placeholder,\n prefixCls,\n dateRender,\n format: props.format,\n showToday: props.showToday,\n monthCellContentRender,\n renderFooter: this.renderFooter,\n value: showDate,\n inputReadOnly,\n },\n on: {\n ok,\n panelChange,\n change: this.handleCalendarChange,\n },\n class: calendarClassName,\n scopedSlots: $scopedSlots,\n });\n const calendar = <TheCalendar {...theCalendarProps} />;\n\n const clearIcon =\n !props.disabled && props.allowClear && value ? (\n <Icon\n type=\"close-circle\"\n class={`${prefixCls}-picker-clear`}\n onClick={this.clearSelection}\n theme=\"filled\"\n />\n ) : null;\n\n const inputIcon = (suffixIcon &&\n (isValidElement(suffixIcon) ? (\n cloneElement(suffixIcon, {\n class: `${prefixCls}-picker-icon`,\n })\n ) : (\n <span class={`${prefixCls}-picker-icon`}>{suffixIcon}</span>\n ))) || <Icon type=\"calendar\" class={`${prefixCls}-picker-icon`} />;\n\n const input = ({ value: inputValue }) => (\n <div>\n <input\n ref=\"input\"\n disabled={props.disabled}\n onFocus={focus}\n onBlur={blur}\n readOnly\n value={formatDate(inputValue, this.format)}\n placeholder={placeholder}\n class={props.pickerInputClass}\n tabIndex={props.tabIndex}\n name={this.name}\n />\n {clearIcon}\n {inputIcon}\n </div>\n );\n const vcDatePickerProps = {\n props: {\n ...props,\n ...pickerProps.props,\n calendar,\n value,\n prefixCls: `${prefixCls}-picker-container`,\n },\n on: {\n ...omit(listeners, 'change'),\n ...pickerProps.on,\n open,\n onOpenChange: this.handleOpenChange,\n },\n style: props.popupStyle,\n scopedSlots: { default: input, ...$scopedSlots },\n };\n return (\n <span\n class={props.pickerClass}\n style={pickerStyle}\n // tabIndex={props.disabled ? -1 : 0}\n // onFocus={focus}\n // onBlur={blur}\n onMouseenter={this.onMouseEnter}\n onMouseleave={this.onMouseLeave}\n >\n <VcDatePicker {...vcDatePickerProps} />\n </span>\n );\n },\n };\n}\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport moment from 'moment';\n\nconst Header = {\n mixins: [BaseMixin],\n props: {\n format: PropTypes.string,\n prefixCls: PropTypes.string,\n disabledDate: PropTypes.func,\n placeholder: PropTypes.string,\n clearText: PropTypes.string,\n value: PropTypes.object,\n inputReadOnly: PropTypes.bool.def(false),\n hourOptions: PropTypes.array,\n minuteOptions: PropTypes.array,\n secondOptions: PropTypes.array,\n disabledHours: PropTypes.func,\n disabledMinutes: PropTypes.func,\n disabledSeconds: PropTypes.func,\n // onChange: PropTypes.func,\n // onClear: PropTypes.func,\n // onEsc: PropTypes.func,\n allowEmpty: PropTypes.bool,\n defaultOpenValue: PropTypes.object,\n currentSelectPanel: PropTypes.string,\n focusOnOpen: PropTypes.bool,\n // onKeyDown: PropTypes.func,\n clearIcon: PropTypes.any,\n },\n data() {\n const { value, format } = this;\n return {\n str: (value && value.format(format)) || '',\n invalid: false,\n };\n },\n\n mounted() {\n if (this.focusOnOpen) {\n // Wait one frame for the panel to be positioned before focusing\n const requestAnimationFrame = window.requestAnimationFrame || window.setTimeout;\n requestAnimationFrame(() => {\n this.$refs.input.focus();\n this.$refs.input.select();\n });\n }\n },\n watch: {\n value(val) {\n this.$nextTick(() => {\n this.setState({\n str: (val && val.format(this.format)) || '',\n invalid: false,\n });\n });\n },\n },\n\n methods: {\n onInputChange(e) {\n const { value: str, composing } = e.target;\n const { str: oldStr = '' } = this;\n if (e.isComposing || composing || oldStr === str) return;\n\n this.setState({\n str,\n });\n const {\n format,\n hourOptions,\n minuteOptions,\n secondOptions,\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n value: originalValue,\n } = this;\n\n if (str) {\n const value = this.getProtoValue().clone();\n const parsed = moment(str, format, true);\n if (!parsed.isValid()) {\n this.setState({\n invalid: true,\n });\n return;\n }\n value\n .hour(parsed.hour())\n .minute(parsed.minute())\n .second(parsed.second());\n\n // if time value not allowed, response warning.\n if (\n hourOptions.indexOf(value.hour()) < 0 ||\n minuteOptions.indexOf(value.minute()) < 0 ||\n secondOptions.indexOf(value.second()) < 0\n ) {\n this.setState({\n invalid: true,\n });\n return;\n }\n\n // if time value is disabled, response warning.\n const disabledHourOptions = disabledHours();\n const disabledMinuteOptions = disabledMinutes(value.hour());\n const disabledSecondOptions = disabledSeconds(value.hour(), value.minute());\n if (\n (disabledHourOptions && disabledHourOptions.indexOf(value.hour()) >= 0) ||\n (disabledMinuteOptions && disabledMinuteOptions.indexOf(value.minute()) >= 0) ||\n (disabledSecondOptions && disabledSecondOptions.indexOf(value.second()) >= 0)\n ) {\n this.setState({\n invalid: true,\n });\n return;\n }\n\n if (originalValue) {\n if (\n originalValue.hour() !== value.hour() ||\n originalValue.minute() !== value.minute() ||\n originalValue.second() !== value.second()\n ) {\n // keep other fields for rc-calendar\n const changedValue = originalValue.clone();\n changedValue.hour(value.hour());\n changedValue.minute(value.minute());\n changedValue.second(value.second());\n this.__emit('change', changedValue);\n }\n } else if (originalValue !== value) {\n this.__emit('change', value);\n }\n } else {\n this.__emit('change', null);\n }\n\n this.setState({\n invalid: false,\n });\n },\n\n onKeyDown(e) {\n if (e.keyCode === 27) {\n this.__emit('esc');\n }\n this.__emit('keydown', e);\n },\n\n getProtoValue() {\n return this.value || this.defaultOpenValue;\n },\n\n getInput() {\n const { prefixCls, placeholder, inputReadOnly, invalid, str } = this;\n const invalidClass = invalid ? `${prefixCls}-input-invalid` : '';\n return (\n <input\n class={`${prefixCls}-input ${invalidClass}`}\n ref=\"input\"\n onKeydown={this.onKeyDown}\n value={str}\n placeholder={placeholder}\n onInput={this.onInputChange}\n readOnly={!!inputReadOnly}\n {...{\n directives: [\n {\n name: 'ant-input',\n },\n ],\n }}\n />\n );\n },\n },\n\n render() {\n const { prefixCls } = this;\n return <div class={`${prefixCls}-input-wrap`}>{this.getInput()}</div>;\n },\n};\n\nexport default Header;\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport classnames from 'classnames';\nimport raf from 'raf';\n\nfunction noop() {}\nconst scrollTo = (element, to, duration) => {\n // jump to target if duration zero\n if (duration <= 0) {\n raf(() => {\n element.scrollTop = to;\n });\n return;\n }\n const difference = to - element.scrollTop;\n const perTick = (difference / duration) * 10;\n\n raf(() => {\n element.scrollTop += perTick;\n if (element.scrollTop === to) return;\n scrollTo(element, to, duration - 10);\n });\n};\n\nconst Select = {\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n options: PropTypes.array,\n selectedIndex: PropTypes.number,\n type: PropTypes.string,\n // onSelect: PropTypes.func,\n // onMouseEnter: PropTypes.func,\n },\n data() {\n return {\n active: false,\n };\n },\n\n mounted() {\n this.$nextTick(() => {\n // jump to selected option\n this.scrollToSelected(0);\n });\n },\n watch: {\n selectedIndex() {\n this.$nextTick(() => {\n // smooth scroll to selected option\n this.scrollToSelected(120);\n });\n },\n },\n methods: {\n onSelect(value) {\n const { type } = this;\n this.__emit('select', type, value);\n },\n onEsc(e) {\n this.__emit('esc', e);\n },\n getOptions() {\n const { options, selectedIndex, prefixCls } = this;\n return options.map((item, index) => {\n const cls = classnames({\n [`${prefixCls}-select-option-selected`]: selectedIndex === index,\n [`${prefixCls}-select-option-disabled`]: item.disabled,\n });\n const onClick = item.disabled\n ? noop\n : () => {\n this.onSelect(item.value);\n };\n const onKeyDown = e => {\n if (e.keyCode === 13) onClick();\n else if (e.keyCode === 27) this.onEsc();\n };\n return (\n <li\n role=\"button\"\n onClick={onClick}\n class={cls}\n key={index}\n disabled={item.disabled}\n tabIndex=\"0\"\n onKeydown={onKeyDown}\n >\n {item.value}\n </li>\n );\n });\n },\n\n handleMouseEnter(e) {\n this.setState({ active: true });\n this.__emit('mouseenter', e);\n },\n\n handleMouseLeave() {\n this.setState({ active: false });\n },\n\n scrollToSelected(duration) {\n // move to selected item\n const select = this.$el;\n const list = this.$refs.list;\n if (!list) {\n return;\n }\n let index = this.selectedIndex;\n if (index < 0) {\n index = 0;\n }\n const topOption = list.children[index];\n const to = topOption.offsetTop;\n scrollTo(select, to, duration);\n },\n },\n\n render() {\n const { prefixCls, options, active } = this;\n if (options.length === 0) {\n return null;\n }\n\n const cls = {\n [`${prefixCls}-select`]: 1,\n [`${prefixCls}-select-active`]: active,\n };\n\n return (\n <div class={cls} onMouseenter={this.handleMouseEnter} onMouseleave={this.handleMouseLeave}>\n <ul ref=\"list\">{this.getOptions()}</ul>\n </div>\n );\n },\n};\n\nexport default Select;\n","import PropTypes from '../_util/vue-types';\nimport Select from './Select';\nimport BaseMixin from '../_util/BaseMixin';\n\nconst formatOption = (option, disabledOptions) => {\n let value = `${option}`;\n if (option < 10) {\n value = `0${option}`;\n }\n\n let disabled = false;\n if (disabledOptions && disabledOptions.indexOf(option) >= 0) {\n disabled = true;\n }\n\n return {\n value,\n disabled,\n };\n};\n\nconst Combobox = {\n mixins: [BaseMixin],\n name: 'Combobox',\n props: {\n format: PropTypes.string,\n defaultOpenValue: PropTypes.object,\n prefixCls: PropTypes.string,\n value: PropTypes.object,\n // onChange: PropTypes.func,\n // onAmPmChange: PropTypes.func,\n showHour: PropTypes.bool,\n showMinute: PropTypes.bool,\n showSecond: PropTypes.bool,\n hourOptions: PropTypes.array,\n minuteOptions: PropTypes.array,\n secondOptions: PropTypes.array,\n disabledHours: PropTypes.func,\n disabledMinutes: PropTypes.func,\n disabledSeconds: PropTypes.func,\n // onCurrentSelectPanelChange: PropTypes.func,\n use12Hours: PropTypes.bool,\n isAM: PropTypes.bool,\n },\n methods: {\n onItemChange(type, itemValue) {\n const { defaultOpenValue, use12Hours, value: propValue, isAM } = this;\n const value = (propValue || defaultOpenValue).clone();\n\n if (type === 'hour') {\n if (use12Hours) {\n if (isAM) {\n value.hour(+itemValue % 12);\n } else {\n value.hour((+itemValue % 12) + 12);\n }\n } else {\n value.hour(+itemValue);\n }\n } else if (type === 'minute') {\n value.minute(+itemValue);\n } else if (type === 'ampm') {\n const ampm = itemValue.toUpperCase();\n if (use12Hours) {\n if (ampm === 'PM' && value.hour() < 12) {\n value.hour((value.hour() % 12) + 12);\n }\n\n if (ampm === 'AM') {\n if (value.hour() >= 12) {\n value.hour(value.hour() - 12);\n }\n }\n }\n this.__emit('amPmChange', ampm);\n } else {\n value.second(+itemValue);\n }\n this.__emit('change', value);\n },\n\n onEnterSelectPanel(range) {\n this.__emit('currentSelectPanelChange', range);\n },\n onEsc(e) {\n this.__emit('esc', e);\n },\n\n getHourSelect(hour) {\n const { prefixCls, hourOptions, disabledHours, showHour, use12Hours } = this;\n if (!showHour) {\n return null;\n }\n const disabledOptions = disabledHours();\n let hourOptionsAdj;\n let hourAdj;\n if (use12Hours) {\n hourOptionsAdj = [12].concat(hourOptions.filter(h => h < 12 && h > 0));\n hourAdj = hour % 12 || 12;\n } else {\n hourOptionsAdj = hourOptions;\n hourAdj = hour;\n }\n\n return (\n <Select\n prefixCls={prefixCls}\n options={hourOptionsAdj.map(option => formatOption(option, disabledOptions))}\n selectedIndex={hourOptionsAdj.indexOf(hourAdj)}\n type=\"hour\"\n onSelect={this.onItemChange}\n onMouseenter={() => this.onEnterSelectPanel('hour')}\n onEsc={this.onEsc}\n />\n );\n },\n\n getMinuteSelect(minute) {\n const {\n prefixCls,\n minuteOptions,\n disabledMinutes,\n defaultOpenValue,\n showMinute,\n value: propValue,\n } = this;\n if (!showMinute) {\n return null;\n }\n const value = propValue || defaultOpenValue;\n const disabledOptions = disabledMinutes(value.hour());\n\n return (\n <Select\n prefixCls={prefixCls}\n options={minuteOptions.map(option => formatOption(option, disabledOptions))}\n selectedIndex={minuteOptions.indexOf(minute)}\n type=\"minute\"\n onSelect={this.onItemChange}\n onMouseenter={() => this.onEnterSelectPanel('minute')}\n onEsc={this.onEsc}\n />\n );\n },\n\n getSecondSelect(second) {\n const {\n prefixCls,\n secondOptions,\n disabledSeconds,\n showSecond,\n defaultOpenValue,\n value: propValue,\n } = this;\n if (!showSecond) {\n return null;\n }\n const value = propValue || defaultOpenValue;\n const disabledOptions = disabledSeconds(value.hour(), value.minute());\n\n return (\n <Select\n prefixCls={prefixCls}\n options={secondOptions.map(option => formatOption(option, disabledOptions))}\n selectedIndex={secondOptions.indexOf(second)}\n type=\"second\"\n onSelect={this.onItemChange}\n onMouseenter={() => this.onEnterSelectPanel('second')}\n onEsc={this.onEsc}\n />\n );\n },\n\n getAMPMSelect() {\n const { prefixCls, use12Hours, format, isAM } = this;\n if (!use12Hours) {\n return null;\n }\n\n const AMPMOptions = ['am', 'pm'] // If format has A char, then we should uppercase AM/PM\n .map(c => (format.match(/\\sA/) ? c.toUpperCase() : c))\n .map(c => ({ value: c }));\n\n const selected = isAM ? 0 : 1;\n\n return (\n <Select\n prefixCls={prefixCls}\n options={AMPMOptions}\n selectedIndex={selected}\n type=\"ampm\"\n onSelect={this.onItemChange}\n onMouseenter={() => this.onEnterSelectPanel('ampm')}\n onEsc={this.onEsc}\n />\n );\n },\n },\n\n render() {\n const { prefixCls, defaultOpenValue, value: propValue } = this;\n const value = propValue || defaultOpenValue;\n return (\n <div class={`${prefixCls}-combobox`}>\n {this.getHourSelect(value.hour())}\n {this.getMinuteSelect(value.minute())}\n {this.getSecondSelect(value.second())}\n {this.getAMPMSelect(value.hour())}\n </div>\n );\n },\n};\n\nexport default Combobox;\n","import moment from 'moment';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport Header from './Header';\nimport Combobox from './Combobox';\nimport { getComponentFromProp, getListeners } from '../_util/props-util';\n\nfunction noop() {}\n\nfunction generateOptions(length, disabledOptions, hideDisabledOptions, step = 1) {\n const arr = [];\n for (let value = 0; value < length; value += step) {\n if (!disabledOptions || disabledOptions.indexOf(value) < 0 || !hideDisabledOptions) {\n arr.push(value);\n }\n }\n return arr;\n}\n\nfunction toNearestValidTime(time, hourOptions, minuteOptions, secondOptions) {\n const hour = hourOptions\n .slice()\n .sort((a, b) => Math.abs(time.hour() - a) - Math.abs(time.hour() - b))[0];\n const minute = minuteOptions\n .slice()\n .sort((a, b) => Math.abs(time.minute() - a) - Math.abs(time.minute() - b))[0];\n const second = secondOptions\n .slice()\n .sort((a, b) => Math.abs(time.second() - a) - Math.abs(time.second() - b))[0];\n return moment(`${hour}:${minute}:${second}`, 'HH:mm:ss');\n}\n\nconst Panel = {\n mixins: [BaseMixin],\n props: {\n clearText: PropTypes.string,\n prefixCls: PropTypes.string.def('rc-time-picker-panel'),\n defaultOpenValue: {\n type: Object,\n default: () => {\n return moment();\n },\n },\n value: PropTypes.any,\n defaultValue: PropTypes.any,\n placeholder: PropTypes.string,\n format: PropTypes.string,\n inputReadOnly: PropTypes.bool.def(false),\n disabledHours: PropTypes.func.def(noop),\n disabledMinutes: PropTypes.func.def(noop),\n disabledSeconds: PropTypes.func.def(noop),\n hideDisabledOptions: PropTypes.bool,\n // onChange: PropTypes.func,\n // onEsc: PropTypes.func,\n allowEmpty: PropTypes.bool,\n showHour: PropTypes.bool,\n showMinute: PropTypes.bool,\n showSecond: PropTypes.bool,\n // onClear: PropTypes.func,\n use12Hours: PropTypes.bool.def(false),\n hourStep: PropTypes.number,\n minuteStep: PropTypes.number,\n secondStep: PropTypes.number,\n addon: PropTypes.func.def(noop),\n focusOnOpen: PropTypes.bool,\n // onKeydown: PropTypes.func,\n clearIcon: PropTypes.any,\n },\n data() {\n return {\n sValue: this.value,\n selectionRange: [],\n currentSelectPanel: '',\n };\n },\n watch: {\n value(val) {\n this.setState({\n sValue: val,\n });\n },\n },\n\n methods: {\n onChange(newValue) {\n this.setState({ sValue: newValue });\n this.__emit('change', newValue);\n },\n\n onAmPmChange(ampm) {\n this.__emit('amPmChange', ampm);\n },\n\n onCurrentSelectPanelChange(currentSelectPanel) {\n this.setState({ currentSelectPanel });\n },\n\n // https://github.com/ant-design/ant-design/issues/5829\n close() {\n this.__emit('esc');\n },\n onEsc(e) {\n this.__emit('esc', e);\n },\n disabledHours2() {\n const { use12Hours, disabledHours } = this;\n let disabledOptions = disabledHours();\n if (use12Hours && Array.isArray(disabledOptions)) {\n if (this.isAM()) {\n disabledOptions = disabledOptions.filter(h => h < 12).map(h => (h === 0 ? 12 : h));\n } else {\n disabledOptions = disabledOptions.map(h => (h === 12 ? 12 : h - 12));\n }\n }\n return disabledOptions;\n },\n\n isAM() {\n const value = this.sValue || this.defaultOpenValue;\n return value.hour() >= 0 && value.hour() < 12;\n },\n },\n\n render() {\n const {\n prefixCls,\n placeholder,\n disabledMinutes,\n addon,\n disabledSeconds,\n hideDisabledOptions,\n showHour,\n showMinute,\n showSecond,\n format,\n defaultOpenValue,\n clearText,\n use12Hours,\n focusOnOpen,\n hourStep,\n minuteStep,\n secondStep,\n inputReadOnly,\n sValue,\n currentSelectPanel,\n } = this;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const { esc = noop, keydown = noop } = getListeners(this);\n\n const disabledHourOptions = this.disabledHours2();\n const disabledMinuteOptions = disabledMinutes(sValue ? sValue.hour() : null);\n const disabledSecondOptions = disabledSeconds(\n sValue ? sValue.hour() : null,\n sValue ? sValue.minute() : null,\n );\n const hourOptions = generateOptions(24, disabledHourOptions, hideDisabledOptions, hourStep);\n const minuteOptions = generateOptions(\n 60,\n disabledMinuteOptions,\n hideDisabledOptions,\n minuteStep,\n );\n const secondOptions = generateOptions(\n 60,\n disabledSecondOptions,\n hideDisabledOptions,\n secondStep,\n );\n const validDefaultOpenValue = toNearestValidTime(\n defaultOpenValue,\n hourOptions,\n minuteOptions,\n secondOptions,\n );\n return (\n <div class={`${prefixCls}-inner`}>\n <Header\n clearText={clearText}\n prefixCls={prefixCls}\n defaultOpenValue={validDefaultOpenValue}\n value={sValue}\n currentSelectPanel={currentSelectPanel}\n onEsc={esc}\n format={format}\n placeholder={placeholder}\n hourOptions={hourOptions}\n minuteOptions={minuteOptions}\n secondOptions={secondOptions}\n disabledHours={this.disabledHours2}\n disabledMinutes={disabledMinutes}\n disabledSeconds={disabledSeconds}\n onChange={this.onChange}\n focusOnOpen={focusOnOpen}\n onKeydown={keydown}\n inputReadOnly={inputReadOnly}\n clearIcon={clearIcon}\n />\n <Combobox\n prefixCls={prefixCls}\n value={sValue}\n defaultOpenValue={validDefaultOpenValue}\n format={format}\n onChange={this.onChange}\n onAmPmChange={this.onAmPmChange}\n showHour={showHour}\n showMinute={showMinute}\n showSecond={showSecond}\n hourOptions={hourOptions}\n minuteOptions={minuteOptions}\n secondOptions={secondOptions}\n disabledHours={this.disabledHours2}\n disabledMinutes={disabledMinutes}\n disabledSeconds={disabledSeconds}\n onCurrentSelectPanelChange={this.onCurrentSelectPanelChange}\n use12Hours={use12Hours}\n onEsc={this.onEsc}\n isAM={this.isAM()}\n />\n {addon(this)}\n </div>\n );\n },\n};\n\nexport default Panel;\n","const autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1,\n};\n\nconst targetOffset = [0, 0];\n\nconst placements = {\n bottomLeft: {\n points: ['tl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -3],\n targetOffset,\n },\n bottomRight: {\n points: ['tr', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -3],\n targetOffset,\n },\n topRight: {\n points: ['br', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 3],\n targetOffset,\n },\n topLeft: {\n points: ['bl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 3],\n targetOffset,\n },\n};\n\nexport default placements;\n","import moment from 'moment';\nimport classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport {\n initDefaultProps,\n hasProp,\n getComponentFromProp,\n isValidElement,\n getEvents,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport Trigger from '../vc-trigger';\nimport Panel from './Panel';\nimport placements from './placements';\n\nfunction noop() {}\n\nexport default {\n name: 'VcTimePicker',\n mixins: [BaseMixin],\n props: initDefaultProps(\n {\n prefixCls: PropTypes.string,\n clearText: PropTypes.string,\n value: PropTypes.any,\n defaultOpenValue: {\n type: Object,\n default: () => {\n return moment();\n },\n },\n inputReadOnly: PropTypes.bool,\n disabled: PropTypes.bool,\n allowEmpty: PropTypes.bool,\n defaultValue: PropTypes.any,\n open: PropTypes.bool,\n defaultOpen: PropTypes.bool,\n align: PropTypes.object,\n placement: PropTypes.any,\n transitionName: PropTypes.string,\n getPopupContainer: PropTypes.func,\n placeholder: PropTypes.string,\n format: PropTypes.string,\n showHour: PropTypes.bool,\n showMinute: PropTypes.bool,\n showSecond: PropTypes.bool,\n popupClassName: PropTypes.string,\n popupStyle: PropTypes.object,\n disabledHours: PropTypes.func,\n disabledMinutes: PropTypes.func,\n disabledSeconds: PropTypes.func,\n hideDisabledOptions: PropTypes.bool,\n // onChange: PropTypes.func,\n // onAmPmChange: PropTypes.func,\n // onOpen: PropTypes.func,\n // onClose: PropTypes.func,\n // onFocus: PropTypes.func,\n // onBlur: PropTypes.func,\n name: PropTypes.string,\n autoComplete: PropTypes.string,\n use12Hours: PropTypes.bool,\n hourStep: PropTypes.number,\n minuteStep: PropTypes.number,\n secondStep: PropTypes.number,\n focusOnOpen: PropTypes.bool,\n // onKeyDown: PropTypes.func,\n autoFocus: PropTypes.bool,\n id: PropTypes.string,\n inputIcon: PropTypes.any,\n clearIcon: PropTypes.any,\n addon: PropTypes.func,\n },\n {\n clearText: 'clear',\n prefixCls: 'rc-time-picker',\n defaultOpen: false,\n inputReadOnly: false,\n popupClassName: '',\n popupStyle: {},\n align: {},\n allowEmpty: true,\n showHour: true,\n showMinute: true,\n showSecond: true,\n disabledHours: noop,\n disabledMinutes: noop,\n disabledSeconds: noop,\n hideDisabledOptions: false,\n placement: 'bottomLeft',\n use12Hours: false,\n focusOnOpen: false,\n },\n ),\n data() {\n const { defaultOpen, defaultValue, open = defaultOpen, value = defaultValue } = this;\n return {\n sOpen: open,\n sValue: value,\n };\n },\n\n watch: {\n value(val) {\n this.setState({\n sValue: val,\n });\n },\n open(val) {\n if (val !== undefined) {\n this.setState({\n sOpen: val,\n });\n }\n },\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus) {\n this.focus();\n }\n });\n },\n methods: {\n onPanelChange(value) {\n this.setValue(value);\n },\n\n onAmPmChange(ampm) {\n this.__emit('amPmChange', ampm);\n },\n\n onClear(event) {\n event.stopPropagation();\n this.setValue(null);\n this.setOpen(false);\n },\n\n onVisibleChange(open) {\n this.setOpen(open);\n },\n\n onEsc() {\n this.setOpen(false);\n this.focus();\n },\n\n onKeyDown(e) {\n if (e.keyCode === 40) {\n this.setOpen(true);\n }\n },\n onKeyDown2(e) {\n this.__emit('keydown', e);\n },\n\n setValue(value) {\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n });\n }\n this.__emit('change', value);\n },\n\n getFormat() {\n const { format, showHour, showMinute, showSecond, use12Hours } = this;\n if (format) {\n return format;\n }\n\n if (use12Hours) {\n const fmtString = [showHour ? 'h' : '', showMinute ? 'mm' : '', showSecond ? 'ss' : '']\n .filter(item => !!item)\n .join(':');\n\n return fmtString.concat(' a');\n }\n\n return [showHour ? 'HH' : '', showMinute ? 'mm' : '', showSecond ? 'ss' : '']\n .filter(item => !!item)\n .join(':');\n },\n\n getPanelElement() {\n const {\n prefixCls,\n placeholder,\n disabledHours,\n addon,\n disabledMinutes,\n disabledSeconds,\n hideDisabledOptions,\n inputReadOnly,\n showHour,\n showMinute,\n showSecond,\n defaultOpenValue,\n clearText,\n use12Hours,\n focusOnOpen,\n onKeyDown2,\n hourStep,\n minuteStep,\n secondStep,\n sValue,\n } = this;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n return (\n <Panel\n clearText={clearText}\n prefixCls={`${prefixCls}-panel`}\n ref=\"panel\"\n value={sValue}\n inputReadOnly={inputReadOnly}\n onChange={this.onPanelChange}\n onAmPmChange={this.onAmPmChange}\n defaultOpenValue={defaultOpenValue}\n showHour={showHour}\n showMinute={showMinute}\n showSecond={showSecond}\n onEsc={this.onEsc}\n format={this.getFormat()}\n placeholder={placeholder}\n disabledHours={disabledHours}\n disabledMinutes={disabledMinutes}\n disabledSeconds={disabledSeconds}\n hideDisabledOptions={hideDisabledOptions}\n use12Hours={use12Hours}\n hourStep={hourStep}\n minuteStep={minuteStep}\n secondStep={secondStep}\n focusOnOpen={focusOnOpen}\n onKeydown={onKeyDown2}\n clearIcon={clearIcon}\n addon={addon}\n />\n );\n },\n\n getPopupClassName() {\n const { showHour, showMinute, showSecond, use12Hours, prefixCls, popupClassName } = this;\n\n let selectColumnCount = 0;\n if (showHour) {\n selectColumnCount += 1;\n }\n if (showMinute) {\n selectColumnCount += 1;\n }\n if (showSecond) {\n selectColumnCount += 1;\n }\n if (use12Hours) {\n selectColumnCount += 1;\n }\n // Keep it for old compatibility\n return classNames(\n popupClassName,\n {\n [`${prefixCls}-panel-narrow`]: (!showHour || !showMinute || !showSecond) && !use12Hours,\n },\n `${prefixCls}-panel-column-${selectColumnCount}`,\n );\n },\n\n setOpen(open) {\n if (this.sOpen !== open) {\n if (!hasProp(this, 'open')) {\n this.setState({ sOpen: open });\n }\n if (open) {\n this.__emit('open', { open });\n } else {\n this.__emit('close', { open });\n }\n }\n },\n\n focus() {\n this.$refs.picker.focus();\n },\n\n blur() {\n this.$refs.picker.blur();\n },\n onFocus(e) {\n this.__emit('focus', e);\n },\n onBlur(e) {\n this.__emit('blur', e);\n },\n renderClearButton() {\n const { sValue } = this;\n const { prefixCls, allowEmpty, clearText, disabled } = this.$props;\n if (!allowEmpty || !sValue || disabled) {\n return null;\n }\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n if (isValidElement(clearIcon)) {\n const { click } = getEvents(clearIcon) || {};\n return cloneElement(clearIcon, {\n on: {\n click: (...args) => {\n if (click) click(...args);\n this.onClear(...args);\n },\n },\n });\n }\n\n return (\n <a\n role=\"button\"\n class={`${prefixCls}-clear`}\n title={clearText}\n onClick={this.onClear}\n tabIndex={0}\n >\n {clearIcon || <i class={`${prefixCls}-clear-icon`} />}\n </a>\n );\n },\n },\n\n render() {\n const {\n prefixCls,\n placeholder,\n placement,\n align,\n id,\n disabled,\n transitionName,\n getPopupContainer,\n name,\n autoComplete,\n autoFocus,\n inputReadOnly,\n sOpen,\n sValue,\n onFocus,\n onBlur,\n popupStyle,\n } = this;\n const popupClassName = this.getPopupClassName();\n const inputIcon = getComponentFromProp(this, 'inputIcon');\n return (\n <Trigger\n prefixCls={`${prefixCls}-panel`}\n popupClassName={popupClassName}\n popupStyle={popupStyle}\n popupAlign={align}\n builtinPlacements={placements}\n popupPlacement={placement}\n action={disabled ? [] : ['click']}\n destroyPopupOnHide\n getPopupContainer={getPopupContainer}\n popupTransitionName={transitionName}\n popupVisible={sOpen}\n onPopupVisibleChange={this.onVisibleChange}\n >\n <template slot=\"popup\">{this.getPanelElement()}</template>\n <span class={`${prefixCls}`}>\n <input\n class={`${prefixCls}-input`}\n ref=\"picker\"\n type=\"text\"\n placeholder={placeholder}\n name={name}\n onKeydown={this.onKeyDown}\n disabled={disabled}\n value={(sValue && sValue.format(this.getFormat())) || ''}\n autoComplete={autoComplete}\n onFocus={onFocus}\n onBlur={onBlur}\n autoFocus={autoFocus}\n readOnly={!!inputReadOnly}\n id={id}\n />\n {inputIcon || <span class={`${prefixCls}-icon`} />}\n {this.renderClearButton()}\n </span>\n </Trigger>\n );\n },\n};\n","import omit from 'omit.js';\nimport VcTimePicker from '../vc-time-picker';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport BaseMixin from '../_util/BaseMixin';\nimport PropTypes from '../_util/vue-types';\nimport warning from '../_util/warning';\nimport Icon from '../icon';\nimport enUS from './locale/en_US';\nimport {\n initDefaultProps,\n hasProp,\n getOptionProps,\n getComponentFromProp,\n isValidElement,\n getListeners,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\nimport {\n checkValidate,\n stringToMoment,\n momentToString,\n TimeOrTimesType,\n} from '../_util/moment-util';\n\nexport function generateShowHourMinuteSecond(format) {\n // Ref: http://momentjs.com/docs/#/parsing/string-format/\n return {\n showHour: format.indexOf('H') > -1 || format.indexOf('h') > -1 || format.indexOf('k') > -1,\n showMinute: format.indexOf('m') > -1,\n showSecond: format.indexOf('s') > -1,\n };\n}\n\nexport const TimePickerProps = () => ({\n size: PropTypes.oneOf(['large', 'default', 'small']),\n value: TimeOrTimesType,\n defaultValue: TimeOrTimesType,\n open: PropTypes.bool,\n format: PropTypes.string,\n disabled: PropTypes.bool,\n placeholder: PropTypes.string,\n prefixCls: PropTypes.string,\n hideDisabledOptions: PropTypes.bool,\n disabledHours: PropTypes.func,\n disabledMinutes: PropTypes.func,\n disabledSeconds: PropTypes.func,\n getPopupContainer: PropTypes.func,\n use12Hours: PropTypes.bool,\n focusOnOpen: PropTypes.bool,\n hourStep: PropTypes.number,\n minuteStep: PropTypes.number,\n secondStep: PropTypes.number,\n allowEmpty: PropTypes.bool,\n allowClear: PropTypes.bool,\n inputReadOnly: PropTypes.bool,\n clearText: PropTypes.string,\n defaultOpenValue: PropTypes.object,\n popupClassName: PropTypes.string,\n popupStyle: PropTypes.object,\n suffixIcon: PropTypes.any,\n align: PropTypes.object,\n placement: PropTypes.any,\n transitionName: PropTypes.string,\n autoFocus: PropTypes.bool,\n addon: PropTypes.any,\n clearIcon: PropTypes.any,\n locale: PropTypes.object,\n valueFormat: PropTypes.string,\n});\n\nconst TimePicker = {\n name: 'ATimePicker',\n mixins: [BaseMixin],\n props: initDefaultProps(TimePickerProps(), {\n align: {\n offset: [0, -2],\n },\n disabled: false,\n disabledHours: undefined,\n disabledMinutes: undefined,\n disabledSeconds: undefined,\n hideDisabledOptions: false,\n placement: 'bottomLeft',\n transitionName: 'slide-up',\n focusOnOpen: true,\n allowClear: true,\n }),\n model: {\n prop: 'value',\n event: 'change',\n },\n provide() {\n return {\n savePopupRef: this.savePopupRef,\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const { value, defaultValue, valueFormat } = this;\n\n checkValidate('TimePicker', defaultValue, 'defaultValue', valueFormat);\n checkValidate('TimePicker', value, 'value', valueFormat);\n warning(\n !hasProp(this, 'allowEmpty'),\n 'TimePicker',\n '`allowEmpty` is deprecated. Please use `allowClear` instead.',\n );\n return {\n sValue: stringToMoment(value || defaultValue, valueFormat),\n };\n },\n watch: {\n value(val) {\n checkValidate('TimePicker', val, 'value', this.valueFormat);\n this.setState({ sValue: stringToMoment(val, this.valueFormat) });\n },\n },\n methods: {\n getDefaultFormat() {\n const { format, use12Hours } = this;\n if (format) {\n return format;\n } else if (use12Hours) {\n return 'h:mm:ss a';\n }\n return 'HH:mm:ss';\n },\n\n getAllowClear() {\n const { allowClear, allowEmpty } = this.$props;\n if (hasProp(this, 'allowClear')) {\n return allowClear;\n }\n return allowEmpty;\n },\n getDefaultLocale() {\n const defaultLocale = {\n ...enUS,\n ...this.$props.locale,\n };\n return defaultLocale;\n },\n savePopupRef(ref) {\n this.popupRef = ref;\n },\n handleChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState({ sValue: value });\n }\n const { format = 'HH:mm:ss' } = this;\n this.$emit(\n 'change',\n this.valueFormat ? momentToString(value, this.valueFormat) : value,\n (value && value.format(format)) || '',\n );\n },\n\n handleOpenClose({ open }) {\n this.$emit('openChange', open);\n this.$emit('update:open', open);\n },\n\n focus() {\n this.$refs.timePicker.focus();\n },\n\n blur() {\n this.$refs.timePicker.blur();\n },\n\n renderInputIcon(prefixCls) {\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n const clockIcon = (suffixIcon &&\n isValidElement(suffixIcon) &&\n cloneElement(suffixIcon, {\n class: `${prefixCls}-clock-icon`,\n })) || <Icon type=\"clock-circle\" class={`${prefixCls}-clock-icon`} />;\n\n return <span class={`${prefixCls}-icon`}>{clockIcon}</span>;\n },\n\n renderClearIcon(prefixCls) {\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const clearIconPrefixCls = `${prefixCls}-clear`;\n\n if (clearIcon && isValidElement(clearIcon)) {\n return cloneElement(clearIcon, {\n class: clearIconPrefixCls,\n });\n }\n\n return <Icon type=\"close-circle\" class={clearIconPrefixCls} theme=\"filled\" />;\n },\n\n renderTimePicker(locale) {\n let props = getOptionProps(this);\n props = omit(props, ['defaultValue', 'suffixIcon', 'allowEmpty', 'allowClear']);\n\n const { prefixCls: customizePrefixCls, getPopupContainer, placeholder, size } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('time-picker', customizePrefixCls);\n\n const format = this.getDefaultFormat();\n const pickerClassName = {\n [`${prefixCls}-${size}`]: !!size,\n };\n const tempAddon = getComponentFromProp(this, 'addon', {}, false);\n const pickerAddon = panel => {\n return tempAddon ? (\n <div class={`${prefixCls}-panel-addon`}>\n {typeof tempAddon === 'function' ? tempAddon(panel) : tempAddon}\n </div>\n ) : null;\n };\n const inputIcon = this.renderInputIcon(prefixCls);\n const clearIcon = this.renderClearIcon(prefixCls);\n const { getPopupContainer: getContextPopupContainer } = this.configProvider;\n const timeProps = {\n props: {\n ...generateShowHourMinuteSecond(format),\n ...props,\n allowEmpty: this.getAllowClear(),\n prefixCls,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n format,\n value: this.sValue,\n placeholder: placeholder === undefined ? locale.placeholder : placeholder,\n addon: pickerAddon,\n inputIcon,\n clearIcon,\n },\n class: pickerClassName,\n ref: 'timePicker',\n on: {\n ...getListeners(this),\n change: this.handleChange,\n open: this.handleOpenClose,\n close: this.handleOpenClose,\n },\n };\n return <VcTimePicker {...timeProps} />;\n },\n },\n\n render() {\n return (\n <LocaleReceiver\n componentName=\"TimePicker\"\n defaultLocale={this.getDefaultLocale()}\n scopedSlots={{ default: this.renderTimePicker }}\n />\n );\n },\n};\n\n/* istanbul ignore next */\nTimePicker.install = function(Vue) {\n Vue.use(Base);\n Vue.component(TimePicker.name, TimePicker);\n};\n\nexport default TimePicker;\n","import TimePickerPanel from '../vc-time-picker/Panel';\nimport classNames from 'classnames';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport { generateShowHourMinuteSecond } from '../time-picker';\nimport enUS from './locale/en_US';\nimport { getOptionProps, initDefaultProps, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport { checkValidate, stringToMoment, momentToString } from '../_util/moment-util';\n\nconst DEFAULT_FORMAT = {\n date: 'YYYY-MM-DD',\n dateTime: 'YYYY-MM-DD HH:mm:ss',\n week: 'gggg-wo',\n month: 'YYYY-MM',\n};\n\nconst LOCALE_FORMAT_MAPPING = {\n date: 'dateFormat',\n dateTime: 'dateTimeFormat',\n week: 'weekFormat',\n month: 'monthFormat',\n};\n\nfunction getColumns({ showHour, showMinute, showSecond, use12Hours }) {\n let column = 0;\n if (showHour) {\n column += 1;\n }\n if (showMinute) {\n column += 1;\n }\n if (showSecond) {\n column += 1;\n }\n if (use12Hours) {\n column += 1;\n }\n return column;\n}\n\nexport default function wrapPicker(Picker, props, pickerType) {\n return {\n name: Picker.name,\n props: initDefaultProps(props, {\n transitionName: 'slide-up',\n popupStyle: {},\n locale: {},\n }),\n model: {\n prop: 'value',\n event: 'change',\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n provide() {\n return {\n savePopupRef: this.savePopupRef,\n };\n },\n mounted() {\n const { autoFocus, disabled, value, defaultValue, valueFormat } = this;\n checkValidate('DatePicker', defaultValue, 'defaultValue', valueFormat);\n checkValidate('DatePicker', value, 'value', valueFormat);\n if (autoFocus && !disabled) {\n this.$nextTick(() => {\n this.focus();\n });\n }\n },\n watch: {\n value(val) {\n checkValidate('DatePicker', val, 'value', this.valueFormat);\n },\n },\n methods: {\n getDefaultLocale() {\n const result = {\n ...enUS,\n ...this.locale,\n };\n result.lang = {\n ...result.lang,\n ...(this.locale || {}).lang,\n };\n return result;\n },\n\n savePopupRef(ref) {\n this.popupRef = ref;\n },\n handleOpenChange(open) {\n this.$emit('openChange', open);\n },\n\n handleFocus(e) {\n this.$emit('focus', e);\n },\n\n handleBlur(e) {\n this.$emit('blur', e);\n },\n\n handleMouseEnter(e) {\n this.$emit('mouseenter', e);\n },\n\n handleMouseLeave(e) {\n this.$emit('mouseleave', e);\n },\n handleChange(date, dateString) {\n this.$emit(\n 'change',\n this.valueFormat ? momentToString(date, this.valueFormat) : date,\n dateString,\n );\n },\n handleOk(val) {\n this.$emit('ok', this.valueFormat ? momentToString(val, this.valueFormat) : val);\n },\n handleCalendarChange(date, dateString) {\n this.$emit(\n 'calendarChange',\n this.valueFormat ? momentToString(date, this.valueFormat) : date,\n dateString,\n );\n },\n focus() {\n this.$refs.picker.focus();\n },\n\n blur() {\n this.$refs.picker.blur();\n },\n\n transformValue(props) {\n if ('value' in props) {\n props.value = stringToMoment(props.value, this.valueFormat);\n }\n if ('defaultValue' in props) {\n props.defaultValue = stringToMoment(props.defaultValue, this.valueFormat);\n }\n if ('defaultPickerValue' in props) {\n props.defaultPickerValue = stringToMoment(props.defaultPickerValue, this.valueFormat);\n }\n },\n\n renderPicker(locale, localeCode) {\n const props = getOptionProps(this);\n this.transformValue(props);\n const {\n prefixCls: customizePrefixCls,\n inputPrefixCls: customizeInputPrefixCls,\n getCalendarContainer,\n size,\n showTime,\n disabled,\n format,\n } = props;\n const mergedPickerType = showTime ? `${pickerType}Time` : pickerType;\n const mergedFormat =\n format ||\n locale[LOCALE_FORMAT_MAPPING[mergedPickerType]] ||\n DEFAULT_FORMAT[mergedPickerType];\n\n const { getPrefixCls, getPopupContainer: getContextPopupContainer } = this.configProvider;\n const getPopupContainer = getCalendarContainer || getContextPopupContainer;\n const prefixCls = getPrefixCls('calendar', customizePrefixCls);\n const inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n\n const pickerClass = classNames(`${prefixCls}-picker`, {\n [`${prefixCls}-picker-${size}`]: !!size,\n });\n const pickerInputClass = classNames(`${prefixCls}-picker-input`, inputPrefixCls, {\n [`${inputPrefixCls}-lg`]: size === 'large',\n [`${inputPrefixCls}-sm`]: size === 'small',\n [`${inputPrefixCls}-disabled`]: disabled,\n });\n\n const timeFormat = (showTime && showTime.format) || 'HH:mm:ss';\n const vcTimePickerProps = {\n ...generateShowHourMinuteSecond(timeFormat),\n format: timeFormat,\n use12Hours: showTime && showTime.use12Hours,\n };\n const columns = getColumns(vcTimePickerProps);\n const timePickerCls = `${prefixCls}-time-picker-column-${columns}`;\n const timePickerPanelProps = {\n props: {\n ...vcTimePickerProps,\n ...showTime,\n prefixCls: `${prefixCls}-time-picker`,\n placeholder: locale.timePickerLocale.placeholder,\n transitionName: 'slide-up',\n },\n class: timePickerCls,\n on: {\n esc: () => {},\n },\n };\n const timePicker = showTime ? <TimePickerPanel {...timePickerPanelProps} /> : null;\n const pickerProps = {\n props: {\n ...props,\n getCalendarContainer: getPopupContainer,\n format: mergedFormat,\n pickerClass,\n pickerInputClass,\n locale,\n localeCode,\n timePicker,\n },\n on: {\n ...getListeners(this),\n openChange: this.handleOpenChange,\n focus: this.handleFocus,\n blur: this.handleBlur,\n mouseenter: this.handleMouseEnter,\n mouseleave: this.handleMouseLeave,\n change: this.handleChange,\n ok: this.handleOk,\n calendarChange: this.handleCalendarChange,\n },\n ref: 'picker',\n scopedSlots: this.$scopedSlots || {},\n };\n return (\n <Picker {...pickerProps}>\n {this.$slots &&\n Object.keys(this.$slots).map(key => (\n <template slot={key} key={key}>\n {this.$slots[key]}\n </template>\n ))}\n </Picker>\n );\n },\n },\n\n render() {\n return (\n <LocaleReceiver\n componentName=\"DatePicker\"\n defaultLocale={this.getDefaultLocale}\n scopedSlots={{ default: this.renderPicker }}\n />\n );\n },\n };\n}\n","import PropTypes from '../../../_util/vue-types';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { getOptionProps, getComponentFromProp, getListeners } from '../../../_util/props-util';\nimport { cloneElement } from '../../../_util/vnode';\nimport CalendarHeader from '../calendar/CalendarHeader';\nimport DateTable from '../date/DateTable';\nimport DateInput from '../date/DateInput';\nimport { getTimeConfig } from '../util/index';\nfunction noop() {}\nconst CalendarPart = {\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n value: PropTypes.any,\n hoverValue: PropTypes.any,\n selectedValue: PropTypes.any,\n direction: PropTypes.any,\n locale: PropTypes.any,\n showDateInput: PropTypes.bool,\n showTimePicker: PropTypes.bool,\n showWeekNumber: PropTypes.bool,\n format: PropTypes.any,\n placeholder: PropTypes.any,\n disabledDate: PropTypes.any,\n timePicker: PropTypes.any,\n disabledTime: PropTypes.any,\n disabledMonth: PropTypes.any,\n mode: PropTypes.any,\n // onInputSelect: PropTypes.func,\n timePickerDisabledTime: PropTypes.object,\n enableNext: PropTypes.any,\n enablePrev: PropTypes.any,\n clearIcon: PropTypes.any,\n dateRender: PropTypes.func,\n inputMode: PropTypes.string,\n inputReadOnly: PropTypes.bool,\n },\n render() {\n const { $props: props } = this;\n const {\n prefixCls,\n value,\n hoverValue,\n selectedValue,\n mode,\n direction,\n locale,\n format,\n placeholder,\n disabledDate,\n timePicker,\n disabledTime,\n timePickerDisabledTime,\n showTimePicker,\n enablePrev,\n enableNext,\n disabledMonth,\n showDateInput,\n dateRender,\n showWeekNumber,\n showClear,\n inputMode,\n inputReadOnly,\n } = props;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const {\n inputChange = noop,\n inputSelect = noop,\n valueChange = noop,\n panelChange = noop,\n select = noop,\n dayHover = noop,\n } = getListeners(this);\n const shouldShowTimePicker = showTimePicker && timePicker;\n const disabledTimeConfig =\n shouldShowTimePicker && disabledTime ? getTimeConfig(selectedValue, disabledTime) : null;\n const rangeClassName = `${prefixCls}-range`;\n const newProps = {\n locale,\n value,\n prefixCls,\n showTimePicker,\n };\n const index = direction === 'left' ? 0 : 1;\n let timePickerEle = null;\n if (shouldShowTimePicker) {\n const timePickerProps = getOptionProps(timePicker);\n timePickerEle = cloneElement(timePicker, {\n props: {\n showHour: true,\n showMinute: true,\n showSecond: true,\n ...timePickerProps,\n ...disabledTimeConfig,\n ...timePickerDisabledTime,\n defaultOpenValue: value,\n value: selectedValue[index],\n },\n on: {\n change: inputChange,\n },\n });\n }\n\n const dateInputElement = showDateInput && (\n <DateInput\n format={format}\n locale={locale}\n prefixCls={prefixCls}\n timePicker={timePicker}\n disabledDate={disabledDate}\n placeholder={placeholder}\n disabledTime={disabledTime}\n value={value}\n showClear={showClear || false}\n selectedValue={selectedValue[index]}\n onChange={inputChange}\n onSelect={inputSelect}\n clearIcon={clearIcon}\n inputMode={inputMode}\n inputReadOnly={inputReadOnly}\n />\n );\n const headerProps = {\n props: {\n ...newProps,\n mode,\n enableNext,\n enablePrev,\n disabledMonth,\n },\n on: {\n valueChange,\n panelChange,\n },\n };\n const tableProps = {\n props: {\n ...newProps,\n hoverValue,\n selectedValue,\n dateRender,\n disabledDate,\n showWeekNumber,\n },\n on: {\n select,\n dayHover,\n },\n };\n return (\n <div class={`${rangeClassName}-part ${rangeClassName}-${direction}`}>\n {dateInputElement}\n <div style={{ outline: 'none' }}>\n <CalendarHeader {...headerProps} />\n {showTimePicker ? (\n <div class={`${prefixCls}-time-picker`}>\n <div class={`${prefixCls}-time-picker-panel`}>{timePickerEle}</div>\n </div>\n ) : null}\n <div class={`${prefixCls}-body`}>\n <DateTable {...tableProps} />\n </div>\n </div>\n </div>\n );\n },\n};\n\nexport default CalendarPart;\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport {\n getOptionProps,\n hasProp,\n mergeProps,\n getComponentFromProp,\n getListeners,\n} from '../../_util/props-util';\nimport moment from 'moment';\nimport KeyCode from '../../_util/KeyCode';\nimport CalendarPart from './range-calendar/CalendarPart';\nimport TodayButton from './calendar/TodayButton';\nimport OkButton from './calendar/OkButton';\nimport TimePickerButton from './calendar/TimePickerButton';\nimport CommonMixin from './mixin/CommonMixin';\nimport enUs from './locale/en_US';\nimport { syncTime, getTodayTime, isAllowedDate } from './util/';\nimport { goTime, goStartMonth, goEndMonth, includesTime } from './util/toTime';\n\nfunction noop() {}\n\nfunction isEmptyArray(arr) {\n return Array.isArray(arr) && (arr.length === 0 || arr.every(i => !i));\n}\n\nfunction isArraysEqual(a, b) {\n if (a === b) return true;\n if (a === null || typeof a === 'undefined' || b === null || typeof b === 'undefined') {\n return false;\n }\n if (a.length !== b.length) return false;\n\n for (let i = 0; i < a.length; ++i) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n}\n\nfunction getValueFromSelectedValue(selectedValue) {\n let [start, end] = selectedValue;\n if (end && (start === undefined || start === null)) {\n start = end.clone().subtract(1, 'month');\n }\n\n if (start && (end === undefined || end === null)) {\n end = start.clone().add(1, 'month');\n }\n return [start, end];\n}\n\nfunction normalizeAnchor(props, init) {\n const selectedValue = props.selectedValue || (init && props.defaultSelectedValue);\n const value = props.value || (init && props.defaultValue);\n const normalizedValue = value\n ? getValueFromSelectedValue(value)\n : getValueFromSelectedValue(selectedValue);\n return !isEmptyArray(normalizedValue)\n ? normalizedValue\n : init && [moment(), moment().add(1, 'months')];\n}\n\nfunction generateOptions(length, extraOptionGen) {\n const arr = extraOptionGen ? extraOptionGen().concat() : [];\n for (let value = 0; value < length; value++) {\n if (arr.indexOf(value) === -1) {\n arr.push(value);\n }\n }\n return arr;\n}\n\nfunction onInputSelect(direction, value, cause) {\n if (!value) {\n return;\n }\n const originalValue = this.sSelectedValue;\n const selectedValue = originalValue.concat();\n const index = direction === 'left' ? 0 : 1;\n selectedValue[index] = value;\n if (selectedValue[0] && this.compare(selectedValue[0], selectedValue[1]) > 0) {\n selectedValue[1 - index] = this.sShowTimePicker ? selectedValue[index] : undefined;\n }\n this.__emit('inputSelect', selectedValue);\n this.fireSelectValueChange(selectedValue, null, cause || { source: 'dateInput' });\n}\n\nconst RangeCalendar = {\n props: {\n locale: PropTypes.object.def(enUs),\n visible: PropTypes.bool.def(true),\n prefixCls: PropTypes.string.def('rc-calendar'),\n dateInputPlaceholder: PropTypes.any,\n seperator: PropTypes.string.def('~'),\n defaultValue: PropTypes.any,\n value: PropTypes.any,\n hoverValue: PropTypes.any,\n mode: PropTypes.arrayOf(PropTypes.oneOf(['time', 'date', 'month', 'year', 'decade'])),\n showDateInput: PropTypes.bool.def(true),\n timePicker: PropTypes.any,\n showOk: PropTypes.bool,\n showToday: PropTypes.bool.def(true),\n defaultSelectedValue: PropTypes.array.def([]),\n selectedValue: PropTypes.array,\n showClear: PropTypes.bool,\n showWeekNumber: PropTypes.bool,\n // locale: PropTypes.object,\n // onChange: PropTypes.func,\n // onSelect: PropTypes.func,\n // onValueChange: PropTypes.func,\n // onHoverChange: PropTypes.func,\n // onPanelChange: PropTypes.func,\n format: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.func,\n ]),\n // onClear: PropTypes.func,\n type: PropTypes.any.def('both'),\n disabledDate: PropTypes.func,\n disabledTime: PropTypes.func.def(noop),\n renderFooter: PropTypes.func.def(() => null),\n renderSidebar: PropTypes.func.def(() => null),\n dateRender: PropTypes.func,\n clearIcon: PropTypes.any,\n inputReadOnly: PropTypes.bool,\n },\n\n mixins: [BaseMixin, CommonMixin],\n\n data() {\n const props = this.$props;\n const selectedValue = props.selectedValue || props.defaultSelectedValue;\n const value = normalizeAnchor(props, 1);\n return {\n sSelectedValue: selectedValue,\n prevSelectedValue: selectedValue,\n firstSelectedValue: null,\n sHoverValue: props.hoverValue || [],\n sValue: value,\n sShowTimePicker: false,\n sMode: props.mode || ['date', 'date'],\n sPanelTriggerSource: '', // Trigger by which picker panel: 'start' & 'end'\n };\n },\n watch: {\n value() {\n const newState = {};\n newState.sValue = normalizeAnchor(this.$props, 0);\n this.setState(newState);\n },\n hoverValue(val) {\n if (!isArraysEqual(this.sHoverValue, val)) {\n this.setState({ sHoverValue: val });\n }\n },\n selectedValue(val) {\n const newState = {};\n newState.sSelectedValue = val;\n newState.prevSelectedValue = val;\n this.setState(newState);\n },\n mode(val) {\n if (!isArraysEqual(this.sMode, val)) {\n this.setState({ sMode: val });\n }\n },\n },\n\n methods: {\n onDatePanelEnter() {\n if (this.hasSelectedValue()) {\n this.fireHoverValueChange(this.sSelectedValue.concat());\n }\n },\n\n onDatePanelLeave() {\n if (this.hasSelectedValue()) {\n this.fireHoverValueChange([]);\n }\n },\n\n onSelect(value) {\n const { type, sSelectedValue, prevSelectedValue, firstSelectedValue } = this;\n let nextSelectedValue;\n if (type === 'both') {\n if (!firstSelectedValue) {\n syncTime(prevSelectedValue[0], value);\n nextSelectedValue = [value];\n } else if (this.compare(firstSelectedValue, value) < 0) {\n syncTime(prevSelectedValue[1], value);\n nextSelectedValue = [firstSelectedValue, value];\n } else {\n syncTime(prevSelectedValue[0], value);\n syncTime(prevSelectedValue[1], firstSelectedValue);\n nextSelectedValue = [value, firstSelectedValue];\n }\n } else if (type === 'start') {\n syncTime(prevSelectedValue[0], value);\n const endValue = sSelectedValue[1];\n nextSelectedValue =\n endValue && this.compare(endValue, value) > 0 ? [value, endValue] : [value];\n } else {\n // type === 'end'\n const startValue = sSelectedValue[0];\n if (startValue && this.compare(startValue, value) <= 0) {\n syncTime(prevSelectedValue[1], value);\n nextSelectedValue = [startValue, value];\n } else {\n syncTime(prevSelectedValue[0], value);\n nextSelectedValue = [value];\n }\n }\n\n this.fireSelectValueChange(nextSelectedValue);\n },\n\n onKeyDown(event) {\n if (event.target.nodeName.toLowerCase() === 'input') {\n return;\n }\n\n const { keyCode } = event;\n const ctrlKey = event.ctrlKey || event.metaKey;\n\n const {\n sSelectedValue: selectedValue,\n sHoverValue: hoverValue,\n firstSelectedValue,\n sValue: value, // Value is used for `CalendarPart` current page\n } = this.$data;\n const { disabledDate } = this.$props;\n\n // Update last time of the picker\n const updateHoverPoint = func => {\n // Change hover to make focus in UI\n let currentHoverTime;\n let nextHoverTime;\n let nextHoverValue;\n\n if (!firstSelectedValue) {\n currentHoverTime = hoverValue[0] || selectedValue[0] || value[0] || moment();\n nextHoverTime = func(currentHoverTime);\n nextHoverValue = [nextHoverTime];\n this.fireHoverValueChange(nextHoverValue);\n } else {\n if (hoverValue.length === 1) {\n currentHoverTime = hoverValue[0].clone();\n nextHoverTime = func(currentHoverTime);\n nextHoverValue = this.onDayHover(nextHoverTime);\n } else {\n currentHoverTime = hoverValue[0].isSame(firstSelectedValue, 'day')\n ? hoverValue[1]\n : hoverValue[0];\n nextHoverTime = func(currentHoverTime);\n nextHoverValue = this.onDayHover(nextHoverTime);\n }\n }\n\n // Find origin hover time on value index\n if (nextHoverValue.length >= 2) {\n const miss = nextHoverValue.some(ht => !includesTime(value, ht, 'month'));\n if (miss) {\n const newValue = nextHoverValue.slice().sort((t1, t2) => t1.valueOf() - t2.valueOf());\n if (newValue[0].isSame(newValue[1], 'month')) {\n newValue[1] = newValue[0].clone().add(1, 'month');\n }\n this.fireValueChange(newValue);\n }\n } else if (nextHoverValue.length === 1) {\n // If only one value, let's keep the origin panel\n let oriValueIndex = value.findIndex(time => time.isSame(currentHoverTime, 'month'));\n if (oriValueIndex === -1) oriValueIndex = 0;\n\n if (value.every(time => !time.isSame(nextHoverTime, 'month'))) {\n const newValue = value.slice();\n newValue[oriValueIndex] = nextHoverTime.clone();\n this.fireValueChange(newValue);\n }\n }\n\n event.preventDefault();\n\n return nextHoverTime;\n };\n\n switch (keyCode) {\n case KeyCode.DOWN:\n updateHoverPoint(time => goTime(time, 1, 'weeks'));\n return;\n case KeyCode.UP:\n updateHoverPoint(time => goTime(time, -1, 'weeks'));\n return;\n case KeyCode.LEFT:\n if (ctrlKey) {\n updateHoverPoint(time => goTime(time, -1, 'years'));\n } else {\n updateHoverPoint(time => goTime(time, -1, 'days'));\n }\n return;\n case KeyCode.RIGHT:\n if (ctrlKey) {\n updateHoverPoint(time => goTime(time, 1, 'years'));\n } else {\n updateHoverPoint(time => goTime(time, 1, 'days'));\n }\n return;\n case KeyCode.HOME:\n updateHoverPoint(time => goStartMonth(time));\n return;\n case KeyCode.END:\n updateHoverPoint(time => goEndMonth(time));\n return;\n case KeyCode.PAGE_DOWN:\n updateHoverPoint(time => goTime(time, 1, 'month'));\n return;\n case KeyCode.PAGE_UP:\n updateHoverPoint(time => goTime(time, -1, 'month'));\n return;\n case KeyCode.ENTER: {\n let lastValue;\n if (hoverValue.length === 0) {\n lastValue = updateHoverPoint(time => time);\n } else if (hoverValue.length === 1) {\n lastValue = hoverValue[0];\n } else {\n lastValue = hoverValue[0].isSame(firstSelectedValue, 'day')\n ? hoverValue[1]\n : hoverValue[0];\n }\n if (lastValue && (!disabledDate || !disabledDate(lastValue))) {\n this.onSelect(lastValue);\n }\n event.preventDefault();\n return;\n }\n default:\n this.__emit('keydown', event);\n }\n },\n\n onDayHover(value) {\n let hoverValue = [];\n const { sSelectedValue, firstSelectedValue, type } = this;\n if (type === 'start' && sSelectedValue[1]) {\n hoverValue =\n this.compare(value, sSelectedValue[1]) < 0 ? [value, sSelectedValue[1]] : [value];\n } else if (type === 'end' && sSelectedValue[0]) {\n hoverValue = this.compare(value, sSelectedValue[0]) > 0 ? [sSelectedValue[0], value] : [];\n } else {\n if (!firstSelectedValue) {\n if (this.sHoverValue.length) {\n this.setState({ sHoverValue: [] });\n }\n return hoverValue;\n }\n hoverValue =\n this.compare(value, firstSelectedValue) < 0\n ? [value, firstSelectedValue]\n : [firstSelectedValue, value];\n }\n this.fireHoverValueChange(hoverValue);\n return hoverValue;\n },\n\n onToday() {\n const startValue = getTodayTime(this.sValue[0]);\n const endValue = startValue.clone().add(1, 'months');\n this.setState({ sValue: [startValue, endValue] });\n },\n\n onOpenTimePicker() {\n this.setState({\n sShowTimePicker: true,\n });\n },\n onCloseTimePicker() {\n this.setState({\n sShowTimePicker: false,\n });\n },\n\n onOk() {\n const { sSelectedValue } = this;\n if (this.isAllowedDateAndTime(sSelectedValue)) {\n this.__emit('ok', sSelectedValue);\n }\n },\n\n onStartInputChange(...oargs) {\n const args = ['left'].concat(oargs);\n return onInputSelect.apply(this, args);\n },\n\n onEndInputChange(...oargs) {\n const args = ['right'].concat(oargs);\n return onInputSelect.apply(this, args);\n },\n\n onStartInputSelect(value) {\n const args = ['left', value, { source: 'dateInputSelect' }];\n return onInputSelect.apply(this, args);\n },\n\n onEndInputSelect(value) {\n const args = ['right', value, { source: 'dateInputSelect' }];\n return onInputSelect.apply(this, args);\n },\n\n onStartValueChange(leftValue) {\n const value = [...this.sValue];\n value[0] = leftValue;\n return this.fireValueChange(value);\n },\n\n onEndValueChange(rightValue) {\n const value = [...this.sValue];\n value[1] = rightValue;\n return this.fireValueChange(value);\n },\n\n onStartPanelChange(value, mode) {\n const { sMode, sValue } = this;\n const newMode = [mode, sMode[1]];\n const newValue = [value || sValue[0], sValue[1]];\n this.__emit('panelChange', newValue, newMode);\n const newState = {\n sPanelTriggerSource: 'start',\n };\n if (!hasProp(this, 'mode')) {\n newState.sMode = newMode;\n }\n this.setState(newState);\n },\n\n onEndPanelChange(value, mode) {\n const { sMode, sValue } = this;\n const newMode = [sMode[0], mode];\n const newValue = [sValue[0], value || sValue[1]];\n this.__emit('panelChange', newValue, newMode);\n const newState = {\n sPanelTriggerSource: 'end',\n };\n if (!hasProp(this, 'mode')) {\n newState.sMode = newMode;\n }\n this.setState(newState);\n },\n\n getStartValue() {\n const {\n sSelectedValue: selectedValue,\n sShowTimePicker: showTimePicker,\n sValue: value,\n sMode: mode,\n sPanelTriggerSource: panelTriggerSource,\n } = this.$data;\n let startValue = value[0];\n // keep selectedTime when select date\n if (selectedValue[0] && this.$props.timePicker) {\n startValue = startValue.clone();\n syncTime(selectedValue[0], startValue);\n }\n if (showTimePicker && selectedValue[0]) {\n startValue = selectedValue[0];\n }\n\n // Adjust month if date not align\n if (\n panelTriggerSource === 'end' &&\n mode[0] === 'date' &&\n mode[1] === 'date' &&\n startValue.isSame(value[1], 'month')\n ) {\n startValue = startValue.clone().subtract(1, 'month');\n }\n\n return startValue;\n },\n\n getEndValue() {\n const {\n sSelectedValue: selectedValue,\n sShowTimePicker: showTimePicker,\n sValue: value,\n sMode: mode,\n sPanelTriggerSource: panelTriggerSource,\n } = this.$data;\n let endValue = value[1] ? value[1].clone() : value[0].clone().add(1, 'month');\n // keep selectedTime when select date\n if (selectedValue[1] && this.$props.timePicker) {\n syncTime(selectedValue[1], endValue);\n }\n if (showTimePicker) {\n endValue = selectedValue[1] ? selectedValue[1] : this.getStartValue();\n }\n\n // Adjust month if date not align\n if (\n !showTimePicker &&\n panelTriggerSource !== 'end' &&\n mode[0] === 'date' &&\n mode[1] === 'date' &&\n endValue.isSame(value[0], 'month')\n ) {\n endValue = endValue.clone().add(1, 'month');\n }\n\n return endValue;\n },\n // get disabled hours for second picker\n getEndDisableTime() {\n const { sSelectedValue, sValue, disabledTime } = this;\n const userSettingDisabledTime = disabledTime(sSelectedValue, 'end') || {};\n const startValue = (sSelectedValue && sSelectedValue[0]) || sValue[0].clone();\n // if startTime and endTime is same day..\n // the second time picker will not able to pick time before first time picker\n if (!sSelectedValue[1] || startValue.isSame(sSelectedValue[1], 'day')) {\n const hours = startValue.hour();\n const minutes = startValue.minute();\n const second = startValue.second();\n let { disabledHours, disabledMinutes, disabledSeconds } = userSettingDisabledTime;\n const oldDisabledMinutes = disabledMinutes ? disabledMinutes() : [];\n const olddisabledSeconds = disabledSeconds ? disabledSeconds() : [];\n disabledHours = generateOptions(hours, disabledHours);\n disabledMinutes = generateOptions(minutes, disabledMinutes);\n disabledSeconds = generateOptions(second, disabledSeconds);\n return {\n disabledHours() {\n return disabledHours;\n },\n disabledMinutes(hour) {\n if (hour === hours) {\n return disabledMinutes;\n }\n return oldDisabledMinutes;\n },\n disabledSeconds(hour, minute) {\n if (hour === hours && minute === minutes) {\n return disabledSeconds;\n }\n return olddisabledSeconds;\n },\n };\n }\n return userSettingDisabledTime;\n },\n\n isAllowedDateAndTime(selectedValue) {\n return (\n isAllowedDate(selectedValue[0], this.disabledDate, this.disabledStartTime) &&\n isAllowedDate(selectedValue[1], this.disabledDate, this.disabledEndTime)\n );\n },\n\n isMonthYearPanelShow(mode) {\n return ['month', 'year', 'decade'].indexOf(mode) > -1;\n },\n\n hasSelectedValue() {\n const { sSelectedValue } = this;\n return !!sSelectedValue[1] && !!sSelectedValue[0];\n },\n\n compare(v1, v2) {\n if (this.timePicker) {\n return v1.diff(v2);\n }\n return v1.diff(v2, 'days');\n },\n\n fireSelectValueChange(selectedValue, direct, cause) {\n const { timePicker, prevSelectedValue } = this;\n if (timePicker) {\n const timePickerProps = getOptionProps(timePicker);\n if (timePickerProps.defaultValue) {\n const timePickerDefaultValue = timePickerProps.defaultValue;\n if (!prevSelectedValue[0] && selectedValue[0]) {\n syncTime(timePickerDefaultValue[0], selectedValue[0]);\n }\n if (!prevSelectedValue[1] && selectedValue[1]) {\n syncTime(timePickerDefaultValue[1], selectedValue[1]);\n }\n }\n }\n // 尚未选择过时间,直接输入的话\n if (!this.sSelectedValue[0] || !this.sSelectedValue[1]) {\n const startValue = selectedValue[0] || moment();\n const endValue = selectedValue[1] || startValue.clone().add(1, 'months');\n this.setState({\n sSelectedValue: selectedValue,\n sValue:\n selectedValue && selectedValue.length === 2\n ? getValueFromSelectedValue([startValue, endValue])\n : this.sValue,\n });\n }\n\n if (selectedValue[0] && !selectedValue[1]) {\n this.setState({ firstSelectedValue: selectedValue[0] });\n this.fireHoverValueChange(selectedValue.concat());\n }\n this.__emit('change', selectedValue);\n if (direct || (selectedValue[0] && selectedValue[1])) {\n this.setState({\n prevSelectedValue: selectedValue,\n firstSelectedValue: null,\n });\n this.fireHoverValueChange([]);\n this.__emit('select', selectedValue, cause);\n }\n if (!hasProp(this, 'selectedValue')) {\n this.setState({\n sSelectedValue: selectedValue,\n });\n }\n },\n\n fireValueChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n });\n }\n this.__emit('valueChange', value);\n },\n\n fireHoverValueChange(hoverValue) {\n if (!hasProp(this, 'hoverValue')) {\n this.setState({ sHoverValue: hoverValue });\n }\n this.__emit('hoverChange', hoverValue);\n },\n\n clear() {\n this.fireSelectValueChange([], true);\n this.__emit('clear');\n },\n\n disabledStartTime(time) {\n return this.disabledTime(time, 'start');\n },\n\n disabledEndTime(time) {\n return this.disabledTime(time, 'end');\n },\n\n disabledStartMonth(month) {\n const { sValue } = this;\n return month.isAfter(sValue[1], 'month');\n },\n\n disabledEndMonth(month) {\n const { sValue } = this;\n return month.isBefore(sValue[0], 'month');\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const {\n prefixCls,\n dateInputPlaceholder,\n timePicker,\n showOk,\n locale,\n showClear,\n showToday,\n type,\n seperator,\n } = props;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const { sHoverValue, sSelectedValue, sMode: mode, sShowTimePicker, sValue } = this;\n const className = {\n [prefixCls]: 1,\n [`${prefixCls}-hidden`]: !props.visible,\n [`${prefixCls}-range`]: 1,\n [`${prefixCls}-show-time-picker`]: sShowTimePicker,\n [`${prefixCls}-week-number`]: props.showWeekNumber,\n };\n const baseProps = {\n props,\n on: getListeners(this),\n };\n const newProps = {\n props: {\n selectedValue: sSelectedValue,\n },\n on: {\n select: this.onSelect,\n dayHover:\n (type === 'start' && sSelectedValue[1]) ||\n (type === 'end' && sSelectedValue[0]) ||\n !!sHoverValue.length\n ? this.onDayHover\n : noop,\n },\n };\n\n let placeholder1;\n let placeholder2;\n\n if (dateInputPlaceholder) {\n if (Array.isArray(dateInputPlaceholder)) {\n [placeholder1, placeholder2] = dateInputPlaceholder;\n } else {\n placeholder1 = placeholder2 = dateInputPlaceholder;\n }\n }\n const showOkButton = showOk === true || (showOk !== false && !!timePicker);\n const cls = {\n [`${prefixCls}-footer`]: true,\n [`${prefixCls}-range-bottom`]: true,\n [`${prefixCls}-footer-show-ok`]: showOkButton,\n };\n\n const startValue = this.getStartValue();\n const endValue = this.getEndValue();\n const todayTime = getTodayTime(startValue);\n const thisMonth = todayTime.month();\n const thisYear = todayTime.year();\n const isTodayInView =\n (startValue.year() === thisYear && startValue.month() === thisMonth) ||\n (endValue.year() === thisYear && endValue.month() === thisMonth);\n const nextMonthOfStart = startValue.clone().add(1, 'months');\n const isClosestMonths =\n nextMonthOfStart.year() === endValue.year() && nextMonthOfStart.month() === endValue.month();\n const leftPartProps = mergeProps(baseProps, newProps, {\n props: {\n hoverValue: sHoverValue,\n direction: 'left',\n disabledTime: this.disabledStartTime,\n disabledMonth: this.disabledStartMonth,\n format: this.getFormat(),\n value: startValue,\n mode: mode[0],\n placeholder: placeholder1,\n showDateInput: this.showDateInput,\n timePicker,\n showTimePicker: sShowTimePicker || mode[0] === 'time',\n enablePrev: true,\n enableNext: !isClosestMonths || this.isMonthYearPanelShow(mode[1]),\n clearIcon,\n },\n on: {\n inputChange: this.onStartInputChange,\n inputSelect: this.onStartInputSelect,\n valueChange: this.onStartValueChange,\n panelChange: this.onStartPanelChange,\n },\n });\n const rightPartProps = mergeProps(baseProps, newProps, {\n props: {\n hoverValue: sHoverValue,\n direction: 'right',\n format: this.getFormat(),\n timePickerDisabledTime: this.getEndDisableTime(),\n placeholder: placeholder2,\n value: endValue,\n mode: mode[1],\n showDateInput: this.showDateInput,\n timePicker,\n showTimePicker: sShowTimePicker || mode[1] === 'time',\n disabledTime: this.disabledEndTime,\n disabledMonth: this.disabledEndMonth,\n enablePrev: !isClosestMonths || this.isMonthYearPanelShow(mode[0]),\n enableNext: true,\n clearIcon,\n },\n on: {\n inputChange: this.onEndInputChange,\n inputSelect: this.onEndInputSelect,\n valueChange: this.onEndValueChange,\n panelChange: this.onEndPanelChange,\n },\n });\n let TodayButtonNode = null;\n if (showToday) {\n const todayButtonProps = mergeProps(baseProps, {\n props: {\n disabled: isTodayInView,\n value: sValue[0],\n text: locale.backToToday,\n },\n on: {\n today: this.onToday,\n },\n });\n TodayButtonNode = <TodayButton key=\"todayButton\" {...todayButtonProps} />;\n }\n\n let TimePickerButtonNode = null;\n if (props.timePicker) {\n const timePickerButtonProps = mergeProps(baseProps, {\n props: {\n showTimePicker: sShowTimePicker || (mode[0] === 'time' && mode[1] === 'time'),\n timePickerDisabled: !this.hasSelectedValue() || sHoverValue.length,\n },\n on: {\n openTimePicker: this.onOpenTimePicker,\n closeTimePicker: this.onCloseTimePicker,\n },\n });\n TimePickerButtonNode = <TimePickerButton key=\"timePickerButton\" {...timePickerButtonProps} />;\n }\n\n let OkButtonNode = null;\n if (showOkButton) {\n const okButtonProps = mergeProps(baseProps, {\n props: {\n okDisabled:\n !this.isAllowedDateAndTime(sSelectedValue) ||\n !this.hasSelectedValue() ||\n sHoverValue.length,\n },\n on: {\n ok: this.onOk,\n },\n });\n OkButtonNode = <OkButton key=\"okButtonNode\" {...okButtonProps} />;\n }\n const extraFooter = this.renderFooter(mode);\n return (\n <div ref=\"rootInstance\" class={className} tabIndex=\"0\" onKeydown={this.onKeyDown}>\n {props.renderSidebar()}\n <div class={`${prefixCls}-panel`}>\n {showClear && sSelectedValue[0] && sSelectedValue[1] ? (\n <a role=\"button\" title={locale.clear} onClick={this.clear}>\n {clearIcon || <span class={`${prefixCls}-clear-btn`} />}\n </a>\n ) : null}\n <div\n class={`${prefixCls}-date-panel`}\n onMouseleave={type !== 'both' ? this.onDatePanelLeave : noop}\n onMouseenter={type !== 'both' ? this.onDatePanelEnter : noop}\n >\n <CalendarPart {...leftPartProps} />\n <span class={`${prefixCls}-range-middle`}>{seperator}</span>\n <CalendarPart {...rightPartProps} />\n </div>\n <div class={cls}>\n {showToday || props.timePicker || showOkButton || extraFooter ? (\n <div class={`${prefixCls}-footer-btn`}>\n {extraFooter}\n {TodayButtonNode}\n {TimePickerButtonNode}\n {OkButtonNode}\n </div>\n ) : null}\n </div>\n </div>\n </div>\n );\n },\n};\n\nexport default RangeCalendar;\n","import PropTypes from '../_util/vue-types';\nimport Icon from '../icon';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport omit from 'omit.js';\nimport Wave from '../_util/wave';\nimport { hasProp, getListeners, getOptionProps } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport warning from '../_util/warning';\n\nconst PresetColorTypes = [\n 'pink',\n 'red',\n 'yellow',\n 'orange',\n 'cyan',\n 'green',\n 'blue',\n 'purple',\n 'geekblue',\n 'magenta',\n 'volcano',\n 'gold',\n 'lime',\n];\nconst PresetColorRegex = new RegExp(`^(${PresetColorTypes.join('|')})(-inverse)?$`);\n\nexport default {\n name: 'ATag',\n mixins: [BaseMixin],\n model: {\n prop: 'visible',\n event: 'close.visible',\n },\n props: {\n prefixCls: PropTypes.string,\n color: PropTypes.string,\n closable: PropTypes.bool.def(false),\n visible: PropTypes.bool,\n afterClose: PropTypes.func,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n let _visible = true;\n const props = getOptionProps(this);\n if ('visible' in props) {\n _visible = this.visible;\n }\n warning(\n !('afterClose' in props),\n 'Tag',\n \"'afterClose' will be deprecated, please use 'close' event, we will remove this in the next version.\",\n );\n return {\n _visible,\n };\n },\n watch: {\n visible(val) {\n this.setState({\n _visible: val,\n });\n },\n },\n methods: {\n setVisible(visible, e) {\n this.$emit('close', e);\n this.$emit('close.visible', false);\n const afterClose = this.afterClose;\n if (afterClose) {\n // next version remove.\n afterClose();\n }\n if (e.defaultPrevented) {\n return;\n }\n if (!hasProp(this, 'visible')) {\n this.setState({ _visible: visible });\n }\n },\n\n handleIconClick(e) {\n e.stopPropagation();\n this.setVisible(false, e);\n },\n\n isPresetColor() {\n const { color } = this.$props;\n if (!color) {\n return false;\n }\n return PresetColorRegex.test(color);\n },\n getTagStyle() {\n const { color } = this.$props;\n const isPresetColor = this.isPresetColor();\n return {\n backgroundColor: color && !isPresetColor ? color : undefined,\n };\n },\n\n getTagClassName(prefixCls) {\n const { color } = this.$props;\n const isPresetColor = this.isPresetColor();\n return {\n [prefixCls]: true,\n [`${prefixCls}-${color}`]: isPresetColor,\n [`${prefixCls}-has-color`]: color && !isPresetColor,\n };\n },\n\n renderCloseIcon() {\n const { closable } = this.$props;\n return closable ? <Icon type=\"close\" onClick={this.handleIconClick} /> : null;\n },\n },\n\n render() {\n const { prefixCls: customizePrefixCls } = this.$props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('tag', customizePrefixCls);\n const { _visible: visible } = this.$data;\n const tag = (\n <span\n v-show={visible}\n {...{ on: omit(getListeners(this), ['close']) }}\n class={this.getTagClassName(prefixCls)}\n style={this.getTagStyle()}\n >\n {this.$slots.default}\n {this.renderCloseIcon()}\n </span>\n );\n const transitionProps = getTransitionProps(`${prefixCls}-zoom`, {\n appear: false,\n });\n return (\n <Wave>\n <transition {...transitionProps}>{tag}</transition>\n </Wave>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport default {\n name: 'ACheckableTag',\n model: {\n prop: 'checked',\n },\n props: {\n prefixCls: PropTypes.string,\n checked: Boolean,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n computed: {\n classes() {\n const { checked, prefixCls: customizePrefixCls } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('tag', customizePrefixCls);\n return {\n [`${prefixCls}`]: true,\n [`${prefixCls}-checkable`]: true,\n [`${prefixCls}-checkable-checked`]: checked,\n };\n },\n },\n methods: {\n handleClick() {\n const { checked } = this;\n this.$emit('input', !checked);\n this.$emit('change', !checked);\n },\n },\n render() {\n const { classes, handleClick, $slots } = this;\n return (\n <div class={classes} onClick={handleClick}>\n {$slots.default}\n </div>\n );\n },\n};\n","import Tag from './Tag';\nimport CheckableTag from './CheckableTag';\nimport Base from '../base';\n\nTag.CheckableTag = CheckableTag;\n\n/* istanbul ignore next */\nTag.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Tag.name, Tag);\n Vue.component(Tag.CheckableTag.name, Tag.CheckableTag);\n};\n\nexport default Tag;\n","// import { TimePickerProps } from '../time-picker'\nimport PropTypes from '../_util/vue-types';\nimport { TimesType, TimeType } from '../_util/moment-util';\n\nexport const PickerProps = () => ({\n name: PropTypes.string,\n transitionName: PropTypes.string,\n prefixCls: PropTypes.string,\n inputPrefixCls: PropTypes.string,\n format: PropTypes.oneOfType([PropTypes.string, PropTypes.array, PropTypes.func]),\n disabled: PropTypes.bool,\n allowClear: PropTypes.bool,\n suffixIcon: PropTypes.any,\n popupStyle: PropTypes.object,\n dropdownClassName: PropTypes.string,\n locale: PropTypes.any,\n localeCode: PropTypes.string,\n size: PropTypes.oneOf(['large', 'small', 'default']),\n getCalendarContainer: PropTypes.func,\n open: PropTypes.bool,\n // onOpenChange: PropTypes.(status: bool) => void,\n disabledDate: PropTypes.func,\n showToday: PropTypes.bool,\n dateRender: PropTypes.any, // (current: moment.Moment, today: moment.Moment) => React.ReactNode,\n pickerClass: PropTypes.string,\n pickerInputClass: PropTypes.string,\n timePicker: PropTypes.any,\n autoFocus: PropTypes.bool,\n tagPrefixCls: PropTypes.string,\n tabIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n align: PropTypes.object.def(() => ({})),\n inputReadOnly: PropTypes.bool,\n valueFormat: PropTypes.string,\n});\n\nexport const SinglePickerProps = () => ({\n value: TimeType,\n defaultValue: TimeType,\n defaultPickerValue: TimeType,\n renderExtraFooter: PropTypes.any,\n placeholder: PropTypes.string,\n // onChange?: (date: moment.Moment, dateString: string) => void;\n});\n\nexport const DatePickerProps = () => ({\n ...PickerProps(),\n ...SinglePickerProps(),\n showTime: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),\n open: PropTypes.bool,\n disabledTime: PropTypes.func,\n // onOpenChange?: (status: bool) => void;\n // onOk?: (selectedTime: moment.Moment) => void;\n mode: PropTypes.oneOf(['time', 'date', 'month', 'year', 'decade']),\n});\n\nexport const MonthPickerProps = () => ({\n ...PickerProps(),\n ...SinglePickerProps(),\n placeholder: PropTypes.string,\n monthCellContentRender: PropTypes.func,\n});\n// export const RangePickerPresetRange = PropTypes.oneOfType([TimesType, PropTypes.func])\n\nexport const RangePickerProps = () => ({\n ...PickerProps(),\n tagPrefixCls: PropTypes.string,\n value: TimesType,\n defaultValue: TimesType,\n defaultPickerValue: TimesType,\n timePicker: PropTypes.any,\n // onChange?: (dates: TimesType, dateStrings: [string, string]) => void;\n // onCalendarChange?: (dates: TimesType, dateStrings: [string, string]) => void;\n // onOk?: (selectedTime: moment.Moment) => void;\n showTime: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),\n ranges: PropTypes.object,\n placeholder: PropTypes.arrayOf(String),\n mode: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(String)]),\n separator: PropTypes.any,\n disabledTime: PropTypes.func,\n showToday: PropTypes.bool,\n renderExtraFooter: PropTypes.any,\n // onPanelChange?: (value?: TimesType, mode?: string | string[]) => void;\n});\n\nexport const WeekPickerProps = () => ({\n ...PickerProps(),\n ...SinglePickerProps(),\n placeholder: PropTypes.string,\n});\n\n// export interface DatePickerDecorator extends React.ClassicComponentClass<DatePickerProps> {\n// RangePicker: React.ClassicComponentClass<RangePickerProps>;\n// MonthPicker: React.ClassicComponentClass<MonthPickerProps>;\n// WeekPicker: React.ClassicComponentClass<WeexPickerProps>;\n// }\n","import Icon from '../icon';\nimport { isValidElement } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\n\nexport default {\n functional: true,\n render(h, context) {\n const { props } = context;\n const { suffixIcon, prefixCls } = props;\n return (\n (suffixIcon && isValidElement(suffixIcon) ? (\n cloneElement(suffixIcon, {\n class: `${prefixCls}-picker-icon`,\n })\n ) : (\n <span class={`${prefixCls}-picker-icon`}>{suffixIcon}</span>\n )) || <Icon type=\"calendar\" class={`${prefixCls}-picker-icon`} />\n );\n },\n};\n","import * as moment from 'moment';\nimport RangeCalendar from '../vc-calendar/src/RangeCalendar';\nimport VcDatePicker from '../vc-calendar/src/Picker';\nimport classNames from 'classnames';\nimport shallowequal from 'shallowequal';\nimport Icon from '../icon';\nimport Tag from '../tag';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport interopDefault from '../_util/interopDefault';\nimport { RangePickerProps } from './interface';\nimport {\n hasProp,\n getOptionProps,\n initDefaultProps,\n mergeProps,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { formatDate } from './utils';\nimport InputIcon from './InputIcon';\n\nfunction noop() {}\nfunction getShowDateFromValue(value, mode) {\n const [start, end] = value;\n // value could be an empty array, then we should not reset showDate\n if (!start && !end) {\n return;\n }\n if (mode && mode[0] === 'month') {\n return [start, end];\n }\n const newEnd = end && end.isSame(start, 'month') ? end.clone().add(1, 'month') : end;\n return [start, newEnd];\n}\n\nfunction pickerValueAdapter(value) {\n if (!value) {\n return;\n }\n if (Array.isArray(value)) {\n return value;\n }\n return [value, value.clone().add(1, 'month')];\n}\n\nfunction isEmptyArray(arr) {\n if (Array.isArray(arr)) {\n return arr.length === 0 || arr.every(i => !i);\n }\n return false;\n}\n\nfunction fixLocale(value, localeCode) {\n if (!localeCode) {\n return;\n }\n if (!value || value.length === 0) {\n return;\n }\n const [start, end] = value;\n if (start) {\n start.locale(localeCode);\n }\n if (end) {\n end.locale(localeCode);\n }\n}\n\nexport default {\n name: 'ARangePicker',\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(RangePickerProps(), {\n allowClear: true,\n showToday: false,\n separator: '~',\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const value = this.value || this.defaultValue || [];\n const [start, end] = value;\n if (\n (start && !interopDefault(moment).isMoment(start)) ||\n (end && !interopDefault(moment).isMoment(end))\n ) {\n throw new Error(\n 'The value/defaultValue of RangePicker must be a moment object array after `antd@2.0`, ' +\n 'see: https://u.ant.design/date-picker-value',\n );\n }\n const pickerValue = !value || isEmptyArray(value) ? this.defaultPickerValue : value;\n return {\n sValue: value,\n sShowDate: pickerValueAdapter(pickerValue || interopDefault(moment)()),\n sOpen: this.open,\n sHoverValue: [],\n };\n },\n watch: {\n value(val) {\n const value = val || [];\n let state = { sValue: value };\n if (!shallowequal(val, this.sValue)) {\n state = {\n ...state,\n sShowDate: getShowDateFromValue(value, this.mode) || this.sShowDate,\n };\n }\n this.setState(state);\n },\n open(val) {\n const state = { sOpen: val };\n this.setState(state);\n },\n sOpen(val, oldVal) {\n this.$nextTick(() => {\n if (!hasProp(this, 'open') && oldVal && !val) {\n this.focus();\n }\n });\n },\n },\n methods: {\n setValue(value, hidePanel) {\n this.handleChange(value);\n if ((hidePanel || !this.showTime) && !hasProp(this, 'open')) {\n this.setState({ sOpen: false });\n }\n },\n clearSelection(e) {\n e.preventDefault();\n e.stopPropagation();\n this.setState({ sValue: [] });\n this.handleChange([]);\n },\n\n clearHoverValue() {\n this.setState({ sHoverValue: [] });\n },\n\n handleChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState(({ sShowDate }) => ({\n sValue: value,\n sShowDate: getShowDateFromValue(value) || sShowDate,\n }));\n }\n if (value[0] && value[1] && value[0].diff(value[1]) > 0) {\n value[1] = undefined;\n }\n const [start, end] = value;\n this.$emit('change', value, [formatDate(start, this.format), formatDate(end, this.format)]);\n },\n\n handleOpenChange(open) {\n if (!hasProp(this, 'open')) {\n this.setState({ sOpen: open });\n }\n\n if (open === false) {\n this.clearHoverValue();\n }\n this.$emit('openChange', open);\n },\n\n handleShowDateChange(showDate) {\n this.setState({ sShowDate: showDate });\n },\n\n handleHoverChange(hoverValue) {\n this.setState({ sHoverValue: hoverValue });\n },\n\n handleRangeMouseLeave() {\n if (this.sOpen) {\n this.clearHoverValue();\n }\n },\n\n handleCalendarInputSelect(value) {\n const [start] = value;\n if (!start) {\n return;\n }\n this.setState(({ sShowDate }) => ({\n sValue: value,\n sShowDate: getShowDateFromValue(value) || sShowDate,\n }));\n },\n\n handleRangeClick(value) {\n if (typeof value === 'function') {\n value = value();\n }\n\n this.setValue(value, true);\n this.$emit('ok', value);\n this.$emit('openChange', false);\n },\n\n onMouseEnter(e) {\n this.$emit('mouseenter', e);\n },\n onMouseLeave(e) {\n this.$emit('mouseleave', e);\n },\n\n focus() {\n this.$refs.picker.focus();\n },\n\n blur() {\n this.$refs.picker.blur();\n },\n\n renderFooter() {\n const { ranges, $scopedSlots, $slots } = this;\n const { _prefixCls: prefixCls, _tagPrefixCls: tagPrefixCls } = this;\n const renderExtraFooter =\n this.renderExtraFooter || $scopedSlots.renderExtraFooter || $slots.renderExtraFooter;\n if (!ranges && !renderExtraFooter) {\n return null;\n }\n const customFooter = renderExtraFooter ? (\n <div class={`${prefixCls}-footer-extra`} key=\"extra\">\n {typeof renderExtraFooter === 'function' ? renderExtraFooter() : renderExtraFooter}\n </div>\n ) : null;\n const operations =\n ranges &&\n Object.keys(ranges).map(range => {\n const value = ranges[range];\n const hoverValue = typeof value === 'function' ? value.call(this) : value;\n return (\n <Tag\n key={range}\n prefixCls={tagPrefixCls}\n color=\"blue\"\n onClick={() => this.handleRangeClick(value)}\n onMouseenter={() => this.setState({ sHoverValue: hoverValue })}\n onMouseleave={this.handleRangeMouseLeave}\n >\n {range}\n </Tag>\n );\n });\n const rangeNode =\n operations && operations.length > 0 ? (\n <div class={`${prefixCls}-footer-extra ${prefixCls}-range-quick-selector`} key=\"range\">\n {operations}\n </div>\n ) : null;\n return [rangeNode, customFooter];\n },\n },\n\n render() {\n const props = getOptionProps(this);\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n const {\n sValue: value,\n sShowDate: showDate,\n sHoverValue: hoverValue,\n sOpen: open,\n $scopedSlots,\n } = this;\n const listeners = getListeners(this);\n const {\n calendarChange = noop,\n ok = noop,\n focus = noop,\n blur = noop,\n panelChange = noop,\n } = listeners;\n const {\n prefixCls: customizePrefixCls,\n tagPrefixCls: customizeTagPrefixCls,\n popupStyle,\n disabledDate,\n disabledTime,\n showTime,\n showToday,\n ranges,\n locale,\n localeCode,\n format,\n separator,\n inputReadOnly,\n } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('calendar', customizePrefixCls);\n const tagPrefixCls = getPrefixCls('tag', customizeTagPrefixCls);\n this._prefixCls = prefixCls;\n this._tagPrefixCls = tagPrefixCls;\n\n const dateRender = props.dateRender || $scopedSlots.dateRender;\n fixLocale(value, localeCode);\n fixLocale(showDate, localeCode);\n\n const calendarClassName = classNames({\n [`${prefixCls}-time`]: showTime,\n [`${prefixCls}-range-with-ranges`]: ranges,\n });\n\n // 需要选择时间时,点击 ok 时才触发 onChange\n const pickerChangeHandler = {\n on: {\n change: this.handleChange,\n },\n };\n let calendarProps = {\n on: {\n ok: this.handleChange,\n },\n props: {},\n };\n if (props.timePicker) {\n pickerChangeHandler.on.change = changedValue => this.handleChange(changedValue);\n } else {\n calendarProps = { on: {}, props: {} };\n }\n if ('mode' in props) {\n calendarProps.props.mode = props.mode;\n }\n\n const startPlaceholder = Array.isArray(props.placeholder)\n ? props.placeholder[0]\n : locale.lang.rangePlaceholder[0];\n const endPlaceholder = Array.isArray(props.placeholder)\n ? props.placeholder[1]\n : locale.lang.rangePlaceholder[1];\n\n const rangeCalendarProps = mergeProps(calendarProps, {\n props: {\n separator,\n format,\n prefixCls,\n renderFooter: this.renderFooter,\n timePicker: props.timePicker,\n disabledDate,\n disabledTime,\n dateInputPlaceholder: [startPlaceholder, endPlaceholder],\n locale: locale.lang,\n dateRender,\n value: showDate,\n hoverValue,\n showToday,\n inputReadOnly,\n },\n on: {\n change: calendarChange,\n ok,\n valueChange: this.handleShowDateChange,\n hoverChange: this.handleHoverChange,\n panelChange,\n inputSelect: this.handleCalendarInputSelect,\n },\n class: calendarClassName,\n scopedSlots: $scopedSlots,\n });\n const calendar = <RangeCalendar {...rangeCalendarProps} />;\n\n // default width for showTime\n const pickerStyle = {};\n if (props.showTime) {\n pickerStyle.width = '350px';\n }\n const [startValue, endValue] = value;\n const clearIcon =\n !props.disabled && props.allowClear && value && (startValue || endValue) ? (\n <Icon\n type=\"close-circle\"\n class={`${prefixCls}-picker-clear`}\n onClick={this.clearSelection}\n theme=\"filled\"\n />\n ) : null;\n\n const inputIcon = <InputIcon suffixIcon={suffixIcon} prefixCls={prefixCls} />;\n\n const input = ({ value: inputValue }) => {\n const [start, end] = inputValue;\n return (\n <span class={props.pickerInputClass}>\n <input\n disabled={props.disabled}\n readOnly\n value={formatDate(start, props.format)}\n placeholder={startPlaceholder}\n class={`${prefixCls}-range-picker-input`}\n tabIndex={-1}\n />\n <span class={`${prefixCls}-range-picker-separator`}> {separator} </span>\n <input\n disabled={props.disabled}\n readOnly\n value={formatDate(end, props.format)}\n placeholder={endPlaceholder}\n class={`${prefixCls}-range-picker-input`}\n tabIndex={-1}\n />\n {clearIcon}\n {inputIcon}\n </span>\n );\n };\n const vcDatePickerProps = mergeProps(\n {\n props,\n on: listeners,\n },\n pickerChangeHandler,\n {\n props: {\n calendar,\n value,\n open,\n prefixCls: `${prefixCls}-picker-container`,\n },\n on: {\n openChange: this.handleOpenChange,\n },\n style: popupStyle,\n scopedSlots: { default: input, ...$scopedSlots },\n },\n );\n return (\n <span\n ref=\"picker\"\n class={props.pickerClass}\n style={pickerStyle}\n tabIndex={props.disabled ? -1 : 0}\n onFocus={focus}\n onBlur={blur}\n onMouseenter={this.onMouseEnter}\n onMouseleave={this.onMouseLeave}\n >\n <VcDatePicker {...vcDatePickerProps} />\n </span>\n );\n },\n};\n","import * as moment from 'moment';\nimport Calendar from '../vc-calendar';\nimport VcDatePicker from '../vc-calendar/src/Picker';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport {\n hasProp,\n getOptionProps,\n initDefaultProps,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { WeekPickerProps } from './interface';\nimport interopDefault from '../_util/interopDefault';\nimport InputIcon from './InputIcon';\n\nfunction formatValue(value, format) {\n return (value && value.format(format)) || '';\n}\nfunction noop() {}\n\nexport default {\n // static defaultProps = {\n // format: 'YYYY-wo',\n // allowClear: true,\n // };\n\n // private input: any;\n name: 'AWeekPicker',\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(WeekPickerProps(), {\n format: 'gggg-wo',\n allowClear: true,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const value = this.value || this.defaultValue;\n if (value && !interopDefault(moment).isMoment(value)) {\n throw new Error(\n 'The value/defaultValue of WeekPicker or MonthPicker must be ' + 'a moment object',\n );\n }\n return {\n _value: value,\n _open: this.open,\n };\n },\n watch: {\n value(val) {\n const state = { _value: val };\n this.setState(state);\n this.prevState = { ...this.$data, ...state };\n },\n open(val) {\n const state = { _open: val };\n this.setState(state);\n this.prevState = { ...this.$data, ...state };\n },\n _open(val, oldVal) {\n this.$nextTick(() => {\n if (!hasProp(this, 'open') && oldVal && !val) {\n this.focus();\n }\n });\n },\n },\n mounted() {\n this.prevState = { ...this.$data };\n },\n updated() {\n this.$nextTick(() => {\n if (!hasProp(this, 'open') && this.prevState._open && !this._open) {\n this.focus();\n }\n });\n },\n methods: {\n weekDateRender(current) {\n const selectedValue = this.$data._value;\n const { _prefixCls: prefixCls, $scopedSlots } = this;\n const dateRender = this.dateRender || $scopedSlots.dateRender;\n const dateNode = dateRender ? dateRender(current) : current.date();\n if (\n selectedValue &&\n current.year() === selectedValue.year() &&\n current.week() === selectedValue.week()\n ) {\n return (\n <div class={`${prefixCls}-selected-day`}>\n <div class={`${prefixCls}-date`}>{dateNode}</div>\n </div>\n );\n }\n return <div class={`${prefixCls}-date`}>{dateNode}</div>;\n },\n handleChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState({ _value: value });\n }\n this.$emit('change', value, formatValue(value, this.format));\n },\n handleOpenChange(open) {\n if (!hasProp(this, 'open')) {\n this.setState({ _open: open });\n }\n this.$emit('openChange', open);\n },\n clearSelection(e) {\n e.preventDefault();\n e.stopPropagation();\n this.handleChange(null);\n },\n focus() {\n this.$refs.input.focus();\n },\n\n blur() {\n this.$refs.input.blur();\n },\n renderFooter(...args) {\n const { _prefixCls: prefixCls, $scopedSlots } = this;\n const renderExtraFooter = this.renderExtraFooter || $scopedSlots.renderExtraFooter;\n return renderExtraFooter ? (\n <div class={`${prefixCls}-footer-extra`}>{renderExtraFooter(...args)}</div>\n ) : null;\n },\n },\n\n render() {\n const props = getOptionProps(this);\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n const {\n prefixCls: customizePrefixCls,\n disabled,\n pickerClass,\n popupStyle,\n pickerInputClass,\n format,\n allowClear,\n locale,\n localeCode,\n disabledDate,\n defaultPickerValue,\n $data,\n $scopedSlots,\n } = this;\n const listeners = getListeners(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('calendar', customizePrefixCls);\n this._prefixCls = prefixCls;\n\n const { _value: pickerValue, _open: open } = $data;\n const { focus = noop, blur = noop } = listeners;\n\n if (pickerValue && localeCode) {\n pickerValue.locale(localeCode);\n }\n\n const placeholder = hasProp(this, 'placeholder') ? this.placeholder : locale.lang.placeholder;\n const weekDateRender = this.dateRender || $scopedSlots.dateRender || this.weekDateRender;\n const calendar = (\n <Calendar\n showWeekNumber\n dateRender={weekDateRender}\n prefixCls={prefixCls}\n format={format}\n locale={locale.lang}\n showDateInput={false}\n showToday={false}\n disabledDate={disabledDate}\n renderFooter={this.renderFooter}\n defaultValue={defaultPickerValue}\n />\n );\n const clearIcon =\n !disabled && allowClear && $data._value ? (\n <Icon\n type=\"close-circle\"\n class={`${prefixCls}-picker-clear`}\n onClick={this.clearSelection}\n theme=\"filled\"\n />\n ) : null;\n\n const inputIcon = <InputIcon suffixIcon={suffixIcon} prefixCls={prefixCls} />;\n\n const input = ({ value }) => {\n return (\n <span style={{ display: 'inline-block', width: '100%' }}>\n <input\n ref=\"input\"\n disabled={disabled}\n readOnly\n value={(value && value.format(format)) || ''}\n placeholder={placeholder}\n class={pickerInputClass}\n onFocus={focus}\n onBlur={blur}\n />\n {clearIcon}\n {inputIcon}\n </span>\n );\n };\n const vcDatePickerProps = {\n props: {\n ...props,\n calendar,\n prefixCls: `${prefixCls}-picker-container`,\n value: pickerValue,\n open,\n },\n on: {\n ...listeners,\n change: this.handleChange,\n openChange: this.handleOpenChange,\n },\n style: popupStyle,\n scopedSlots: { default: input, ...$scopedSlots },\n };\n return (\n <span class={pickerClass}>\n <VcDatePicker {...vcDatePickerProps} />\n </span>\n );\n },\n};\n","import VcCalendar from '../vc-calendar';\nimport MonthCalendar from '../vc-calendar/src/MonthCalendar';\nimport createPicker from './createPicker';\nimport wrapPicker from './wrapPicker';\nimport RangePicker from './RangePicker';\nimport WeekPicker from './WeekPicker';\nimport { DatePickerProps, MonthPickerProps, WeekPickerProps, RangePickerProps } from './interface';\nimport Base from '../base';\n\nconst DatePicker = wrapPicker(\n { ...createPicker(VcCalendar, DatePickerProps()), name: 'ADatePicker' },\n DatePickerProps(),\n 'date',\n);\n\nconst MonthPicker = wrapPicker(\n { ...createPicker(MonthCalendar, MonthPickerProps()), name: 'AMonthPicker' },\n MonthPickerProps(),\n 'month',\n);\n\nObject.assign(DatePicker, {\n RangePicker: wrapPicker(RangePicker, RangePickerProps(), 'date'),\n MonthPicker,\n WeekPicker: wrapPicker(WeekPicker, WeekPickerProps(), 'week'),\n});\n\n/* istanbul ignore next */\nDatePicker.install = function(Vue) {\n Vue.use(Base);\n Vue.component(DatePicker.name, DatePicker);\n Vue.component(DatePicker.RangePicker.name, DatePicker.RangePicker);\n Vue.component(DatePicker.MonthPicker.name, DatePicker.MonthPicker);\n Vue.component(DatePicker.WeekPicker.name, DatePicker.WeekPicker);\n};\n\nexport default DatePicker;\n","import PropTypes from '../_util/vue-types';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\n\nconst Divider = {\n name: 'ADivider',\n props: {\n prefixCls: PropTypes.string,\n type: PropTypes.oneOf(['horizontal', 'vertical', '']).def('horizontal'),\n dashed: PropTypes.bool,\n orientation: PropTypes.oneOf(['left', 'right', 'center']),\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render() {\n const { prefixCls: customizePrefixCls, type, $slots, dashed, orientation = 'center' } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('divider', customizePrefixCls);\n const orientationPrefix = orientation.length > 0 ? '-' + orientation : orientation;\n\n const classString = {\n [prefixCls]: true,\n [`${prefixCls}-${type}`]: true,\n [`${prefixCls}-with-text${orientationPrefix}`]: $slots.default,\n [`${prefixCls}-dashed`]: !!dashed,\n };\n\n return (\n <div class={classString} role=\"separator\">\n {$slots.default && <span class={`${prefixCls}-inner-text`}>{$slots.default}</span>}\n </div>\n );\n },\n};\n\n/* istanbul ignore next */\nDivider.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Divider.name, Divider);\n};\n\nexport default Divider;\n","import Dropdown from './dropdown';\nimport DropdownButton from './dropdown-button';\n\nexport { DropdownProps } from './dropdown';\nexport { DropdownButtonProps } from './dropdown-button';\nimport Base from '../base';\n\nDropdown.Button = DropdownButton;\n\n/* istanbul ignore next */\nDropdown.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Dropdown.name, Dropdown);\n Vue.component(DropdownButton.name, DropdownButton);\n};\n\nexport default Dropdown;\n","class Field {\n constructor(fields) {\n Object.assign(this, fields);\n }\n}\n\nexport function isFormField(obj) {\n return obj instanceof Field;\n}\n\nexport default function createFormField(field) {\n if (isFormField(field)) {\n return field;\n }\n return new Field(field);\n}\n","import warning from 'warning';\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.name || 'WrappedComponent';\n}\n\nexport function argumentContainer(Container, WrappedComponent) {\n /* eslint no-param-reassign:0 */\n Container.name = `Form_${getDisplayName(WrappedComponent)}`;\n Container.WrappedComponent = WrappedComponent;\n Container.props = { ...Container.props, ...WrappedComponent.props };\n return Container;\n}\n\nexport function identity(obj) {\n return obj;\n}\n\nexport function flattenArray(arr) {\n return Array.prototype.concat.apply([], arr);\n}\n\nexport function treeTraverse(path = '', tree, isLeafNode, errorMessage, callback) {\n if (isLeafNode(path, tree)) {\n callback(path, tree);\n } else if (tree === undefined || tree === null) {\n // Do nothing\n } else if (Array.isArray(tree)) {\n tree.forEach((subTree, index) =>\n treeTraverse(`${path}[${index}]`, subTree, isLeafNode, errorMessage, callback),\n );\n } else {\n // It's object and not a leaf node\n if (typeof tree !== 'object') {\n warning(false, errorMessage);\n return;\n }\n Object.keys(tree).forEach(subTreeKey => {\n const subTree = tree[subTreeKey];\n treeTraverse(\n `${path}${path ? '.' : ''}${subTreeKey}`,\n subTree,\n isLeafNode,\n errorMessage,\n callback,\n );\n });\n }\n}\n\nexport function flattenFields(maybeNestedFields, isLeafNode, errorMessage) {\n const fields = {};\n treeTraverse(undefined, maybeNestedFields, isLeafNode, errorMessage, (path, node) => {\n fields[path] = node;\n });\n return fields;\n}\n\nexport function normalizeValidateRules(validate, rules, validateTrigger) {\n const validateRules = validate.map(item => {\n const newItem = {\n ...item,\n trigger: item.trigger || [],\n };\n if (typeof newItem.trigger === 'string') {\n newItem.trigger = [newItem.trigger];\n }\n return newItem;\n });\n if (rules) {\n validateRules.push({\n trigger: validateTrigger ? [].concat(validateTrigger) : [],\n rules,\n });\n }\n return validateRules;\n}\n\nexport function getValidateTriggers(validateRules) {\n return validateRules\n .filter(item => !!item.rules && item.rules.length)\n .map(item => item.trigger)\n .reduce((pre, curr) => pre.concat(curr), []);\n}\n\nexport function getValueFromEvent(e) {\n // To support custom element\n if (!e || !e.target) {\n return e;\n }\n const { target } = e;\n return target.type === 'checkbox' ? target.checked : target.value;\n}\n\nexport function getErrorStrs(errors) {\n if (errors) {\n return errors.map(e => {\n if (e && e.message) {\n return e.message;\n }\n return e;\n });\n }\n return errors;\n}\n\nexport function getParams(ns, opt, cb) {\n let names = ns;\n let options = opt;\n let callback = cb;\n if (cb === undefined) {\n if (typeof names === 'function') {\n callback = names;\n options = {};\n names = undefined;\n } else if (Array.isArray(names)) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n } else {\n options = options || {};\n }\n } else {\n callback = options;\n options = names || {};\n names = undefined;\n }\n }\n return {\n names,\n options,\n callback,\n };\n}\n\nexport function isEmptyObject(obj) {\n return Object.keys(obj).length === 0;\n}\n\nexport function hasRules(validate) {\n if (validate) {\n return validate.some(item => {\n return item.rules && item.rules.length;\n });\n }\n return false;\n}\n\nexport function startsWith(str, prefix) {\n return str.lastIndexOf(prefix, 0) === 0;\n}\n","import set from 'lodash/set';\nimport createFormField, { isFormField } from './createFormField';\nimport { hasRules, flattenFields, getErrorStrs, startsWith } from './utils';\n\nfunction partOf(a, b) {\n return b.indexOf(a) === 0 && ['.', '['].indexOf(b[a.length]) !== -1;\n}\n\nfunction internalFlattenFields(fields) {\n return flattenFields(\n fields,\n (_, node) => isFormField(node),\n 'You must wrap field data with `createFormField`.',\n );\n}\n\nclass FieldsStore {\n constructor(fields) {\n this.fields = internalFlattenFields(fields);\n this.fieldsMeta = {};\n }\n\n updateFields(fields) {\n this.fields = internalFlattenFields(fields);\n }\n\n flattenRegisteredFields(fields) {\n const validFieldsName = this.getAllFieldsName();\n return flattenFields(\n fields,\n path => validFieldsName.indexOf(path) >= 0,\n `You cannot set a form field before rendering a field associated with the value. You can use \\`getFieldDecorator(id, options)\\` instead \\`v-decorator=\"[id, options]\"\\` to register it before render.`,\n );\n }\n\n setFieldsInitialValue = initialValues => {\n const flattenedInitialValues = this.flattenRegisteredFields(initialValues);\n const fieldsMeta = this.fieldsMeta;\n Object.keys(flattenedInitialValues).forEach(name => {\n if (fieldsMeta[name]) {\n this.setFieldMeta(name, {\n ...this.getFieldMeta(name),\n initialValue: flattenedInitialValues[name],\n });\n }\n });\n };\n\n setFields(fields) {\n const fieldsMeta = this.fieldsMeta;\n const nowFields = {\n ...this.fields,\n ...fields,\n };\n const nowValues = {};\n Object.keys(fieldsMeta).forEach(f => {\n nowValues[f] = this.getValueFromFields(f, nowFields);\n });\n Object.keys(nowValues).forEach(f => {\n const value = nowValues[f];\n const fieldMeta = this.getFieldMeta(f);\n if (fieldMeta && fieldMeta.normalize) {\n const nowValue = fieldMeta.normalize(\n value,\n this.getValueFromFields(f, this.fields),\n nowValues,\n );\n if (nowValue !== value) {\n nowFields[f] = {\n ...nowFields[f],\n value: nowValue,\n };\n }\n }\n });\n this.fields = nowFields;\n }\n\n resetFields(ns) {\n const { fields } = this;\n const names = ns ? this.getValidFieldsFullName(ns) : this.getAllFieldsName();\n return names.reduce((acc, name) => {\n const field = fields[name];\n if (field && 'value' in field) {\n acc[name] = {};\n }\n return acc;\n }, {});\n }\n\n setFieldMeta(name, meta) {\n this.fieldsMeta[name] = meta;\n }\n\n setFieldsAsDirty() {\n Object.keys(this.fields).forEach(name => {\n const field = this.fields[name];\n const fieldMeta = this.fieldsMeta[name];\n if (field && fieldMeta && hasRules(fieldMeta.validate)) {\n this.fields[name] = {\n ...field,\n dirty: true,\n };\n }\n });\n }\n\n getFieldMeta(name) {\n this.fieldsMeta[name] = this.fieldsMeta[name] || {};\n return this.fieldsMeta[name];\n }\n\n getValueFromFields(name, fields) {\n const field = fields[name];\n if (field && 'value' in field) {\n return field.value;\n }\n const fieldMeta = this.getFieldMeta(name);\n return fieldMeta && fieldMeta.initialValue;\n }\n\n getAllValues = () => {\n const { fieldsMeta, fields } = this;\n return Object.keys(fieldsMeta).reduce(\n (acc, name) => set(acc, name, this.getValueFromFields(name, fields)),\n {},\n );\n };\n\n getValidFieldsName() {\n const { fieldsMeta } = this;\n return fieldsMeta\n ? Object.keys(fieldsMeta).filter(name => !this.getFieldMeta(name).hidden)\n : [];\n }\n\n getAllFieldsName() {\n const { fieldsMeta } = this;\n return fieldsMeta ? Object.keys(fieldsMeta) : [];\n }\n\n getValidFieldsFullName(maybePartialName) {\n const maybePartialNames = Array.isArray(maybePartialName)\n ? maybePartialName\n : [maybePartialName];\n return this.getValidFieldsName().filter(fullName =>\n maybePartialNames.some(\n partialName =>\n fullName === partialName ||\n (startsWith(fullName, partialName) &&\n ['.', '['].indexOf(fullName[partialName.length]) >= 0),\n ),\n );\n }\n\n getFieldValuePropValue(fieldMeta) {\n const { name, getValueProps, valuePropName } = fieldMeta;\n const field = this.getField(name);\n const fieldValue = 'value' in field ? field.value : fieldMeta.initialValue;\n if (getValueProps) {\n return getValueProps(fieldValue);\n }\n return { [valuePropName]: fieldValue };\n }\n\n getField(name) {\n return {\n ...this.fields[name],\n name,\n };\n }\n\n getNotCollectedFields() {\n const fieldsName = this.getValidFieldsName();\n return fieldsName\n .filter(name => !this.fields[name])\n .map(name => ({\n name,\n dirty: false,\n value: this.getFieldMeta(name).initialValue,\n }))\n .reduce((acc, field) => set(acc, field.name, createFormField(field)), {});\n }\n\n getNestedAllFields() {\n return Object.keys(this.fields).reduce(\n (acc, name) => set(acc, name, createFormField(this.fields[name])),\n this.getNotCollectedFields(),\n );\n }\n\n getFieldMember(name, member) {\n return this.getField(name)[member];\n }\n\n getNestedFields(names, getter) {\n const fields = names || this.getValidFieldsName();\n return fields.reduce((acc, f) => set(acc, f, getter(f)), {});\n }\n\n getNestedField(name, getter) {\n const fullNames = this.getValidFieldsFullName(name);\n if (\n fullNames.length === 0 || // Not registered\n (fullNames.length === 1 && fullNames[0] === name) // Name already is full name.\n ) {\n return getter(name);\n }\n const isArrayValue = fullNames[0][name.length] === '[';\n const suffixNameStartIndex = isArrayValue ? name.length : name.length + 1;\n return fullNames.reduce(\n (acc, fullName) => set(acc, fullName.slice(suffixNameStartIndex), getter(fullName)),\n isArrayValue ? [] : {},\n );\n }\n\n getFieldsValue = names => {\n return this.getNestedFields(names, this.getFieldValue);\n };\n\n getFieldValue = name => {\n const { fields } = this;\n return this.getNestedField(name, fullName => this.getValueFromFields(fullName, fields));\n };\n\n getFieldsError = names => {\n return this.getNestedFields(names, this.getFieldError);\n };\n\n getFieldError = name => {\n return this.getNestedField(name, fullName =>\n getErrorStrs(this.getFieldMember(fullName, 'errors')),\n );\n };\n\n isFieldValidating = name => {\n return this.getFieldMember(name, 'validating');\n };\n\n isFieldsValidating = ns => {\n const names = ns || this.getValidFieldsName();\n return names.some(n => this.isFieldValidating(n));\n };\n\n isFieldTouched = name => {\n return this.getFieldMember(name, 'touched');\n };\n\n isFieldsTouched = ns => {\n const names = ns || this.getValidFieldsName();\n return names.some(n => this.isFieldTouched(n));\n };\n\n // @private\n // BG: `a` and `a.b` cannot be use in the same form\n isValidNestedFieldName(name) {\n const names = this.getAllFieldsName();\n return names.every(n => !partOf(n, name) && !partOf(name, n));\n }\n\n clearField(name) {\n delete this.fields[name];\n delete this.fieldsMeta[name];\n }\n}\n\nexport default function createFieldsStore(fields) {\n return new FieldsStore(fields);\n}\n","import AsyncValidator from 'async-validator';\nimport warning from 'warning';\nimport get from 'lodash/get';\nimport set from 'lodash/set';\nimport eq from 'lodash/eq';\nimport omit from 'lodash/omit';\nimport createFieldsStore from './createFieldsStore';\nimport { cloneElement } from '../../_util/vnode';\nimport BaseMixin from '../../_util/BaseMixin';\nimport {\n getOptionProps,\n getEvents,\n slotHasProp,\n getComponentName,\n getListeners,\n} from '../../_util/props-util';\nimport PropTypes from '../../_util/vue-types';\n\nimport {\n argumentContainer,\n identity,\n normalizeValidateRules,\n getValidateTriggers,\n getValueFromEvent,\n hasRules,\n getParams,\n isEmptyObject,\n flattenArray,\n} from './utils';\n\nconst DEFAULT_TRIGGER = 'change';\n\nfunction createBaseForm(option = {}, mixins = []) {\n const {\n validateMessages,\n onFieldsChange,\n onValuesChange,\n mapProps = identity,\n mapPropsToFields,\n fieldNameProp,\n fieldMetaProp,\n fieldDataProp,\n formPropName = 'form',\n name: formName,\n props = {},\n templateContext,\n } = option;\n return function decorate(WrappedComponent) {\n let formProps = {};\n if (Array.isArray(props)) {\n props.forEach(prop => {\n formProps[prop] = PropTypes.any;\n });\n } else {\n formProps = props;\n }\n const Form = {\n mixins: [BaseMixin, ...mixins],\n props: {\n ...formProps,\n wrappedComponentRef: PropTypes.func.def(() => {}),\n },\n data() {\n const fields = mapPropsToFields && mapPropsToFields(this.$props);\n this.fieldsStore = createFieldsStore(fields || {});\n this.templateContext = templateContext;\n this.instances = {};\n this.cachedBind = {};\n this.clearedFieldMetaCache = {};\n this.formItems = {};\n this.renderFields = {};\n this.domFields = {};\n\n // HACK: https://github.com/ant-design/ant-design/issues/6406\n [\n 'getFieldsValue',\n 'getFieldValue',\n 'setFieldsInitialValue',\n 'getFieldsError',\n 'getFieldError',\n 'isFieldValidating',\n 'isFieldsValidating',\n 'isFieldsTouched',\n 'isFieldTouched',\n ].forEach(key => {\n this[key] = (...args) => {\n return this.fieldsStore[key](...args);\n };\n });\n\n return {\n submitting: false,\n };\n },\n watch: templateContext\n ? {}\n : {\n $props: {\n handler(nextProps) {\n if (mapPropsToFields) {\n this.fieldsStore.updateFields(mapPropsToFields(nextProps));\n }\n },\n deep: true,\n },\n },\n mounted() {\n this.cleanUpUselessFields();\n },\n updated() {\n // form updated add for template v-decorator\n this.cleanUpUselessFields();\n },\n methods: {\n updateFields(fields = {}) {\n this.fieldsStore.updateFields(mapPropsToFields(fields));\n if (templateContext) {\n templateContext.$forceUpdate();\n }\n },\n onCollectCommon(name, action, args) {\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n if (fieldMeta[action]) {\n fieldMeta[action](...args);\n } else if (fieldMeta.originalProps && fieldMeta.originalProps[action]) {\n fieldMeta.originalProps[action](...args);\n }\n const value = fieldMeta.getValueFromEvent\n ? fieldMeta.getValueFromEvent(...args)\n : getValueFromEvent(...args);\n if (onValuesChange && value !== this.fieldsStore.getFieldValue(name)) {\n const valuesAll = this.fieldsStore.getAllValues();\n const valuesAllSet = {};\n valuesAll[name] = value;\n Object.keys(valuesAll).forEach(key => set(valuesAllSet, key, valuesAll[key]));\n onValuesChange(\n {\n [formPropName]: this.getForm(),\n ...this.$props,\n },\n set({}, name, value),\n valuesAllSet,\n );\n }\n const field = this.fieldsStore.getField(name);\n return { name, field: { ...field, value, touched: true }, fieldMeta };\n },\n\n onCollect(name_, action, ...args) {\n const { name, field, fieldMeta } = this.onCollectCommon(name_, action, args);\n const { validate } = fieldMeta;\n this.fieldsStore.setFieldsAsDirty();\n const newField = {\n ...field,\n dirty: hasRules(validate),\n };\n this.setFields({\n [name]: newField,\n });\n },\n\n onCollectValidate(name_, action, ...args) {\n const { field, fieldMeta } = this.onCollectCommon(name_, action, args);\n const newField = {\n ...field,\n dirty: true,\n };\n this.fieldsStore.setFieldsAsDirty();\n this.validateFieldsInternal([newField], {\n action,\n options: {\n firstFields: !!fieldMeta.validateFirst,\n },\n });\n },\n\n getCacheBind(name, action, fn) {\n if (!this.cachedBind[name]) {\n this.cachedBind[name] = {};\n }\n const cache = this.cachedBind[name];\n if (!cache[action] || cache[action].oriFn !== fn) {\n cache[action] = {\n fn: fn.bind(this, name, action),\n oriFn: fn,\n };\n }\n return cache[action].fn;\n },\n\n getFieldDecorator(name, fieldOption, formItem) {\n const { props, ...restProps } = this.getFieldProps(name, fieldOption);\n this.formItems[name] = formItem;\n return fieldElem => {\n // We should put field in record if it is rendered\n this.renderFields[name] = true;\n\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n const originalProps = getOptionProps(fieldElem);\n const originalEvents = getEvents(fieldElem);\n if (process.env.NODE_ENV !== 'production') {\n const valuePropName = fieldMeta.valuePropName;\n warning(\n !slotHasProp(fieldElem, valuePropName),\n `\\`getFieldDecorator\\` will override \\`${valuePropName}\\`, ` +\n `so please don't set \\`${valuePropName} and v-model\\` directly ` +\n `and use \\`setFieldsValue\\` to set it.`,\n );\n warning(\n !(\n !slotHasProp(fieldElem, valuePropName) &&\n valuePropName in originalProps &&\n !(fieldOption && 'initialValue' in fieldOption)\n ),\n `${getComponentName(\n fieldElem.componentOptions,\n )} \\`default value\\` can not collect, ` +\n ` please use \\`option.initialValue\\` to set default value.`,\n );\n const defaultValuePropName = `default${valuePropName[0].toUpperCase()}${valuePropName.slice(\n 1,\n )}`;\n warning(\n !slotHasProp(fieldElem, defaultValuePropName),\n `\\`${defaultValuePropName}\\` is invalid ` +\n `for \\`getFieldDecorator\\` will set \\`${valuePropName}\\`,` +\n ` please use \\`option.initialValue\\` instead.`,\n );\n }\n fieldMeta.originalProps = originalProps;\n // fieldMeta.ref = fieldElem.data && fieldElem.data.ref\n const newProps = {\n props: {\n ...props,\n ...this.fieldsStore.getFieldValuePropValue(fieldMeta),\n },\n ...restProps,\n };\n newProps.domProps.value = newProps.props.value;\n const newEvents = {};\n Object.keys(newProps.on).forEach(key => {\n if (originalEvents[key]) {\n const triggerEvents = newProps.on[key];\n newEvents[key] = (...args) => {\n originalEvents[key](...args);\n triggerEvents(...args);\n };\n } else {\n newEvents[key] = newProps.on[key];\n }\n });\n return cloneElement(fieldElem, { ...newProps, on: newEvents });\n };\n },\n\n getFieldProps(name, usersFieldOption = {}) {\n if (!name) {\n throw new Error('Must call `getFieldProps` with valid name string!');\n }\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this.fieldsStore.isValidNestedFieldName(name),\n `One field name cannot be part of another, e.g. \\`a\\` and \\`a.b\\`. Check field: ${name}`,\n );\n warning(\n !('exclusive' in usersFieldOption),\n '`option.exclusive` of `getFieldProps`|`getFieldDecorator` had been remove.',\n );\n }\n\n delete this.clearedFieldMetaCache[name];\n\n const fieldOption = {\n name,\n trigger: DEFAULT_TRIGGER,\n valuePropName: 'value',\n validate: [],\n ...usersFieldOption,\n };\n\n const { rules, trigger, validateTrigger = trigger, validate } = fieldOption;\n\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n if ('initialValue' in fieldOption) {\n fieldMeta.initialValue = fieldOption.initialValue;\n }\n\n const inputProps = {\n ...this.fieldsStore.getFieldValuePropValue(fieldOption),\n // ref: name,\n };\n const inputListeners = {};\n const inputAttrs = {};\n if (fieldNameProp) {\n inputProps[fieldNameProp] = formName ? `${formName}_${name}` : name;\n }\n\n const validateRules = normalizeValidateRules(validate, rules, validateTrigger);\n const validateTriggers = getValidateTriggers(validateRules);\n validateTriggers.forEach(action => {\n if (inputListeners[action]) return;\n inputListeners[action] = this.getCacheBind(name, action, this.onCollectValidate);\n });\n\n // make sure that the value will be collect\n if (trigger && validateTriggers.indexOf(trigger) === -1) {\n inputListeners[trigger] = this.getCacheBind(name, trigger, this.onCollect);\n }\n\n const meta = {\n ...fieldMeta,\n ...fieldOption,\n validate: validateRules,\n };\n this.fieldsStore.setFieldMeta(name, meta);\n if (fieldMetaProp) {\n inputAttrs[fieldMetaProp] = meta;\n }\n\n if (fieldDataProp) {\n inputAttrs[fieldDataProp] = this.fieldsStore.getField(name);\n }\n // This field is rendered, record it\n this.renderFields[name] = true;\n return {\n props: omit(inputProps, ['id']),\n // id: inputProps.id,\n domProps: {\n value: inputProps.value,\n },\n attrs: {\n ...inputAttrs,\n id: inputProps.id,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.getCacheBind(name, `${name}__ref`, this.saveRef),\n },\n ],\n on: inputListeners,\n };\n },\n\n getFieldInstance(name) {\n return this.instances[name];\n },\n\n getRules(fieldMeta, action) {\n const actionRules = fieldMeta.validate\n .filter(item => {\n return !action || item.trigger.indexOf(action) >= 0;\n })\n .map(item => item.rules);\n return flattenArray(actionRules);\n },\n\n setFields(maybeNestedFields, callback) {\n const fields = this.fieldsStore.flattenRegisteredFields(maybeNestedFields);\n this.fieldsStore.setFields(fields);\n const changedFields = Object.keys(fields).reduce(\n (acc, name) => set(acc, name, this.fieldsStore.getField(name)),\n {},\n );\n if (onFieldsChange) {\n const changedFields = Object.keys(fields).reduce(\n (acc, name) => set(acc, name, this.fieldsStore.getField(name)),\n {},\n );\n onFieldsChange(this, changedFields, this.fieldsStore.getNestedAllFields());\n }\n const formContext = templateContext || this;\n let allUpdate = false;\n Object.keys(changedFields).forEach(key => {\n let formItem = this.formItems[key];\n formItem = typeof formItem === 'function' ? formItem() : formItem;\n if (formItem && formItem.itemSelfUpdate) {\n formItem.$forceUpdate();\n } else {\n allUpdate = true;\n }\n });\n if (allUpdate) {\n formContext.$forceUpdate();\n }\n this.$nextTick(() => {\n callback && callback();\n });\n },\n\n setFieldsValue(changedValues, callback) {\n const { fieldsMeta } = this.fieldsStore;\n const values = this.fieldsStore.flattenRegisteredFields(changedValues);\n const newFields = Object.keys(values).reduce((acc, name) => {\n const isRegistered = fieldsMeta[name];\n if (process.env.NODE_ENV !== 'production') {\n warning(\n isRegistered,\n 'Cannot use `setFieldsValue` until ' +\n 'you use `getFieldDecorator` or `getFieldProps` to register it.',\n );\n }\n if (isRegistered) {\n const value = values[name];\n acc[name] = {\n value,\n };\n }\n return acc;\n }, {});\n this.setFields(newFields, callback);\n if (onValuesChange) {\n const allValues = this.fieldsStore.getAllValues();\n onValuesChange(\n {\n [formPropName]: this.getForm(),\n ...this.$props,\n },\n changedValues,\n allValues,\n );\n }\n },\n\n saveRef(name, _, component) {\n if (!component) {\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n if (!fieldMeta.preserve) {\n // after destroy, delete data\n this.clearedFieldMetaCache[name] = {\n field: this.fieldsStore.getField(name),\n meta: fieldMeta,\n };\n this.clearField(name);\n }\n delete this.domFields[name];\n return;\n }\n this.domFields[name] = true;\n this.recoverClearedField(name);\n // const fieldMeta = this.fieldsStore.getFieldMeta(name)\n // if (fieldMeta) {\n // const ref = fieldMeta.ref\n // if (ref) {\n // if (typeof ref === 'string') {\n // throw new Error(`can not set ref string for ${name}`)\n // }\n // ref(component)\n // }\n // }\n this.instances[name] = component;\n },\n\n cleanUpUselessFields() {\n const fieldList = this.fieldsStore.getAllFieldsName();\n const removedList = fieldList.filter(field => {\n const fieldMeta = this.fieldsStore.getFieldMeta(field);\n return !this.renderFields[field] && !this.domFields[field] && !fieldMeta.preserve;\n });\n if (removedList.length) {\n removedList.forEach(this.clearField);\n }\n this.renderFields = {};\n },\n\n clearField(name) {\n this.fieldsStore.clearField(name);\n delete this.instances[name];\n delete this.cachedBind[name];\n },\n\n resetFields(ns) {\n const newFields = this.fieldsStore.resetFields(ns);\n if (Object.keys(newFields).length > 0) {\n this.setFields(newFields);\n }\n if (ns) {\n const names = Array.isArray(ns) ? ns : [ns];\n names.forEach(name => delete this.clearedFieldMetaCache[name]);\n } else {\n this.clearedFieldMetaCache = {};\n }\n },\n\n recoverClearedField(name) {\n if (this.clearedFieldMetaCache[name]) {\n this.fieldsStore.setFields({\n [name]: this.clearedFieldMetaCache[name].field,\n });\n this.fieldsStore.setFieldMeta(name, this.clearedFieldMetaCache[name].meta);\n delete this.clearedFieldMetaCache[name];\n }\n },\n\n validateFieldsInternal(fields, { fieldNames, action, options = {} }, callback) {\n const allRules = {};\n const allValues = {};\n const allFields = {};\n const alreadyErrors = {};\n fields.forEach(field => {\n const name = field.name;\n if (options.force !== true && field.dirty === false) {\n if (field.errors) {\n set(alreadyErrors, name, { errors: field.errors });\n }\n return;\n }\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n const newField = {\n ...field,\n };\n newField.errors = undefined;\n newField.validating = true;\n newField.dirty = true;\n allRules[name] = this.getRules(fieldMeta, action);\n allValues[name] = newField.value;\n allFields[name] = newField;\n });\n this.setFields(allFields);\n // in case normalize\n Object.keys(allValues).forEach(f => {\n allValues[f] = this.fieldsStore.getFieldValue(f);\n });\n if (callback && isEmptyObject(allFields)) {\n callback(\n isEmptyObject(alreadyErrors) ? null : alreadyErrors,\n this.fieldsStore.getFieldsValue(fieldNames),\n );\n return;\n }\n const validator = new AsyncValidator(allRules);\n if (validateMessages) {\n validator.messages(validateMessages);\n }\n validator.validate(allValues, options, errors => {\n const errorsGroup = {\n ...alreadyErrors,\n };\n if (errors && errors.length) {\n errors.forEach(e => {\n const errorFieldName = e.field;\n let fieldName = errorFieldName;\n\n // Handle using array validation rule.\n // ref: https://github.com/ant-design/ant-design/issues/14275\n Object.keys(allRules).some(ruleFieldName => {\n const rules = allRules[ruleFieldName] || [];\n\n // Exist if match rule\n if (ruleFieldName === errorFieldName) {\n fieldName = ruleFieldName;\n return true;\n }\n\n // Skip if not match array type\n if (\n rules.every(({ type }) => type !== 'array') &&\n errorFieldName.indexOf(ruleFieldName) !== 0\n ) {\n return false;\n }\n\n // Exist if match the field name\n const restPath = errorFieldName.slice(ruleFieldName.length + 1);\n if (/^\\d+$/.test(restPath)) {\n fieldName = ruleFieldName;\n return true;\n }\n\n return false;\n });\n\n const field = get(errorsGroup, fieldName);\n if (typeof field !== 'object' || Array.isArray(field)) {\n set(errorsGroup, fieldName, { errors: [] });\n }\n const fieldErrors = get(errorsGroup, fieldName.concat('.errors'));\n fieldErrors.push(e);\n });\n }\n const expired = [];\n const nowAllFields = {};\n Object.keys(allRules).forEach(name => {\n const fieldErrors = get(errorsGroup, name);\n const nowField = this.fieldsStore.getField(name);\n // avoid concurrency problems\n if (!eq(nowField.value, allValues[name])) {\n expired.push({\n name,\n });\n } else {\n nowField.errors = fieldErrors && fieldErrors.errors;\n nowField.value = allValues[name];\n nowField.validating = false;\n nowField.dirty = false;\n nowAllFields[name] = nowField;\n }\n });\n this.setFields(nowAllFields);\n if (callback) {\n if (expired.length) {\n expired.forEach(({ name }) => {\n const fieldErrors = [\n {\n message: `${name} need to revalidate`,\n field: name,\n },\n ];\n set(errorsGroup, name, {\n expired: true,\n errors: fieldErrors,\n });\n });\n }\n\n callback(\n isEmptyObject(errorsGroup) ? null : errorsGroup,\n this.fieldsStore.getFieldsValue(fieldNames),\n );\n }\n });\n },\n\n validateFields(ns, opt, cb) {\n const pending = new Promise((resolve, reject) => {\n const { names, options } = getParams(ns, opt, cb);\n let { callback } = getParams(ns, opt, cb);\n if (!callback || typeof callback === 'function') {\n const oldCb = callback;\n callback = (errors, values) => {\n if (oldCb) {\n oldCb(errors, values);\n } else if (errors) {\n reject({ errors, values });\n } else {\n resolve(values);\n }\n };\n }\n const fieldNames = names\n ? this.fieldsStore.getValidFieldsFullName(names)\n : this.fieldsStore.getValidFieldsName();\n const fields = fieldNames\n .filter(name => {\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n return hasRules(fieldMeta.validate);\n })\n .map(name => {\n const field = this.fieldsStore.getField(name);\n field.value = this.fieldsStore.getFieldValue(name);\n return field;\n });\n if (!fields.length) {\n callback(null, this.fieldsStore.getFieldsValue(fieldNames));\n return;\n }\n if (!('firstFields' in options)) {\n options.firstFields = fieldNames.filter(name => {\n const fieldMeta = this.fieldsStore.getFieldMeta(name);\n return !!fieldMeta.validateFirst;\n });\n }\n this.validateFieldsInternal(\n fields,\n {\n fieldNames,\n options,\n },\n callback,\n );\n });\n pending.catch(e => {\n if (console.error && process.env.NODE_ENV !== 'production') {\n console.error(e);\n }\n return e;\n });\n return pending;\n },\n\n isSubmitting() {\n if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {\n warning(\n false,\n '`isSubmitting` is deprecated. ' +\n \"Actually, it's more convenient to handle submitting status by yourself.\",\n );\n }\n return this.submitting;\n },\n\n submit(callback) {\n if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {\n warning(\n false,\n '`submit` is deprecated. ' +\n \"Actually, it's more convenient to handle submitting status by yourself.\",\n );\n }\n const fn = () => {\n this.setState({\n submitting: false,\n });\n };\n this.setState({\n submitting: true,\n });\n callback(fn);\n },\n },\n\n render() {\n const { $slots, $scopedSlots } = this;\n const formProps = {\n [formPropName]: this.getForm(),\n };\n const { wrappedComponentRef, ...restProps } = getOptionProps(this);\n const wrappedComponentProps = {\n props: mapProps.call(this, {\n ...formProps,\n ...restProps,\n }),\n on: getListeners(this),\n ref: 'WrappedComponent',\n directives: [\n {\n name: 'ant-ref',\n value: wrappedComponentRef,\n },\n ],\n };\n if (Object.keys($scopedSlots).length) {\n wrappedComponentProps.scopedSlots = $scopedSlots;\n }\n const slotsKey = Object.keys($slots);\n return WrappedComponent ? (\n <WrappedComponent {...wrappedComponentProps}>\n {slotsKey.length\n ? slotsKey.map(name => {\n return <template slot={name}>{$slots[name]}</template>;\n })\n : null}\n </WrappedComponent>\n ) : null;\n },\n };\n if (!WrappedComponent) return Form;\n if (Array.isArray(WrappedComponent.props)) {\n const newProps = {};\n WrappedComponent.props.forEach(prop => {\n newProps[prop] = PropTypes.any;\n });\n newProps[formPropName] = Object;\n WrappedComponent.props = newProps;\n } else {\n WrappedComponent.props = WrappedComponent.props || {};\n if (!(formPropName in WrappedComponent.props)) {\n WrappedComponent.props[formPropName] = Object;\n }\n }\n return argumentContainer(Form, WrappedComponent);\n };\n}\n\nexport default createBaseForm;\n","import createBaseForm from './createBaseForm';\n\nexport const mixin = {\n methods: {\n getForm() {\n return {\n getFieldsValue: this.fieldsStore.getFieldsValue,\n getFieldValue: this.fieldsStore.getFieldValue,\n getFieldInstance: this.getFieldInstance,\n setFieldsValue: this.setFieldsValue,\n setFields: this.setFields,\n setFieldsInitialValue: this.fieldsStore.setFieldsInitialValue,\n getFieldDecorator: this.getFieldDecorator,\n getFieldProps: this.getFieldProps,\n getFieldsError: this.fieldsStore.getFieldsError,\n getFieldError: this.fieldsStore.getFieldError,\n isFieldValidating: this.fieldsStore.isFieldValidating,\n isFieldsValidating: this.fieldsStore.isFieldsValidating,\n isFieldsTouched: this.fieldsStore.isFieldsTouched,\n isFieldTouched: this.fieldsStore.isFieldTouched,\n isSubmitting: this.isSubmitting,\n submit: this.submit,\n validateFields: this.validateFields,\n resetFields: this.resetFields,\n };\n },\n },\n};\n\nfunction createForm(options) {\n return createBaseForm(options, [mixin]);\n}\n\nexport default createForm;\n","import scrollIntoView from 'dom-scroll-into-view';\nimport has from 'lodash/has';\nimport createBaseForm from './createBaseForm';\nimport { mixin as formMixin } from './createForm';\nimport { getParams } from './utils';\n\nfunction computedStyle(el, prop) {\n const getComputedStyle = window.getComputedStyle;\n const style =\n // If we have getComputedStyle\n getComputedStyle\n ? // Query it\n // TODO: From CSS-Query notes, we might need (node, null) for FF\n getComputedStyle(el)\n : // Otherwise, we are in IE and use currentStyle\n el.currentStyle;\n if (style) {\n return style[\n // Switch to camelCase for CSSOM\n // DEV: Grabbed from jQuery\n // https://github.com/jquery/jquery/blob/1.9-stable/src/css.js#L191-L194\n // https://github.com/jquery/jquery/blob/1.9-stable/src/core.js#L593-L597\n prop.replace(/-(\\w)/gi, (word, letter) => {\n return letter.toUpperCase();\n })\n ];\n }\n return undefined;\n}\n\nfunction getScrollableContainer(n) {\n let node = n;\n let nodeName;\n /* eslint no-cond-assign:0 */\n while ((nodeName = node.nodeName.toLowerCase()) !== 'body') {\n const overflowY = computedStyle(node, 'overflowY');\n // https://stackoverflow.com/a/36900407/3040605\n if (\n node !== n &&\n (overflowY === 'auto' || overflowY === 'scroll') &&\n node.scrollHeight > node.clientHeight\n ) {\n return node;\n }\n node = node.parentNode;\n }\n return nodeName === 'body' ? node.ownerDocument : node;\n}\n\nconst mixin = {\n methods: {\n getForm() {\n return {\n ...formMixin.methods.getForm.call(this),\n validateFieldsAndScroll: this.validateFieldsAndScroll,\n };\n },\n\n validateFieldsAndScroll(ns, opt, cb) {\n const { names, callback, options } = getParams(ns, opt, cb);\n\n const newCb = (error, values) => {\n if (error) {\n const validNames = this.fieldsStore.getValidFieldsName();\n let firstNode;\n let firstTop;\n validNames.forEach(name => {\n if (has(error, name)) {\n const instance = this.getFieldInstance(name);\n if (instance) {\n const node = instance.$el || instance.elm;\n const top = node.getBoundingClientRect().top;\n if (node.type !== 'hidden' && (firstTop === undefined || firstTop > top)) {\n firstTop = top;\n firstNode = node;\n }\n }\n }\n });\n\n if (firstNode) {\n const c = options.container || getScrollableContainer(firstNode);\n scrollIntoView(firstNode, c, {\n onlyScrollIfNeeded: true,\n ...options.scroll,\n });\n }\n }\n\n if (typeof callback === 'function') {\n callback(error, values);\n }\n };\n\n return this.validateFields(names, options, newCb);\n },\n },\n};\n\nfunction createDOMForm(option) {\n return createBaseForm(\n {\n ...option,\n },\n [mixin],\n );\n}\n\nexport default createDOMForm;\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport find from 'lodash/find';\nimport Row from '../grid/Row';\nimport Col, { ColProps } from '../grid/Col';\nimport warning from '../_util/warning';\nimport { FIELD_META_PROP, FIELD_DATA_PROP } from './constants';\nimport {\n initDefaultProps,\n getComponentFromProp,\n filterEmpty,\n getSlotOptions,\n isValidElement,\n getAllChildren,\n} from '../_util/props-util';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport BaseMixin from '../_util/BaseMixin';\nimport { cloneElement, cloneVNodes } from '../_util/vnode';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nfunction noop() {}\n\nfunction intersperseSpace(list) {\n return list.reduce((current, item) => [...current, ' ', item], []).slice(1);\n}\nexport const FormItemProps = {\n id: PropTypes.string,\n htmlFor: PropTypes.string,\n prefixCls: PropTypes.string,\n label: PropTypes.any,\n labelCol: PropTypes.shape(ColProps).loose,\n wrapperCol: PropTypes.shape(ColProps).loose,\n help: PropTypes.any,\n extra: PropTypes.any,\n validateStatus: PropTypes.oneOf(['', 'success', 'warning', 'error', 'validating']),\n hasFeedback: PropTypes.bool,\n required: PropTypes.bool,\n colon: PropTypes.bool,\n fieldDecoratorId: PropTypes.string,\n fieldDecoratorOptions: PropTypes.object,\n selfUpdate: PropTypes.bool,\n labelAlign: PropTypes.oneOf(['left', 'right']),\n};\nfunction comeFromSlot(vnodes = [], itemVnode) {\n let isSlot = false;\n for (let i = 0, len = vnodes.length; i < len; i++) {\n const vnode = vnodes[i];\n if (vnode && (vnode === itemVnode || vnode.$vnode === itemVnode)) {\n isSlot = true;\n } else {\n const componentOptions =\n vnode.componentOptions || (vnode.$vnode && vnode.$vnode.componentOptions);\n const children = componentOptions ? componentOptions.children : vnode.$children;\n isSlot = comeFromSlot(children, itemVnode);\n }\n if (isSlot) {\n break;\n }\n }\n return isSlot;\n}\n\nexport default {\n name: 'AFormItem',\n __ANT_FORM_ITEM: true,\n mixins: [BaseMixin],\n props: initDefaultProps(FormItemProps, {\n hasFeedback: false,\n }),\n provide() {\n return {\n isFormItemChildren: true,\n };\n },\n inject: {\n isFormItemChildren: { default: false },\n FormContext: { default: () => ({}) },\n decoratorFormProps: { default: () => ({}) },\n collectFormItemContext: { default: () => noop },\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return { helpShow: false };\n },\n computed: {\n itemSelfUpdate() {\n return !!(this.selfUpdate === undefined ? this.FormContext.selfUpdate : this.selfUpdate);\n },\n },\n created() {\n this.collectContext();\n },\n beforeUpdate() {\n if (process.env.NODE_ENV !== 'production') {\n this.collectContext();\n }\n },\n beforeDestroy() {\n this.collectFormItemContext(this.$vnode && this.$vnode.context, 'delete');\n },\n mounted() {\n const { help, validateStatus } = this.$props;\n warning(\n this.getControls(this.slotDefault, true).length <= 1 ||\n help !== undefined ||\n validateStatus !== undefined,\n 'Form.Item',\n 'Cannot generate `validateStatus` and `help` automatically, ' +\n 'while there are more than one `getFieldDecorator` in it.',\n );\n warning(\n !this.fieldDecoratorId,\n 'Form.Item',\n '`fieldDecoratorId` is deprecated. please use `v-decorator={id, options}` instead.',\n );\n },\n methods: {\n collectContext() {\n if (this.FormContext.form && this.FormContext.form.templateContext) {\n const { templateContext } = this.FormContext.form;\n const vnodes = Object.values(templateContext.$slots || {}).reduce((a, b) => {\n return [...a, ...b];\n }, []);\n const isSlot = comeFromSlot(vnodes, this.$vnode);\n warning(!isSlot, 'You can not set FormItem from slot, please use slot-scope instead slot');\n let isSlotScope = false;\n // 进一步判断是否是通过slot-scope传递\n if (!isSlot && this.$vnode.context !== templateContext) {\n isSlotScope = comeFromSlot(this.$vnode.context.$children, templateContext.$vnode);\n }\n if (!isSlotScope && !isSlot) {\n this.collectFormItemContext(this.$vnode.context);\n }\n }\n },\n getHelpMessage() {\n const help = getComponentFromProp(this, 'help');\n const onlyControl = this.getOnlyControl();\n if (help === undefined && onlyControl) {\n const errors = this.getField().errors;\n if (errors) {\n return intersperseSpace(\n errors.map((e, index) => {\n let node = null;\n if (isValidElement(e)) {\n node = e;\n } else if (isValidElement(e.message)) {\n node = e.message;\n }\n return node ? cloneElement(node, { key: index }) : e.message;\n }),\n );\n } else {\n return '';\n }\n }\n\n return help;\n },\n\n getControls(childrenArray = [], recursively) {\n let controls = [];\n for (let i = 0; i < childrenArray.length; i++) {\n if (!recursively && controls.length > 0) {\n break;\n }\n\n const child = childrenArray[i];\n if (!child.tag && child.text.trim() === '') {\n continue;\n }\n\n if (getSlotOptions(child).__ANT_FORM_ITEM) {\n continue;\n }\n const children = getAllChildren(child);\n const attrs = (child.data && child.data.attrs) || {};\n if (FIELD_META_PROP in attrs) {\n // And means FIELD_DATA_PROP in child.props, too.\n controls.push(child);\n } else if (children) {\n controls = controls.concat(this.getControls(children, recursively));\n }\n }\n return controls;\n },\n\n getOnlyControl() {\n const child = this.getControls(this.slotDefault, false)[0];\n return child !== undefined ? child : null;\n },\n\n getChildAttr(prop) {\n const child = this.getOnlyControl();\n let data = {};\n if (!child) {\n return undefined;\n }\n if (child.data) {\n data = child.data;\n } else if (child.$vnode && child.$vnode.data) {\n data = child.$vnode.data;\n }\n return data[prop] || data.attrs[prop];\n },\n\n getId() {\n return this.getChildAttr('id');\n },\n\n getMeta() {\n return this.getChildAttr(FIELD_META_PROP);\n },\n\n getField() {\n return this.getChildAttr(FIELD_DATA_PROP);\n },\n\n getValidateStatus() {\n const onlyControl = this.getOnlyControl();\n if (!onlyControl) {\n return '';\n }\n const field = this.getField();\n if (field.validating) {\n return 'validating';\n }\n if (field.errors) {\n return 'error';\n }\n const fieldValue = 'value' in field ? field.value : this.getMeta().initialValue;\n if (fieldValue !== undefined && fieldValue !== null && fieldValue !== '') {\n return 'success';\n }\n return '';\n },\n\n // Resolve duplicated ids bug between different forms\n // https://github.com/ant-design/ant-design/issues/7351\n onLabelClick() {\n const id = this.id || this.getId();\n if (!id) {\n return;\n }\n const formItemNode = this.$el;\n const control = formItemNode.querySelector(`[id=\"${id}\"]`);\n if (control && control.focus) {\n control.focus();\n }\n },\n\n onHelpAnimEnd(_key, helpShow) {\n this.helpShow = helpShow;\n if (!helpShow) {\n this.$forceUpdate();\n }\n },\n\n isRequired() {\n const { required } = this;\n if (required !== undefined) {\n return required;\n }\n if (this.getOnlyControl()) {\n const meta = this.getMeta() || {};\n const validate = meta.validate || [];\n\n return validate\n .filter(item => !!item.rules)\n .some(item => {\n return item.rules.some(rule => rule.required);\n });\n }\n return false;\n },\n\n renderHelp(prefixCls) {\n const help = this.getHelpMessage();\n const children = help ? (\n <div class={`${prefixCls}-explain`} key=\"help\">\n {help}\n </div>\n ) : null;\n if (children) {\n this.helpShow = !!children;\n }\n const transitionProps = getTransitionProps('show-help', {\n afterEnter: () => this.onHelpAnimEnd('help', true),\n afterLeave: () => this.onHelpAnimEnd('help', false),\n });\n return (\n <transition {...transitionProps} key=\"help\">\n {children}\n </transition>\n );\n },\n\n renderExtra(prefixCls) {\n const extra = getComponentFromProp(this, 'extra');\n return extra ? <div class={`${prefixCls}-extra`}>{extra}</div> : null;\n },\n\n renderValidateWrapper(prefixCls, c1, c2, c3) {\n const props = this.$props;\n const onlyControl = this.getOnlyControl;\n const validateStatus =\n props.validateStatus === undefined && onlyControl\n ? this.getValidateStatus()\n : props.validateStatus;\n\n let classes = `${prefixCls}-item-control`;\n if (validateStatus) {\n classes = classNames(`${prefixCls}-item-control`, {\n 'has-feedback': validateStatus && props.hasFeedback,\n 'has-success': validateStatus === 'success',\n 'has-warning': validateStatus === 'warning',\n 'has-error': validateStatus === 'error',\n 'is-validating': validateStatus === 'validating',\n });\n }\n let iconType = '';\n switch (validateStatus) {\n case 'success':\n iconType = 'check-circle';\n break;\n case 'warning':\n iconType = 'exclamation-circle';\n break;\n case 'error':\n iconType = 'close-circle';\n break;\n case 'validating':\n iconType = 'loading';\n break;\n default:\n iconType = '';\n break;\n }\n const icon =\n props.hasFeedback && iconType ? (\n <span class={`${prefixCls}-item-children-icon`}>\n <Icon type={iconType} theme={iconType === 'loading' ? 'outlined' : 'filled'} />\n </span>\n ) : null;\n return (\n <div class={classes}>\n <span class={`${prefixCls}-item-children`}>\n {c1}\n {icon}\n </span>\n {c2}\n {c3}\n </div>\n );\n },\n\n renderWrapper(prefixCls, children) {\n const { wrapperCol: contextWrapperCol } = this.isFormItemChildren ? {} : this.FormContext;\n const { wrapperCol } = this;\n const mergedWrapperCol = wrapperCol || contextWrapperCol || {};\n const { style, id, on, ...restProps } = mergedWrapperCol;\n const className = classNames(`${prefixCls}-item-control-wrapper`, mergedWrapperCol.class);\n const colProps = {\n props: restProps,\n class: className,\n key: 'wrapper',\n style,\n id,\n on,\n };\n return <Col {...colProps}>{children}</Col>;\n },\n\n renderLabel(prefixCls) {\n const {\n vertical,\n labelAlign: contextLabelAlign,\n labelCol: contextLabelCol,\n colon: contextColon,\n } = this.FormContext;\n const { labelAlign, labelCol, colon, id, htmlFor } = this;\n const label = getComponentFromProp(this, 'label');\n const required = this.isRequired();\n const mergedLabelCol = labelCol || contextLabelCol || {};\n\n const mergedLabelAlign = labelAlign || contextLabelAlign;\n const labelClsBasic = `${prefixCls}-item-label`;\n const labelColClassName = classNames(\n labelClsBasic,\n mergedLabelAlign === 'left' && `${labelClsBasic}-left`,\n mergedLabelCol.class,\n );\n const {\n class: labelColClass,\n style: labelColStyle,\n id: labelColId,\n on,\n ...restProps\n } = mergedLabelCol;\n let labelChildren = label;\n // Keep label is original where there should have no colon\n const computedColon = colon === true || (contextColon !== false && colon !== false);\n const haveColon = computedColon && !vertical;\n // Remove duplicated user input colon\n if (haveColon && typeof label === 'string' && label.trim() !== '') {\n labelChildren = label.replace(/[::]\\s*$/, '');\n }\n\n const labelClassName = classNames({\n [`${prefixCls}-item-required`]: required,\n [`${prefixCls}-item-no-colon`]: !computedColon,\n });\n const colProps = {\n props: restProps,\n class: labelColClassName,\n key: 'label',\n style: labelColStyle,\n id: labelColId,\n on,\n };\n\n return label ? (\n <Col {...colProps}>\n <label\n for={htmlFor || id || this.getId()}\n class={labelClassName}\n title={typeof label === 'string' ? label : ''}\n onClick={this.onLabelClick}\n >\n {labelChildren}\n </label>\n </Col>\n ) : null;\n },\n renderChildren(prefixCls) {\n return [\n this.renderLabel(prefixCls),\n this.renderWrapper(\n prefixCls,\n this.renderValidateWrapper(\n prefixCls,\n this.slotDefault,\n this.renderHelp(prefixCls),\n this.renderExtra(prefixCls),\n ),\n ),\n ];\n },\n renderFormItem() {\n const { prefixCls: customizePrefixCls } = this.$props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('form', customizePrefixCls);\n const children = this.renderChildren(prefixCls);\n const itemClassName = {\n [`${prefixCls}-item`]: true,\n [`${prefixCls}-item-with-help`]: this.helpShow,\n };\n\n return (\n <Row class={classNames(itemClassName)} key=\"row\">\n {children}\n </Row>\n );\n },\n decoratorOption(vnode) {\n if (vnode.data && vnode.data.directives) {\n const directive = find(vnode.data.directives, ['name', 'decorator']);\n warning(\n !directive || (directive && Array.isArray(directive.value)),\n 'Form',\n `Invalid directive: type check failed for directive \"decorator\". Expected Array, got ${typeof (directive\n ? directive.value\n : directive)}. At ${vnode.tag}.`,\n );\n return directive ? directive.value : null;\n } else {\n return null;\n }\n },\n decoratorChildren(vnodes) {\n const { FormContext } = this;\n const getFieldDecorator = FormContext.form.getFieldDecorator;\n for (let i = 0, len = vnodes.length; i < len; i++) {\n const vnode = vnodes[i];\n if (getSlotOptions(vnode).__ANT_FORM_ITEM) {\n break;\n }\n if (vnode.children) {\n vnode.children = this.decoratorChildren(cloneVNodes(vnode.children));\n } else if (vnode.componentOptions && vnode.componentOptions.children) {\n vnode.componentOptions.children = this.decoratorChildren(\n cloneVNodes(vnode.componentOptions.children),\n );\n }\n const option = this.decoratorOption(vnode);\n if (option && option[0]) {\n vnodes[i] = getFieldDecorator(option[0], option[1], this)(vnode);\n }\n }\n return vnodes;\n },\n },\n\n render() {\n const {\n $slots,\n decoratorFormProps,\n fieldDecoratorId,\n fieldDecoratorOptions = {},\n FormContext,\n } = this;\n let child = filterEmpty($slots.default || []);\n if (decoratorFormProps.form && fieldDecoratorId && child.length) {\n const getFieldDecorator = decoratorFormProps.form.getFieldDecorator;\n child[0] = getFieldDecorator(fieldDecoratorId, fieldDecoratorOptions, this)(child[0]);\n warning(\n !(child.length > 1),\n 'Form',\n '`autoFormCreate` just `decorator` then first children. but you can use JSX to support multiple children',\n );\n this.slotDefault = child;\n } else if (FormContext.form) {\n child = cloneVNodes(child);\n this.slotDefault = this.decoratorChildren(child);\n } else {\n this.slotDefault = child;\n }\n return this.renderFormItem();\n },\n};\n","export const FIELD_META_PROP = 'data-__meta';\nexport const FIELD_DATA_PROP = 'data-__field';\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport { ColProps } from '../grid/Col';\nimport Vue from 'vue';\nimport isRegExp from 'lodash/isRegExp';\nimport warning from '../_util/warning';\nimport createDOMForm from '../vc-form/src/createDOMForm';\nimport createFormField from '../vc-form/src/createFormField';\nimport FormItem from './FormItem';\nimport { FIELD_META_PROP, FIELD_DATA_PROP } from './constants';\nimport { initDefaultProps, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\n\nexport const FormCreateOption = {\n onFieldsChange: PropTypes.func,\n onValuesChange: PropTypes.func,\n mapPropsToFields: PropTypes.func,\n validateMessages: PropTypes.any,\n withRef: PropTypes.bool,\n name: PropTypes.string,\n};\n\n// function create\nexport const WrappedFormUtils = {\n /** 获取一组输入控件的值,如不传入参数,则获取全部组件的值 */\n getFieldsValue: PropTypes.func,\n /** 获取一个输入控件的值*/\n getFieldValue: PropTypes.func,\n /** 设置一组输入控件的值*/\n setFieldsValue: PropTypes.func,\n /** 设置一组输入控件的值*/\n setFields: PropTypes.func,\n /** 校验并获取一组输入域的值与 Error */\n validateFields: PropTypes.func,\n // validateFields(fieldNames: Array<string>, options: Object, callback: ValidateCallback): void;\n // validateFields(fieldNames: Array<string>, callback: ValidateCallback): void;\n // validateFields(options: Object, callback: ValidateCallback): void;\n // validateFields(callback: ValidateCallback): void;\n // validateFields(): void;\n /** 与 `validateFields` 相似,但校验完后,如果校验不通过的菜单域不在可见范围内,则自动滚动进可见范围 */\n validateFieldsAndScroll: PropTypes.func,\n // validateFieldsAndScroll(fieldNames?: Array<string>, options?: Object, callback?: ValidateCallback): void;\n // validateFieldsAndScroll(fieldNames?: Array<string>, callback?: ValidateCallback): void;\n // validateFieldsAndScroll(options?: Object, callback?: ValidateCallback): void;\n // validateFieldsAndScroll(callback?: ValidateCallback): void;\n // validateFieldsAndScroll(): void;\n /** 获取某个输入控件的 Error */\n getFieldError: PropTypes.func,\n getFieldsError: PropTypes.func,\n /** 判断一个输入控件是否在校验状态*/\n isFieldValidating: PropTypes.func,\n isFieldTouched: PropTypes.func,\n isFieldsTouched: PropTypes.func,\n /** 重置一组输入控件的值与状态,如不传入参数,则重置所有组件 */\n resetFields: PropTypes.func,\n\n getFieldDecorator: PropTypes.func,\n};\n\nexport const FormProps = {\n layout: PropTypes.oneOf(['horizontal', 'inline', 'vertical']),\n labelCol: PropTypes.shape(ColProps).loose,\n wrapperCol: PropTypes.shape(ColProps).loose,\n colon: PropTypes.bool,\n labelAlign: PropTypes.oneOf(['left', 'right']),\n form: PropTypes.object,\n // onSubmit: React.FormEventHandler<any>;\n prefixCls: PropTypes.string,\n hideRequiredMark: PropTypes.bool,\n autoFormCreate: PropTypes.func,\n options: PropTypes.object,\n selfUpdate: PropTypes.bool,\n};\n\nexport const ValidationRule = {\n /** validation error message */\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n /** built-in validation type, available options: https://github.com/yiminghe/async-validator#type */\n type: PropTypes.string,\n /** indicates whether field is required */\n required: PropTypes.boolean,\n /** treat required fields that only contain whitespace as errors */\n whitespace: PropTypes.boolean,\n /** validate the exact length of a field */\n len: PropTypes.number,\n /** validate the min length of a field */\n min: PropTypes.number,\n /** validate the max length of a field */\n max: PropTypes.number,\n /** validate the value from a list of possible values */\n enum: PropTypes.oneOfType([String, PropTypes.arrayOf(String)]),\n /** validate from a regular expression */\n pattern: PropTypes.custom(isRegExp),\n /** transform a value before validation */\n transform: PropTypes.func,\n /** custom validate function (Note: callback must be called) */\n validator: PropTypes.func,\n};\n\n// export type ValidateCallback = (errors: any, values: any) => void;\n\n// export type GetFieldDecoratorOptions = {\n// /** 子节点的值的属性,如 Checkbox 的是 'checked' */\n// valuePropName?: string;\n// /** 子节点的初始值,类型、可选值均由子节点决定 */\n// initialValue?: any;\n// /** 收集子节点的值的时机 */\n// trigger?: string;\n// /** 可以把 onChange 的参数转化为控件的值,例如 DatePicker 可设为:(date, dateString) => dateString */\n// getValueFromEvent?: (...args: any[]) => any;\n// /** Get the component props according to field value. */\n// getValueProps?: (value: any) => any;\n// /** 校验子节点值的时机 */\n// validateTrigger?: string | string[];\n// /** 校验规则,参见 [async-validator](https://github.com/yiminghe/async-validator) */\n// rules?: ValidationRule[];\n// /** 是否和其他控件互斥,特别用于 Radio 单选控件 */\n// exclusive?: boolean;\n// /** Normalize value to form component */\n// normalize?: (value: any, prevValue: any, allValues: any) => any;\n// /** Whether stop validate on first rule of error for this field. */\n// validateFirst?: boolean;\n// /** 是否一直保留子节点的信息 */\n// preserve?: boolean;\n// };\n\nconst Form = {\n name: 'AForm',\n props: initDefaultProps(FormProps, {\n layout: 'horizontal',\n hideRequiredMark: false,\n colon: true,\n }),\n Item: FormItem,\n createFormField,\n create: (options = {}) => {\n return createDOMForm({\n fieldNameProp: 'id',\n ...options,\n fieldMetaProp: FIELD_META_PROP,\n fieldDataProp: FIELD_DATA_PROP,\n });\n },\n createForm(context, options = {}) {\n const V = Base.Vue || Vue;\n return new V(Form.create({ ...options, templateContext: context })());\n },\n created() {\n this.formItemContexts = new Map();\n },\n provide() {\n return {\n FormContext: this,\n // https://github.com/vueComponent/ant-design-vue/issues/446\n collectFormItemContext:\n this.form && this.form.templateContext\n ? (c, type = 'add') => {\n const formItemContexts = this.formItemContexts;\n const number = formItemContexts.get(c) || 0;\n if (type === 'delete') {\n if (number <= 1) {\n formItemContexts.delete(c);\n } else {\n formItemContexts.set(c, number - 1);\n }\n } else {\n if (c !== this.form.templateContext) {\n formItemContexts.set(c, number + 1);\n }\n }\n }\n : () => {},\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n watch: {\n form() {\n this.$forceUpdate();\n },\n },\n computed: {\n vertical() {\n return this.layout === 'vertical';\n },\n },\n beforeUpdate() {\n this.formItemContexts.forEach((number, c) => {\n if (c.$forceUpdate) {\n c.$forceUpdate();\n }\n });\n },\n updated() {\n if (this.form && this.form.cleanUpUselessFields) {\n this.form.cleanUpUselessFields();\n }\n },\n methods: {\n onSubmit(e) {\n if (!getListeners(this).submit) {\n e.preventDefault();\n } else {\n this.$emit('submit', e);\n }\n },\n },\n\n render() {\n const {\n prefixCls: customizePrefixCls,\n hideRequiredMark,\n layout,\n onSubmit,\n $slots,\n autoFormCreate,\n options = {},\n } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('form', customizePrefixCls);\n\n const formClassName = classNames(prefixCls, {\n [`${prefixCls}-horizontal`]: layout === 'horizontal',\n [`${prefixCls}-vertical`]: layout === 'vertical',\n [`${prefixCls}-inline`]: layout === 'inline',\n [`${prefixCls}-hide-required-mark`]: hideRequiredMark,\n });\n if (autoFormCreate) {\n warning(false, 'Form', '`autoFormCreate` is deprecated. please use `form` instead.');\n const DomForm =\n this.DomForm ||\n createDOMForm({\n fieldNameProp: 'id',\n ...options,\n fieldMetaProp: FIELD_META_PROP,\n fieldDataProp: FIELD_DATA_PROP,\n templateContext: this.$vnode.context,\n })({\n provide() {\n return {\n decoratorFormProps: this.$props,\n };\n },\n data() {\n return {\n children: $slots.default,\n formClassName,\n submit: onSubmit,\n };\n },\n created() {\n autoFormCreate(this.form);\n },\n render() {\n const { children, formClassName, submit } = this;\n return (\n <form onSubmit={submit} class={formClassName}>\n {children}\n </form>\n );\n },\n });\n if (this.domForm) {\n this.domForm.children = $slots.default;\n this.domForm.submit = onSubmit;\n this.domForm.formClassName = formClassName;\n }\n this.DomForm = DomForm;\n\n return (\n <DomForm\n wrappedComponentRef={inst => {\n this.domForm = inst;\n }}\n />\n );\n }\n return (\n <form onSubmit={onSubmit} class={formClassName}>\n {$slots.default}\n </form>\n );\n },\n};\n\nexport default Form;\n","import Vue from 'vue';\nimport Form from './Form';\nimport ref from 'vue-ref';\nimport FormDecoratorDirective from '../_util/FormDecoratorDirective';\nimport Base from '../base';\n\nVue.use(ref, { name: 'ant-ref' });\nVue.use(FormDecoratorDirective);\nVue.prototype.$form = Form;\n\nexport { FormProps, FormCreateOption, ValidationRule } from './Form';\nexport { FormItemProps } from './FormItem';\n\n/* istanbul ignore next */\nForm.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Form.name, Form);\n Vue.component(Form.Item.name, Form.Item);\n Vue.prototype.$form = Form;\n};\n\nexport default Form;\n","import AsyncValidator from 'async-validator';\nimport cloneDeep from 'lodash/cloneDeep';\nimport PropTypes from '../_util/vue-types';\nimport { ColProps } from '../grid/Col';\nimport {\n initDefaultProps,\n getComponentFromProp,\n getOptionProps,\n getEvents,\n filterEmpty,\n isValidElement,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport FormItem from '../form/FormItem';\nimport { cloneElement } from '../_util/vnode';\n\nfunction noop() {}\n\nfunction getPropByPath(obj, path, strict) {\n let tempObj = obj;\n path = path.replace(/\\[(\\w+)\\]/g, '.$1');\n path = path.replace(/^\\./, '');\n\n let keyArr = path.split('.');\n let i = 0;\n for (let len = keyArr.length; i < len - 1; ++i) {\n if (!tempObj && !strict) break;\n let key = keyArr[i];\n if (key in tempObj) {\n tempObj = tempObj[key];\n } else {\n if (strict) {\n throw new Error('please transfer a valid prop path to form item!');\n }\n break;\n }\n }\n return {\n o: tempObj,\n k: keyArr[i],\n v: tempObj ? tempObj[keyArr[i]] : null,\n };\n}\nexport const FormItemProps = {\n id: PropTypes.string,\n htmlFor: PropTypes.string,\n prefixCls: PropTypes.string,\n label: PropTypes.any,\n help: PropTypes.any,\n extra: PropTypes.any,\n labelCol: PropTypes.shape(ColProps).loose,\n wrapperCol: PropTypes.shape(ColProps).loose,\n hasFeedback: PropTypes.bool,\n colon: PropTypes.bool,\n labelAlign: PropTypes.oneOf(['left', 'right']),\n prop: PropTypes.string,\n rules: PropTypes.oneOfType([Array, Object]),\n autoLink: PropTypes.bool,\n required: PropTypes.bool,\n validateStatus: PropTypes.oneOf(['', 'success', 'warning', 'error', 'validating']),\n};\n\nexport default {\n name: 'AFormModelItem',\n __ANT_NEW_FORM_ITEM: true,\n mixins: [BaseMixin],\n props: initDefaultProps(FormItemProps, {\n hasFeedback: false,\n autoLink: true,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n FormContext: { default: () => ({}) },\n },\n data() {\n return {\n validateState: this.validateStatus,\n validateMessage: '',\n validateDisabled: false,\n validator: {},\n };\n },\n\n computed: {\n fieldValue() {\n const model = this.FormContext.model;\n if (!model || !this.prop) {\n return;\n }\n let path = this.prop;\n if (path.indexOf(':') !== -1) {\n path = path.replace(/:/g, '.');\n }\n return getPropByPath(model, path, true).v;\n },\n isRequired() {\n let rules = this.getRules();\n let isRequired = false;\n if (rules && rules.length) {\n rules.every(rule => {\n if (rule.required) {\n isRequired = true;\n return false;\n }\n return true;\n });\n }\n return isRequired;\n },\n },\n watch: {\n validateStatus(val) {\n this.validateState = val;\n },\n },\n mounted() {\n if (this.prop) {\n const { addField } = this.FormContext;\n addField && addField(this);\n this.initialValue = cloneDeep(this.fieldValue);\n }\n },\n beforeDestroy() {\n const { removeField } = this.FormContext;\n removeField && removeField(this);\n },\n methods: {\n validate(trigger, callback = noop) {\n this.validateDisabled = false;\n const rules = this.getFilteredRule(trigger);\n if (!rules || rules.length === 0) {\n callback();\n return true;\n }\n this.validateState = 'validating';\n const descriptor = {};\n if (rules && rules.length > 0) {\n rules.forEach(rule => {\n delete rule.trigger;\n });\n }\n descriptor[this.prop] = rules;\n const validator = new AsyncValidator(descriptor);\n if (this.FormContext && this.FormContext.validateMessages) {\n validator.messages(this.FormContext.validateMessages);\n }\n const model = {};\n model[this.prop] = this.fieldValue;\n validator.validate(model, { firstFields: true }, (errors, invalidFields) => {\n this.validateState = errors ? 'error' : 'success';\n this.validateMessage = errors ? errors[0].message : '';\n callback(this.validateMessage, invalidFields);\n this.FormContext &&\n this.FormContext.$emit &&\n this.FormContext.$emit('validate', this.prop, !errors, this.validateMessage || null);\n });\n },\n getRules() {\n let formRules = this.FormContext.rules;\n const selfRules = this.rules;\n const requiredRule =\n this.required !== undefined ? { required: !!this.required, trigger: 'change' } : [];\n const prop = getPropByPath(formRules, this.prop || '');\n formRules = formRules ? prop.o[this.prop || ''] || prop.v : [];\n return [].concat(selfRules || formRules || []).concat(requiredRule);\n },\n getFilteredRule(trigger) {\n const rules = this.getRules();\n return rules\n .filter(rule => {\n if (!rule.trigger || trigger === '') return true;\n if (Array.isArray(rule.trigger)) {\n return rule.trigger.indexOf(trigger) > -1;\n } else {\n return rule.trigger === trigger;\n }\n })\n .map(rule => ({ ...rule }));\n },\n onFieldBlur() {\n this.validate('blur');\n },\n onFieldChange() {\n if (this.validateDisabled) {\n this.validateDisabled = false;\n return;\n }\n this.validate('change');\n },\n clearValidate() {\n this.validateState = '';\n this.validateMessage = '';\n this.validateDisabled = false;\n },\n resetField() {\n this.validateState = '';\n this.validateMessage = '';\n let model = this.FormContext.model || {};\n let value = this.fieldValue;\n let path = this.prop;\n if (path.indexOf(':') !== -1) {\n path = path.replace(/:/, '.');\n }\n let prop = getPropByPath(model, path, true);\n this.validateDisabled = true;\n if (Array.isArray(value)) {\n prop.o[prop.k] = [].concat(this.initialValue);\n } else {\n prop.o[prop.k] = this.initialValue;\n }\n // reset validateDisabled after onFieldChange triggered\n this.$nextTick(() => {\n this.validateDisabled = false;\n });\n },\n },\n render() {\n const { $slots, $scopedSlots } = this;\n const props = getOptionProps(this);\n const label = getComponentFromProp(this, 'label');\n const extra = getComponentFromProp(this, 'extra');\n const help = getComponentFromProp(this, 'help');\n const formProps = {\n props: {\n ...props,\n label,\n extra,\n validateStatus: this.validateState,\n help: this.validateMessage || help,\n required: this.isRequired || props.required,\n },\n };\n const children = filterEmpty($scopedSlots.default ? $scopedSlots.default() : $slots.default);\n let firstChildren = children[0];\n if (this.prop && this.autoLink && isValidElement(firstChildren)) {\n const originalEvents = getEvents(firstChildren);\n const originalBlur = originalEvents.blur;\n const originalChange = originalEvents.change;\n firstChildren = cloneElement(firstChildren, {\n on: {\n blur: (...args) => {\n originalBlur && originalBlur(...args);\n this.onFieldBlur();\n },\n change: (...args) => {\n if (Array.isArray(originalChange)) {\n for (let i = 0, l = originalChange.length; i < l; i++) {\n originalChange[i](...args);\n }\n } else if (originalChange) {\n originalChange(...args);\n }\n this.onFieldChange();\n },\n },\n });\n }\n return (\n <FormItem {...formProps}>\n {firstChildren}\n {children.slice(1)}\n </FormItem>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport { ColProps } from '../grid/Col';\nimport isRegExp from 'lodash/isRegExp';\nimport warning from '../_util/warning';\nimport FormItem from './FormItem';\nimport { initDefaultProps, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport const FormProps = {\n layout: PropTypes.oneOf(['horizontal', 'inline', 'vertical']),\n labelCol: PropTypes.shape(ColProps).loose,\n wrapperCol: PropTypes.shape(ColProps).loose,\n colon: PropTypes.bool,\n labelAlign: PropTypes.oneOf(['left', 'right']),\n prefixCls: PropTypes.string,\n hideRequiredMark: PropTypes.bool,\n model: PropTypes.object,\n rules: PropTypes.object,\n validateMessages: PropTypes.any,\n validateOnRuleChange: PropTypes.bool,\n};\n\nexport const ValidationRule = {\n /** validation error message */\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n /** built-in validation type, available options: https://github.com/yiminghe/async-validator#type */\n type: PropTypes.string,\n /** indicates whether field is required */\n required: PropTypes.boolean,\n /** treat required fields that only contain whitespace as errors */\n whitespace: PropTypes.boolean,\n /** validate the exact length of a field */\n len: PropTypes.number,\n /** validate the min length of a field */\n min: PropTypes.number,\n /** validate the max length of a field */\n max: PropTypes.number,\n /** validate the value from a list of possible values */\n enum: PropTypes.oneOfType([String, PropTypes.arrayOf(String)]),\n /** validate from a regular expression */\n pattern: PropTypes.custom(isRegExp),\n /** transform a value before validation */\n transform: PropTypes.func,\n /** custom validate function (Note: callback must be called) */\n validator: PropTypes.func,\n};\n\nconst Form = {\n name: 'AFormModel',\n props: initDefaultProps(FormProps, {\n layout: 'horizontal',\n hideRequiredMark: false,\n colon: true,\n }),\n Item: FormItem,\n created() {\n this.fields = [];\n },\n provide() {\n return {\n FormContext: this,\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n watch: {\n rules() {\n if (this.validateOnRuleChange) {\n this.validate(() => {});\n }\n },\n },\n computed: {\n vertical() {\n return this.layout === 'vertical';\n },\n },\n methods: {\n addField(field) {\n if (field) {\n this.fields.push(field);\n }\n },\n removeField(field) {\n if (field.prop) {\n this.fields.splice(this.fields.indexOf(field), 1);\n }\n },\n onSubmit(e) {\n if (!getListeners(this).submit) {\n e.preventDefault();\n } else {\n this.$emit('submit', e);\n }\n },\n resetFields() {\n if (!this.model) {\n warning(false, 'FormModel', 'model is required for resetFields to work.');\n return;\n }\n this.fields.forEach(field => {\n field.resetField();\n });\n },\n clearValidate(props = []) {\n const fields = props.length\n ? typeof props === 'string'\n ? this.fields.filter(field => props === field.prop)\n : this.fields.filter(field => props.indexOf(field.prop) > -1)\n : this.fields;\n fields.forEach(field => {\n field.clearValidate();\n });\n },\n validate(callback) {\n if (!this.model) {\n warning(false, 'FormModel', 'model is required for resetFields to work.');\n return;\n }\n let promise;\n // if no callback, return promise\n if (typeof callback !== 'function' && window.Promise) {\n promise = new window.Promise((resolve, reject) => {\n callback = function(valid) {\n valid ? resolve(valid) : reject(valid);\n };\n });\n }\n let valid = true;\n let count = 0;\n // 如果需要验证的fields为空,调用验证时立刻返回callback\n if (this.fields.length === 0 && callback) {\n callback(true);\n }\n let invalidFields = {};\n this.fields.forEach(field => {\n field.validate('', (message, field) => {\n if (message) {\n valid = false;\n }\n invalidFields = Object.assign({}, invalidFields, field);\n if (typeof callback === 'function' && ++count === this.fields.length) {\n callback(valid, invalidFields);\n }\n });\n });\n if (promise) {\n return promise;\n }\n },\n validateField(props, cb) {\n props = [].concat(props);\n const fields = this.fields.filter(field => props.indexOf(field.prop) !== -1);\n if (!fields.length) {\n warning(false, 'FormModel', 'please pass correct props!');\n return;\n }\n fields.forEach(field => {\n field.validate('', cb);\n });\n },\n },\n\n render() {\n const { prefixCls: customizePrefixCls, hideRequiredMark, layout, onSubmit, $slots } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('form', customizePrefixCls);\n\n const formClassName = classNames(prefixCls, {\n [`${prefixCls}-horizontal`]: layout === 'horizontal',\n [`${prefixCls}-vertical`]: layout === 'vertical',\n [`${prefixCls}-inline`]: layout === 'inline',\n [`${prefixCls}-hide-required-mark`]: hideRequiredMark,\n });\n return (\n <form onSubmit={onSubmit} class={formClassName}>\n {$slots.default}\n </form>\n );\n },\n};\n\nexport default Form;\n","import Vue from 'vue';\nimport Form from './Form';\nimport ref from 'vue-ref';\nimport FormDecoratorDirective from '../_util/FormDecoratorDirective';\nimport Base from '../base';\n\nVue.use(ref, { name: 'ant-ref' });\nVue.use(FormDecoratorDirective);\n\nexport { FormProps, ValidationRule } from './Form';\nexport { FormItemProps } from './FormItem';\n\n/* istanbul ignore next */\nForm.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Form.name, Form);\n Vue.component(Form.Item.name, Form.Item);\n};\n\nexport default Form;\n","import PropTypes from '../../_util/vue-types';\n\nexport const ITouchProps = {\n disabled: PropTypes.bool,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.any,\n // onTouchStart: PropTypes.func,\n // onTouchEnd: PropTypes.func,\n // onTouchCancel: PropTypes.func,\n // onMouseDown: PropTypes.func,\n // onMouseUp: PropTypes.func,\n // onMouseLeave: PropTypes.func,\n};\n","// based on 2.0.0\nimport TouchFeedback from './src/TouchFeedback';\nexport default TouchFeedback;\n","import { initDefaultProps } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport warning from '../../_util/warning';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { ITouchProps } from './PropTypes';\n\nexport default {\n name: 'TouchFeedback',\n mixins: [BaseMixin],\n props: initDefaultProps(ITouchProps, {\n disabled: false,\n }),\n data() {\n return {\n active: false,\n };\n },\n mounted() {\n this.$nextTick(() => {\n if (this.disabled && this.active) {\n this.setState({\n active: false,\n });\n }\n });\n },\n methods: {\n triggerEvent(type, isActive, ev) {\n // 暂时仅有input-number用到,事件直接到挂载到Touchable上,不需要像antd那样从子组件触发\n this.$emit(type, ev);\n if (isActive !== this.active) {\n this.setState({\n active: isActive,\n });\n }\n },\n onTouchStart(e) {\n this.triggerEvent('touchstart', true, e);\n },\n onTouchMove(e) {\n this.triggerEvent('touchmove', false, e);\n },\n onTouchEnd(e) {\n this.triggerEvent('touchend', false, e);\n },\n onTouchCancel(e) {\n this.triggerEvent('touchcancel', false, e);\n },\n onMouseDown(e) {\n // pc simulate mobile\n this.triggerEvent('mousedown', true, e);\n },\n onMouseUp(e) {\n this.triggerEvent('mouseup', false, e);\n },\n onMouseLeave(e) {\n this.triggerEvent('mouseleave', false, e);\n },\n },\n render() {\n const { disabled, activeClassName = '', activeStyle = {} } = this.$props;\n\n const child = this.$slots.default;\n if (child.length !== 1) {\n warning(false, 'm-feedback组件只能包含一个子元素');\n return null;\n }\n let childProps = {\n on: disabled\n ? {}\n : {\n touchstart: this.onTouchStart,\n touchmove: this.onTouchMove,\n touchend: this.onTouchEnd,\n touchcancel: this.onTouchCancel,\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp,\n mouseleave: this.onMouseLeave,\n },\n };\n\n if (!disabled && this.active) {\n childProps = {\n ...childProps,\n ...{\n style: activeStyle,\n class: activeClassName,\n },\n };\n }\n\n return cloneElement(child, childProps);\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport Touchable from '../../vc-m-feedback';\nimport { getListeners } from '../../_util/props-util';\n\nconst InputHandler = {\n name: 'InputHandler',\n props: {\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n },\n render() {\n const { prefixCls, disabled } = this.$props;\n const touchableProps = {\n props: {\n disabled,\n activeClassName: `${prefixCls}-handler-active`,\n },\n on: getListeners(this),\n };\n return (\n <Touchable {...touchableProps}>\n <span>{this.$slots.default}</span>\n </Touchable>\n );\n },\n};\n\nexport default InputHandler;\n","// based on rc-input-number 4.5.5\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { initDefaultProps, hasProp, getOptionProps, getListeners } from '../../_util/props-util';\nimport classNames from 'classnames';\nimport KeyCode from '../../_util/KeyCode';\nimport InputHandler from './InputHandler';\n\nfunction noop() {}\n\nfunction preventDefault(e) {\n e.preventDefault();\n}\n\nfunction defaultParser(input) {\n return input.replace(/[^\\w\\.-]+/g, '');\n}\n\n/**\n * When click and hold on a button - the speed of auto changin the value.\n */\nconst SPEED = 200;\n\n/**\n * When click and hold on a button - the delay before auto changin the value.\n */\nconst DELAY = 600;\n\n/**\n * Max Safe Integer -- on IE this is not available, so manually set the number in that case.\n * The reason this is used, instead of Infinity is because numbers above the MSI are unstable\n */\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || Math.pow(2, 53) - 1;\n\nconst isValidProps = value => value !== undefined && value !== null;\n\nconst isEqual = (oldValue, newValue) =>\n newValue === oldValue ||\n (typeof newValue === 'number' &&\n typeof oldValue === 'number' &&\n isNaN(newValue) &&\n isNaN(oldValue));\n\nconst inputNumberProps = {\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n defaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n focusOnUpDown: PropTypes.bool,\n autoFocus: PropTypes.bool,\n // onChange: PropTypes.func,\n // onKeyDown: PropTypes.func,\n // onKeyUp: PropTypes.func,\n prefixCls: PropTypes.string,\n tabIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n placeholder: PropTypes.string,\n disabled: PropTypes.bool,\n // onFocus: PropTypes.func,\n // onBlur: PropTypes.func,\n readonly: PropTypes.bool,\n max: PropTypes.number,\n min: PropTypes.number,\n step: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n upHandler: PropTypes.any,\n downHandler: PropTypes.any,\n useTouch: PropTypes.bool,\n formatter: PropTypes.func,\n parser: PropTypes.func,\n // onMouseEnter: PropTypes.func,\n // onMouseLeave: PropTypes.func,\n // onMouseOver: PropTypes.func,\n // onMouseOut: PropTypes.func,\n precision: PropTypes.number,\n required: PropTypes.bool,\n pattern: PropTypes.string,\n decimalSeparator: PropTypes.string,\n autoComplete: PropTypes.string,\n title: PropTypes.string,\n name: PropTypes.string,\n id: PropTypes.string,\n};\n\nexport default {\n name: 'VCInputNumber',\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(inputNumberProps, {\n focusOnUpDown: true,\n useTouch: false,\n prefixCls: 'rc-input-number',\n min: -MAX_SAFE_INTEGER,\n step: 1,\n parser: defaultParser,\n required: false,\n autoComplete: 'off',\n }),\n data() {\n const props = getOptionProps(this);\n this.prevProps = { ...props };\n let value;\n if ('value' in props) {\n value = this.value;\n } else {\n value = this.defaultValue;\n }\n const validValue = this.getValidValue(this.toNumber(value));\n return {\n inputValue: this.toPrecisionAsStep(validValue),\n sValue: validValue,\n focused: this.autoFocus,\n };\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus && !this.disabled) {\n this.focus();\n }\n this.updatedFunc();\n });\n },\n updated() {\n const { value, max, min } = this.$props;\n const { focused } = this.$data;\n const { prevProps } = this;\n const props = getOptionProps(this);\n // Don't trigger in componentDidMount\n if (prevProps) {\n if (\n !isEqual(prevProps.value, value) ||\n !isEqual(prevProps.max, max) ||\n !isEqual(prevProps.min, min)\n ) {\n const validValue = focused ? value : this.getValidValue(value);\n let nextInputValue;\n if (this.pressingUpOrDown) {\n nextInputValue = validValue;\n } else if (this.inputting) {\n nextInputValue = this.rawInput;\n } else {\n nextInputValue = this.toPrecisionAsStep(validValue);\n }\n this.setState({\n // eslint-disable-line\n sValue: validValue,\n inputValue: nextInputValue,\n });\n }\n\n // Trigger onChange when max or min change\n // https://github.com/ant-design/ant-design/issues/11574\n const nextValue = 'value' in props ? value : this.sValue;\n // ref: null < 20 === true\n // https://github.com/ant-design/ant-design/issues/14277\n if (\n 'max' in props &&\n prevProps.max !== max &&\n typeof nextValue === 'number' &&\n nextValue > max\n ) {\n this.$emit('change', max);\n }\n if (\n 'min' in props &&\n prevProps.min !== min &&\n typeof nextValue === 'number' &&\n nextValue < min\n ) {\n this.$emit('change', min);\n }\n }\n this.prevProps = { ...props };\n this.$nextTick(() => {\n this.updatedFunc();\n });\n },\n beforeDestroy() {\n this.stop();\n },\n methods: {\n updatedFunc() {\n const inputElem = this.$refs.inputRef;\n // Restore cursor\n try {\n // Firefox set the input cursor after it get focused.\n // This caused that if an input didn't init with the selection,\n // set will cause cursor not correct when first focus.\n // Safari will focus input if set selection. We need skip this.\n if (this.cursorStart !== undefined && this.focused) {\n // In most cases, the string after cursor is stable.\n // We can move the cursor before it\n\n if (\n // If not match full str, try to match part of str\n !this.partRestoreByAfter(this.cursorAfter) &&\n this.sValue !== this.value\n ) {\n // If not match any of then, let's just keep the position\n // TODO: Logic should not reach here, need check if happens\n let pos = this.cursorStart + 1;\n\n // If not have last string, just position to the end\n if (!this.cursorAfter) {\n pos = inputElem.value.length;\n } else if (this.lastKeyCode === KeyCode.BACKSPACE) {\n pos = this.cursorStart - 1;\n } else if (this.lastKeyCode === KeyCode.DELETE) {\n pos = this.cursorStart;\n }\n this.fixCaret(pos, pos);\n } else if (this.currentValue === inputElem.value) {\n // Handle some special key code\n switch (this.lastKeyCode) {\n case KeyCode.BACKSPACE:\n this.fixCaret(this.cursorStart - 1, this.cursorStart - 1);\n break;\n case KeyCode.DELETE:\n this.fixCaret(this.cursorStart + 1, this.cursorStart + 1);\n break;\n default:\n // Do nothing\n }\n }\n }\n } catch (e) {\n // Do nothing\n }\n // Reset last key\n this.lastKeyCode = null;\n\n // pressingUpOrDown is true means that someone just click up or down button\n if (!this.pressingUpOrDown) {\n return;\n }\n if (this.focusOnUpDown && this.focused) {\n if (document.activeElement !== inputElem) {\n this.focus();\n }\n }\n\n this.pressingUpOrDown = false;\n },\n onKeyDown(e, ...args) {\n if (e.keyCode === KeyCode.UP) {\n const ratio = this.getRatio(e);\n this.up(e, ratio);\n this.stop();\n } else if (e.keyCode === KeyCode.DOWN) {\n const ratio = this.getRatio(e);\n this.down(e, ratio);\n this.stop();\n } else if (e.keyCode === KeyCode.ENTER) {\n this.$emit('pressEnter', e);\n }\n // Trigger user key down\n this.recordCursorPosition();\n this.lastKeyCode = e.keyCode;\n this.$emit('keydown', e, ...args);\n },\n onKeyUp(e, ...args) {\n this.stop();\n\n this.recordCursorPosition();\n\n this.$emit('keyup', e, ...args);\n },\n onTrigger(e) {\n if (e.target.composing) return false;\n this.onChange(e);\n },\n onChange(e) {\n if (this.focused) {\n this.inputting = true;\n }\n this.rawInput = this.parser(this.getValueFromEvent(e));\n this.setState({ inputValue: this.rawInput });\n this.$emit('change', this.toNumber(this.rawInput)); // valid number or invalid string\n },\n onFocus(...args) {\n this.setState({\n focused: true,\n });\n this.$emit('focus', ...args);\n },\n onBlur(...args) {\n this.inputting = false;\n this.setState({\n focused: false,\n });\n const value = this.getCurrentValidValue(this.inputValue);\n const newValue = this.setValue(value);\n if (this.$listeners.blur) {\n const originValue = this.$refs.inputRef.value;\n const inputValue = this.getInputDisplayValue({ focused: false, sValue: newValue });\n this.$refs.inputRef.value = inputValue;\n this.$emit('blur', ...args);\n this.$refs.inputRef.value = originValue;\n }\n },\n getCurrentValidValue(value) {\n let val = value;\n if (val === '') {\n val = '';\n } else if (!this.isNotCompleteNumber(parseFloat(val, 10))) {\n val = this.getValidValue(val);\n } else {\n val = this.sValue;\n }\n return this.toNumber(val);\n },\n getRatio(e) {\n let ratio = 1;\n if (e.metaKey || e.ctrlKey) {\n ratio = 0.1;\n } else if (e.shiftKey) {\n ratio = 10;\n }\n return ratio;\n },\n getValueFromEvent(e) {\n // optimize for chinese input expierence\n // https://github.com/ant-design/ant-design/issues/8196\n let value = e.target.value.trim().replace(/。/g, '.');\n\n if (isValidProps(this.decimalSeparator)) {\n value = value.replace(this.decimalSeparator, '.');\n }\n\n return value;\n },\n getValidValue(value, min = this.min, max = this.max) {\n let val = parseFloat(value, 10);\n // https://github.com/ant-design/ant-design/issues/7358\n if (isNaN(val)) {\n return value;\n }\n if (val < min) {\n val = min;\n }\n if (val > max) {\n val = max;\n }\n return val;\n },\n setValue(v, callback) {\n // trigger onChange\n const { precision } = this.$props;\n const newValue = this.isNotCompleteNumber(parseFloat(v, 10)) ? null : parseFloat(v, 10);\n const { sValue: value = null, inputValue = null } = this.$data;\n // https://github.com/ant-design/ant-design/issues/7363\n // https://github.com/ant-design/ant-design/issues/16622\n const newValueInString =\n typeof newValue === 'number' ? newValue.toFixed(precision) : `${newValue}`;\n const changed = newValue !== value || newValueInString !== `${inputValue}`;\n if (!hasProp(this, 'value')) {\n this.setState(\n {\n sValue: newValue,\n inputValue: this.toPrecisionAsStep(v),\n },\n callback,\n );\n } else {\n // always set input value same as value\n this.setState(\n {\n inputValue: this.toPrecisionAsStep(this.sValue),\n },\n callback,\n );\n }\n if (changed) {\n this.$emit('change', newValue);\n }\n return newValue;\n },\n getPrecision(value) {\n if (isValidProps(this.precision)) {\n return this.precision;\n }\n const valueString = value.toString();\n if (valueString.indexOf('e-') >= 0) {\n return parseInt(valueString.slice(valueString.indexOf('e-') + 2), 10);\n }\n let precision = 0;\n if (valueString.indexOf('.') >= 0) {\n precision = valueString.length - valueString.indexOf('.') - 1;\n }\n return precision;\n },\n // step={1.0} value={1.51}\n // press +\n // then value should be 2.51, rather than 2.5\n // if this.$props.precision is undefined\n // https://github.com/react-component/input-number/issues/39\n getMaxPrecision(currentValue, ratio = 1) {\n if (isValidProps(this.precision)) {\n return this.precision;\n }\n const { step } = this;\n const ratioPrecision = this.getPrecision(ratio);\n const stepPrecision = this.getPrecision(step);\n const currentValuePrecision = this.getPrecision(currentValue);\n if (!currentValue) {\n return ratioPrecision + stepPrecision;\n }\n return Math.max(currentValuePrecision, ratioPrecision + stepPrecision);\n },\n getPrecisionFactor(currentValue, ratio = 1) {\n const precision = this.getMaxPrecision(currentValue, ratio);\n return Math.pow(10, precision);\n },\n getInputDisplayValue(state) {\n const { focused, inputValue, sValue } = state || this.$data;\n let inputDisplayValue;\n if (focused) {\n inputDisplayValue = inputValue;\n } else {\n inputDisplayValue = this.toPrecisionAsStep(sValue);\n }\n\n if (inputDisplayValue === undefined || inputDisplayValue === null) {\n inputDisplayValue = '';\n }\n\n let inputDisplayValueFormat = this.formatWrapper(inputDisplayValue);\n if (isValidProps(this.$props.decimalSeparator)) {\n inputDisplayValueFormat = inputDisplayValueFormat\n .toString()\n .replace('.', this.$props.decimalSeparator);\n }\n\n return inputDisplayValueFormat;\n },\n recordCursorPosition() {\n // Record position\n try {\n const inputElem = this.$refs.inputRef;\n this.cursorStart = inputElem.selectionStart;\n this.cursorEnd = inputElem.selectionEnd;\n this.currentValue = inputElem.value;\n this.cursorBefore = inputElem.value.substring(0, this.cursorStart);\n this.cursorAfter = inputElem.value.substring(this.cursorEnd);\n } catch (e) {\n // Fix error in Chrome:\n // Failed to read the 'selectionStart' property from 'HTMLInputElement'\n // http://stackoverflow.com/q/21177489/3040605\n }\n },\n fixCaret(start, end) {\n if (\n start === undefined ||\n end === undefined ||\n !this.$refs.inputRef ||\n !this.$refs.inputRef.value\n ) {\n return;\n }\n\n try {\n const inputElem = this.$refs.inputRef;\n const currentStart = inputElem.selectionStart;\n const currentEnd = inputElem.selectionEnd;\n\n if (start !== currentStart || end !== currentEnd) {\n inputElem.setSelectionRange(start, end);\n }\n } catch (e) {\n // Fix error in Chrome:\n // Failed to read the 'selectionStart' property from 'HTMLInputElement'\n // http://stackoverflow.com/q/21177489/3040605\n }\n },\n restoreByAfter(str) {\n if (str === undefined) return false;\n\n const fullStr = this.$refs.inputRef.value;\n const index = fullStr.lastIndexOf(str);\n\n if (index === -1) return false;\n\n const prevCursorPos = this.cursorBefore.length;\n if (\n this.lastKeyCode === KeyCode.DELETE &&\n this.cursorBefore.charAt(prevCursorPos - 1) === str[0]\n ) {\n this.fixCaret(prevCursorPos, prevCursorPos);\n return true;\n }\n if (index + str.length === fullStr.length) {\n this.fixCaret(index, index);\n\n return true;\n }\n return false;\n },\n partRestoreByAfter(str) {\n if (str === undefined) return false;\n\n // For loop from full str to the str with last char to map. e.g. 123\n // -> 123\n // -> 23\n // -> 3\n return Array.prototype.some.call(str, (_, start) => {\n const partStr = str.substring(start);\n\n return this.restoreByAfter(partStr);\n });\n },\n focus() {\n this.$refs.inputRef.focus();\n this.recordCursorPosition();\n },\n blur() {\n this.$refs.inputRef.blur();\n },\n formatWrapper(num) {\n // http://2ality.com/2012/03/signedzero.html\n // https://github.com/ant-design/ant-design/issues/9439\n if (this.formatter) {\n return this.formatter(num);\n }\n return num;\n },\n toPrecisionAsStep(num) {\n if (this.isNotCompleteNumber(num) || num === '') {\n return num;\n }\n const precision = Math.abs(this.getMaxPrecision(num));\n if (!isNaN(precision)) {\n return Number(num).toFixed(precision);\n }\n return num.toString();\n },\n // '1.' '1x' 'xx' '' => are not complete numbers\n isNotCompleteNumber(num) {\n return (\n isNaN(num) ||\n num === '' ||\n num === null ||\n (num && num.toString().indexOf('.') === num.toString().length - 1)\n );\n },\n toNumber(num) {\n const { precision, autoFocus } = this.$props;\n const { focused = autoFocus } = this;\n // num.length > 16 => This is to prevent input of large numbers\n const numberIsTooLarge = num && num.length > 16 && focused;\n if (this.isNotCompleteNumber(num) || numberIsTooLarge) {\n return num;\n }\n if (isValidProps(precision)) {\n return Math.round(num * Math.pow(10, precision)) / Math.pow(10, precision);\n }\n return Number(num);\n },\n upStep(val, rat) {\n const { step } = this;\n const precisionFactor = this.getPrecisionFactor(val, rat);\n const precision = Math.abs(this.getMaxPrecision(val, rat));\n const result = (\n (precisionFactor * val + precisionFactor * step * rat) /\n precisionFactor\n ).toFixed(precision);\n return this.toNumber(result);\n },\n downStep(val, rat) {\n const { step } = this;\n const precisionFactor = this.getPrecisionFactor(val, rat);\n const precision = Math.abs(this.getMaxPrecision(val, rat));\n const result = (\n (precisionFactor * val - precisionFactor * step * rat) /\n precisionFactor\n ).toFixed(precision);\n return this.toNumber(result);\n },\n stepFn(type, e, ratio = 1, recursive) {\n this.stop();\n if (e) {\n // e.persist()\n e.preventDefault();\n }\n if (this.disabled) {\n return;\n }\n const { max, min } = this;\n const value = this.getCurrentValidValue(this.inputValue) || 0;\n if (this.isNotCompleteNumber(value)) {\n return;\n }\n let val = this[`${type}Step`](value, ratio);\n const outOfRange = val > max || val < min;\n if (val > max) {\n val = max;\n } else if (val < min) {\n val = min;\n }\n this.setValue(val);\n this.setState({\n focused: true,\n });\n if (outOfRange) {\n return;\n }\n this.autoStepTimer = setTimeout(\n () => {\n this[type](e, ratio, true);\n },\n recursive ? SPEED : DELAY,\n );\n },\n stop() {\n if (this.autoStepTimer) {\n clearTimeout(this.autoStepTimer);\n }\n },\n down(e, ratio, recursive) {\n this.pressingUpOrDown = true;\n this.stepFn('down', e, ratio, recursive);\n },\n up(e, ratio, recursive) {\n this.pressingUpOrDown = true;\n this.stepFn('up', e, ratio, recursive);\n },\n handleInputClick() {\n this.$emit('click');\n },\n onCompositionstart(e) {\n e.target.composing = true;\n },\n onCompositionend(e) {\n this.onChange(e);\n e.target.composing = false;\n },\n },\n render() {\n const {\n prefixCls,\n disabled,\n readonly,\n useTouch,\n autoComplete,\n upHandler,\n downHandler,\n } = this.$props;\n const classes = classNames({\n [prefixCls]: true,\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-focused`]: this.focused,\n });\n let upDisabledClass = '';\n let downDisabledClass = '';\n const { sValue } = this;\n if (sValue || sValue === 0) {\n if (!isNaN(sValue)) {\n const val = Number(sValue);\n if (val >= this.max) {\n upDisabledClass = `${prefixCls}-handler-up-disabled`;\n }\n if (val <= this.min) {\n downDisabledClass = `${prefixCls}-handler-down-disabled`;\n }\n } else {\n upDisabledClass = `${prefixCls}-handler-up-disabled`;\n downDisabledClass = `${prefixCls}-handler-down-disabled`;\n }\n }\n\n const editable = !this.readonly && !this.disabled;\n\n // focus state, show input value\n // unfocus state, show valid value\n const inputDisplayValue = this.getInputDisplayValue();\n\n let upEvents;\n let downEvents;\n if (useTouch) {\n upEvents = {\n touchstart: editable && !upDisabledClass ? this.up : noop,\n touchend: this.stop,\n };\n downEvents = {\n touchstart: editable && !downDisabledClass ? this.down : noop,\n touchend: this.stop,\n };\n } else {\n upEvents = {\n mousedown: editable && !upDisabledClass ? this.up : noop,\n mouseup: this.stop,\n mouseleave: this.stop,\n };\n downEvents = {\n mousedown: editable && !downDisabledClass ? this.down : noop,\n mouseup: this.stop,\n mouseleave: this.stop,\n };\n }\n const isUpDisabled = !!upDisabledClass || disabled || readonly;\n const isDownDisabled = !!downDisabledClass || disabled || readonly;\n const {\n mouseenter = noop,\n mouseleave = noop,\n mouseover = noop,\n mouseout = noop,\n } = getListeners(this);\n const contentProps = {\n on: { mouseenter, mouseleave, mouseover, mouseout },\n class: classes,\n attrs: { title: this.$props.title },\n };\n const upHandlerProps = {\n props: {\n disabled: isUpDisabled,\n prefixCls,\n },\n attrs: {\n unselectable: 'unselectable',\n role: 'button',\n 'aria-label': 'Increase Value',\n 'aria-disabled': !!isUpDisabled,\n },\n class: `${prefixCls}-handler ${prefixCls}-handler-up ${upDisabledClass}`,\n on: upEvents,\n ref: 'up',\n };\n const downHandlerProps = {\n props: {\n disabled: isDownDisabled,\n prefixCls,\n },\n attrs: {\n unselectable: 'unselectable',\n role: 'button',\n 'aria-label': 'Decrease Value',\n 'aria-disabled': !!isDownDisabled,\n },\n class: `${prefixCls}-handler ${prefixCls}-handler-down ${downDisabledClass}`,\n on: downEvents,\n ref: 'down',\n };\n // ref for test\n return (\n <div {...contentProps}>\n <div class={`${prefixCls}-handler-wrap`}>\n <InputHandler {...upHandlerProps}>\n {upHandler || (\n <span\n unselectable=\"unselectable\"\n class={`${prefixCls}-handler-up-inner`}\n onClick={preventDefault}\n />\n )}\n </InputHandler>\n <InputHandler {...downHandlerProps}>\n {downHandler || (\n <span\n unselectable=\"unselectable\"\n class={`${prefixCls}-handler-down-inner`}\n onClick={preventDefault}\n />\n )}\n </InputHandler>\n </div>\n <div class={`${prefixCls}-input-wrap`}>\n <input\n role=\"spinbutton\"\n aria-valuemin={this.min}\n aria-valuemax={this.max}\n aria-valuenow={sValue}\n required={this.required}\n type={this.type}\n placeholder={this.placeholder}\n onClick={this.handleInputClick}\n class={`${prefixCls}-input`}\n tabIndex={this.tabIndex}\n autoComplete={autoComplete}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onKeydown={editable ? this.onKeyDown : noop}\n onKeyup={editable ? this.onKeyUp : noop}\n readonly={this.readonly}\n disabled={this.disabled}\n max={this.max}\n min={this.min}\n step={this.step}\n name={this.name}\n title={this.title}\n id={this.id}\n onInput={this.onTrigger}\n onCompositionstart={this.onCompositionstart}\n onCompositionend={this.onCompositionend}\n ref=\"inputRef\"\n value={inputDisplayValue}\n pattern={this.pattern}\n />\n </div>\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { initDefaultProps, getOptionProps, getListeners } from '../_util/props-util';\nimport classNames from 'classnames';\nimport Icon from '../icon';\nimport VcInputNumber from '../vc-input-number/src';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\n\nexport const InputNumberProps = {\n prefixCls: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n step: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n defaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n tabIndex: PropTypes.number,\n disabled: PropTypes.bool,\n size: PropTypes.oneOf(['large', 'small', 'default']),\n formatter: PropTypes.func,\n parser: PropTypes.func,\n decimalSeparator: PropTypes.string,\n placeholder: PropTypes.string,\n name: PropTypes.string,\n id: PropTypes.string,\n precision: PropTypes.number,\n autoFocus: PropTypes.bool,\n};\n\nconst InputNumber = {\n name: 'AInputNumber',\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(InputNumberProps, {\n step: 1,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n focus() {\n this.$refs.inputNumberRef.focus();\n },\n blur() {\n this.$refs.inputNumberRef.blur();\n },\n },\n\n render() {\n const { prefixCls: customizePrefixCls, size, ...others } = {\n ...getOptionProps(this),\n ...this.$attrs,\n };\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('input-number', customizePrefixCls);\n\n const inputNumberClass = classNames({\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n });\n const upIcon = <Icon type=\"up\" class={`${prefixCls}-handler-up-inner`} />;\n const downIcon = <Icon type=\"down\" class={`${prefixCls}-handler-down-inner`} />;\n\n const vcInputNumberprops = {\n props: {\n prefixCls,\n upHandler: upIcon,\n downHandler: downIcon,\n ...others,\n },\n class: inputNumberClass,\n ref: 'inputNumberRef',\n on: getListeners(this),\n };\n return <VcInputNumber {...vcInputNumberprops} />;\n },\n};\n\n/* istanbul ignore next */\nInputNumber.install = function(Vue) {\n Vue.use(Base);\n Vue.component(InputNumber.name, InputNumber);\n};\n\nexport default InputNumber;\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport { getOptionProps, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport const BasicProps = {\n prefixCls: PropTypes.string,\n hasSider: PropTypes.boolean,\n tagName: PropTypes.string,\n};\n\nfunction generator({ suffixCls, tagName, name }) {\n return BasicComponent => {\n return {\n name,\n props: BasicComponent.props,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render() {\n const { prefixCls: customizePrefixCls } = this.$props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls(suffixCls, customizePrefixCls);\n\n const basicComponentProps = {\n props: {\n prefixCls,\n ...getOptionProps(this),\n tagName,\n },\n on: getListeners(this),\n };\n return <BasicComponent {...basicComponentProps}>{this.$slots.default}</BasicComponent>;\n },\n };\n };\n}\n\nconst Basic = {\n props: BasicProps,\n render() {\n const { prefixCls, tagName: Tag, $slots } = this;\n const divProps = {\n class: prefixCls,\n on: getListeners(this),\n };\n return <Tag {...divProps}>{$slots.default}</Tag>;\n },\n};\n\nconst BasicLayout = {\n props: BasicProps,\n data() {\n return {\n siders: [],\n };\n },\n provide() {\n return {\n siderHook: {\n addSider: id => {\n this.siders = [...this.siders, id];\n },\n removeSider: id => {\n this.siders = this.siders.filter(currentId => currentId !== id);\n },\n },\n };\n },\n render() {\n const { prefixCls, $slots, hasSider, tagName: Tag } = this;\n const divCls = classNames(prefixCls, {\n [`${prefixCls}-has-sider`]: typeof hasSider === 'boolean' ? hasSider : this.siders.length > 0,\n });\n const divProps = {\n class: divCls,\n on: getListeners,\n };\n return <Tag {...divProps}>{$slots.default}</Tag>;\n },\n};\n\nconst Layout = generator({\n suffixCls: 'layout',\n tagName: 'section',\n name: 'ALayout',\n})(BasicLayout);\n\nconst Header = generator({\n suffixCls: 'layout-header',\n tagName: 'header',\n name: 'ALayoutHeader',\n})(Basic);\n\nconst Footer = generator({\n suffixCls: 'layout-footer',\n tagName: 'footer',\n name: 'ALayoutFooter',\n})(Basic);\n\nconst Content = generator({\n suffixCls: 'layout-content',\n tagName: 'main',\n name: 'ALayoutContent',\n})(Basic);\n\nLayout.Header = Header;\nLayout.Footer = Footer;\nLayout.Content = Content;\n\nexport default Layout;\n","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport {\n initDefaultProps,\n getOptionProps,\n hasProp,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport isNumeric from '../_util/isNumeric';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Icon from '../icon';\n\n// matchMedia polyfill for\n// https://github.com/WickyNilliams/enquire.js/issues/82\nif (typeof window !== 'undefined') {\n const matchMediaPolyfill = mediaQuery => {\n return {\n media: mediaQuery,\n matches: false,\n addListener() {},\n removeListener() {},\n };\n };\n window.matchMedia = window.matchMedia || matchMediaPolyfill;\n}\n\nconst dimensionMaxMap = {\n xs: '479.98px',\n sm: '575.98px',\n md: '767.98px',\n lg: '991.98px',\n xl: '1199.98px',\n xxl: '1599.98px',\n};\n\n// export type CollapseType = 'clickTrigger' | 'responsive';\n\nexport const SiderProps = {\n prefixCls: PropTypes.string,\n collapsible: PropTypes.bool,\n collapsed: PropTypes.bool,\n defaultCollapsed: PropTypes.bool,\n reverseArrow: PropTypes.bool,\n // onCollapse?: (collapsed: boolean, type: CollapseType) => void;\n zeroWidthTriggerStyle: PropTypes.object,\n trigger: PropTypes.any,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n collapsedWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n breakpoint: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', 'xxl']),\n theme: PropTypes.oneOf(['light', 'dark']).def('dark'),\n};\n\n// export interface SiderState {\n// collapsed?: boolean;\n// below: boolean;\n// belowShow?: boolean;\n// }\n\n// export interface SiderContext {\n// siderCollapsed: boolean;\n// }\n\nconst generateId = (() => {\n let i = 0;\n return (prefix = '') => {\n i += 1;\n return `${prefix}${i}`;\n };\n})();\n\nexport default {\n name: 'ALayoutSider',\n __ANT_LAYOUT_SIDER: true,\n mixins: [BaseMixin],\n model: {\n prop: 'collapsed',\n event: 'collapse',\n },\n props: initDefaultProps(SiderProps, {\n collapsible: false,\n defaultCollapsed: false,\n reverseArrow: false,\n width: 200,\n collapsedWidth: 80,\n }),\n data() {\n this.uniqueId = generateId('ant-sider-');\n let matchMedia;\n if (typeof window !== 'undefined') {\n matchMedia = window.matchMedia;\n }\n const props = getOptionProps(this);\n if (matchMedia && props.breakpoint && props.breakpoint in dimensionMaxMap) {\n this.mql = matchMedia(`(max-width: ${dimensionMaxMap[props.breakpoint]})`);\n }\n let sCollapsed;\n if ('collapsed' in props) {\n sCollapsed = props.collapsed;\n } else {\n sCollapsed = props.defaultCollapsed;\n }\n return {\n sCollapsed,\n below: false,\n belowShow: false,\n };\n },\n provide() {\n return {\n layoutSiderContext: this, // menu组件中使用\n };\n },\n inject: {\n siderHook: { default: () => ({}) },\n configProvider: { default: () => ConfigConsumerProps },\n },\n // getChildContext() {\n // return {\n // siderCollapsed: this.state.collapsed,\n // collapsedWidth: this.props.collapsedWidth,\n // };\n // }\n watch: {\n collapsed(val) {\n this.setState({\n sCollapsed: val,\n });\n },\n },\n\n mounted() {\n this.$nextTick(() => {\n if (this.mql) {\n this.mql.addListener(this.responsiveHandler);\n this.responsiveHandler(this.mql);\n }\n\n if (this.siderHook.addSider) {\n this.siderHook.addSider(this.uniqueId);\n }\n });\n },\n\n beforeDestroy() {\n if (this.mql) {\n this.mql.removeListener(this.responsiveHandler);\n }\n\n if (this.siderHook.removeSider) {\n this.siderHook.removeSider(this.uniqueId);\n }\n },\n methods: {\n responsiveHandler(mql) {\n this.setState({ below: mql.matches });\n this.$emit('breakpoint', mql.matches);\n if (this.sCollapsed !== mql.matches) {\n this.setCollapsed(mql.matches, 'responsive');\n }\n },\n\n setCollapsed(collapsed, type) {\n if (!hasProp(this, 'collapsed')) {\n this.setState({\n sCollapsed: collapsed,\n });\n }\n this.$emit('collapse', collapsed, type);\n },\n\n toggle() {\n const collapsed = !this.sCollapsed;\n this.setCollapsed(collapsed, 'clickTrigger');\n },\n\n belowShowChange() {\n this.setState({ belowShow: !this.belowShow });\n },\n },\n\n render() {\n const {\n prefixCls: customizePrefixCls,\n theme,\n collapsible,\n reverseArrow,\n width,\n collapsedWidth,\n zeroWidthTriggerStyle,\n } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('layout-sider', customizePrefixCls);\n\n const trigger = getComponentFromProp(this, 'trigger');\n const rawWidth = this.sCollapsed ? collapsedWidth : width;\n // use \"px\" as fallback unit for width\n const siderWidth = isNumeric(rawWidth) ? `${rawWidth}px` : String(rawWidth);\n // special trigger when collapsedWidth == 0\n const zeroWidthTrigger =\n parseFloat(String(collapsedWidth || 0)) === 0 ? (\n <span\n onClick={this.toggle}\n class={`${prefixCls}-zero-width-trigger ${prefixCls}-zero-width-trigger-${\n reverseArrow ? 'right' : 'left'\n }`}\n style={zeroWidthTriggerStyle}\n >\n <Icon type=\"bars\" />\n </span>\n ) : null;\n const iconObj = {\n expanded: reverseArrow ? <Icon type=\"right\" /> : <Icon type=\"left\" />,\n collapsed: reverseArrow ? <Icon type=\"left\" /> : <Icon type=\"right\" />,\n };\n const status = this.sCollapsed ? 'collapsed' : 'expanded';\n const defaultTrigger = iconObj[status];\n const triggerDom =\n trigger !== null\n ? zeroWidthTrigger || (\n <div class={`${prefixCls}-trigger`} onClick={this.toggle} style={{ width: siderWidth }}>\n {trigger || defaultTrigger}\n </div>\n )\n : null;\n const divStyle = {\n // ...style,\n flex: `0 0 ${siderWidth}`,\n maxWidth: siderWidth, // Fix width transition bug in IE11\n minWidth: siderWidth, // https://github.com/ant-design/ant-design/issues/6349\n width: siderWidth,\n };\n const siderCls = classNames(prefixCls, `${prefixCls}-${theme}`, {\n [`${prefixCls}-collapsed`]: !!this.sCollapsed,\n [`${prefixCls}-has-trigger`]: collapsible && trigger !== null && !zeroWidthTrigger,\n [`${prefixCls}-below`]: !!this.below,\n [`${prefixCls}-zero-width`]: parseFloat(siderWidth) === 0,\n });\n const divProps = {\n on: getListeners(this),\n class: siderCls,\n style: divStyle,\n };\n return (\n <aside {...divProps}>\n <div class={`${prefixCls}-children`}>{this.$slots.default}</div>\n {collapsible || (this.below && zeroWidthTrigger) ? triggerDom : null}\n </aside>\n );\n },\n};\n","import Layout from './layout';\nimport Sider from './Sider';\nimport Base from '../base';\n\nLayout.Sider = Sider;\n\n/* istanbul ignore next */\nLayout.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Layout.name, Layout);\n Vue.component(Layout.Header.name, Layout.Header);\n Vue.component(Layout.Footer.name, Layout.Footer);\n Vue.component(Layout.Sider.name, Layout.Sider);\n Vue.component(Layout.Content.name, Layout.Content);\n};\nexport default Layout;\n","import debounce from 'lodash/debounce';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport {\n filterEmpty,\n initDefaultProps,\n isValidElement,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport const SpinSize = PropTypes.oneOf(['small', 'default', 'large']);\n\nexport const SpinProps = () => ({\n prefixCls: PropTypes.string,\n spinning: PropTypes.bool,\n size: SpinSize,\n wrapperClassName: PropTypes.string,\n tip: PropTypes.string,\n delay: PropTypes.number,\n indicator: PropTypes.any,\n});\n\n// Render indicator\nlet defaultIndicator;\n\nfunction shouldDelay(spinning, delay) {\n return !!spinning && !!delay && !isNaN(Number(delay));\n}\n\nexport function setDefaultIndicator(Content) {\n defaultIndicator =\n typeof Content.indicator === 'function'\n ? Content.indicator\n : h => {\n return <Content.indicator />;\n };\n}\n\nexport default {\n name: 'ASpin',\n mixins: [BaseMixin],\n props: initDefaultProps(SpinProps(), {\n size: 'default',\n spinning: true,\n wrapperClassName: '',\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const { spinning, delay } = this;\n const shouldBeDelayed = shouldDelay(spinning, delay);\n this.originalUpdateSpinning = this.updateSpinning;\n this.debouncifyUpdateSpinning(this.$props);\n return {\n sSpinning: spinning && !shouldBeDelayed,\n };\n },\n mounted() {\n this.updateSpinning();\n },\n updated() {\n this.$nextTick(() => {\n this.debouncifyUpdateSpinning();\n this.updateSpinning();\n });\n },\n beforeDestroy() {\n this.cancelExistingSpin();\n },\n methods: {\n debouncifyUpdateSpinning(props) {\n const { delay } = props || this.$props;\n if (delay) {\n this.cancelExistingSpin();\n this.updateSpinning = debounce(this.originalUpdateSpinning, delay);\n }\n },\n updateSpinning() {\n const { spinning, sSpinning } = this;\n if (sSpinning !== spinning) {\n this.setState({ sSpinning: spinning });\n }\n },\n cancelExistingSpin() {\n const { updateSpinning } = this;\n if (updateSpinning && updateSpinning.cancel) {\n updateSpinning.cancel();\n }\n },\n getChildren() {\n if (this.$slots && this.$slots.default) {\n return filterEmpty(this.$slots.default);\n }\n return null;\n },\n renderIndicator(h, prefixCls) {\n // const h = this.$createElement\n const dotClassName = `${prefixCls}-dot`;\n let indicator = getComponentFromProp(this, 'indicator');\n // should not be render default indicator when indicator value is null\n if (indicator === null) {\n return null;\n }\n if (Array.isArray(indicator)) {\n indicator = filterEmpty(indicator);\n indicator = indicator.length === 1 ? indicator[0] : indicator;\n }\n if (isValidElement(indicator)) {\n return cloneElement(indicator, { class: dotClassName });\n }\n\n if (defaultIndicator && isValidElement(defaultIndicator(h))) {\n return cloneElement(defaultIndicator(h), { class: dotClassName });\n }\n\n return (\n <span class={`${dotClassName} ${prefixCls}-dot-spin`}>\n <i class={`${prefixCls}-dot-item`} />\n <i class={`${prefixCls}-dot-item`} />\n <i class={`${prefixCls}-dot-item`} />\n <i class={`${prefixCls}-dot-item`} />\n </span>\n );\n },\n },\n render(h) {\n const {\n size,\n prefixCls: customizePrefixCls,\n tip,\n wrapperClassName,\n ...restProps\n } = this.$props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('spin', customizePrefixCls);\n\n const { sSpinning } = this;\n const spinClassName = {\n [prefixCls]: true,\n [`${prefixCls}-sm`]: size === 'small',\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-spinning`]: sSpinning,\n [`${prefixCls}-show-text`]: !!tip,\n };\n\n const spinElement = (\n <div {...restProps} class={spinClassName}>\n {this.renderIndicator(h, prefixCls)}\n {tip ? <div class={`${prefixCls}-text`}>{tip}</div> : null}\n </div>\n );\n const children = this.getChildren();\n if (children) {\n const containerClassName = {\n [`${prefixCls}-container`]: true,\n [`${prefixCls}-blur`]: sSpinning,\n };\n\n return (\n <div\n {...{ on: getListeners(this) }}\n class={[`${prefixCls}-nested-loading`, wrapperClassName]}\n >\n {sSpinning && <div key=\"loading\">{spinElement}</div>}\n <div class={containerClassName} key=\"container\">\n {children}\n </div>\n </div>\n );\n }\n return spinElement;\n },\n};\n","import Spin, { setDefaultIndicator } from './Spin';\nimport Base from '../base';\n\nexport { SpinProps } from './Spin';\n\nSpin.setDefaultIndicator = setDefaultIndicator;\n\n/* istanbul ignore next */\nSpin.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Spin.name, Spin);\n};\n\nexport default Spin;\n","import VcSelect, { SelectProps } from '../select';\nimport { getOptionProps, filterEmpty, getListeners } from '../_util/props-util';\n\nexport default {\n props: {\n ...SelectProps,\n },\n Option: VcSelect.Option,\n render() {\n const selectOptionsProps = getOptionProps(this);\n const selelctProps = {\n props: {\n ...selectOptionsProps,\n size: 'small',\n },\n on: getListeners(this),\n };\n return <VcSelect {...selelctProps}>{filterEmpty(this.$slots.default)}</VcSelect>;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\n\nexport default {\n name: 'Pager',\n props: {\n rootPrefixCls: PropTypes.string,\n page: PropTypes.number,\n active: PropTypes.bool,\n last: PropTypes.bool,\n locale: PropTypes.object,\n showTitle: PropTypes.bool,\n itemRender: {\n type: Function,\n default: () => {},\n },\n },\n methods: {\n handleClick() {\n this.$emit('click', this.page);\n },\n handleKeyPress(event) {\n this.$emit('keypress', event, this.handleClick, this.page);\n },\n },\n render() {\n const props = this.$props;\n const prefixCls = `${props.rootPrefixCls}-item`;\n const cls = classNames(prefixCls, `${prefixCls}-${props.page}`, {\n [`${prefixCls}-active`]: props.active,\n [`${prefixCls}-disabled`]: !props.page,\n });\n\n return (\n <li\n class={cls}\n onClick={this.handleClick}\n onKeypress={this.handleKeyPress}\n title={this.showTitle ? this.page : null}\n tabIndex=\"0\"\n >\n {this.itemRender(this.page, 'page', <a>{this.page}</a>)}\n </li>\n );\n },\n};\n","export default {\n ZERO: 48,\n NINE: 57,\n\n NUMPAD_ZERO: 96,\n NUMPAD_NINE: 105,\n\n BACKSPACE: 8,\n DELETE: 46,\n ENTER: 13,\n\n ARROW_UP: 38,\n ARROW_DOWN: 40,\n};\n","import PropTypes from '../_util/vue-types';\nimport KEYCODE from './KeyCode';\nimport BaseMixin from '../_util/BaseMixin';\n\nexport default {\n mixins: [BaseMixin],\n props: {\n disabled: PropTypes.bool,\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() {\n return {\n goInputText: '',\n };\n },\n methods: {\n getValidValue() {\n const { goInputText, current } = this;\n return !goInputText || isNaN(goInputText) ? current : Number(goInputText);\n },\n defaultBuildOptionText(opt) {\n return `${opt.value} ${this.locale.items_per_page}`;\n },\n handleChange(e) {\n const { value, composing } = e.target;\n if (e.isComposing || composing || this.goInputText === value) return;\n this.setState({\n goInputText: value,\n });\n },\n handleBlur(e) {\n const { goButton, quickGo, rootPrefixCls } = this.$props;\n if (goButton) {\n return;\n }\n if (\n e.relatedTarget &&\n (e.relatedTarget.className.indexOf(`${rootPrefixCls}-prev`) >= 0 ||\n e.relatedTarget.className.indexOf(`${rootPrefixCls}-next`) >= 0)\n ) {\n return;\n }\n quickGo(this.getValidValue());\n },\n go(e) {\n const { goInputText } = this;\n if (goInputText === '') {\n return;\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() {\n const {\n rootPrefixCls,\n locale,\n changeSize,\n quickGo,\n goButton,\n selectComponentClass: Select,\n defaultBuildOptionText,\n selectPrefixCls,\n pageSize,\n pageSizeOptions,\n goInputText,\n disabled,\n } = this;\n const prefixCls = `${rootPrefixCls}-options`;\n let changeSelect = null;\n let goInput = null;\n let gotoButton = null;\n\n if (!changeSize && !quickGo) {\n return null;\n }\n\n if (changeSize && Select) {\n const buildOptionText = this.buildOptionText || defaultBuildOptionText;\n const options = pageSizeOptions.map((opt, i) => (\n <Select.Option key={i} value={opt}>\n {buildOptionText({ value: opt })}\n </Select.Option>\n ));\n\n changeSelect = (\n <Select\n disabled={disabled}\n prefixCls={selectPrefixCls}\n showSearch={false}\n class={`${prefixCls}-size-changer`}\n optionLabelProp=\"children\"\n dropdownMatchSelectWidth={false}\n value={(pageSize || pageSizeOptions[0]).toString()}\n onChange={value => this.changeSize(Number(value))}\n getPopupContainer={triggerNode => triggerNode.parentNode}\n >\n {options}\n </Select>\n );\n }\n\n if (quickGo) {\n if (goButton) {\n gotoButton =\n typeof goButton === 'boolean' ? (\n <button type=\"button\" onClick={this.go} onKeyup={this.go} disabled={disabled}>\n {locale.jump_to_confirm}\n </button>\n ) : (\n <span onClick={this.go} onKeyup={this.go}>\n {goButton}\n </span>\n );\n }\n goInput = (\n <div class={`${prefixCls}-quick-jumper`}>\n {locale.jump_to}\n <input\n disabled={disabled}\n type=\"text\"\n value={goInputText}\n onInput={this.handleChange}\n onKeyup={this.go}\n onBlur={this.handleBlur}\n {...{\n directives: [\n {\n name: 'ant-input',\n },\n ],\n }}\n />\n {locale.page}\n {gotoButton}\n </div>\n );\n }\n\n return (\n <li class={`${prefixCls}`}>\n {changeSelect}\n {goInput}\n </li>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { hasProp, getComponentFromProp, getOptionProps } from '../_util/props-util';\nimport Pager from './Pager';\nimport Options from './Options';\nimport LOCALE from './locale/zh_CN';\nimport KEYCODE from './KeyCode';\n\nfunction noop() {}\n\n// 是否是正整数\nfunction isInteger(value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n}\n\nfunction defaultItemRender(page, type, element) {\n return element;\n}\n\nfunction calculatePage(p, state, props) {\n let pageSize = p;\n if (typeof pageSize === 'undefined') {\n pageSize = state.statePageSize;\n }\n return Math.floor((props.total - 1) / pageSize) + 1;\n}\n\nexport default {\n name: 'Pagination',\n mixins: [BaseMixin],\n model: {\n prop: 'current',\n event: 'change.current',\n },\n props: {\n disabled: PropTypes.bool,\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.bool.def(false),\n showSizeChanger: PropTypes.bool.def(false),\n showLessItems: PropTypes.bool.def(false),\n // showSizeChange: PropTypes.func.def(noop),\n selectComponentClass: PropTypes.any,\n showPrevNextJumpers: PropTypes.bool.def(true),\n showQuickJumper: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]).def(false),\n showTitle: PropTypes.bool.def(true),\n pageSizeOptions: PropTypes.arrayOf(PropTypes.string),\n buildOptionText: PropTypes.func,\n showTotal: PropTypes.func,\n simple: PropTypes.bool,\n locale: PropTypes.object.def(LOCALE),\n itemRender: PropTypes.func.def(defaultItemRender),\n prevIcon: PropTypes.any,\n nextIcon: PropTypes.any,\n jumpPrevIcon: PropTypes.any,\n jumpNextIcon: PropTypes.any,\n },\n data() {\n const props = getOptionProps(this);\n const hasOnChange = this.onChange !== noop;\n const hasCurrent = 'current' in props;\n if (hasCurrent && !hasOnChange) {\n console.warn(\n 'Warning: You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.',\n ); // eslint-disable-line\n }\n let current = this.defaultCurrent;\n if ('current' in props) {\n current = this.current;\n }\n\n let pageSize = this.defaultPageSize;\n if ('pageSize' in props) {\n pageSize = this.pageSize;\n }\n\n current = Math.min(current, calculatePage(pageSize, undefined, props));\n\n return {\n stateCurrent: current,\n stateCurrentInputValue: current,\n statePageSize: pageSize,\n };\n },\n watch: {\n current(val) {\n this.setState({\n stateCurrent: val,\n stateCurrentInputValue: val,\n });\n },\n pageSize(val) {\n const newState = {};\n let current = this.stateCurrent;\n const newCurrent = calculatePage(val, this.$data, this.$props);\n current = current > newCurrent ? newCurrent : current;\n if (!hasProp(this, 'current')) {\n newState.stateCurrent = current;\n newState.stateCurrentInputValue = current;\n }\n newState.statePageSize = val;\n this.setState(newState);\n },\n stateCurrent(val, oldValue) {\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(() => {\n if (this.$refs.paginationNode) {\n const lastCurrentNode = this.$refs.paginationNode.querySelector(\n `.${this.prefixCls}-item-${oldValue}`,\n );\n if (lastCurrentNode && document.activeElement === lastCurrentNode) {\n lastCurrentNode.blur();\n }\n }\n });\n },\n total() {\n const newState = {};\n const newCurrent = calculatePage(this.pageSize, this.$data, this.$props);\n if (hasProp(this, 'current')) {\n const current = Math.min(this.current, newCurrent);\n newState.stateCurrent = current;\n newState.stateCurrentInputValue = current;\n } else {\n let current = this.stateCurrent;\n if (current === 0 && newCurrent > 0) {\n current = 1;\n } else {\n current = Math.min(this.stateCurrent, newCurrent);\n }\n newState.stateCurrent = current;\n }\n this.setState(newState);\n },\n },\n methods: {\n getJumpPrevPage() {\n return Math.max(1, this.stateCurrent - (this.showLessItems ? 3 : 5));\n },\n getJumpNextPage() {\n return Math.min(\n calculatePage(undefined, this.$data, this.$props),\n this.stateCurrent + (this.showLessItems ? 3 : 5),\n );\n },\n getItemIcon(icon) {\n const { prefixCls } = this.$props;\n const iconNode = getComponentFromProp(this, icon, this.$props) || (\n <a class={`${prefixCls}-item-link`} />\n );\n return iconNode;\n },\n getValidValue(e) {\n const inputValue = e.target.value;\n const allPages = calculatePage(undefined, this.$data, this.$props);\n const { stateCurrentInputValue } = this.$data;\n let value;\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 return value;\n },\n isValid(page) {\n return isInteger(page) && page !== this.stateCurrent;\n },\n shouldDisplayQuickJumper() {\n const { showQuickJumper, pageSize, total } = this.$props;\n if (total <= pageSize) {\n return false;\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(event) {\n if (event.keyCode === KEYCODE.ARROW_UP || event.keyCode === KEYCODE.ARROW_DOWN) {\n event.preventDefault();\n }\n },\n handleKeyUp(e) {\n if (e.isComposing || e.target.composing) return;\n const value = this.getValidValue(e);\n const 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(size) {\n let current = this.stateCurrent;\n const preCurrent = current;\n const newCurrent = calculatePage(size, this.$data, this.$props);\n current = current > newCurrent ? newCurrent : current;\n // fix the issue:\n // Once 'total' is 0, 'current' in 'onShowSizeChange' is 0, which is not correct.\n if (newCurrent === 0) {\n current = this.stateCurrent;\n }\n if (typeof size === 'number') {\n if (!hasProp(this, 'pageSize')) {\n this.setState({\n statePageSize: size,\n });\n }\n if (!hasProp(this, 'current')) {\n this.setState({\n stateCurrent: current,\n stateCurrentInputValue: current,\n });\n }\n }\n this.$emit('update:pageSize', size);\n this.$emit('showSizeChange', current, size);\n if (current !== preCurrent) {\n this.$emit('change.current', current, size);\n }\n },\n handleChange(p) {\n const { disabled } = this.$props;\n let page = p;\n if (this.isValid(page) && !disabled) {\n const currentPage = calculatePage(undefined, this.$data, this.$props);\n if (page > currentPage) {\n page = currentPage;\n } else if (page < 1) {\n page = 1;\n }\n if (!hasProp(this, 'current')) {\n this.setState({\n stateCurrent: page,\n stateCurrentInputValue: page,\n });\n }\n // this.$emit('input', page)\n this.$emit('change.current', page, this.statePageSize);\n this.$emit('change', page, this.statePageSize);\n return page;\n }\n return this.stateCurrent;\n },\n prev() {\n if (this.hasPrev()) {\n this.handleChange(this.stateCurrent - 1);\n }\n },\n next() {\n if (this.hasNext()) {\n this.handleChange(this.stateCurrent + 1);\n }\n },\n jumpPrev() {\n this.handleChange(this.getJumpPrevPage());\n },\n jumpNext() {\n this.handleChange(this.getJumpNextPage());\n },\n hasPrev() {\n return this.stateCurrent > 1;\n },\n hasNext() {\n return this.stateCurrent < calculatePage(undefined, this.$data, this.$props);\n },\n runIfEnter(event, callback, ...restParams) {\n if (event.key === 'Enter' || event.charCode === 13) {\n callback(...restParams);\n }\n },\n runIfEnterPrev(event) {\n this.runIfEnter(event, this.prev);\n },\n runIfEnterNext(event) {\n this.runIfEnter(event, this.next);\n },\n runIfEnterJumpPrev(event) {\n this.runIfEnter(event, this.jumpPrev);\n },\n runIfEnterJumpNext(event) {\n this.runIfEnter(event, this.jumpNext);\n },\n handleGoTO(event) {\n if (event.keyCode === KEYCODE.ENTER || event.type === 'click') {\n this.handleChange(this.stateCurrentInputValue);\n }\n },\n },\n render() {\n const { prefixCls, disabled } = this.$props;\n\n // When hideOnSinglePage is true and there is only 1 page, hide the pager\n if (this.hideOnSinglePage === true && this.total <= this.statePageSize) {\n return null;\n }\n const props = this.$props;\n const locale = this.locale;\n\n const allPages = calculatePage(undefined, this.$data, this.$props);\n const pagerList = [];\n let jumpPrev = null;\n let jumpNext = null;\n let firstPager = null;\n let lastPager = null;\n let gotoButton = null;\n const goButton = this.showQuickJumper && this.showQuickJumper.goButton;\n const pageBufferSize = this.showLessItems ? 1 : 2;\n const { stateCurrent, statePageSize } = this;\n const prevPage = stateCurrent - 1 > 0 ? stateCurrent - 1 : 0;\n const nextPage = stateCurrent + 1 < allPages ? stateCurrent + 1 : allPages;\n\n if (this.simple) {\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = (\n <button type=\"button\" onClick={this.handleGoTO} onKeyup={this.handleGoTO}>\n {locale.jump_to_confirm}\n </button>\n );\n } else {\n gotoButton = (\n <span onClick={this.handleGoTO} onKeyup={this.handleGoTO}>\n {goButton}\n </span>\n );\n }\n gotoButton = (\n <li\n title={this.showTitle ? `${locale.jump_to}${this.stateCurrent}/${allPages}` : null}\n class={`${prefixCls}-simple-pager`}\n >\n {gotoButton}\n </li>\n );\n }\n const hasPrev = this.hasPrev();\n const hasNext = this.hasNext();\n return (\n <ul class={`${prefixCls} ${prefixCls}-simple`}>\n <li\n title={this.showTitle ? locale.prev_page : null}\n onClick={this.prev}\n tabIndex={hasPrev ? 0 : null}\n onKeypress={this.runIfEnterPrev}\n class={`${hasPrev ? '' : `${prefixCls}-disabled`} ${prefixCls}-prev`}\n aria-disabled={!this.hasPrev()}\n >\n {this.itemRender(prevPage, 'prev', this.getItemIcon('prevIcon'))}\n </li>\n <li\n title={this.showTitle ? `${stateCurrent}/${allPages}` : null}\n class={`${prefixCls}-simple-pager`}\n >\n <input\n type=\"text\"\n value={this.stateCurrentInputValue}\n onKeydown={this.handleKeyDown}\n onKeyup={this.handleKeyUp}\n onInput={this.handleKeyUp}\n size=\"3\"\n {...{\n directives: [\n {\n name: 'ant-input',\n },\n ],\n }}\n />\n <span class={`${prefixCls}-slash`}>/</span>\n {allPages}\n </li>\n <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={`${hasNext ? '' : `${prefixCls}-disabled`} ${prefixCls}-next`}\n aria-disabled={!this.hasNext()}\n >\n {this.itemRender(nextPage, 'next', this.getItemIcon('nextIcon'))}\n </li>\n {gotoButton}\n </ul>\n );\n }\n if (allPages <= 5 + pageBufferSize * 2) {\n const pagerProps = {\n props: {\n locale,\n rootPrefixCls: prefixCls,\n showTitle: props.showTitle,\n itemRender: props.itemRender,\n },\n on: {\n click: this.handleChange,\n keypress: this.runIfEnter,\n },\n };\n if (!allPages) {\n pagerList.push(\n <Pager {...pagerProps} key=\"noPager\" page={allPages} class={`${prefixCls}-disabled`} />,\n );\n }\n for (let i = 1; i <= allPages; i++) {\n const active = stateCurrent === i;\n pagerList.push(<Pager {...pagerProps} key={i} page={i} active={active} />);\n }\n } else {\n const prevItemTitle = this.showLessItems ? locale.prev_3 : locale.prev_5;\n const nextItemTitle = this.showLessItems ? locale.next_3 : locale.next_5;\n if (this.showPrevNextJumpers) {\n let jumpPrevClassString = `${prefixCls}-jump-prev`;\n if (props.jumpPrevIcon) {\n jumpPrevClassString += ` ${prefixCls}-jump-prev-custom-icon`;\n }\n jumpPrev = (\n <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 >\n {this.itemRender(this.getJumpPrevPage(), 'jump-prev', this.getItemIcon('jumpPrevIcon'))}\n </li>\n );\n let jumpNextClassString = `${prefixCls}-jump-next`;\n if (props.jumpNextIcon) {\n jumpNextClassString += ` ${prefixCls}-jump-next-custom-icon`;\n }\n jumpNext = (\n <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 >\n {this.itemRender(this.getJumpNextPage(), 'jump-next', this.getItemIcon('jumpNextIcon'))}\n </li>\n );\n }\n\n lastPager = (\n <Pager\n locale={locale}\n last\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={this.itemRender}\n />\n );\n firstPager = (\n <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={this.itemRender}\n />\n );\n\n let left = Math.max(1, stateCurrent - pageBufferSize);\n let 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 (let i = left; i <= right; i++) {\n const active = stateCurrent === i;\n pagerList.push(\n <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={this.itemRender}\n />,\n );\n }\n\n if (stateCurrent - 1 >= pageBufferSize * 2 && stateCurrent !== 1 + 2) {\n pagerList[0] = (\n <Pager\n locale={locale}\n rootPrefixCls={prefixCls}\n onClick={this.handleChange}\n onKeypress={this.runIfEnter}\n key={left}\n page={left}\n class={`${prefixCls}-item-after-jump-prev`}\n active={false}\n showTitle={this.showTitle}\n itemRender={this.itemRender}\n />\n );\n pagerList.unshift(jumpPrev);\n }\n if (allPages - stateCurrent >= pageBufferSize * 2 && stateCurrent !== allPages - 2) {\n pagerList[pagerList.length - 1] = (\n <Pager\n locale={locale}\n rootPrefixCls={prefixCls}\n onClick={this.handleChange}\n onKeypress={this.runIfEnter}\n key={right}\n page={right}\n class={`${prefixCls}-item-before-jump-next`}\n active={false}\n showTitle={this.showTitle}\n itemRender={this.itemRender}\n />\n );\n pagerList.push(jumpNext);\n }\n\n if (left !== 1) {\n pagerList.unshift(firstPager);\n }\n if (right !== allPages) {\n pagerList.push(lastPager);\n }\n }\n\n let totalText = null;\n\n if (this.showTotal) {\n totalText = (\n <li class={`${prefixCls}-total-text`}>\n {this.showTotal(this.total, [\n this.total === 0 ? 0 : (stateCurrent - 1) * statePageSize + 1,\n stateCurrent * statePageSize > this.total ? this.total : stateCurrent * statePageSize,\n ])}\n </li>\n );\n }\n const prevDisabled = !this.hasPrev() || !allPages;\n const nextDisabled = !this.hasNext() || !allPages;\n const buildOptionText = this.buildOptionText || this.$scopedSlots.buildOptionText;\n return (\n <ul\n class={{ [`${prefixCls}`]: true, [`${prefixCls}-disabled`]: disabled }}\n unselectable=\"unselectable\"\n ref=\"paginationNode\"\n >\n {totalText}\n <li\n title={this.showTitle ? locale.prev_page : null}\n onClick={this.prev}\n tabIndex={prevDisabled ? null : 0}\n onKeypress={this.runIfEnterPrev}\n class={`${!prevDisabled ? '' : `${prefixCls}-disabled`} ${prefixCls}-prev`}\n aria-disabled={prevDisabled}\n >\n {this.itemRender(prevPage, 'prev', this.getItemIcon('prevIcon'))}\n </li>\n {pagerList}\n <li\n title={this.showTitle ? locale.next_page : null}\n onClick={this.next}\n tabIndex={nextDisabled ? null : 0}\n onKeypress={this.runIfEnterNext}\n class={`${!nextDisabled ? '' : `${prefixCls}-disabled`} ${prefixCls}-next`}\n aria-disabled={nextDisabled}\n >\n {this.itemRender(nextPage, 'next', this.getItemIcon('nextIcon'))}\n </li>\n <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 />\n </ul>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport VcSelect from '../select';\nimport MiniSelect from './MiniSelect';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport { getOptionProps, getListeners } from '../_util/props-util';\nimport VcPagination from '../vc-pagination';\nimport enUS from '../vc-pagination/locale/en_US';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport const PaginationProps = () => ({\n total: PropTypes.number,\n defaultCurrent: PropTypes.number,\n disabled: PropTypes.bool,\n current: PropTypes.number,\n defaultPageSize: PropTypes.number,\n pageSize: PropTypes.number,\n hideOnSinglePage: PropTypes.bool,\n showSizeChanger: PropTypes.bool,\n pageSizeOptions: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])),\n buildOptionText: PropTypes.func,\n showSizeChange: PropTypes.func,\n showQuickJumper: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n showTotal: PropTypes.any,\n size: PropTypes.string,\n simple: PropTypes.bool,\n locale: PropTypes.object,\n prefixCls: PropTypes.string,\n selectPrefixCls: PropTypes.string,\n itemRender: PropTypes.any,\n role: PropTypes.string,\n showLessItems: PropTypes.bool,\n});\n\nexport const PaginationConfig = () => ({\n ...PaginationProps(),\n position: PropTypes.oneOf(['top', 'bottom', 'both']),\n});\n\nexport default {\n name: 'APagination',\n model: {\n prop: 'current',\n event: 'change.current',\n },\n props: {\n ...PaginationProps(),\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n getIconsProps(prefixCls) {\n const prevIcon = (\n <a class={`${prefixCls}-item-link`}>\n <Icon type=\"left\" />\n </a>\n );\n const nextIcon = (\n <a class={`${prefixCls}-item-link`}>\n <Icon type=\"right\" />\n </a>\n );\n const jumpPrevIcon = (\n <a class={`${prefixCls}-item-link`}>\n {/* You can use transition effects in the container :) */}\n <div class={`${prefixCls}-item-container`}>\n <Icon class={`${prefixCls}-item-link-icon`} type=\"double-left\" />\n <span class={`${prefixCls}-item-ellipsis`}>•••</span>\n </div>\n </a>\n );\n const jumpNextIcon = (\n <a class={`${prefixCls}-item-link`}>\n {/* You can use transition effects in the container :) */}\n <div class={`${prefixCls}-item-container`}>\n <Icon class={`${prefixCls}-item-link-icon`} type=\"double-right\" />\n <span class={`${prefixCls}-item-ellipsis`}>•••</span>\n </div>\n </a>\n );\n return {\n prevIcon,\n nextIcon,\n jumpPrevIcon,\n jumpNextIcon,\n };\n },\n renderPagination(contextLocale) {\n const {\n prefixCls: customizePrefixCls,\n selectPrefixCls: customizeSelectPrefixCls,\n buildOptionText,\n size,\n locale: customLocale,\n ...restProps\n } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('pagination', customizePrefixCls);\n const selectPrefixCls = getPrefixCls('select', customizeSelectPrefixCls);\n\n const isSmall = size === 'small';\n const paginationProps = {\n props: {\n prefixCls,\n selectPrefixCls,\n ...restProps,\n ...this.getIconsProps(prefixCls),\n selectComponentClass: isSmall ? MiniSelect : VcSelect,\n locale: { ...contextLocale, ...customLocale },\n buildOptionText: buildOptionText || this.$scopedSlots.buildOptionText,\n },\n class: {\n mini: isSmall,\n },\n on: getListeners(this),\n };\n\n return <VcPagination {...paginationProps} />;\n },\n },\n render() {\n return (\n <LocaleReceiver\n componentName=\"Pagination\"\n defaultLocale={enUS}\n scopedSlots={{ default: this.renderPagination }}\n />\n );\n },\n};\n","import Pagination from './Pagination';\nimport Base from '../base';\n\nexport { PaginationProps, PaginationConfig } from './Pagination';\n\n/* istanbul ignore next */\nPagination.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Pagination.name, Pagination);\n};\n\nexport default Pagination;\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport {\n getComponentFromProp,\n isStringElement,\n getListeners,\n isEmptyElement,\n} from '../_util/props-util';\nimport { Col } from '../grid';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport { ListGridType } from './index';\nimport { cloneElement } from '../_util/vnode';\n\nexport const ListItemProps = {\n prefixCls: PropTypes.string,\n extra: PropTypes.any,\n actions: PropTypes.arrayOf(PropTypes.any),\n grid: ListGridType,\n};\n\nexport const ListItemMetaProps = {\n avatar: PropTypes.any,\n description: PropTypes.any,\n prefixCls: PropTypes.string,\n title: PropTypes.any,\n};\n\nexport const Meta = {\n functional: true,\n name: 'AListItemMeta',\n __ANT_LIST_ITEM_META: true,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render(h, context) {\n const { props, slots, listeners, injections } = context;\n const slotsMap = slots();\n const getPrefixCls = injections.configProvider.getPrefixCls;\n const { prefixCls: customizePrefixCls } = props;\n const prefixCls = getPrefixCls('list', customizePrefixCls);\n\n const avatar = props.avatar || slotsMap.avatar;\n const title = props.title || slotsMap.title;\n const description = props.description || slotsMap.description;\n const content = (\n <div class={`${prefixCls}-item-meta-content`}>\n {title && <h4 class={`${prefixCls}-item-meta-title`}>{title}</h4>}\n {description && <div class={`${prefixCls}-item-meta-description`}>{description}</div>}\n </div>\n );\n return (\n <div {...{ on: listeners }} class={`${prefixCls}-item-meta`}>\n {avatar && <div class={`${prefixCls}-item-meta-avatar`}>{avatar}</div>}\n {(title || description) && content}\n </div>\n );\n },\n};\n\nfunction getGrid(grid, t) {\n return grid[t] && Math.floor(24 / grid[t]);\n}\n\nexport default {\n name: 'AListItem',\n Meta,\n props: ListItemProps,\n inject: {\n listContext: { default: () => ({}) },\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n isItemContainsTextNodeAndNotSingular() {\n const { $slots } = this;\n let result;\n const children = $slots.default || [];\n children.forEach(element => {\n if (isStringElement(element) && !isEmptyElement(element)) {\n result = true;\n }\n });\n return result && children.length > 1;\n },\n\n isFlexMode() {\n const extra = getComponentFromProp(this, 'extra');\n const { itemLayout } = this.listContext;\n if (itemLayout === 'vertical') {\n return !!extra;\n }\n return !this.isItemContainsTextNodeAndNotSingular();\n },\n },\n render() {\n const { grid, itemLayout } = this.listContext;\n const { prefixCls: customizePrefixCls, $slots } = this;\n const listeners = getListeners(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('list', customizePrefixCls);\n const extra = getComponentFromProp(this, 'extra');\n const actions = getComponentFromProp(this, 'actions');\n\n const actionsContent = actions && actions.length > 0 && (\n <ul class={`${prefixCls}-item-action`} key=\"actions\">\n {actions.map((action, i) => (\n <li key={`${prefixCls}-item-action-${i}`}>\n {action}\n {i !== actions.length - 1 && <em class={`${prefixCls}-item-action-split`} />}\n </li>\n ))}\n </ul>\n );\n\n const Tag = grid ? 'div' : 'li';\n const itemChildren = (\n <Tag\n {...{ on: listeners }}\n class={classNames(`${prefixCls}-item`, {\n [`${prefixCls}-item-no-flex`]: !this.isFlexMode(),\n })}\n >\n {itemLayout === 'vertical' && extra\n ? [\n <div class={`${prefixCls}-item-main`} key=\"content\">\n {$slots.default}\n {actionsContent}\n </div>,\n <div class={`${prefixCls}-item-extra`} key=\"extra\">\n {extra}\n </div>,\n ]\n : [$slots.default, actionsContent, cloneElement(extra, { key: 'extra' })]}\n </Tag>\n );\n\n const mainContent = grid ? (\n <Col\n span={getGrid(grid, 'column')}\n xs={getGrid(grid, 'xs')}\n sm={getGrid(grid, 'sm')}\n md={getGrid(grid, 'md')}\n lg={getGrid(grid, 'lg')}\n xl={getGrid(grid, 'xl')}\n xxl={getGrid(grid, 'xxl')}\n >\n {itemChildren}\n </Col>\n ) : (\n itemChildren\n );\n\n return mainContent;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nimport Spin from '../spin';\nimport Pagination, { PaginationConfig } from '../pagination';\nimport { Row } from '../grid';\n\nimport Item from './Item';\nimport {\n initDefaultProps,\n getComponentFromProp,\n filterEmpty,\n getListeners,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport Base from '../base';\n\nexport { ListItemProps, ListItemMetaProps } from './Item';\n\nexport const ColumnCount = ['', 1, 2, 3, 4, 6, 8, 12, 24];\n\nexport const ColumnType = ['gutter', 'column', 'xs', 'sm', 'md', 'lg', 'xl', 'xxl'];\n\nexport const ListGridType = {\n gutter: PropTypes.number,\n column: PropTypes.oneOf(ColumnCount),\n xs: PropTypes.oneOf(ColumnCount),\n sm: PropTypes.oneOf(ColumnCount),\n md: PropTypes.oneOf(ColumnCount),\n lg: PropTypes.oneOf(ColumnCount),\n xl: PropTypes.oneOf(ColumnCount),\n xxl: PropTypes.oneOf(ColumnCount),\n};\n\nexport const ListSize = ['small', 'default', 'large'];\n\nexport const ListProps = () => ({\n bordered: PropTypes.bool,\n dataSource: PropTypes.array,\n extra: PropTypes.any,\n grid: PropTypes.shape(ListGridType).loose,\n itemLayout: PropTypes.string,\n loading: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n loadMore: PropTypes.any,\n pagination: PropTypes.oneOfType([PropTypes.shape(PaginationConfig()).loose, PropTypes.bool]),\n prefixCls: PropTypes.string,\n rowKey: PropTypes.any,\n renderItem: PropTypes.any,\n size: PropTypes.oneOf(ListSize),\n split: PropTypes.bool,\n header: PropTypes.any,\n footer: PropTypes.any,\n locale: PropTypes.object,\n});\n\nconst List = {\n Item,\n name: 'AList',\n props: initDefaultProps(ListProps(), {\n dataSource: [],\n bordered: false,\n split: true,\n loading: false,\n pagination: false,\n }),\n provide() {\n return {\n listContext: this,\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n this.keys = [];\n this.defaultPaginationProps = {\n current: 1,\n pageSize: 10,\n onChange: (page, pageSize) => {\n const { pagination } = this;\n this.paginationCurrent = page;\n if (pagination && pagination.onChange) {\n pagination.onChange(page, pageSize);\n }\n },\n total: 0,\n };\n this.onPaginationChange = this.triggerPaginationEvent('onChange');\n this.onPaginationShowSizeChange = this.triggerPaginationEvent('onShowSizeChange');\n const { pagination } = this.$props;\n const paginationObj = pagination && typeof pagination === 'object' ? pagination : {};\n return {\n paginationCurrent: paginationObj.defaultCurrent || 1,\n paginationSize: paginationObj.defaultPageSize || 10,\n };\n },\n methods: {\n triggerPaginationEvent(eventName) {\n return (page, pageSize) => {\n const { pagination } = this.$props;\n this.paginationCurrent = page;\n this.paginationSize = pageSize;\n if (pagination && pagination[eventName]) {\n pagination[eventName](page, pageSize);\n }\n };\n },\n renderItem2(item, index) {\n const { $scopedSlots, rowKey } = this;\n const renderItem = this.renderItem || $scopedSlots.renderItem;\n if (!renderItem) return null;\n let key;\n if (typeof rowKey === 'function') {\n key = rowKey(item);\n } else if (typeof rowKey === 'string') {\n key = item[rowKey];\n } else {\n key = item.key;\n }\n\n if (!key) {\n key = `list-item-${index}`;\n }\n\n this.keys[index] = key;\n\n return renderItem(item, index);\n },\n\n isSomethingAfterLastItem() {\n const { pagination } = this;\n const loadMore = getComponentFromProp(this, 'loadMore');\n const footer = getComponentFromProp(this, 'footer');\n return !!(loadMore || pagination || footer);\n },\n\n renderEmpty(prefixCls, renderEmpty) {\n const { locale } = this;\n return (\n <div class={`${prefixCls}-empty-text`}>\n {(locale && locale.emptyText) || renderEmpty(h, 'List')}\n </div>\n );\n },\n },\n\n render() {\n const {\n prefixCls: customizePrefixCls,\n bordered,\n split,\n itemLayout,\n pagination,\n grid,\n dataSource = [],\n size,\n loading,\n $slots,\n paginationCurrent,\n paginationSize,\n } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('list', customizePrefixCls);\n\n const loadMore = getComponentFromProp(this, 'loadMore');\n const footer = getComponentFromProp(this, 'footer');\n const header = getComponentFromProp(this, 'header');\n const children = filterEmpty($slots.default || []);\n let loadingProp = loading;\n if (typeof loadingProp === 'boolean') {\n loadingProp = {\n spinning: loadingProp,\n };\n }\n const isLoading = loadingProp && loadingProp.spinning;\n\n // large => lg\n // small => sm\n let sizeCls = '';\n switch (size) {\n case 'large':\n sizeCls = 'lg';\n break;\n case 'small':\n sizeCls = 'sm';\n break;\n default:\n break;\n }\n const classString = classNames(prefixCls, {\n [`${prefixCls}-vertical`]: itemLayout === 'vertical',\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n [`${prefixCls}-split`]: split,\n [`${prefixCls}-bordered`]: bordered,\n [`${prefixCls}-loading`]: isLoading,\n [`${prefixCls}-grid`]: grid,\n [`${prefixCls}-something-after-last-item`]: this.isSomethingAfterLastItem(),\n });\n const paginationProps = {\n ...this.defaultPaginationProps,\n total: dataSource.length,\n current: paginationCurrent,\n pageSize: paginationSize,\n ...(pagination || {}),\n };\n const largestPage = Math.ceil(paginationProps.total / paginationProps.pageSize);\n if (paginationProps.current > largestPage) {\n paginationProps.current = largestPage;\n }\n const { class: cls, style, ...restProps } = paginationProps;\n const paginationContent = pagination ? (\n <div class={`${prefixCls}-pagination`}>\n <Pagination\n {...{\n props: omit(restProps, ['onChange']),\n class: cls,\n style,\n on: {\n change: this.onPaginationChange,\n showSizeChange: this.onPaginationShowSizeChange,\n },\n }}\n />\n </div>\n ) : null;\n\n let splitDataSource = [...dataSource];\n if (pagination) {\n if (dataSource.length > (paginationProps.current - 1) * paginationProps.pageSize) {\n splitDataSource = [...dataSource].splice(\n (paginationProps.current - 1) * paginationProps.pageSize,\n paginationProps.pageSize,\n );\n }\n }\n\n let childrenContent;\n childrenContent = isLoading && <div style={{ minHeight: 53 }} />;\n if (splitDataSource.length > 0) {\n const items = splitDataSource.map((item, index) => this.renderItem2(item, index));\n const childrenList = items.map((child, index) =>\n cloneElement(child, {\n key: this.keys[index],\n }),\n );\n\n childrenContent = grid ? (\n <Row gutter={grid.gutter}>{childrenList}</Row>\n ) : (\n <ul class={`${prefixCls}-items`}>{childrenList}</ul>\n );\n } else if (!children.length && !isLoading) {\n const renderEmpty = this.configProvider.renderEmpty;\n childrenContent = this.renderEmpty(prefixCls, renderEmpty);\n }\n const paginationPosition = paginationProps.position || 'bottom';\n\n return (\n <div class={classString} {...{ on: getListeners(this) }}>\n {(paginationPosition === 'top' || paginationPosition === 'both') && paginationContent}\n {header && <div class={`${prefixCls}-header`}>{header}</div>}\n <Spin {...{ props: loadingProp }}>\n {childrenContent}\n {children}\n </Spin>\n {footer && <div class={`${prefixCls}-footer`}>{footer}</div>}\n {loadMore ||\n ((paginationPosition === 'bottom' || paginationPosition === 'both') && paginationContent)}\n </div>\n );\n },\n};\n\n/* istanbul ignore next */\nList.install = function(Vue) {\n Vue.use(Base);\n Vue.component(List.name, List);\n Vue.component(List.Item.name, List.Item);\n Vue.component(List.Item.Meta.name, List.Item.Meta);\n};\n\nexport default List;\n","import defaultLocale from '../locale/default';\n\n// export interface ModalLocale {\n// okText: string;\n// cancelText: string;\n// justOkText: string;\n// }\n\nlet runtimeLocale = {\n ...defaultLocale.Modal,\n};\n\nexport function changeConfirmLocale(newLocale) {\n if (newLocale) {\n runtimeLocale = {\n ...runtimeLocale,\n ...newLocale,\n };\n } else {\n runtimeLocale = {\n ...defaultLocale.Modal,\n };\n }\n}\n\nexport function getConfirmLocale() {\n return runtimeLocale;\n}\n","import PropTypes from '../_util/vue-types';\nimport * as moment from 'moment';\nimport interopDefault from '../_util/interopDefault';\nimport { changeConfirmLocale } from '../modal/locale';\nimport Base from '../base';\nimport warning from '../_util/warning';\n// export interface Locale {\n// locale: string;\n// Pagination?: Object;\n// DatePicker?: Object;\n// TimePicker?: Object;\n// Calendar?: Object;\n// Table?: Object;\n// Modal?: ModalLocale;\n// Popconfirm?: Object;\n// Transfer?: Object;\n// Select?: Object;\n// Upload?: Object;\n// }\nexport const ANT_MARK = 'internalMark';\nfunction setMomentLocale(locale) {\n if (locale && locale.locale) {\n interopDefault(moment).locale(locale.locale);\n } else {\n interopDefault(moment).locale('en');\n }\n}\n\nconst LocaleProvider = {\n name: 'ALocaleProvider',\n props: {\n locale: PropTypes.object.def(() => ({})),\n _ANT_MARK__: PropTypes.string,\n },\n data() {\n warning(\n this._ANT_MARK__ === ANT_MARK,\n 'LocaleProvider',\n '`LocaleProvider` is deprecated. Please use `locale` with `ConfigProvider` instead',\n );\n return {\n antLocale: {\n ...this.locale,\n exist: true,\n },\n };\n },\n provide() {\n return {\n localeData: this.$data,\n };\n },\n watch: {\n locale(val) {\n this.antLocale = {\n ...this.locale,\n exist: true,\n };\n setMomentLocale(val);\n changeConfirmLocale(val && val.Modal);\n },\n },\n created() {\n const { locale } = this;\n setMomentLocale(locale);\n changeConfirmLocale(locale && locale.Modal);\n },\n beforeDestroy() {\n changeConfirmLocale();\n },\n render() {\n return this.$slots.default ? this.$slots.default[0] : null;\n },\n};\n\n/* istanbul ignore next */\nLocaleProvider.install = function(Vue) {\n Vue.use(Base);\n Vue.component(LocaleProvider.name, LocaleProvider);\n};\n\nexport default LocaleProvider;\n","import PropTypes from '../_util/vue-types';\nimport { getStyle, getComponentFromProp, getListeners } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\n\nfunction noop() {}\n\nexport default {\n mixins: [BaseMixin],\n props: {\n duration: PropTypes.number.def(1.5),\n closable: PropTypes.bool,\n prefixCls: PropTypes.string,\n update: PropTypes.bool,\n closeIcon: PropTypes.any,\n },\n watch: {\n duration() {\n this.restartCloseTimer();\n },\n },\n\n mounted() {\n this.startCloseTimer();\n },\n updated() {\n if (this.update) {\n this.restartCloseTimer();\n }\n },\n\n beforeDestroy() {\n this.clearCloseTimer();\n this.willDestroy = true; // beforeDestroy调用后依然会触发onMouseleave事件\n },\n methods: {\n close(e) {\n if (e) {\n e.stopPropagation();\n }\n this.clearCloseTimer();\n this.__emit('close');\n },\n\n startCloseTimer() {\n this.clearCloseTimer();\n if (!this.willDestroy && this.duration) {\n this.closeTimer = setTimeout(() => {\n this.close();\n }, this.duration * 1000);\n }\n },\n\n clearCloseTimer() {\n if (this.closeTimer) {\n clearTimeout(this.closeTimer);\n this.closeTimer = null;\n }\n },\n restartCloseTimer() {\n this.clearCloseTimer();\n this.startCloseTimer();\n },\n },\n\n render() {\n const { prefixCls, closable, clearCloseTimer, startCloseTimer, $slots, close } = this;\n const componentClass = `${prefixCls}-notice`;\n const className = {\n [`${componentClass}`]: 1,\n [`${componentClass}-closable`]: closable,\n };\n const style = getStyle(this);\n const closeIcon = getComponentFromProp(this, 'closeIcon');\n return (\n <div\n class={className}\n style={style || { right: '50%' }}\n onMouseenter={clearCloseTimer}\n onMouseleave={startCloseTimer}\n onClick={getListeners(this).click || noop}\n >\n <div class={`${componentClass}-content`}>{$slots.default}</div>\n {closable ? (\n <a tabIndex=\"0\" onClick={close} class={`${componentClass}-close`}>\n {closeIcon || <span class={`${componentClass}-close-x`} />}\n </a>\n ) : null}\n </div>\n );\n },\n};\n","import Vue from 'vue';\nimport PropTypes from '../_util/vue-types';\nimport { getStyle, getComponentFromProp } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport createChainedFunction from '../_util/createChainedFunction';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport Notice from './Notice';\nimport Base from '../base';\n\nfunction noop() {}\n\nlet seed = 0;\nconst now = Date.now();\n\nfunction getUuid() {\n return `rcNotification_${now}_${seed++}`;\n}\n\nconst Notification = {\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string.def('rc-notification'),\n transitionName: PropTypes.string,\n animation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).def('fade'),\n maxCount: PropTypes.number,\n closeIcon: PropTypes.any,\n },\n data() {\n return {\n notices: [],\n };\n },\n methods: {\n getTransitionName() {\n const props = this.$props;\n let transitionName = props.transitionName;\n if (!transitionName && props.animation) {\n transitionName = `${props.prefixCls}-${props.animation}`;\n }\n return transitionName;\n },\n\n add(notice) {\n const key = (notice.key = notice.key || getUuid());\n const { maxCount } = this.$props;\n this.setState(previousState => {\n const notices = previousState.notices;\n const noticeIndex = notices.map(v => v.key).indexOf(key);\n const updatedNotices = notices.concat();\n if (noticeIndex !== -1) {\n updatedNotices.splice(noticeIndex, 1, notice);\n } else {\n if (maxCount && notices.length >= maxCount) {\n // XXX, use key of first item to update new added (let React to move exsiting\n // instead of remove and mount). Same key was used before for both a) external\n // manual control and b) internal react 'key' prop , which is not that good.\n notice.updateKey = updatedNotices[0].updateKey || updatedNotices[0].key;\n updatedNotices.shift();\n }\n updatedNotices.push(notice);\n }\n return {\n notices: updatedNotices,\n };\n });\n },\n\n remove(key) {\n this.setState(previousState => {\n return {\n notices: previousState.notices.filter(notice => notice.key !== key),\n };\n });\n },\n },\n\n render(h) {\n const { prefixCls, notices, remove, getTransitionName } = this;\n const transitionProps = getTransitionProps(getTransitionName());\n const noticeNodes = notices.map((notice, index) => {\n const update = Boolean(index === notices.length - 1 && notice.updateKey);\n const key = notice.updateKey ? notice.updateKey : notice.key;\n\n const { content, duration, closable, onClose, style, class: className } = notice;\n const close = createChainedFunction(remove.bind(this, notice.key), onClose);\n const noticeProps = {\n props: {\n prefixCls,\n duration,\n closable,\n update,\n closeIcon: getComponentFromProp(this, 'closeIcon'),\n },\n on: {\n close,\n click: notice.onClick || noop,\n },\n style,\n class: className,\n key,\n };\n return (\n <Notice {...noticeProps}>{typeof content === 'function' ? content(h) : content}</Notice>\n );\n });\n const className = {\n [prefixCls]: 1,\n };\n const style = getStyle(this);\n return (\n <div\n class={className}\n style={\n style || {\n top: '65px',\n left: '50%',\n }\n }\n >\n <transition-group {...transitionProps}>{noticeNodes}</transition-group>\n </div>\n );\n },\n};\n\nNotification.newInstance = function newNotificationInstance(properties, callback) {\n const { getContainer, style, class: className, ...props } = properties || {};\n const div = document.createElement('div');\n if (getContainer) {\n const root = getContainer();\n root.appendChild(div);\n } else {\n document.body.appendChild(div);\n }\n const V = Base.Vue || Vue;\n new V({\n el: div,\n mounted() {\n const self = this;\n this.$nextTick(() => {\n callback({\n notice(noticeProps) {\n self.$refs.notification.add(noticeProps);\n },\n removeNotice(key) {\n self.$refs.notification.remove(key);\n },\n component: self,\n destroy() {\n self.$destroy();\n self.$el.parentNode.removeChild(self.$el);\n },\n });\n });\n },\n render() {\n const p = {\n props,\n ref: 'notification',\n style,\n class: className,\n };\n return <Notification {...p} />;\n },\n });\n};\n\nexport default Notification;\n","// based on rc-notification 3.3.1\nimport Notification from './Notification';\nexport default Notification;\n","import Notification from '../vc-notification';\nimport Icon from '../icon';\n\nlet defaultDuration = 3;\nlet defaultTop;\nlet messageInstance;\nlet key = 1;\nlet prefixCls = 'ant-message';\nlet transitionName = 'move-up';\nlet getContainer = () => document.body;\nlet maxCount;\n\nfunction getMessageInstance(callback) {\n if (messageInstance) {\n callback(messageInstance);\n return;\n }\n Notification.newInstance(\n {\n prefixCls,\n transitionName,\n style: { top: defaultTop }, // 覆盖原来的样式\n getContainer,\n maxCount,\n },\n instance => {\n if (messageInstance) {\n callback(messageInstance);\n return;\n }\n messageInstance = instance;\n callback(instance);\n },\n );\n}\n\n// type NoticeType = 'info' | 'success' | 'error' | 'warning' | 'loading';\n\nfunction notice(args) {\n const duration = args.duration !== undefined ? args.duration : defaultDuration;\n const iconType = {\n info: 'info-circle',\n success: 'check-circle',\n error: 'close-circle',\n warning: 'exclamation-circle',\n loading: 'loading',\n }[args.type];\n\n const target = args.key || key++;\n const closePromise = new Promise(resolve => {\n const callback = () => {\n if (typeof args.onClose === 'function') {\n args.onClose();\n }\n return resolve(true);\n };\n getMessageInstance(instance => {\n instance.notice({\n key: target,\n duration,\n style: {},\n content: h => {\n const iconNode = (\n <Icon type={iconType} theme={iconType === 'loading' ? 'outlined' : 'filled'} />\n );\n const switchIconNode = iconType ? iconNode : '';\n return (\n <div\n class={`${prefixCls}-custom-content${args.type ? ` ${prefixCls}-${args.type}` : ''}`}\n >\n {args.icon\n ? typeof args.icon === 'function'\n ? args.icon(h)\n : args.icon\n : switchIconNode}\n <span>{typeof args.content === 'function' ? args.content(h) : args.content}</span>\n </div>\n );\n },\n onClose: callback,\n });\n });\n });\n const result = () => {\n if (messageInstance) {\n messageInstance.removeNotice(target);\n }\n };\n result.then = (filled, rejected) => closePromise.then(filled, rejected);\n result.promise = closePromise;\n return result;\n}\n\n// type ConfigContent = React.ReactNode | string;\n// type ConfigDuration = number | (() => void);\n// export type ConfigOnClose = () => void;\n\nfunction isArgsProps(content) {\n return Object.prototype.toString.call(content) === '[object Object]' && !!content.content;\n}\n\n// export interface ConfigOptions {\n// top?: number;\n// duration?: number;\n// prefixCls?: string;\n// getContainer?: () => HTMLElement;\n// transitionName?: string;\n// }\n\nconst api = {\n open: notice,\n config(options) {\n if (options.top !== undefined) {\n defaultTop = options.top;\n messageInstance = null; // delete messageInstance for new defaultTop\n }\n if (options.duration !== undefined) {\n defaultDuration = options.duration;\n }\n if (options.prefixCls !== undefined) {\n prefixCls = options.prefixCls;\n }\n if (options.getContainer !== undefined) {\n getContainer = options.getContainer;\n }\n if (options.transitionName !== undefined) {\n transitionName = options.transitionName;\n messageInstance = null; // delete messageInstance for new transitionName\n }\n if (options.maxCount !== undefined) {\n maxCount = options.maxCount;\n messageInstance = null;\n }\n },\n destroy() {\n if (messageInstance) {\n messageInstance.destroy();\n messageInstance = null;\n }\n },\n};\n\n['success', 'info', 'warning', 'error', 'loading'].forEach(type => {\n api[type] = (content, duration, onClose) => {\n if (isArgsProps(content)) {\n return api.open({ ...content, type });\n }\n if (typeof duration === 'function') {\n onClose = duration;\n duration = undefined;\n }\n return api.open({ content, duration, type, onClose });\n };\n});\n\napi.warn = api.warning;\n\nexport default api;\n","/**\n * Cut input selection into 2 part and return text before selection start\n */\nexport function getBeforeSelectionText(input) {\n const { selectionStart } = input;\n return input.value.slice(0, selectionStart);\n}\n\nfunction lower(char) {\n return (char || '').toLowerCase();\n}\n\n/**\n * Find the last match prefix index\n */\nexport function getLastMeasureIndex(text, prefix = '') {\n const prefixList = Array.isArray(prefix) ? prefix : [prefix];\n return prefixList.reduce(\n (lastMatch, prefixStr) => {\n const lastIndex = text.lastIndexOf(prefixStr);\n if (lastIndex > lastMatch.location) {\n return {\n location: lastIndex,\n prefix: prefixStr,\n };\n }\n return lastMatch;\n },\n { location: -1, prefix: '' },\n );\n}\n\nfunction reduceText(text, targetText, split) {\n const firstChar = text[0];\n if (!firstChar || firstChar === split) {\n return text;\n }\n\n // Reuse rest text as it can\n let restText = text;\n const targetTextLen = targetText.length;\n for (let i = 0; i < targetTextLen; i += 1) {\n if (lower(restText[i]) !== lower(targetText[i])) {\n restText = restText.slice(i);\n break;\n } else if (i === targetTextLen - 1) {\n restText = restText.slice(targetTextLen);\n }\n }\n\n return restText;\n}\n\n/**\n * Paint targetText into current text:\n * text: little@litest\n * targetText: light\n * => little @light test\n */\nexport function replaceWithMeasure(text, measureConfig) {\n const { measureLocation, prefix, targetText, selectionStart, split } = measureConfig;\n\n // Before text will append one space if have other text\n let beforeMeasureText = text.slice(0, measureLocation);\n if (beforeMeasureText[beforeMeasureText.length - split.length] === split) {\n beforeMeasureText = beforeMeasureText.slice(0, beforeMeasureText.length - split.length);\n }\n if (beforeMeasureText) {\n beforeMeasureText = `${beforeMeasureText}${split}`;\n }\n\n // Cut duplicate string with current targetText\n let restText = reduceText(\n text.slice(selectionStart),\n targetText.slice(selectionStart - measureLocation - prefix.length),\n split,\n );\n if (restText.slice(0, split.length) === split) {\n restText = restText.slice(split.length);\n }\n\n const connectedStartText = `${beforeMeasureText}${prefix}${targetText}${split}`;\n\n return {\n text: `${connectedStartText}${restText}`,\n selectionLocation: connectedStartText.length,\n };\n}\n\nexport function setInputSelection(input, location) {\n input.setSelectionRange(location, location);\n\n /**\n * Reset caret into view.\n * Since this function always called by user control, it's safe to focus element.\n */\n input.blur();\n input.focus();\n}\n\nexport function validateSearch(text = '', props = {}) {\n const { split } = props;\n return !split || text.indexOf(split) === -1;\n}\n\nexport function filterOption(input = '', { value = '' } = {}) {\n const lowerCase = input.toLowerCase();\n return value.toLowerCase().indexOf(lowerCase) !== -1;\n}\n","import PropTypes from '../../_util/vue-types';\n\nexport const OptionProps = {\n value: PropTypes.string,\n disabled: PropTypes.boolean,\n children: PropTypes.any,\n};\n\nexport default {\n name: 'Option',\n props: OptionProps,\n render() {\n return null;\n },\n};\n","import Menu, { MenuItem } from '../../vc-menu';\nimport PropTypes from '../../_util/vue-types';\nimport { OptionProps } from './Option';\n\nfunction noop() {}\nexport default {\n name: 'DropdownMenu',\n props: {\n prefixCls: PropTypes.string,\n options: PropTypes.arrayOf(OptionProps),\n },\n inject: {\n mentionsContext: { default: {} },\n },\n\n render() {\n const {\n notFoundContent,\n activeIndex,\n setActiveIndex,\n selectOption,\n onFocus = noop,\n onBlur = noop,\n } = this.mentionsContext;\n const { prefixCls, options } = this.$props;\n const activeOption = options[activeIndex] || {};\n\n return (\n <Menu\n {...{\n props: {\n prefixCls: `${prefixCls}-menu`,\n activeKey: activeOption.value,\n },\n on: {\n select: ({ key }) => {\n const option = options.find(({ value }) => value === key);\n selectOption(option);\n },\n focus: onFocus,\n blur: onBlur,\n },\n }}\n >\n {options.map((option, index) => {\n const { value, disabled, children } = option;\n return (\n <MenuItem\n key={value}\n disabled={disabled}\n onMouseenter={() => {\n setActiveIndex(index);\n }}\n >\n {children}\n </MenuItem>\n );\n })}\n {!options.length && <MenuItem disabled>{notFoundContent}</MenuItem>}\n </Menu>\n );\n },\n};\n","export const PlaceMent = ['top', 'bottom'];\n","import PropTypes from '../../_util/vue-types';\nimport Trigger from '../../vc-trigger';\nimport DropdownMenu from './DropdownMenu';\nimport { OptionProps } from './Option';\nimport { PlaceMent } from './placement';\n\nconst BUILT_IN_PLACEMENTS = {\n bottomRight: {\n points: ['tl', 'br'],\n offset: [0, 4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n topRight: {\n points: ['bl', 'tr'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n};\n\nexport default {\n name: 'KeywordTrigger',\n props: {\n loading: PropTypes.bool,\n options: PropTypes.arrayOf(OptionProps),\n prefixCls: PropTypes.string,\n placement: PropTypes.oneOf(PlaceMent),\n visible: PropTypes.bool,\n transitionName: PropTypes.string,\n getPopupContainer: PropTypes.func,\n },\n methods: {\n getDropdownPrefix() {\n return `${this.$props.prefixCls}-dropdown`;\n },\n getDropdownElement() {\n const { options } = this.$props;\n return <DropdownMenu prefixCls={this.getDropdownPrefix()} options={options} />;\n },\n },\n\n render() {\n const { visible, placement, transitionName, getPopupContainer } = this.$props;\n\n const { $slots } = this;\n\n const children = $slots.default;\n\n const popupElement = this.getDropdownElement();\n\n return (\n <Trigger\n prefixCls={this.getDropdownPrefix()}\n popupVisible={visible}\n popup={popupElement}\n popupPlacement={placement === 'top' ? 'topRight' : 'bottomRight'}\n popupTransitionName={transitionName}\n builtinPlacements={BUILT_IN_PLACEMENTS}\n getPopupContainer={getPopupContainer}\n >\n {children}\n </Trigger>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport { initDefaultProps } from '../../_util/props-util';\nimport {\n filterOption as defaultFilterOption,\n validateSearch as defaultValidateSearch,\n} from './util';\nimport { PlaceMent } from './placement';\n\nexport const mentionsProps = {\n autoFocus: PropTypes.bool,\n prefix: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n prefixCls: PropTypes.string,\n value: PropTypes.string,\n defaultValue: PropTypes.string,\n disabled: PropTypes.bool,\n notFoundContent: PropTypes.any,\n split: PropTypes.string,\n transitionName: PropTypes.string,\n placement: PropTypes.oneOf(PlaceMent),\n character: PropTypes.any,\n characterRender: PropTypes.func,\n filterOption: PropTypes.func,\n validateSearch: PropTypes.func,\n getPopupContainer: PropTypes.func,\n};\n\nexport const vcMentionsProps = {\n ...mentionsProps,\n children: PropTypes.any,\n};\n\nexport const defaultProps = {\n prefix: '@',\n split: ' ',\n validateSearch: defaultValidateSearch,\n filterOption: defaultFilterOption,\n};\n\nexport default initDefaultProps(vcMentionsProps, defaultProps);\n","import omit from 'omit.js';\nimport KeyCode from '../../_util/KeyCode';\nimport BaseMixin from '../../_util/BaseMixin';\nimport {\n getSlots,\n hasProp,\n getOptionProps,\n getListeners,\n initDefaultProps,\n} from '../../_util/props-util';\nimport warning from 'warning';\nimport {\n getBeforeSelectionText,\n getLastMeasureIndex,\n replaceWithMeasure,\n setInputSelection,\n} from './util';\nimport KeywordTrigger from './KeywordTrigger';\nimport { vcMentionsProps, defaultProps } from './mentionsProps';\n\nfunction noop() {}\n\nconst Mentions = {\n name: 'Mentions',\n mixins: [BaseMixin],\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(vcMentionsProps, defaultProps),\n provide() {\n return {\n mentionsContext: this,\n };\n },\n data() {\n const { value = '', defaultValue = '' } = this.$props;\n warning(this.$props.children, 'please children prop replace slots.default');\n return {\n _value: !hasProp(this, 'value') ? defaultValue : value,\n measuring: false,\n measureLocation: 0,\n measureText: null,\n measurePrefix: '',\n activeIndex: 0,\n isFocus: false,\n };\n },\n watch: {\n value(val) {\n this.$data._value = val;\n },\n },\n updated() {\n this.$nextTick(() => {\n const { measuring } = this.$data;\n\n // Sync measure div top with textarea for rc-trigger usage\n if (measuring) {\n this.$refs.measure.scrollTop = this.$refs.textarea.scrollTop;\n }\n });\n },\n methods: {\n triggerChange(value) {\n const props = getOptionProps(this);\n if (!('value' in props)) {\n this.setState({ _value: value });\n } else {\n this.$forceUpdate();\n }\n this.$emit('change', value);\n },\n onChange({ target: { value, composing }, isComposing }) {\n if (isComposing || composing) return;\n this.triggerChange(value);\n },\n onKeyDown(event) {\n const { which } = event;\n const { activeIndex, measuring } = this.$data;\n // Skip if not measuring\n if (!measuring) {\n return;\n }\n\n if (which === KeyCode.UP || which === KeyCode.DOWN) {\n // Control arrow function\n const optionLen = this.getOptions().length;\n const offset = which === KeyCode.UP ? -1 : 1;\n const newActiveIndex = (activeIndex + offset + optionLen) % optionLen;\n this.setState({\n activeIndex: newActiveIndex,\n });\n event.preventDefault();\n } else if (which === KeyCode.ESC) {\n this.stopMeasure();\n } else if (which === KeyCode.ENTER) {\n // Measure hit\n event.preventDefault();\n const options = this.getOptions();\n if (!options.length) {\n this.stopMeasure();\n return;\n }\n const option = options[activeIndex];\n this.selectOption(option);\n }\n },\n /**\n * When to start measure:\n * 1. When user press `prefix`\n * 2. When measureText !== prevMeasureText\n * - If measure hit\n * - If measuring\n *\n * When to stop measure:\n * 1. Selection is out of range\n * 2. Contains `space`\n * 3. ESC or select one\n */\n onKeyUp(event) {\n const { key, which } = event;\n const { measureText: prevMeasureText, measuring } = this.$data;\n const { prefix = '', validateSearch } = this.$props;\n const target = event.target;\n const selectionStartText = getBeforeSelectionText(target);\n const { location: measureIndex, prefix: measurePrefix } = getLastMeasureIndex(\n selectionStartText,\n prefix,\n );\n\n // Skip if match the white key list\n if ([KeyCode.ESC, KeyCode.UP, KeyCode.DOWN, KeyCode.ENTER].indexOf(which) !== -1) {\n return;\n }\n\n if (measureIndex !== -1) {\n const measureText = selectionStartText.slice(measureIndex + measurePrefix.length);\n const validateMeasure = validateSearch(measureText, this.$props);\n const matchOption = !!this.getOptions(measureText).length;\n\n if (validateMeasure) {\n if (\n key === measurePrefix ||\n measuring ||\n (measureText !== prevMeasureText && matchOption)\n ) {\n this.startMeasure(measureText, measurePrefix, measureIndex);\n }\n } else if (measuring) {\n // Stop if measureText is invalidate\n this.stopMeasure();\n }\n\n /**\n * We will trigger `onSearch` to developer since they may use for async update.\n * If met `space` means user finished searching.\n */\n if (validateMeasure) {\n this.$emit('search', measureText, measurePrefix);\n }\n } else if (measuring) {\n this.stopMeasure();\n }\n },\n onInputFocus(event) {\n this.onFocus(event);\n },\n onInputBlur(event) {\n this.onBlur(event);\n },\n onDropdownFocus() {\n this.onFocus();\n },\n onDropdownBlur() {\n this.onBlur();\n },\n onFocus(event) {\n window.clearTimeout(this.focusId);\n const { isFocus } = this.$data;\n if (!isFocus && event) {\n this.$emit('focus', event);\n }\n this.setState({ isFocus: true });\n },\n onBlur(event) {\n this.focusId = window.setTimeout(() => {\n this.setState({ isFocus: false });\n this.stopMeasure();\n this.$emit('blur', event);\n }, 0);\n },\n selectOption(option) {\n const { _value: value, measureLocation, measurePrefix } = this.$data;\n const { split } = this.$props;\n const { value: mentionValue = '' } = option;\n const { text, selectionLocation } = replaceWithMeasure(value, {\n measureLocation,\n targetText: mentionValue,\n prefix: measurePrefix,\n selectionStart: this.$refs.textarea.selectionStart,\n split,\n });\n this.triggerChange(text);\n this.stopMeasure(() => {\n // We need restore the selection position\n setInputSelection(this.$refs.textarea, selectionLocation);\n });\n\n this.$emit('select', option, measurePrefix);\n },\n setActiveIndex(activeIndex) {\n this.setState({\n activeIndex,\n });\n },\n getOptions(measureText) {\n const targetMeasureText = measureText || this.$data.measureText || '';\n const { filterOption, children = [] } = this.$props;\n const list = (Array.isArray(children) ? children : [children])\n .map(item => {\n const children = getSlots(item).default;\n return { ...getOptionProps(item), children };\n })\n .filter(option => {\n /** Return all result if `filterOption` is false. */\n if (filterOption === false) {\n return true;\n }\n return filterOption(targetMeasureText, option);\n });\n return list;\n },\n startMeasure(measureText, measurePrefix, measureLocation) {\n this.setState({\n measuring: true,\n measureText,\n measurePrefix,\n measureLocation,\n activeIndex: 0,\n });\n },\n stopMeasure(callback) {\n this.setState(\n {\n measuring: false,\n measureLocation: 0,\n measureText: null,\n },\n callback,\n );\n },\n focus() {\n this.$refs.textarea.focus();\n },\n blur() {\n this.$refs.textarea.blur();\n },\n },\n\n render() {\n const { _value: value, measureLocation, measurePrefix, measuring } = this.$data;\n const {\n prefixCls,\n placement,\n transitionName,\n autoFocus,\n notFoundContent,\n getPopupContainer,\n ...restProps\n } = getOptionProps(this);\n\n const inputProps = omit(restProps, [\n 'value',\n 'defaultValue',\n 'prefix',\n 'split',\n 'children',\n 'validateSearch',\n 'filterOption',\n ]);\n\n const options = measuring ? this.getOptions() : [];\n\n return (\n <div class={prefixCls}>\n <textarea\n ref=\"textarea\"\n {...{\n directives: [{ name: 'ant-input' }],\n attrs: { ...inputProps, ...this.$attrs },\n domProps: {\n value,\n },\n on: {\n ...getListeners(this),\n select: noop,\n change: noop,\n input: this.onChange,\n keydown: this.onKeyDown,\n keyup: this.onKeyUp,\n blur: this.onInputBlur,\n },\n }}\n />\n {measuring && (\n <div ref=\"measure\" class={`${prefixCls}-measure`}>\n {value.slice(0, measureLocation)}\n <KeywordTrigger\n prefixCls={prefixCls}\n transitionName={transitionName}\n placement={placement}\n options={options}\n visible\n getPopupContainer={getPopupContainer}\n >\n <span>{measurePrefix}</span>\n </KeywordTrigger>\n {value.slice(measureLocation + measurePrefix.length)}\n </div>\n )}\n </div>\n );\n },\n};\n\nexport default Mentions;\n","import Mentions from './src/Mentions';\nimport Option from './src/Option';\n\nMentions.Option = Option;\n\nexport default Mentions;\n","import classNames from 'classnames';\nimport omit from 'omit.js';\nimport PropTypes from '../_util/vue-types';\nimport VcMentions from '../vc-mentions';\nimport { mentionsProps } from '../vc-mentions/src/mentionsProps';\nimport Base from '../base';\nimport Spin from '../spin';\nimport BaseMixin from '../_util/BaseMixin';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport {\n getOptionProps,\n getComponentFromProp,\n getListeners,\n filterEmpty,\n} from '../_util/props-util';\n\nconst { Option } = VcMentions;\n\nfunction loadingFilterOption() {\n return true;\n}\n\nfunction getMentions(value = '', config) {\n const { prefix = '@', split = ' ' } = config || {};\n const prefixList = Array.isArray(prefix) ? prefix : [prefix];\n\n return value\n .split(split)\n .map((str = '') => {\n let hitPrefix = null;\n\n prefixList.some(prefixStr => {\n const startStr = str.slice(0, prefixStr.length);\n if (startStr === prefixStr) {\n hitPrefix = prefixStr;\n return true;\n }\n return false;\n });\n\n if (hitPrefix !== null) {\n return {\n prefix: hitPrefix,\n value: str.slice(hitPrefix.length),\n };\n }\n return null;\n })\n .filter(entity => !!entity && !!entity.value);\n}\n\nconst Mentions = {\n name: 'AMentions',\n mixins: [BaseMixin],\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'change',\n },\n Option: { ...Option, name: 'AMentionsOption' },\n getMentions,\n props: {\n ...mentionsProps,\n loading: PropTypes.bool,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n focused: false,\n };\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus) {\n this.focus();\n }\n });\n },\n methods: {\n onFocus(...args) {\n this.$emit('focus', ...args);\n this.setState({\n focused: true,\n });\n },\n onBlur(...args) {\n this.$emit('blur', ...args);\n this.setState({\n focused: false,\n });\n },\n onSelect(...args) {\n this.$emit('select', ...args);\n this.setState({\n focused: true,\n });\n },\n onChange(val) {\n this.$emit('change', val);\n },\n getNotFoundContent(renderEmpty) {\n const h = this.$createElement;\n const notFoundContent = getComponentFromProp(this, 'notFoundContent');\n if (notFoundContent !== undefined) {\n return notFoundContent;\n }\n\n return renderEmpty(h, 'Select');\n },\n getOptions() {\n const { loading } = this.$props;\n const children = filterEmpty(this.$slots.default || []);\n\n if (loading) {\n return (\n <Option value=\"ANTD_SEARCHING\" disabled>\n <Spin size=\"small\" />\n </Option>\n );\n }\n return children;\n },\n getFilterOption() {\n const { filterOption, loading } = this.$props;\n if (loading) {\n return loadingFilterOption;\n }\n return filterOption;\n },\n focus() {\n this.$refs.vcMentions.focus();\n },\n blur() {\n this.$refs.vcMentions.blur();\n },\n },\n render() {\n const { focused } = this.$data;\n const { getPrefixCls, renderEmpty } = this.configProvider;\n const {\n prefixCls: customizePrefixCls,\n disabled,\n getPopupContainer,\n ...restProps\n } = getOptionProps(this);\n const prefixCls = getPrefixCls('mentions', customizePrefixCls);\n const otherProps = omit(restProps, ['loading']);\n\n const mergedClassName = classNames({\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-focused`]: focused,\n });\n\n const mentionsProps = {\n props: {\n prefixCls,\n notFoundContent: this.getNotFoundContent(renderEmpty),\n ...otherProps,\n disabled,\n filterOption: this.getFilterOption(),\n getPopupContainer,\n children: this.getOptions(),\n },\n class: mergedClassName,\n attrs: { rows: 1, ...this.$attrs },\n on: {\n ...getListeners(this),\n change: this.onChange,\n select: this.onSelect,\n focus: this.onFocus,\n blur: this.onBlur,\n },\n ref: 'vcMentions',\n };\n\n return <VcMentions {...mentionsProps} />;\n },\n};\n\n/* istanbul ignore next */\nMentions.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Mentions.name, Mentions);\n Vue.component(Mentions.Option.name, Mentions.Option);\n};\n\nexport default Mentions;\n","import PropTypes from '../_util/vue-types';\nimport { getListeners } from '../_util/props-util';\n\nconst ILazyRenderBoxPropTypes = {\n visible: PropTypes.bool,\n hiddenClassName: PropTypes.string,\n forceRender: PropTypes.bool,\n};\n\nexport default {\n props: ILazyRenderBoxPropTypes,\n render() {\n return <div {...{ on: getListeners(this) }}>{this.$slots.default}</div>;\n },\n};\n","let cached;\n\nexport default function getScrollBarSize(fresh) {\n if (fresh || cached === undefined) {\n const inner = document.createElement('div');\n inner.style.width = '100%';\n inner.style.height = '200px';\n\n const outer = document.createElement('div');\n const outerStyle = outer.style;\n\n outerStyle.position = 'absolute';\n outerStyle.top = 0;\n outerStyle.left = 0;\n outerStyle.pointerEvents = 'none';\n outerStyle.visibility = 'hidden';\n outerStyle.width = '200px';\n outerStyle.height = '150px';\n outerStyle.overflow = 'hidden';\n\n outer.appendChild(inner);\n\n document.body.appendChild(outer);\n\n const widthContained = inner.offsetWidth;\n outer.style.overflow = 'scroll';\n let widthScroll = inner.offsetWidth;\n\n if (widthContained === widthScroll) {\n widthScroll = outer.clientWidth;\n }\n\n document.body.removeChild(outer);\n\n cached = widthContained - widthScroll;\n }\n return cached;\n}\n","import getScrollBarSize from './getScrollBarSize';\n\nexport default close => {\n const bodyIsOverflowing =\n document.body.scrollHeight > (window.innerHeight || document.documentElement.clientHeight) &&\n window.innerWidth > document.body.offsetWidth;\n if (!bodyIsOverflowing) {\n return;\n }\n if (close) {\n document.body.style.position = '';\n document.body.style.width = '';\n return;\n }\n const scrollBarSize = getScrollBarSize();\n if (scrollBarSize) {\n document.body.style.position = 'relative';\n document.body.style.width = `calc(100% - ${scrollBarSize}px)`;\n }\n};\n","import PropTypes from '../_util/vue-types';\n\nfunction IDialogPropTypes() {\n return {\n keyboard: PropTypes.bool,\n mask: PropTypes.bool,\n afterClose: PropTypes.func,\n // onClose: PropTypes. (e: SyntheticEvent<HTMLDivElement>) =>any,\n closable: PropTypes.bool,\n maskClosable: PropTypes.bool,\n visible: PropTypes.bool,\n destroyOnClose: PropTypes.bool,\n mousePosition: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number,\n }).loose,\n title: PropTypes.any,\n footer: PropTypes.any,\n transitionName: PropTypes.string,\n maskTransitionName: PropTypes.string,\n animation: PropTypes.any,\n maskAnimation: PropTypes.any,\n wrapStyle: PropTypes.object,\n bodyStyle: PropTypes.object,\n maskStyle: PropTypes.object,\n prefixCls: PropTypes.string,\n wrapClassName: PropTypes.string,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n zIndex: PropTypes.number,\n bodyProps: PropTypes.any,\n maskProps: PropTypes.any,\n wrapProps: PropTypes.any,\n getContainer: PropTypes.any,\n dialogStyle: PropTypes.object.def(() => ({})),\n dialogClass: PropTypes.string.def(''),\n closeIcon: PropTypes.any,\n forceRender: PropTypes.bool,\n getOpenCount: PropTypes.func,\n // https://github.com/ant-design/ant-design/issues/19771\n // https://github.com/react-component/dialog/issues/95\n focusTriggerAfterClose: PropTypes.bool,\n };\n}\n\nexport default IDialogPropTypes;\n","import { getComponentFromProp, initDefaultProps } from '../_util/props-util';\nimport KeyCode from '../_util/KeyCode';\nimport contains from '../vc-util/Dom/contains';\nimport LazyRenderBox from './LazyRenderBox';\nimport BaseMixin from '../_util/BaseMixin';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport switchScrollingEffect from '../_util/switchScrollingEffect';\nimport getDialogPropTypes from './IDialogPropTypes';\nconst IDialogPropTypes = getDialogPropTypes();\n\nlet uuid = 0;\n\nfunction noop() {}\nfunction getScroll(w, top) {\n let ret = w[`page${top ? 'Y' : 'X'}Offset`];\n const method = `scroll${top ? 'Top' : 'Left'}`;\n if (typeof ret !== 'number') {\n const d = w.document;\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction setTransformOrigin(node, value) {\n const style = node.style;\n ['Webkit', 'Moz', 'Ms', 'ms'].forEach(prefix => {\n style[`${prefix}TransformOrigin`] = value;\n });\n style[`transformOrigin`] = value;\n}\n\nfunction offset(el) {\n const rect = el.getBoundingClientRect();\n const pos = {\n left: rect.left,\n top: rect.top,\n };\n const doc = el.ownerDocument;\n const w = doc.defaultView || doc.parentWindow;\n pos.left += getScroll(w);\n pos.top += getScroll(w, true);\n return pos;\n}\n\nlet cacheOverflow = {};\n\nexport default {\n mixins: [BaseMixin],\n props: initDefaultProps(IDialogPropTypes, {\n mask: true,\n visible: false,\n keyboard: true,\n closable: true,\n maskClosable: true,\n destroyOnClose: false,\n prefixCls: 'rc-dialog',\n getOpenCount: () => null,\n focusTriggerAfterClose: true,\n }),\n data() {\n return {\n destroyPopup: false,\n };\n },\n\n provide() {\n return {\n dialogContext: this,\n };\n },\n\n watch: {\n visible(val) {\n if (val) {\n this.destroyPopup = false;\n }\n this.$nextTick(() => {\n this.updatedCallback(!val);\n });\n },\n },\n\n beforeMount() {\n this.inTransition = false;\n this.titleId = `rcDialogTitle${uuid++}`;\n },\n mounted() {\n this.$nextTick(() => {\n this.updatedCallback(false);\n // if forceRender is true, set element style display to be none;\n if ((this.forceRender || (this.getContainer === false && !this.visible)) && this.$refs.wrap) {\n this.$refs.wrap.style.display = 'none';\n }\n });\n },\n beforeDestroy() {\n const { visible, getOpenCount } = this;\n if ((visible || this.inTransition) && !getOpenCount()) {\n this.switchScrollingEffect();\n }\n clearTimeout(this.timeoutId);\n },\n methods: {\n // 对外暴露的 api 不要更改名称或删除\n getDialogWrap() {\n return this.$refs.wrap;\n },\n updatedCallback(visible) {\n const mousePosition = this.mousePosition;\n const { mask, focusTriggerAfterClose } = this;\n if (this.visible) {\n // first show\n if (!visible) {\n this.openTime = Date.now();\n // this.lastOutSideFocusNode = document.activeElement\n this.switchScrollingEffect();\n // this.$refs.wrap.focus()\n this.tryFocus();\n const dialogNode = this.$refs.dialog.$el;\n if (mousePosition) {\n const elOffset = offset(dialogNode);\n setTransformOrigin(\n dialogNode,\n `${mousePosition.x - elOffset.left}px ${mousePosition.y - elOffset.top}px`,\n );\n } else {\n setTransformOrigin(dialogNode, '');\n }\n }\n } else if (visible) {\n this.inTransition = true;\n if (mask && this.lastOutSideFocusNode && focusTriggerAfterClose) {\n try {\n this.lastOutSideFocusNode.focus();\n } catch (e) {\n this.lastOutSideFocusNode = null;\n }\n this.lastOutSideFocusNode = null;\n }\n }\n },\n tryFocus() {\n if (!contains(this.$refs.wrap, document.activeElement)) {\n this.lastOutSideFocusNode = document.activeElement;\n this.$refs.sentinelStart.focus();\n }\n },\n onAnimateLeave() {\n const { afterClose, destroyOnClose } = this;\n // need demo?\n // https://github.com/react-component/dialog/pull/28\n if (this.$refs.wrap) {\n this.$refs.wrap.style.display = 'none';\n }\n if (destroyOnClose) {\n this.destroyPopup = true;\n }\n this.inTransition = false;\n this.switchScrollingEffect();\n if (afterClose) {\n afterClose();\n }\n },\n onDialogMouseDown() {\n this.dialogMouseDown = true;\n },\n\n onMaskMouseUp() {\n if (this.dialogMouseDown) {\n this.timeoutId = setTimeout(() => {\n this.dialogMouseDown = false;\n }, 0);\n }\n },\n onMaskClick(e) {\n // android trigger click on open (fastclick??)\n if (Date.now() - this.openTime < 300) {\n return;\n }\n if (e.target === e.currentTarget && !this.dialogMouseDown) {\n this.close(e);\n }\n },\n onKeydown(e) {\n const props = this.$props;\n if (props.keyboard && e.keyCode === KeyCode.ESC) {\n e.stopPropagation();\n this.close(e);\n return;\n }\n // keep focus inside dialog\n if (props.visible) {\n if (e.keyCode === KeyCode.TAB) {\n const activeElement = document.activeElement;\n const sentinelStart = this.$refs.sentinelStart;\n if (e.shiftKey) {\n if (activeElement === sentinelStart) {\n this.$refs.sentinelEnd.focus();\n }\n } else if (activeElement === this.$refs.sentinelEnd) {\n sentinelStart.focus();\n }\n }\n }\n },\n getDialogElement() {\n const {\n closable,\n prefixCls,\n width,\n height,\n title,\n footer: tempFooter,\n bodyStyle,\n visible,\n bodyProps,\n forceRender,\n dialogStyle,\n dialogClass,\n } = this;\n const dest = { ...dialogStyle };\n if (width !== undefined) {\n dest.width = typeof width === 'number' ? `${width}px` : width;\n }\n if (height !== undefined) {\n dest.height = typeof height === 'number' ? `${height}px` : height;\n }\n\n let footer;\n if (tempFooter) {\n footer = (\n <div key=\"footer\" class={`${prefixCls}-footer`} ref=\"footer\">\n {tempFooter}\n </div>\n );\n }\n\n let header;\n if (title) {\n header = (\n <div key=\"header\" class={`${prefixCls}-header`} ref=\"header\">\n <div class={`${prefixCls}-title`} id={this.titleId}>\n {title}\n </div>\n </div>\n );\n }\n\n let closer;\n if (closable) {\n const closeIcon = getComponentFromProp(this, 'closeIcon');\n closer = (\n <button\n type=\"button\"\n key=\"close\"\n onClick={this.close || noop}\n aria-label=\"Close\"\n class={`${prefixCls}-close`}\n >\n {closeIcon || <span class={`${prefixCls}-close-x`} />}\n </button>\n );\n }\n\n const style = dest;\n const sentinelStyle = { width: 0, height: 0, overflow: 'hidden' };\n const cls = {\n [prefixCls]: true,\n };\n const transitionName = this.getTransitionName();\n const dialogElement = (\n <LazyRenderBox\n v-show={visible}\n key=\"dialog-element\"\n role=\"document\"\n ref=\"dialog\"\n style={style}\n class={[cls, dialogClass]}\n forceRender={forceRender}\n onMousedown={this.onDialogMouseDown}\n >\n <div tabIndex={0} ref=\"sentinelStart\" style={sentinelStyle} aria-hidden=\"true\" />\n <div class={`${prefixCls}-content`}>\n {closer}\n {header}\n <div key=\"body\" class={`${prefixCls}-body`} style={bodyStyle} ref=\"body\" {...bodyProps}>\n {this.$slots.default}\n </div>\n {footer}\n </div>\n <div tabIndex={0} ref=\"sentinelEnd\" style={sentinelStyle} aria-hidden=\"true\" />\n </LazyRenderBox>\n );\n const dialogTransitionProps = getTransitionProps(transitionName, {\n afterLeave: this.onAnimateLeave,\n });\n return (\n <transition key=\"dialog\" {...dialogTransitionProps}>\n {visible || !this.destroyPopup ? dialogElement : null}\n </transition>\n );\n },\n getZIndexStyle() {\n const style = {};\n const props = this.$props;\n if (props.zIndex !== undefined) {\n style.zIndex = props.zIndex;\n }\n return style;\n },\n getWrapStyle() {\n return { ...this.getZIndexStyle(), ...this.wrapStyle };\n },\n getMaskStyle() {\n return { ...this.getZIndexStyle(), ...this.maskStyle };\n },\n getMaskElement() {\n const props = this.$props;\n let maskElement;\n if (props.mask) {\n const maskTransition = this.getMaskTransitionName();\n maskElement = (\n <LazyRenderBox\n v-show={props.visible}\n style={this.getMaskStyle()}\n key=\"mask\"\n class={`${props.prefixCls}-mask`}\n {...props.maskProps}\n />\n );\n if (maskTransition) {\n const maskTransitionProps = getTransitionProps(maskTransition);\n maskElement = (\n <transition key=\"mask\" {...maskTransitionProps}>\n {maskElement}\n </transition>\n );\n }\n }\n return maskElement;\n },\n getMaskTransitionName() {\n const props = this.$props;\n let transitionName = props.maskTransitionName;\n const animation = props.maskAnimation;\n if (!transitionName && animation) {\n transitionName = `${props.prefixCls}-${animation}`;\n }\n return transitionName;\n },\n getTransitionName() {\n const props = this.$props;\n let transitionName = props.transitionName;\n const animation = props.animation;\n if (!transitionName && animation) {\n transitionName = `${props.prefixCls}-${animation}`;\n }\n return transitionName;\n },\n // setScrollbar() {\n // if (this.bodyIsOverflowing && this.scrollbarWidth !== undefined) {\n // document.body.style.paddingRight = `${this.scrollbarWidth}px`;\n // }\n // },\n switchScrollingEffect() {\n const { getOpenCount } = this;\n const openCount = getOpenCount();\n if (openCount === 1) {\n if (cacheOverflow.hasOwnProperty('overflowX')) {\n return;\n }\n cacheOverflow = {\n overflowX: document.body.style.overflowX,\n overflowY: document.body.style.overflowY,\n overflow: document.body.style.overflow,\n };\n switchScrollingEffect();\n // Must be set after switchScrollingEffect\n document.body.style.overflow = 'hidden';\n } else if (!openCount) {\n // IE browser doesn't merge overflow style, need to set it separately\n // https://github.com/ant-design/ant-design/issues/19393\n if (cacheOverflow.overflow !== undefined) {\n document.body.style.overflow = cacheOverflow.overflow;\n }\n if (cacheOverflow.overflowX !== undefined) {\n document.body.style.overflowX = cacheOverflow.overflowX;\n }\n if (cacheOverflow.overflowY !== undefined) {\n document.body.style.overflowY = cacheOverflow.overflowY;\n }\n cacheOverflow = {};\n switchScrollingEffect(true);\n }\n },\n // removeScrollingEffect() {\n // const { getOpenCount } = this;\n // const openCount = getOpenCount();\n // if (openCount !== 0) {\n // return;\n // }\n // document.body.style.overflow = '';\n // switchScrollingEffect(true);\n // // this.resetAdjustments();\n // },\n close(e) {\n this.__emit('close', e);\n },\n },\n render() {\n const { prefixCls, maskClosable, visible, wrapClassName, title, wrapProps } = this;\n const style = this.getWrapStyle();\n // clear hide display\n // and only set display after async anim, not here for hide\n if (visible) {\n style.display = null;\n }\n return (\n <div class={`${prefixCls}-root`}>\n {this.getMaskElement()}\n <div\n tabIndex={-1}\n onKeydown={this.onKeydown}\n class={`${prefixCls}-wrap ${wrapClassName || ''}`}\n ref=\"wrap\"\n onClick={maskClosable ? this.onMaskClick : noop}\n onMouseup={maskClosable ? this.onMaskMouseUp : noop}\n role=\"dialog\"\n aria-labelledby={title ? this.titleId : null}\n style={style}\n {...wrapProps}\n >\n {this.getDialogElement()}\n </div>\n </div>\n );\n },\n};\n","/**\n * Easy to set element style, return previous style\n * IE browser compatible(IE browser doesn't merge overflow style, need to set it separately)\n * https://github.com/ant-design/ant-design/issues/19393\n *\n */\nfunction setStyle(style, options = {}) {\n const { element = document.body } = options;\n const oldStyle = {};\n\n const styleKeys = Object.keys(style);\n\n // IE browser compatible\n styleKeys.forEach(key => {\n oldStyle[key] = element.style[key];\n });\n\n styleKeys.forEach(key => {\n element.style[key] = style[key];\n });\n\n return oldStyle;\n}\n\nexport default setStyle;\n","import PropTypes from './vue-types';\nimport { cloneElement } from './vnode';\n\nexport default {\n name: 'Portal',\n props: {\n getContainer: PropTypes.func.isRequired,\n children: PropTypes.any.isRequired,\n didUpdate: PropTypes.func,\n },\n mounted() {\n this.createContainer();\n },\n updated() {\n const { didUpdate } = this.$props;\n if (didUpdate) {\n this.$nextTick(() => {\n didUpdate(this.$props);\n });\n }\n },\n\n beforeDestroy() {\n this.removeContainer();\n },\n methods: {\n createContainer() {\n this._container = this.$props.getContainer();\n this.$forceUpdate();\n },\n removeContainer() {\n if (this._container && this._container.parentNode) {\n this._container.parentNode.removeChild(this._container);\n }\n },\n },\n\n render() {\n if (this._container) {\n return cloneElement(this.$props.children, {\n directives: [\n {\n name: 'ant-portal',\n value: this._container,\n },\n ],\n });\n }\n return null;\n },\n};\n","import PropTypes from './vue-types';\nimport switchScrollingEffect from './switchScrollingEffect';\nimport setStyle from './setStyle';\nimport Portal from './Portal';\n\nlet openCount = 0;\nconst windowIsUndefined = !(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n// https://github.com/ant-design/ant-design/issues/19340\n// https://github.com/ant-design/ant-design/issues/19332\nlet cacheOverflow = {};\n\nexport default {\n name: 'PortalWrapper',\n props: {\n wrapperClassName: PropTypes.string,\n forceRender: PropTypes.bool,\n getContainer: PropTypes.any,\n children: PropTypes.func,\n visible: PropTypes.bool,\n },\n data() {\n const { visible } = this.$props;\n openCount = visible ? openCount + 1 : openCount;\n return {};\n },\n updated() {\n this.setWrapperClassName();\n },\n watch: {\n visible(val) {\n openCount = val ? openCount + 1 : openCount - 1;\n },\n getContainer(getContainer, prevGetContainer) {\n const getContainerIsFunc =\n typeof getContainer === 'function' && typeof prevGetContainer === 'function';\n if (\n getContainerIsFunc\n ? getContainer.toString() !== prevGetContainer.toString()\n : getContainer !== prevGetContainer\n ) {\n this.removeCurrentContainer(false);\n }\n },\n },\n beforeDestroy() {\n const { visible } = this.$props;\n // 离开时不会 render, 导到离开时数值不变,改用 func 。。\n openCount = visible && openCount ? openCount - 1 : openCount;\n this.removeCurrentContainer(visible);\n },\n methods: {\n getParent() {\n const { getContainer } = this.$props;\n if (getContainer) {\n if (typeof getContainer === 'string') {\n return document.querySelectorAll(getContainer)[0];\n }\n if (typeof getContainer === 'function') {\n return getContainer();\n }\n if (typeof getContainer === 'object' && getContainer instanceof window.HTMLElement) {\n return getContainer;\n }\n }\n return document.body;\n },\n\n getDomContainer() {\n if (windowIsUndefined) {\n return null;\n }\n if (!this.container) {\n this.container = document.createElement('div');\n const parent = this.getParent();\n if (parent) {\n parent.appendChild(this.container);\n }\n }\n this.setWrapperClassName();\n return this.container;\n },\n\n setWrapperClassName() {\n const { wrapperClassName } = this.$props;\n if (this.container && wrapperClassName && wrapperClassName !== this.container.className) {\n this.container.className = wrapperClassName;\n }\n },\n\n savePortal(c) {\n // Warning: don't rename _component\n // https://github.com/react-component/util/pull/65#discussion_r352407916\n this._component = c;\n },\n\n removeCurrentContainer() {\n this.container = null;\n this._component = null;\n },\n\n /**\n * Enhance ./switchScrollingEffect\n * 1. Simulate document body scroll bar with\n * 2. Record body has overflow style and recover when all of PortalWrapper invisible\n * 3. Disable body scroll when PortalWrapper has open\n *\n * @memberof PortalWrapper\n */\n switchScrollingEffect() {\n if (openCount === 1 && !Object.keys(cacheOverflow).length) {\n switchScrollingEffect();\n // Must be set after switchScrollingEffect\n cacheOverflow = setStyle({\n overflow: 'hidden',\n overflowX: 'hidden',\n overflowY: 'hidden',\n });\n } else if (!openCount) {\n setStyle(cacheOverflow);\n cacheOverflow = {};\n switchScrollingEffect(true);\n }\n },\n },\n\n render() {\n const { children, forceRender, visible } = this.$props;\n let portal = null;\n const childProps = {\n getOpenCount: () => openCount,\n getContainer: this.getDomContainer,\n switchScrollingEffect: this.switchScrollingEffect,\n };\n if (forceRender || visible || this._component) {\n portal = (\n <Portal\n getContainer={this.getDomContainer}\n children={children(childProps)}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.savePortal,\n },\n ],\n }}\n ></Portal>\n );\n }\n return portal;\n },\n};\n","import Dialog from './Dialog';\nimport getDialogPropTypes from './IDialogPropTypes';\nimport { getListeners } from '../_util/props-util';\nimport Portal from '../_util/PortalWrapper';\nconst IDialogPropTypes = getDialogPropTypes();\nconst DialogWrap = {\n inheritAttrs: false,\n props: {\n ...IDialogPropTypes,\n visible: IDialogPropTypes.visible.def(false),\n },\n\n render() {\n const { visible, getContainer, forceRender } = this.$props;\n const dialogProps = {\n props: this.$props,\n attrs: this.$attrs,\n ref: '_component',\n key: 'dialog',\n on: getListeners(this),\n };\n // 渲染在当前 dom 里;\n if (getContainer === false) {\n return (\n <Dialog\n {...dialogProps}\n getOpenCount={() => 2} // 不对 body 做任何操作。。\n >\n {this.$slots.default}\n </Dialog>\n );\n }\n return (\n <Portal\n visible={visible}\n forceRender={forceRender}\n getContainer={getContainer}\n children={childProps => {\n dialogProps.props = { ...dialogProps.props, ...childProps };\n return <Dialog {...dialogProps}>{this.$slots.default}</Dialog>;\n }}\n />\n );\n },\n};\n\nexport default DialogWrap;\n","// based on vc-dialog 7.5.14\nimport DialogWrap from './DialogWrap';\nexport default DialogWrap;\n","import classNames from 'classnames';\nimport Dialog from '../vc-dialog';\nimport PropTypes from '../_util/vue-types';\nimport addEventListener from '../vc-util/Dom/addEventListener';\nimport { getConfirmLocale } from './locale';\nimport Icon from '../icon';\nimport Button from '../button';\nimport buttonTypes from '../button/buttonTypes';\nconst ButtonType = buttonTypes().type;\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport {\n initDefaultProps,\n getComponentFromProp,\n getClass,\n getStyle,\n mergeProps,\n getListeners,\n} from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nlet mousePosition = null;\n// ref: https://github.com/ant-design/ant-design/issues/15795\nconst getClickPosition = e => {\n mousePosition = {\n x: e.pageX,\n y: e.pageY,\n };\n // 100ms 内发生过点击事件,则从点击位置动画展示\n // 否则直接 zoom 展示\n // 这样可以兼容非点击方式展开\n setTimeout(() => (mousePosition = null), 100);\n};\n\n// 只有点击事件支持从鼠标位置动画展开\nif (typeof window !== 'undefined' && window.document && window.document.documentElement) {\n addEventListener(document.documentElement, 'click', getClickPosition, true);\n}\n\nfunction noop() {}\nconst modalProps = (defaultProps = {}) => {\n const props = {\n prefixCls: PropTypes.string,\n /** 对话框是否可见*/\n visible: PropTypes.bool,\n /** 确定按钮 loading*/\n confirmLoading: PropTypes.bool,\n /** 标题*/\n title: PropTypes.any,\n /** 是否显示右上角的关闭按钮*/\n closable: PropTypes.bool,\n closeIcon: PropTypes.any,\n /** 点击确定回调*/\n // onOk: (e: React.MouseEvent<any>) => void,\n /** 点击模态框右上角叉、取消按钮、Props.maskClosable 值为 true 时的遮罩层或键盘按下 Esc 时的回调*/\n // onCancel: (e: React.MouseEvent<any>) => void,\n afterClose: PropTypes.func.def(noop),\n /** 垂直居中 */\n centered: PropTypes.bool,\n /** 宽度*/\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n /** 底部内容*/\n footer: PropTypes.any,\n /** 确认按钮文字*/\n okText: PropTypes.any,\n /** 确认按钮类型*/\n okType: ButtonType,\n /** 取消按钮文字*/\n cancelText: PropTypes.any,\n icon: PropTypes.any,\n /** 点击蒙层是否允许关闭*/\n maskClosable: PropTypes.bool,\n /** 强制渲染 Modal*/\n forceRender: PropTypes.bool,\n okButtonProps: PropTypes.object,\n cancelButtonProps: PropTypes.object,\n destroyOnClose: PropTypes.bool,\n wrapClassName: PropTypes.string,\n maskTransitionName: PropTypes.string,\n transitionName: PropTypes.string,\n getContainer: PropTypes.func,\n zIndex: PropTypes.number,\n bodyStyle: PropTypes.object,\n maskStyle: PropTypes.object,\n mask: PropTypes.bool,\n keyboard: PropTypes.bool,\n wrapProps: PropTypes.object,\n focusTriggerAfterClose: PropTypes.bool,\n dialogStyle: PropTypes.object.def(() => ({})),\n };\n return initDefaultProps(props, defaultProps);\n};\n\nexport const destroyFns = [];\n\nexport default {\n name: 'AModal',\n inheritAttrs: false,\n model: {\n prop: 'visible',\n event: 'change',\n },\n props: modalProps({\n width: 520,\n transitionName: 'zoom',\n maskTransitionName: 'fade',\n confirmLoading: false,\n visible: false,\n okType: 'primary',\n }),\n data() {\n return {\n sVisible: !!this.visible,\n };\n },\n watch: {\n visible(val) {\n this.sVisible = val;\n },\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n // static info: ModalFunc;\n // static success: ModalFunc;\n // static error: ModalFunc;\n // static warn: ModalFunc;\n // static warning: ModalFunc;\n // static confirm: ModalFunc;\n methods: {\n handleCancel(e) {\n this.$emit('cancel', e);\n this.$emit('change', false);\n },\n\n handleOk(e) {\n this.$emit('ok', e);\n },\n renderFooter(locale) {\n const { okType, confirmLoading } = this;\n const cancelBtnProps = mergeProps(\n { on: { click: this.handleCancel } },\n this.cancelButtonProps || {},\n );\n const okBtnProps = mergeProps(\n {\n on: { click: this.handleOk },\n props: {\n type: okType,\n loading: confirmLoading,\n },\n },\n this.okButtonProps || {},\n );\n return (\n <div>\n <Button {...cancelBtnProps}>\n {getComponentFromProp(this, 'cancelText') || locale.cancelText}\n </Button>\n <Button {...okBtnProps}>{getComponentFromProp(this, 'okText') || locale.okText}</Button>\n </div>\n );\n },\n },\n\n render() {\n const {\n prefixCls: customizePrefixCls,\n sVisible: visible,\n wrapClassName,\n centered,\n getContainer,\n $slots,\n $scopedSlots,\n $attrs,\n } = this;\n const children = $scopedSlots.default ? $scopedSlots.default() : $slots.default;\n const { getPrefixCls, getPopupContainer: getContextPopupContainer } = this.configProvider;\n const prefixCls = getPrefixCls('modal', customizePrefixCls);\n\n const defaultFooter = (\n <LocaleReceiver\n componentName=\"Modal\"\n defaultLocale={getConfirmLocale()}\n scopedSlots={{ default: this.renderFooter }}\n />\n );\n const closeIcon = getComponentFromProp(this, 'closeIcon');\n const closeIconToRender = (\n <span class={`${prefixCls}-close-x`}>\n {closeIcon || <Icon class={`${prefixCls}-close-icon`} type={'close'} />}\n </span>\n );\n const footer = getComponentFromProp(this, 'footer');\n const title = getComponentFromProp(this, 'title');\n const dialogProps = {\n props: {\n ...this.$props,\n getContainer: getContainer === undefined ? getContextPopupContainer : getContainer,\n prefixCls,\n wrapClassName: classNames({ [`${prefixCls}-centered`]: !!centered }, wrapClassName),\n title,\n footer: footer === undefined ? defaultFooter : footer,\n visible,\n mousePosition,\n closeIcon: closeIconToRender,\n },\n on: {\n ...getListeners(this),\n close: this.handleCancel,\n },\n class: getClass(this),\n style: getStyle(this),\n attrs: $attrs,\n };\n return <Dialog {...dialogProps}>{children}</Dialog>;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport Button from '../button';\nimport BaseMixin from '../_util/BaseMixin';\nimport buttonTypes from '../button/buttonTypes';\nconst ButtonType = buttonTypes().type;\nconst ActionButtonProps = {\n type: ButtonType,\n actionFn: PropTypes.func,\n closeModal: PropTypes.func,\n autoFocus: PropTypes.bool,\n buttonProps: PropTypes.object,\n};\n\nexport default {\n mixins: [BaseMixin],\n props: ActionButtonProps,\n data() {\n return {\n loading: false,\n };\n },\n mounted() {\n if (this.autoFocus) {\n this.timeoutId = setTimeout(() => this.$el.focus());\n }\n },\n beforeDestroy() {\n clearTimeout(this.timeoutId);\n },\n methods: {\n onClick() {\n const { actionFn, closeModal } = this;\n if (actionFn) {\n let ret;\n if (actionFn.length) {\n ret = actionFn(closeModal);\n } else {\n ret = actionFn();\n if (!ret) {\n closeModal();\n }\n }\n if (ret && ret.then) {\n this.setState({ loading: true });\n ret.then(\n (...args) => {\n // It's unnecessary to set loading=false, for the Modal will be unmounted after close.\n // this.setState({ loading: false });\n closeModal(...args);\n },\n e => {\n // Emit error when catch promise reject\n // eslint-disable-next-line no-console\n console.error(e);\n // See: https://github.com/ant-design/ant-design/issues/6183\n this.setState({ loading: false });\n },\n );\n }\n } else {\n closeModal();\n }\n },\n },\n\n render() {\n const { type, $slots, loading, buttonProps } = this;\n return (\n <Button type={type} onClick={this.onClick} loading={loading} {...buttonProps}>\n {$slots.default}\n </Button>\n );\n },\n};\n","import classNames from 'classnames';\nimport Icon from '../icon';\nimport Dialog from './Modal';\nimport ActionButton from './ActionButton';\nimport { getConfirmLocale } from './locale';\nimport warning from '../_util/warning';\n\nexport default {\n functional: true,\n render(h, context) {\n const { props } = context;\n const {\n onCancel,\n onOk,\n close,\n zIndex,\n afterClose,\n visible,\n keyboard,\n centered,\n getContainer,\n maskStyle,\n okButtonProps,\n cancelButtonProps,\n iconType = 'question-circle',\n closable = false,\n } = props;\n warning(\n !('iconType' in props),\n 'Modal',\n `The property 'iconType' is deprecated. Use the property 'icon' instead.`,\n );\n const icon = props.icon ? props.icon : iconType;\n const okType = props.okType || 'primary';\n const prefixCls = props.prefixCls || 'ant-modal';\n const contentPrefixCls = `${prefixCls}-confirm`;\n // 默认为 true,保持向下兼容\n const okCancel = 'okCancel' in props ? props.okCancel : true;\n const width = props.width || 416;\n const style = props.style || {};\n const mask = props.mask === undefined ? true : props.mask;\n // 默认为 false,保持旧版默认行为\n const maskClosable = props.maskClosable === undefined ? false : props.maskClosable;\n const runtimeLocale = getConfirmLocale();\n const okText = props.okText || (okCancel ? runtimeLocale.okText : runtimeLocale.justOkText);\n const cancelText = props.cancelText || runtimeLocale.cancelText;\n const autoFocusButton = props.autoFocusButton === null ? false : props.autoFocusButton || 'ok';\n const transitionName = props.transitionName || 'zoom';\n const maskTransitionName = props.maskTransitionName || 'fade';\n\n const classString = classNames(\n contentPrefixCls,\n `${contentPrefixCls}-${props.type}`,\n `${prefixCls}-${props.type}`,\n props.class,\n );\n\n const cancelButton = okCancel && (\n <ActionButton\n actionFn={onCancel}\n closeModal={close}\n autoFocus={autoFocusButton === 'cancel'}\n buttonProps={cancelButtonProps}\n >\n {cancelText}\n </ActionButton>\n );\n const iconNode = typeof icon === 'string' ? <Icon type={icon} /> : icon(h);\n\n return (\n <Dialog\n prefixCls={prefixCls}\n class={classString}\n wrapClassName={classNames({ [`${contentPrefixCls}-centered`]: !!centered })}\n onCancel={e => close({ triggerCancel: true }, e)}\n visible={visible}\n closable={closable}\n title=\"\"\n transitionName={transitionName}\n footer=\"\"\n maskTransitionName={maskTransitionName}\n mask={mask}\n maskClosable={maskClosable}\n maskStyle={maskStyle}\n style={style}\n width={width}\n zIndex={zIndex}\n afterClose={afterClose}\n keyboard={keyboard}\n centered={centered}\n getContainer={getContainer}\n >\n <div class={`${contentPrefixCls}-body-wrapper`}>\n <div class={`${contentPrefixCls}-body`}>\n {iconNode}\n {props.title === undefined ? null : (\n <span class={`${contentPrefixCls}-title`}>\n {typeof props.title === 'function' ? props.title(h) : props.title}\n </span>\n )}\n <div class={`${contentPrefixCls}-content`}>\n {typeof props.content === 'function' ? props.content(h) : props.content}\n </div>\n </div>\n <div class={`${contentPrefixCls}-btns`}>\n {cancelButton}\n <ActionButton\n type={okType}\n actionFn={onOk}\n closeModal={close}\n autoFocus={autoFocusButton === 'ok'}\n buttonProps={okButtonProps}\n >\n {okText}\n </ActionButton>\n </div>\n </div>\n </Dialog>\n );\n },\n};\n","import Vue from 'vue';\nimport ConfirmDialog from './ConfirmDialog';\nimport { destroyFns } from './Modal';\nimport Base from '../base';\nimport Omit from 'omit.js';\n\nexport default function confirm(config) {\n const div = document.createElement('div');\n const el = document.createElement('div');\n div.appendChild(el);\n document.body.appendChild(div);\n let currentConfig = { ...Omit(config, ['parentContext']), close, visible: true };\n\n let confirmDialogInstance = null;\n const confirmDialogProps = { props: {} };\n function close(...args) {\n destroy(...args);\n }\n function update(newConfig) {\n currentConfig = {\n ...currentConfig,\n ...newConfig,\n };\n confirmDialogProps.props = currentConfig;\n }\n function destroy(...args) {\n if (confirmDialogInstance && div.parentNode) {\n confirmDialogInstance.$destroy();\n confirmDialogInstance = null;\n div.parentNode.removeChild(div);\n }\n const triggerCancel = args.some(param => param && param.triggerCancel);\n if (config.onCancel && triggerCancel) {\n config.onCancel(...args);\n }\n for (let i = 0; i < destroyFns.length; i++) {\n const fn = destroyFns[i];\n if (fn === close) {\n destroyFns.splice(i, 1);\n break;\n }\n }\n }\n\n function render(props) {\n confirmDialogProps.props = props;\n const V = Base.Vue || Vue;\n return new V({\n el,\n parent: config.parentContext,\n data() {\n return { confirmDialogProps };\n },\n render() {\n // 先解构,避免报错,原因不详\n const cdProps = { ...this.confirmDialogProps };\n return <ConfirmDialog {...cdProps} />;\n },\n });\n }\n\n confirmDialogInstance = render(currentConfig);\n destroyFns.push(close);\n return {\n destroy: close,\n update,\n };\n}\n","import Modal, { destroyFns } from './Modal';\nimport modalConfirm from './confirm';\nimport Icon from '../icon';\nimport Base from '../base';\n\n// export { ActionButtonProps } from './ActionButton'\n// export { ModalProps, ModalFuncProps } from './Modal'\n\nconst info = function(props) {\n const config = {\n type: 'info',\n icon: h => {\n return <Icon type=\"info-circle\" />;\n },\n okCancel: false,\n ...props,\n };\n return modalConfirm(config);\n};\n\nconst success = function(props) {\n const config = {\n type: 'success',\n icon: h => {\n return <Icon type=\"check-circle\" />;\n },\n okCancel: false,\n ...props,\n };\n return modalConfirm(config);\n};\n\nconst error = function(props) {\n const config = {\n type: 'error',\n icon: h => {\n return <Icon type=\"close-circle\" />;\n },\n okCancel: false,\n ...props,\n };\n return modalConfirm(config);\n};\n\nconst warning = function(props) {\n const config = {\n type: 'warning',\n icon: h => {\n return <Icon type=\"exclamation-circle\" />;\n },\n okCancel: false,\n ...props,\n };\n return modalConfirm(config);\n};\nconst warn = warning;\n\nconst confirm = function confirmFn(props) {\n const config = {\n type: 'confirm',\n okCancel: true,\n ...props,\n };\n return modalConfirm(config);\n};\nModal.info = info;\nModal.success = success;\nModal.error = error;\nModal.warning = warning;\nModal.warn = warn;\nModal.confirm = confirm;\n\nModal.destroyAll = function destroyAllFn() {\n while (destroyFns.length) {\n const close = destroyFns.pop();\n if (close) {\n close();\n }\n }\n};\n\n/* istanbul ignore next */\nModal.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Modal.name, Modal);\n};\n\nexport default Modal;\n","import Notification from '../vc-notification';\nimport Icon from '../icon';\n\nconst notificationInstance = {};\nlet defaultDuration = 4.5;\nlet defaultTop = '24px';\nlet defaultBottom = '24px';\nlet defaultPlacement = 'topRight';\nlet defaultGetContainer = () => document.body;\nlet defaultCloseIcon = null;\n\nfunction setNotificationConfig(options) {\n const { duration, placement, bottom, top, getContainer, closeIcon } = options;\n if (duration !== undefined) {\n defaultDuration = duration;\n }\n if (placement !== undefined) {\n defaultPlacement = placement;\n }\n if (bottom !== undefined) {\n defaultBottom = typeof bottom === 'number' ? `${bottom}px` : bottom;\n }\n if (top !== undefined) {\n defaultTop = typeof top === 'number' ? `${top}px` : top;\n }\n if (getContainer !== undefined) {\n defaultGetContainer = getContainer;\n }\n if (closeIcon !== undefined) {\n defaultCloseIcon = closeIcon;\n }\n}\n\nfunction getPlacementStyle(placement, top = defaultTop, bottom = defaultBottom) {\n let style;\n switch (placement) {\n case 'topLeft':\n style = {\n left: 0,\n top,\n bottom: 'auto',\n };\n break;\n case 'topRight':\n style = {\n right: 0,\n top,\n bottom: 'auto',\n };\n break;\n case 'bottomLeft':\n style = {\n left: 0,\n top: 'auto',\n bottom,\n };\n break;\n default:\n style = {\n right: 0,\n top: 'auto',\n bottom,\n };\n break;\n }\n return style;\n}\n\nfunction getNotificationInstance(\n {\n prefixCls,\n placement = defaultPlacement,\n getContainer = defaultGetContainer,\n top,\n bottom,\n closeIcon = defaultCloseIcon,\n },\n callback,\n) {\n const cacheKey = `${prefixCls}-${placement}`;\n if (notificationInstance[cacheKey]) {\n callback(notificationInstance[cacheKey]);\n return;\n }\n Notification.newInstance(\n {\n prefixCls,\n class: `${prefixCls}-${placement}`,\n style: getPlacementStyle(placement, top, bottom),\n getContainer,\n closeIcon: h => {\n const icon = typeof closeIcon === 'function' ? closeIcon(h) : closeIcon;\n const closeIconToRender = (\n <span class={`${prefixCls}-close-x`}>\n {icon || <Icon class={`${prefixCls}-close-icon`} type=\"close\" />}\n </span>\n );\n return closeIconToRender;\n },\n },\n notification => {\n notificationInstance[cacheKey] = notification;\n callback(notification);\n },\n );\n}\n\nconst typeToIcon = {\n success: 'check-circle-o',\n info: 'info-circle-o',\n error: 'close-circle-o',\n warning: 'exclamation-circle-o',\n};\n\nfunction notice(args) {\n const { icon, type, description, message, btn } = args;\n const outerPrefixCls = args.prefixCls || 'ant-notification';\n const prefixCls = `${outerPrefixCls}-notice`;\n const duration = args.duration === undefined ? defaultDuration : args.duration;\n\n let iconNode = null;\n if (icon) {\n iconNode = h => (\n <span class={`${prefixCls}-icon`}>{typeof icon === 'function' ? icon(h) : icon}</span>\n );\n } else if (type) {\n const iconType = typeToIcon[type];\n iconNode = h => <Icon class={`${prefixCls}-icon ${prefixCls}-icon-${type}`} type={iconType} />; // eslint-disable-line\n }\n const { placement, top, bottom, getContainer, closeIcon } = args;\n getNotificationInstance(\n {\n prefixCls: outerPrefixCls,\n placement,\n top,\n bottom,\n getContainer,\n closeIcon,\n },\n notification => {\n notification.notice({\n content: h => (\n <div class={iconNode ? `${prefixCls}-with-icon` : ''}>\n {iconNode && iconNode(h)}\n <div class={`${prefixCls}-message`}>\n {!description && iconNode ? (\n <span class={`${prefixCls}-message-single-line-auto-margin`} />\n ) : null}\n {typeof message === 'function' ? message(h) : message}\n </div>\n <div class={`${prefixCls}-description`}>\n {typeof description === 'function' ? description(h) : description}\n </div>\n {btn ? (\n <span class={`${prefixCls}-btn`}>{typeof btn === 'function' ? btn(h) : btn}</span>\n ) : null}\n </div>\n ),\n duration,\n closable: true,\n onClose: args.onClose,\n onClick: args.onClick,\n key: args.key,\n style: args.style || {},\n class: args.class,\n });\n },\n );\n}\n\nconst api = {\n open: notice,\n close(key) {\n Object.keys(notificationInstance).forEach(cacheKey =>\n notificationInstance[cacheKey].removeNotice(key),\n );\n },\n config: setNotificationConfig,\n destroy() {\n Object.keys(notificationInstance).forEach(cacheKey => {\n notificationInstance[cacheKey].destroy();\n delete notificationInstance[cacheKey];\n });\n },\n};\n\n['success', 'info', 'warning', 'error'].forEach(type => {\n api[type] = args =>\n api.open({\n ...args,\n type,\n });\n});\n\napi.warn = api.warning;\nexport default api;\n","import omit from 'omit.js';\nimport Tooltip from '../tooltip';\nimport abstractTooltipProps from '../tooltip/abstractTooltipProps';\nimport PropTypes from '../_util/vue-types';\nimport { getOptionProps, hasProp, getComponentFromProp, mergeProps } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport buttonTypes from '../button/buttonTypes';\nimport Icon from '../icon';\nimport Button from '../button';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport defaultLocale from '../locale-provider/default';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\n\nconst tooltipProps = abstractTooltipProps();\nconst btnProps = buttonTypes();\nconst Popconfirm = {\n name: 'APopconfirm',\n props: {\n ...tooltipProps,\n prefixCls: PropTypes.string,\n transitionName: PropTypes.string.def('zoom-big'),\n content: PropTypes.any,\n title: PropTypes.any,\n trigger: tooltipProps.trigger.def('click'),\n okType: btnProps.type.def('primary'),\n disabled: PropTypes.bool.def(false),\n okText: PropTypes.any,\n cancelText: PropTypes.any,\n icon: PropTypes.any,\n okButtonProps: PropTypes.object,\n cancelButtonProps: PropTypes.object,\n },\n mixins: [BaseMixin],\n model: {\n prop: 'visible',\n event: 'visibleChange',\n },\n watch: {\n visible(val) {\n this.sVisible = val;\n },\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const props = getOptionProps(this);\n const state = { sVisible: false };\n if ('visible' in props) {\n state.sVisible = props.visible;\n }\n if ('defaultVisible' in props) {\n state.sVisible = props.defaultVisible;\n }\n return state;\n },\n methods: {\n onConfirm(e) {\n this.setVisible(false, e);\n this.$emit('confirm', e);\n },\n\n onCancel(e) {\n this.setVisible(false, e);\n this.$emit('cancel', e);\n },\n\n onVisibleChange(sVisible) {\n const { disabled } = this.$props;\n if (disabled) {\n return;\n }\n this.setVisible(sVisible);\n },\n\n setVisible(sVisible, e) {\n if (!hasProp(this, 'visible')) {\n this.setState({ sVisible });\n }\n this.$emit('visibleChange', sVisible, e);\n },\n getPopupDomNode() {\n return this.$refs.tooltip.getPopupDomNode();\n },\n renderOverlay(prefixCls, popconfirmLocale) {\n const { okType, okButtonProps, cancelButtonProps } = this;\n const icon = getComponentFromProp(this, 'icon') || (\n <Icon type=\"exclamation-circle\" theme=\"filled\" />\n );\n const cancelBtnProps = mergeProps(\n {\n props: {\n size: 'small',\n },\n on: {\n click: this.onCancel,\n },\n },\n cancelButtonProps,\n );\n const okBtnProps = mergeProps(\n {\n props: {\n type: okType,\n size: 'small',\n },\n on: {\n click: this.onConfirm,\n },\n },\n okButtonProps,\n );\n return (\n <div class={`${prefixCls}-inner-content`}>\n <div class={`${prefixCls}-message`}>\n {icon}\n <div class={`${prefixCls}-message-title`}>{getComponentFromProp(this, 'title')}</div>\n </div>\n <div class={`${prefixCls}-buttons`}>\n <Button {...cancelBtnProps}>\n {getComponentFromProp(this, 'cancelText') || popconfirmLocale.cancelText}\n </Button>\n <Button {...okBtnProps}>\n {getComponentFromProp(this, 'okText') || popconfirmLocale.okText}\n </Button>\n </div>\n </div>\n );\n },\n },\n render() {\n const props = getOptionProps(this);\n const { prefixCls: customizePrefixCls } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('popover', customizePrefixCls);\n\n const otherProps = omit(props, ['title', 'content', 'cancelText', 'okText']);\n const tooltipProps = {\n props: {\n ...otherProps,\n prefixCls,\n visible: this.sVisible,\n },\n ref: 'tooltip',\n on: {\n visibleChange: this.onVisibleChange,\n },\n };\n const overlay = (\n <LocaleReceiver\n componentName=\"Popconfirm\"\n defaultLocale={defaultLocale.Popconfirm}\n scopedSlots={{\n default: popconfirmLocale => this.renderOverlay(prefixCls, popconfirmLocale),\n }}\n />\n );\n return (\n <Tooltip {...tooltipProps}>\n <template slot=\"title\">{overlay}</template>\n {this.$slots.default}\n </Tooltip>\n );\n },\n};\n\n/* istanbul ignore next */\nPopconfirm.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Popconfirm.name, Popconfirm);\n};\n\nexport default Popconfirm;\n","import Tooltip from '../tooltip';\nimport abstractTooltipProps from '../tooltip/abstractTooltipProps';\nimport PropTypes from '../_util/vue-types';\nimport { getOptionProps, getComponentFromProp, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\n\nconst props = abstractTooltipProps();\nconst Popover = {\n name: 'APopover',\n props: {\n ...props,\n prefixCls: PropTypes.string,\n transitionName: PropTypes.string.def('zoom-big'),\n content: PropTypes.any,\n title: PropTypes.any,\n },\n model: {\n prop: 'visible',\n event: 'visibleChange',\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n getPopupDomNode() {\n return this.$refs.tooltip.getPopupDomNode();\n },\n },\n\n render() {\n const { title, prefixCls: customizePrefixCls, $slots } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('popover', customizePrefixCls);\n\n const props = getOptionProps(this);\n delete props.title;\n delete props.content;\n const tooltipProps = {\n props: {\n ...props,\n prefixCls,\n },\n ref: 'tooltip',\n on: getListeners(this),\n };\n return (\n <Tooltip {...tooltipProps}>\n <template slot=\"title\">\n <div>\n {(title || $slots.title) && (\n <div class={`${prefixCls}-title`}>{getComponentFromProp(this, 'title')}</div>\n )}\n <div class={`${prefixCls}-inner-content`}>{getComponentFromProp(this, 'content')}</div>\n </div>\n </template>\n {this.$slots.default}\n </Tooltip>\n );\n },\n};\n\n/* istanbul ignore next */\nPopover.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Popover.name, Popover);\n};\n\nexport default Popover;\n","import Radio from './Radio';\nimport Group from './Group';\nimport Button from './RadioButton';\nimport Base from '../base';\n\nRadio.Group = Group;\nRadio.Button = Button;\n\n/* istanbul ignore next */\nRadio.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Radio.name, Radio);\n Vue.component(Radio.Group.name, Radio.Group);\n Vue.component(Radio.Button.name, Radio.Button);\n};\n\nexport { Button, Group };\nexport default Radio;\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getComponentFromProp } from '../../_util/props-util';\nfunction noop() {}\n\nexport default {\n name: 'Star',\n mixins: [BaseMixin],\n props: {\n value: PropTypes.number,\n index: PropTypes.number,\n prefixCls: PropTypes.string,\n allowHalf: PropTypes.bool,\n disabled: PropTypes.bool,\n character: PropTypes.any,\n characterRender: PropTypes.func,\n focused: PropTypes.bool,\n count: PropTypes.number,\n },\n methods: {\n onHover(e) {\n const { index } = this;\n this.$emit('hover', e, index);\n },\n onClick(e) {\n const { index } = this;\n this.$emit('click', e, index);\n },\n onKeyDown(e) {\n const { index } = this.$props;\n if (e.keyCode === 13) {\n this.__emit('click', e, index);\n }\n },\n getClassName() {\n const { prefixCls, index, value, allowHalf, focused } = this;\n const starValue = index + 1;\n let className = prefixCls;\n if (value === 0 && index === 0 && focused) {\n className += ` ${prefixCls}-focused`;\n } else if (allowHalf && value + 0.5 === starValue) {\n className += ` ${prefixCls}-half ${prefixCls}-active`;\n if (focused) {\n className += ` ${prefixCls}-focused`;\n }\n } else {\n className += starValue <= value ? ` ${prefixCls}-full` : ` ${prefixCls}-zero`;\n if (starValue === value && focused) {\n className += ` ${prefixCls}-focused`;\n }\n }\n return className;\n },\n },\n render() {\n const {\n onHover,\n onClick,\n onKeyDown,\n disabled,\n prefixCls,\n characterRender,\n index,\n count,\n value,\n } = this;\n\n const character = getComponentFromProp(this, 'character');\n let star = (\n <li class={this.getClassName()}>\n <div\n onClick={disabled ? noop : onClick}\n onKeydown={disabled ? noop : onKeyDown}\n onMousemove={disabled ? noop : onHover}\n role=\"radio\"\n aria-checked={value > index ? 'true' : 'false'}\n aria-posinset={index + 1}\n aria-setsize={count}\n tabIndex={0}\n >\n <div class={`${prefixCls}-first`}>{character}</div>\n <div class={`${prefixCls}-second`}>{character}</div>\n </div>\n </li>\n );\n if (characterRender) {\n star = characterRender(star, this.$props);\n }\n return star;\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport classNames from 'classnames';\nimport KeyCode from '../../_util/KeyCode';\nimport {\n initDefaultProps,\n hasProp,\n getOptionProps,\n getComponentFromProp,\n} from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOffsetLeft } from './util';\nimport Star from './Star';\n\nconst rateProps = {\n disabled: PropTypes.bool,\n value: PropTypes.number,\n defaultValue: PropTypes.number,\n count: PropTypes.number,\n allowHalf: PropTypes.bool,\n allowClear: PropTypes.bool,\n prefixCls: PropTypes.string,\n character: PropTypes.any,\n characterRender: PropTypes.func,\n tabIndex: PropTypes.number,\n autoFocus: PropTypes.bool,\n};\n\nfunction noop() {}\n\nexport default {\n name: 'Rate',\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(rateProps, {\n defaultValue: 0,\n count: 5,\n allowHalf: false,\n allowClear: true,\n prefixCls: 'rc-rate',\n tabIndex: 0,\n character: '★',\n }),\n data() {\n let value = this.value;\n if (!hasProp(this, 'value')) {\n value = this.defaultValue;\n }\n return {\n sValue: value,\n focused: false,\n cleanedValue: null,\n hoverValue: undefined,\n };\n },\n watch: {\n value(val) {\n this.setState({\n sValue: val,\n });\n },\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus && !this.disabled) {\n this.focus();\n }\n });\n },\n methods: {\n onHover(event, index) {\n const hoverValue = this.getStarValue(index, event.pageX);\n const { cleanedValue } = this;\n if (hoverValue !== cleanedValue) {\n this.setState({\n hoverValue,\n cleanedValue: null,\n });\n }\n this.$emit('hoverChange', hoverValue);\n },\n onMouseLeave() {\n this.setState({\n hoverValue: undefined,\n cleanedValue: null,\n });\n this.$emit('hoverChange', undefined);\n },\n onClick(event, index) {\n const { allowClear, sValue: value } = this;\n const newValue = this.getStarValue(index, event.pageX);\n let isReset = false;\n if (allowClear) {\n isReset = newValue === value;\n }\n this.onMouseLeave(true);\n this.changeValue(isReset ? 0 : newValue);\n this.setState({\n cleanedValue: isReset ? newValue : null,\n });\n },\n onFocus() {\n this.setState({\n focused: true,\n });\n this.$emit('focus');\n },\n onBlur() {\n this.setState({\n focused: false,\n });\n this.$emit('blur');\n },\n onKeyDown(event) {\n const { keyCode } = event;\n const { count, allowHalf } = this;\n let { sValue } = this;\n if (keyCode === KeyCode.RIGHT && sValue < count) {\n if (allowHalf) {\n sValue += 0.5;\n } else {\n sValue += 1;\n }\n this.changeValue(sValue);\n event.preventDefault();\n } else if (keyCode === KeyCode.LEFT && sValue > 0) {\n if (allowHalf) {\n sValue -= 0.5;\n } else {\n sValue -= 1;\n }\n this.changeValue(sValue);\n event.preventDefault();\n }\n this.$emit('keydown', event);\n },\n getStarDOM(index) {\n return this.$refs['stars' + index].$el;\n },\n getStarValue(index, x) {\n let value = index + 1;\n if (this.allowHalf) {\n const starEle = this.getStarDOM(index);\n const leftDis = getOffsetLeft(starEle);\n const width = starEle.clientWidth;\n if (x - leftDis < width / 2) {\n value -= 0.5;\n }\n }\n return value;\n },\n focus() {\n if (!this.disabled) {\n this.$refs.rateRef.focus();\n }\n },\n blur() {\n if (!this.disabled) {\n this.$refs.rateRef.blur();\n }\n },\n changeValue(value) {\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n });\n }\n this.$emit('change', value);\n },\n },\n render() {\n const { count, allowHalf, prefixCls, disabled, tabIndex } = getOptionProps(this);\n const { sValue, hoverValue, focused } = this;\n const stars = [];\n const disabledClass = disabled ? `${prefixCls}-disabled` : '';\n const character = getComponentFromProp(this, 'character');\n const characterRender = this.characterRender || this.$scopedSlots.characterRender;\n for (let index = 0; index < count; index++) {\n const starProps = {\n props: {\n index,\n count,\n disabled,\n prefixCls: `${prefixCls}-star`,\n allowHalf,\n value: hoverValue === undefined ? sValue : hoverValue,\n character,\n characterRender,\n focused,\n },\n on: {\n click: this.onClick,\n hover: this.onHover,\n },\n key: index,\n ref: `stars${index}`,\n };\n stars.push(<Star {...starProps} />);\n }\n return (\n <ul\n class={classNames(prefixCls, disabledClass)}\n onMouseleave={disabled ? noop : this.onMouseLeave}\n tabIndex={disabled ? -1 : tabIndex}\n onFocus={disabled ? noop : this.onFocus}\n onBlur={disabled ? noop : this.onBlur}\n onKeydown={disabled ? noop : this.onKeyDown}\n ref=\"rateRef\"\n role=\"radiogroup\"\n >\n {stars}\n </ul>\n );\n },\n};\n","// based on rc-rate 2.5.0\nimport Rate from './src/';\nexport default Rate;\n","function getScroll(w, top) {\n let ret = top ? w.pageYOffset : w.pageXOffset;\n const method = top ? 'scrollTop' : 'scrollLeft';\n if (typeof ret !== 'number') {\n const d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getClientPosition(elem) {\n let x;\n let y;\n const doc = elem.ownerDocument;\n const body = doc.body;\n const docElem = doc && doc.documentElement;\n const box = elem.getBoundingClientRect();\n x = box.left;\n y = box.top;\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n return {\n left: x,\n top: y,\n };\n}\n\nexport function getOffsetLeft(el) {\n const pos = getClientPosition(el);\n const doc = el.ownerDocument;\n const w = doc.defaultView || doc.parentWindow;\n pos.left += getScroll(w);\n return pos.left;\n}\n","import omit from 'omit.js';\nimport PropTypes from '../_util/vue-types';\nimport { getOptionProps, getComponentFromProp, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport VcRate from '../vc-rate';\nimport Icon from '../icon';\nimport Tooltip from '../tooltip';\nimport Base from '../base';\n\nexport const RateProps = {\n prefixCls: PropTypes.string,\n count: PropTypes.number,\n value: PropTypes.value,\n defaultValue: PropTypes.value,\n allowHalf: PropTypes.bool,\n allowClear: PropTypes.bool,\n tooltips: PropTypes.arrayOf(PropTypes.string),\n disabled: PropTypes.bool,\n character: PropTypes.any,\n autoFocus: PropTypes.bool,\n};\n\nconst Rate = {\n name: 'ARate',\n model: {\n prop: 'value',\n event: 'change',\n },\n props: RateProps,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n characterRender(node, { index }) {\n const { tooltips } = this.$props;\n if (!tooltips) return node;\n return <Tooltip title={tooltips[index]}>{node}</Tooltip>;\n },\n focus() {\n this.$refs.refRate.focus();\n },\n blur() {\n this.$refs.refRate.blur();\n },\n },\n render() {\n const { prefixCls: customizePrefixCls, ...restProps } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('rate', customizePrefixCls);\n\n const character = getComponentFromProp(this, 'character') || (\n <Icon type=\"star\" theme=\"filled\" />\n );\n const rateProps = {\n props: {\n character,\n characterRender: this.characterRender,\n prefixCls,\n ...omit(restProps, ['tooltips']),\n },\n on: getListeners(this),\n ref: 'refRate',\n };\n return <VcRate {...rateProps} />;\n },\n};\n\n/* istanbul ignore next */\nRate.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Rate.name, Rate);\n};\nexport default Rate;\n","/* eslint-disable */\nconst Track = {\n functional: true,\n render(h, context) {\n const { included, vertical, offset, length, reverse } = context.props;\n const { style, class: className } = context.data;\n\n const positonStyle = vertical\n ? {\n [reverse ? 'top' : 'bottom']: `${offset}%`,\n [reverse ? 'bottom' : 'top']: 'auto',\n height: `${length}%`,\n }\n : {\n [reverse ? 'right' : 'left']: `${offset}%`,\n [reverse ? 'left' : 'right']: 'auto',\n width: `${length}%`,\n };\n\n const elStyle = {\n ...style,\n ...positonStyle,\n };\n return included ? <div class={className} style={elStyle} /> : null;\n },\n};\n\nexport default Track;\n","import classNames from 'classnames';\nimport warning from '../../../_util/warning';\n\nconst calcPoints = (vertical, marks, dots, step, min, max) => {\n warning(\n dots ? step > 0 : true,\n 'Slider',\n '`Slider[step]` should be a positive number in order to make Slider[dots] work.',\n );\n const points = Object.keys(marks)\n .map(parseFloat)\n .sort((a, b) => a - b);\n if (dots && step) {\n for (let i = min; i <= max; i += step) {\n if (points.indexOf(i) === -1) {\n points.push(i);\n }\n }\n }\n return points;\n};\n\nconst Steps = {\n functional: true,\n render(h, context) {\n const {\n prefixCls,\n vertical,\n reverse,\n marks,\n dots,\n step,\n included,\n lowerBound,\n upperBound,\n max,\n min,\n dotStyle,\n activeDotStyle,\n } = context.props;\n const range = max - min;\n const elements = calcPoints(vertical, marks, dots, step, min, max).map(point => {\n const offset = `${(Math.abs(point - min) / range) * 100}%`;\n\n const isActived =\n (!included && point === upperBound) ||\n (included && point <= upperBound && point >= lowerBound);\n let style = vertical\n ? { ...dotStyle, [reverse ? 'top' : 'bottom']: offset }\n : { ...dotStyle, [reverse ? 'right' : 'left']: offset };\n if (isActived) {\n style = { ...style, ...activeDotStyle };\n }\n\n const pointClassName = classNames({\n [`${prefixCls}-dot`]: true,\n [`${prefixCls}-dot-active`]: isActived,\n [`${prefixCls}-dot-reverse`]: reverse,\n });\n\n return <span class={pointClassName} style={style} key={point} />;\n });\n\n return <div class={`${prefixCls}-step`}>{elements}</div>;\n },\n};\n\nexport default Steps;\n","import classNames from 'classnames';\nimport { isValidElement } from '../../../_util/props-util';\n\nconst Marks = {\n functional: true,\n render(h, context) {\n const {\n className,\n vertical,\n reverse,\n marks,\n included,\n upperBound,\n lowerBound,\n max,\n min,\n } = context.props;\n const { clickLabel } = context.listeners;\n const marksKeys = Object.keys(marks);\n\n const range = max - min;\n const elements = marksKeys\n .map(parseFloat)\n .sort((a, b) => a - b)\n .map(point => {\n const markPoint = typeof marks[point] === 'function' ? marks[point](h) : marks[point];\n const markPointIsObject = typeof markPoint === 'object' && !isValidElement(markPoint);\n const markLabel = markPointIsObject ? markPoint.label : markPoint;\n if (!markLabel && markLabel !== 0) {\n return null;\n }\n\n const isActive =\n (!included && point === upperBound) ||\n (included && point <= upperBound && point >= lowerBound);\n const markClassName = classNames({\n [`${className}-text`]: true,\n [`${className}-text-active`]: isActive,\n });\n\n const bottomStyle = {\n marginBottom: '-50%',\n [reverse ? 'top' : 'bottom']: `${((point - min) / range) * 100}%`,\n };\n\n const leftStyle = {\n transform: `translateX(-50%)`,\n msTransform: `translateX(-50%)`,\n [reverse ? 'right' : 'left']: reverse\n ? `${((point - min / 4) / range) * 100}%`\n : `${((point - min) / range) * 100}%`,\n };\n\n const style = vertical ? bottomStyle : leftStyle;\n const markStyle = markPointIsObject ? { ...style, ...markPoint.style } : style;\n return (\n <span\n class={markClassName}\n style={markStyle}\n key={point}\n onMousedown={e => clickLabel(e, point)}\n onTouchstart={e => clickLabel(e, point)}\n >\n {markLabel}\n </span>\n );\n });\n\n return <div class={className}>{elements}</div>;\n },\n};\n\nexport default Marks;\n","import classNames from 'classnames';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOptionProps, getListeners } from '../../_util/props-util';\nimport addEventListener from '../../vc-util/Dom/addEventListener';\n\nexport default {\n name: 'Handle',\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n vertical: PropTypes.bool,\n offset: PropTypes.number,\n disabled: PropTypes.bool,\n min: PropTypes.number,\n max: PropTypes.number,\n value: PropTypes.number,\n tabIndex: PropTypes.number,\n className: PropTypes.string,\n reverse: PropTypes.bool,\n // handleFocus: PropTypes.func.def(noop),\n // handleBlur: PropTypes.func.def(noop),\n },\n data() {\n return {\n clickFocused: false,\n };\n },\n mounted() {\n // mouseup won't trigger if mouse moved out of handle\n // so we listen on document here.\n this.onMouseUpListener = addEventListener(document, 'mouseup', this.handleMouseUp);\n },\n beforeDestroy() {\n if (this.onMouseUpListener) {\n this.onMouseUpListener.remove();\n }\n },\n methods: {\n setClickFocus(focused) {\n this.setState({ clickFocused: focused });\n },\n handleMouseUp() {\n if (document.activeElement === this.$refs.handle) {\n this.setClickFocus(true);\n }\n },\n handleBlur(e) {\n this.setClickFocus(false);\n this.__emit('blur', e);\n },\n handleKeyDown() {\n this.setClickFocus(false);\n },\n clickFocus() {\n this.setClickFocus(true);\n this.focus();\n },\n focus() {\n this.$refs.handle.focus();\n },\n blur() {\n this.$refs.handle.blur();\n },\n // when click can not focus in vue, use mousedown trigger focus\n handleMousedown(e) {\n this.focus();\n this.__emit('mousedown', e);\n },\n },\n render() {\n const {\n prefixCls,\n vertical,\n reverse,\n offset,\n disabled,\n min,\n max,\n value,\n tabIndex,\n } = getOptionProps(this);\n const className = classNames(this.$props.className, {\n [`${prefixCls}-handle-click-focused`]: this.clickFocused,\n });\n\n const positionStyle = vertical\n ? {\n [reverse ? 'top' : 'bottom']: `${offset}%`,\n [reverse ? 'bottom' : 'top']: 'auto',\n transform: `translateY(+50%)`,\n }\n : {\n [reverse ? 'right' : 'left']: `${offset}%`,\n [reverse ? 'left' : 'right']: 'auto',\n transform: `translateX(${reverse ? '+' : '-'}50%)`,\n };\n\n const ariaProps = {\n 'aria-valuemin': min,\n 'aria-valuemax': max,\n 'aria-valuenow': value,\n 'aria-disabled': !!disabled,\n };\n let _tabIndex = tabIndex || 0;\n if (disabled || tabIndex === null) {\n _tabIndex = null;\n }\n\n const handleProps = {\n attrs: {\n role: 'slider',\n tabIndex: _tabIndex,\n ...ariaProps,\n },\n class: className,\n on: {\n ...getListeners(this),\n blur: this.handleBlur,\n keydown: this.handleKeyDown,\n mousedown: this.handleMousedown,\n },\n ref: 'handle',\n style: positionStyle,\n };\n return <div {...handleProps} />;\n },\n};\n","import keyCode from '../../_util/KeyCode';\n\nexport function isEventFromHandle(e, handles) {\n try {\n return Object.keys(handles).some(\n key => e.target === handles[key].$el || e.target === handles[key],\n );\n } catch (error) {\n return false;\n }\n}\n\nexport function isValueOutOfRange(value, { min, max }) {\n return value < min || value > max;\n}\n\nexport function isNotTouchEvent(e) {\n return e.touches.length > 1 || (e.type.toLowerCase() === 'touchend' && e.touches.length > 0);\n}\n\nexport function getClosestPoint(val, { marks, step, min, max }) {\n const points = Object.keys(marks).map(parseFloat);\n if (step !== null) {\n const base = 10 ** getPrecision(step);\n const maxSteps = Math.floor((max * base - min * base) / (step * base));\n const steps = Math.min((val - min) / step, maxSteps);\n const closestStep = Math.round(steps) * step + min;\n points.push(closestStep);\n }\n const diffs = points.map(point => Math.abs(val - point));\n return points[diffs.indexOf(Math.min(...diffs))];\n}\n\nexport function getPrecision(step) {\n const stepString = step.toString();\n let precision = 0;\n if (stepString.indexOf('.') >= 0) {\n precision = stepString.length - stepString.indexOf('.') - 1;\n }\n return precision;\n}\n\nexport function getMousePosition(vertical, e) {\n let zoom = 1;\n if (window.visualViewport) {\n zoom = +(window.visualViewport.width / document.body.getBoundingClientRect().width).toFixed(2);\n }\n return (vertical ? e.clientY : e.pageX) / zoom;\n}\n\nexport function getTouchPosition(vertical, e) {\n let zoom = 1;\n if (window.visualViewport) {\n zoom = +(window.visualViewport.width / document.body.getBoundingClientRect().width).toFixed(2);\n }\n return (vertical ? e.touches[0].clientY : e.touches[0].pageX) / zoom;\n}\n\nexport function getHandleCenterPosition(vertical, handle) {\n const coords = handle.getBoundingClientRect();\n return vertical\n ? coords.top + coords.height * 0.5\n : window.pageXOffset + coords.left + coords.width * 0.5;\n}\n\nexport function ensureValueInRange(val, { max, min }) {\n if (val <= min) {\n return min;\n }\n if (val >= max) {\n return max;\n }\n return val;\n}\n\nexport function ensureValuePrecision(val, props) {\n const { step } = props;\n const closestPoint = isFinite(getClosestPoint(val, props)) ? getClosestPoint(val, props) : 0; // eslint-disable-line\n return step === null ? closestPoint : parseFloat(closestPoint.toFixed(getPrecision(step)));\n}\n\nexport function pauseEvent(e) {\n e.stopPropagation();\n e.preventDefault();\n}\n\nexport function calculateNextValue(func, value, props) {\n const operations = {\n increase: (a, b) => a + b,\n decrease: (a, b) => a - b,\n };\n\n const indexToGet = operations[func](Object.keys(props.marks).indexOf(JSON.stringify(value)), 1);\n const keyToGet = Object.keys(props.marks)[indexToGet];\n\n if (props.step) {\n return operations[func](value, props.step);\n } else if (!!Object.keys(props.marks).length && !!props.marks[keyToGet]) {\n return props.marks[keyToGet];\n }\n return value;\n}\n\nexport function getKeyboardValueMutator(e, vertical, reverse) {\n const increase = 'increase';\n const decrease = 'decrease';\n let method = increase;\n switch (e.keyCode) {\n case keyCode.UP:\n method = vertical && reverse ? decrease : increase;\n break;\n case keyCode.RIGHT:\n method = !vertical && reverse ? decrease : increase;\n break;\n case keyCode.DOWN:\n method = vertical && reverse ? increase : decrease;\n break;\n case keyCode.LEFT:\n method = !vertical && reverse ? increase : decrease;\n break;\n\n case keyCode.END:\n return (value, props) => props.max;\n case keyCode.HOME:\n return (value, props) => props.min;\n case keyCode.PAGE_UP:\n return (value, props) => value + props.step * 2;\n case keyCode.PAGE_DOWN:\n return (value, props) => value - props.step * 2;\n\n default:\n return undefined;\n }\n return (value, props) => calculateNextValue(method, value, props);\n}\n","import classNames from 'classnames';\nimport PropTypes from '../../../_util/vue-types';\nimport addEventListener from '../../../vc-util/Dom/addEventListener';\nimport warning from '../../../_util/warning';\nimport { initDefaultProps } from '../../../_util/props-util';\nimport Steps from './Steps';\nimport Marks from './Marks';\nimport Handle from '../Handle';\nimport * as utils from '../utils';\n\nfunction noop() {}\n\nexport default function createSlider(Component) {\n // const displayName = `ComponentEnhancer(${Component.displayName})`\n const propTypes = {\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n marks: PropTypes.object,\n included: PropTypes.bool,\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n handle: PropTypes.func,\n dots: PropTypes.bool,\n vertical: PropTypes.bool,\n reverse: PropTypes.bool,\n minimumTrackStyle: PropTypes.object, // just for compatibility, will be deperecate\n maximumTrackStyle: PropTypes.object, // just for compatibility, will be deperecate\n handleStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n trackStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n railStyle: PropTypes.object,\n dotStyle: PropTypes.object,\n activeDotStyle: PropTypes.object,\n autoFocus: PropTypes.bool,\n };\n return {\n name: 'createSlider',\n mixins: [Component],\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(propTypes, {\n prefixCls: 'rc-slider',\n min: 0,\n max: 100,\n step: 1,\n marks: {},\n included: true,\n disabled: false,\n dots: false,\n vertical: false,\n reverse: false,\n trackStyle: [{}],\n handleStyle: [{}],\n railStyle: {},\n dotStyle: {},\n activeDotStyle: {},\n }),\n data() {\n const { step, max, min } = this;\n const isPointDiffEven = isFinite(max - min) ? (max - min) % step === 0 : true; // eslint-disable-line\n warning(\n step && Math.floor(step) === step ? isPointDiffEven : true,\n 'Slider',\n 'Slider[max] - Slider[min] (%s) should be a multiple of Slider[step] (%s)',\n max - min,\n step,\n );\n this.handlesRefs = {};\n return {};\n },\n mounted() {\n this.$nextTick(() => {\n // Snapshot testing cannot handle refs, so be sure to null-check this.\n this.document = this.$refs.sliderRef && this.$refs.sliderRef.ownerDocument;\n // this.setHandleRefs()\n const { autoFocus, disabled } = this;\n if (autoFocus && !disabled) {\n this.focus();\n }\n });\n },\n beforeDestroy() {\n this.$nextTick(() => {\n // if (super.componentWillUnmount) super.componentWillUnmount()\n this.removeDocumentEvents();\n });\n },\n methods: {\n defaultHandle({ index, directives, className, style, on, ...restProps }) {\n delete restProps.dragging;\n if (restProps.value === null) {\n return null;\n }\n const handleProps = {\n props: {\n ...restProps,\n },\n class: className,\n style,\n key: index,\n directives,\n on,\n };\n return <Handle {...handleProps} />;\n },\n onMouseDown(e) {\n if (e.button !== 0) {\n return;\n }\n const isVertical = this.vertical;\n let position = utils.getMousePosition(isVertical, e);\n if (!utils.isEventFromHandle(e, this.handlesRefs)) {\n this.dragOffset = 0;\n } else {\n const handlePosition = utils.getHandleCenterPosition(isVertical, e.target);\n this.dragOffset = position - handlePosition;\n position = handlePosition;\n }\n this.removeDocumentEvents();\n this.onStart(position);\n this.addDocumentMouseEvents();\n utils.pauseEvent(e);\n },\n onTouchStart(e) {\n if (utils.isNotTouchEvent(e)) return;\n\n const isVertical = this.vertical;\n let position = utils.getTouchPosition(isVertical, e);\n if (!utils.isEventFromHandle(e, this.handlesRefs)) {\n this.dragOffset = 0;\n } else {\n const handlePosition = utils.getHandleCenterPosition(isVertical, e.target);\n this.dragOffset = position - handlePosition;\n position = handlePosition;\n }\n this.onStart(position);\n this.addDocumentTouchEvents();\n utils.pauseEvent(e);\n },\n onFocus(e) {\n const { vertical } = this;\n if (utils.isEventFromHandle(e, this.handlesRefs)) {\n const handlePosition = utils.getHandleCenterPosition(vertical, e.target);\n this.dragOffset = 0;\n this.onStart(handlePosition);\n utils.pauseEvent(e);\n this.$emit('focus', e);\n }\n },\n onBlur(e) {\n this.onEnd();\n this.$emit('blur', e);\n },\n onMouseUp() {\n if (this.handlesRefs[this.prevMovedHandleIndex]) {\n this.handlesRefs[this.prevMovedHandleIndex].clickFocus();\n }\n },\n onMouseMove(e) {\n if (!this.$refs.sliderRef) {\n this.onEnd();\n return;\n }\n const position = utils.getMousePosition(this.vertical, e);\n this.onMove(e, position - this.dragOffset);\n },\n onTouchMove(e) {\n if (utils.isNotTouchEvent(e) || !this.$refs.sliderRef) {\n this.onEnd();\n return;\n }\n\n const position = utils.getTouchPosition(this.vertical, e);\n this.onMove(e, position - this.dragOffset);\n },\n onKeyDown(e) {\n if (this.$refs.sliderRef && utils.isEventFromHandle(e, this.handlesRefs)) {\n this.onKeyboard(e);\n }\n },\n onClickMarkLabel(e, value) {\n e.stopPropagation();\n this.onChange({ sValue: value });\n this.setState({ sValue: value }, () => this.onEnd(true));\n },\n getSliderStart() {\n const slider = this.$refs.sliderRef;\n const { vertical, reverse } = this;\n const rect = slider.getBoundingClientRect();\n if (vertical) {\n return reverse ? rect.bottom : rect.top;\n }\n return window.pageXOffset + (reverse ? rect.right : rect.left);\n },\n getSliderLength() {\n const slider = this.$refs.sliderRef;\n if (!slider) {\n return 0;\n }\n\n const coords = slider.getBoundingClientRect();\n return this.vertical ? coords.height : coords.width;\n },\n addDocumentTouchEvents() {\n // just work for Chrome iOS Safari and Android Browser\n this.onTouchMoveListener = addEventListener(this.document, 'touchmove', this.onTouchMove);\n this.onTouchUpListener = addEventListener(this.document, 'touchend', this.onEnd);\n },\n addDocumentMouseEvents() {\n this.onMouseMoveListener = addEventListener(this.document, 'mousemove', this.onMouseMove);\n this.onMouseUpListener = addEventListener(this.document, 'mouseup', this.onEnd);\n },\n removeDocumentEvents() {\n /* eslint-disable no-unused-expressions */\n this.onTouchMoveListener && this.onTouchMoveListener.remove();\n this.onTouchUpListener && this.onTouchUpListener.remove();\n\n this.onMouseMoveListener && this.onMouseMoveListener.remove();\n this.onMouseUpListener && this.onMouseUpListener.remove();\n /* eslint-enable no-unused-expressions */\n },\n focus() {\n if (!this.disabled) {\n this.handlesRefs[0].focus();\n }\n },\n blur() {\n if (!this.disabled) {\n Object.keys(this.handlesRefs).forEach(key => {\n if (this.handlesRefs[key] && this.handlesRefs[key].blur) {\n this.handlesRefs[key].blur();\n }\n });\n }\n },\n calcValue(offset) {\n const { vertical, min, max } = this;\n const ratio = Math.abs(Math.max(offset, 0) / this.getSliderLength());\n const value = vertical ? (1 - ratio) * (max - min) + min : ratio * (max - min) + min;\n return value;\n },\n calcValueByPos(position) {\n const sign = this.reverse ? -1 : +1;\n const pixelOffset = sign * (position - this.getSliderStart());\n const nextValue = this.trimAlignValue(this.calcValue(pixelOffset));\n return nextValue;\n },\n calcOffset(value) {\n const { min, max } = this;\n const ratio = (value - min) / (max - min);\n return ratio * 100;\n },\n saveHandle(index, handle) {\n this.handlesRefs[index] = handle;\n },\n },\n render(h) {\n const {\n prefixCls,\n marks,\n dots,\n step,\n included,\n disabled,\n vertical,\n reverse,\n min,\n max,\n maximumTrackStyle,\n railStyle,\n dotStyle,\n activeDotStyle,\n } = this;\n const { tracks, handles } = this.renderSlider(h);\n\n const sliderClassName = classNames(prefixCls, {\n [`${prefixCls}-with-marks`]: Object.keys(marks).length,\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-vertical`]: vertical,\n });\n const markProps = {\n props: {\n vertical,\n marks,\n included,\n lowerBound: this.getLowerBound(),\n upperBound: this.getUpperBound(),\n max,\n min,\n reverse,\n className: `${prefixCls}-mark`,\n },\n on: {\n clickLabel: disabled ? noop : this.onClickMarkLabel,\n },\n };\n return (\n <div\n ref=\"sliderRef\"\n tabIndex=\"-1\"\n class={sliderClassName}\n onTouchstart={disabled ? noop : this.onTouchStart}\n onMousedown={disabled ? noop : this.onMouseDown}\n onMouseup={disabled ? noop : this.onMouseUp}\n onKeydown={disabled ? noop : this.onKeyDown}\n onFocus={disabled ? noop : this.onFocus}\n onBlur={disabled ? noop : this.onBlur}\n >\n <div\n class={`${prefixCls}-rail`}\n style={{\n ...maximumTrackStyle,\n ...railStyle,\n }}\n />\n {tracks}\n <Steps\n prefixCls={prefixCls}\n vertical={vertical}\n reverse={reverse}\n marks={marks}\n dots={dots}\n step={step}\n included={included}\n lowerBound={this.getLowerBound()}\n upperBound={this.getUpperBound()}\n max={max}\n min={min}\n dotStyle={dotStyle}\n activeDotStyle={activeDotStyle}\n />\n {handles}\n <Marks {...markProps} />\n {this.$slots.default}\n </div>\n );\n },\n };\n}\n","import PropTypes from '../../_util/vue-types';\nimport warning from '../../_util/warning';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { hasProp } from '../../_util/props-util';\nimport Track from './common/Track';\nimport createSlider from './common/createSlider';\nimport * as utils from './utils';\n\nconst Slider = {\n name: 'Slider',\n mixins: [BaseMixin],\n props: {\n defaultValue: PropTypes.number,\n value: PropTypes.number,\n disabled: PropTypes.bool,\n autoFocus: PropTypes.bool,\n tabIndex: PropTypes.number,\n reverse: PropTypes.bool,\n min: PropTypes.number,\n max: PropTypes.number,\n },\n data() {\n const defaultValue = this.defaultValue !== undefined ? this.defaultValue : this.min;\n const value = this.value !== undefined ? this.value : defaultValue;\n\n warning(\n !hasProp(this, 'minimumTrackStyle'),\n 'Slider',\n 'minimumTrackStyle will be deprecate, please use trackStyle instead.',\n );\n warning(\n !hasProp(this, 'maximumTrackStyle'),\n 'Slider',\n 'maximumTrackStyle will be deprecate, please use railStyle instead.',\n );\n return {\n sValue: this.trimAlignValue(value),\n dragging: false,\n };\n },\n watch: {\n value: {\n handler(val) {\n this.setChangeValue(val);\n },\n deep: true,\n },\n min() {\n const { sValue } = this;\n this.setChangeValue(sValue);\n },\n max() {\n const { sValue } = this;\n this.setChangeValue(sValue);\n },\n },\n methods: {\n setChangeValue(value) {\n const newValue = value !== undefined ? value : this.sValue;\n const nextValue = this.trimAlignValue(newValue, this.$props);\n if (nextValue === this.sValue) return;\n\n this.setState({ sValue: nextValue });\n if (utils.isValueOutOfRange(newValue, this.$props)) {\n this.$emit('change', nextValue);\n }\n },\n onChange(state) {\n const isNotControlled = !hasProp(this, 'value');\n const nextState = state.sValue > this.max ? { ...state, sValue: this.max } : state;\n if (isNotControlled) {\n this.setState(nextState);\n }\n\n const changedValue = nextState.sValue;\n this.$emit('change', changedValue);\n },\n onStart(position) {\n this.setState({ dragging: true });\n const { sValue } = this;\n this.$emit('beforeChange', sValue);\n\n const value = this.calcValueByPos(position);\n\n this.startValue = value;\n this.startPosition = position;\n if (value === sValue) return;\n\n this.prevMovedHandleIndex = 0;\n this.onChange({ sValue: value });\n },\n onEnd(force) {\n const { dragging } = this;\n this.removeDocumentEvents();\n if (dragging || force) {\n this.$emit('afterChange', this.sValue);\n }\n this.setState({ dragging: false });\n },\n onMove(e, position) {\n utils.pauseEvent(e);\n const { sValue } = this;\n const value = this.calcValueByPos(position);\n if (value === sValue) return;\n\n this.onChange({ sValue: value });\n },\n onKeyboard(e) {\n const { reverse, vertical } = this.$props;\n const valueMutator = utils.getKeyboardValueMutator(e, vertical, reverse);\n if (valueMutator) {\n utils.pauseEvent(e);\n const { sValue } = this;\n const mutatedValue = valueMutator(sValue, this.$props);\n const value = this.trimAlignValue(mutatedValue);\n if (value === sValue) return;\n\n this.onChange({ sValue: value });\n this.$emit('afterChange', value);\n this.onEnd();\n }\n },\n getLowerBound() {\n return this.min;\n },\n getUpperBound() {\n return this.sValue;\n },\n trimAlignValue(v, nextProps = {}) {\n if (v === null) {\n return null;\n }\n const mergedProps = { ...this.$props, ...nextProps };\n const val = utils.ensureValueInRange(v, mergedProps);\n return utils.ensureValuePrecision(val, mergedProps);\n },\n getTrack({ prefixCls, reverse, vertical, included, offset, minimumTrackStyle, _trackStyle }) {\n return (\n <Track\n class={`${prefixCls}-track`}\n vertical={vertical}\n included={included}\n offset={0}\n reverse={reverse}\n length={offset}\n style={{\n ...minimumTrackStyle,\n ..._trackStyle,\n }}\n />\n );\n },\n renderSlider() {\n const {\n prefixCls,\n vertical,\n included,\n disabled,\n minimumTrackStyle,\n trackStyle,\n handleStyle,\n tabIndex,\n min,\n max,\n reverse,\n handle,\n defaultHandle,\n } = this;\n const handleGenerator = handle || defaultHandle;\n const { sValue, dragging } = this;\n const offset = this.calcOffset(sValue);\n const handles = handleGenerator({\n className: `${prefixCls}-handle`,\n prefixCls,\n vertical,\n offset,\n value: sValue,\n dragging,\n disabled,\n min,\n max,\n reverse,\n index: 0,\n tabIndex,\n style: handleStyle[0] || handleStyle,\n directives: [\n {\n name: 'ant-ref',\n value: h => this.saveHandle(0, h),\n },\n ],\n on: {\n focus: this.onFocus,\n blur: this.onBlur,\n },\n });\n\n const _trackStyle = trackStyle[0] || trackStyle;\n return {\n tracks: this.getTrack({\n prefixCls,\n reverse,\n vertical,\n included,\n offset,\n minimumTrackStyle,\n _trackStyle,\n }),\n handles,\n };\n },\n },\n};\n\nexport default createSlider(Slider);\n","import classNames from 'classnames';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { initDefaultProps, hasProp } from '../../_util/props-util';\nimport Track from './common/Track';\nimport createSlider from './common/createSlider';\nimport * as utils from './utils';\n\nconst trimAlignValue = ({ value, handle, bounds, props }) => {\n const { allowCross, pushable } = props;\n const thershold = Number(pushable);\n const valInRange = utils.ensureValueInRange(value, props);\n let valNotConflict = valInRange;\n if (!allowCross && handle != null && bounds !== undefined) {\n if (handle > 0 && valInRange <= bounds[handle - 1] + thershold) {\n valNotConflict = bounds[handle - 1] + thershold;\n }\n if (handle < bounds.length - 1 && valInRange >= bounds[handle + 1] - thershold) {\n valNotConflict = bounds[handle + 1] - thershold;\n }\n }\n return utils.ensureValuePrecision(valNotConflict, props);\n};\n\nconst rangeProps = {\n defaultValue: PropTypes.arrayOf(PropTypes.number),\n value: PropTypes.arrayOf(PropTypes.number),\n count: PropTypes.number,\n pushable: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n allowCross: PropTypes.bool,\n disabled: PropTypes.bool,\n reverse: PropTypes.bool,\n tabIndex: PropTypes.arrayOf(PropTypes.number),\n prefixCls: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n autoFocus: PropTypes.bool,\n};\nconst Range = {\n name: 'Range',\n displayName: 'Range',\n mixins: [BaseMixin],\n props: initDefaultProps(rangeProps, {\n count: 1,\n allowCross: true,\n pushable: false,\n tabIndex: [],\n }),\n data() {\n const { count, min, max } = this;\n const initialValue = Array(...Array(count + 1)).map(() => min);\n const defaultValue = hasProp(this, 'defaultValue') ? this.defaultValue : initialValue;\n let { value } = this;\n if (value === undefined) {\n value = defaultValue;\n }\n const bounds = value.map((v, i) =>\n trimAlignValue({\n value: v,\n handle: i,\n props: this.$props,\n }),\n );\n const recent = bounds[0] === max ? 0 : bounds.length - 1;\n return {\n sHandle: null,\n recent,\n bounds,\n };\n },\n watch: {\n value: {\n handler(val) {\n const { bounds } = this;\n this.setChangeValue(val || bounds);\n },\n deep: true,\n },\n min() {\n const { value } = this;\n this.setChangeValue(value || this.bounds);\n },\n max() {\n const { value } = this;\n this.setChangeValue(value || this.bounds);\n },\n },\n methods: {\n setChangeValue(value) {\n const { bounds } = this;\n const nextBounds = value.map((v, i) =>\n trimAlignValue({\n value: v,\n handle: i,\n bounds,\n props: this.$props,\n }),\n );\n if (nextBounds.length === bounds.length && nextBounds.every((v, i) => v === bounds[i]))\n return;\n\n this.setState({ bounds: nextBounds });\n\n if (value.some(v => utils.isValueOutOfRange(v, this.$props))) {\n const newValues = value.map(v => {\n return utils.ensureValueInRange(v, this.$props);\n });\n this.$emit('change', newValues);\n }\n },\n onChange(state) {\n const isNotControlled = !hasProp(this, 'value');\n if (isNotControlled) {\n this.setState(state);\n } else {\n const controlledState = {};\n\n ['sHandle', 'recent'].forEach(item => {\n if (state[item] !== undefined) {\n controlledState[item] = state[item];\n }\n });\n\n if (Object.keys(controlledState).length) {\n this.setState(controlledState);\n }\n }\n\n const data = { ...this.$data, ...state };\n const changedValue = data.bounds;\n this.$emit('change', changedValue);\n },\n onStart(position) {\n const { bounds } = this;\n this.$emit('beforeChange', bounds);\n\n const value = this.calcValueByPos(position);\n this.startValue = value;\n this.startPosition = position;\n\n const closestBound = this.getClosestBound(value);\n this.prevMovedHandleIndex = this.getBoundNeedMoving(value, closestBound);\n\n this.setState({\n sHandle: this.prevMovedHandleIndex,\n recent: this.prevMovedHandleIndex,\n });\n\n const prevValue = bounds[this.prevMovedHandleIndex];\n if (value === prevValue) return;\n const nextBounds = [...bounds];\n nextBounds[this.prevMovedHandleIndex] = value;\n this.onChange({ bounds: nextBounds });\n },\n onEnd(force) {\n const { sHandle } = this;\n this.removeDocumentEvents();\n if (sHandle !== null || force) {\n this.$emit('afterChange', this.bounds);\n }\n this.setState({ sHandle: null });\n },\n onMove(e, position) {\n utils.pauseEvent(e);\n const { bounds, sHandle } = this;\n const value = this.calcValueByPos(position);\n const oldValue = bounds[sHandle];\n if (value === oldValue) return;\n\n this.moveTo(value);\n },\n onKeyboard(e) {\n const { reverse, vertical } = this.$props;\n const valueMutator = utils.getKeyboardValueMutator(e, vertical, reverse);\n\n if (valueMutator) {\n utils.pauseEvent(e);\n const { bounds, sHandle } = this;\n const oldValue = bounds[sHandle === null ? this.recent : sHandle];\n const mutatedValue = valueMutator(oldValue, this.$props);\n const value = trimAlignValue({\n value: mutatedValue,\n handle: sHandle,\n bounds,\n props: this.$props,\n });\n if (value === oldValue) return;\n const isFromKeyboardEvent = true;\n this.moveTo(value, isFromKeyboardEvent);\n }\n },\n getClosestBound(value) {\n const { bounds } = this;\n let closestBound = 0;\n for (let i = 1; i < bounds.length - 1; ++i) {\n if (value > bounds[i]) {\n closestBound = i;\n }\n }\n if (Math.abs(bounds[closestBound + 1] - value) < Math.abs(bounds[closestBound] - value)) {\n closestBound += 1;\n }\n return closestBound;\n },\n getBoundNeedMoving(value, closestBound) {\n const { bounds, recent } = this;\n let boundNeedMoving = closestBound;\n const isAtTheSamePoint = bounds[closestBound + 1] === bounds[closestBound];\n\n if (isAtTheSamePoint && bounds[recent] === bounds[closestBound]) {\n boundNeedMoving = recent;\n }\n\n if (isAtTheSamePoint && value !== bounds[closestBound + 1]) {\n boundNeedMoving = value < bounds[closestBound + 1] ? closestBound : closestBound + 1;\n }\n return boundNeedMoving;\n },\n getLowerBound() {\n return this.bounds[0];\n },\n getUpperBound() {\n const { bounds } = this;\n return bounds[bounds.length - 1];\n },\n /**\n * Returns an array of possible slider points, taking into account both\n * `marks` and `step`. The result is cached.\n */\n getPoints() {\n const { marks, step, min, max } = this;\n const cache = this._getPointsCache;\n if (!cache || cache.marks !== marks || cache.step !== step) {\n const pointsObject = { ...marks };\n if (step !== null) {\n for (let point = min; point <= max; point += step) {\n pointsObject[point] = point;\n }\n }\n const points = Object.keys(pointsObject).map(parseFloat);\n points.sort((a, b) => a - b);\n this._getPointsCache = { marks, step, points };\n }\n return this._getPointsCache.points;\n },\n\n moveTo(value, isFromKeyboardEvent) {\n const nextBounds = [...this.bounds];\n const { sHandle, recent } = this;\n const handle = sHandle === null ? recent : sHandle;\n nextBounds[handle] = value;\n let nextHandle = handle;\n if (this.$props.pushable !== false) {\n this.pushSurroundingHandles(nextBounds, nextHandle);\n } else if (this.$props.allowCross) {\n nextBounds.sort((a, b) => a - b);\n nextHandle = nextBounds.indexOf(value);\n }\n this.onChange({\n recent: nextHandle,\n sHandle: nextHandle,\n bounds: nextBounds,\n });\n if (isFromKeyboardEvent) {\n // known problem: because setState is async,\n // so trigger focus will invoke handler's onEnd and another handler's onStart too early,\n // cause onBeforeChange and onAfterChange receive wrong value.\n // here use setState callback to hack,but not elegant\n this.$emit('afterChange', nextBounds);\n this.setState({}, () => {\n this.handlesRefs[nextHandle].focus();\n });\n this.onEnd();\n }\n },\n\n pushSurroundingHandles(bounds, handle) {\n const value = bounds[handle];\n let { pushable: threshold } = this;\n threshold = Number(threshold);\n\n let direction = 0;\n if (bounds[handle + 1] - value < threshold) {\n direction = +1; // push to right\n }\n if (value - bounds[handle - 1] < threshold) {\n direction = -1; // push to left\n }\n\n if (direction === 0) {\n return;\n }\n\n const nextHandle = handle + direction;\n const diffToNext = direction * (bounds[nextHandle] - value);\n if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {\n // revert to original value if pushing is impossible\n bounds[handle] = bounds[nextHandle] - direction * threshold;\n }\n },\n pushHandle(bounds, handle, direction, amount) {\n const originalValue = bounds[handle];\n let currentValue = bounds[handle];\n while (direction * (currentValue - originalValue) < amount) {\n if (!this.pushHandleOnePoint(bounds, handle, direction)) {\n // can't push handle enough to create the needed `amount` gap, so we\n // revert its position to the original value\n bounds[handle] = originalValue;\n return false;\n }\n currentValue = bounds[handle];\n }\n // the handle was pushed enough to create the needed `amount` gap\n return true;\n },\n pushHandleOnePoint(bounds, handle, direction) {\n const points = this.getPoints();\n const pointIndex = points.indexOf(bounds[handle]);\n const nextPointIndex = pointIndex + direction;\n if (nextPointIndex >= points.length || nextPointIndex < 0) {\n // reached the minimum or maximum available point, can't push anymore\n return false;\n }\n const nextHandle = handle + direction;\n const nextValue = points[nextPointIndex];\n const { pushable: threshold } = this;\n const diffToNext = direction * (bounds[nextHandle] - nextValue);\n if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {\n // couldn't push next handle, so we won't push this one either\n return false;\n }\n // push the handle\n bounds[handle] = nextValue;\n return true;\n },\n trimAlignValue(value) {\n const { sHandle, bounds } = this;\n return trimAlignValue({\n value,\n handle: sHandle,\n bounds,\n props: this.$props,\n });\n },\n ensureValueNotConflict(handle, val, { allowCross, pushable: thershold }) {\n const state = this.$data || {};\n const { bounds } = state;\n handle = handle === undefined ? state.sHandle : handle;\n thershold = Number(thershold);\n /* eslint-disable eqeqeq */\n if (!allowCross && handle != null && bounds !== undefined) {\n if (handle > 0 && val <= bounds[handle - 1] + thershold) {\n return bounds[handle - 1] + thershold;\n }\n if (handle < bounds.length - 1 && val >= bounds[handle + 1] - thershold) {\n return bounds[handle + 1] - thershold;\n }\n }\n /* eslint-enable eqeqeq */\n return val;\n },\n getTrack({ bounds, prefixCls, reverse, vertical, included, offsets, trackStyle }) {\n return bounds.slice(0, -1).map((_, index) => {\n const i = index + 1;\n const trackClassName = classNames({\n [`${prefixCls}-track`]: true,\n [`${prefixCls}-track-${i}`]: true,\n });\n return (\n <Track\n class={trackClassName}\n vertical={vertical}\n reverse={reverse}\n included={included}\n offset={offsets[i - 1]}\n length={offsets[i] - offsets[i - 1]}\n style={trackStyle[index]}\n key={i}\n />\n );\n });\n },\n renderSlider() {\n const {\n sHandle,\n bounds,\n prefixCls,\n vertical,\n included,\n disabled,\n min,\n max,\n reverse,\n handle,\n defaultHandle,\n trackStyle,\n handleStyle,\n tabIndex,\n } = this;\n const handleGenerator = handle || defaultHandle;\n const offsets = bounds.map(v => this.calcOffset(v));\n\n const handleClassName = `${prefixCls}-handle`;\n const handles = bounds.map((v, i) => {\n let _tabIndex = tabIndex[i] || 0;\n if (disabled || tabIndex[i] === null) {\n _tabIndex = null;\n }\n return handleGenerator({\n className: classNames({\n [handleClassName]: true,\n [`${handleClassName}-${i + 1}`]: true,\n }),\n prefixCls,\n vertical,\n offset: offsets[i],\n value: v,\n dragging: sHandle === i,\n index: i,\n tabIndex: _tabIndex,\n min,\n max,\n reverse,\n disabled,\n style: handleStyle[i],\n directives: [\n {\n name: 'ant-ref',\n value: h => this.saveHandle(i, h),\n },\n ],\n on: {\n focus: this.onFocus,\n blur: this.onBlur,\n },\n });\n });\n\n return {\n tracks: this.getTrack({\n bounds,\n prefixCls,\n reverse,\n vertical,\n included,\n offsets,\n trackStyle,\n }),\n handles,\n };\n },\n },\n};\n\nexport default createSlider(Range);\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getOptionProps, getListeners } from '../_util/props-util';\nimport VcSlider from '../vc-slider/src/Slider';\nimport VcRange from '../vc-slider/src/Range';\nimport VcHandle from '../vc-slider/src/Handle';\nimport Tooltip from '../tooltip';\nimport Base from '../base';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport abstractTooltipProps from '../tooltip/abstractTooltipProps';\n\n// export interface SliderMarks {\n// [key]: React.ReactNode | {\n// style: React.CSSProperties,\n// label: React.ReactNode,\n// };\n// }\n// const SliderMarks = PropTypes.shape({\n// style: PropTypes.object,\n// label: PropTypes.any,\n// }).loose\nconst tooltipProps = abstractTooltipProps();\nexport const SliderProps = () => ({\n prefixCls: PropTypes.string,\n tooltipPrefixCls: PropTypes.string,\n range: PropTypes.bool,\n reverse: PropTypes.bool,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.oneOfType([PropTypes.number, PropTypes.any]),\n marks: PropTypes.object,\n dots: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)]),\n defaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)]),\n included: PropTypes.bool,\n disabled: PropTypes.bool,\n vertical: PropTypes.bool,\n tipFormatter: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n tooltipVisible: PropTypes.bool,\n tooltipPlacement: tooltipProps.placement,\n getTooltipPopupContainer: PropTypes.func,\n});\n\nconst Slider = {\n name: 'ASlider',\n model: {\n prop: 'value',\n event: 'change',\n },\n mixins: [BaseMixin],\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n props: {\n ...SliderProps(),\n tipFormatter: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).def(value =>\n value.toString(),\n ),\n },\n data() {\n return {\n visibles: {},\n };\n },\n methods: {\n toggleTooltipVisible(index, visible) {\n this.setState(({ visibles }) => ({\n visibles: {\n ...visibles,\n [index]: visible,\n },\n }));\n },\n handleWithTooltip(\n tooltipPrefixCls,\n prefixCls,\n { value, dragging, index, directives, on, ...restProps },\n ) {\n const {\n tipFormatter,\n tooltipVisible,\n tooltipPlacement,\n getTooltipPopupContainer,\n } = this.$props;\n const { visibles } = this;\n const isTipFormatter = tipFormatter ? visibles[index] || dragging : false;\n const visible = tooltipVisible || (tooltipVisible === undefined && isTipFormatter);\n const tooltipProps = {\n props: {\n prefixCls: tooltipPrefixCls,\n title: tipFormatter ? tipFormatter(value) : '',\n visible,\n placement: tooltipPlacement || 'top',\n transitionName: 'zoom-down',\n overlayClassName: `${prefixCls}-tooltip`,\n getPopupContainer: getTooltipPopupContainer || (() => document.body),\n },\n key: index,\n };\n const handleProps = {\n props: {\n value,\n ...restProps,\n },\n directives,\n on: {\n ...on,\n mouseenter: () => this.toggleTooltipVisible(index, true),\n mouseleave: () => this.toggleTooltipVisible(index, false),\n },\n };\n return (\n <Tooltip {...tooltipProps}>\n <VcHandle {...handleProps} />\n </Tooltip>\n );\n },\n focus() {\n this.$refs.sliderRef.focus();\n },\n blur() {\n this.$refs.sliderRef.blur();\n },\n },\n render() {\n const {\n range,\n prefixCls: customizePrefixCls,\n tooltipPrefixCls: customizeTooltipPrefixCls,\n ...restProps\n } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('slider', customizePrefixCls);\n const tooltipPrefixCls = getPrefixCls('tooltip', customizeTooltipPrefixCls);\n const listeners = getListeners(this);\n if (range) {\n const vcRangeProps = {\n props: {\n ...restProps,\n prefixCls,\n tooltipPrefixCls,\n handle: info => this.handleWithTooltip(tooltipPrefixCls, prefixCls, info),\n },\n ref: 'sliderRef',\n on: listeners,\n };\n return <VcRange {...vcRangeProps} />;\n }\n const vcSliderProps = {\n props: {\n ...restProps,\n prefixCls,\n tooltipPrefixCls,\n handle: info => this.handleWithTooltip(tooltipPrefixCls, prefixCls, info),\n },\n ref: 'sliderRef',\n on: listeners,\n };\n return <VcSlider {...vcSliderProps} />;\n },\n};\n\n/* istanbul ignore next */\nSlider.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Slider.name, Slider);\n};\n\nexport default Slider;\n","import padEnd from 'lodash/padEnd';\n\nexport default {\n name: 'AStatisticNumber',\n functional: true,\n render(h, context) {\n const {\n value,\n formatter,\n precision,\n decimalSeparator,\n groupSeparator = '',\n prefixCls,\n } = context.props;\n let valueNode;\n\n if (typeof formatter === 'function') {\n // Customize formatter\n valueNode = formatter({ value, h });\n } else {\n // Internal formatter\n const val = String(value);\n const cells = val.match(/^(-?)(\\d*)(\\.(\\d+))?$/);\n // Process if illegal number\n if (!cells) {\n valueNode = val;\n } else {\n const negative = cells[1];\n let int = cells[2] || '0';\n let decimal = cells[4] || '';\n\n int = int.replace(/\\B(?=(\\d{3})+(?!\\d))/g, groupSeparator);\n if (typeof precision === 'number') {\n decimal = padEnd(decimal, precision, '0').slice(0, precision);\n }\n\n if (decimal) {\n decimal = `${decimalSeparator}${decimal}`;\n }\n\n valueNode = [\n <span key=\"int\" class={`${prefixCls}-content-value-int`}>\n {negative}\n {int}\n </span>,\n decimal && (\n <span key=\"decimal\" class={`${prefixCls}-content-value-decimal`}>\n {decimal}\n </span>\n ),\n ];\n }\n }\n\n return <span class={`${prefixCls}-content-value`}>{valueNode}</span>;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { getComponentFromProp, initDefaultProps } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport StatisticNumber from './Number';\n\nexport const StatisticProps = {\n prefixCls: PropTypes.string,\n decimalSeparator: PropTypes.string,\n groupSeparator: PropTypes.string,\n format: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]),\n valueStyle: PropTypes.any,\n valueRender: PropTypes.any,\n formatter: PropTypes.any,\n precision: PropTypes.number,\n prefix: PropTypes.any,\n suffix: PropTypes.any,\n title: PropTypes.any,\n};\n\nexport default {\n name: 'AStatistic',\n props: initDefaultProps(StatisticProps, {\n decimalSeparator: '.',\n groupSeparator: ',',\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n\n render() {\n const { prefixCls: customizePrefixCls, value = 0, valueStyle, valueRender } = this.$props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('statistic', customizePrefixCls);\n\n const title = getComponentFromProp(this, 'title');\n let prefix = getComponentFromProp(this, 'prefix');\n let suffix = getComponentFromProp(this, 'suffix');\n const formatter = getComponentFromProp(this, 'formatter', {}, false);\n let valueNode = (\n <StatisticNumber {...{ props: { ...this.$props, prefixCls, value, formatter } }} />\n );\n if (valueRender) {\n valueNode = valueRender(valueNode);\n }\n\n return (\n <div class={prefixCls}>\n {title && <div class={`${prefixCls}-title`}>{title}</div>}\n <div style={valueStyle} class={`${prefixCls}-content`}>\n {prefix && <span class={`${prefixCls}-content-prefix`}>{prefix}</span>}\n {valueNode}\n {suffix && <span class={`${prefixCls}-content-suffix`}>{suffix}</span>}\n </div>\n </div>\n );\n },\n};\n","import * as moment from 'moment';\nimport padStart from 'lodash/padStart';\n\nimport interopDefault from '../_util/interopDefault';\n\n// Countdown\nconst timeUnits = [\n ['Y', 1000 * 60 * 60 * 24 * 365], // years\n ['M', 1000 * 60 * 60 * 24 * 30], // months\n ['D', 1000 * 60 * 60 * 24], // days\n ['H', 1000 * 60 * 60], // hours\n ['m', 1000 * 60], // minutes\n ['s', 1000], // seconds\n ['S', 1], // million seconds\n];\n\nexport function formatTimeStr(duration, format) {\n let leftDuration = duration;\n\n const escapeRegex = /\\[[^\\]]*\\]/g;\n const keepList = (format.match(escapeRegex) || []).map(str => str.slice(1, -1));\n const templateText = format.replace(escapeRegex, '[]');\n\n const replacedText = timeUnits.reduce((current, [name, unit]) => {\n if (current.indexOf(name) !== -1) {\n const value = Math.floor(leftDuration / unit);\n leftDuration -= value * unit;\n return current.replace(new RegExp(`${name}+`, 'g'), match => {\n const len = match.length;\n return padStart(value.toString(), len, '0');\n });\n }\n return current;\n }, templateText);\n\n let index = 0;\n return replacedText.replace(escapeRegex, () => {\n const match = keepList[index];\n index += 1;\n return match;\n });\n}\n\nexport function formatCountdown(value, config) {\n const { format = '' } = config;\n const target = interopDefault(moment)(value).valueOf();\n const current = interopDefault(moment)().valueOf();\n const diff = Math.max(target - current, 0);\n return formatTimeStr(diff, format);\n}\n","import * as moment from 'moment';\nimport interopDefault from '../_util/interopDefault';\nimport { initDefaultProps, getListeners } from '../_util/props-util';\nimport Statistic, { StatisticProps } from './Statistic';\nimport { formatCountdown } from './utils';\n\nconst REFRESH_INTERVAL = 1000 / 30;\n\nfunction getTime(value) {\n return interopDefault(moment)(value).valueOf();\n}\n\nexport default {\n name: 'AStatisticCountdown',\n props: initDefaultProps(StatisticProps, {\n format: 'HH:mm:ss',\n }),\n\n created() {\n this.countdownId = undefined;\n },\n\n mounted() {\n this.syncTimer();\n },\n\n updated() {\n this.syncTimer();\n },\n\n beforeDestroy() {\n this.stopTimer();\n },\n\n methods: {\n syncTimer() {\n const { value } = this.$props;\n const timestamp = getTime(value);\n if (timestamp >= Date.now()) {\n this.startTimer();\n } else {\n this.stopTimer();\n }\n },\n\n startTimer() {\n if (this.countdownId) return;\n this.countdownId = window.setInterval(() => {\n this.$refs.statistic.$forceUpdate();\n this.syncTimer();\n }, REFRESH_INTERVAL);\n },\n\n stopTimer() {\n const { value } = this.$props;\n if (this.countdownId) {\n clearInterval(this.countdownId);\n this.countdownId = undefined;\n\n const timestamp = getTime(value);\n if (timestamp < Date.now()) {\n this.$emit('finish');\n }\n }\n },\n\n formatCountdown({ value, config }) {\n const { format } = this.$props;\n return formatCountdown(value, { ...config, format });\n },\n\n valueRenderHtml: node => node,\n },\n\n render() {\n return (\n <Statistic\n ref=\"statistic\"\n {...{\n props: {\n ...this.$props,\n valueRender: this.valueRenderHtml,\n formatter: this.formatCountdown,\n },\n on: getListeners(this),\n }}\n />\n );\n },\n};\n","import Statistic from './Statistic';\nimport Countdown from './Countdown';\nimport Base from '../base';\n\nStatistic.Countdown = Countdown;\n/* istanbul ignore next */\nStatistic.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Statistic.name, Statistic);\n Vue.component(Statistic.Countdown.name, Statistic.Countdown);\n};\n\nexport default Statistic;\n","export default function isFlexSupported() {\n if (typeof window !== 'undefined' && window.document && window.document.documentElement) {\n const { documentElement } = window.document;\n return (\n 'flex' in documentElement.style ||\n 'webkitFlex' in documentElement.style ||\n 'Flex' in documentElement.style ||\n 'msFlex' in documentElement.style\n );\n }\n return false;\n}\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport debounce from 'lodash/debounce';\nimport isFlexSupported from '../_util/isFlexSupported';\nimport { filterEmpty, getEvents, getPropsData, getListeners } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\n\nexport default {\n name: 'Steps',\n mixins: [BaseMixin],\n props: {\n type: PropTypes.string.def('default'),\n prefixCls: PropTypes.string.def('rc-steps'),\n iconPrefix: PropTypes.string.def('rc'),\n direction: PropTypes.string.def('horizontal'),\n labelPlacement: PropTypes.string.def('horizontal'),\n status: PropTypes.string.def('process'),\n size: PropTypes.string.def(''),\n progressDot: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n initial: PropTypes.number.def(0),\n current: PropTypes.number.def(0),\n icons: PropTypes.shape({\n finish: PropTypes.any,\n error: PropTypes.any,\n }).loose,\n },\n data() {\n this.calcStepOffsetWidth = debounce(this.calcStepOffsetWidth, 150);\n return {\n flexSupported: true,\n lastStepOffsetWidth: 0,\n };\n },\n mounted() {\n this.$nextTick(() => {\n this.calcStepOffsetWidth();\n if (!isFlexSupported()) {\n this.setState({\n flexSupported: false,\n });\n }\n });\n },\n updated() {\n this.$nextTick(() => {\n this.calcStepOffsetWidth();\n });\n },\n beforeDestroy() {\n if (this.calcTimeout) {\n clearTimeout(this.calcTimeout);\n }\n if (this.calcStepOffsetWidth && this.calcStepOffsetWidth.cancel) {\n this.calcStepOffsetWidth.cancel();\n }\n },\n methods: {\n onStepClick(next) {\n const { current } = this.$props;\n if (current !== next) {\n this.$emit('change', next);\n }\n },\n calcStepOffsetWidth() {\n if (isFlexSupported()) {\n return;\n }\n const { lastStepOffsetWidth } = this.$data;\n // Just for IE9\n const domNode = this.$refs.vcStepsRef;\n if (domNode.children.length > 0) {\n if (this.calcTimeout) {\n clearTimeout(this.calcTimeout);\n }\n this.calcTimeout = setTimeout(() => {\n // +1 for fit edge bug of digit width, like 35.4px\n const offsetWidth = (domNode.lastChild.offsetWidth || 0) + 1;\n // Reduce shake bug\n if (\n lastStepOffsetWidth === offsetWidth ||\n Math.abs(lastStepOffsetWidth - offsetWidth) <= 3\n ) {\n return;\n }\n this.setState({ lastStepOffsetWidth: offsetWidth });\n });\n }\n },\n },\n render() {\n const {\n prefixCls,\n direction,\n type,\n labelPlacement,\n iconPrefix,\n status,\n size,\n current,\n $scopedSlots,\n initial,\n icons,\n } = this;\n const isNav = type === 'navigation';\n let progressDot = this.progressDot;\n if (progressDot === undefined) {\n progressDot = $scopedSlots.progressDot;\n }\n const { lastStepOffsetWidth, flexSupported } = this;\n const filteredChildren = filterEmpty(this.$slots.default);\n const lastIndex = filteredChildren.length - 1;\n const adjustedlabelPlacement = progressDot ? 'vertical' : labelPlacement;\n const classString = {\n [prefixCls]: true,\n [`${prefixCls}-${direction}`]: true,\n [`${prefixCls}-${size}`]: size,\n [`${prefixCls}-label-${adjustedlabelPlacement}`]: direction === 'horizontal',\n [`${prefixCls}-dot`]: !!progressDot,\n [`${prefixCls}-navigation`]: isNav,\n [`${prefixCls}-flex-not-supported`]: !flexSupported,\n };\n const listeners = getListeners(this);\n const stepsProps = {\n class: classString,\n ref: 'vcStepsRef',\n on: listeners,\n };\n return (\n <div {...stepsProps}>\n {filteredChildren.map((child, index) => {\n const childProps = getPropsData(child);\n const stepNumber = initial + index;\n const stepProps = {\n props: {\n stepNumber: `${stepNumber + 1}`,\n stepIndex: stepNumber,\n prefixCls,\n iconPrefix,\n progressDot: this.progressDot,\n icons,\n ...childProps,\n },\n on: getEvents(child),\n scopedSlots: $scopedSlots,\n };\n if (listeners.change) {\n stepProps.on.stepClick = this.onStepClick;\n }\n if (!flexSupported && direction !== 'vertical') {\n if (isNav) {\n stepProps.props.itemWidth = `${100 / (lastIndex + 1)}%`;\n stepProps.props.adjustMarginRight = 0;\n } else if (index !== lastIndex) {\n stepProps.props.itemWidth = `${100 / lastIndex}%`;\n stepProps.props.adjustMarginRight = `${-Math.round(\n lastStepOffsetWidth / lastIndex + 1,\n )}px`;\n }\n }\n // fix tail color\n if (status === 'error' && index === current - 1) {\n stepProps.class = `${prefixCls}-next-error`;\n }\n if (!childProps.status) {\n if (stepNumber === current) {\n stepProps.props.status = status;\n } else if (stepNumber < current) {\n stepProps.props.status = 'finish';\n } else {\n stepProps.props.status = 'wait';\n }\n }\n stepProps.props.active = stepNumber === current;\n return cloneElement(child, stepProps);\n })}\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { getOptionProps, getComponentFromProp, getListeners } from '../_util/props-util';\n\nfunction isString(str) {\n return typeof str === 'string';\n}\nfunction noop() {}\nexport default {\n name: 'Step',\n props: {\n prefixCls: PropTypes.string,\n wrapperStyle: PropTypes.object,\n itemWidth: PropTypes.string,\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n status: PropTypes.string,\n iconPrefix: PropTypes.string,\n icon: PropTypes.any,\n adjustMarginRight: PropTypes.string,\n stepNumber: PropTypes.string,\n stepIndex: PropTypes.number,\n description: PropTypes.any,\n title: PropTypes.any,\n subTitle: PropTypes.any,\n progressDot: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n tailContent: PropTypes.any,\n icons: PropTypes.shape({\n finish: PropTypes.any,\n error: PropTypes.any,\n }).loose,\n },\n methods: {\n onClick(...args) {\n this.$emit('click', ...args);\n this.$emit('stepClick', this.stepIndex);\n },\n renderIconNode() {\n const { prefixCls, stepNumber, status, iconPrefix, icons } = getOptionProps(this);\n let progressDot = this.progressDot;\n if (progressDot === undefined) {\n progressDot = this.$scopedSlots.progressDot;\n }\n const icon = getComponentFromProp(this, 'icon');\n const title = getComponentFromProp(this, 'title');\n const description = getComponentFromProp(this, 'description');\n let iconNode;\n const iconClassName = {\n [`${prefixCls}-icon`]: true,\n [`${iconPrefix}icon`]: true,\n [`${iconPrefix}icon-${icon}`]: icon && isString(icon),\n [`${iconPrefix}icon-check`]: !icon && status === 'finish' && icons && !icons.finish,\n [`${iconPrefix}icon-close`]: !icon && status === 'error' && icons && !icons.error,\n };\n const iconDot = <span class={`${prefixCls}-icon-dot`} />;\n // `progressDot` enjoy the highest priority\n if (progressDot) {\n if (typeof progressDot === 'function') {\n iconNode = (\n <span class={`${prefixCls}-icon`}>\n {progressDot({ index: stepNumber - 1, status, title, description, prefixCls })}\n </span>\n );\n } else {\n iconNode = <span class={`${prefixCls}-icon`}>{iconDot}</span>;\n }\n } else if (icon && !isString(icon)) {\n iconNode = <span class={`${prefixCls}-icon`}>{icon}</span>;\n } else if (icons && icons.finish && status === 'finish') {\n iconNode = <span class={`${prefixCls}-icon`}>{icons.finish}</span>;\n } else if (icons && icons.error && status === 'error') {\n iconNode = <span class={`${prefixCls}-icon`}>{icons.error}</span>;\n } else if (icon || status === 'finish' || status === 'error') {\n iconNode = <span class={iconClassName} />;\n } else {\n iconNode = <span class={`${prefixCls}-icon`}>{stepNumber}</span>;\n }\n return iconNode;\n },\n },\n render() {\n const {\n prefixCls,\n itemWidth,\n active,\n status = 'wait',\n tailContent,\n adjustMarginRight,\n disabled,\n } = getOptionProps(this);\n\n const title = getComponentFromProp(this, 'title');\n const subTitle = getComponentFromProp(this, 'subTitle');\n const description = getComponentFromProp(this, 'description');\n\n const classString = {\n [`${prefixCls}-item`]: true,\n [`${prefixCls}-item-${status}`]: true,\n [`${prefixCls}-item-custom`]: getComponentFromProp(this, 'icon'),\n [`${prefixCls}-item-active`]: active,\n [`${prefixCls}-item-disabled`]: disabled === true,\n };\n const stepProps = {\n class: classString,\n on: getListeners(this),\n };\n const stepItemStyle = {};\n if (itemWidth) {\n stepItemStyle.width = itemWidth;\n }\n if (adjustMarginRight) {\n stepItemStyle.marginRight = adjustMarginRight;\n }\n const listeners = getListeners(this);\n const accessibilityProps = {\n attrs: {},\n on: {\n click: listeners.click || noop,\n },\n };\n if (listeners.stepClick && !disabled) {\n accessibilityProps.attrs.role = 'button';\n accessibilityProps.attrs.tabIndex = 0;\n accessibilityProps.on.click = this.onClick;\n }\n return (\n <div {...stepProps} style={stepItemStyle}>\n <div {...accessibilityProps} class={`${prefixCls}-item-container`}>\n <div class={`${prefixCls}-item-tail`}>{tailContent}</div>\n <div class={`${prefixCls}-item-icon`}>{this.renderIconNode()}</div>\n <div class={`${prefixCls}-item-content`}>\n <div class={`${prefixCls}-item-title`}>\n {title}\n {subTitle && (\n <div title={subTitle} class={`${prefixCls}-item-subtitle`}>\n {subTitle}\n </div>\n )}\n </div>\n {description && <div class={`${prefixCls}-item-description`}>{description}</div>}\n </div>\n </div>\n </div>\n );\n },\n};\n","// base rc-steps 3.5.0\nimport Steps from './Steps';\nimport Step from './Step';\n\nSteps.Step = Step;\n\nexport { Step };\nexport default Steps;\n","import PropTypes from '../_util/vue-types';\nimport { initDefaultProps, getOptionProps, getListeners } from '../_util/props-util';\nimport VcSteps from '../vc-steps';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\n\nconst getStepsProps = (defaultProps = {}) => {\n const props = {\n prefixCls: PropTypes.string,\n iconPrefix: PropTypes.string,\n current: PropTypes.number,\n initial: PropTypes.number,\n labelPlacement: PropTypes.oneOf(['horizontal', 'vertical']).def('horizontal'),\n status: PropTypes.oneOf(['wait', 'process', 'finish', 'error']),\n size: PropTypes.oneOf(['default', 'small']),\n direction: PropTypes.oneOf(['horizontal', 'vertical']),\n progressDot: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n type: PropTypes.oneOf(['default', 'navigation']),\n };\n return initDefaultProps(props, defaultProps);\n};\n\nconst Steps = {\n name: 'ASteps',\n props: getStepsProps({\n current: 0,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n model: {\n prop: 'current',\n event: 'change',\n },\n Step: { ...VcSteps.Step, name: 'AStep' },\n render() {\n const props = getOptionProps(this);\n const { prefixCls: customizePrefixCls, iconPrefix: customizeIconPrefixCls } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('steps', customizePrefixCls);\n const iconPrefix = getPrefixCls('', customizeIconPrefixCls);\n\n const icons = {\n finish: <Icon type=\"check\" class={`${prefixCls}-finish-icon`} />,\n error: <Icon type=\"close\" class={`${prefixCls}-error-icon`} />,\n };\n const stepsProps = {\n props: {\n icons,\n iconPrefix,\n prefixCls,\n ...props,\n },\n on: getListeners(this),\n scopedSlots: this.$scopedSlots,\n };\n return <VcSteps {...stepsProps}>{this.$slots.default}</VcSteps>;\n },\n};\n\n/* istanbul ignore next */\nSteps.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Steps.name, Steps);\n Vue.component(Steps.Step.name, Steps.Step);\n};\n\nexport default Steps;\n","import PropTypes from '../_util/vue-types';\n\nexport const switchPropTypes = {\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool.def(false),\n checkedChildren: PropTypes.any,\n unCheckedChildren: PropTypes.any,\n // onChange: PropTypes.func,\n // onMouseUp: PropTypes.func,\n // onClick: PropTypes.func,\n tabIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n checked: PropTypes.bool.def(false),\n defaultChecked: PropTypes.bool.def(false),\n autoFocus: PropTypes.bool.def(false),\n loadingIcon: PropTypes.any,\n};\n","// base rc-switch 1.9.0\nimport Switch from './Switch';\n\nexport default Switch;\n","import { switchPropTypes } from './PropTypes';\nimport BaseMixin from '../_util/BaseMixin';\nimport { hasProp, getOptionProps, getComponentFromProp, getListeners } from '../_util/props-util';\n\n// function noop () {\n// }\nexport default {\n name: 'VcSwitch',\n mixins: [BaseMixin],\n model: {\n prop: 'checked',\n event: 'change',\n },\n props: {\n ...switchPropTypes,\n prefixCls: switchPropTypes.prefixCls.def('rc-switch'),\n // onChange: switchPropTypes.onChange.def(noop),\n // onClick: switchPropTypes.onClick.def(noop),\n },\n data() {\n let checked = false;\n if (hasProp(this, 'checked')) {\n checked = !!this.checked;\n } else {\n checked = !!this.defaultChecked;\n }\n return {\n stateChecked: checked,\n };\n },\n watch: {\n checked(val) {\n this.stateChecked = val;\n },\n },\n mounted() {\n this.$nextTick(() => {\n const { autoFocus, disabled } = this;\n if (autoFocus && !disabled) {\n this.focus();\n }\n });\n },\n methods: {\n setChecked(checked, e) {\n if (this.disabled) {\n return;\n }\n if (!hasProp(this, 'checked')) {\n this.stateChecked = checked;\n }\n this.$emit('change', checked, e);\n },\n handleClick(e) {\n const checked = !this.stateChecked;\n this.setChecked(checked, e);\n this.$emit('click', checked, e);\n },\n handleKeyDown(e) {\n if (e.keyCode === 37) {\n // Left\n this.setChecked(false, e);\n } else if (e.keyCode === 39) {\n // Right\n this.setChecked(true, e);\n }\n },\n handleMouseUp(e) {\n if (this.$refs.refSwitchNode) {\n this.$refs.refSwitchNode.blur();\n }\n this.$emit('mouseup', e);\n },\n focus() {\n this.$refs.refSwitchNode.focus();\n },\n blur() {\n this.$refs.refSwitchNode.blur();\n },\n },\n render() {\n const { prefixCls, disabled, loadingIcon, tabIndex, ...restProps } = getOptionProps(this);\n const checked = this.stateChecked;\n const switchClassName = {\n [prefixCls]: true,\n [`${prefixCls}-checked`]: checked,\n [`${prefixCls}-disabled`]: disabled,\n };\n const spanProps = {\n props: { ...restProps },\n on: {\n ...getListeners(this),\n keydown: this.handleKeyDown,\n click: this.handleClick,\n mouseup: this.handleMouseUp,\n },\n attrs: {\n type: 'button',\n role: 'switch',\n 'aria-checked': checked,\n disabled,\n tabIndex,\n },\n class: switchClassName,\n ref: 'refSwitchNode',\n };\n return (\n <button {...spanProps}>\n {loadingIcon}\n <span class={`${prefixCls}-inner`}>\n {checked\n ? getComponentFromProp(this, 'checkedChildren')\n : getComponentFromProp(this, 'unCheckedChildren')}\n </span>\n </button>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport hasProp, { getOptionProps, getComponentFromProp, getListeners } from '../_util/props-util';\nimport VcSwitch from '../vc-switch';\nimport Wave from '../_util/wave';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\nimport warning from '../_util/warning';\n\nconst Switch = {\n name: 'ASwitch',\n __ANT_SWITCH: true,\n model: {\n prop: 'checked',\n event: 'change',\n },\n props: {\n prefixCls: PropTypes.string,\n // size=default and size=large are the same\n size: PropTypes.oneOf(['small', 'default', 'large']),\n disabled: PropTypes.bool,\n checkedChildren: PropTypes.any,\n unCheckedChildren: PropTypes.any,\n tabIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n checked: PropTypes.bool,\n defaultChecked: PropTypes.bool,\n autoFocus: PropTypes.bool,\n loading: PropTypes.bool,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n focus() {\n this.$refs.refSwitchNode.focus();\n },\n blur() {\n this.$refs.refSwitchNode.blur();\n },\n },\n created() {\n warning(\n hasProp(this, 'checked') || !hasProp(this, 'value'),\n 'Switch',\n '`value` is not validate prop, do you mean `checked`?',\n );\n },\n\n render() {\n const { prefixCls: customizePrefixCls, size, loading, disabled, ...restProps } = getOptionProps(\n this,\n );\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('switch', customizePrefixCls);\n\n const classes = {\n [`${prefixCls}-small`]: size === 'small',\n [`${prefixCls}-loading`]: loading,\n };\n const loadingIcon = loading ? (\n <Icon type=\"loading\" class={`${prefixCls}-loading-icon`} />\n ) : null;\n const switchProps = {\n props: {\n ...restProps,\n prefixCls,\n loadingIcon,\n checkedChildren: getComponentFromProp(this, 'checkedChildren'),\n unCheckedChildren: getComponentFromProp(this, 'unCheckedChildren'),\n disabled: disabled || loading,\n },\n on: getListeners(this),\n class: classes,\n ref: 'refSwitchNode',\n };\n return (\n <Wave insertExtraNode>\n <VcSwitch {...switchProps} />\n </Wave>\n );\n },\n};\n\n/* istanbul ignore next */\nSwitch.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Switch.name, Switch);\n};\n\nexport default Switch;\n","let scrollbarVerticalSize;\nlet scrollbarHorizontalSize;\n\n// Measure scrollbar width for padding body during modal show/hide\nconst scrollbarMeasure = {\n position: 'absolute',\n top: '-9999px',\n width: '50px',\n height: '50px',\n};\n\nexport const INTERNAL_COL_DEFINE = 'RC_TABLE_INTERNAL_COL_DEFINE';\n\nexport function measureScrollbar({ direction = 'vertical', prefixCls }) {\n if (typeof document === 'undefined' || typeof window === 'undefined') {\n return 0;\n }\n const isVertical = direction === 'vertical';\n if (isVertical && scrollbarVerticalSize) {\n return scrollbarVerticalSize;\n }\n if (!isVertical && scrollbarHorizontalSize) {\n return scrollbarHorizontalSize;\n }\n const scrollDiv = document.createElement('div');\n Object.keys(scrollbarMeasure).forEach(scrollProp => {\n scrollDiv.style[scrollProp] = scrollbarMeasure[scrollProp];\n });\n // apply hide scrollbar className ahead\n scrollDiv.className = `${prefixCls}-hide-scrollbar scroll-div-append-to-body`;\n\n // Append related overflow style\n if (isVertical) {\n scrollDiv.style.overflowY = 'scroll';\n } else {\n scrollDiv.style.overflowX = 'scroll';\n }\n document.body.appendChild(scrollDiv);\n let size = 0;\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}\n\nexport function debounce(func, wait, immediate) {\n let timeout;\n function debounceFunc(...args) {\n const context = this;\n // https://fb.me/react-event-pooling\n if (args[0] && args[0].persist) {\n args[0].persist();\n }\n const later = () => {\n timeout = null;\n if (!immediate) {\n func.apply(context, args);\n }\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) {\n func.apply(context, args);\n }\n }\n debounceFunc.cancel = function cancel() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n };\n return debounceFunc;\n}\n\nexport function remove(array, item) {\n const index = array.indexOf(item);\n const front = array.slice(0, index);\n const last = array.slice(index + 1, array.length);\n return front.concat(last);\n}\n","export default class ColumnManager {\n constructor(columns) {\n this.columns = columns;\n this._cached = {};\n }\n\n isAnyColumnsFixed() {\n return this._cache('isAnyColumnsFixed', () => this.columns.some(column => !!column.fixed));\n }\n\n isAnyColumnsLeftFixed() {\n return this._cache('isAnyColumnsLeftFixed', () =>\n this.columns.some(column => column.fixed === 'left' || column.fixed === true),\n );\n }\n\n isAnyColumnsRightFixed() {\n return this._cache('isAnyColumnsRightFixed', () =>\n this.columns.some(column => column.fixed === 'right'),\n );\n }\n\n leftColumns() {\n return this._cache('leftColumns', () =>\n this.groupedColumns().filter(column => column.fixed === 'left' || column.fixed === true),\n );\n }\n\n rightColumns() {\n return this._cache('rightColumns', () =>\n this.groupedColumns().filter(column => column.fixed === 'right'),\n );\n }\n\n leafColumns() {\n return this._cache('leafColumns', () => this._leafColumns(this.columns));\n }\n\n leftLeafColumns() {\n return this._cache('leftLeafColumns', () => this._leafColumns(this.leftColumns()));\n }\n\n rightLeafColumns() {\n return this._cache('rightLeafColumns', () => this._leafColumns(this.rightColumns()));\n }\n\n // add appropriate rowspan and colspan to column\n groupedColumns() {\n return this._cache('groupedColumns', () => {\n const _groupColumns = (columns, currentRow = 0, parentColumn = {}, rows = []) => {\n // track how many rows we got\n rows[currentRow] = rows[currentRow] || [];\n const grouped = [];\n const setRowSpan = column => {\n const rowSpan = rows.length - currentRow;\n if (\n column &&\n !column.children && // parent columns are supposed to be one row\n rowSpan > 1 &&\n (!column.rowSpan || column.rowSpan < rowSpan)\n ) {\n column.rowSpan = rowSpan;\n }\n };\n columns.forEach((column, index) => {\n const newColumn = { ...column };\n rows[currentRow].push(newColumn);\n parentColumn.colSpan = parentColumn.colSpan || 0;\n if (newColumn.children && newColumn.children.length > 0) {\n newColumn.children = _groupColumns(newColumn.children, currentRow + 1, newColumn, rows);\n parentColumn.colSpan += newColumn.colSpan;\n } else {\n parentColumn.colSpan += 1;\n }\n // update rowspan to all same row columns\n for (let i = 0; i < rows[currentRow].length - 1; i += 1) {\n setRowSpan(rows[currentRow][i]);\n }\n // last column, update rowspan immediately\n if (index + 1 === columns.length) {\n setRowSpan(newColumn);\n }\n grouped.push(newColumn);\n });\n return grouped;\n };\n return _groupColumns(this.columns);\n });\n }\n\n reset(columns) {\n this.columns = columns;\n this._cached = {};\n }\n\n _cache(name, fn) {\n if (name in this._cached) {\n return this._cached[name];\n }\n this._cached[name] = fn();\n return this._cached[name];\n }\n\n _leafColumns(columns) {\n const leafColumns = [];\n columns.forEach(column => {\n if (!column.children) {\n leafColumns.push(column);\n } else {\n leafColumns.push(...this._leafColumns(column.children));\n }\n });\n return leafColumns;\n }\n}\n","import PropTypes from '../../_util/vue-types';\nimport { INTERNAL_COL_DEFINE } from './utils';\n\nexport default {\n name: 'ColGroup',\n props: {\n fixed: PropTypes.string,\n columns: PropTypes.array,\n },\n inject: {\n table: { default: () => ({}) },\n },\n render() {\n const { fixed, table } = this;\n const { prefixCls, expandIconAsCell, columnManager } = table;\n\n let cols = [];\n\n if (expandIconAsCell && fixed !== 'right') {\n cols.push(<col class={`${prefixCls}-expand-icon-col`} key=\"rc-table-expand-icon-col\" />);\n }\n\n let leafColumns;\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 cols = cols.concat(\n leafColumns.map(({ key, dataIndex, width, [INTERNAL_COL_DEFINE]: additionalProps }) => {\n const mergedKey = key !== undefined ? key : dataIndex;\n const w = typeof width === 'number' ? `${width}px` : width;\n return <col key={mergedKey} style={{ width: w, minWidth: w }} {...additionalProps} />;\n }),\n );\n return <colgroup>{cols}</colgroup>;\n },\n};\n","import classNames from 'classnames';\nimport PropTypes from '../../_util/vue-types';\nimport { mergeProps } from '../../_util/props-util';\n\nconst TableHeaderRow = {\n inject: {\n store: { from: 'table-store', default: () => ({}) },\n },\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.string,\n },\n name: 'TableHeaderRow',\n computed: {\n height() {\n const { fixedColumnsHeadRowsHeight } = this.store;\n const { columns, rows, fixed } = this.$props;\n const 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 return `${headerHeight / rows.length}px`;\n }\n return null;\n },\n },\n render(h) {\n const { row, index, height, components, customHeaderRow, prefixCls } = this;\n const HeaderRow = components.header.row;\n const HeaderCell = components.header.cell;\n const rowProps = customHeaderRow(\n row.map(cell => cell.column),\n index,\n );\n const customStyle = rowProps ? rowProps.style : {};\n const style = { height, ...customStyle };\n if (style.height === null) {\n delete style.height;\n }\n return (\n <HeaderRow {...rowProps} style={style}>\n {row.map((cell, i) => {\n const { column, isLast, children, className, ...cellProps } = cell;\n const customProps = column.customHeaderCell ? column.customHeaderCell(column) : {};\n const headerCellProps = mergeProps(\n {\n attrs: {\n ...cellProps,\n },\n },\n {\n ...customProps,\n key: column.key || column.dataIndex || i,\n },\n );\n\n if (column.align) {\n headerCellProps.style = { ...customProps.style, textAlign: column.align };\n }\n\n headerCellProps.class = classNames(\n customProps.class,\n customProps.className,\n column.class,\n column.className,\n {\n [`${prefixCls}-align-${column.align}`]: !!column.align,\n [`${prefixCls}-row-cell-ellipsis`]: !!column.ellipsis,\n [`${prefixCls}-row-cell-break-word`]: !!column.width,\n [`${prefixCls}-row-cell-last`]: isLast,\n },\n );\n\n if (typeof HeaderCell === 'function') {\n return HeaderCell(h, headerCellProps, children);\n }\n return <HeaderCell {...headerCellProps}>{children}</HeaderCell>;\n })}\n </HeaderRow>\n );\n },\n};\n\nexport default TableHeaderRow;\n","import PropTypes from '../../_util/vue-types';\nimport TableHeaderRow from './TableHeaderRow';\n\nfunction getHeaderRows({ columns = [], currentRow = 0, rows = [], isLast = true }) {\n rows = rows || [];\n rows[currentRow] = rows[currentRow] || [];\n\n columns.forEach((column, i) => {\n if (column.rowSpan && rows.length < column.rowSpan) {\n while (rows.length < column.rowSpan) {\n rows.push([]);\n }\n }\n const cellIsLast = isLast && i === columns.length - 1;\n const cell = {\n key: column.key,\n className: column.className || column.class || '',\n children: column.title,\n isLast: cellIsLast,\n column,\n };\n if (column.children) {\n getHeaderRows({\n columns: column.children,\n currentRow: currentRow + 1,\n rows,\n isLast: cellIsLast,\n });\n }\n if ('colSpan' in column) {\n cell.colSpan = column.colSpan;\n }\n if ('rowSpan' in column) {\n cell.rowSpan = column.rowSpan;\n }\n if (cell.colSpan !== 0) {\n rows[currentRow].push(cell);\n }\n });\n return rows.filter(row => row.length > 0);\n}\n\nexport default {\n name: 'TableHeader',\n props: {\n fixed: PropTypes.string,\n columns: PropTypes.array.isRequired,\n expander: PropTypes.object.isRequired,\n },\n inject: {\n table: { default: () => ({}) },\n },\n\n render() {\n const { sComponents: components, prefixCls, showHeader, customHeaderRow } = this.table;\n const { expander, columns, fixed } = this;\n\n if (!showHeader) {\n return null;\n }\n\n const rows = getHeaderRows({ columns });\n\n expander.renderExpandIndentCell(rows, fixed);\n\n const HeaderWrapper = components.header.wrapper;\n\n return (\n <HeaderWrapper class={`${prefixCls}-thead`}>\n {rows.map((row, index) => (\n <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 />\n ))}\n </HeaderWrapper>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport get from 'lodash/get';\nimport classNames from 'classnames';\nimport { isValidElement, mergeProps } from '../../_util/props-util';\n\nfunction isInvalidRenderCellText(text) {\n return (\n text && !isValidElement(text) && Object.prototype.toString.call(text) === '[object Object]'\n );\n}\n\nexport default {\n name: 'TableCell',\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 },\n inject: {\n table: { default: () => ({}) },\n },\n methods: {\n handleClick(e) {\n const {\n record,\n column: { onCellClick },\n } = this;\n if (onCellClick) {\n onCellClick(record, e);\n }\n },\n },\n\n render() {\n const {\n record,\n indentSize,\n prefixCls,\n indent,\n index,\n expandIcon,\n column,\n component: BodyCell,\n } = this;\n const { dataIndex, customRender, className = '' } = column;\n const { transformCellText } = this.table;\n // 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 let text;\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 let tdProps = {\n props: {},\n attrs: {},\n on: {\n click: this.handleClick,\n },\n };\n let colSpan;\n let rowSpan;\n\n if (customRender) {\n text = customRender(text, record, index, column);\n if (isInvalidRenderCellText(text)) {\n tdProps.attrs = text.attrs || {};\n tdProps.props = text.props || {};\n tdProps.class = text.class;\n tdProps.style = text.style;\n colSpan = tdProps.attrs.colSpan;\n rowSpan = tdProps.attrs.rowSpan;\n text = text.children;\n }\n }\n\n if (column.customCell) {\n tdProps = mergeProps(tdProps, column.customCell(record, index));\n }\n\n // Fix https://github.com/ant-design/ant-design/issues/1202\n if (isInvalidRenderCellText(text)) {\n text = null;\n }\n\n if (transformCellText) {\n text = transformCellText({ text, column, record, index });\n }\n\n const indentText = expandIcon ? (\n <span\n style={{ paddingLeft: `${indentSize * indent}px` }}\n class={`${prefixCls}-indent indent-level-${indent}`}\n />\n ) : null;\n\n if (rowSpan === 0 || colSpan === 0) {\n return null;\n }\n if (column.align) {\n tdProps.style = { textAlign: column.align, ...tdProps.style };\n }\n\n const cellClassName = classNames(className, column.class, {\n [`${prefixCls}-cell-ellipsis`]: !!column.ellipsis,\n // 如果有宽度,增加断行处理\n // https://github.com/ant-design/ant-design/issues/13825#issuecomment-449889241\n [`${prefixCls}-cell-break-word`]: !!column.width,\n });\n\n if (column.ellipsis) {\n if (typeof text === 'string') {\n tdProps.attrs.title = text;\n } else if (text) {\n // 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 (\n <BodyCell class={cellClassName} {...tdProps}>\n {indentText}\n {expandIcon}\n {text}\n </BodyCell>\n );\n },\n};\n","import classNames from 'classnames';\nimport PropTypes from '../../_util/vue-types';\nimport TableCell from './TableCell';\nimport { initDefaultProps, mergeProps, getStyle } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport warning from '../../_util/warning';\nfunction noop() {}\nconst TableRow = {\n name: 'TableRow',\n mixins: [BaseMixin],\n inject: {\n store: { from: 'table-store', default: () => ({}) },\n },\n props: initDefaultProps(\n {\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: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n renderExpandIcon: PropTypes.func,\n renderExpandIconCell: PropTypes.func,\n components: PropTypes.any,\n expandedRow: PropTypes.bool,\n isAnyColumnsFixed: PropTypes.bool,\n ancestorKeys: PropTypes.array.isRequired,\n expandIconColumnIndex: PropTypes.number,\n expandRowByClick: PropTypes.bool,\n // visible: PropTypes.bool,\n // hovered: PropTypes.bool,\n // height: PropTypes.any,\n },\n {\n // expandIconColumnIndex: 0,\n // expandRowByClick: false,\n hasExpandIcon() {},\n renderExpandIcon() {},\n renderExpandIconCell() {},\n },\n ),\n\n computed: {\n visible() {\n const { expandedRowKeys } = this.store;\n const { ancestorKeys } = this.$props;\n return !!(ancestorKeys.length === 0 || ancestorKeys.every(k => expandedRowKeys.includes(k)));\n },\n height() {\n const { expandedRowsHeight, fixedColumnsBodyRowsHeight } = this.store;\n const { fixed, rowKey } = this.$props;\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 hovered() {\n const { currentHoverKey } = this.store;\n const { rowKey } = this.$props;\n return currentHoverKey === rowKey;\n },\n },\n\n data() {\n // this.shouldRender = this.visible\n return {\n shouldRender: this.visible,\n };\n },\n\n mounted() {\n if (this.shouldRender) {\n this.$nextTick(() => {\n this.saveRowRef();\n });\n }\n },\n watch: {\n visible: {\n handler(val) {\n if (val) {\n this.shouldRender = true;\n }\n },\n immediate: true,\n },\n },\n\n updated() {\n if (this.shouldRender && !this.rowRef) {\n this.$nextTick(() => {\n this.saveRowRef();\n });\n }\n },\n methods: {\n onRowClick(event, rowPropFunc = noop) {\n const { record, index } = this;\n this.__emit('rowClick', record, index, event);\n rowPropFunc(event);\n },\n\n onRowDoubleClick(event, rowPropFunc = noop) {\n const { record, index } = this;\n this.__emit('rowDoubleClick', record, index, event);\n rowPropFunc(event);\n },\n\n onContextMenu(event, rowPropFunc = noop) {\n const { record, index } = this;\n this.__emit('rowContextmenu', record, index, event);\n rowPropFunc(event);\n },\n\n onMouseEnter(event, rowPropFunc = noop) {\n const { record, index, rowKey } = this;\n this.__emit('hover', true, rowKey);\n this.__emit('rowMouseenter', record, index, event);\n rowPropFunc(event);\n },\n\n onMouseLeave(event, rowPropFunc = noop) {\n const { record, index, rowKey } = this;\n this.__emit('hover', false, rowKey);\n this.__emit('rowMouseleave', record, index, event);\n rowPropFunc(event);\n },\n\n setExpandedRowHeight() {\n const { store, rowKey } = this;\n let { expandedRowsHeight } = store;\n const height = this.rowRef.getBoundingClientRect().height;\n expandedRowsHeight = {\n ...expandedRowsHeight,\n [rowKey]: height,\n };\n store.expandedRowsHeight = expandedRowsHeight;\n },\n\n setRowHeight() {\n const { store, rowKey } = this;\n const { fixedColumnsBodyRowsHeight } = store;\n const height = this.rowRef.getBoundingClientRect().height;\n store.fixedColumnsBodyRowsHeight = {\n ...fixedColumnsBodyRowsHeight,\n [rowKey]: height,\n };\n },\n\n getStyle() {\n const { height, visible } = this;\n let style = getStyle(this);\n if (height) {\n style = { ...style, height };\n }\n\n if (!visible && !style.display) {\n style = { ...style, display: 'none' };\n }\n\n return style;\n },\n\n saveRowRef() {\n this.rowRef = this.$el;\n\n const { isAnyColumnsFixed, fixed, expandedRow, ancestorKeys } = this;\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\n render() {\n if (!this.shouldRender) {\n return null;\n }\n\n const {\n prefixCls,\n columns,\n record,\n rowKey,\n index,\n customRow = noop,\n indent,\n indentSize,\n hovered,\n height,\n visible,\n components,\n hasExpandIcon,\n renderExpandIcon,\n renderExpandIconCell,\n } = this;\n const BodyRow = components.body.row;\n const BodyCell = components.body.cell;\n\n let className = '';\n\n if (hovered) {\n className += ` ${prefixCls}-hover`;\n }\n\n const cells = [];\n\n renderExpandIconCell(cells);\n\n for (let i = 0; i < columns.length; i += 1) {\n const column = columns[i];\n\n warning(\n column.onCellClick === undefined,\n 'column[onCellClick] is deprecated, please use column[customCell] instead.',\n );\n\n cells.push(\n <TableCell\n prefixCls={prefixCls}\n record={record}\n indentSize={indentSize}\n indent={indent}\n index={index}\n column={column}\n key={column.key || column.dataIndex}\n expandIcon={hasExpandIcon(i) && renderExpandIcon()}\n component={BodyCell}\n />,\n );\n }\n\n const { class: customClass, className: customClassName, style: customStyle, ...rowProps } =\n customRow(record, index) || {};\n\n let style = { height: typeof height === 'number' ? `${height}px` : height };\n\n if (!visible) {\n style.display = 'none';\n }\n\n style = { ...style, ...customStyle };\n const rowClassName = classNames(\n prefixCls,\n className,\n `${prefixCls}-level-${indent}`,\n customClassName,\n customClass,\n );\n const rowPropEvents = rowProps.on || {};\n const bodyRowProps = mergeProps(\n { ...rowProps, style },\n {\n on: {\n click: e => {\n this.onRowClick(e, rowPropEvents.click);\n },\n dblclick: e => {\n this.onRowDoubleClick(e, rowPropEvents.dblclick);\n },\n mouseenter: e => {\n this.onMouseEnter(e, rowPropEvents.mouseenter);\n },\n mouseleave: e => {\n this.onMouseLeave(e, rowPropEvents.mouseleave);\n },\n contextmenu: e => {\n this.onContextMenu(e, rowPropEvents.contextmenu);\n },\n },\n class: rowClassName,\n },\n {\n attrs: {\n 'data-row-key': rowKey,\n },\n },\n );\n return <BodyRow {...bodyRowProps}>{cells}</BodyRow>;\n },\n};\n\nexport default TableRow;\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nexport default {\n name: 'ExpandIcon',\n mixins: [BaseMixin],\n props: {\n record: PropTypes.object,\n prefixCls: PropTypes.string,\n expandable: PropTypes.any,\n expanded: PropTypes.bool,\n needIndentSpaced: PropTypes.bool,\n },\n methods: {\n onExpand(e) {\n this.__emit('expand', this.record, e);\n },\n },\n\n render() {\n const { expandable, prefixCls, onExpand, needIndentSpaced, expanded } = this;\n if (expandable) {\n const expandClassName = expanded ? 'expanded' : 'collapsed';\n return (\n <span\n class={`${prefixCls}-expand-icon ${prefixCls}-${expandClassName}`}\n onClick={onExpand}\n />\n );\n }\n if (needIndentSpaced) {\n return <span class={`${prefixCls}-expand-icon ${prefixCls}-spaced`} />;\n }\n return null;\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport ExpandIcon from './ExpandIcon';\nimport BaseMixin from '../../_util/BaseMixin';\n\nconst ExpandableRow = {\n mixins: [BaseMixin],\n name: 'ExpandableRow',\n props: {\n prefixCls: PropTypes.string.isRequired,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n fixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n record: PropTypes.oneOfType([PropTypes.object, PropTypes.array]).isRequired,\n indentSize: PropTypes.number,\n needIndentSpaced: PropTypes.bool.isRequired,\n expandRowByClick: PropTypes.bool,\n expandIconAsCell: PropTypes.bool,\n expandIconColumnIndex: PropTypes.number,\n childrenColumnName: PropTypes.string,\n expandedRowRender: PropTypes.func,\n expandIcon: PropTypes.func,\n // onExpandedChange: PropTypes.func.isRequired,\n // onRowClick: PropTypes.func,\n // children: PropTypes.func.isRequired,\n },\n inject: {\n store: { from: 'table-store', default: () => ({}) },\n },\n computed: {\n expanded() {\n return this.store.expandedRowKeys.includes(this.$props.rowKey);\n },\n },\n beforeDestroy() {\n this.handleDestroy();\n },\n methods: {\n hasExpandIcon(columnIndex) {\n const { expandRowByClick, expandIcon } = this.$props;\n\n if (this.tempExpandIconAsCell || columnIndex !== this.tempExpandIconColumnIndex) {\n return false;\n }\n\n return !!expandIcon || !expandRowByClick;\n },\n\n handleExpandChange(record, event) {\n const { expanded, rowKey } = this;\n this.__emit('expandedChange', !expanded, record, event, rowKey);\n },\n\n handleDestroy() {\n const { rowKey, record } = this;\n this.__emit('expandedChange', false, record, null, rowKey, true);\n },\n\n handleRowClick(record, index, event) {\n const { expandRowByClick } = this;\n if (expandRowByClick) {\n this.handleExpandChange(record, event);\n }\n this.__emit('rowClick', record, index, event);\n },\n\n renderExpandIcon() {\n const { prefixCls, expanded, record, needIndentSpaced, expandIcon } = this;\n if (expandIcon) {\n return expandIcon({\n prefixCls,\n expanded,\n record,\n needIndentSpaced,\n expandable: this.expandable,\n onExpand: this.handleExpandChange,\n });\n }\n return (\n <ExpandIcon\n expandable={this.expandable}\n prefixCls={prefixCls}\n onExpand={this.handleExpandChange}\n needIndentSpaced={needIndentSpaced}\n expanded={expanded}\n record={record}\n />\n );\n },\n\n renderExpandIconCell(cells) {\n if (!this.tempExpandIconAsCell) {\n return;\n }\n const { prefixCls } = this;\n\n cells.push(\n <td class={`${prefixCls}-expand-icon-cell`} key=\"rc-table-expand-icon-cell\">\n {this.renderExpandIcon()}\n </td>,\n );\n },\n },\n\n render() {\n const {\n childrenColumnName,\n expandedRowRender,\n indentSize,\n record,\n fixed,\n $scopedSlots,\n expanded,\n } = this;\n\n this.tempExpandIconAsCell = fixed !== 'right' ? this.expandIconAsCell : false;\n this.tempExpandIconColumnIndex = fixed !== 'right' ? this.expandIconColumnIndex : -1;\n const childrenData = record[childrenColumnName];\n this.expandable = !!(childrenData || expandedRowRender);\n const expandableRowProps = {\n props: {\n indentSize,\n expanded, // not used in TableRow, but it's required to re-render TableRow when `expanded` changes\n hasExpandIcon: this.hasExpandIcon,\n renderExpandIcon: this.renderExpandIcon,\n renderExpandIconCell: this.renderExpandIconCell,\n },\n\n on: {\n rowClick: this.handleRowClick,\n },\n };\n\n return $scopedSlots.default && $scopedSlots.default(expandableRowProps);\n },\n};\n\nexport default ExpandableRow;\n","import PropTypes from '../../_util/vue-types';\nimport classNames from 'classnames';\nimport ColGroup from './ColGroup';\nimport TableHeader from './TableHeader';\nimport TableRow from './TableRow';\nimport ExpandableRow from './ExpandableRow';\nimport { mergeProps, getListeners } from '../../_util/props-util';\nfunction noop() {}\nconst BaseTable = {\n name: 'BaseTable',\n props: {\n fixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n columns: PropTypes.array.isRequired,\n tableClassName: PropTypes.string.isRequired,\n hasHead: PropTypes.bool.isRequired,\n hasBody: PropTypes.bool.isRequired,\n expander: PropTypes.object.isRequired,\n getRowKey: PropTypes.func,\n isAnyColumnsFixed: PropTypes.bool,\n },\n inject: {\n table: { default: () => ({}) },\n store: { from: 'table-store', default: () => ({}) },\n },\n methods: {\n getColumns(cols) {\n const { columns = [], fixed } = this.$props;\n const { table } = this;\n const { prefixCls } = table.$props;\n return (cols || columns).map(column => ({\n ...column,\n className:\n !!column.fixed && !fixed\n ? classNames(`${prefixCls}-fixed-columns-in-body`, column.className || column.class)\n : column.className || column.class,\n }));\n },\n handleRowHover(isHover, key) {\n this.store.currentHoverKey = isHover ? key : null;\n },\n\n renderRows(renderData, indent, ancestorKeys = []) {\n const {\n columnManager,\n sComponents: components,\n prefixCls,\n childrenColumnName,\n rowClassName,\n customRow = noop,\n } = this.table;\n const {\n rowClick: onRowClick = noop,\n rowDoubleclick: onRowDoubleClick = noop,\n rowContextmenu: onRowContextMenu = noop,\n rowMouseenter: onRowMouseEnter = noop,\n rowMouseleave: onRowMouseLeave = noop,\n } = getListeners(this.table);\n const { getRowKey, fixed, expander, isAnyColumnsFixed } = this;\n\n const rows = [];\n\n for (let i = 0; i < renderData.length; i += 1) {\n const record = renderData[i];\n const key = getRowKey(record, i);\n const className =\n typeof rowClassName === 'string' ? rowClassName : rowClassName(record, i, indent);\n\n const onHoverProps = {};\n if (columnManager.isAnyColumnsFixed()) {\n onHoverProps.hover = this.handleRowHover;\n }\n\n let leafColumns;\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 const rowPrefixCls = `${prefixCls}-row`;\n\n const expandableRowProps = {\n props: {\n ...expander.props,\n fixed,\n index: i,\n prefixCls: rowPrefixCls,\n record,\n rowKey: key,\n needIndentSpaced: expander.needIndentSpaced,\n },\n key,\n on: {\n // ...expander.on,\n rowClick: onRowClick,\n expandedChange: expander.handleExpandChange,\n },\n scopedSlots: {\n default: expandableRow => {\n const tableRowProps = mergeProps(\n {\n props: {\n fixed,\n indent,\n record,\n index: i,\n prefixCls: rowPrefixCls,\n childrenColumnName,\n columns: leafColumns,\n rowKey: key,\n ancestorKeys,\n components,\n isAnyColumnsFixed,\n customRow,\n },\n on: {\n rowDoubleclick: onRowDoubleClick,\n rowContextmenu: onRowContextMenu,\n rowMouseenter: onRowMouseEnter,\n rowMouseleave: onRowMouseLeave,\n ...onHoverProps,\n },\n class: className,\n ref: `row_${i}_${indent}`,\n },\n expandableRow,\n );\n return <TableRow {...tableRowProps} />;\n },\n },\n };\n const row = <ExpandableRow {...expandableRowProps} />;\n\n rows.push(row);\n expander.renderRows(this.renderRows, rows, record, i, indent, fixed, key, ancestorKeys);\n }\n return rows;\n },\n },\n\n render() {\n const { sComponents: components, prefixCls, scroll, data, getBodyWrapper } = this.table;\n const { expander, tableClassName, hasHead, hasBody, fixed, isAnyColumnsFixed } = this.$props;\n const columns = this.getColumns();\n const tableStyle = {};\n\n if (!fixed && scroll.x) {\n // 当有固定列时,width auto 会导致 body table 的宽度撑不开,从而固定列无法对齐\n // 详情见:https://github.com/ant-design/ant-design/issues/22160\n const tableWidthScrollX = isAnyColumnsFixed ? 'max-content' : 'auto';\n // not set width, then use content fixed width\n tableStyle.width = scroll.x === true ? tableWidthScrollX : scroll.x;\n tableStyle.width =\n typeof tableStyle.width === 'number' ? `${tableStyle.width}px` : tableStyle.width;\n }\n if (fixed) {\n const width = columns.reduce((sum, { width: w }) => {\n return sum + parseFloat(w, 10);\n }, 0);\n if (width > 0) {\n tableStyle.width = width + 'px';\n }\n }\n\n const Table = hasBody ? components.table : 'table';\n const BodyWrapper = components.body.wrapper;\n\n let body;\n if (hasBody) {\n body = <BodyWrapper class={`${prefixCls}-tbody`}>{this.renderRows(data, 0)}</BodyWrapper>;\n if (getBodyWrapper) {\n body = getBodyWrapper(body);\n }\n }\n return (\n <Table class={tableClassName} style={tableStyle} key=\"table\">\n <ColGroup columns={columns} fixed={fixed} />\n {hasHead && <TableHeader expander={expander} columns={columns} fixed={fixed} />}\n {body}\n </Table>\n );\n },\n};\n\nexport default BaseTable;\n","import PropTypes from '../../_util/vue-types';\nimport { measureScrollbar } from './utils';\nimport BaseTable from './BaseTable';\nimport classNames from 'classnames';\n\nexport default {\n name: 'HeadTable',\n props: {\n fixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n columns: PropTypes.array.isRequired,\n tableClassName: PropTypes.string.isRequired,\n handleBodyScrollLeft: PropTypes.func.isRequired,\n expander: PropTypes.object.isRequired,\n },\n inject: {\n table: { default: () => ({}) },\n },\n render() {\n const { columns, fixed, tableClassName, handleBodyScrollLeft, expander, table } = this;\n const { prefixCls, scroll, showHeader, saveRef } = table;\n let { useFixedHeader } = table;\n const headStyle = {};\n\n const scrollbarWidth = measureScrollbar({ direction: 'vertical' });\n\n if (scroll.y) {\n useFixedHeader = true;\n // https://github.com/ant-design/ant-design/issues/17051\n const scrollbarWidthOfHeader = measureScrollbar({ direction: 'horizontal', prefixCls });\n // Add negative margin bottom for scroll bar overflow bug\n if (scrollbarWidthOfHeader > 0 && !fixed) {\n headStyle.marginBottom = `-${scrollbarWidthOfHeader}px`;\n headStyle.paddingBottom = '0px';\n // https://github.com/ant-design/ant-design/pull/19986\n headStyle.minWidth = `${scrollbarWidth}px`;\n // https://github.com/ant-design/ant-design/issues/17051\n headStyle.overflowX = 'scroll';\n headStyle.overflowY = scrollbarWidth === 0 ? 'hidden' : 'scroll';\n }\n }\n\n if (!useFixedHeader || !showHeader) {\n return null;\n }\n return (\n <div\n key=\"headTable\"\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: fixed ? () => {} : saveRef('headTable'),\n },\n ],\n }}\n class={classNames(`${prefixCls}-header`, {\n [`${prefixCls}-hide-scrollbar`]: scrollbarWidth > 0,\n })}\n style={headStyle}\n onScroll={handleBodyScrollLeft}\n >\n <BaseTable\n tableClassName={tableClassName}\n hasHead\n hasBody={false}\n fixed={fixed}\n columns={columns}\n expander={expander}\n />\n </div>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport { measureScrollbar } from './utils';\nimport BaseTable from './BaseTable';\n\nexport default {\n name: 'BodyTable',\n props: {\n fixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\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.bool,\n },\n inject: {\n table: { default: () => ({}) },\n },\n render() {\n const { prefixCls, scroll } = this.table;\n const {\n columns,\n fixed,\n tableClassName,\n getRowKey,\n handleBodyScroll,\n handleWheel,\n expander,\n isAnyColumnsFixed,\n } = this;\n let { useFixedHeader, saveRef } = this.table;\n const bodyStyle = { ...this.table.bodyStyle };\n const innerBodyStyle = {};\n\n if (scroll.x || fixed) {\n bodyStyle.overflowX = bodyStyle.overflowX || 'scroll';\n // Fix weired webkit render bug\n // https://github.com/ant-design/ant-design/issues/7783\n bodyStyle.WebkitTransform = 'translate3d (0, 0, 0)';\n }\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 let maxHeight = bodyStyle.maxHeight || scroll.y;\n maxHeight = typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight;\n if (fixed) {\n innerBodyStyle.maxHeight = maxHeight;\n innerBodyStyle.overflowY = bodyStyle.overflowY || 'scroll';\n } else {\n bodyStyle.maxHeight = maxHeight;\n }\n bodyStyle.overflowY = bodyStyle.overflowY || 'scroll';\n useFixedHeader = true;\n\n // Add negative margin bottom for scroll bar overflow bug\n const scrollbarWidth = measureScrollbar({ direction: 'vertical' });\n if (scrollbarWidth > 0 && fixed) {\n bodyStyle.marginBottom = `-${scrollbarWidth}px`;\n bodyStyle.paddingBottom = '0px';\n }\n }\n\n const baseTable = (\n <BaseTable\n tableClassName={tableClassName}\n hasHead={!useFixedHeader}\n hasBody\n fixed={fixed}\n columns={columns}\n expander={expander}\n getRowKey={getRowKey}\n isAnyColumnsFixed={isAnyColumnsFixed}\n />\n );\n\n if (fixed && columns.length) {\n let refName;\n if (columns[0].fixed === 'left' || columns[0].fixed === true) {\n refName = 'fixedColumnsBodyLeft';\n } else if (columns[0].fixed === 'right') {\n refName = 'fixedColumnsBodyRight';\n }\n delete bodyStyle.overflowX;\n delete bodyStyle.overflowY;\n return (\n <div key=\"bodyTable\" class={`${prefixCls}-body-outer`} style={{ ...bodyStyle }}>\n <div\n class={`${prefixCls}-body-inner`}\n style={innerBodyStyle}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: saveRef(refName),\n },\n ],\n }}\n onWheel={handleWheel}\n onScroll={handleBodyScroll}\n >\n {baseTable}\n </div>\n </div>\n );\n }\n // Should provides `tabIndex` if use scroll to enable keyboard scroll\n const useTabIndex = scroll && (scroll.x || scroll.y);\n\n return (\n <div\n tabIndex={useTabIndex ? -1 : undefined}\n key=\"bodyTable\"\n class={`${prefixCls}-body`}\n style={bodyStyle}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: saveRef('bodyTable'),\n },\n ],\n }}\n onWheel={handleWheel}\n onScroll={handleBodyScroll}\n >\n {baseTable}\n </div>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport shallowEqual from 'shallowequal';\nimport TableRow from './TableRow';\nimport { remove } from './utils';\nimport { initDefaultProps, getOptionProps, getListeners } from '../../_util/props-util';\n\nexport const ExpandableTableProps = () => ({\n expandIconAsCell: PropTypes.bool,\n expandRowByClick: PropTypes.bool,\n expandedRowKeys: PropTypes.array,\n expandedRowClassName: PropTypes.func,\n defaultExpandAllRows: PropTypes.bool,\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\nconst ExpandableTable = {\n name: 'ExpandableTable',\n mixins: [BaseMixin],\n props: initDefaultProps(ExpandableTableProps(), {\n expandIconAsCell: false,\n expandedRowClassName: () => '',\n expandIconColumnIndex: 0,\n defaultExpandAllRows: false,\n defaultExpandedRowKeys: [],\n childrenColumnName: 'children',\n indentSize: 15,\n }),\n inject: {\n store: { from: 'table-store', default: () => ({}) },\n },\n data() {\n const {\n data,\n childrenColumnName,\n defaultExpandAllRows,\n expandedRowKeys,\n defaultExpandedRowKeys,\n getRowKey,\n } = this;\n\n let finalExpandedRowKeys = [];\n let rows = [...data];\n\n if (defaultExpandAllRows) {\n for (let i = 0; i < rows.length; i += 1) {\n const 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 // this.columnManager = props.columnManager\n // this.store = props.store\n\n this.store.expandedRowsHeight = {};\n this.store.expandedRowKeys = finalExpandedRowKeys;\n return {};\n },\n mounted() {\n this.handleUpdated();\n },\n updated() {\n this.handleUpdated();\n },\n watch: {\n expandedRowKeys(val) {\n this.$nextTick(() => {\n this.store.expandedRowKeys = val;\n });\n },\n },\n methods: {\n 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(expanded, record, event, rowKey, destroy = false) {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n let { expandedRowKeys } = this.store;\n\n if (expanded) {\n // row was expaned\n expandedRowKeys = [...expandedRowKeys, rowKey];\n } else {\n // row was collapse\n const expandedRowIndex = expandedRowKeys.indexOf(rowKey);\n if (expandedRowIndex !== -1) {\n expandedRowKeys = remove(expandedRowKeys, rowKey);\n }\n }\n\n if (!this.expandedRowKeys) {\n this.store.expandedRowKeys = expandedRowKeys;\n }\n // De-dup of repeat call\n if (!this.latestExpandedRows || !shallowEqual(this.latestExpandedRows, expandedRowKeys)) {\n this.latestExpandedRows = expandedRowKeys;\n this.__emit('expandedRowsChange', expandedRowKeys);\n this.__emit('update:expandedRowKeys', expandedRowKeys);\n }\n\n if (!destroy) {\n this.__emit('expand', expanded, record);\n }\n },\n\n renderExpandIndentCell(rows, fixed) {\n const { prefixCls, expandIconAsCell } = this;\n if (!expandIconAsCell || fixed === 'right' || !rows.length) {\n return;\n }\n\n const iconColumn = {\n key: 'rc-table-expand-icon-cell',\n className: `${prefixCls}-expand-icon-th`,\n title: '',\n rowSpan: rows.length,\n };\n\n rows[0].unshift({ ...iconColumn, column: iconColumn });\n },\n\n renderExpandedRow(record, index, expandedRowRender, className, ancestorKeys, indent, fixed) {\n const { prefixCls, expandIconAsCell, indentSize } = this;\n const parentKey = ancestorKeys[ancestorKeys.length - 1];\n const rowKey = `${parentKey}-extra-row`;\n const components = {\n body: {\n row: 'tr',\n cell: 'td',\n },\n };\n let colCount;\n if (fixed === 'left') {\n colCount = this.columnManager.leftLeafColumns().length;\n } else if (fixed === 'right') {\n colCount = this.columnManager.rightLeafColumns().length;\n } else {\n colCount = this.columnManager.leafColumns().length;\n }\n const columns = [\n {\n key: 'extra-row',\n customRender: () => {\n const { expandedRowKeys } = this.store;\n const expanded = expandedRowKeys.includes(parentKey);\n return {\n attrs: {\n colSpan: colCount,\n },\n children:\n fixed !== 'right' ? expandedRowRender(record, index, indent, expanded) : ' ',\n };\n },\n },\n ];\n if (expandIconAsCell && fixed !== 'right') {\n columns.unshift({\n key: 'expand-icon-placeholder',\n customRender: () => null,\n });\n }\n\n return (\n <TableRow\n key={rowKey}\n columns={columns}\n class={className}\n rowKey={rowKey}\n ancestorKeys={ancestorKeys}\n prefixCls={`${prefixCls}-expanded-row`}\n indentSize={indentSize}\n indent={indent}\n fixed={fixed}\n components={components}\n expandedRow\n hasExpandIcon={() => {}}\n />\n );\n },\n\n renderRows(renderRows, rows, record, index, indent, fixed, parentKey, ancestorKeys) {\n const { expandedRowClassName, expandedRowRender, childrenColumnName } = this;\n const childrenData = record[childrenColumnName];\n const nextAncestorKeys = [...ancestorKeys, parentKey];\n const nextIndent = indent + 1;\n\n if (expandedRowRender) {\n rows.push(\n this.renderExpandedRow(\n record,\n index,\n expandedRowRender,\n expandedRowClassName(record, index, indent),\n nextAncestorKeys,\n nextIndent,\n fixed,\n ),\n );\n }\n\n if (childrenData) {\n rows.push(...renderRows(childrenData, nextIndent, nextAncestorKeys));\n }\n },\n },\n\n render() {\n const { data, childrenColumnName, $scopedSlots } = this;\n const props = getOptionProps(this);\n const needIndentSpaced = data.some(record => record[childrenColumnName]);\n\n return (\n $scopedSlots.default &&\n $scopedSlots.default({\n props,\n on: getListeners(this),\n needIndentSpaced,\n renderRows: this.renderRows,\n handleExpandChange: this.handleExpandChange,\n renderExpandIndentCell: this.renderExpandIndentCell,\n })\n );\n },\n};\n\nexport default ExpandableTable;\n","/* eslint-disable camelcase */\nimport shallowequal from 'shallowequal';\nimport merge from 'lodash/merge';\nimport classes from 'component-classes';\nimport classNames from 'classnames';\nimport PropTypes from '../../_util/vue-types';\nimport { debounce } from './utils';\nimport warning from '../../_util/warning';\nimport addEventListener from '../../vc-util/Dom/addEventListener';\nimport ColumnManager from './ColumnManager';\nimport HeadTable from './HeadTable';\nimport BodyTable from './BodyTable';\nimport ExpandableTable from './ExpandableTable';\nimport { initDefaultProps, getOptionProps, getListeners } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport Vue from 'vue';\n\nexport default {\n name: 'Table',\n mixins: [BaseMixin],\n provide() {\n return { 'table-store': this.store, table: this };\n },\n props: initDefaultProps(\n {\n data: PropTypes.array,\n useFixedHeader: PropTypes.bool,\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.bool,\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 }),\n body: PropTypes.shape({\n wrapper: PropTypes.any,\n row: PropTypes.any,\n cell: PropTypes.any,\n }),\n }),\n expandIconAsCell: PropTypes.bool,\n expandedRowKeys: PropTypes.array,\n expandedRowClassName: PropTypes.func,\n defaultExpandAllRows: PropTypes.bool,\n defaultExpandedRowKeys: PropTypes.array,\n expandIconColumnIndex: PropTypes.number,\n expandedRowRender: PropTypes.func,\n childrenColumnName: PropTypes.string,\n indentSize: PropTypes.number,\n expandRowByClick: PropTypes.bool,\n expandIcon: PropTypes.func,\n tableLayout: PropTypes.string,\n transformCellText: PropTypes.func,\n },\n {\n data: [],\n useFixedHeader: false,\n rowKey: 'key',\n rowClassName: () => '',\n prefixCls: 'rc-table',\n bodyStyle: {},\n showHeader: true,\n scroll: {},\n rowRef: () => null,\n emptyText: () => 'No Data',\n customHeaderRow: () => {},\n },\n ),\n data() {\n this.preData = [...this.data];\n this.store = Vue.observable({\n currentHoverKey: null,\n fixedColumnsHeadRowsHeight: [],\n fixedColumnsBodyRowsHeight: {},\n expandedRowsHeight: {},\n expandedRowKeys: [],\n });\n return {\n columnManager: new ColumnManager(this.columns),\n sComponents: merge(\n {\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 },\n this.components,\n ),\n };\n },\n watch: {\n components() {\n this._components = merge(\n {\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 },\n this.components,\n );\n },\n columns(val) {\n if (val) {\n this.columnManager.reset(val);\n }\n },\n data(val) {\n if (val.length === 0 && this.hasScrollX()) {\n this.$nextTick(() => {\n this.resetScrollX();\n });\n }\n },\n },\n\n // static childContextTypes = {\n // table: PropTypes.any,\n // components: PropTypes.any,\n // },\n\n created() {\n ['rowClick', 'rowDoubleclick', 'rowContextmenu', 'rowMouseenter', 'rowMouseleave'].forEach(\n name => {\n warning(\n getListeners(this)[name] === undefined,\n `${name} is deprecated, please use customRow instead.`,\n );\n },\n );\n\n warning(\n this.getBodyWrapper === undefined,\n 'getBodyWrapper is deprecated, please use custom components instead.',\n );\n\n this.setScrollPosition('left');\n\n this.debouncedWindowResize = debounce(this.handleWindowResize, 150);\n },\n\n mounted() {\n this.$nextTick(() => {\n if (this.columnManager.isAnyColumnsFixed()) {\n this.handleWindowResize();\n this.resizeEvent = addEventListener(window, 'resize', this.debouncedWindowResize);\n }\n // https://github.com/ant-design/ant-design/issues/11635\n if (this.ref_headTable) {\n this.ref_headTable.scrollLeft = 0;\n }\n if (this.ref_bodyTable) {\n this.ref_bodyTable.scrollLeft = 0;\n }\n });\n },\n\n updated() {\n this.$nextTick(() => {\n if (this.columnManager.isAnyColumnsFixed()) {\n this.handleWindowResize();\n if (!this.resizeEvent) {\n this.resizeEvent = addEventListener(window, 'resize', this.debouncedWindowResize);\n }\n }\n });\n },\n\n beforeDestroy() {\n if (this.resizeEvent) {\n this.resizeEvent.remove();\n }\n if (this.debouncedWindowResize) {\n this.debouncedWindowResize.cancel();\n }\n },\n methods: {\n getRowKey(record, index) {\n const rowKey = this.rowKey;\n const key = typeof rowKey === 'function' ? rowKey(record, index) : record[rowKey];\n warning(\n key !== undefined,\n 'Each record in table should have a unique `key` prop,' +\n 'or set `rowKey` to an unique primary key.',\n );\n return key === undefined ? index : key;\n },\n\n setScrollPosition(position) {\n this.scrollPosition = position;\n if (this.tableNode) {\n const { prefixCls } = this;\n if (position === 'both') {\n classes(this.tableNode)\n .remove(new RegExp(`^${prefixCls}-scroll-position-.+$`))\n .add(`${prefixCls}-scroll-position-left`)\n .add(`${prefixCls}-scroll-position-right`);\n } else {\n classes(this.tableNode)\n .remove(new RegExp(`^${prefixCls}-scroll-position-.+$`))\n .add(`${prefixCls}-scroll-position-${position}`);\n }\n }\n },\n\n setScrollPositionClassName() {\n const node = this.ref_bodyTable;\n const scrollToLeft = node.scrollLeft === 0;\n const scrollToRight =\n node.scrollLeft + 1 >=\n node.children[0].getBoundingClientRect().width - node.getBoundingClientRect().width;\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\n isTableLayoutFixed() {\n const { tableLayout, columns = [], useFixedHeader, scroll = {} } = this.$props;\n if (typeof tableLayout !== 'undefined') {\n return tableLayout === 'fixed';\n }\n // if one column is ellipsis, use fixed table layout to fix align issue\n if (columns.some(({ ellipsis }) => !!ellipsis)) {\n return true;\n }\n // if header fixed, use fixed table layout to fix align issue\n if (useFixedHeader || scroll.y) {\n return true;\n }\n // if scroll.x is number/px/% width value, we should fixed table layout\n // to avoid long word layout broken issue\n if (scroll.x && scroll.x !== true && scroll.x !== 'max-content') {\n return true;\n }\n return false;\n },\n\n handleWindowResize() {\n this.syncFixedTableRowHeight();\n this.setScrollPositionClassName();\n },\n\n syncFixedTableRowHeight() {\n const tableRect = this.tableNode.getBoundingClientRect();\n // 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 if (tableRect.height !== undefined && tableRect.height <= 0) {\n return;\n }\n const { prefixCls } = this;\n const headRows = this.ref_headTable\n ? this.ref_headTable.querySelectorAll('thead')\n : this.ref_bodyTable.querySelectorAll('thead');\n const bodyRows = this.ref_bodyTable.querySelectorAll(`.${prefixCls}-row`) || [];\n const fixedColumnsHeadRowsHeight = [].map.call(headRows, row =>\n row.getBoundingClientRect().height ? row.getBoundingClientRect().height - 0.5 : 'auto',\n );\n const state = this.store;\n const fixedColumnsBodyRowsHeight = [].reduce.call(\n bodyRows,\n (acc, row) => {\n const rowKey = row.getAttribute('data-row-key');\n const height =\n row.getBoundingClientRect().height ||\n state.fixedColumnsBodyRowsHeight[rowKey] ||\n 'auto';\n acc[rowKey] = height;\n return acc;\n },\n {},\n );\n if (\n shallowequal(state.fixedColumnsHeadRowsHeight, fixedColumnsHeadRowsHeight) &&\n shallowequal(state.fixedColumnsBodyRowsHeight, fixedColumnsBodyRowsHeight)\n ) {\n return;\n }\n this.store.fixedColumnsHeadRowsHeight = fixedColumnsHeadRowsHeight;\n this.store.fixedColumnsBodyRowsHeight = fixedColumnsBodyRowsHeight;\n },\n\n resetScrollX() {\n if (this.ref_headTable) {\n this.ref_headTable.scrollLeft = 0;\n }\n if (this.ref_bodyTable) {\n this.ref_bodyTable.scrollLeft = 0;\n }\n },\n\n hasScrollX() {\n const { scroll = {} } = this;\n return 'x' in scroll;\n },\n\n handleBodyScrollLeft(e) {\n // Fix https://github.com/ant-design/ant-design/issues/7635\n if (e.currentTarget !== e.target) {\n return;\n }\n const target = e.target;\n const { scroll = {} } = this;\n const { ref_headTable, ref_bodyTable } = this;\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 this.setScrollPositionClassName();\n }\n // Remember last scrollLeft for scroll direction detecting.\n this.lastScrollLeft = target.scrollLeft;\n },\n\n handleBodyScrollTop(e) {\n const target = e.target;\n // Fix https://github.com/ant-design/ant-design/issues/9033\n if (e.currentTarget !== target) {\n return;\n }\n const { scroll = {} } = this;\n const {\n ref_headTable,\n ref_bodyTable,\n ref_fixedColumnsBodyLeft,\n ref_fixedColumnsBodyRight,\n } = this;\n if (target.scrollTop !== this.lastScrollTop && scroll.y && target !== ref_headTable) {\n const scrollTop = target.scrollTop;\n if (ref_fixedColumnsBodyLeft && target !== ref_fixedColumnsBodyLeft) {\n ref_fixedColumnsBodyLeft.scrollTop = scrollTop;\n }\n if (ref_fixedColumnsBodyRight && target !== ref_fixedColumnsBodyRight) {\n ref_fixedColumnsBodyRight.scrollTop = scrollTop;\n }\n if (ref_bodyTable && target !== ref_bodyTable) {\n ref_bodyTable.scrollTop = scrollTop;\n }\n }\n // Remember last scrollTop for scroll direction detecting.\n this.lastScrollTop = target.scrollTop;\n },\n\n handleBodyScroll(e) {\n this.handleBodyScrollLeft(e);\n this.handleBodyScrollTop(e);\n },\n handleWheel(event) {\n const { scroll = {} } = this.$props;\n if (window.navigator.userAgent.match(/Trident\\/7\\./) && scroll.y) {\n event.preventDefault();\n const wd = event.deltaY;\n const target = event.target;\n const {\n ref_bodyTable: bodyTable,\n ref_fixedColumnsBodyLeft: fixedColumnsBodyLeft,\n ref_fixedColumnsBodyRight: fixedColumnsBodyRight,\n } = this;\n let 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 if (fixedColumnsBodyRight && target !== fixedColumnsBodyRight) {\n fixedColumnsBodyRight.scrollTop = scrollTop;\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(name) {\n return node => {\n this[`ref_${name}`] = node;\n };\n },\n\n saveTableNodeRef(node) {\n this.tableNode = node;\n },\n renderMainTable() {\n const { scroll, prefixCls } = this;\n const isAnyColumnsFixed = this.columnManager.isAnyColumnsFixed();\n const scrollable = isAnyColumnsFixed || scroll.x || scroll.y;\n\n const table = [\n this.renderTable({\n columns: this.columnManager.groupedColumns(),\n isAnyColumnsFixed,\n }),\n this.renderEmptyText(),\n this.renderFooter(),\n ];\n\n return scrollable ? <div class={`${prefixCls}-scroll`}>{table}</div> : table;\n },\n\n renderLeftFixedTable() {\n const { prefixCls } = this;\n\n return (\n <div class={`${prefixCls}-fixed-left`}>\n {this.renderTable({\n columns: this.columnManager.leftColumns(),\n fixed: 'left',\n })}\n </div>\n );\n },\n renderRightFixedTable() {\n const { prefixCls } = this;\n\n return (\n <div class={`${prefixCls}-fixed-right`}>\n {this.renderTable({\n columns: this.columnManager.rightColumns(),\n fixed: 'right',\n })}\n </div>\n );\n },\n\n renderTable(options) {\n const { columns, fixed, isAnyColumnsFixed } = options;\n const { prefixCls, scroll = {} } = this;\n const tableClassName = scroll.x || fixed ? `${prefixCls}-fixed` : '';\n\n const headTable = (\n <HeadTable\n key=\"head\"\n columns={columns}\n fixed={fixed}\n tableClassName={tableClassName}\n handleBodyScrollLeft={this.handleBodyScrollLeft}\n expander={this.expander}\n />\n );\n\n const bodyTable = (\n <BodyTable\n key=\"body\"\n columns={columns}\n fixed={fixed}\n tableClassName={tableClassName}\n getRowKey={this.getRowKey}\n handleWheel={this.handleWheel}\n handleBodyScroll={this.handleBodyScroll}\n expander={this.expander}\n isAnyColumnsFixed={isAnyColumnsFixed}\n />\n );\n\n return [headTable, bodyTable];\n },\n\n renderTitle() {\n const { title, prefixCls, data } = this;\n return title ? (\n <div class={`${prefixCls}-title`} key=\"title\">\n {title(data)}\n </div>\n ) : null;\n },\n\n renderFooter() {\n const { footer, prefixCls, data } = this;\n return footer ? (\n <div class={`${prefixCls}-footer`} key=\"footer\">\n {footer(data)}\n </div>\n ) : null;\n },\n\n renderEmptyText() {\n const { emptyText, prefixCls, data } = this;\n if (data.length) {\n return null;\n }\n const emptyClassName = `${prefixCls}-placeholder`;\n return (\n <div class={emptyClassName} key=\"emptyText\">\n {typeof emptyText === 'function' ? emptyText() : emptyText}\n </div>\n );\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const { columnManager, getRowKey } = this;\n const prefixCls = props.prefixCls;\n\n const tableClassName = classNames(props.prefixCls, {\n [`${prefixCls}-fixed-header`]: props.useFixedHeader || (props.scroll && props.scroll.y),\n [`${prefixCls}-scroll-position-left ${prefixCls}-scroll-position-right`]:\n this.scrollPosition === 'both',\n [`${prefixCls}-scroll-position-${this.scrollPosition}`]: this.scrollPosition !== 'both',\n [`${prefixCls}-layout-fixed`]: this.isTableLayoutFixed(),\n });\n\n const hasLeftFixed = columnManager.isAnyColumnsLeftFixed();\n const hasRightFixed = columnManager.isAnyColumnsRightFixed();\n\n const expandableTableProps = {\n props: {\n ...props,\n columnManager,\n getRowKey,\n },\n on: getListeners(this),\n scopedSlots: {\n default: expander => {\n this.expander = expander;\n return (\n <div\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveTableNodeRef,\n },\n ],\n }}\n class={tableClassName}\n // style={props.style}\n // id={props.id}\n >\n {this.renderTitle()}\n <div class={`${prefixCls}-content`}>\n {this.renderMainTable()}\n {hasLeftFixed && this.renderLeftFixedTable()}\n {hasRightFixed && this.renderRightFixedTable()}\n </div>\n </div>\n );\n },\n },\n };\n return <ExpandableTable {...expandableTableProps} />;\n },\n};\n","// base rc-table 6.10.9\nimport T from './src/Table';\nimport Column from './src/Column';\nimport ColumnGroup from './src/ColumnGroup';\nimport {\n getOptionProps,\n getKey,\n getClass,\n getStyle,\n getEvents,\n getSlotOptions,\n camelize,\n getSlots,\n getListeners,\n} from '../_util/props-util';\nimport { INTERNAL_COL_DEFINE } from './src/utils';\nconst Table = {\n name: 'Table',\n Column,\n ColumnGroup,\n props: T.props,\n methods: {\n getTableNode() {\n return this.$refs.table.tableNode;\n },\n getBodyTable() {\n return this.$refs.table.ref_bodyTable;\n },\n normalize(elements = []) {\n const columns = [];\n elements.forEach(element => {\n if (!element.tag) {\n return;\n }\n const key = getKey(element);\n const style = getStyle(element);\n const cls = getClass(element);\n const props = getOptionProps(element);\n const events = getEvents(element);\n const listeners = {};\n Object.keys(events).forEach(e => {\n const k = `on-${e}`;\n listeners[camelize(k)] = events[e];\n });\n const { default: children, title } = getSlots(element);\n const column = { title, ...props, style, class: cls, ...listeners };\n if (key) {\n column.key = key;\n }\n if (getSlotOptions(element).isTableColumnGroup) {\n column.children = this.normalize(typeof children === 'function' ? children() : children);\n } else {\n const customRender =\n element.data && element.data.scopedSlots && element.data.scopedSlots.default;\n column.customRender = column.customRender || customRender;\n }\n columns.push(column);\n });\n return columns;\n },\n },\n render() {\n const { $slots, normalize } = this;\n const props = getOptionProps(this);\n const columns = props.columns || normalize($slots.default);\n const tProps = {\n props: {\n ...props,\n columns,\n },\n on: getListeners(this),\n ref: 'table',\n };\n return <T {...tProps} />;\n },\n};\n\nexport default Table;\nexport { Column, ColumnGroup, INTERNAL_COL_DEFINE };\n","import PropTypes from '../../_util/vue-types';\n\nexport default {\n name: 'Column',\n props: {\n rowSpan: PropTypes.number,\n colSpan: PropTypes.number,\n title: PropTypes.any,\n dataIndex: PropTypes.string,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n ellipsis: PropTypes.bool,\n fixed: PropTypes.oneOf([true, 'left', 'right']),\n align: PropTypes.oneOf(['left', 'center', 'right']),\n customRender: PropTypes.func,\n className: PropTypes.string,\n // onCellClick: PropTypes.func,\n customCell: PropTypes.func,\n customHeaderCell: PropTypes.func,\n },\n};\n","import PropTypes from '../../_util/vue-types';\n\nexport default {\n name: 'ColumnGroup',\n props: {\n title: PropTypes.any,\n },\n isTableColumnGroup: true,\n};\n","export default {\n name: 'FilterDropdownMenuWrapper',\n methods: {\n handelClick(e) {\n e.stopPropagation();\n //this.$emit('click', e);\n },\n },\n render() {\n const { $slots, handelClick } = this;\n return <div onClick={handelClick}>{$slots.default}</div>;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { PaginationProps as getPaginationProps } from '../pagination';\nimport { SpinProps as getSpinProps } from '../spin';\n\nconst PaginationProps = getPaginationProps();\nconst SpinProps = getSpinProps();\n\n// export type CompareFn<T> = ((a: T, b: T) => number);\nexport const ColumnFilterItem = PropTypes.shape({\n text: PropTypes.string,\n value: PropTypes.string,\n children: PropTypes.array,\n}).loose;\n\nexport const ColumnProps = {\n title: PropTypes.any,\n // key?: React.Key;\n dataIndex: PropTypes.string,\n customRender: PropTypes.func,\n customCell: PropTypes.func,\n customHeaderCell: PropTypes.func,\n align: PropTypes.oneOf(['left', 'right', 'center']),\n ellipsis: PropTypes.bool,\n filters: PropTypes.arrayOf(ColumnFilterItem),\n // onFilter: (value: any, record: T) => PropTypes.bool,\n filterMultiple: PropTypes.bool,\n filterDropdown: PropTypes.any,\n filterDropdownVisible: PropTypes.bool,\n // onFilterDropdownVisibleChange?: (visible: boolean) => void;\n sorter: PropTypes.oneOfType([PropTypes.boolean, PropTypes.func]),\n defaultSortOrder: PropTypes.oneOf(['ascend', 'descend']),\n colSpan: PropTypes.number,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n className: PropTypes.string,\n fixed: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['left', 'right'])]),\n filterIcon: PropTypes.any,\n filteredValue: PropTypes.array,\n filtered: PropTypes.bool,\n defaultFilteredValue: PropTypes.array,\n sortOrder: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['ascend', 'descend'])]),\n sortDirections: PropTypes.array,\n // children?: ColumnProps<T>[];\n // onCellClick?: (record: T, event: any) => void;\n // onCell?: (record: T) => any;\n // onHeaderCell?: (props: ColumnProps<T>) => any;\n};\n\n// export interface TableComponents {\n// table?: any;\n// header?: {\n// wrapper?: any;\n// row?: any;\n// cell?: any;\n// };\n// body?: {\n// wrapper?: any;\n// row?: any;\n// cell?: any;\n// };\n// }\n\nexport const TableLocale = PropTypes.shape({\n filterTitle: PropTypes.string,\n filterConfirm: PropTypes.any,\n filterReset: PropTypes.any,\n emptyText: PropTypes.any,\n selectAll: PropTypes.any,\n selectInvert: PropTypes.any,\n sortTitle: PropTypes.string,\n expand: PropTypes.string,\n collapse: PropTypes.string,\n}).loose;\n\nexport const RowSelectionType = PropTypes.oneOf(['checkbox', 'radio']);\n// export type SelectionSelectFn<T> = (record: T, selected: boolean, selectedRows: Object[]) => any;\n\nexport const TableRowSelection = {\n type: RowSelectionType,\n selectedRowKeys: PropTypes.array,\n // onChange?: (selectedRowKeys: string[] | number[], selectedRows: Object[]) => any;\n getCheckboxProps: PropTypes.func,\n // onSelect?: SelectionSelectFn<T>;\n // onSelectAll?: (selected: boolean, selectedRows: Object[], changeRows: Object[]) => any;\n // onSelectInvert?: (selectedRows: Object[]) => any;\n selections: PropTypes.oneOfType([PropTypes.array, PropTypes.bool]),\n hideDefaultSelections: PropTypes.bool,\n fixed: PropTypes.bool,\n columnWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectWay: PropTypes.oneOf(['onSelect', 'onSelectMultiple', 'onSelectAll', 'onSelectInvert']),\n columnTitle: PropTypes.any,\n};\n\nexport const TableProps = {\n prefixCls: PropTypes.string,\n dropdownPrefixCls: PropTypes.string,\n rowSelection: PropTypes.oneOfType([PropTypes.shape(TableRowSelection).loose, null]),\n pagination: PropTypes.oneOfType([\n PropTypes.shape({\n ...PaginationProps,\n position: PropTypes.oneOf(['top', 'bottom', 'both']),\n }).loose,\n PropTypes.bool,\n ]),\n size: PropTypes.oneOf(['default', 'middle', 'small', 'large']),\n dataSource: PropTypes.array,\n components: PropTypes.object,\n columns: PropTypes.array,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n rowClassName: PropTypes.func,\n expandedRowRender: PropTypes.any,\n defaultExpandAllRows: PropTypes.bool,\n defaultExpandedRowKeys: PropTypes.array,\n expandedRowKeys: PropTypes.array,\n expandIconAsCell: PropTypes.bool,\n expandIconColumnIndex: PropTypes.number,\n expandRowByClick: PropTypes.bool,\n // onExpandedRowsChange?: (expandedRowKeys: string[] | number[]) => void;\n // onExpand?: (expanded: boolean, record: T) => void;\n // onChange?: (pagination: PaginationProps | boolean, filters: string[], sorter: Object) => any;\n loading: PropTypes.oneOfType([PropTypes.shape(SpinProps).loose, PropTypes.bool]),\n locale: TableLocale,\n indentSize: PropTypes.number,\n // onRowClick?: (record: T, index: number, event: Event) => any;\n customRow: PropTypes.func,\n customHeaderRow: PropTypes.func,\n useFixedHeader: PropTypes.bool,\n bordered: PropTypes.bool,\n showHeader: PropTypes.bool,\n footer: PropTypes.func,\n title: PropTypes.func,\n scroll: PropTypes.object,\n childrenColumnName: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n bodyStyle: PropTypes.any,\n sortDirections: PropTypes.array,\n tableLayout: PropTypes.string,\n getPopupContainer: PropTypes.func,\n expandIcon: PropTypes.func,\n transformCellText: PropTypes.func,\n // className?: PropTypes.string,\n // style?: React.CSSProperties;\n // children?: React.ReactNode;\n};\n\n// export interface TableStateFilters {\n// [key: string]: string[];\n// }\n\n// export interface TableState<T> {\n// pagination: PaginationProps;\n// filters: TableStateFilters;\n// sortColumn: ColumnProps<T> | null;\n// sortOrder: PropTypes.string,\n// }\n\n// export type SelectionItemSelectFn = (key: string[]) => any;\n\n// export interface SelectionItem {\n// key: PropTypes.string,\n// text: PropTypes.any,\n// onSelect: SelectionItemSelectFn;\n// }\n\nexport const SelectionCheckboxAllProps = {\n store: PropTypes.any,\n locale: PropTypes.any,\n disabled: PropTypes.bool,\n getCheckboxPropsByItem: PropTypes.func,\n getRecordKey: PropTypes.func,\n data: PropTypes.array,\n prefixCls: PropTypes.string,\n // onSelect: (key: string, index: number, selectFunc: any) => void;\n hideDefaultSelections: PropTypes.bool,\n selections: PropTypes.oneOfType([PropTypes.array, PropTypes.bool]),\n getPopupContainer: PropTypes.func,\n};\n\n// export interface SelectionCheckboxAllState {\n// checked: PropTypes.bool,\n// indeterminate: PropTypes.bool,\n// }\n\nexport const SelectionBoxProps = {\n store: PropTypes.any,\n type: RowSelectionType,\n defaultSelection: PropTypes.arrayOf([PropTypes.string, PropTypes.number]),\n rowIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n name: PropTypes.string,\n disabled: PropTypes.bool,\n id: PropTypes.string,\n // onChange: React.ChangeEventHandler<HTMLInputElement>;\n};\n\n// export interface SelectionBoxState {\n// checked?: PropTypes.bool,\n// }\n\nexport const FilterMenuProps = {\n _propsSymbol: PropTypes.any,\n locale: TableLocale,\n selectedKeys: PropTypes.arrayOf([PropTypes.string, PropTypes.number]),\n column: PropTypes.object,\n confirmFilter: PropTypes.func,\n prefixCls: PropTypes.string,\n dropdownPrefixCls: PropTypes.string,\n getPopupContainer: PropTypes.func,\n handleFilter: PropTypes.func,\n};\n\n// export interface FilterMenuState {\n// selectedKeys: string[];\n// keyPathOfSelectedItem: { [key: string]: string };\n// visible?: PropTypes.bool,\n// }\n","export function flatArray(data = [], childrenName = 'children') {\n const result = [];\n const loop = array => {\n array.forEach(item => {\n if (item[childrenName]) {\n const newItem = { ...item };\n delete newItem[childrenName];\n result.push(newItem);\n if (item[childrenName].length > 0) {\n loop(item[childrenName]);\n }\n } else {\n result.push(item);\n }\n });\n };\n loop(data);\n return result;\n}\n\nexport function treeMap(tree, mapper, childrenName = 'children') {\n return tree.map((node, index) => {\n const extra = {};\n if (node[childrenName]) {\n extra[childrenName] = treeMap(node[childrenName], mapper, childrenName);\n }\n return {\n ...mapper(node, index),\n ...extra,\n };\n });\n}\n\nexport function flatFilter(tree, callback) {\n return tree.reduce((acc, node) => {\n if (callback(node)) {\n acc.push(node);\n }\n if (node.children) {\n const children = flatFilter(node.children, callback);\n acc.push(...children);\n }\n return acc;\n }, []);\n}\n\n// export function normalizeColumns (elements) {\n// const columns = []\n// React.Children.forEach(elements, (element) => {\n// if (!React.isValidElement(element)) {\n// return\n// }\n// const column = {\n// ...element.props,\n// }\n// if (element.key) {\n// column.key = element.key\n// }\n// if (element.type && element.type.__ANT_TABLE_COLUMN_GROUP) {\n// column.children = normalizeColumns(column.children)\n// }\n// columns.push(column)\n// })\n// return columns\n// }\n\nexport function generateValueMaps(items, maps = {}) {\n (items || []).forEach(({ value, children }) => {\n maps[value.toString()] = value;\n generateValueMaps(children, maps);\n });\n return maps;\n}\n","import Menu, { SubMenu, Item as MenuItem } from '../vc-menu';\nimport closest from 'dom-closest';\nimport classNames from 'classnames';\nimport shallowequal from 'shallowequal';\nimport Dropdown from '../dropdown';\nimport Icon from '../icon';\nimport Checkbox from '../checkbox';\nimport Radio from '../radio';\nimport FilterDropdownMenuWrapper from './FilterDropdownMenuWrapper';\nimport { FilterMenuProps } from './interface';\nimport { initDefaultProps, getOptionProps, isValidElement } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport BaseMixin from '../_util/BaseMixin';\nimport { generateValueMaps } from './util';\n\nfunction stopPropagation(e) {\n e.stopPropagation();\n}\n\nexport default {\n name: 'FilterMenu',\n mixins: [BaseMixin],\n props: initDefaultProps(FilterMenuProps, {\n handleFilter() {},\n column: {},\n }),\n\n data() {\n const visible =\n 'filterDropdownVisible' in this.column ? this.column.filterDropdownVisible : false;\n this.preProps = { ...getOptionProps(this) };\n return {\n sSelectedKeys: this.selectedKeys,\n sKeyPathOfSelectedItem: {}, // 记录所有有选中子菜单的祖先菜单\n sVisible: visible,\n sValueKeys: generateValueMaps(this.column.filters),\n };\n },\n watch: {\n _propsSymbol() {\n const nextProps = getOptionProps(this);\n const { column } = nextProps;\n const newState = {};\n\n /**\n * if the state is visible the component should ignore updates on selectedKeys prop to avoid\n * that the user selection is lost\n * this happens frequently when a table is connected on some sort of realtime data\n * Fixes https://github.com/ant-design/ant-design/issues/10289 and\n * https://github.com/ant-design/ant-design/issues/10209\n */\n if (\n 'selectedKeys' in nextProps &&\n !shallowequal(this.preProps.selectedKeys, nextProps.selectedKeys)\n ) {\n newState.sSelectedKeys = nextProps.selectedKeys;\n }\n if (!shallowequal((this.preProps.column || {}).filters, (nextProps.column || {}).filters)) {\n newState.sValueKeys = generateValueMaps(nextProps.column.filters);\n }\n if ('filterDropdownVisible' in column) {\n newState.sVisible = column.filterDropdownVisible;\n }\n if (Object.keys(newState).length > 0) {\n this.setState(newState);\n }\n this.preProps = { ...nextProps };\n },\n // 'column.fixed': function (val) {\n // this.setNeverShown(this.column)\n // },\n // column (val) {\n // if ('filterDropdownVisible' in val) {\n // this.sVisible = val.filterDropdownVisible\n // }\n // },\n // selectedKeys (val) {\n // this.sSelectedKeys = val\n // },\n },\n\n mounted() {\n const { column } = this;\n this.$nextTick(() => {\n this.setNeverShown(column);\n });\n },\n updated() {\n const { column } = this;\n this.$nextTick(() => {\n this.setNeverShown(column);\n });\n },\n methods: {\n getDropdownVisible() {\n return this.neverShown ? false : this.sVisible;\n },\n setNeverShown(column) {\n const rootNode = this.$el;\n const filterBelongToScrollBody = !!closest(rootNode, `.ant-table-scroll`);\n if (filterBelongToScrollBody) {\n // When fixed column have filters, there will be two dropdown menus\n // Filter dropdown menu inside scroll body should never be shown\n // To fix https://github.com/ant-design/ant-design/issues/5010 and\n // https://github.com/ant-design/ant-design/issues/7909\n this.neverShown = !!column.fixed;\n }\n },\n\n setSelectedKeys({ selectedKeys }) {\n this.setState({ sSelectedKeys: selectedKeys });\n },\n\n setVisible(visible) {\n const { column } = this;\n if (!('filterDropdownVisible' in column)) {\n this.setState({ sVisible: visible });\n }\n if (column.onFilterDropdownVisibleChange) {\n column.onFilterDropdownVisibleChange(visible);\n }\n },\n\n handleClearFilters() {\n this.setState(\n {\n sSelectedKeys: [],\n },\n this.handleConfirm,\n );\n },\n\n handleConfirm() {\n this.setVisible(false);\n this.confirmFilter2();\n // Call `setSelectedKeys` & `confirm` in the same time will make filter data not up to date\n // https://github.com/ant-design/ant-design/issues/12284\n this.$forceUpdate();\n this.$nextTick(() => {\n this.confirmFilter;\n });\n },\n\n onVisibleChange(visible) {\n this.setVisible(visible);\n const { column } = this.$props;\n // https://github.com/ant-design/ant-design/issues/17833\n if (!visible && !(column.filterDropdown instanceof Function)) {\n this.confirmFilter2();\n }\n },\n handleMenuItemClick(info) {\n const { sSelectedKeys: selectedKeys } = this.$data;\n if (!info.keyPath || info.keyPath.length <= 1) {\n return;\n }\n const { sKeyPathOfSelectedItem: keyPathOfSelectedItem } = this.$data;\n if (selectedKeys && selectedKeys.indexOf(info.key) >= 0) {\n // deselect SubMenu child\n delete keyPathOfSelectedItem[info.key];\n } else {\n // select SubMenu child\n keyPathOfSelectedItem[info.key] = info.keyPath;\n }\n this.setState({ sKeyPathOfSelectedItem: keyPathOfSelectedItem });\n },\n\n hasSubMenu() {\n const {\n column: { filters = [] },\n } = this;\n return filters.some(item => !!(item.children && item.children.length > 0));\n },\n\n confirmFilter2() {\n const { column, selectedKeys: propSelectedKeys, confirmFilter } = this.$props;\n const { sSelectedKeys: selectedKeys, sValueKeys: valueKeys } = this.$data;\n const { filterDropdown } = column;\n\n if (!shallowequal(selectedKeys, propSelectedKeys)) {\n confirmFilter(\n column,\n filterDropdown\n ? selectedKeys\n : selectedKeys.map(key => valueKeys[key]).filter(key => key !== undefined),\n );\n }\n },\n\n renderMenus(items) {\n const { dropdownPrefixCls, prefixCls } = this.$props;\n return items.map(item => {\n if (item.children && item.children.length > 0) {\n const { sKeyPathOfSelectedItem } = this;\n const containSelected = Object.keys(sKeyPathOfSelectedItem).some(\n key => sKeyPathOfSelectedItem[key].indexOf(item.value) >= 0,\n );\n const subMenuCls = classNames(`${prefixCls}-dropdown-submenu`, {\n [`${dropdownPrefixCls}-submenu-contain-selected`]: containSelected,\n });\n return (\n <SubMenu title={item.text} popupClassName={subMenuCls} key={item.value}>\n {this.renderMenus(item.children)}\n </SubMenu>\n );\n }\n return this.renderMenuItem(item);\n });\n },\n\n renderFilterIcon() {\n const { column, locale, prefixCls, selectedKeys } = this;\n const filtered = selectedKeys && selectedKeys.length > 0;\n let filterIcon = column.filterIcon;\n if (typeof filterIcon === 'function') {\n filterIcon = filterIcon(filtered, column);\n }\n const dropdownIconClass = classNames({\n [`${prefixCls}-selected`]: 'filtered' in column ? column.filtered : filtered,\n [`${prefixCls}-open`]: this.getDropdownVisible(),\n });\n if (!filterIcon) {\n return (\n <Icon\n title={locale.filterTitle}\n type=\"filter\"\n theme=\"filled\"\n class={dropdownIconClass}\n onClick={stopPropagation}\n />\n );\n }\n if (filterIcon.length === 1 && isValidElement(filterIcon[0])) {\n return cloneElement(filterIcon[0], {\n on: {\n click: stopPropagation,\n },\n class: classNames(`${prefixCls}-icon`, dropdownIconClass),\n });\n }\n return <span class={classNames(`${prefixCls}-icon`, dropdownIconClass)}>{filterIcon}</span>;\n },\n\n renderMenuItem(item) {\n const { column } = this;\n const { sSelectedKeys: selectedKeys } = this.$data;\n const multiple = 'filterMultiple' in column ? column.filterMultiple : true;\n\n const input = multiple ? (\n <Checkbox checked={selectedKeys && selectedKeys.indexOf(item.value) >= 0} />\n ) : (\n <Radio checked={selectedKeys && selectedKeys.indexOf(item.value) >= 0} />\n );\n\n return (\n <MenuItem key={item.value}>\n {input}\n <span>{item.text}</span>\n </MenuItem>\n );\n },\n },\n\n render() {\n const { sSelectedKeys: originSelectedKeys } = this.$data;\n const { column, locale, prefixCls, dropdownPrefixCls, getPopupContainer } = this;\n // default multiple selection in filter dropdown\n const multiple = 'filterMultiple' in column ? column.filterMultiple : true;\n const dropdownMenuClass = classNames({\n [`${dropdownPrefixCls}-menu-without-submenu`]: !this.hasSubMenu(),\n });\n let { filterDropdown } = column;\n if (filterDropdown instanceof Function) {\n filterDropdown = filterDropdown({\n prefixCls: `${dropdownPrefixCls}-custom`,\n setSelectedKeys: selectedKeys => this.setSelectedKeys({ selectedKeys }),\n selectedKeys: originSelectedKeys,\n confirm: this.handleConfirm,\n clearFilters: this.handleClearFilters,\n filters: column.filters,\n visible: this.getDropdownVisible(),\n column,\n });\n }\n\n const menus = filterDropdown ? (\n <FilterDropdownMenuWrapper class={`${prefixCls}-dropdown`}>\n {filterDropdown}\n </FilterDropdownMenuWrapper>\n ) : (\n <FilterDropdownMenuWrapper class={`${prefixCls}-dropdown`}>\n <Menu\n multiple={multiple}\n onClick={this.handleMenuItemClick}\n prefixCls={`${dropdownPrefixCls}-menu`}\n class={dropdownMenuClass}\n onSelect={this.setSelectedKeys}\n onDeselect={this.setSelectedKeys}\n selectedKeys={originSelectedKeys && originSelectedKeys.map(val => val)}\n getPopupContainer={getPopupContainer}\n >\n {this.renderMenus(column.filters)}\n </Menu>\n <div class={`${prefixCls}-dropdown-btns`}>\n <a class={`${prefixCls}-dropdown-link confirm`} onClick={this.handleConfirm}>\n {locale.filterConfirm}\n </a>\n <a class={`${prefixCls}-dropdown-link clear`} onClick={this.handleClearFilters}>\n {locale.filterReset}\n </a>\n </div>\n </FilterDropdownMenuWrapper>\n );\n\n return (\n <Dropdown\n trigger={['click']}\n placement=\"bottomRight\"\n visible={this.getDropdownVisible()}\n onVisibleChange={this.onVisibleChange}\n getPopupContainer={getPopupContainer}\n forceRender\n >\n <template slot=\"overlay\">{menus}</template>\n {this.renderFilterIcon()}\n </Dropdown>\n );\n },\n};\n","import Checkbox from '../checkbox';\nimport Radio from '../radio';\nimport { SelectionBoxProps } from './interface';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getOptionProps, getListeners } from '../_util/props-util';\n\nexport default {\n name: 'SelectionBox',\n mixins: [BaseMixin],\n props: SelectionBoxProps,\n computed: {\n checked() {\n const { store, defaultSelection, rowIndex } = this.$props;\n let checked = false;\n if (store.selectionDirty) {\n checked = store.selectedRowKeys.indexOf(rowIndex) >= 0;\n } else {\n checked =\n store.selectedRowKeys.indexOf(rowIndex) >= 0 || defaultSelection.indexOf(rowIndex) >= 0;\n }\n return checked;\n },\n },\n render() {\n const { type, rowIndex, ...rest } = getOptionProps(this);\n const { checked } = this;\n const checkboxProps = {\n props: {\n checked,\n ...rest,\n },\n on: getListeners(this),\n };\n if (type === 'radio') {\n checkboxProps.props.value = rowIndex;\n return <Radio {...checkboxProps} />;\n }\n return <Checkbox {...checkboxProps} />;\n },\n};\n","import Checkbox from '../checkbox';\nimport Dropdown from '../dropdown';\nimport Menu from '../menu';\nimport Icon from '../icon';\nimport classNames from 'classnames';\nimport { SelectionCheckboxAllProps } from './interface';\nimport BaseMixin from '../_util/BaseMixin';\n\nfunction checkSelection({\n store,\n getCheckboxPropsByItem,\n getRecordKey,\n data,\n type,\n byDefaultChecked,\n}) {\n return byDefaultChecked\n ? data[type]((item, i) => getCheckboxPropsByItem(item, i).defaultChecked)\n : data[type]((item, i) => store.selectedRowKeys.indexOf(getRecordKey(item, i)) >= 0);\n}\n\nfunction getIndeterminateState(props) {\n const { store, data } = props;\n if (!data.length) {\n return false;\n }\n\n const someCheckedNotByDefaultChecked =\n checkSelection({\n ...props,\n data,\n type: 'some',\n byDefaultChecked: false,\n }) &&\n !checkSelection({\n ...props,\n data,\n type: 'every',\n byDefaultChecked: false,\n });\n const someCheckedByDefaultChecked =\n checkSelection({\n ...props,\n data,\n type: 'some',\n byDefaultChecked: true,\n }) &&\n !checkSelection({\n ...props,\n data,\n type: 'every',\n byDefaultChecked: true,\n });\n\n if (store.selectionDirty) {\n return someCheckedNotByDefaultChecked;\n }\n return someCheckedNotByDefaultChecked || someCheckedByDefaultChecked;\n}\n\nfunction getCheckState(props) {\n const { store, data } = props;\n if (!data.length) {\n return false;\n }\n if (store.selectionDirty) {\n return checkSelection({\n ...props,\n data,\n type: 'every',\n byDefaultChecked: false,\n });\n }\n return (\n checkSelection({\n ...props,\n data,\n type: 'every',\n byDefaultChecked: false,\n }) ||\n checkSelection({\n ...props,\n data,\n type: 'every',\n byDefaultChecked: true,\n })\n );\n}\n\nexport default {\n name: 'SelectionCheckboxAll',\n mixins: [BaseMixin],\n props: SelectionCheckboxAllProps,\n data() {\n const { $props: props } = this;\n this.defaultSelections = props.hideDefaultSelections\n ? []\n : [\n {\n key: 'all',\n text: props.locale.selectAll,\n },\n {\n key: 'invert',\n text: props.locale.selectInvert,\n },\n ];\n return {\n checked: getCheckState(props),\n indeterminate: getIndeterminateState(props),\n };\n },\n\n watch: {\n $props: {\n handler() {\n this.setCheckState(this.$props);\n },\n deep: true,\n immediate: true,\n },\n },\n\n methods: {\n checkSelection(props, data, type, byDefaultChecked) {\n const { store, getCheckboxPropsByItem, getRecordKey } = props || this.$props;\n // type should be 'every' | 'some'\n if (type === 'every' || type === 'some') {\n return byDefaultChecked\n ? data[type]((item, i) => getCheckboxPropsByItem(item, i).props.defaultChecked)\n : data[type]((item, i) => store.selectedRowKeys.indexOf(getRecordKey(item, i)) >= 0);\n }\n return false;\n },\n\n setCheckState(props) {\n const checked = getCheckState(props);\n const indeterminate = getIndeterminateState(props);\n this.setState(prevState => {\n const newState = {};\n if (indeterminate !== prevState.indeterminate) {\n newState.indeterminate = indeterminate;\n }\n if (checked !== prevState.checked) {\n newState.checked = checked;\n }\n return newState;\n });\n },\n\n handleSelectAllChange(e) {\n const { checked } = e.target;\n this.$emit('select', checked ? 'all' : 'removeAll', 0, null);\n },\n\n renderMenus(selections) {\n return selections.map((selection, index) => {\n return (\n <Menu.Item key={selection.key || index}>\n <div\n onClick={() => {\n this.$emit('select', selection.key, index, selection.onSelect);\n }}\n >\n {selection.text}\n </div>\n </Menu.Item>\n );\n });\n },\n },\n\n render() {\n const { disabled, prefixCls, selections, getPopupContainer, checked, indeterminate } = this;\n\n const selectionPrefixCls = `${prefixCls}-selection`;\n\n let customSelections = null;\n\n if (selections) {\n const newSelections = Array.isArray(selections)\n ? this.defaultSelections.concat(selections)\n : this.defaultSelections;\n\n const menu = (\n <Menu class={`${selectionPrefixCls}-menu`} selectedKeys={[]}>\n {this.renderMenus(newSelections)}\n </Menu>\n );\n\n customSelections =\n newSelections.length > 0 ? (\n <Dropdown getPopupContainer={getPopupContainer}>\n <template slot=\"overlay\">{menu}</template>\n <div class={`${selectionPrefixCls}-down`}>\n <Icon type=\"down\" />\n </div>\n </Dropdown>\n ) : null;\n }\n\n return (\n <div class={selectionPrefixCls}>\n <Checkbox\n class={classNames({ [`${selectionPrefixCls}-select-all-custom`]: customSelections })}\n checked={checked}\n indeterminate={indeterminate}\n disabled={disabled}\n onChange={this.handleSelectAllChange}\n />\n {customSelections}\n </div>\n );\n },\n};\n","import { ColumnProps } from './interface';\n\nexport default {\n name: 'ATableColumn',\n props: ColumnProps,\n};\n","import PropTypes from '../_util/vue-types';\n\nexport default {\n name: 'ATableColumnGroup',\n props: {\n fixed: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['left', 'right'])]),\n title: PropTypes.any,\n },\n __ANT_TABLE_COLUMN_GROUP: true,\n};\n","import PropTypes from '../_util/vue-types';\nimport { getListeners } from '../_util/props-util';\n\nconst BodyRowProps = {\n store: PropTypes.any,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n prefixCls: PropTypes.string,\n};\n\nexport default function createBodyRow(Component = 'tr') {\n const BodyRow = {\n name: 'BodyRow',\n props: BodyRowProps,\n computed: {\n selected() {\n return this.$props.store.selectedRowKeys.indexOf(this.$props.rowKey) >= 0;\n },\n },\n render() {\n const className = {\n [`${this.prefixCls}-row-selected`]: this.selected,\n };\n\n return (\n <Component class={className} {...{ on: getListeners(this) }}>\n {this.$slots.default}\n </Component>\n );\n },\n };\n\n return BodyRow;\n}\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 */\nimport KeyCode from './KeyCode';\nimport PropTypes from './vue-types';\n\nconst inlineStyle = {\n border: 0,\n background: 'transparent',\n padding: 0,\n lineHeight: 'inherit',\n display: 'inline-block',\n};\n\nconst TransButton = {\n props: {\n noStyle: PropTypes.bool,\n },\n\n methods: {\n onKeyDown(event) {\n const { keyCode } = event;\n if (keyCode === KeyCode.ENTER) {\n event.preventDefault();\n }\n },\n\n onKeyUp(event) {\n const { keyCode } = event;\n if (keyCode === KeyCode.ENTER) {\n this.$emit('click', event);\n }\n },\n\n setRef(btn) {\n this.div = btn;\n },\n\n focus() {\n if (this.div) {\n this.div.focus();\n }\n },\n\n blur() {\n if (this.div) {\n this.div.blur();\n }\n },\n },\n\n render() {\n const { noStyle } = this.$props;\n\n return (\n <div\n role=\"button\"\n tabIndex={0}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.setRef,\n },\n ],\n on: {\n ...this.$listeners,\n keydown: this.onKeyDown,\n keyup: this.onKeyUp,\n },\n }}\n style={{ ...(!noStyle ? inlineStyle : null) }}\n >\n {this.$slots.default}\n </div>\n );\n },\n};\n\nexport default TransButton;\n","import VcTable, { INTERNAL_COL_DEFINE } from '../vc-table';\nimport classNames from 'classnames';\nimport shallowEqual from 'shallowequal';\nimport FilterDropdown from './filterDropdown';\nimport SelectionBox from './SelectionBox';\nimport SelectionCheckboxAll from './SelectionCheckboxAll';\nimport Column from './Column';\nimport ColumnGroup from './ColumnGroup';\nimport createBodyRow from './createBodyRow';\nimport { flatArray, treeMap, flatFilter } from './util';\nimport { initDefaultProps, mergeProps, getOptionProps, getListeners } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport { TableProps } from './interface';\nimport Pagination from '../pagination';\nimport Icon from '../icon';\nimport Spin from '../spin';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport defaultLocale from '../locale-provider/default';\nimport warning from '../_util/warning';\nimport scrollTo from '../_util/scrollTo';\nimport TransButton from '../_util/transButton';\nimport Vue from 'vue';\n\nfunction noop() {}\n\nfunction stopPropagation(e) {\n e.stopPropagation();\n}\n\nfunction getRowSelection(props) {\n return props.rowSelection || {};\n}\n\nfunction getColumnKey(column, index) {\n return column.key || column.dataIndex || index;\n}\n\nfunction isSameColumn(a, b) {\n if (a && b && a.key && a.key === b.key) {\n return true;\n }\n return (\n a === b ||\n shallowEqual(a, b, (value, other) => {\n // https://github.com/ant-design/ant-design/issues/12737\n if (typeof value === 'function' && typeof other === 'function') {\n return value === other || value.toString() === other.toString();\n }\n // https://github.com/ant-design/ant-design/issues/19398\n if (Array.isArray(value) && Array.isArray(other)) {\n return value === other || shallowEqual(value, other);\n }\n })\n );\n}\n\nconst defaultPagination = {\n onChange: noop,\n onShowSizeChange: noop,\n};\n\n/**\n * Avoid creating new object, so that parent component's shouldComponentUpdate\n * can works appropriately。\n */\nconst emptyObject = {};\n\nconst createComponents = (components = {}) => {\n const bodyRow = components && components.body && components.body.row;\n return {\n ...components,\n body: {\n ...components.body,\n row: createBodyRow(bodyRow),\n },\n };\n};\n\nfunction isTheSameComponents(components1 = {}, components2 = {}) {\n return (\n components1 === components2 ||\n ['table', 'header', 'body'].every(key => shallowEqual(components1[key], components2[key]))\n );\n}\n\nfunction getFilteredValueColumns(state, columns) {\n return flatFilter(\n columns || (state || {}).columns || [],\n column => typeof column.filteredValue !== 'undefined',\n );\n}\n\nfunction getFiltersFromColumns(state, columns) {\n const filters = {};\n getFilteredValueColumns(state, columns).forEach(col => {\n const colKey = getColumnKey(col);\n filters[colKey] = col.filteredValue;\n });\n return filters;\n}\n\nfunction isFiltersChanged(state, filters) {\n if (Object.keys(filters).length !== Object.keys(state.filters).length) {\n return true;\n }\n return Object.keys(filters).some(columnKey => filters[columnKey] !== state.filters[columnKey]);\n}\n\nexport default {\n name: 'Table',\n Column,\n ColumnGroup,\n mixins: [BaseMixin],\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n provide() {\n return {\n store: this.store,\n };\n },\n props: initDefaultProps(TableProps, {\n dataSource: [],\n useFixedHeader: false,\n // rowSelection: null,\n size: 'default',\n loading: false,\n bordered: false,\n indentSize: 20,\n locale: {},\n rowKey: 'key',\n showHeader: true,\n sortDirections: ['ascend', 'descend'],\n childrenColumnName: 'children',\n }),\n\n data() {\n const props = getOptionProps(this);\n warning(\n !props.expandedRowRender || !('scroll' in props) || !props.scroll.x,\n '`expandedRowRender` and `scroll` are not compatible. Please use one of them at one time.',\n );\n this.CheckboxPropsCache = {};\n\n this.store = Vue.observable({\n selectedRowKeys: getRowSelection(this.$props).selectedRowKeys || [],\n selectionDirty: false,\n });\n return {\n ...this.getDefaultSortOrder(props.columns || []),\n // 减少状态\n sFilters: this.getDefaultFilters(props.columns),\n sPagination: this.getDefaultPagination(this.$props),\n pivot: undefined,\n sComponents: createComponents(this.components),\n filterDataCnt: 0,\n };\n },\n watch: {\n pagination: {\n handler(val) {\n this.setState(previousState => {\n const newPagination = {\n ...defaultPagination,\n ...previousState.sPagination,\n ...val,\n };\n newPagination.current = newPagination.current || 1;\n newPagination.pageSize = newPagination.pageSize || 10;\n return { sPagination: val !== false ? newPagination : emptyObject };\n });\n },\n deep: true,\n },\n rowSelection: {\n handler(val, oldVal) {\n if (val && 'selectedRowKeys' in val) {\n this.store.selectedRowKeys = val.selectedRowKeys || [];\n const { rowSelection } = this;\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\n dataSource() {\n this.store.selectionDirty = false;\n this.CheckboxPropsCache = {};\n },\n\n columns(val) {\n const filteredValueColumns = getFilteredValueColumns({ columns: val }, val);\n if (filteredValueColumns.length > 0) {\n const filtersFromColumns = getFiltersFromColumns({ columns: val }, val);\n const newFilters = { ...this.sFilters };\n Object.keys(filtersFromColumns).forEach(key => {\n newFilters[key] = filtersFromColumns[key];\n });\n if (isFiltersChanged({ filters: this.sFilters }, newFilters)) {\n this.setState({ sFilters: newFilters });\n }\n }\n this.$forceUpdate();\n },\n components: {\n handler(val, oldVal) {\n if (!isTheSameComponents(val, oldVal)) {\n const components = createComponents(val);\n this.setState({ sComponents: components });\n }\n },\n deep: true,\n },\n },\n updated() {\n const { columns, sSortColumn: sortColumn, sSortOrder: sortOrder } = this;\n if (this.getSortOrderColumns(columns).length > 0) {\n const sortState = this.getSortStateFromColumns(columns);\n if (!isSameColumn(sortState.sSortColumn, sortColumn) || sortState.sSortOrder !== sortOrder) {\n this.setState(sortState);\n }\n }\n },\n methods: {\n getCheckboxPropsByItem(item, index) {\n const rowSelection = getRowSelection(this.$props);\n if (!rowSelection.getCheckboxProps) {\n return { props: {} };\n }\n const key = this.getRecordKey(item, index);\n // Cache checkboxProps\n if (!this.CheckboxPropsCache[key]) {\n this.CheckboxPropsCache[key] = rowSelection.getCheckboxProps(item);\n }\n this.CheckboxPropsCache[key].props = this.CheckboxPropsCache[key].props || {};\n return this.CheckboxPropsCache[key];\n },\n\n getDefaultSelection() {\n const rowSelection = getRowSelection(this.$props);\n if (!rowSelection.getCheckboxProps) {\n return [];\n }\n return this.getFlatData()\n .filter(\n (item, rowIndex) => this.getCheckboxPropsByItem(item, rowIndex).props.defaultChecked,\n )\n .map((record, rowIndex) => this.getRecordKey(record, rowIndex));\n },\n\n getDefaultPagination(props) {\n const pagination = typeof props.pagination === 'object' ? props.pagination : {};\n let current;\n if ('current' in pagination) {\n current = pagination.current;\n } else if ('defaultCurrent' in pagination) {\n current = pagination.defaultCurrent;\n }\n let pageSize;\n if ('pageSize' in pagination) {\n pageSize = pagination.pageSize;\n } else if ('defaultPageSize' in pagination) {\n pageSize = pagination.defaultPageSize;\n }\n return this.hasPagination(props)\n ? {\n ...defaultPagination,\n ...pagination,\n current: current || 1,\n pageSize: pageSize || 10,\n }\n : {};\n },\n\n getSortOrderColumns(columns) {\n return flatFilter(columns || this.columns || [], column => 'sortOrder' in column);\n },\n\n getDefaultFilters(columns) {\n const definedFilters = getFiltersFromColumns({ columns: this.columns }, columns);\n\n const defaultFilteredValueColumns = flatFilter(\n columns || [],\n column => typeof column.defaultFilteredValue !== 'undefined',\n );\n\n const defaultFilters = defaultFilteredValueColumns.reduce((soFar, col) => {\n const colKey = getColumnKey(col);\n soFar[colKey] = col.defaultFilteredValue;\n return soFar;\n }, {});\n\n return { ...defaultFilters, ...definedFilters };\n },\n\n getDefaultSortOrder(columns) {\n const definedSortState = this.getSortStateFromColumns(columns);\n\n const defaultSortedColumn = flatFilter(columns || [], 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\n getSortStateFromColumns(columns) {\n // return first column which sortOrder is not falsy\n const sortedColumn = this.getSortOrderColumns(columns).filter(col => col.sortOrder)[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(total) {\n const { current, pageSize } = this.sPagination;\n if ((current - 1) * pageSize >= total) {\n return Math.floor((total - 1) / pageSize) + 1;\n }\n return current;\n },\n\n getRecordKey(record, index) {\n const { rowKey } = this;\n const recordKey = typeof rowKey === 'function' ? rowKey(record, index) : record[rowKey];\n warning(\n recordKey !== undefined,\n 'Table',\n 'Each record in dataSource of table should have a unique `key` prop, ' +\n 'or set `rowKey` of Table to an unique primary key, ',\n );\n return recordKey === undefined ? index : recordKey;\n },\n\n getSorterFn(state) {\n const { sSortOrder: sortOrder, sSortColumn: sortColumn } = state || this.$data;\n if (!sortOrder || !sortColumn || typeof sortColumn.sorter !== 'function') {\n return;\n }\n\n return (a, b) => {\n const result = sortColumn.sorter(a, b, sortOrder);\n if (result !== 0) {\n return sortOrder === 'descend' ? -result : result;\n }\n return 0;\n };\n },\n\n getCurrentPageData() {\n let data = this.getLocalData();\n this.filterDataCnt = data.length;\n let current;\n let pageSize;\n const sPagination = this.sPagination;\n // 如果没有分页的话,默认全部展示\n if (!this.hasPagination()) {\n pageSize = Number.MAX_VALUE;\n current = 1;\n } else {\n pageSize = sPagination.pageSize;\n current = this.getMaxCurrent(sPagination.total || data.length);\n }\n\n // 分页\n // ---\n // 当数据量少于等于每页数量时,直接设置数据\n // 否则进行读取分页数据\n if (data.length > pageSize || pageSize === Number.MAX_VALUE) {\n data = data.slice((current - 1) * pageSize, current * pageSize);\n }\n return data;\n },\n\n getFlatData() {\n const { childrenColumnName } = this.$props;\n return flatArray(this.getLocalData(null, false), childrenColumnName);\n },\n\n getFlatCurrentPageData() {\n const { childrenColumnName } = this.$props;\n return flatArray(this.getCurrentPageData(), childrenColumnName);\n },\n\n getLocalData(state, filter = true) {\n const currentState = state || this.$data;\n const { sFilters: filters } = currentState;\n const { dataSource } = this.$props;\n let data = dataSource || [];\n // 优化本地排序\n data = data.slice(0);\n const sorterFn = this.getSorterFn(currentState);\n if (sorterFn) {\n // 使用新数组,避免改变原数组导致无限循环更新\n // https://github.com/vueComponent/ant-design-vue/issues/2270\n data = this.recursiveSort([...data], sorterFn);\n }\n // 筛选\n if (filter && filters) {\n Object.keys(filters).forEach(columnKey => {\n const col = this.findColumn(columnKey);\n if (!col) {\n return;\n }\n const values = filters[columnKey] || [];\n if (values.length === 0) {\n return;\n }\n const onFilter = col.onFilter;\n data = onFilter\n ? data.filter(record => {\n return values.some(v => onFilter(v, record));\n })\n : data;\n });\n }\n return data;\n },\n onRow(prefixCls, record, index) {\n const { customRow } = this;\n const custom = customRow ? customRow(record, index) : {};\n return mergeProps(custom, {\n props: {\n prefixCls,\n store: this.store,\n rowKey: this.getRecordKey(record, index),\n },\n });\n },\n\n setSelectedRowKeys(selectedRowKeys, selectionInfo) {\n const { selectWay, record, checked, changeRowKeys, nativeEvent } = selectionInfo;\n const rowSelection = getRowSelection(this.$props);\n if (rowSelection && !('selectedRowKeys' in rowSelection)) {\n this.store.selectedRowKeys = selectedRowKeys;\n }\n const data = this.getFlatData();\n if (!rowSelection.onChange && !rowSelection[selectWay]) {\n return;\n }\n const selectedRows = data.filter(\n (row, i) => selectedRowKeys.indexOf(this.getRecordKey(row, i)) >= 0,\n );\n if (rowSelection.onChange) {\n rowSelection.onChange(selectedRowKeys, selectedRows);\n }\n if (selectWay === 'onSelect' && rowSelection.onSelect) {\n rowSelection.onSelect(record, checked, selectedRows, nativeEvent);\n } else if (selectWay === 'onSelectMultiple' && rowSelection.onSelectMultiple) {\n const changeRows = data.filter(\n (row, i) => changeRowKeys.indexOf(this.getRecordKey(row, i)) >= 0,\n );\n rowSelection.onSelectMultiple(checked, selectedRows, changeRows);\n } else if (selectWay === 'onSelectAll' && rowSelection.onSelectAll) {\n const changeRows = data.filter(\n (row, i) => changeRowKeys.indexOf(this.getRecordKey(row, i)) >= 0,\n );\n rowSelection.onSelectAll(checked, selectedRows, changeRows);\n } else if (selectWay === 'onSelectInvert' && rowSelection.onSelectInvert) {\n rowSelection.onSelectInvert(selectedRowKeys);\n }\n },\n generatePopupContainerFunc(getPopupContainer) {\n const { scroll } = this.$props;\n const table = this.$refs.vcTable;\n if (getPopupContainer) {\n return getPopupContainer;\n }\n // Use undefined to let rc component use default logic.\n return scroll && table ? () => table.getTableNode() : undefined;\n },\n scrollToFirstRow() {\n const { scroll } = this.$props;\n if (scroll && scroll.scrollToFirstRowOnChange !== false) {\n scrollTo(0, {\n getContainer: () => {\n return this.$refs.vcTable.getBodyTable();\n },\n });\n }\n },\n isSameColumn(a, b) {\n if (a && b && a.key && a.key === b.key) {\n return true;\n }\n return (\n a === b ||\n shallowEqual(a, b, (value, other) => {\n if (typeof value === 'function' && typeof other === 'function') {\n return value === other || value.toString() === other.toString();\n }\n })\n );\n },\n\n handleFilter(column, nextFilters) {\n const props = this.$props;\n const pagination = { ...this.sPagination };\n const filters = {\n ...this.sFilters,\n [getColumnKey(column)]: nextFilters,\n };\n // Remove filters not in current columns\n const currentColumnKeys = [];\n treeMap(this.columns, c => {\n if (!c.children) {\n currentColumnKeys.push(getColumnKey(c));\n }\n });\n Object.keys(filters).forEach(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 const newState = {\n sPagination: pagination,\n sFilters: {},\n };\n const filtersToSetState = { ...filters };\n // Remove filters which is controlled\n getFilteredValueColumns({ columns: props.columns }).forEach(col => {\n const columnKey = getColumnKey(col);\n if (columnKey) {\n delete filtersToSetState[columnKey];\n }\n });\n if (Object.keys(filtersToSetState).length > 0) {\n newState.sFilters = filtersToSetState;\n }\n\n // Controlled current prop will not respond user interaction\n if (typeof props.pagination === 'object' && 'current' in props.pagination) {\n newState.sPagination = {\n ...pagination,\n current: this.sPagination.current,\n };\n }\n\n this.setState(newState, () => {\n this.scrollToFirstRow();\n this.store.selectionDirty = false;\n this.$emit(\n 'change',\n ...this.prepareParamsArguments({\n ...this.$data,\n sSelectionDirty: false,\n sFilters: filters,\n sPagination: pagination,\n }),\n );\n });\n },\n\n handleSelect(record, rowIndex, e) {\n const checked = e.target.checked;\n const nativeEvent = e.nativeEvent;\n const defaultSelection = this.store.selectionDirty ? [] : this.getDefaultSelection();\n let selectedRowKeys = this.store.selectedRowKeys.concat(defaultSelection);\n const key = this.getRecordKey(record, rowIndex);\n const { pivot } = this.$data;\n const rows = this.getFlatCurrentPageData();\n let realIndex = rowIndex;\n if (this.$props.expandedRowRender) {\n realIndex = rows.findIndex(row => this.getRecordKey(row, rowIndex) === key);\n }\n if (nativeEvent.shiftKey && pivot !== undefined && realIndex !== pivot) {\n const changeRowKeys = [];\n const direction = Math.sign(pivot - realIndex);\n const dist = Math.abs(pivot - realIndex);\n let step = 0;\n while (step <= dist) {\n const i = realIndex + step * direction;\n step += 1;\n const row = rows[i];\n const rowKey = this.getRecordKey(row, i);\n const checkboxProps = this.getCheckboxPropsByItem(row, i);\n if (!checkboxProps.disabled) {\n if (selectedRowKeys.includes(rowKey)) {\n if (!checked) {\n selectedRowKeys = selectedRowKeys.filter(j => rowKey !== j);\n changeRowKeys.push(rowKey);\n }\n } else if (checked) {\n selectedRowKeys.push(rowKey);\n changeRowKeys.push(rowKey);\n }\n }\n }\n\n this.setState({ pivot: realIndex });\n this.store.selectionDirty = true;\n this.setSelectedRowKeys(selectedRowKeys, {\n selectWay: 'onSelectMultiple',\n record,\n checked,\n changeRowKeys,\n nativeEvent,\n });\n } else {\n if (checked) {\n selectedRowKeys.push(this.getRecordKey(record, realIndex));\n } else {\n selectedRowKeys = selectedRowKeys.filter(i => key !== i);\n }\n this.setState({ pivot: realIndex });\n this.store.selectionDirty = true;\n this.setSelectedRowKeys(selectedRowKeys, {\n selectWay: 'onSelect',\n record,\n checked,\n changeRowKeys: undefined,\n nativeEvent,\n });\n }\n },\n\n handleRadioSelect(record, rowIndex, e) {\n const checked = e.target.checked;\n const nativeEvent = e.nativeEvent;\n const key = this.getRecordKey(record, rowIndex);\n const selectedRowKeys = [key];\n this.store.selectionDirty = true;\n this.setSelectedRowKeys(selectedRowKeys, {\n selectWay: 'onSelect',\n record,\n checked,\n changeRowKeys: undefined,\n nativeEvent,\n });\n },\n\n handleSelectRow(selectionKey, index, onSelectFunc) {\n const data = this.getFlatCurrentPageData();\n const defaultSelection = this.store.selectionDirty ? [] : this.getDefaultSelection();\n const selectedRowKeys = this.store.selectedRowKeys.concat(defaultSelection);\n const changeableRowKeys = data\n .filter((item, i) => !this.getCheckboxPropsByItem(item, i).props.disabled)\n .map((item, i) => this.getRecordKey(item, i));\n\n const changeRowKeys = [];\n let selectWay = 'onSelectAll';\n let checked;\n // handle default selection\n switch (selectionKey) {\n case 'all':\n changeableRowKeys.forEach(key => {\n if (selectedRowKeys.indexOf(key) < 0) {\n selectedRowKeys.push(key);\n changeRowKeys.push(key);\n }\n });\n selectWay = 'onSelectAll';\n checked = true;\n break;\n case 'removeAll':\n changeableRowKeys.forEach(key => {\n if (selectedRowKeys.indexOf(key) >= 0) {\n selectedRowKeys.splice(selectedRowKeys.indexOf(key), 1);\n changeRowKeys.push(key);\n }\n });\n selectWay = 'onSelectAll';\n checked = false;\n break;\n case 'invert':\n changeableRowKeys.forEach(key => {\n if (selectedRowKeys.indexOf(key) < 0) {\n selectedRowKeys.push(key);\n } else {\n selectedRowKeys.splice(selectedRowKeys.indexOf(key), 1);\n }\n changeRowKeys.push(key);\n selectWay = 'onSelectInvert';\n });\n break;\n default:\n break;\n }\n\n this.store.selectionDirty = true;\n // when select custom selection, callback selections[n].onSelect\n const { rowSelection } = this;\n let customSelectionStartIndex = 2;\n if (rowSelection && rowSelection.hideDefaultSelections) {\n customSelectionStartIndex = 0;\n }\n if (index >= customSelectionStartIndex && typeof onSelectFunc === 'function') {\n return onSelectFunc(changeableRowKeys);\n }\n this.setSelectedRowKeys(selectedRowKeys, {\n selectWay,\n checked,\n changeRowKeys,\n });\n },\n\n handlePageChange(current, ...otherArguments) {\n const props = this.$props;\n const pagination = { ...this.sPagination };\n if (current) {\n pagination.current = current;\n } else {\n pagination.current = pagination.current || 1;\n }\n pagination.onChange(pagination.current, ...otherArguments);\n\n const newState = {\n sPagination: pagination,\n };\n // Controlled current prop will not respond user interaction\n if (\n props.pagination &&\n typeof props.pagination === 'object' &&\n 'current' in props.pagination\n ) {\n newState.sPagination = {\n ...pagination,\n current: this.sPagination.current,\n };\n }\n this.setState(newState, this.scrollToFirstRow);\n\n this.store.selectionDirty = false;\n this.$emit(\n 'change',\n ...this.prepareParamsArguments({\n ...this.$data,\n sSelectionDirty: false,\n sPagination: pagination,\n }),\n );\n },\n\n handleShowSizeChange(current, pageSize) {\n const pagination = this.sPagination;\n pagination.onShowSizeChange(current, pageSize);\n const nextPagination = {\n ...pagination,\n pageSize,\n current,\n };\n this.setState({ sPagination: nextPagination }, this.scrollToFirstRow);\n this.$emit(\n 'change',\n ...this.prepareParamsArguments({\n ...this.$data,\n sPagination: nextPagination,\n }),\n );\n },\n\n toggleSortOrder(column) {\n const sortDirections = column.sortDirections || this.sortDirections;\n const { sSortOrder: sortOrder, sSortColumn: sortColumn } = this;\n // 只同时允许一列进行排序,否则会导致排序顺序的逻辑问题\n let newSortOrder;\n // 切换另一列时,丢弃 sortOrder 的状态\n if (isSameColumn(sortColumn, column) && sortOrder !== undefined) {\n // 按照sortDirections的内容依次切换排序状态\n const methodIndex = sortDirections.indexOf(sortOrder) + 1;\n newSortOrder =\n methodIndex === sortDirections.length ? undefined : sortDirections[methodIndex];\n } else {\n newSortOrder = sortDirections[0];\n }\n const newState = {\n sSortOrder: newSortOrder,\n sSortColumn: newSortOrder ? column : null,\n };\n\n // Controlled\n if (this.getSortOrderColumns().length === 0) {\n this.setState(newState, this.scrollToFirstRow);\n }\n this.$emit(\n 'change',\n ...this.prepareParamsArguments(\n {\n ...this.$data,\n ...newState,\n },\n column,\n ),\n );\n },\n\n hasPagination(props) {\n return (props || this.$props).pagination !== false;\n },\n\n isSortColumn(column) {\n const { sSortColumn: sortColumn } = this;\n if (!column || !sortColumn) {\n return false;\n }\n return getColumnKey(sortColumn) === getColumnKey(column);\n },\n\n // Get pagination, filters, sorter\n prepareParamsArguments(state, column) {\n const pagination = { ...state.sPagination };\n // remove useless handle function in Table.onChange\n delete pagination.onChange;\n delete pagination.onShowSizeChange;\n const filters = state.sFilters;\n const sorter = {};\n let currentColumn = column;\n if (state.sSortColumn && state.sSortOrder) {\n currentColumn = state.sSortColumn;\n sorter.column = state.sSortColumn;\n sorter.order = state.sSortOrder;\n }\n\n if (currentColumn) {\n sorter.field = currentColumn.dataIndex;\n sorter.columnKey = getColumnKey(currentColumn);\n }\n\n const extra = {\n currentDataSource: this.getLocalData(state),\n };\n\n return [pagination, filters, sorter, extra];\n },\n\n findColumn(myKey) {\n let column;\n treeMap(this.columns, c => {\n if (getColumnKey(c) === myKey) {\n column = c;\n }\n });\n return column;\n },\n\n recursiveSort(data, sorterFn) {\n const { childrenColumnName = 'children' } = this;\n return data.sort(sorterFn).map(item =>\n item[childrenColumnName]\n ? {\n ...item,\n [childrenColumnName]: this.recursiveSort([...item[childrenColumnName]], sorterFn),\n }\n : item,\n );\n },\n renderExpandIcon(prefixCls) {\n return ({ expandable, expanded, needIndentSpaced, record, onExpand }) => {\n if (expandable) {\n return (\n <LocaleReceiver componentName=\"Table\" defaultLocale={defaultLocale.Table}>\n {locale => (\n <TransButton\n class={classNames(`${prefixCls}-row-expand-icon`, {\n [`${prefixCls}-row-collapsed`]: !expanded,\n [`${prefixCls}-row-expanded`]: expanded,\n })}\n onClick={event => {\n onExpand(record, event);\n }}\n aria-label={expanded ? locale.collapse : locale.expand}\n noStyle\n />\n )}\n </LocaleReceiver>\n );\n }\n\n if (needIndentSpaced) {\n return <span class={`${prefixCls}-row-expand-icon ${prefixCls}-row-spaced`} />;\n }\n\n return null;\n };\n },\n renderPagination(prefixCls, paginationPosition) {\n // 强制不需要分页\n if (!this.hasPagination()) {\n return null;\n }\n let size = 'default';\n const { sPagination: pagination } = this;\n if (pagination.size) {\n size = pagination.size;\n } else if (this.size === 'middle' || this.size === 'small') {\n size = 'small';\n }\n const position = pagination.position || 'bottom';\n const total = pagination.total || this.filterDataCnt;\n const { class: cls, style, onChange, onShowSizeChange, ...restProps } = pagination; // eslint-disable-line\n const paginationProps = mergeProps({\n key: `pagination-${paginationPosition}`,\n class: classNames(cls, `${prefixCls}-pagination`),\n props: {\n ...restProps,\n total,\n size,\n current: this.getMaxCurrent(total),\n },\n style,\n on: {\n change: this.handlePageChange,\n showSizeChange: this.handleShowSizeChange,\n },\n });\n return total > 0 && (position === paginationPosition || position === 'both') ? (\n <Pagination {...paginationProps} />\n ) : null;\n },\n renderSelectionBox(type) {\n return (_, record, index) => {\n const rowKey = this.getRecordKey(record, index); // 从 1 开始\n const props = this.getCheckboxPropsByItem(record, index);\n const handleChange = e => {\n type === 'radio'\n ? this.handleRadioSelect(record, index, e)\n : this.handleSelect(record, index, e);\n };\n const selectionBoxProps = mergeProps(\n {\n props: {\n type,\n store: this.store,\n rowIndex: rowKey,\n defaultSelection: this.getDefaultSelection(),\n },\n on: {\n change: handleChange,\n },\n },\n props,\n );\n\n return (\n <span onClick={stopPropagation}>\n <SelectionBox {...selectionBoxProps} />\n </span>\n );\n };\n },\n\n renderRowSelection({ prefixCls, locale, getPopupContainer }) {\n const { rowSelection } = this;\n const columns = this.columns.concat();\n if (rowSelection) {\n const data = this.getFlatCurrentPageData().filter((item, index) => {\n if (rowSelection.getCheckboxProps) {\n return !this.getCheckboxPropsByItem(item, index).props.disabled;\n }\n return true;\n });\n const selectionColumnClass = classNames(`${prefixCls}-selection-column`, {\n [`${prefixCls}-selection-column-custom`]: rowSelection.selections,\n });\n const selectionColumn = {\n key: 'selection-column',\n customRender: this.renderSelectionBox(rowSelection.type),\n className: selectionColumnClass,\n fixed: rowSelection.fixed,\n width: rowSelection.columnWidth,\n title: rowSelection.columnTitle,\n [INTERNAL_COL_DEFINE]: {\n class: `${prefixCls}-selection-col`,\n },\n };\n if (rowSelection.type !== 'radio') {\n const checkboxAllDisabled = data.every(\n (item, index) => this.getCheckboxPropsByItem(item, index).props.disabled,\n );\n selectionColumn.title = selectionColumn.title || (\n <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 />\n );\n }\n if ('fixed' in rowSelection) {\n selectionColumn.fixed = rowSelection.fixed;\n } else if (columns.some(column => column.fixed === 'left' || column.fixed === true)) {\n selectionColumn.fixed = 'left';\n }\n if (columns[0] && columns[0].key === 'selection-column') {\n columns[0] = selectionColumn;\n } else {\n columns.unshift(selectionColumn);\n }\n }\n return columns;\n },\n\n renderColumnsDropdown({ prefixCls, dropdownPrefixCls, columns, locale, getPopupContainer }) {\n const { sSortOrder: sortOrder, sFilters: filters } = this;\n return treeMap(columns, (column, i) => {\n const key = getColumnKey(column, i);\n let filterDropdown;\n let sortButton;\n let customHeaderCell = column.customHeaderCell;\n const isSortColumn = this.isSortColumn(column);\n if ((column.filters && column.filters.length > 0) || column.filterDropdown) {\n const colFilters = key in filters ? filters[key] : [];\n filterDropdown = (\n <FilterDropdown\n _propsSymbol={Symbol()}\n locale={locale}\n column={column}\n selectedKeys={colFilters}\n confirmFilter={this.handleFilter}\n prefixCls={`${prefixCls}-filter`}\n dropdownPrefixCls={dropdownPrefixCls || 'ant-dropdown'}\n getPopupContainer={this.generatePopupContainerFunc(getPopupContainer)}\n key=\"filter-dropdown\"\n />\n );\n }\n if (column.sorter) {\n const sortDirections = column.sortDirections || this.sortDirections;\n const isAscend = isSortColumn && sortOrder === 'ascend';\n const isDescend = isSortColumn && sortOrder === 'descend';\n const ascend = sortDirections.indexOf('ascend') !== -1 && (\n <Icon\n class={`${prefixCls}-column-sorter-up ${isAscend ? 'on' : 'off'}`}\n type=\"caret-up\"\n theme=\"filled\"\n key=\"caret-up\"\n />\n );\n\n const descend = sortDirections.indexOf('descend') !== -1 && (\n <Icon\n class={`${prefixCls}-column-sorter-down ${isDescend ? 'on' : 'off'}`}\n type=\"caret-down\"\n theme=\"filled\"\n key=\"caret-down\"\n />\n );\n\n sortButton = (\n <div\n title={locale.sortTitle}\n class={classNames(\n `${prefixCls}-column-sorter-inner`,\n ascend && descend && `${prefixCls}-column-sorter-inner-full`,\n )}\n key=\"sorter\"\n >\n {ascend}\n {descend}\n </div>\n );\n customHeaderCell = col => {\n let colProps = {};\n // Get original first\n if (column.customHeaderCell) {\n colProps = {\n ...column.customHeaderCell(col),\n };\n }\n colProps.on = colProps.on || {};\n // Add sorter logic\n const onHeaderCellClick = colProps.on.click;\n colProps.on.click = (...args) => {\n this.toggleSortOrder(column);\n if (onHeaderCellClick) {\n onHeaderCellClick(...args);\n }\n };\n return colProps;\n };\n }\n return {\n ...column,\n className: classNames(column.className, {\n [`${prefixCls}-column-has-actions`]: sortButton || filterDropdown,\n [`${prefixCls}-column-has-filters`]: filterDropdown,\n [`${prefixCls}-column-has-sorters`]: sortButton,\n [`${prefixCls}-column-sort`]: isSortColumn && sortOrder,\n }),\n title: [\n <span key=\"title\" class={`${prefixCls}-header-column`}>\n <div class={sortButton ? `${prefixCls}-column-sorters` : undefined}>\n <span class={`${prefixCls}-column-title`}>\n {this.renderColumnTitle(column.title)}\n </span>\n <span class={`${prefixCls}-column-sorter`}>{sortButton}</span>\n </div>\n </span>,\n filterDropdown,\n ],\n customHeaderCell,\n };\n });\n },\n renderColumnTitle(title) {\n const { sFilters: filters, sSortOrder: sortOrder, sSortColumn: sortColumn } = this.$data;\n // https://github.com/ant-design/ant-design/issues/11246#issuecomment-405009167\n if (title instanceof Function) {\n return title({\n filters,\n sortOrder,\n sortColumn,\n });\n }\n return title;\n },\n\n renderTable({\n prefixCls,\n renderEmpty,\n dropdownPrefixCls,\n contextLocale,\n getPopupContainer: contextGetPopupContainer,\n transformCellText,\n }) {\n const { showHeader, locale, getPopupContainer, ...restProps } = getOptionProps(this);\n const data = this.getCurrentPageData();\n const expandIconAsCell = this.expandedRowRender && this.expandIconAsCell !== false;\n\n // use props.getPopupContainer first\n const realGetPopupContainer = getPopupContainer || contextGetPopupContainer;\n\n // Merge too locales\n const mergedLocale = { ...contextLocale, ...locale };\n if (!locale || !locale.emptyText) {\n mergedLocale.emptyText = renderEmpty(h, 'Table');\n }\n\n const classString = classNames({\n [`${prefixCls}-${this.size}`]: true,\n [`${prefixCls}-bordered`]: this.bordered,\n [`${prefixCls}-empty`]: !data.length,\n [`${prefixCls}-without-column-header`]: !showHeader,\n });\n\n const columnsWithRowSelection = this.renderRowSelection({\n prefixCls,\n locale: mergedLocale,\n getPopupContainer: realGetPopupContainer,\n });\n const columns = this.renderColumnsDropdown({\n columns: columnsWithRowSelection,\n prefixCls,\n dropdownPrefixCls,\n locale: mergedLocale,\n getPopupContainer: realGetPopupContainer,\n }).map((column, i) => {\n const newColumn = { ...column };\n newColumn.key = getColumnKey(newColumn, i);\n return newColumn;\n });\n\n let expandIconColumnIndex = columns[0] && columns[0].key === 'selection-column' ? 1 : 0;\n if ('expandIconColumnIndex' in restProps) {\n expandIconColumnIndex = restProps.expandIconColumnIndex;\n }\n const vcTableProps = {\n key: 'table',\n props: {\n expandIcon: this.renderExpandIcon(prefixCls),\n ...restProps,\n customRow: (record, index) => this.onRow(prefixCls, record, index),\n components: this.sComponents,\n prefixCls,\n data,\n columns,\n showHeader,\n expandIconColumnIndex,\n expandIconAsCell,\n emptyText: mergedLocale.emptyText,\n transformCellText,\n },\n on: getListeners(this),\n class: classString,\n ref: 'vcTable',\n };\n return <VcTable {...vcTableProps} />;\n },\n },\n\n render() {\n const {\n prefixCls: customizePrefixCls,\n dropdownPrefixCls: customizeDropdownPrefixCls,\n transformCellText: customizeTransformCellText,\n } = this;\n const data = this.getCurrentPageData();\n const {\n getPopupContainer: getContextPopupContainer,\n transformCellText: tct,\n } = this.configProvider;\n const getPopupContainer = this.getPopupContainer || getContextPopupContainer;\n const transformCellText = customizeTransformCellText || tct;\n let loading = this.loading;\n if (typeof loading === 'boolean') {\n loading = {\n props: {\n spinning: loading,\n },\n };\n } else {\n loading = {\n props: { ...loading },\n };\n }\n const getPrefixCls = this.configProvider.getPrefixCls;\n const renderEmpty = this.configProvider.renderEmpty;\n\n const prefixCls = getPrefixCls('table', customizePrefixCls);\n const dropdownPrefixCls = getPrefixCls('dropdown', customizeDropdownPrefixCls);\n\n const table = (\n <LocaleReceiver\n componentName=\"Table\"\n defaultLocale={defaultLocale.Table}\n children={locale =>\n this.renderTable({\n prefixCls,\n renderEmpty,\n dropdownPrefixCls,\n contextLocale: locale,\n getPopupContainer,\n transformCellText,\n })\n }\n />\n );\n\n // if there is no pagination or no data,\n // the height of spin should decrease by half of pagination\n const paginationPatchClass =\n this.hasPagination() && data && data.length !== 0\n ? `${prefixCls}-with-pagination`\n : `${prefixCls}-without-pagination`;\n const spinProps = {\n ...loading,\n class:\n loading.props && loading.props.spinning\n ? `${paginationPatchClass} ${prefixCls}-spin-holder`\n : '',\n };\n return (\n <div class={classNames(`${prefixCls}-wrapper`)}>\n <Spin {...spinProps}>\n {this.renderPagination(prefixCls, 'top')}\n {table}\n {this.renderPagination(prefixCls, 'bottom')}\n </Spin>\n </div>\n );\n },\n};\n","import T from './Table';\nimport ref from 'vue-ref';\nimport Vue from 'vue';\nimport {\n getOptionProps,\n getKey,\n getClass,\n getStyle,\n getEvents,\n getSlotOptions,\n camelize,\n getSlots,\n getListeners,\n} from '../_util/props-util';\nimport Base from '../base';\n\nVue.use(ref, { name: 'ant-ref' });\n\nconst Table = {\n name: 'ATable',\n Column: T.Column,\n ColumnGroup: T.ColumnGroup,\n props: T.props,\n methods: {\n normalize(elements = []) {\n const columns = [];\n elements.forEach(element => {\n if (!element.tag) {\n return;\n }\n const key = getKey(element);\n const style = getStyle(element);\n const cls = getClass(element);\n const props = getOptionProps(element);\n const events = getEvents(element);\n const listeners = {};\n Object.keys(events).forEach(e => {\n /*\n Convert events on template Column to function props onPropAbcChange in Table.columns prop.\n If you write template code like below:\n <Column @prop-abc-change=\"f1\" @update:prop-abc=\"f2\" :prop-abc.sync=\"dataAbc\" />\n You will get these events:\n {\n 'prop-abc-change': this.f1,\n 'update:prop-abc': [this.f2, e => this.dataAbc = e],\n 'update:propAbc': e => this.dataAbc = e,\n }\n All of these events would be treat as column.onPropAbcChange,\n but only one of them will be valid, which can not be determined.\n */\n let k;\n if (e.startsWith('update:')) {\n k = `on-${e.substr('update:'.length)}-change`;\n } else {\n k = `on-${e}`;\n }\n listeners[camelize(k)] = events[e];\n });\n const { default: children, ...restSlots } = getSlots(element);\n const column = { ...restSlots, ...props, style, class: cls, ...listeners };\n if (key) {\n column.key = key;\n }\n if (getSlotOptions(element).__ANT_TABLE_COLUMN_GROUP) {\n column.children = this.normalize(typeof children === 'function' ? children() : children);\n } else {\n const customRender =\n element.data && element.data.scopedSlots && element.data.scopedSlots.default;\n column.customRender = column.customRender || customRender;\n }\n columns.push(column);\n });\n return columns;\n },\n updateColumns(cols = []) {\n const columns = [];\n const { $slots, $scopedSlots } = this;\n cols.forEach(col => {\n const { slots = {}, scopedSlots = {}, ...restProps } = col;\n const column = {\n ...restProps,\n };\n Object.keys(slots).forEach(key => {\n const name = slots[key];\n if (column[key] === undefined && $slots[name]) {\n column[key] = $slots[name].length === 1 ? $slots[name][0] : $slots[name];\n }\n });\n Object.keys(scopedSlots).forEach(key => {\n const name = scopedSlots[key];\n if (column[key] === undefined && $scopedSlots[name]) {\n column[key] = $scopedSlots[name];\n }\n });\n // if (slotScopeName && $scopedSlots[slotScopeName]) {\n // column.customRender = column.customRender || $scopedSlots[slotScopeName]\n // }\n if (col.children) {\n column.children = this.updateColumns(column.children);\n }\n columns.push(column);\n });\n return columns;\n },\n },\n render() {\n const { $slots, normalize, $scopedSlots } = this;\n const props = getOptionProps(this);\n const columns = props.columns ? this.updateColumns(props.columns) : normalize($slots.default);\n let { title, footer } = props;\n const {\n title: slotTitle,\n footer: slotFooter,\n expandedRowRender = props.expandedRowRender,\n } = $scopedSlots;\n title = title || slotTitle;\n footer = footer || slotFooter;\n const tProps = {\n props: {\n ...props,\n columns,\n title,\n footer,\n expandedRowRender,\n },\n on: getListeners(this),\n };\n return <T {...tProps} />;\n },\n};\n/* istanbul ignore next */\nTable.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Table.name, Table);\n Vue.component(Table.Column.name, Table.Column);\n Vue.component(Table.ColumnGroup.name, Table.ColumnGroup);\n};\n\nexport default Table;\n","import PropTypes from '../_util/vue-types';\nimport { initDefaultProps, getOptionProps } from '../_util/props-util';\nimport Icon from '../icon';\nimport Input from '../input';\n\nexport const TransferSearchProps = {\n prefixCls: PropTypes.string,\n placeholder: PropTypes.string,\n value: PropTypes.any,\n handleClear: PropTypes.func,\n disabled: PropTypes.bool,\n};\n\nexport default {\n name: 'Search',\n props: initDefaultProps(TransferSearchProps, {\n placeholder: '',\n }),\n methods: {\n handleChange(e) {\n this.$emit('change', e);\n },\n handleClear2(e) {\n e.preventDefault();\n const { handleClear, disabled } = this.$props;\n if (!disabled && handleClear) {\n handleClear(e);\n }\n },\n },\n render() {\n const { placeholder, value, prefixCls, disabled } = getOptionProps(this);\n const icon =\n value && value.length > 0 ? (\n <a href=\"#\" class={`${prefixCls}-action`} onClick={this.handleClear2}>\n <Icon type=\"close-circle\" theme=\"filled\" />\n </a>\n ) : (\n <span class={`${prefixCls}-action`}>\n <Icon type=\"search\" />\n </span>\n );\n\n return (\n <div>\n <Input\n placeholder={placeholder}\n class={prefixCls}\n value={value}\n onChange={this.handleChange}\n disabled={disabled}\n />\n {icon}\n </div>\n );\n },\n};\n","const style = (element, prop) => {\n let styleVal = '';\n if (typeof getComputedStyle !== 'undefined') {\n styleVal = window.getComputedStyle(element, null).getPropertyValue(prop);\n } else {\n styleVal = element.style[prop];\n }\n return styleVal;\n};\n\nconst overflow = element =>\n style(element, 'overflow') + style(element, 'overflow-y') + style(element, 'overflow-x');\n\nconst scrollParent = element => {\n if (!(element instanceof window.HTMLElement)) {\n return window;\n }\n\n let parent = element;\n\n while (parent) {\n if (parent === document.body || parent === document.documentElement) {\n break;\n }\n\n if (!parent.parentNode) {\n break;\n }\n if (/(scroll|auto)/.test(overflow(parent))) {\n return parent;\n }\n\n parent = parent.parentNode;\n }\n\n return window;\n};\n\nexport default scrollParent;\n","/*\n * Finds element's position relative to the whole document,\n * rather than to the viewport as it is the case with .getBoundingClientRect().\n */\nexport default function getElementPosition(element) {\n const rect = element.getBoundingClientRect();\n\n return {\n top: rect.top + window.pageYOffset,\n left: rect.left + window.pageXOffset,\n };\n}\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport addEventListener from '../../vc-util/Dom/addEventListener';\nimport { initDefaultProps } from '../../_util/props-util';\nimport warning from '../../_util/warning';\nimport debounce from 'lodash/debounce';\nimport throttle from 'lodash/throttle';\nimport parentScroll from './utils/parentScroll';\nimport inViewport from './utils/inViewport';\n\nconst lazyLoadProps = {\n debounce: PropTypes.bool,\n elementType: PropTypes.string,\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n offset: PropTypes.number,\n offsetBottom: PropTypes.number,\n offsetHorizontal: PropTypes.number,\n offsetLeft: PropTypes.number,\n offsetRight: PropTypes.number,\n offsetTop: PropTypes.number,\n offsetVertical: PropTypes.number,\n threshold: PropTypes.number,\n throttle: PropTypes.number,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n _propsSymbol: PropTypes.any,\n};\n\nexport default {\n name: 'LazyLoad',\n mixins: [BaseMixin],\n props: initDefaultProps(lazyLoadProps, {\n elementType: 'div',\n debounce: true,\n offset: 0,\n offsetBottom: 0,\n offsetHorizontal: 0,\n offsetLeft: 0,\n offsetRight: 0,\n offsetTop: 0,\n offsetVertical: 0,\n throttle: 250,\n }),\n data() {\n if (this.throttle > 0) {\n if (this.debounce) {\n this.lazyLoadHandler = debounce(this.lazyLoadHandler, this.throttle);\n } else {\n this.lazyLoadHandler = throttle(this.lazyLoadHandler, this.throttle);\n }\n }\n return {\n visible: false,\n };\n },\n watch: {\n _propsSymbol() {\n if (!this.visible) {\n this.lazyLoadHandler();\n }\n },\n },\n mounted() {\n this.$nextTick(() => {\n this._mounted = true;\n const eventNode = this.getEventNode();\n\n this.lazyLoadHandler();\n\n if (this.lazyLoadHandler.flush) {\n this.lazyLoadHandler.flush();\n }\n this.resizeHander = addEventListener(window, 'resize', this.lazyLoadHandler);\n this.scrollHander = addEventListener(eventNode, 'scroll', this.lazyLoadHandler);\n });\n },\n beforeDestroy() {\n this._mounted = false;\n if (this.lazyLoadHandler.cancel) {\n this.lazyLoadHandler.cancel();\n }\n\n this.detachListeners();\n },\n methods: {\n getEventNode() {\n return parentScroll(this.$el);\n },\n getOffset() {\n const {\n offset,\n offsetVertical,\n offsetHorizontal,\n offsetTop,\n offsetBottom,\n offsetLeft,\n offsetRight,\n threshold,\n } = this.$props;\n\n const _offsetAll = threshold || offset;\n const _offsetVertical = offsetVertical || _offsetAll;\n const _offsetHorizontal = offsetHorizontal || _offsetAll;\n\n return {\n top: offsetTop || _offsetVertical,\n bottom: offsetBottom || _offsetVertical,\n left: offsetLeft || _offsetHorizontal,\n right: offsetRight || _offsetHorizontal,\n };\n },\n lazyLoadHandler() {\n if (!this._mounted) {\n return;\n }\n const offset = this.getOffset();\n const node = this.$el;\n const eventNode = this.getEventNode();\n\n if (inViewport(node, eventNode, offset)) {\n this.setState({ visible: true }, () => {\n this.__emit('contentVisible');\n });\n this.detachListeners();\n }\n },\n detachListeners() {\n this.resizeHander && this.resizeHander.remove();\n this.scrollHander && this.scrollHander.remove();\n },\n },\n render(createElement) {\n const children = this.$slots.default;\n if (children.length !== 1) {\n warning(false, 'lazyLoad组件只能包含一个子元素');\n return null;\n }\n const { height, width, elementType } = this.$props;\n const { visible } = this;\n\n const elStyles = {\n height: typeof height === 'number' ? height + 'px' : height,\n width: typeof width === 'number' ? width + 'px' : width,\n };\n const elClasses = {\n LazyLoad: true,\n 'is-visible': visible,\n };\n\n return createElement(\n elementType,\n {\n class: elClasses,\n style: elStyles,\n },\n [visible ? children[0] : null],\n );\n },\n};\n","import LazyLoad from './src/LazyLoad';\nexport default LazyLoad;\n","import getElementPosition from './getElementPosition';\n\nconst isHidden = element => element.offsetParent === null;\n\nexport default function inViewport(element, container, customOffset) {\n if (isHidden(element)) {\n return false;\n }\n\n let top;\n let bottom;\n let left;\n let right;\n\n if (typeof container === 'undefined' || container === window) {\n top = window.pageYOffset;\n left = window.pageXOffset;\n bottom = top + window.innerHeight;\n right = left + window.innerWidth;\n } else {\n const containerPosition = getElementPosition(container);\n\n top = containerPosition.top;\n left = containerPosition.left;\n bottom = top + container.offsetHeight;\n right = left + container.offsetWidth;\n }\n\n const elementPosition = getElementPosition(element);\n\n return (\n top <= elementPosition.top + element.offsetHeight + customOffset.top &&\n bottom >= elementPosition.top - customOffset.bottom &&\n left <= elementPosition.left + element.offsetWidth + customOffset.left &&\n right >= elementPosition.left - customOffset.right\n );\n}\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport Lazyload from '../vc-lazy-load';\nimport Checkbox from '../checkbox';\n\nfunction noop() {}\n\nexport default {\n name: 'ListItem',\n props: {\n renderedText: PropTypes.any,\n renderedEl: PropTypes.any,\n item: PropTypes.any,\n lazy: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n checked: PropTypes.bool,\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n },\n render() {\n const { renderedText, renderedEl, item, lazy, checked, disabled, prefixCls } = this.$props;\n\n const className = classNames({\n [`${prefixCls}-content-item`]: true,\n [`${prefixCls}-content-item-disabled`]: disabled || item.disabled,\n });\n\n let title;\n if (typeof renderedText === 'string' || typeof renderedText === 'number') {\n title = String(renderedText);\n }\n\n const listItem = (\n <li\n class={className}\n title={title}\n onClick={\n disabled || item.disabled\n ? noop\n : () => {\n this.$emit('click', item);\n }\n }\n >\n <Checkbox checked={checked} disabled={disabled || item.disabled} />\n <span class={`${prefixCls}-content-item-text`}>{renderedEl}</span>\n </li>\n );\n let children = null;\n if (lazy) {\n const lazyProps = {\n props: {\n height: 32,\n offset: 500,\n throttle: 0,\n debounce: false,\n ...lazy,\n _propsSymbol: Symbol(),\n },\n };\n children = <Lazyload {...lazyProps}>{listItem}</Lazyload>;\n } else {\n children = listItem;\n }\n return children;\n },\n};\n","import raf from '../_util/raf';\nimport ListItem from './ListItem';\nimport PropTypes from '../_util/vue-types';\nimport getTransitionProps from '../_util/getTransitionProps';\nfunction noop() {}\nconst ListBody = {\n name: 'ListBody',\n inheritAttrs: false,\n props: {\n prefixCls: PropTypes.string,\n filteredRenderItems: PropTypes.array.def([]),\n lazy: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n selectedKeys: PropTypes.array,\n disabled: PropTypes.bool,\n },\n data() {\n return {\n mounted: false,\n };\n },\n computed: {\n itemsLength() {\n return this.filteredRenderItems ? this.filteredRenderItems.length : 0;\n },\n },\n watch: {\n itemsLength() {\n this.$nextTick(() => {\n const { lazy } = this.$props;\n if (lazy !== false) {\n const container = this.$el;\n raf.cancel(this.lazyId);\n this.lazyId = raf(() => {\n if (container) {\n const scrollEvent = new Event('scroll', { bubbles: true });\n container.dispatchEvent(scrollEvent);\n }\n });\n }\n });\n },\n },\n mounted() {\n this.mountId = raf(() => {\n this.mounted = true;\n });\n },\n\n beforeDestroy() {\n raf.cancel(this.mountId);\n raf.cancel(this.lazyId);\n },\n methods: {\n onItemSelect(item) {\n const { selectedKeys } = this.$props;\n const checked = selectedKeys.indexOf(item.key) >= 0;\n this.$emit('itemSelect', item.key, !checked);\n },\n onScroll(e) {\n this.$emit('scroll', e);\n },\n },\n render() {\n const { mounted } = this.$data;\n const {\n prefixCls,\n filteredRenderItems,\n lazy,\n selectedKeys,\n disabled: globalDisabled,\n } = this.$props;\n const items = filteredRenderItems.map(({ renderedEl, renderedText, item }) => {\n const { disabled } = item;\n const checked = selectedKeys.indexOf(item.key) >= 0;\n\n return (\n <ListItem\n disabled={globalDisabled || disabled}\n key={item.key}\n item={item}\n lazy={lazy}\n renderedText={renderedText}\n renderedEl={renderedEl}\n checked={checked}\n prefixCls={prefixCls}\n onClick={this.onItemSelect}\n />\n );\n });\n const transitionProps = getTransitionProps(\n mounted ? `${prefixCls}-content-item-highlight` : '',\n {\n tag: 'ul',\n nativeOn: {\n scroll: this.onScroll,\n },\n leave: noop,\n },\n );\n return (\n <transition-group class={`${prefixCls}-content`} {...transitionProps}>\n {items}\n </transition-group>\n );\n },\n};\n\nexport default (h, props) => <ListBody {...props} />;\n","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport { isValidElement, initDefaultProps, getListeners } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport Checkbox from '../checkbox';\nimport Search from './search';\nimport defaultRenderList from './renderListBody';\nimport triggerEvent from '../_util/triggerEvent';\nimport addEventListener from '../vc-util/Dom/addEventListener';\n\nconst defaultRender = () => null;\n\nconst TransferItem = {\n key: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n description: PropTypes.string,\n disabled: PropTypes.bool,\n};\n\nfunction isRenderResultPlainObject(result) {\n return (\n result &&\n !isValidElement(result) &&\n Object.prototype.toString.call(result) === '[object Object]'\n );\n}\n\nexport const TransferListProps = {\n prefixCls: PropTypes.string,\n titleText: PropTypes.string,\n dataSource: PropTypes.arrayOf(PropTypes.shape(TransferItem).loose),\n filter: PropTypes.string,\n filterOption: PropTypes.func,\n checkedKeys: PropTypes.arrayOf(PropTypes.string),\n handleFilter: PropTypes.func,\n handleSelect: PropTypes.func,\n handleSelectAll: PropTypes.func,\n handleClear: PropTypes.func,\n renderItem: PropTypes.func,\n showSearch: PropTypes.bool,\n searchPlaceholder: PropTypes.string,\n notFoundContent: PropTypes.any,\n itemUnit: PropTypes.string,\n itemsUnit: PropTypes.string,\n body: PropTypes.any,\n renderList: PropTypes.any,\n footer: PropTypes.any,\n lazy: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n disabled: PropTypes.bool,\n direction: PropTypes.string,\n showSelectAll: PropTypes.bool,\n};\n\nfunction renderListNode(h, renderList, props) {\n let bodyContent = renderList ? renderList(props) : null;\n const customize = !!bodyContent;\n if (!customize) {\n bodyContent = defaultRenderList(h, props);\n }\n return {\n customize,\n bodyContent,\n };\n}\n\nexport default {\n name: 'TransferList',\n mixins: [BaseMixin],\n props: initDefaultProps(TransferListProps, {\n dataSource: [],\n titleText: '',\n showSearch: false,\n lazy: {},\n }),\n data() {\n this.timer = null;\n this.triggerScrollTimer = null;\n return {\n filterValue: '',\n };\n },\n // mounted() {\n // this.timer = setTimeout(() => {\n // this.setState({\n // mounted: true,\n // });\n // }, 0);\n // this.$nextTick(() => {\n // if (this.$refs.listContentWrapper) {\n // const listContentWrapperDom = this.$refs.listContentWrapper.$el;\n // this.scrollEvent = addEventListener(listContentWrapperDom, 'scroll', this.handleScroll);\n // }\n // });\n // },\n beforeDestroy() {\n clearTimeout(this.triggerScrollTimer);\n // if (this.scrollEvent) {\n // this.scrollEvent.remove();\n // }\n },\n updated() {\n this.$nextTick(() => {\n if (this.scrollEvent) {\n this.scrollEvent.remove();\n }\n if (this.$refs.listContentWrapper) {\n const listContentWrapperDom = this.$refs.listContentWrapper.$el;\n this.scrollEvent = addEventListener(listContentWrapperDom, 'scroll', this.handleScroll);\n }\n });\n },\n methods: {\n handleScroll(e) {\n this.$emit('scroll', e);\n },\n getCheckStatus(filteredItems) {\n const { checkedKeys } = this.$props;\n if (checkedKeys.length === 0) {\n return 'none';\n }\n if (filteredItems.every(item => checkedKeys.indexOf(item.key) >= 0 || !!item.disabled)) {\n return 'all';\n }\n return 'part';\n },\n\n getFilteredItems(dataSource, filterValue) {\n const filteredItems = [];\n const filteredRenderItems = [];\n\n dataSource.forEach(item => {\n const renderedItem = this.renderItemHtml(item);\n const { renderedText } = renderedItem;\n\n // Filter skip\n if (filterValue && filterValue.trim() && !this.matchFilter(renderedText, item)) {\n return null;\n }\n\n filteredItems.push(item);\n filteredRenderItems.push(renderedItem);\n });\n\n return { filteredItems, filteredRenderItems };\n },\n\n getListBody(\n prefixCls,\n searchPlaceholder,\n filterValue,\n filteredItems,\n notFoundContent,\n bodyDom,\n filteredRenderItems,\n checkedKeys,\n renderList,\n showSearch,\n disabled,\n ) {\n const search = showSearch ? (\n <div class={`${prefixCls}-body-search-wrapper`}>\n <Search\n prefixCls={`${prefixCls}-search`}\n onChange={this._handleFilter}\n handleClear={this._handleClear}\n placeholder={searchPlaceholder}\n value={filterValue}\n disabled={disabled}\n />\n </div>\n ) : null;\n\n let listBody = bodyDom;\n if (!listBody) {\n let bodyNode;\n\n const { bodyContent, customize } = renderListNode(this.$createElement, renderList, {\n props: { ...this.$props, filteredItems, filteredRenderItems, selectedKeys: checkedKeys },\n on: getListeners(this),\n });\n\n // We should wrap customize list body in a classNamed div to use flex layout.\n if (customize) {\n bodyNode = <div class={`${prefixCls}-body-customize-wrapper`}>{bodyContent}</div>;\n } else {\n bodyNode = filteredItems.length ? (\n bodyContent\n ) : (\n <div class={`${prefixCls}-body-not-found`}>{notFoundContent}</div>\n );\n }\n\n listBody = (\n <div\n class={classNames(\n showSearch ? `${prefixCls}-body ${prefixCls}-body-with-search` : `${prefixCls}-body`,\n )}\n >\n {search}\n {bodyNode}\n </div>\n );\n }\n return listBody;\n },\n\n getCheckBox(filteredItems, showSelectAll, disabled) {\n const checkStatus = this.getCheckStatus(filteredItems);\n const checkedAll = checkStatus === 'all';\n const checkAllCheckbox = showSelectAll !== false && (\n <Checkbox\n disabled={disabled}\n checked={checkedAll}\n indeterminate={checkStatus === 'part'}\n onChange={() => {\n // Only select enabled items\n this.$emit(\n 'itemSelectAll',\n filteredItems.filter(item => !item.disabled).map(({ key }) => key),\n !checkedAll,\n );\n }}\n />\n );\n\n return checkAllCheckbox;\n },\n\n _handleSelect(selectedItem) {\n const { checkedKeys } = this.$props;\n const result = checkedKeys.some(key => key === selectedItem.key);\n this.handleSelect(selectedItem, !result);\n },\n _handleFilter(e) {\n const { handleFilter } = this.$props;\n const {\n target: { value: filterValue },\n } = e;\n this.setState({ filterValue });\n handleFilter(e);\n if (!filterValue) {\n return;\n }\n // Manually trigger scroll event for lazy search bug\n // https://github.com/ant-design/ant-design/issues/5631\n this.triggerScrollTimer = setTimeout(() => {\n const transferNode = this.$el;\n const listNode = transferNode.querySelectorAll('.ant-transfer-list-content')[0];\n if (listNode) {\n triggerEvent(listNode, 'scroll');\n }\n }, 0);\n },\n _handleClear(e) {\n this.setState({ filterValue: '' });\n this.handleClear(e);\n },\n matchFilter(text, item) {\n const { filterValue } = this.$data;\n const { filterOption } = this.$props;\n if (filterOption) {\n return filterOption(filterValue, item);\n }\n return text.indexOf(filterValue) >= 0;\n },\n renderItemHtml(item) {\n const { renderItem = defaultRender } = this.$props;\n const renderResult = renderItem(item);\n const isRenderResultPlain = isRenderResultPlainObject(renderResult);\n return {\n renderedText: isRenderResultPlain ? renderResult.value : renderResult,\n renderedEl: isRenderResultPlain ? renderResult.label : renderResult,\n item,\n };\n },\n filterNull(arr) {\n return arr.filter(item => {\n return item !== null;\n });\n },\n },\n\n render() {\n const { filterValue } = this.$data;\n const {\n prefixCls,\n dataSource,\n titleText,\n checkedKeys,\n disabled,\n body,\n footer,\n showSearch,\n searchPlaceholder,\n notFoundContent,\n itemUnit,\n itemsUnit,\n renderList,\n showSelectAll,\n } = this.$props;\n\n // Custom Layout\n const footerDom = footer && footer({ ...this.$props });\n const bodyDom = body && body({ ...this.$props });\n\n const listCls = classNames(prefixCls, {\n [`${prefixCls}-with-footer`]: !!footerDom,\n });\n\n // ====================== Get filtered, checked item list ======================\n\n const { filteredItems, filteredRenderItems } = this.getFilteredItems(dataSource, filterValue);\n\n // ================================= List Body =================================\n\n const unit = dataSource.length > 1 ? itemsUnit : itemUnit;\n\n const listBody = this.getListBody(\n prefixCls,\n searchPlaceholder,\n filterValue,\n filteredItems,\n notFoundContent,\n bodyDom,\n filteredRenderItems,\n checkedKeys,\n renderList,\n showSearch,\n disabled,\n );\n\n const listFooter = footerDom ? <div class={`${prefixCls}-footer`}>{footerDom}</div> : null;\n\n const checkAllCheckbox = this.getCheckBox(filteredItems, showSelectAll, disabled);\n\n return (\n <div class={listCls}>\n <div class={`${prefixCls}-header`}>\n {checkAllCheckbox}\n <span class={`${prefixCls}-header-selected`}>\n <span>\n {(checkedKeys.length > 0 ? `${checkedKeys.length}/` : '') + filteredItems.length}{' '}\n {unit}\n </span>\n <span class={`${prefixCls}-header-title`}>{titleText}</span>\n </span>\n </div>\n {listBody}\n {listFooter}\n </div>\n );\n },\n};\n","export default function triggerEvent(el, type) {\n if ('createEvent' in document) {\n // modern browsers, IE9+\n const e = document.createEvent('HTMLEvents');\n e.initEvent(type, false, true);\n el.dispatchEvent(e);\n }\n}\n","import PropTypes from '../_util/vue-types';\nimport { getOptionProps } from '../_util/props-util';\nimport Button from '../button';\n\nfunction noop() {}\n\nexport const TransferOperationProps = {\n className: PropTypes.string,\n leftArrowText: PropTypes.string,\n rightArrowText: PropTypes.string,\n moveToLeft: PropTypes.any,\n moveToRight: PropTypes.any,\n leftActive: PropTypes.bool,\n rightActive: PropTypes.bool,\n disabled: PropTypes.bool,\n};\n\nexport default {\n name: 'Operation',\n props: { ...TransferOperationProps },\n render() {\n const {\n disabled,\n moveToLeft = noop,\n moveToRight = noop,\n leftArrowText = '',\n rightArrowText = '',\n leftActive,\n rightActive,\n } = getOptionProps(this);\n return (\n <div>\n <Button\n type=\"primary\"\n size=\"small\"\n disabled={disabled || !rightActive}\n onClick={moveToRight}\n icon=\"right\"\n >\n {rightArrowText}\n </Button>\n <Button\n type=\"primary\"\n size=\"small\"\n disabled={disabled || !leftActive}\n onClick={moveToLeft}\n icon=\"left\"\n >\n {leftArrowText}\n </Button>\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport {\n hasProp,\n initDefaultProps,\n getOptionProps,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport classNames from 'classnames';\nimport List from './list';\nimport Operation from './operation';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport defaultLocale from '../locale-provider/default';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport warning from '../_util/warning';\nimport Base from '../base';\n\nexport const TransferDirection = 'left' | 'right';\n\nexport const TransferItem = {\n key: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n description: PropTypes.string,\n disabled: PropTypes.bool,\n};\n\nexport const TransferProps = {\n prefixCls: PropTypes.string,\n dataSource: PropTypes.arrayOf(PropTypes.shape(TransferItem).loose),\n disabled: PropTypes.boolean,\n targetKeys: PropTypes.arrayOf(PropTypes.string),\n selectedKeys: PropTypes.arrayOf(PropTypes.string),\n render: PropTypes.func,\n listStyle: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n operationStyle: PropTypes.object,\n titles: PropTypes.arrayOf(PropTypes.string),\n operations: PropTypes.arrayOf(PropTypes.string),\n showSearch: PropTypes.bool,\n filterOption: PropTypes.func,\n searchPlaceholder: PropTypes.string,\n notFoundContent: PropTypes.any,\n locale: PropTypes.object,\n rowKey: PropTypes.func,\n lazy: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),\n showSelectAll: PropTypes.bool,\n};\n\nexport const TransferLocale = {\n titles: PropTypes.arrayOf(PropTypes.string),\n notFoundContent: PropTypes.string,\n itemUnit: PropTypes.string,\n itemsUnit: PropTypes.string,\n};\n\nconst Transfer = {\n name: 'ATransfer',\n mixins: [BaseMixin],\n props: initDefaultProps(TransferProps, {\n dataSource: [],\n locale: {},\n showSearch: false,\n listStyle: () => {},\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n // vue 中 通过slot,不方便传递,保留notFoundContent及searchPlaceholder\n // warning(\n // !(getComponentFromProp(this, 'notFoundContent') || hasProp(this, 'searchPlaceholder')),\n // 'Transfer[notFoundContent] and Transfer[searchPlaceholder] will be removed, ' +\n // 'please use Transfer[locale] instead.',\n // )\n const { selectedKeys = [], targetKeys = [] } = this;\n return {\n leftFilter: '',\n rightFilter: '',\n sourceSelectedKeys: selectedKeys.filter(key => targetKeys.indexOf(key) === -1),\n targetSelectedKeys: selectedKeys.filter(key => targetKeys.indexOf(key) > -1),\n };\n },\n mounted() {\n // this.currentProps = { ...this.$props }\n },\n watch: {\n targetKeys() {\n this.updateState();\n if (this.selectedKeys) {\n const targetKeys = this.targetKeys || [];\n this.setState({\n sourceSelectedKeys: this.selectedKeys.filter(key => !targetKeys.includes(key)),\n targetSelectedKeys: this.selectedKeys.filter(key => targetKeys.includes(key)),\n });\n }\n },\n dataSource() {\n this.updateState();\n },\n selectedKeys() {\n if (this.selectedKeys) {\n const targetKeys = this.targetKeys || [];\n this.setState({\n sourceSelectedKeys: this.selectedKeys.filter(key => !targetKeys.includes(key)),\n targetSelectedKeys: this.selectedKeys.filter(key => targetKeys.includes(key)),\n });\n }\n },\n },\n methods: {\n getSelectedKeysName(direction) {\n return direction === 'left' ? 'sourceSelectedKeys' : 'targetSelectedKeys';\n },\n\n getTitles(transferLocale) {\n if (this.titles) {\n return this.titles;\n }\n return transferLocale.titles || ['', ''];\n },\n\n getLocale(transferLocale, renderEmpty) {\n const h = this.$createElement;\n // Keep old locale props still working.\n const oldLocale = {\n notFoundContent: renderEmpty(h, 'Transfer'),\n };\n const notFoundContent = getComponentFromProp(this, 'notFoundContent');\n if (notFoundContent) {\n oldLocale.notFoundContent = notFoundContent;\n }\n if (hasProp(this, 'searchPlaceholder')) {\n oldLocale.searchPlaceholder = this.$props.searchPlaceholder;\n }\n\n return { ...transferLocale, ...oldLocale, ...this.$props.locale };\n },\n updateState() {\n const { sourceSelectedKeys, targetSelectedKeys } = this;\n this.separatedDataSource = null;\n if (!this.selectedKeys) {\n // clear key nolonger existed\n // clear checkedKeys according to targetKeys\n const { dataSource, targetKeys = [] } = this;\n\n const newSourceSelectedKeys = [];\n const newTargetSelectedKeys = [];\n dataSource.forEach(({ key }) => {\n if (sourceSelectedKeys.includes(key) && !targetKeys.includes(key)) {\n newSourceSelectedKeys.push(key);\n }\n if (targetSelectedKeys.includes(key) && targetKeys.includes(key)) {\n newTargetSelectedKeys.push(key);\n }\n });\n this.setState({\n sourceSelectedKeys: newSourceSelectedKeys,\n targetSelectedKeys: newTargetSelectedKeys,\n });\n }\n },\n\n moveTo(direction) {\n const { targetKeys = [], dataSource = [] } = this.$props;\n const { sourceSelectedKeys, targetSelectedKeys } = this;\n const moveKeys = direction === 'right' ? sourceSelectedKeys : targetSelectedKeys;\n // filter the disabled options\n const newMoveKeys = moveKeys.filter(\n key => !dataSource.some(data => !!(key === data.key && data.disabled)),\n );\n // move items to target box\n const newTargetKeys =\n direction === 'right'\n ? newMoveKeys.concat(targetKeys)\n : targetKeys.filter(targetKey => newMoveKeys.indexOf(targetKey) === -1);\n\n // empty checked keys\n const oppositeDirection = direction === 'right' ? 'left' : 'right';\n this.setState({\n [this.getSelectedKeysName(oppositeDirection)]: [],\n });\n this.handleSelectChange(oppositeDirection, []);\n\n this.$emit('change', newTargetKeys, direction, newMoveKeys);\n },\n moveToLeft() {\n this.moveTo('left');\n },\n moveToRight() {\n this.moveTo('right');\n },\n\n onItemSelectAll(direction, selectedKeys, checkAll) {\n const originalSelectedKeys = this.$data[this.getSelectedKeysName(direction)] || [];\n\n let mergedCheckedKeys = [];\n if (checkAll) {\n // Merge current keys with origin key\n mergedCheckedKeys = Array.from(new Set([...originalSelectedKeys, ...selectedKeys]));\n } else {\n // Remove current keys from origin keys\n mergedCheckedKeys = originalSelectedKeys.filter(key => selectedKeys.indexOf(key) === -1);\n }\n\n this.handleSelectChange(direction, mergedCheckedKeys);\n\n if (!this.$props.selectedKeys) {\n this.setState({\n [this.getSelectedKeysName(direction)]: mergedCheckedKeys,\n });\n }\n },\n\n handleSelectAll(direction, filteredDataSource, checkAll) {\n this.onItemSelectAll(\n direction,\n filteredDataSource.map(({ key }) => key),\n !checkAll,\n );\n },\n\n // [Legacy] Old prop `body` pass origin check as arg. It's confusing.\n // TODO: Remove this in next version.\n handleLeftSelectAll(filteredDataSource, checkAll) {\n return this.handleSelectAll('left', filteredDataSource, !checkAll);\n },\n\n handleRightSelectAll(filteredDataSource, checkAll) {\n return this.handleSelectAll('right', filteredDataSource, !checkAll);\n },\n\n onLeftItemSelectAll(selectedKeys, checkAll) {\n return this.onItemSelectAll('left', selectedKeys, checkAll);\n },\n\n onRightItemSelectAll(selectedKeys, checkAll) {\n return this.onItemSelectAll('right', selectedKeys, checkAll);\n },\n\n handleFilter(direction, e) {\n const value = e.target.value;\n if (getListeners(this).searchChange) {\n warning(\n false,\n 'Transfer',\n '`searchChange` in Transfer is deprecated. Please use `search` instead.',\n );\n this.$emit('searchChange', direction, e);\n }\n this.$emit('search', direction, value);\n },\n\n handleLeftFilter(e) {\n this.handleFilter('left', e);\n },\n handleRightFilter(e) {\n this.handleFilter('right', e);\n },\n\n handleClear(direction) {\n this.$emit('search', direction, '');\n },\n\n handleLeftClear() {\n this.handleClear('left');\n },\n handleRightClear() {\n this.handleClear('right');\n },\n\n onItemSelect(direction, selectedKey, checked) {\n const { sourceSelectedKeys, targetSelectedKeys } = this;\n const holder = direction === 'left' ? [...sourceSelectedKeys] : [...targetSelectedKeys];\n const index = holder.indexOf(selectedKey);\n if (index > -1) {\n holder.splice(index, 1);\n }\n if (checked) {\n holder.push(selectedKey);\n }\n this.handleSelectChange(direction, holder);\n\n if (!this.selectedKeys) {\n this.setState({\n [this.getSelectedKeysName(direction)]: holder,\n });\n }\n },\n\n handleSelect(direction, selectedItem, checked) {\n warning(false, 'Transfer', '`handleSelect` will be removed, please use `onSelect` instead.');\n this.onItemSelect(direction, selectedItem.key, checked);\n },\n\n handleLeftSelect(selectedItem, checked) {\n return this.handleSelect('left', selectedItem, checked);\n },\n\n handleRightSelect(selectedItem, checked) {\n return this.handleSelect('right', selectedItem, checked);\n },\n\n onLeftItemSelect(selectedKey, checked) {\n return this.onItemSelect('left', selectedKey, checked);\n },\n onRightItemSelect(selectedKey, checked) {\n return this.onItemSelect('right', selectedKey, checked);\n },\n\n handleScroll(direction, e) {\n this.$emit('scroll', direction, e);\n },\n\n handleLeftScroll(e) {\n this.handleScroll('left', e);\n },\n handleRightScroll(e) {\n this.handleScroll('right', e);\n },\n\n handleSelectChange(direction, holder) {\n const { sourceSelectedKeys, targetSelectedKeys } = this;\n\n if (direction === 'left') {\n this.$emit('selectChange', holder, targetSelectedKeys);\n } else {\n this.$emit('selectChange', sourceSelectedKeys, holder);\n }\n },\n handleListStyle(listStyle, direction) {\n if (typeof listStyle === 'function') {\n return listStyle({ direction });\n }\n return listStyle;\n },\n\n separateDataSource() {\n const { dataSource, rowKey, targetKeys = [] } = this.$props;\n\n const leftDataSource = [];\n const rightDataSource = new Array(targetKeys.length);\n dataSource.forEach(record => {\n if (rowKey) {\n record.key = rowKey(record);\n }\n\n // rightDataSource should be ordered by targetKeys\n // leftDataSource should be ordered by dataSource\n const indexOfKey = targetKeys.indexOf(record.key);\n if (indexOfKey !== -1) {\n rightDataSource[indexOfKey] = record;\n } else {\n leftDataSource.push(record);\n }\n });\n\n return {\n leftDataSource,\n rightDataSource,\n };\n },\n\n renderTransfer(transferLocale) {\n const props = getOptionProps(this);\n const {\n prefixCls: customizePrefixCls,\n disabled,\n operations = [],\n showSearch,\n listStyle,\n operationStyle,\n filterOption,\n lazy,\n showSelectAll,\n } = props;\n const children = getComponentFromProp(this, 'children', {}, false);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('transfer', customizePrefixCls);\n\n const renderEmpty = this.configProvider.renderEmpty;\n const locale = this.getLocale(transferLocale, renderEmpty);\n const { sourceSelectedKeys, targetSelectedKeys, $scopedSlots } = this;\n const { body, footer } = $scopedSlots;\n const renderItem = props.render;\n const { leftDataSource, rightDataSource } = this.separateDataSource();\n const leftActive = targetSelectedKeys.length > 0;\n const rightActive = sourceSelectedKeys.length > 0;\n\n const cls = classNames(prefixCls, {\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-customize-list`]: !!children,\n });\n const titles = this.getTitles(locale);\n return (\n <div class={cls}>\n <List\n key=\"leftList\"\n prefixCls={`${prefixCls}-list`}\n titleText={titles[0]}\n dataSource={leftDataSource}\n filterOption={filterOption}\n style={this.handleListStyle(listStyle, 'left')}\n checkedKeys={sourceSelectedKeys}\n handleFilter={this.handleLeftFilter}\n handleClear={this.handleLeftClear}\n handleSelect={this.handleLeftSelect}\n handleSelectAll={this.handleLeftSelectAll}\n onItemSelect={this.onLeftItemSelect}\n onItemSelectAll={this.onLeftItemSelectAll}\n renderItem={renderItem}\n showSearch={showSearch}\n body={body}\n renderList={children}\n footer={footer}\n lazy={lazy}\n onScroll={this.handleLeftScroll}\n disabled={disabled}\n direction=\"left\"\n showSelectAll={showSelectAll}\n itemUnit={locale.itemUnit}\n itemsUnit={locale.itemsUnit}\n notFoundContent={locale.notFoundContent}\n searchPlaceholder={locale.searchPlaceholder}\n />\n <Operation\n key=\"operation\"\n class={`${prefixCls}-operation`}\n rightActive={rightActive}\n rightArrowText={operations[0]}\n moveToRight={this.moveToRight}\n leftActive={leftActive}\n leftArrowText={operations[1]}\n moveToLeft={this.moveToLeft}\n style={operationStyle}\n disabled={disabled}\n />\n <List\n key=\"rightList\"\n prefixCls={`${prefixCls}-list`}\n titleText={titles[1]}\n dataSource={rightDataSource}\n filterOption={filterOption}\n style={this.handleListStyle(listStyle, 'right')}\n checkedKeys={targetSelectedKeys}\n handleFilter={this.handleRightFilter}\n handleClear={this.handleRightClear}\n handleSelect={this.handleRightSelect}\n handleSelectAll={this.handleRightSelectAll}\n onItemSelect={this.onRightItemSelect}\n onItemSelectAll={this.onRightItemSelectAll}\n renderItem={renderItem}\n showSearch={showSearch}\n body={body}\n renderList={children}\n footer={footer}\n lazy={lazy}\n onScroll={this.handleRightScroll}\n disabled={disabled}\n direction=\"right\"\n showSelectAll={showSelectAll}\n itemUnit={locale.itemUnit}\n itemsUnit={locale.itemsUnit}\n notFoundContent={locale.notFoundContent}\n searchPlaceholder={locale.searchPlaceholder}\n />\n </div>\n );\n },\n },\n render() {\n return (\n <LocaleReceiver\n componentName=\"Transfer\"\n defaultLocale={defaultLocale.Transfer}\n scopedSlots={{ default: this.renderTransfer }}\n />\n );\n },\n};\n\n/* istanbul ignore next */\nTransfer.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Transfer.name, Transfer);\n};\n\nexport default Transfer;\n","import warning from 'warning';\nimport { Tree as VcTree, TreeNode } from '../vc-tree';\nimport animation from '../_util/openAnimation';\nimport PropTypes from '../_util/vue-types';\nimport {\n initDefaultProps,\n getOptionProps,\n filterEmpty,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Icon from '../icon';\n\nfunction TreeProps() {\n return {\n showLine: PropTypes.bool,\n /** 是否支持多选 */\n multiple: PropTypes.bool,\n /** 是否自动展开父节点 */\n autoExpandParent: PropTypes.bool,\n /** checkable状态下节点选择完全受控(父子节点选中状态不再关联)*/\n checkStrictly: PropTypes.bool,\n /** 是否支持选中 */\n checkable: PropTypes.bool,\n /** 是否禁用树 */\n disabled: PropTypes.bool,\n /** 默认展开所有树节点 */\n defaultExpandAll: PropTypes.bool,\n /** 默认展开对应树节点 */\n defaultExpandParent: PropTypes.bool,\n /** 默认展开指定的树节点 */\n defaultExpandedKeys: PropTypes.array,\n /** (受控)展开指定的树节点 */\n expandedKeys: PropTypes.array,\n /** (受控)选中复选框的树节点 */\n checkedKeys: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.shape({\n checked: PropTypes.array,\n halfChecked: PropTypes.array,\n }).loose,\n ]),\n /** 默认选中复选框的树节点 */\n defaultCheckedKeys: PropTypes.array,\n /** (受控)设置选中的树节点 */\n selectedKeys: PropTypes.array,\n /** 默认选中的树节点 */\n defaultSelectedKeys: PropTypes.array,\n selectable: PropTypes.bool,\n /** 展开/收起节点时触发 */\n // onExpand: (expandedKeys: string[], info: AntTreeNodeExpandedEvent) => void | PromiseLike<any>,\n /** 点击复选框触发 */\n // onCheck: (checkedKeys: string[] | { checked: string[]; halfChecked: string[] }, e: AntTreeNodeCheckedEvent) => void,\n /** 点击树节点触发 */\n // onSelect: (selectedKeys: string[], e: AntTreeNodeSelectedEvent) => void,\n /** 单击树节点触发 */\n // onClick: (e: React.MouseEvent<HTMLElement>, node: AntTreeNode) => void,\n /** 双击树节点触发 */\n // onDoubleClick: (e: React.MouseEvent<HTMLElement>, node: AntTreeNode) => void,\n /** filter some AntTreeNodes as you need. it should return true */\n filterAntTreeNode: PropTypes.func,\n /** 异步加载数据 */\n loadData: PropTypes.func,\n loadedKeys: PropTypes.array,\n // onLoaded: (loadedKeys: string[], info: { event: 'load', node: AntTreeNode; }) => void,\n /** 响应右键点击 */\n // onRightClick: (options: AntTreeNodeMouseEvent) => void,\n /** 设置节点可拖拽(IE>8)*/\n draggable: PropTypes.bool,\n // /** 开始拖拽时调用 */\n // onDragStart: (options: AntTreeNodeMouseEvent) => void,\n // /** dragenter 触发时调用 */\n // onDragEnter: (options: AntTreeNodeMouseEvent) => void,\n // /** dragover 触发时调用 */\n // onDragOver: (options: AntTreeNodeMouseEvent) => void,\n // /** dragleave 触发时调用 */\n // onDragLeave: (options: AntTreeNodeMouseEvent) => void,\n // /** drop 触发时调用 */\n // onDrop: (options: AntTreeNodeMouseEvent) => void,\n showIcon: PropTypes.bool,\n icon: PropTypes.func,\n switcherIcon: PropTypes.any,\n prefixCls: PropTypes.string,\n filterTreeNode: PropTypes.func,\n openAnimation: PropTypes.any,\n treeNodes: PropTypes.array,\n treeData: PropTypes.array,\n /**\n * @default{title,key,children}\n * 替换treeNode中 title,key,children字段为treeData中对应的字段\n */\n replaceFields: PropTypes.object,\n blockNode: PropTypes.bool,\n };\n}\n\nexport { TreeProps };\n\nexport default {\n name: 'ATree',\n model: {\n prop: 'checkedKeys',\n event: 'check',\n },\n props: initDefaultProps(TreeProps(), {\n checkable: false,\n showIcon: false,\n openAnimation: {\n on: animation,\n props: { appear: null },\n },\n blockNode: false,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n created() {\n warning(\n !('treeNodes' in getOptionProps(this)),\n '`treeNodes` is deprecated. please use treeData instead.',\n );\n },\n TreeNode,\n methods: {\n renderSwitcherIcon(prefixCls, switcherIcon, { isLeaf, expanded, loading }) {\n const { showLine } = this.$props;\n if (loading) {\n return <Icon type=\"loading\" class={`${prefixCls}-switcher-loading-icon`} />;\n }\n\n if (isLeaf) {\n return showLine ? <Icon type=\"file\" class={`${prefixCls}-switcher-line-icon`} /> : null;\n }\n const switcherCls = `${prefixCls}-switcher-icon`;\n if (switcherIcon) {\n return cloneElement(switcherIcon, {\n class: {\n [switcherCls]: true,\n },\n });\n }\n return showLine ? (\n <Icon\n type={expanded ? 'minus-square' : 'plus-square'}\n class={`${prefixCls}-switcher-line-icon`}\n theme=\"outlined\"\n />\n ) : (\n <Icon type=\"caret-down\" class={switcherCls} theme=\"filled\" />\n );\n },\n updateTreeData(treeData) {\n const { $slots, $scopedSlots } = this;\n const defaultFields = { children: 'children', title: 'title', key: 'key' };\n const replaceFields = { ...defaultFields, ...this.$props.replaceFields };\n return treeData.map(item => {\n const key = item[replaceFields.key];\n const children = item[replaceFields.children];\n const { on = {}, slots = {}, scopedSlots = {}, class: cls, style, ...restProps } = item;\n const treeNodeProps = {\n ...restProps,\n icon: $scopedSlots[scopedSlots.icon] || $slots[slots.icon] || restProps.icon,\n switcherIcon:\n $scopedSlots[scopedSlots.switcherIcon] ||\n $slots[slots.switcherIcon] ||\n restProps.switcherIcon,\n title:\n $scopedSlots[scopedSlots.title] ||\n $slots[slots.title] ||\n restProps[replaceFields.title],\n dataRef: item,\n on,\n key,\n class: cls,\n style,\n };\n if (children) {\n return { ...treeNodeProps, children: this.updateTreeData(children) };\n }\n return treeNodeProps;\n });\n },\n },\n render() {\n const props = getOptionProps(this);\n const { $slots, $scopedSlots } = this;\n const { prefixCls: customizePrefixCls, showIcon, treeNodes, blockNode } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('tree', customizePrefixCls);\n const switcherIcon = getComponentFromProp(this, 'switcherIcon');\n const checkable = props.checkable;\n let treeData = props.treeData || treeNodes;\n if (treeData) {\n treeData = this.updateTreeData(treeData);\n }\n const vcTreeProps = {\n props: {\n ...props,\n prefixCls,\n checkable: checkable ? <span class={`${prefixCls}-checkbox-inner`} /> : checkable,\n children: filterEmpty($scopedSlots.default ? $scopedSlots.default() : $slots.default),\n __propsSymbol__: Symbol(),\n switcherIcon: nodeProps => this.renderSwitcherIcon(prefixCls, switcherIcon, nodeProps),\n },\n on: getListeners(this),\n ref: 'tree',\n class: {\n [`${prefixCls}-icon-hide`]: !showIcon,\n [`${prefixCls}-block-node`]: blockNode,\n },\n };\n if (treeData) {\n vcTreeProps.props.treeData = treeData;\n }\n return <VcTree {...vcTreeProps} />;\n },\n};\n","import { getNodeChildren, convertTreeToEntities } from '../vc-tree/src/util';\nimport { getSlots } from '../_util/props-util';\n\nconst Record = {\n None: 'node',\n Start: 'start',\n End: 'end',\n};\n\n// TODO: Move this logic into `rc-tree`\nfunction traverseNodesKey(rootChildren, callback) {\n const nodeList = getNodeChildren(rootChildren) || [];\n\n function processNode(node) {\n const { key } = node;\n const children = getSlots(node).default;\n if (callback(key, node) !== false) {\n traverseNodesKey(typeof children === 'function' ? children() : children, callback);\n }\n }\n\n nodeList.forEach(processNode);\n}\n\nexport function getFullKeyList(children) {\n const { keyEntities } = convertTreeToEntities(children);\n return [...keyEntities.keys()];\n}\n\n/** 计算选中范围,只考虑expanded情况以优化性能 */\nexport function calcRangeKeys(rootChildren, expandedKeys, startKey, endKey) {\n const keys = [];\n let record = Record.None;\n\n if (startKey && startKey === endKey) {\n return [startKey];\n }\n if (!startKey || !endKey) {\n return [];\n }\n\n function matchKey(key) {\n return key === startKey || key === endKey;\n }\n\n traverseNodesKey(rootChildren, key => {\n if (record === Record.End) {\n return false;\n }\n\n if (matchKey(key)) {\n // Match test\n keys.push(key);\n\n if (record === Record.None) {\n record = Record.Start;\n } else if (record === Record.Start) {\n record = Record.End;\n return false;\n }\n } else if (record === Record.Start) {\n // Append selection\n keys.push(key);\n }\n\n if (expandedKeys.indexOf(key) === -1) {\n return false;\n }\n\n return true;\n });\n\n return keys;\n}\n\nexport function convertDirectoryKeysToNodes(rootChildren, keys) {\n const restKeys = [...keys];\n const nodes = [];\n traverseNodesKey(rootChildren, (key, node) => {\n const index = restKeys.indexOf(key);\n if (index !== -1) {\n nodes.push(node);\n restKeys.splice(index, 1);\n }\n\n return !!restKeys.length;\n });\n return nodes;\n}\n\nexport function getFullKeyListByTreeData(treeData) {\n let keys = [];\n\n (treeData || []).forEach(item => {\n keys.push(item.key);\n if (item.children) {\n keys = [...keys, ...getFullKeyListByTreeData(item.children)];\n }\n });\n return keys;\n}\n","import omit from 'omit.js';\nimport debounce from 'lodash/debounce';\nimport PropTypes from '../_util/vue-types';\nimport warning from '../_util/warning';\nimport { conductExpandParent, convertTreeToEntities } from '../vc-tree/src/util';\nimport Tree, { TreeProps } from './Tree';\nimport {\n calcRangeKeys,\n getFullKeyList,\n convertDirectoryKeysToNodes,\n getFullKeyListByTreeData,\n} from './util';\nimport Icon from '../icon';\nimport BaseMixin from '../_util/BaseMixin';\nimport {\n initDefaultProps,\n getOptionProps,\n getListeners,\n getComponentFromProp,\n} from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\n// export type ExpandAction = false | 'click' | 'dblclick'; export interface\n// DirectoryTreeProps extends TreeProps { expandAction?: ExpandAction; }\n// export interface DirectoryTreeState { expandedKeys?: string[];\n// selectedKeys?: string[]; }\n\nfunction getIcon(props, h) {\n const { isLeaf, expanded } = props;\n if (isLeaf) {\n return <Icon type=\"file\" />;\n }\n return <Icon type={expanded ? 'folder-open' : 'folder'} />;\n}\n\nexport default {\n name: 'ADirectoryTree',\n mixins: [BaseMixin],\n model: {\n prop: 'checkedKeys',\n event: 'check',\n },\n props: initDefaultProps(\n {\n ...TreeProps(),\n expandAction: PropTypes.oneOf([false, 'click', 'doubleclick', 'dblclick']),\n },\n {\n showIcon: true,\n expandAction: 'click',\n },\n ),\n\n // state: DirectoryTreeState; onDebounceExpand: (event, node: AntTreeNode) =>\n // void; // Shift click usage lastSelectedKey?: string; cachedSelectedKeys?:\n // string[];\n inject: {\n configProvider: {\n default: () => ConfigConsumerProps,\n },\n },\n data() {\n const props = getOptionProps(this);\n const { defaultExpandAll, defaultExpandParent, expandedKeys, defaultExpandedKeys } = props;\n const { keyEntities } = convertTreeToEntities(this.$slots.default);\n const state = {};\n // Selected keys\n state._selectedKeys = props.selectedKeys || props.defaultSelectedKeys || [];\n\n // Expanded keys\n if (defaultExpandAll) {\n if (props.treeData) {\n state._expandedKeys = getFullKeyListByTreeData(props.treeData);\n } else {\n state._expandedKeys = getFullKeyList(this.$slots.default);\n }\n } else if (defaultExpandParent) {\n state._expandedKeys = conductExpandParent(expandedKeys || defaultExpandedKeys, keyEntities);\n } else {\n state._expandedKeys = expandedKeys || defaultExpandedKeys;\n }\n\n this.onDebounceExpand = debounce(this.expandFolderNode, 200, { leading: true });\n return {\n _selectedKeys: [],\n _expandedKeys: [],\n ...state,\n };\n },\n watch: {\n expandedKeys(val) {\n this.setState({ _expandedKeys: val });\n },\n selectedKeys(val) {\n this.setState({ _selectedKeys: val });\n },\n },\n methods: {\n onExpand(expandedKeys, info) {\n this.setUncontrolledState({ _expandedKeys: expandedKeys });\n\n this.$emit('expand', expandedKeys, info);\n\n return undefined;\n },\n\n onClick(event, node) {\n const { expandAction } = this.$props;\n\n // Expand the tree\n if (expandAction === 'click') {\n this.onDebounceExpand(event, node);\n }\n this.$emit('click', event, node);\n },\n\n onDoubleClick(event, node) {\n const { expandAction } = this.$props;\n\n // Expand the tree\n if (expandAction === 'dblclick' || expandAction === 'doubleclick') {\n this.onDebounceExpand(event, node);\n }\n\n this.$emit('doubleclick', event, node);\n this.$emit('dblclick', event, node);\n },\n\n onSelect(keys, event) {\n const { multiple } = this.$props;\n const children = this.$slots.default || [];\n const { _expandedKeys: expandedKeys = [] } = this.$data;\n const { node, nativeEvent } = event;\n const { eventKey = '' } = node;\n\n const newState = {};\n\n // We need wrap this event since some value is not same\n const newEvent = {\n ...event,\n selected: true, // Directory selected always true\n };\n\n // Windows / Mac single pick\n const ctrlPick = nativeEvent.ctrlKey || nativeEvent.metaKey;\n const shiftPick = nativeEvent.shiftKey;\n\n // Generate new selected keys\n let newSelectedKeys;\n if (multiple && ctrlPick) {\n // Control click\n newSelectedKeys = keys;\n this.lastSelectedKey = eventKey;\n this.cachedSelectedKeys = newSelectedKeys;\n newEvent.selectedNodes = convertDirectoryKeysToNodes(children, newSelectedKeys);\n } else if (multiple && shiftPick) {\n // Shift click\n newSelectedKeys = Array.from(\n new Set([\n ...(this.cachedSelectedKeys || []),\n ...calcRangeKeys(children, expandedKeys, eventKey, this.lastSelectedKey),\n ]),\n );\n newEvent.selectedNodes = convertDirectoryKeysToNodes(children, newSelectedKeys);\n } else {\n // Single click\n newSelectedKeys = [eventKey];\n this.lastSelectedKey = eventKey;\n this.cachedSelectedKeys = newSelectedKeys;\n newEvent.selectedNodes = [event.node];\n }\n newState._selectedKeys = newSelectedKeys;\n\n this.$emit('update:selectedKeys', newSelectedKeys);\n this.$emit('select', newSelectedKeys, newEvent);\n\n this.setUncontrolledState(newState);\n },\n\n expandFolderNode(event, node) {\n const { isLeaf } = node;\n\n if (isLeaf || event.shiftKey || event.metaKey || event.ctrlKey) {\n return;\n }\n\n if (this.$refs.tree.$refs.tree) {\n // Get internal vc-tree\n const internalTree = this.$refs.tree.$refs.tree;\n\n // Call internal rc-tree expand function\n // https://github.com/ant-design/ant-design/issues/12567\n internalTree.onNodeExpand(event, node);\n }\n },\n\n setUncontrolledState(state) {\n const newState = omit(\n state,\n Object.keys(getOptionProps(this)).map(p => `_${p}`),\n );\n if (Object.keys(newState).length) {\n this.setState(newState);\n }\n },\n },\n\n render() {\n const { prefixCls: customizePrefixCls, ...props } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('tree', customizePrefixCls);\n const { _expandedKeys: expandedKeys, _selectedKeys: selectedKeys } = this.$data;\n const listeners = getListeners(this);\n warning(!listeners.doubleclick, '`doubleclick` is deprecated. please use `dblclick` instead.');\n const treeProps = {\n props: {\n icon: getIcon,\n ...props,\n prefixCls,\n expandedKeys,\n selectedKeys,\n switcherIcon: getComponentFromProp(this, 'switcherIcon'),\n },\n ref: 'tree',\n class: `${prefixCls}-directory`,\n on: {\n ...omit(listeners, ['update:selectedKeys']),\n select: this.onSelect,\n click: this.onClick,\n dblclick: this.onDoubleClick,\n expand: this.onExpand,\n },\n };\n return <Tree {...treeProps}>{this.$slots.default}</Tree>;\n },\n};\n","import Tree from './Tree';\nimport DirectoryTree from './DirectoryTree';\nimport Base from '../base';\n\nTree.TreeNode.name = 'ATreeNode';\nTree.DirectoryTree = DirectoryTree;\n/* istanbul ignore next */\nTree.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Tree.name, Tree);\n Vue.component(Tree.TreeNode.name, Tree.TreeNode);\n Vue.component(DirectoryTree.name, DirectoryTree);\n};\n\nexport default Tree;\n","export function hasClass(node, className) {\n if (node.classList) {\n return node.classList.contains(className);\n }\n const originClass = node.className;\n return ` ${originClass} `.indexOf(` ${className} `) > -1;\n}\n\nexport function addClass(node, className) {\n if (node.classList) {\n node.classList.add(className);\n } else {\n if (!hasClass(node, className)) {\n node.className = `${node.className} ${className}`;\n }\n }\n}\n\nexport function removeClass(node, className) {\n if (node.classList) {\n node.classList.remove(className);\n } else {\n if (hasClass(node, className)) {\n const originClass = node.className;\n node.className = ` ${originClass} `.replace(` ${className} `, ' ');\n }\n }\n}\n","export const SHOW_ALL = 'SHOW_ALL';\nexport const SHOW_PARENT = 'SHOW_PARENT';\nexport const SHOW_CHILD = 'SHOW_CHILD';\n","import warning from 'warning';\nimport omit from 'omit.js';\nimport {\n convertDataToTree as vcConvertDataToTree,\n convertTreeToEntities as vcConvertTreeToEntities,\n conductCheck as rcConductCheck,\n} from '../../vc-tree/src/util';\nimport { hasClass } from '../../vc-util/Dom/class';\nimport { SHOW_CHILD, SHOW_PARENT } from './strategies';\nimport { getSlots, getPropsData, isEmptyElement } from '../../_util/props-util';\n\nlet warnDeprecatedLabel = false;\n\n// =================== DOM =====================\nexport function findPopupContainer(node, prefixClass) {\n let current = node;\n while (current) {\n if (hasClass(current, prefixClass)) {\n return current;\n }\n current = current.parentNode;\n }\n\n return null;\n}\n\n// =================== MISC ====================\nexport function toTitle(title) {\n if (typeof title === 'string') {\n return title;\n }\n return null;\n}\n\nexport function toArray(data) {\n if (data === undefined || data === null) return [];\n\n return Array.isArray(data) ? data : [data];\n}\n\nexport function createRef() {\n const func = function setRef(node) {\n func.current = node;\n };\n return func;\n}\n\n// =============== Legacy ===============\nexport const UNSELECTABLE_STYLE = {\n userSelect: 'none',\n WebkitUserSelect: 'none',\n};\n\nexport const UNSELECTABLE_ATTRIBUTE = {\n unselectable: 'unselectable',\n};\n\n/**\n * Convert position list to hierarchy structure.\n * This is little hack since use '-' to split the position.\n */\nexport function flatToHierarchy(positionList) {\n if (!positionList.length) {\n return [];\n }\n\n const entrances = {};\n\n // Prepare the position map\n const posMap = {};\n const parsedList = positionList.slice().map(entity => {\n const clone = {\n ...entity,\n fields: entity.pos.split('-'),\n };\n delete clone.children;\n return clone;\n });\n\n parsedList.forEach(entity => {\n posMap[entity.pos] = entity;\n });\n\n parsedList.sort((a, b) => {\n return a.fields.length - b.fields.length;\n });\n\n // Create the hierarchy\n parsedList.forEach(entity => {\n const parentPos = entity.fields.slice(0, -1).join('-');\n const parentEntity = posMap[parentPos];\n\n if (!parentEntity) {\n entrances[entity.pos] = entity;\n } else {\n parentEntity.children = parentEntity.children || [];\n parentEntity.children.push(entity);\n }\n\n // Some time position list provide `key`, we don't need it\n delete entity.key;\n delete entity.fields;\n });\n\n return Object.keys(entrances).map(key => entrances[key]);\n}\n\n// =============== Accessibility ===============\nlet ariaId = 0;\n\nexport function resetAriaId() {\n ariaId = 0;\n}\n\nexport function generateAriaId(prefix) {\n ariaId += 1;\n return `${prefix}_${ariaId}`;\n}\n\nexport function isLabelInValue(props) {\n const { treeCheckable, treeCheckStrictly, labelInValue } = props;\n if (treeCheckable && treeCheckStrictly) {\n return true;\n }\n return labelInValue || false;\n}\n\n// =================== Tree ====================\nexport function parseSimpleTreeData(treeData, { id, pId, rootPId }) {\n const keyNodes = {};\n const rootNodeList = [];\n\n // Fill in the map\n const nodeList = treeData.map(node => {\n const clone = { ...node };\n const key = clone[id];\n keyNodes[key] = clone;\n clone.key = clone.key || key;\n return clone;\n });\n\n // Connect tree\n nodeList.forEach(node => {\n const parentKey = node[pId];\n const parent = keyNodes[parentKey];\n\n // Fill parent\n if (parent) {\n parent.children = parent.children || [];\n parent.children.push(node);\n }\n\n // Fill root tree node\n if (parentKey === rootPId || (!parent && rootPId === null)) {\n rootNodeList.push(node);\n }\n });\n\n return rootNodeList;\n}\n\n/**\n * Detect if position has relation.\n * e.g. 1-2 related with 1-2-3\n * e.g. 1-3-2 related with 1\n * e.g. 1-2 not related with 1-21\n */\nexport function isPosRelated(pos1, pos2) {\n const fields1 = pos1.split('-');\n const fields2 = pos2.split('-');\n\n const minLen = Math.min(fields1.length, fields2.length);\n for (let i = 0; i < minLen; i += 1) {\n if (fields1[i] !== fields2[i]) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * This function is only used on treeNode check (none treeCheckStrictly but has searchInput).\n * We convert entity to { node, pos, children } format.\n * This is legacy bug but we still need to do with it.\n * @param entity\n */\nexport function cleanEntity({ node, pos, children }) {\n const instance = {\n node,\n pos,\n };\n\n if (children) {\n instance.children = children.map(cleanEntity);\n }\n\n return instance;\n}\n\n/**\n * Get a filtered TreeNode list by provided treeNodes.\n * [Legacy] Since `Tree` use `key` as map but `key` will changed by React,\n * we have to convert `treeNodes > data > treeNodes` to keep the key.\n * Such performance hungry!\n */\nexport function getFilterTree(h, treeNodes, searchValue, filterFunc, valueEntities, Component) {\n if (!searchValue) {\n return null;\n }\n\n function mapFilteredNodeToData(node) {\n if (!node || isEmptyElement(node)) return null;\n\n let match = false;\n if (filterFunc(searchValue, node)) {\n match = true;\n }\n let children = getSlots(node).default;\n children = ((typeof children === 'function' ? children() : children) || [])\n .map(mapFilteredNodeToData)\n .filter(n => n);\n if (children.length || match) {\n return (\n <Component {...node.data} key={valueEntities[getPropsData(node).value].key}>\n {children}\n </Component>\n );\n }\n\n return null;\n }\n return treeNodes.map(mapFilteredNodeToData).filter(node => node);\n}\n\n// =================== Value ===================\n/**\n * Convert value to array format to make logic simplify.\n */\nexport function formatInternalValue(value, props) {\n const valueList = toArray(value);\n\n // Parse label in value\n if (isLabelInValue(props)) {\n return valueList.map(val => {\n if (typeof val !== 'object' || !val) {\n return {\n value: '',\n label: '',\n };\n }\n\n return val;\n });\n }\n\n return valueList.map(val => ({\n value: val,\n }));\n}\n\nexport function getLabel(wrappedValue, entity, treeNodeLabelProp) {\n if (wrappedValue.label) {\n return wrappedValue.label;\n }\n\n if (entity) {\n const props = getPropsData(entity.node);\n if (Object.keys(props).length) {\n return props[treeNodeLabelProp];\n }\n }\n\n // Since value without entity will be in missValueList.\n // This code will never reached, but we still need this in case.\n return wrappedValue.value;\n}\n\n/**\n * Convert internal state `valueList` to user needed value list.\n * This will return an array list. You need check if is not multiple when return.\n *\n * `allCheckedNodes` is used for `treeCheckStrictly`\n */\nexport function formatSelectorValue(valueList, props, valueEntities) {\n const { treeNodeLabelProp, treeCheckable, treeCheckStrictly, showCheckedStrategy } = props;\n\n // Will hide some value if `showCheckedStrategy` is set\n if (treeCheckable && !treeCheckStrictly) {\n const values = {};\n valueList.forEach(wrappedValue => {\n values[wrappedValue.value] = wrappedValue;\n });\n const hierarchyList = flatToHierarchy(valueList.map(({ value }) => valueEntities[value]));\n\n if (showCheckedStrategy === SHOW_PARENT) {\n // Only get the parent checked value\n return hierarchyList.map(({ node }) => {\n const value = getPropsData(node).value;\n return {\n label: getLabel(values[value], valueEntities[value], treeNodeLabelProp),\n value,\n };\n });\n }\n if (showCheckedStrategy === SHOW_CHILD) {\n // Only get the children checked value\n const targetValueList = [];\n\n // Find the leaf children\n const traverse = ({ node, children }) => {\n const value = getPropsData(node).value;\n if (!children || children.length === 0) {\n targetValueList.push({\n label: getLabel(values[value], valueEntities[value], treeNodeLabelProp),\n value,\n });\n return;\n }\n\n children.forEach(entity => {\n traverse(entity);\n });\n };\n\n hierarchyList.forEach(entity => {\n traverse(entity);\n });\n\n return targetValueList;\n }\n }\n\n return valueList.map(wrappedValue => ({\n label: getLabel(wrappedValue, valueEntities[wrappedValue.value], treeNodeLabelProp),\n value: wrappedValue.value,\n }));\n}\n\n/**\n * Use `rc-tree` convertDataToTree to convert treeData to TreeNodes.\n * This will change the label to title value\n */\nfunction processProps(props) {\n const { title, label, value, class: cls, style, on = {} } = props;\n let key = props.key;\n if (!key && (key === undefined || key === null)) {\n key = value;\n }\n const p = {\n props: omit(props, ['on', 'key', 'class', 'className', 'style']),\n on,\n class: cls || props.className,\n style,\n key,\n };\n // Warning user not to use deprecated label prop.\n if (label && !title) {\n if (!warnDeprecatedLabel) {\n warning(false, \"'label' in treeData is deprecated. Please use 'title' instead.\");\n warnDeprecatedLabel = true;\n }\n\n p.props.title = label;\n }\n\n return p;\n}\n\nexport function convertDataToTree(h, treeData) {\n return vcConvertDataToTree(h, treeData, { processProps });\n}\n\n/**\n * Use `rc-tree` convertTreeToEntities for entities calculation.\n * We have additional entities of `valueEntities`\n */\nfunction initWrapper(wrapper) {\n return {\n ...wrapper,\n valueEntities: {},\n };\n}\n\nfunction processEntity(entity, wrapper) {\n const value = getPropsData(entity.node).value;\n entity.value = value;\n\n // This should be empty, or will get error message.\n const currentEntity = wrapper.valueEntities[value];\n if (currentEntity) {\n warning(\n false,\n `Conflict! value of node '${entity.key}' (${value}) has already used by node '${currentEntity.key}'.`,\n );\n }\n wrapper.valueEntities[value] = entity;\n}\n\nexport function convertTreeToEntities(treeNodes) {\n return vcConvertTreeToEntities(treeNodes, {\n initWrapper,\n processEntity,\n });\n}\n\n/**\n * https://github.com/ant-design/ant-design/issues/13328\n * We need calculate the half check key when searchValue is set.\n */\n// TODO: This logic may better move to rc-tree\nexport function getHalfCheckedKeys(valueList, valueEntities) {\n const values = {};\n\n // Fill checked keys\n valueList.forEach(({ value }) => {\n values[value] = false;\n });\n\n // Fill half checked keys\n valueList.forEach(({ value }) => {\n let current = valueEntities[value];\n\n while (current && current.parent) {\n const parentValue = current.parent.value;\n if (parentValue in values) break;\n values[parentValue] = true;\n\n current = current.parent;\n }\n });\n\n // Get half keys\n return Object.keys(values)\n .filter(value => values[value])\n .map(value => valueEntities[value].key);\n}\n\nexport const conductCheck = rcConductCheck;\n","import PropTypes from '../../_util/vue-types';\n\nimport Trigger from '../../vc-trigger';\nimport { createRef } from './util';\nimport classNames from 'classnames';\n\nconst BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n ignoreShake: true,\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n ignoreShake: true,\n },\n};\n\nconst SelectTrigger = {\n name: 'SelectTrigger',\n props: {\n // Pass by outside user props\n disabled: PropTypes.bool,\n showSearch: PropTypes.bool,\n prefixCls: PropTypes.string,\n dropdownPopupAlign: PropTypes.object,\n dropdownClassName: PropTypes.string,\n dropdownStyle: PropTypes.object,\n transitionName: PropTypes.string,\n animation: PropTypes.string,\n getPopupContainer: PropTypes.func,\n\n dropdownMatchSelectWidth: PropTypes.bool,\n\n // Pass by Select\n isMultiple: PropTypes.bool,\n dropdownPrefixCls: PropTypes.string,\n dropdownVisibleChange: PropTypes.func,\n popupElement: PropTypes.node,\n open: PropTypes.bool,\n },\n created() {\n this.triggerRef = createRef();\n },\n methods: {\n getDropdownTransitionName() {\n const { transitionName, animation, dropdownPrefixCls } = this.$props;\n if (!transitionName && animation) {\n return `${dropdownPrefixCls}-${animation}`;\n }\n return transitionName;\n },\n\n forcePopupAlign() {\n const $trigger = this.triggerRef.current;\n if ($trigger) {\n $trigger.forcePopupAlign();\n }\n },\n },\n\n render() {\n const {\n disabled,\n isMultiple,\n dropdownPopupAlign,\n dropdownMatchSelectWidth,\n dropdownClassName,\n dropdownStyle,\n dropdownVisibleChange,\n getPopupContainer,\n dropdownPrefixCls,\n popupElement,\n open,\n } = this.$props;\n\n // TODO: [Legacy] Use new action when trigger fixed: https://github.com/react-component/trigger/pull/86\n\n // When false do nothing with the width\n // ref: https://github.com/ant-design/ant-design/issues/10927\n let stretch;\n if (dropdownMatchSelectWidth !== false) {\n stretch = dropdownMatchSelectWidth ? 'width' : 'minWidth';\n }\n return (\n <Trigger\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.triggerRef,\n },\n ],\n }}\n action={disabled ? [] : ['click']}\n popupPlacement=\"bottomLeft\"\n builtinPlacements={BUILT_IN_PLACEMENTS}\n popupAlign={dropdownPopupAlign}\n prefixCls={dropdownPrefixCls}\n popupTransitionName={this.getDropdownTransitionName()}\n onPopupVisibleChange={dropdownVisibleChange}\n popup={popupElement}\n popupVisible={open}\n getPopupContainer={getPopupContainer}\n stretch={stretch}\n popupClassName={classNames(dropdownClassName, {\n [`${dropdownPrefixCls}--multiple`]: isMultiple,\n [`${dropdownPrefixCls}--single`]: !isMultiple,\n })}\n popupStyle={dropdownStyle}\n >\n {this.$slots.default}\n </Trigger>\n );\n },\n};\n\nexport default SelectTrigger;\n","/**\n * Input Box is in different position for different mode.\n * This not the same design as `Select` cause it's followed by antd 0.x `Select`.\n * We will not follow the new design immediately since antd 3.x is already released.\n *\n * So this file named as Selector to avoid confuse.\n */\nimport { createRef } from '../util';\nimport PropTypes from '../../../_util/vue-types';\nimport classNames from 'classnames';\nimport { initDefaultProps, getComponentFromProp, getListeners } from '../../../_util/props-util';\nimport BaseMixin from '../../../_util/BaseMixin';\nexport const selectorPropTypes = () => ({\n prefixCls: PropTypes.string,\n className: PropTypes.string,\n open: PropTypes.bool,\n selectorValueList: PropTypes.array,\n allowClear: PropTypes.bool,\n showArrow: PropTypes.bool,\n // onClick: PropTypes.func,\n // onBlur: PropTypes.func,\n // onFocus: PropTypes.func,\n removeSelected: PropTypes.func,\n choiceTransitionName: PropTypes.string,\n // Pass by component\n ariaId: PropTypes.string,\n inputIcon: PropTypes.any,\n clearIcon: PropTypes.any,\n removeIcon: PropTypes.any,\n placeholder: PropTypes.any,\n disabled: PropTypes.bool,\n focused: PropTypes.bool,\n});\n\nfunction noop() {}\nexport default function(modeName) {\n const BaseSelector = {\n name: 'BaseSelector',\n mixins: [BaseMixin],\n props: initDefaultProps(\n {\n ...selectorPropTypes(),\n\n // Pass by HOC\n renderSelection: PropTypes.func.isRequired,\n renderPlaceholder: PropTypes.func,\n tabIndex: PropTypes.number,\n },\n {\n tabIndex: 0,\n },\n ),\n inject: {\n vcTreeSelect: { default: () => ({}) },\n },\n created() {\n this.domRef = createRef();\n },\n methods: {\n onFocus(e) {\n const { focused } = this.$props;\n const {\n vcTreeSelect: { onSelectorFocus },\n } = this;\n\n if (!focused) {\n onSelectorFocus();\n }\n this.__emit('focus', e);\n },\n\n onBlur(e) {\n const {\n vcTreeSelect: { onSelectorBlur },\n } = this;\n\n // TODO: Not trigger when is inner component get focused\n onSelectorBlur();\n this.__emit('blur', e);\n },\n\n focus() {\n this.domRef.current.focus();\n },\n\n blur() {\n this.domRef.current.blur();\n },\n\n renderClear() {\n const { prefixCls, allowClear, selectorValueList } = this.$props;\n const {\n vcTreeSelect: { onSelectorClear },\n } = this;\n\n if (!allowClear || !selectorValueList.length || !selectorValueList[0].value) {\n return null;\n }\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n return (\n <span key=\"clear\" class={`${prefixCls}-selection__clear`} onClick={onSelectorClear}>\n {clearIcon}\n </span>\n );\n },\n\n renderArrow() {\n const { prefixCls, showArrow } = this.$props;\n if (!showArrow) {\n return null;\n }\n const inputIcon = getComponentFromProp(this, 'inputIcon');\n return (\n <span key=\"arrow\" class={`${prefixCls}-arrow`} style={{ outline: 'none' }}>\n {inputIcon}\n </span>\n );\n },\n },\n\n render() {\n const {\n prefixCls,\n className,\n style,\n open,\n focused,\n disabled,\n allowClear,\n ariaId,\n renderSelection,\n renderPlaceholder,\n tabIndex,\n } = this.$props;\n const {\n vcTreeSelect: { onSelectorKeyDown },\n } = this;\n\n let myTabIndex = tabIndex;\n if (disabled) {\n myTabIndex = null;\n }\n\n return (\n <span\n style={style}\n onClick={getListeners(this).click || noop}\n class={classNames(className, prefixCls, {\n [`${prefixCls}-open`]: open,\n [`${prefixCls}-focused`]: open || focused,\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-enabled`]: !disabled,\n [`${prefixCls}-allow-clear`]: allowClear,\n })}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.domRef,\n },\n ],\n }}\n role=\"combobox\"\n aria-expanded={open}\n aria-owns={open ? ariaId : undefined}\n aria-controls={open ? ariaId : undefined}\n aria-haspopup=\"listbox\"\n aria-disabled={disabled}\n tabIndex={myTabIndex}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onKeydown={onSelectorKeyDown}\n >\n <span\n key=\"selection\"\n class={classNames(`${prefixCls}-selection`, `${prefixCls}-selection--${modeName}`)}\n >\n {renderSelection()}\n {this.renderClear()}\n {this.renderArrow()}\n\n {renderPlaceholder && renderPlaceholder()}\n </span>\n </span>\n );\n },\n };\n\n return BaseSelector;\n}\n","import generateSelector, { selectorPropTypes } from '../Base/BaseSelector';\nimport { toTitle } from '../util';\nimport { getOptionProps, getListeners } from '../../../_util/props-util';\nimport { createRef } from '../util';\nconst Selector = generateSelector('single');\n\nconst SingleSelector = {\n name: 'SingleSelector',\n props: selectorPropTypes(),\n created() {\n this.selectorRef = createRef();\n },\n methods: {\n focus() {\n this.selectorRef.current.focus();\n },\n blur() {\n this.selectorRef.current.blur();\n },\n renderSelection() {\n const { selectorValueList, placeholder, prefixCls } = this.$props;\n\n let innerNode;\n\n if (selectorValueList.length) {\n const { label, value } = selectorValueList[0];\n innerNode = (\n <span key=\"value\" title={toTitle(label)} class={`${prefixCls}-selection-selected-value`}>\n {label || value}\n </span>\n );\n } else {\n innerNode = (\n <span key=\"placeholder\" class={`${prefixCls}-selection__placeholder`}>\n {placeholder}\n </span>\n );\n }\n\n return <span class={`${prefixCls}-selection__rendered`}>{innerNode}</span>;\n },\n },\n\n render() {\n const props = {\n props: {\n ...getOptionProps(this),\n renderSelection: this.renderSelection,\n },\n on: getListeners(this),\n directives: [\n {\n name: 'ant-ref',\n value: this.selectorRef,\n },\n ],\n };\n return <Selector {...props} />;\n },\n};\n\nexport default SingleSelector;\n","/**\n * Since search box is in different position with different mode.\n * - Single: in the popup box\n * - multiple: in the selector\n * Move the code as a SearchInput for easy management.\n */\n\nimport PropTypes from '../../_util/vue-types';\nimport { createRef } from './util';\n\nconst SearchInput = {\n name: 'SearchInput',\n props: {\n open: PropTypes.bool,\n searchValue: PropTypes.string,\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n renderPlaceholder: PropTypes.func,\n needAlign: PropTypes.bool,\n ariaId: PropTypes.string,\n },\n inject: {\n vcTreeSelect: { default: () => ({}) },\n },\n data() {\n return {\n mirrorSearchValue: this.searchValue,\n };\n },\n watch: {\n searchValue(val) {\n this.mirrorSearchValue = val;\n },\n },\n created() {\n this.inputRef = createRef();\n this.mirrorInputRef = createRef();\n this.prevProps = { ...this.$props };\n },\n mounted() {\n this.$nextTick(() => {\n const { open, needAlign } = this.$props;\n if (needAlign) {\n this.alignInputWidth();\n }\n\n if (open) {\n this.focus(true);\n }\n });\n },\n\n updated() {\n const { open, searchValue, needAlign } = this.$props;\n const { prevProps } = this;\n this.$nextTick(() => {\n if (open && prevProps.open !== open) {\n this.focus();\n }\n if (needAlign && searchValue !== prevProps.searchValue) {\n this.alignInputWidth();\n }\n this.prevProps = { ...this.$props };\n });\n },\n methods: {\n /**\n * `scrollWidth` is not correct in IE, do the workaround.\n * ref: https://github.com/react-component/tree-select/issues/65\n * clientWidth 0 when mounted in vue. why?\n */\n alignInputWidth() {\n this.inputRef.current.style.width = `${this.mirrorInputRef.current.clientWidth ||\n this.mirrorInputRef.current.offsetWidth}px`;\n },\n\n /**\n * Need additional timeout for focus cause parent dom is not ready when didMount trigger\n */\n focus(isDidMount) {\n if (this.inputRef.current) {\n if (isDidMount) {\n setTimeout(() => {\n this.inputRef.current.focus();\n }, 0);\n } else {\n // set it into else, Avoid scrolling when focus\n this.inputRef.current.focus();\n }\n }\n },\n\n blur() {\n if (this.inputRef.current) {\n this.inputRef.current.blur();\n }\n },\n handleInputChange(e) {\n const { value, composing } = e.target;\n const { searchValue = '' } = this;\n if (e.isComposing || composing || searchValue === value) {\n this.mirrorSearchValue = value;\n return;\n }\n this.vcTreeSelect.onSearchInputChange(e);\n },\n },\n\n render() {\n const { searchValue, prefixCls, disabled, renderPlaceholder, open, ariaId } = this.$props;\n const {\n vcTreeSelect: { onSearchInputKeyDown },\n handleInputChange,\n mirrorSearchValue,\n } = this;\n return (\n <span class={`${prefixCls}-search__field__wrap`}>\n <input\n type=\"text\"\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.inputRef,\n },\n {\n name: 'ant-input',\n },\n ],\n }}\n onInput={handleInputChange}\n onKeydown={onSearchInputKeyDown}\n value={searchValue}\n disabled={disabled}\n class={`${prefixCls}-search__field`}\n aria-label=\"filter select\"\n aria-autocomplete=\"list\"\n aria-controls={open ? ariaId : undefined}\n aria-multiline=\"false\"\n />\n <span\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.mirrorInputRef,\n },\n ],\n }}\n class={`${prefixCls}-search__field__mirror`}\n >\n {mirrorSearchValue} \n </span>\n {renderPlaceholder && !mirrorSearchValue ? renderPlaceholder() : null}\n </span>\n );\n },\n};\n\nexport default SearchInput;\n","import PropTypes from '../../../../_util/vue-types';\nimport { toTitle, UNSELECTABLE_ATTRIBUTE, UNSELECTABLE_STYLE } from '../../util';\nimport { getComponentFromProp, getListeners } from '../../../../_util/props-util';\nimport BaseMixin from '../../../../_util/BaseMixin';\n\nconst Selection = {\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n maxTagTextLength: PropTypes.number,\n // onRemove: PropTypes.func,\n\n label: PropTypes.any,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n removeIcon: PropTypes.any,\n },\n methods: {\n onRemove(event) {\n const { value } = this.$props;\n this.__emit('remove', event, value);\n event.stopPropagation();\n },\n },\n\n render() {\n const { prefixCls, maxTagTextLength, label, value } = this.$props;\n let content = label || value;\n if (maxTagTextLength && typeof content === 'string' && content.length > maxTagTextLength) {\n content = `${content.slice(0, maxTagTextLength)}...`;\n }\n\n return (\n <li\n style={UNSELECTABLE_STYLE}\n {...{ attrs: UNSELECTABLE_ATTRIBUTE }}\n role=\"menuitem\"\n class={`${prefixCls}-selection__choice`}\n title={toTitle(label)}\n >\n {getListeners(this).remove && (\n <span class={`${prefixCls}-selection__choice__remove`} onClick={this.onRemove}>\n {getComponentFromProp(this, 'removeIcon')}\n </span>\n )}\n <span class={`${prefixCls}-selection__choice__content`}>{content}</span>\n </li>\n );\n },\n};\n\nexport default Selection;\n","import PropTypes from '../../../../_util/vue-types';\nimport { createRef } from '../../util';\nimport generateSelector, { selectorPropTypes } from '../../Base/BaseSelector';\nimport SearchInput from '../../SearchInput';\nimport Selection from './Selection';\nimport { getComponentFromProp, getListeners } from '../../../../_util/props-util';\nimport getTransitionProps from '../../../../_util/getTransitionProps';\nimport BaseMixin from '../../../../_util/BaseMixin';\nconst TREE_SELECT_EMPTY_VALUE_KEY = 'RC_TREE_SELECT_EMPTY_VALUE_KEY';\n\nconst Selector = generateSelector('multiple');\n\n// export const multipleSelectorContextTypes = {\n// onMultipleSelectorRemove: PropTypes.func.isRequired,\n// }\n\nconst MultipleSelector = {\n mixins: [BaseMixin],\n props: {\n ...selectorPropTypes(),\n ...SearchInput.props,\n selectorValueList: PropTypes.array,\n disabled: PropTypes.bool,\n searchValue: PropTypes.string,\n labelInValue: PropTypes.bool,\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.any,\n\n // onChoiceAnimationLeave: PropTypes.func,\n },\n inject: {\n vcTreeSelect: { default: () => ({}) },\n },\n created() {\n this.inputRef = createRef();\n },\n methods: {\n onPlaceholderClick() {\n this.inputRef.current.focus();\n },\n\n focus() {\n this.inputRef.current.focus();\n },\n blur() {\n this.inputRef.current.blur();\n },\n\n _renderPlaceholder() {\n const {\n prefixCls,\n placeholder,\n searchPlaceholder,\n searchValue,\n selectorValueList,\n } = this.$props;\n\n const currentPlaceholder = placeholder || searchPlaceholder;\n\n if (!currentPlaceholder) return null;\n\n const hidden = searchValue || selectorValueList.length;\n\n // [Legacy] Not remove the placeholder\n return (\n <span\n style={{\n display: hidden ? 'none' : 'block',\n }}\n onClick={this.onPlaceholderClick}\n class={`${prefixCls}-search__field__placeholder`}\n >\n {currentPlaceholder}\n </span>\n );\n },\n onChoiceAnimationLeave(...args) {\n this.__emit('choiceAnimationLeave', ...args);\n },\n renderSelection() {\n const {\n selectorValueList,\n choiceTransitionName,\n prefixCls,\n labelInValue,\n maxTagCount,\n } = this.$props;\n const {\n vcTreeSelect: { onMultipleSelectorRemove },\n $slots,\n } = this;\n const listeners = getListeners(this);\n // Check if `maxTagCount` is set\n let myValueList = selectorValueList;\n if (maxTagCount >= 0) {\n myValueList = selectorValueList.slice(0, maxTagCount);\n }\n // Selector node list\n const selectedValueNodes = myValueList.map(({ label, value }) => (\n <Selection\n {...{\n props: {\n ...this.$props,\n label,\n value,\n },\n on: { ...listeners, remove: onMultipleSelectorRemove },\n }}\n key={value || TREE_SELECT_EMPTY_VALUE_KEY}\n >\n {$slots.default}\n </Selection>\n ));\n\n // Rest node count\n if (maxTagCount >= 0 && maxTagCount < selectorValueList.length) {\n let content = `+ ${selectorValueList.length - maxTagCount} ...`;\n const maxTagPlaceholder = getComponentFromProp(this, 'maxTagPlaceholder', {}, false);\n if (typeof maxTagPlaceholder === 'string') {\n content = maxTagPlaceholder;\n } else if (typeof maxTagPlaceholder === 'function') {\n const restValueList = selectorValueList.slice(maxTagCount);\n content = maxTagPlaceholder(\n labelInValue ? restValueList : restValueList.map(({ value }) => value),\n );\n }\n\n const restNodeSelect = (\n <Selection\n {...{\n props: {\n ...this.$props,\n label: content,\n value: null,\n },\n on: listeners,\n }}\n key=\"rc-tree-select-internal-max-tag-counter\"\n >\n {$slots.default}\n </Selection>\n );\n\n selectedValueNodes.push(restNodeSelect);\n }\n\n selectedValueNodes.push(\n <li class={`${prefixCls}-search ${prefixCls}-search--inline`} key=\"__input\">\n <SearchInput\n {...{\n props: {\n ...this.$props,\n needAlign: true,\n },\n on: listeners,\n directives: [\n {\n name: 'ant-ref',\n value: this.inputRef,\n },\n ],\n }}\n >\n {$slots.default}\n </SearchInput>\n </li>,\n );\n const className = `${prefixCls}-selection__rendered`;\n if (choiceTransitionName) {\n const transitionProps = getTransitionProps(choiceTransitionName, {\n tag: 'ul',\n afterLeave: this.onChoiceAnimationLeave,\n });\n return (\n <transition-group class={className} {...transitionProps}>\n {selectedValueNodes}\n </transition-group>\n );\n }\n return (\n <ul class={className} role=\"menubar\">\n {selectedValueNodes}\n </ul>\n );\n },\n },\n\n render() {\n const { $slots } = this;\n const listeners = getListeners(this);\n return (\n <Selector\n {...{\n props: {\n ...this.$props,\n tabIndex: -1,\n showArrow: false,\n renderSelection: this.renderSelection,\n renderPlaceholder: this._renderPlaceholder,\n },\n on: listeners,\n }}\n >\n {$slots.default}\n </Selector>\n );\n },\n};\n\nexport default MultipleSelector;\n","import warning from 'warning';\nimport PropTypes from '../../../_util/vue-types';\nimport { Tree } from '../../../vc-tree';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { createRef } from '../util';\n\n// export const popupContextTypes = {\n// onPopupKeyDown: PropTypes.func.isRequired,\n// onTreeNodeSelect: PropTypes.func.isRequired,\n// onTreeNodeCheck: PropTypes.func.isRequired,\n// }\nfunction getDerivedState(nextProps, prevState) {\n const {\n _prevProps: prevProps = {},\n _loadedKeys: loadedKeys,\n _expandedKeyList: expandedKeyList,\n _cachedExpandedKeyList: cachedExpandedKeyList,\n } = prevState || {};\n const {\n valueList,\n valueEntities,\n keyEntities,\n treeExpandedKeys,\n filteredTreeNodes,\n upperSearchValue,\n } = nextProps;\n\n const newState = {\n _prevProps: { ...nextProps },\n };\n\n // Check value update\n if (valueList !== prevProps.valueList) {\n newState._keyList = valueList\n .map(({ value }) => valueEntities[value])\n .filter(entity => entity)\n .map(({ key }) => key);\n }\n\n // Show all when tree is in filter mode\n if (\n !treeExpandedKeys &&\n filteredTreeNodes &&\n filteredTreeNodes.length &&\n filteredTreeNodes !== prevProps.filteredTreeNodes\n ) {\n newState._expandedKeyList = [...keyEntities.keys()];\n }\n\n // Cache `expandedKeyList` when filter set\n if (upperSearchValue && !prevProps.upperSearchValue) {\n newState._cachedExpandedKeyList = expandedKeyList;\n } else if (!upperSearchValue && prevProps.upperSearchValue && !treeExpandedKeys) {\n newState._expandedKeyList = cachedExpandedKeyList || [];\n newState._cachedExpandedKeyList = [];\n }\n\n // Use expandedKeys if provided\n if (prevProps.treeExpandedKeys !== treeExpandedKeys) {\n newState._expandedKeyList = treeExpandedKeys;\n }\n\n // Clean loadedKeys if key not exist in keyEntities anymore\n if (nextProps.loadData) {\n newState._loadedKeys = loadedKeys.filter(key => keyEntities.has(key));\n }\n\n return newState;\n}\nconst BasePopup = {\n mixins: [BaseMixin],\n name: 'BasePopup',\n props: {\n prefixCls: PropTypes.string,\n upperSearchValue: PropTypes.string,\n valueList: PropTypes.array,\n searchHalfCheckedKeys: PropTypes.array,\n valueEntities: PropTypes.object,\n keyEntities: Map,\n treeIcon: PropTypes.bool,\n treeLine: PropTypes.bool,\n treeNodeFilterProp: PropTypes.string,\n treeCheckable: PropTypes.any,\n treeCheckStrictly: PropTypes.bool,\n treeDefaultExpandAll: PropTypes.bool,\n treeDefaultExpandedKeys: PropTypes.array,\n treeExpandedKeys: PropTypes.array,\n loadData: PropTypes.func,\n multiple: PropTypes.bool,\n // onTreeExpand: PropTypes.func,\n searchValue: PropTypes.string,\n treeNodes: PropTypes.any,\n filteredTreeNodes: PropTypes.any,\n notFoundContent: PropTypes.any,\n\n ariaId: PropTypes.string,\n switcherIcon: PropTypes.any,\n // HOC\n renderSearch: PropTypes.func,\n // onTreeExpanded: PropTypes.func,\n\n __propsSymbol__: PropTypes.any,\n },\n inject: {\n vcTreeSelect: { default: () => ({}) },\n },\n watch: {\n __propsSymbol__() {\n const state = getDerivedState(this.$props, this.$data);\n this.setState(state);\n },\n },\n data() {\n this.treeRef = createRef();\n warning(this.$props.__propsSymbol__, 'must pass __propsSymbol__');\n const { treeDefaultExpandAll, treeDefaultExpandedKeys, keyEntities } = this.$props;\n\n // TODO: make `expandedKeyList` control\n let expandedKeyList = treeDefaultExpandedKeys;\n if (treeDefaultExpandAll) {\n expandedKeyList = [...keyEntities.keys()];\n }\n\n const state = {\n _keyList: [],\n _expandedKeyList: expandedKeyList,\n // Cache `expandedKeyList` when tree is in filter. This is used in `getDerivedState`\n _cachedExpandedKeyList: [],\n _loadedKeys: [],\n _prevProps: {},\n };\n return {\n ...state,\n ...getDerivedState(this.$props, state),\n };\n },\n methods: {\n onTreeExpand(expandedKeyList) {\n const { treeExpandedKeys } = this.$props;\n\n // Set uncontrolled state\n if (!treeExpandedKeys) {\n this.setState({ _expandedKeyList: expandedKeyList }, () => {\n this.__emit('treeExpanded');\n });\n }\n this.__emit('update:treeExpandedKeys', expandedKeyList);\n this.__emit('treeExpand', expandedKeyList);\n },\n\n onLoad(loadedKeys) {\n this.setState({ _loadedKeys: loadedKeys });\n },\n\n getTree() {\n return this.treeRef.current;\n },\n\n /**\n * Not pass `loadData` when searching. To avoid loop ajax call makes browser crash.\n */\n getLoadData() {\n const { loadData, upperSearchValue } = this.$props;\n if (upperSearchValue) return null;\n return loadData;\n },\n\n /**\n * This method pass to Tree component which is used for add filtered class\n * in TreeNode > li\n */\n filterTreeNode(treeNode) {\n const { upperSearchValue, treeNodeFilterProp } = this.$props;\n\n const filterVal = treeNode[treeNodeFilterProp];\n if (typeof filterVal === 'string') {\n return upperSearchValue && filterVal.toUpperCase().indexOf(upperSearchValue) !== -1;\n }\n\n return false;\n },\n\n renderNotFound() {\n const { prefixCls, notFoundContent } = this.$props;\n\n return <span class={`${prefixCls}-not-found`}>{notFoundContent}</span>;\n },\n },\n\n render() {\n const {\n _keyList: keyList,\n _expandedKeyList: expandedKeyList,\n _loadedKeys: loadedKeys,\n } = this.$data;\n const {\n prefixCls,\n treeNodes,\n filteredTreeNodes,\n treeIcon,\n treeLine,\n treeCheckable,\n treeCheckStrictly,\n multiple,\n ariaId,\n renderSearch,\n switcherIcon,\n searchHalfCheckedKeys,\n } = this.$props;\n const {\n vcTreeSelect: { onPopupKeyDown, onTreeNodeSelect, onTreeNodeCheck },\n } = this;\n\n const loadData = this.getLoadData();\n\n const treeProps = {};\n\n if (treeCheckable) {\n treeProps.checkedKeys = keyList;\n } else {\n treeProps.selectedKeys = keyList;\n }\n let $notFound;\n let $treeNodes;\n if (filteredTreeNodes) {\n if (filteredTreeNodes.length) {\n treeProps.checkStrictly = true;\n $treeNodes = filteredTreeNodes;\n\n // Fill halfCheckedKeys\n if (treeCheckable && !treeCheckStrictly) {\n treeProps.checkedKeys = {\n checked: keyList,\n halfChecked: searchHalfCheckedKeys,\n };\n }\n } else {\n $notFound = this.renderNotFound();\n }\n } else if (!treeNodes || !treeNodes.length) {\n $notFound = this.renderNotFound();\n } else {\n $treeNodes = treeNodes;\n }\n\n let $tree;\n if ($notFound) {\n $tree = $notFound;\n } else {\n const treeAllProps = {\n props: {\n prefixCls: `${prefixCls}-tree`,\n showIcon: treeIcon,\n showLine: treeLine,\n selectable: !treeCheckable,\n checkable: treeCheckable,\n checkStrictly: treeCheckStrictly,\n multiple,\n loadData,\n loadedKeys,\n expandedKeys: expandedKeyList,\n filterTreeNode: this.filterTreeNode,\n switcherIcon,\n ...treeProps,\n __propsSymbol__: Symbol(),\n children: $treeNodes,\n },\n on: {\n select: onTreeNodeSelect,\n check: onTreeNodeCheck,\n expand: this.onTreeExpand,\n load: this.onLoad,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.treeRef,\n },\n ],\n };\n $tree = <Tree {...treeAllProps} />;\n }\n\n return (\n <div role=\"listbox\" id={ariaId} onKeydown={onPopupKeyDown} tabIndex={-1}>\n {renderSearch ? renderSearch() : null}\n {$tree}\n </div>\n );\n },\n};\n\nexport default BasePopup;\n","import PropTypes from '../../../_util/vue-types';\nimport BasePopup from '../Base/BasePopup';\nimport SearchInput from '../SearchInput';\nimport { createRef } from '../util';\nimport { getListeners } from '../../../_util/props-util';\n\nconst SinglePopup = {\n name: 'SinglePopup',\n props: {\n ...BasePopup.props,\n ...SearchInput.props,\n searchValue: PropTypes.string,\n showSearch: PropTypes.bool,\n dropdownPrefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n searchPlaceholder: PropTypes.string,\n },\n created() {\n this.inputRef = createRef();\n this.searchRef = createRef();\n this.popupRef = createRef();\n },\n methods: {\n onPlaceholderClick() {\n this.inputRef.current.focus();\n },\n getTree() {\n return this.popupRef.current && this.popupRef.current.getTree();\n },\n _renderPlaceholder() {\n const { searchPlaceholder, searchValue, prefixCls } = this.$props;\n\n if (!searchPlaceholder) {\n return null;\n }\n\n return (\n <span\n style={{\n display: searchValue ? 'none' : 'block',\n }}\n onClick={this.onPlaceholderClick}\n class={`${prefixCls}-search__field__placeholder`}\n >\n {searchPlaceholder}\n </span>\n );\n },\n\n _renderSearch() {\n const { showSearch, dropdownPrefixCls } = this.$props;\n\n if (!showSearch) {\n return null;\n }\n\n return (\n <span\n class={`${dropdownPrefixCls}-search`}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.searchRef,\n },\n ],\n }}\n >\n <SearchInput\n {...{\n props: { ...this.$props, renderPlaceholder: this._renderPlaceholder },\n on: getListeners(this),\n directives: [\n {\n name: 'ant-ref',\n value: this.inputRef,\n },\n ],\n }}\n />\n </span>\n );\n },\n },\n render() {\n return (\n <BasePopup\n {...{\n props: { ...this.$props, renderSearch: this._renderSearch, __propsSymbol__: Symbol() },\n on: getListeners(this),\n directives: [\n {\n name: 'ant-ref',\n value: this.popupRef,\n },\n ],\n }}\n />\n );\n },\n};\n\nexport default SinglePopup;\n","import BasePopup from '../Base/BasePopup';\n\nexport default BasePopup;\n","import { TreeNode } from '../../vc-tree';\n/**\n * SelectNode wrapped the tree node.\n * Let's use SelectNode instead of TreeNode\n * since TreeNode is so confuse here.\n */\nexport default {\n name: 'SelectNode',\n functional: true,\n isTreeNode: true,\n props: TreeNode.props,\n render(h, context) {\n const { props, slots, listeners, data, scopedSlots } = context;\n const $slots = slots() || {};\n const children = $slots.default;\n const slotsKey = Object.keys($slots);\n const scopedSlotsTemp = {}; // for vue 2.5.x\n slotsKey.forEach(name => {\n scopedSlotsTemp[name] = () => $slots[name];\n });\n const treeNodeProps = {\n ...data,\n on: { ...listeners, ...data.nativeOn },\n props,\n scopedSlots: {\n ...scopedSlotsTemp,\n ...scopedSlots,\n },\n };\n return <TreeNode {...treeNodeProps}>{children}</TreeNode>;\n },\n};\n","/**\n * ARIA: https://www.w3.org/TR/wai-aria/#combobox\n * Sample 1: https://www.w3.org/TR/2017/NOTE-wai-aria-practices-1.1-20171214/examples/combobox/aria1.1pattern/listbox-combo.html\n * Sample 2: https://www.w3.org/blog/wai-components-gallery/widget/combobox-with-aria-autocompleteinline/\n *\n * Tab logic:\n * Popup is close\n * 1. Focus input (mark component as focused)\n * 2. Press enter to show the popup\n * 3. If popup has input, focus it\n *\n * Popup is open\n * 1. press tab to close the popup\n * 2. Focus back to the selection input box\n * 3. Let the native tab going on\n *\n * TreeSelect use 2 design type.\n * In single mode, we should focus on the `span`\n * In multiple mode, we should focus on the `input`\n */\n\nimport shallowEqual from 'shallowequal';\nimport raf from 'raf';\nimport scrollIntoView from 'dom-scroll-into-view';\nimport warning from 'warning';\nimport PropTypes from '../../_util/vue-types';\nimport KeyCode from '../../_util/KeyCode';\n\nimport SelectTrigger from './SelectTrigger';\nimport SingleSelector from './Selector/SingleSelector';\nimport MultipleSelector from './Selector/MultipleSelector';\nimport SinglePopup from './Popup/SinglePopup';\nimport MultiplePopup from './Popup/MultiplePopup';\n\nimport { SHOW_ALL, SHOW_PARENT, SHOW_CHILD } from './strategies';\nimport BaseMixin from '../../_util/BaseMixin';\nimport {\n createRef,\n generateAriaId,\n formatInternalValue,\n formatSelectorValue,\n parseSimpleTreeData,\n convertDataToTree,\n convertTreeToEntities,\n conductCheck,\n getHalfCheckedKeys,\n flatToHierarchy,\n isPosRelated,\n isLabelInValue,\n getFilterTree,\n cleanEntity,\n findPopupContainer,\n} from './util';\nimport SelectNode from './SelectNode';\nimport {\n initDefaultProps,\n getOptionProps,\n mergeProps,\n getPropsData,\n filterEmpty,\n getListeners,\n} from '../../_util/props-util';\nfunction getWatch(keys = []) {\n const watch = {};\n keys.forEach(k => {\n watch[k] = function() {\n this.needSyncKeys[k] = true;\n };\n });\n return watch;\n}\nconst Select = {\n name: 'Select',\n mixins: [BaseMixin],\n props: initDefaultProps(\n {\n prefixCls: PropTypes.string,\n prefixAria: PropTypes.string,\n multiple: PropTypes.bool,\n showArrow: PropTypes.bool,\n open: PropTypes.bool,\n value: PropTypes.any,\n\n autoFocus: PropTypes.bool,\n\n defaultOpen: PropTypes.bool,\n defaultValue: PropTypes.any,\n\n showSearch: PropTypes.bool,\n placeholder: PropTypes.any,\n inputValue: PropTypes.string, // [Legacy] Deprecated. Use `searchValue` instead.\n searchValue: PropTypes.string,\n autoClearSearchValue: PropTypes.bool,\n searchPlaceholder: PropTypes.any, // [Legacy] Confuse with placeholder\n disabled: PropTypes.bool,\n children: PropTypes.any,\n labelInValue: PropTypes.bool,\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.oneOfType([PropTypes.any, PropTypes.func]),\n maxTagTextLength: PropTypes.number,\n showCheckedStrategy: PropTypes.oneOf([SHOW_ALL, SHOW_PARENT, SHOW_CHILD]),\n dropdownClassName: PropTypes.string,\n dropdownStyle: PropTypes.object,\n dropdownVisibleChange: PropTypes.func,\n dropdownMatchSelectWidth: PropTypes.bool,\n treeData: PropTypes.array,\n treeDataSimpleMode: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n treeNodeFilterProp: PropTypes.string,\n treeNodeLabelProp: PropTypes.string,\n treeCheckable: PropTypes.oneOfType([PropTypes.any, PropTypes.object, PropTypes.bool]),\n // treeCheckable: PropTypes.any,\n treeCheckStrictly: PropTypes.bool,\n treeIcon: PropTypes.bool,\n treeLine: PropTypes.bool,\n treeDefaultExpandAll: PropTypes.bool,\n treeDefaultExpandedKeys: PropTypes.array,\n treeExpandedKeys: PropTypes.array,\n loadData: PropTypes.func,\n filterTreeNode: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),\n\n notFoundContent: PropTypes.any,\n getPopupContainer: PropTypes.func,\n\n // onSearch: PropTypes.func,\n // onSelect: PropTypes.func,\n // onDeselect: PropTypes.func,\n // onChange: PropTypes.func,\n // onDropdownVisibleChange: PropTypes.func,\n\n // onTreeExpand: PropTypes.func,\n allowClear: PropTypes.bool,\n transitionName: PropTypes.string,\n animation: PropTypes.string,\n choiceTransitionName: PropTypes.string,\n inputIcon: PropTypes.any,\n clearIcon: PropTypes.any,\n removeIcon: PropTypes.any,\n switcherIcon: PropTypes.any,\n __propsSymbol__: PropTypes.any,\n },\n {\n prefixCls: 'rc-tree-select',\n prefixAria: 'rc-tree-select',\n showArrow: true,\n showSearch: true,\n autoClearSearchValue: true,\n showCheckedStrategy: SHOW_CHILD,\n\n // dropdownMatchSelectWidth change the origin design, set to false now\n // ref: https://github.com/react-component/select/blob/4cad95e098a341a09de239ad6981067188842020/src/Select.jsx#L344\n // ref: https://github.com/react-component/select/pull/71\n treeNodeFilterProp: 'value',\n treeNodeLabelProp: 'title',\n treeIcon: false,\n notFoundContent: 'Not Found',\n dropdownStyle: {},\n dropdownVisibleChange: () => {\n return true;\n },\n },\n ),\n\n data() {\n warning(this.$props.__propsSymbol__, 'must pass __propsSymbol__');\n const { prefixAria, defaultOpen, open } = this.$props;\n this.needSyncKeys = {};\n this.selectorRef = createRef();\n this.selectTriggerRef = createRef();\n\n // ARIA need `aria-controls` props mapping\n // Since this need user input. Let's generate ourselves\n this.ariaId = generateAriaId(`${prefixAria}-list`);\n\n const state = {\n _open: open || defaultOpen,\n _valueList: [],\n _searchHalfCheckedKeys: [],\n _missValueList: [], // Contains the value not in the tree\n _selectorValueList: [], // Used for multiple selector\n _valueEntities: {},\n _posEntities: new Map(),\n _keyEntities: new Map(),\n _searchValue: '',\n _prevProps: {},\n _init: true,\n _focused: undefined,\n _treeNodes: undefined,\n _filteredTreeNodes: undefined,\n };\n const newState = this.getDerivedState(this.$props, state);\n return {\n ...state,\n ...newState,\n };\n },\n\n provide() {\n return {\n vcTreeSelect: {\n onSelectorFocus: this.onSelectorFocus,\n onSelectorBlur: this.onSelectorBlur,\n onSelectorKeyDown: this.onComponentKeyDown,\n onSelectorClear: this.onSelectorClear,\n onMultipleSelectorRemove: this.onMultipleSelectorRemove,\n\n onTreeNodeSelect: this.onTreeNodeSelect,\n onTreeNodeCheck: this.onTreeNodeCheck,\n onPopupKeyDown: this.onComponentKeyDown,\n\n onSearchInputChange: this.onSearchInputChange,\n onSearchInputKeyDown: this.onSearchInputKeyDown,\n },\n };\n },\n watch: {\n ...getWatch(['treeData', 'defaultValue', 'value']),\n __propsSymbol__() {\n const state = this.getDerivedState(this.$props, this.$data);\n this.setState(state);\n this.needSyncKeys = {};\n },\n '$data._valueList'() {\n this.$nextTick(() => {\n this.forcePopupAlign();\n });\n },\n '$data._open'(open) {\n setTimeout(() => {\n const { prefixCls } = this.$props;\n const { _selectorValueList: selectorValueList, _valueEntities: valueEntities } = this.$data;\n const isMultiple = this.isMultiple();\n\n // Scroll to value position, only need sync on single mode\n if (!isMultiple && selectorValueList.length && open && this.popup) {\n const { value } = selectorValueList[0];\n const { domTreeNodes } = this.popup.getTree();\n const { key } = valueEntities[value] || {};\n const treeNode = domTreeNodes[key];\n\n if (treeNode) {\n const domNode = treeNode.$el;\n raf(() => {\n const popupNode = this.popup.$el;\n const triggerContainer = findPopupContainer(popupNode, `${prefixCls}-dropdown`);\n const searchNode = this.popup.searchRef.current;\n\n if (domNode && triggerContainer && searchNode) {\n scrollIntoView(domNode, triggerContainer, {\n onlyScrollIfNeeded: true,\n offsetTop: searchNode.offsetHeight,\n });\n }\n });\n }\n }\n });\n },\n },\n mounted() {\n this.$nextTick(() => {\n const { autoFocus, disabled } = this.$props;\n if (autoFocus && !disabled) {\n this.focus();\n }\n });\n },\n\n methods: {\n getDerivedState(nextProps, prevState) {\n const h = this.$createElement;\n const { _prevProps: prevProps = {} } = prevState;\n const {\n treeCheckable,\n treeCheckStrictly,\n filterTreeNode,\n treeNodeFilterProp,\n treeDataSimpleMode,\n } = nextProps;\n const newState = {\n _prevProps: { ...nextProps },\n _init: false,\n };\n const self = this;\n // Process the state when props updated\n function processState(propName, updater) {\n if (prevProps[propName] !== nextProps[propName] || self.needSyncKeys[propName]) {\n updater(nextProps[propName], prevProps[propName]);\n return true;\n }\n return false;\n }\n\n let valueRefresh = false;\n\n // Open\n processState('open', propValue => {\n newState._open = propValue;\n });\n\n // Tree Nodes\n let treeNodes;\n let treeDataChanged = false;\n let treeDataModeChanged = false;\n processState('treeData', propValue => {\n treeNodes = convertDataToTree(h, propValue);\n treeDataChanged = true;\n });\n\n processState('treeDataSimpleMode', (propValue, prevValue) => {\n if (!propValue) return;\n\n const prev = !prevValue || prevValue === true ? {} : prevValue;\n\n // Shallow equal to avoid dynamic prop object\n if (!shallowEqual(propValue, prev)) {\n treeDataModeChanged = true;\n }\n });\n\n // Parse by `treeDataSimpleMode`\n if (treeDataSimpleMode && (treeDataChanged || treeDataModeChanged)) {\n const simpleMapper = {\n id: 'id',\n pId: 'pId',\n rootPId: null,\n ...(treeDataSimpleMode !== true ? treeDataSimpleMode : {}),\n };\n treeNodes = convertDataToTree(h, parseSimpleTreeData(nextProps.treeData, simpleMapper));\n }\n\n // If `treeData` not provide, use children TreeNodes\n if (!nextProps.treeData) {\n // processState('children', (propValue) => {\n // treeNodes = Array.isArray(propValue) ? propValue : [propValue]\n // })\n treeNodes = filterEmpty(this.$slots.default);\n }\n\n // Convert `treeData` to entities\n if (treeNodes) {\n const entitiesMap = convertTreeToEntities(treeNodes);\n newState._treeNodes = treeNodes;\n newState._posEntities = entitiesMap.posEntities;\n newState._valueEntities = entitiesMap.valueEntities;\n newState._keyEntities = entitiesMap.keyEntities;\n\n valueRefresh = true;\n }\n\n // Value List\n if (prevState._init) {\n processState('defaultValue', propValue => {\n newState._valueList = formatInternalValue(propValue, nextProps);\n valueRefresh = true;\n });\n }\n\n processState('value', propValue => {\n newState._valueList = formatInternalValue(propValue, nextProps);\n valueRefresh = true;\n });\n\n // Selector Value List\n if (valueRefresh) {\n // Find out that value not exist in the tree\n const missValueList = [];\n const filteredValueList = [];\n const keyList = [];\n\n // Get latest value list\n let latestValueList = newState._valueList;\n if (!latestValueList) {\n // Also need add prev missValueList to avoid new treeNodes contains the value\n latestValueList = [...prevState._valueList, ...prevState._missValueList];\n }\n\n // Get key by value\n const valueLabels = {};\n latestValueList.forEach(wrapperValue => {\n const { value, label } = wrapperValue;\n const entity = (newState._valueEntities || prevState._valueEntities)[value];\n valueLabels[value] = label;\n\n if (entity) {\n keyList.push(entity.key);\n filteredValueList.push(wrapperValue);\n return;\n }\n\n // If not match, it may caused by ajax load. We need keep this\n missValueList.push(wrapperValue);\n });\n\n // We need calculate the value when tree is checked tree\n if (treeCheckable && !treeCheckStrictly) {\n // Calculate the keys need to be checked\n const { checkedKeys } = conductCheck(\n keyList,\n true,\n newState._keyEntities || prevState._keyEntities,\n );\n\n // Format value list again for internal usage\n newState._valueList = checkedKeys.map(key => {\n const val = (newState._keyEntities || prevState._keyEntities).get(key).value;\n\n const wrappedValue = {\n value: val,\n };\n\n if (valueLabels[val] !== undefined) {\n wrappedValue.label = valueLabels[val];\n }\n\n return wrappedValue;\n });\n } else {\n newState._valueList = filteredValueList;\n }\n\n // Fill the missValueList, we still need display in the selector\n newState._missValueList = missValueList;\n\n // Calculate the value list for `Selector` usage\n newState._selectorValueList = formatSelectorValue(\n newState._valueList,\n nextProps,\n newState._valueEntities || prevState._valueEntities,\n );\n }\n\n // [Legacy] To align with `Select` component,\n // We use `searchValue` instead of `inputValue` but still keep the api\n // `inputValue` support `null` to work as `autoClearSearchValue`\n processState('inputValue', propValue => {\n if (propValue !== null) {\n newState._searchValue = propValue;\n }\n });\n\n // Search value\n processState('searchValue', propValue => {\n newState._searchValue = propValue;\n });\n\n // Do the search logic\n if (newState._searchValue !== undefined || (prevState._searchValue && treeNodes)) {\n const searchValue =\n newState._searchValue !== undefined ? newState._searchValue : prevState._searchValue;\n const upperSearchValue = String(searchValue).toUpperCase();\n\n let filterTreeNodeFn = filterTreeNode;\n if (filterTreeNode === false) {\n // Don't filter if is false\n filterTreeNodeFn = () => true;\n } else if (typeof filterTreeNodeFn !== 'function') {\n // When is not function (true or undefined), use inner filter\n filterTreeNodeFn = (_, node) => {\n const nodeValue = String(getPropsData(node)[treeNodeFilterProp]).toUpperCase();\n return nodeValue.indexOf(upperSearchValue) !== -1;\n };\n }\n\n newState._filteredTreeNodes = getFilterTree(\n this.$createElement,\n newState._treeNodes || prevState._treeNodes,\n searchValue,\n filterTreeNodeFn,\n newState._valueEntities || prevState._valueEntities,\n SelectNode,\n );\n }\n\n // We should re-calculate the halfCheckedKeys when in search mode\n if (\n valueRefresh &&\n treeCheckable &&\n !treeCheckStrictly &&\n (newState._searchValue || prevState._searchValue)\n ) {\n newState._searchHalfCheckedKeys = getHalfCheckedKeys(\n newState._valueList,\n newState._valueEntities || prevState._valueEntities,\n );\n }\n\n // Checked Strategy\n processState('showCheckedStrategy', () => {\n newState._selectorValueList =\n newState._selectorValueList ||\n formatSelectorValue(\n newState._valueList || prevState._valueList,\n nextProps,\n newState._valueEntities || prevState._valueEntities,\n );\n });\n\n return newState;\n },\n // ==================== Selector ====================\n onSelectorFocus() {\n this.setState({ _focused: true });\n },\n\n onSelectorBlur() {\n this.setState({ _focused: false });\n\n // TODO: Close when Popup is also not focused\n // this.setState({ open: false });\n },\n\n // Handle key board event in both Selector and Popup\n onComponentKeyDown(event) {\n const { _open: open } = this.$data;\n const { keyCode } = event;\n\n if (!open) {\n if ([KeyCode.ENTER, KeyCode.DOWN].indexOf(keyCode) !== -1) {\n this.setOpenState(true);\n }\n } else if (KeyCode.ESC === keyCode) {\n this.setOpenState(false);\n } else if ([KeyCode.UP, KeyCode.DOWN, KeyCode.LEFT, KeyCode.RIGHT].indexOf(keyCode) !== -1) {\n // TODO: Handle `open` state\n event.stopPropagation();\n }\n },\n\n onDeselect(wrappedValue, node, nodeEventInfo) {\n this.__emit('deselect', wrappedValue, node, nodeEventInfo);\n },\n\n onSelectorClear(event) {\n const { disabled } = this.$props;\n if (disabled) return;\n\n this.triggerChange([], []);\n\n if (!this.isSearchValueControlled()) {\n this.setUncontrolledState({\n _searchValue: '',\n _filteredTreeNodes: null,\n });\n }\n\n event.stopPropagation();\n },\n\n onMultipleSelectorRemove(event, removeValue) {\n event.stopPropagation();\n\n const {\n _valueList: valueList,\n _missValueList: missValueList,\n _valueEntities: valueEntities,\n } = this.$data;\n\n const { treeCheckable, treeCheckStrictly, treeNodeLabelProp, disabled } = this.$props;\n if (disabled) return;\n\n // Find trigger entity\n const triggerEntity = valueEntities[removeValue];\n\n // Clean up value\n let newValueList = valueList;\n if (triggerEntity) {\n // If value is in tree\n if (treeCheckable && !treeCheckStrictly) {\n newValueList = valueList.filter(({ value }) => {\n const entity = valueEntities[value];\n return !isPosRelated(entity.pos, triggerEntity.pos);\n });\n } else {\n newValueList = valueList.filter(({ value }) => value !== removeValue);\n }\n }\n\n const triggerNode = triggerEntity ? triggerEntity.node : null;\n\n const extraInfo = {\n triggerValue: removeValue,\n triggerNode,\n };\n const deselectInfo = {\n node: triggerNode,\n };\n\n // [Legacy] Little hack on this to make same action as `onCheck` event.\n if (treeCheckable) {\n const filteredEntityList = newValueList.map(({ value }) => valueEntities[value]);\n\n deselectInfo.event = 'check';\n deselectInfo.checked = false;\n deselectInfo.checkedNodes = filteredEntityList.map(({ node }) => node);\n deselectInfo.checkedNodesPositions = filteredEntityList.map(({ node, pos }) => ({\n node,\n pos,\n }));\n\n if (treeCheckStrictly) {\n extraInfo.allCheckedNodes = deselectInfo.checkedNodes;\n } else {\n // TODO: It's too expansive to get `halfCheckedKeys` in onDeselect. Not pass this.\n extraInfo.allCheckedNodes = flatToHierarchy(filteredEntityList).map(({ node }) => node);\n }\n } else {\n deselectInfo.event = 'select';\n deselectInfo.selected = false;\n deselectInfo.selectedNodes = newValueList.map(\n ({ value }) => (valueEntities[value] || {}).node,\n );\n }\n\n // Some value user pass prop is not in the tree, we also need clean it\n const newMissValueList = missValueList.filter(({ value }) => value !== removeValue);\n let wrappedValue;\n if (this.isLabelInValue()) {\n wrappedValue = {\n label: triggerNode ? getPropsData(triggerNode)[treeNodeLabelProp] : null,\n value: removeValue,\n };\n } else {\n wrappedValue = removeValue;\n }\n\n this.onDeselect(wrappedValue, triggerNode, deselectInfo);\n\n this.triggerChange(newMissValueList, newValueList, extraInfo);\n },\n\n // ===================== Popup ======================\n onValueTrigger(isAdd, nodeList, nodeEventInfo, nodeExtraInfo) {\n const { node } = nodeEventInfo;\n const { value } = node.$props;\n const {\n _missValueList: missValueList,\n _valueEntities: valueEntities,\n _keyEntities: keyEntities,\n _searchValue: searchValue,\n } = this.$data;\n const {\n disabled,\n inputValue,\n treeNodeLabelProp,\n multiple,\n treeCheckable,\n treeCheckStrictly,\n autoClearSearchValue,\n } = this.$props;\n const label = node.$props[treeNodeLabelProp];\n\n if (disabled) return;\n\n // Wrap the return value for user\n let wrappedValue;\n if (this.isLabelInValue()) {\n wrappedValue = {\n value,\n label,\n };\n } else {\n wrappedValue = value;\n }\n\n // [Legacy] Origin code not trigger `onDeselect` every time. Let's align the behaviour.\n if (isAdd) {\n this.__emit('select', wrappedValue, node, nodeEventInfo);\n } else {\n this.__emit('deselect', wrappedValue, node, nodeEventInfo);\n }\n\n // Get wrapped value list.\n // This is a bit hack cause we use key to match the value.\n let newValueList = nodeList.map(node => {\n const props = getPropsData(node);\n return {\n value: props.value,\n label: props[treeNodeLabelProp],\n };\n });\n\n // When is `treeCheckable` and with `searchValue`, `valueList` is not full filled.\n // We need calculate the missing nodes.\n if (treeCheckable && !treeCheckStrictly) {\n let keyList = newValueList.map(({ value: val }) => valueEntities[val].key);\n if (isAdd) {\n keyList = conductCheck(keyList, true, keyEntities).checkedKeys;\n } else {\n keyList = conductCheck([valueEntities[value].key], false, keyEntities, {\n checkedKeys: keyList,\n }).checkedKeys;\n }\n newValueList = keyList.map(key => {\n const props = getPropsData(keyEntities.get(key).node);\n return {\n value: props.value,\n label: props[treeNodeLabelProp],\n };\n });\n }\n\n // Clean up `searchValue` when this prop is set\n if (autoClearSearchValue || inputValue === null) {\n // Clean state `searchValue` if uncontrolled\n if (!this.isSearchValueControlled() && (multiple || treeCheckable)) {\n this.setUncontrolledState({\n _searchValue: '',\n _filteredTreeNodes: null,\n });\n }\n\n // Trigger onSearch if `searchValue` to be empty.\n // We should also trigger onSearch with empty string here\n // since if user use `treeExpandedKeys`, it need user have the ability to reset it.\n if (searchValue && searchValue.length) {\n this.__emit('update:searchValue', '');\n this.__emit('search', '');\n }\n }\n\n // [Legacy] Provide extra info\n const extraInfo = {\n ...nodeExtraInfo,\n triggerValue: value,\n triggerNode: node,\n };\n\n this.triggerChange(missValueList, newValueList, extraInfo);\n },\n\n onTreeNodeSelect(_, nodeEventInfo) {\n const { _valueList: valueList, _valueEntities: valueEntities } = this.$data;\n const { treeCheckable, multiple } = this.$props;\n if (treeCheckable) return;\n\n if (!multiple) {\n this.setOpenState(false);\n }\n\n const isAdd = nodeEventInfo.selected;\n const {\n $props: { value: selectedValue },\n } = nodeEventInfo.node;\n\n let newValueList;\n\n if (!multiple) {\n newValueList = [{ value: selectedValue }];\n } else {\n newValueList = valueList.filter(({ value }) => value !== selectedValue);\n if (isAdd) {\n newValueList.push({ value: selectedValue });\n }\n }\n\n const selectedNodes = newValueList\n .map(({ value }) => valueEntities[value])\n .filter(entity => entity)\n .map(({ node }) => node);\n\n this.onValueTrigger(isAdd, selectedNodes, nodeEventInfo, { selected: isAdd });\n },\n\n onTreeNodeCheck(_, nodeEventInfo) {\n const {\n _searchValue: searchValue,\n _keyEntities: keyEntities,\n _valueEntities: valueEntities,\n _valueList: valueList,\n } = this.$data;\n const { treeCheckStrictly } = this.$props;\n\n const { checkedNodes, checkedNodesPositions } = nodeEventInfo;\n const isAdd = nodeEventInfo.checked;\n\n const extraInfo = {\n checked: isAdd,\n };\n\n let checkedNodeList = checkedNodes;\n\n // [Legacy] Check event provide `allCheckedNodes`.\n // When `treeCheckStrictly` or internal `searchValue` is set, TreeNode will be unrelated:\n // - Related: Show the top checked nodes and has children prop.\n // - Unrelated: Show all the checked nodes.\n if (searchValue) {\n const oriKeyList = valueList\n .map(({ value }) => valueEntities[value])\n .filter(entity => entity)\n .map(({ key }) => key);\n\n let keyList;\n if (isAdd) {\n keyList = Array.from(\n new Set([\n ...oriKeyList,\n ...checkedNodeList.map(node => {\n const { value } = getPropsData(node);\n return valueEntities[value].key;\n }),\n ]),\n );\n } else {\n keyList = conductCheck([getPropsData(nodeEventInfo.node).eventKey], false, keyEntities, {\n checkedKeys: oriKeyList,\n }).checkedKeys;\n }\n\n checkedNodeList = keyList.map(key => keyEntities.get(key).node);\n\n // Let's follow as not `treeCheckStrictly` format\n extraInfo.allCheckedNodes = keyList.map(key => cleanEntity(keyEntities.get(key)));\n } else if (treeCheckStrictly) {\n extraInfo.allCheckedNodes = nodeEventInfo.checkedNodes;\n } else {\n extraInfo.allCheckedNodes = flatToHierarchy(checkedNodesPositions);\n }\n\n this.onValueTrigger(isAdd, checkedNodeList, nodeEventInfo, extraInfo);\n },\n\n // ==================== Trigger =====================\n\n onDropdownVisibleChange(open) {\n const { multiple, treeCheckable } = this.$props;\n const { _searchValue } = this.$data;\n\n // When set open success and single mode,\n // we will reset the input content.\n if (open && !multiple && !treeCheckable && _searchValue) {\n this.setUncontrolledState({\n _searchValue: '',\n _filteredTreeNodes: null,\n });\n }\n this.setOpenState(open, true);\n },\n\n onSearchInputChange(event) {\n const value = event.target.value;\n const { _treeNodes: treeNodes, _valueEntities: valueEntities } = this.$data;\n const { filterTreeNode, treeNodeFilterProp } = this.$props;\n this.__emit('update:searchValue', value);\n this.__emit('search', value);\n\n let isSet = false;\n\n if (!this.isSearchValueControlled()) {\n isSet = this.setUncontrolledState({\n _searchValue: value,\n });\n this.setOpenState(true);\n }\n\n if (isSet) {\n // Do the search logic\n const upperSearchValue = String(value).toUpperCase();\n\n let filterTreeNodeFn = filterTreeNode;\n if (filterTreeNode === false) {\n filterTreeNodeFn = () => true;\n } else if (!filterTreeNodeFn) {\n filterTreeNodeFn = (_, node) => {\n const nodeValue = String(getPropsData(node)[treeNodeFilterProp]).toUpperCase();\n return nodeValue.indexOf(upperSearchValue) !== -1;\n };\n }\n\n this.setState({\n _filteredTreeNodes: getFilterTree(\n this.$createElement,\n treeNodes,\n value,\n filterTreeNodeFn,\n valueEntities,\n SelectNode,\n ),\n });\n }\n },\n\n onSearchInputKeyDown(event) {\n const { _searchValue: searchValue, _valueList: valueList } = this.$data;\n\n const { keyCode } = event;\n\n if (KeyCode.BACKSPACE === keyCode && this.isMultiple() && !searchValue && valueList.length) {\n const lastValue = valueList[valueList.length - 1].value;\n this.onMultipleSelectorRemove(event, lastValue);\n }\n },\n\n onChoiceAnimationLeave() {\n raf(() => {\n this.forcePopupAlign();\n });\n },\n\n setPopupRef(popup) {\n this.popup = popup;\n },\n\n /**\n * Only update the value which is not in props\n */\n setUncontrolledState(state) {\n let needSync = false;\n const newState = {};\n const props = getOptionProps(this);\n Object.keys(state).forEach(name => {\n if (name.slice(1) in props) return;\n\n needSync = true;\n newState[name] = state[name];\n });\n\n if (needSync) {\n this.setState(newState);\n }\n\n return needSync;\n },\n\n // [Legacy] Origin provide `documentClickClose` which triggered by `Trigger`\n // Currently `TreeSelect` align the hide popup logic as `Select` which blur to hide.\n // `documentClickClose` is not accurate anymore. Let's just keep the key word.\n setOpenState(open, byTrigger = false) {\n const { dropdownVisibleChange } = this.$props;\n\n if (\n dropdownVisibleChange &&\n dropdownVisibleChange(open, { documentClickClose: !open && byTrigger }) === false\n ) {\n return;\n }\n\n this.setUncontrolledState({ _open: open });\n },\n\n // Tree checkable is also a multiple case\n isMultiple() {\n const { multiple, treeCheckable } = this.$props;\n return !!(multiple || treeCheckable);\n },\n\n isLabelInValue() {\n return isLabelInValue(this.$props);\n },\n\n // [Legacy] To align with `Select` component,\n // We use `searchValue` instead of `inputValue`\n // but currently still need support that.\n // Add this method the check if is controlled\n isSearchValueControlled() {\n const props = getOptionProps(this);\n const { inputValue } = props;\n if ('searchValue' in props) return true;\n return 'inputValue' in props && inputValue !== null;\n },\n\n forcePopupAlign() {\n const $trigger = this.selectTriggerRef.current;\n if ($trigger) {\n $trigger.forcePopupAlign();\n }\n },\n\n delayForcePopupAlign() {\n // Wait 2 frame to avoid dom update & dom algin in the same time\n // https://github.com/ant-design/ant-design/issues/12031\n raf(() => {\n raf(this.forcePopupAlign);\n });\n },\n\n /**\n * 1. Update state valueList.\n * 2. Fire `onChange` event to user.\n */\n triggerChange(missValueList, valueList, extraInfo = {}) {\n const {\n _valueEntities: valueEntities,\n _searchValue: searchValue,\n _selectorValueList: prevSelectorValueList,\n } = this.$data;\n const props = getOptionProps(this);\n const { disabled, treeCheckable, treeCheckStrictly } = props;\n if (disabled) return;\n\n // Trigger\n const extra = {\n // [Legacy] Always return as array contains label & value\n preValue: prevSelectorValueList.map(({ label, value }) => ({ label, value })),\n ...extraInfo,\n };\n\n // Format value by `treeCheckStrictly`\n const selectorValueList = formatSelectorValue(valueList, props, valueEntities);\n\n if (!('value' in props)) {\n const newState = {\n _missValueList: missValueList,\n _valueList: valueList,\n _selectorValueList: selectorValueList,\n };\n\n if (searchValue && treeCheckable && !treeCheckStrictly) {\n newState._searchHalfCheckedKeys = getHalfCheckedKeys(valueList, valueEntities);\n }\n\n this.setState(newState);\n }\n\n // Only do the logic when `onChange` function provided\n if (getListeners(this).change) {\n let connectValueList;\n\n // Get value by mode\n if (this.isMultiple()) {\n connectValueList = [...missValueList, ...selectorValueList];\n } else {\n connectValueList = selectorValueList.slice(0, 1);\n }\n\n let labelList = null;\n let returnValue;\n\n if (this.isLabelInValue()) {\n returnValue = connectValueList.map(({ label, value }) => ({ label, value }));\n } else {\n labelList = [];\n returnValue = connectValueList.map(({ label, value }) => {\n labelList.push(label);\n return value;\n });\n }\n\n if (!this.isMultiple()) {\n returnValue = returnValue[0];\n }\n this.__emit('change', returnValue, labelList, extra);\n }\n },\n\n focus() {\n this.selectorRef.current.focus();\n },\n\n blur() {\n this.selectorRef.current.blur();\n },\n },\n\n // ===================== Render =====================\n\n render() {\n const {\n _valueList: valueList,\n _missValueList: missValueList,\n _selectorValueList: selectorValueList,\n _searchHalfCheckedKeys: searchHalfCheckedKeys,\n _valueEntities: valueEntities,\n _keyEntities: keyEntities,\n _searchValue: searchValue,\n _open: open,\n _focused: focused,\n _treeNodes: treeNodes,\n _filteredTreeNodes: filteredTreeNodes,\n } = this.$data;\n const props = getOptionProps(this);\n const { prefixCls, treeExpandedKeys } = props;\n const isMultiple = this.isMultiple();\n\n const passProps = {\n props: {\n ...props,\n isMultiple,\n valueList,\n searchHalfCheckedKeys,\n selectorValueList: [...missValueList, ...selectorValueList],\n valueEntities,\n keyEntities,\n searchValue,\n upperSearchValue: (searchValue || '').toUpperCase(), // Perf save\n open,\n focused,\n dropdownPrefixCls: `${prefixCls}-dropdown`,\n ariaId: this.ariaId,\n },\n on: {\n ...getListeners(this),\n choiceAnimationLeave: this.onChoiceAnimationLeave,\n },\n scopedSlots: this.$scopedSlots,\n };\n const popupProps = mergeProps(passProps, {\n props: {\n treeNodes,\n filteredTreeNodes,\n // Tree expanded control\n treeExpandedKeys,\n __propsSymbol__: Symbol(),\n },\n on: {\n treeExpanded: this.delayForcePopupAlign,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.setPopupRef,\n },\n ],\n });\n\n const Popup = isMultiple ? MultiplePopup : SinglePopup;\n const $popup = <Popup {...popupProps} />;\n\n const Selector = isMultiple ? MultipleSelector : SingleSelector;\n const $selector = (\n <Selector\n {...passProps}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.selectorRef,\n },\n ],\n }}\n />\n );\n const selectTriggerProps = mergeProps(passProps, {\n props: {\n popupElement: $popup,\n dropdownVisibleChange: this.onDropdownVisibleChange,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.selectTriggerRef,\n },\n ],\n });\n return <SelectTrigger {...selectTriggerProps}>{$selector}</SelectTrigger>;\n },\n};\n\nSelect.TreeNode = SelectNode;\nSelect.SHOW_ALL = SHOW_ALL;\nSelect.SHOW_PARENT = SHOW_PARENT;\nSelect.SHOW_CHILD = SHOW_CHILD;\n\n// Let warning show correct component name\nSelect.name = 'TreeSelect';\n\nexport default Select;\n","import Select from './Select';\nimport SelectNode from './SelectNode';\n\nexport { SHOW_ALL, SHOW_CHILD, SHOW_PARENT } from './strategies';\nexport const TreeNode = SelectNode;\n\nexport default Select;\n","// export this package's api\n// base 2.9.3\nimport Vue from 'vue';\nimport TreeSelect from './src';\nimport ref from 'vue-ref';\n\nVue.use(ref, { name: 'ant-ref' });\nexport default TreeSelect;\n\nexport { TreeNode, SHOW_ALL, SHOW_PARENT, SHOW_CHILD } from './src';\n","import VcTreeSelect, { TreeNode, SHOW_ALL, SHOW_PARENT, SHOW_CHILD } from '../vc-tree-select';\nimport classNames from 'classnames';\nimport { TreeSelectProps } from './interface';\nimport warning from '../_util/warning';\nimport {\n initDefaultProps,\n getOptionProps,\n getComponentFromProp,\n filterEmpty,\n getListeners,\n} from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\n\nexport { TreeData, TreeSelectProps } from './interface';\nimport Icon from '../icon';\nimport omit from 'omit.js';\n\nconst TreeSelect = {\n TreeNode: { ...TreeNode, name: 'ATreeSelectNode' },\n SHOW_ALL,\n SHOW_PARENT,\n SHOW_CHILD,\n name: 'ATreeSelect',\n props: initDefaultProps(TreeSelectProps(), {\n transitionName: 'slide-up',\n choiceTransitionName: 'zoom',\n showSearch: false,\n }),\n model: {\n prop: 'value',\n event: 'change',\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n created() {\n warning(\n this.multiple !== false || !this.treeCheckable,\n 'TreeSelect',\n '`multiple` will alway be `true` when `treeCheckable` is true',\n );\n },\n methods: {\n focus() {\n this.$refs.vcTreeSelect.focus();\n },\n\n blur() {\n this.$refs.vcTreeSelect.blur();\n },\n renderSwitcherIcon(prefixCls, { isLeaf, loading }) {\n if (loading) {\n return <Icon type=\"loading\" class={`${prefixCls}-switcher-loading-icon`} />;\n }\n if (isLeaf) {\n return null;\n }\n return <Icon type=\"caret-down\" class={`${prefixCls}-switcher-icon`} />;\n },\n onChange() {\n this.$emit('change', ...arguments);\n },\n updateTreeData(treeData) {\n const { $scopedSlots } = this;\n const defaultFields = {\n children: 'children',\n title: 'title',\n key: 'key',\n label: 'label',\n value: 'value',\n };\n const replaceFields = { ...defaultFields, ...this.$props.replaceFields };\n return treeData.map(item => {\n const { scopedSlots = {} } = item;\n const label = item[replaceFields.label];\n const title = item[replaceFields.title];\n const value = item[replaceFields.value];\n const key = item[replaceFields.key];\n const children = item[replaceFields.children];\n let newLabel = typeof label === 'function' ? label(this.$createElement) : label;\n let newTitle = typeof title === 'function' ? title(this.$createElement) : title;\n if (!newLabel && scopedSlots.label && $scopedSlots[scopedSlots.label]) {\n newLabel = $scopedSlots[scopedSlots.label](item);\n }\n if (!newTitle && scopedSlots.title && $scopedSlots[scopedSlots.title]) {\n newTitle = $scopedSlots[scopedSlots.title](item);\n }\n const treeNodeProps = {\n ...item,\n title: newTitle || newLabel,\n value,\n dataRef: item,\n key,\n };\n if (children) {\n return { ...treeNodeProps, children: this.updateTreeData(children) };\n }\n return treeNodeProps;\n });\n },\n },\n\n render(h) {\n const props = getOptionProps(this);\n const {\n prefixCls: customizePrefixCls,\n size,\n dropdownStyle,\n dropdownClassName,\n getPopupContainer,\n ...restProps\n } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('select', customizePrefixCls);\n\n const renderEmpty = this.configProvider.renderEmpty;\n const notFoundContent = getComponentFromProp(this, 'notFoundContent');\n const removeIcon = getComponentFromProp(this, 'removeIcon');\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const { getPopupContainer: getContextPopupContainer } = this.configProvider;\n const rest = omit(restProps, [\n 'inputIcon',\n 'removeIcon',\n 'clearIcon',\n 'switcherIcon',\n 'suffixIcon',\n ]);\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n let treeData = props.treeData;\n if (treeData) {\n treeData = this.updateTreeData(treeData);\n }\n const cls = {\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n };\n\n // showSearch: single - false, multiple - true\n let { showSearch } = restProps;\n if (!('showSearch' in restProps)) {\n showSearch = !!(restProps.multiple || restProps.treeCheckable);\n }\n\n let checkable = getComponentFromProp(this, 'treeCheckable');\n if (checkable) {\n checkable = <span class={`${prefixCls}-tree-checkbox-inner`} />;\n }\n\n const inputIcon = suffixIcon || <Icon type=\"down\" class={`${prefixCls}-arrow-icon`} />;\n\n const finalRemoveIcon = removeIcon || <Icon type=\"close\" class={`${prefixCls}-remove-icon`} />;\n\n const finalClearIcon = clearIcon || (\n <Icon type=\"close-circle\" class={`${prefixCls}-clear-icon`} theme=\"filled\" />\n );\n const VcTreeSelectProps = {\n props: Object.assign(\n {\n switcherIcon: nodeProps => this.renderSwitcherIcon(prefixCls, nodeProps),\n inputIcon,\n removeIcon: finalRemoveIcon,\n clearIcon: finalClearIcon,\n ...rest,\n showSearch,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n dropdownClassName: classNames(dropdownClassName, `${prefixCls}-tree-dropdown`),\n prefixCls,\n dropdownStyle: { maxHeight: '100vh', overflow: 'auto', ...dropdownStyle },\n treeCheckable: checkable,\n notFoundContent: notFoundContent || renderEmpty(h, 'Select'),\n __propsSymbol__: Symbol(),\n },\n treeData ? { treeData } : {},\n ),\n class: cls,\n on: { ...getListeners(this), change: this.onChange },\n ref: 'vcTreeSelect',\n scopedSlots: this.$scopedSlots,\n };\n return <VcTreeSelect {...VcTreeSelectProps}>{filterEmpty(this.$slots.default)}</VcTreeSelect>;\n },\n};\n\n/* istanbul ignore next */\nTreeSelect.install = function(Vue) {\n Vue.use(Base);\n Vue.component(TreeSelect.name, TreeSelect);\n Vue.component(TreeSelect.TreeNode.name, TreeSelect.TreeNode);\n};\n\nexport default TreeSelect;\n","import PropTypes from '../_util/vue-types';\nimport { AbstractSelectProps } from '../select';\n\nexport const TreeData = PropTypes.shape({\n key: PropTypes.string,\n value: PropTypes.string,\n label: PropTypes.any,\n scopedSlots: PropTypes.object,\n children: PropTypes.array,\n}).loose;\n\nexport const TreeSelectProps = () => ({\n ...AbstractSelectProps(),\n autoFocus: PropTypes.bool,\n dropdownStyle: PropTypes.object,\n filterTreeNode: PropTypes.oneOfType([Function, Boolean]),\n getPopupContainer: PropTypes.func,\n labelInValue: PropTypes.bool,\n loadData: PropTypes.func,\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.any,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.array,\n PropTypes.number,\n ]),\n defaultValue: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.array,\n PropTypes.number,\n ]),\n multiple: PropTypes.bool,\n notFoundContent: PropTypes.any,\n // onSelect: (value: any) => void,\n // onChange: (value: any, label: any) => void,\n // onSearch: (value: any) => void,\n searchPlaceholder: PropTypes.string,\n searchValue: PropTypes.string,\n showCheckedStrategy: PropTypes.oneOf(['SHOW_ALL', 'SHOW_PARENT', 'SHOW_CHILD']),\n suffixIcon: PropTypes.any,\n treeCheckable: PropTypes.oneOfType([PropTypes.any, PropTypes.bool]),\n treeCheckStrictly: PropTypes.bool,\n treeData: PropTypes.arrayOf(Object),\n treeDataSimpleMode: PropTypes.oneOfType([Boolean, Object]),\n\n dropdownClassName: PropTypes.string,\n dropdownMatchSelectWidth: PropTypes.bool,\n treeDefaultExpandAll: PropTypes.bool,\n treeExpandedKeys: PropTypes.array,\n treeIcon: PropTypes.bool,\n treeDefaultExpandedKeys: PropTypes.array,\n treeNodeFilterProp: PropTypes.string,\n treeNodeLabelProp: PropTypes.string,\n replaceFields: PropTypes.object.def({}),\n});\n","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport {\n getOptionProps,\n initDefaultProps,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport const TimeLineItemProps = {\n prefixCls: PropTypes.string,\n color: PropTypes.string,\n dot: PropTypes.any,\n pending: PropTypes.bool,\n position: PropTypes.oneOf(['left', 'right', '']).def(''),\n};\n\nexport default {\n name: 'ATimelineItem',\n props: initDefaultProps(TimeLineItemProps, {\n color: 'blue',\n pending: false,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render() {\n const { prefixCls: customizePrefixCls, color = '', pending } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('timeline', customizePrefixCls);\n\n const dot = getComponentFromProp(this, 'dot');\n const itemClassName = classNames({\n [`${prefixCls}-item`]: true,\n [`${prefixCls}-item-pending`]: pending,\n });\n\n const dotClassName = classNames({\n [`${prefixCls}-item-head`]: true,\n [`${prefixCls}-item-head-custom`]: dot,\n [`${prefixCls}-item-head-${color}`]: true,\n });\n const liProps = {\n class: itemClassName,\n on: getListeners(this),\n };\n return (\n <li {...liProps}>\n <div class={`${prefixCls}-item-tail`} />\n <div\n class={dotClassName}\n style={{ borderColor: /blue|red|green|gray/.test(color) ? undefined : color }}\n >\n {dot}\n </div>\n <div class={`${prefixCls}-item-content`}>{this.$slots.default}</div>\n </li>\n );\n },\n};\n","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport {\n getOptionProps,\n getPropsData,\n initDefaultProps,\n filterEmpty,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport TimelineItem from './TimelineItem';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport const TimelineProps = {\n prefixCls: PropTypes.string,\n /** 指定最后一个幽灵节点是否存在或内容 */\n pending: PropTypes.any,\n pendingDot: PropTypes.string,\n reverse: PropTypes.bool,\n mode: PropTypes.oneOf(['left', 'alternate', 'right', '']),\n};\n\nexport default {\n name: 'ATimeline',\n props: initDefaultProps(TimelineProps, {\n reverse: false,\n mode: '',\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render() {\n const { prefixCls: customizePrefixCls, reverse, mode, ...restProps } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('timeline', customizePrefixCls);\n\n const pendingDot = getComponentFromProp(this, 'pendingDot');\n const pending = getComponentFromProp(this, 'pending');\n const pendingNode = typeof pending === 'boolean' ? null : pending;\n const classString = classNames(prefixCls, {\n [`${prefixCls}-pending`]: !!pending,\n [`${prefixCls}-reverse`]: !!reverse,\n [`${prefixCls}-${mode}`]: !!mode,\n });\n const children = filterEmpty(this.$slots.default);\n // // Remove falsy items\n // const falsylessItems = filterEmpty(this.$slots.default)\n // const items = falsylessItems.map((item, idx) => {\n // return cloneElement(item, {\n // props: {\n // last: falsylessItems.length - 1 === idx,\n // },\n // })\n // })\n const pendingItem = pending ? (\n <TimelineItem pending={!!pending}>\n <template slot=\"dot\">{pendingDot || <Icon type=\"loading\" />}</template>\n {pendingNode}\n </TimelineItem>\n ) : null;\n\n const timeLineItems = reverse\n ? [pendingItem, ...children.reverse()]\n : [...children, pendingItem];\n\n const getPositionCls = (ele, idx) => {\n const eleProps = getPropsData(ele);\n if (mode === 'alternate') {\n if (eleProps.position === 'right') return `${prefixCls}-item-right`;\n if (eleProps.position === 'left') return `${prefixCls}-item-left`;\n return idx % 2 === 0 ? `${prefixCls}-item-left` : `${prefixCls}-item-right`;\n }\n if (mode === 'left') return `${prefixCls}-item-left`;\n if (mode === 'right') return `${prefixCls}-item-right`;\n if (eleProps.position === 'right') return `${prefixCls}-item-right`;\n return '';\n };\n\n // Remove falsy items\n const truthyItems = timeLineItems.filter(item => !!item);\n const itemsCount = truthyItems.length;\n const lastCls = `${prefixCls}-item-last`;\n const items = truthyItems.map((ele, idx) => {\n const pendingClass = idx === itemsCount - 2 ? lastCls : '';\n const readyClass = idx === itemsCount - 1 ? lastCls : '';\n return cloneElement(ele, {\n class: classNames([\n !reverse && !!pending ? pendingClass : readyClass,\n getPositionCls(ele, idx),\n ]),\n });\n });\n\n const timelineProps = {\n props: {\n ...restProps,\n },\n class: classString,\n on: getListeners(this),\n };\n return <ul {...timelineProps}>{items}</ul>;\n },\n};\n","import Timeline from './Timeline';\nimport TimelineItem from './TimelineItem';\nimport Base from '../base';\n\nexport { TimelineProps } from './Timeline';\nexport { TimeLineItemProps } from './TimelineItem';\n\nTimeline.Item = TimelineItem;\n\n/* istanbul ignore next */\nTimeline.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Timeline.name, Timeline);\n Vue.component(TimelineItem.name, TimelineItem);\n};\n\nexport default Timeline;\n","import Upload from './Upload';\nimport Dragger from './Dragger';\nimport Base from '../base';\n\nexport { UploadProps, UploadListProps, UploadChangeParam } from './interface';\n\nUpload.Dragger = Dragger;\n\n/* istanbul ignore next */\nUpload.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Upload.name, Upload);\n Vue.component(Dragger.name, Dragger);\n};\n\nexport default Upload;\n","import packageInfo from '../../package.json';\n\nexport default packageInfo.version;\n","import PropTypes from '../../_util/vue-types';\n\nconst IProps = {\n width: PropTypes.any,\n height: PropTypes.any,\n defaultOpen: PropTypes.bool,\n firstEnter: PropTypes.bool,\n open: PropTypes.bool,\n prefixCls: PropTypes.string,\n placement: PropTypes.string,\n level: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n levelMove: PropTypes.oneOfType([PropTypes.number, PropTypes.func, PropTypes.array]),\n ease: PropTypes.string,\n duration: PropTypes.string,\n handler: PropTypes.any,\n showMask: PropTypes.bool,\n maskStyle: PropTypes.object,\n className: PropTypes.string,\n wrapStyle: PropTypes.object,\n maskClosable: PropTypes.bool,\n afterVisibleChange: PropTypes.func,\n keyboard: PropTypes.bool,\n};\n\nconst IDrawerProps = {\n ...IProps,\n wrapperClassName: PropTypes.string,\n forceRender: PropTypes.bool,\n getContainer: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.object,\n PropTypes.bool,\n ]),\n};\n\nconst IDrawerChildProps = {\n ...IProps,\n getContainer: PropTypes.func,\n getOpenCount: PropTypes.func,\n switchScrollingEffect: PropTypes.func,\n};\n\nexport { IDrawerProps, IDrawerChildProps };\n","export function dataToArray(vars) {\n if (Array.isArray(vars)) {\n return vars;\n }\n return [vars];\n}\nconst transitionEndObject = {\n transition: 'transitionend',\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'oTransitionEnd otransitionend',\n};\nexport const transitionStr = Object.keys(transitionEndObject).filter(key => {\n if (typeof document === 'undefined') {\n return false;\n }\n const html = document.getElementsByTagName('html')[0];\n return key in (html ? html.style : {});\n})[0];\nexport const transitionEnd = transitionEndObject[transitionStr];\n\nexport function addEventListener(target, eventType, callback, options) {\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, options);\n } else if (target.attachEvent) {\n target.attachEvent(`on${eventType}`, callback);\n }\n}\n\nexport function removeEventListener(target, eventType, callback, options) {\n if (target.removeEventListener) {\n target.removeEventListener(eventType, callback, options);\n } else if (target.attachEvent) {\n target.detachEvent(`on${eventType}`, callback);\n }\n}\n\nexport function transformArguments(arg, cb) {\n let result;\n if (typeof arg === 'function') {\n result = arg(cb);\n } else {\n result = arg;\n }\n if (Array.isArray(result)) {\n if (result.length === 2) {\n return result;\n }\n return [result[0], result[1]];\n }\n return [result];\n}\n\nexport const isNumeric = value => {\n return !isNaN(parseFloat(value)) && isFinite(value); // eslint-disable-line\n};\n\nexport const windowIsUndefined = !(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nexport const getTouchParentScroll = (root, currentTarget, differX, differY) => {\n if (!currentTarget || currentTarget === document || currentTarget instanceof Document) {\n return false;\n }\n // root 为 drawer-content 设定了 overflow, 判断为 root 的 parent 时结束滚动;\n if (currentTarget === root.parentNode) {\n return true;\n }\n\n const isY = Math.max(Math.abs(differX), Math.abs(differY)) === Math.abs(differY);\n const isX = Math.max(Math.abs(differX), Math.abs(differY)) === Math.abs(differX);\n\n const scrollY = currentTarget.scrollHeight - currentTarget.clientHeight;\n const scrollX = currentTarget.scrollWidth - currentTarget.clientWidth;\n\n const style = document.defaultView.getComputedStyle(currentTarget);\n const overflowY = style.overflowY === 'auto' || style.overflowY === 'scroll';\n const overflowX = style.overflowX === 'auto' || style.overflowX === 'scroll';\n\n const y = scrollY && overflowY;\n const x = scrollX && overflowX;\n\n if (\n (isY &&\n (!y ||\n (y &&\n ((currentTarget.scrollTop >= scrollY && differY < 0) ||\n (currentTarget.scrollTop <= 0 && differY > 0))))) ||\n (isX &&\n (!x ||\n (x &&\n ((currentTarget.scrollLeft >= scrollX && scrollX < 0) ||\n (currentTarget.scrollLeft <= 0 && scrollX > 0)))))\n ) {\n return getTouchParentScroll(root, currentTarget.parentNode, differX, differY);\n }\n return false;\n};\n","import classnames from 'classnames';\nimport Vue from 'vue';\nimport ref from 'vue-ref';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { initDefaultProps, getEvents, getListeners } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport getScrollBarSize from '../../_util/getScrollBarSize';\nimport { IDrawerProps } from './IDrawerPropTypes';\nimport KeyCode from '../../_util/KeyCode';\nimport {\n dataToArray,\n transitionEnd,\n transitionStr,\n addEventListener,\n removeEventListener,\n transformArguments,\n isNumeric,\n} from './utils';\nimport Portal from '../../_util/Portal';\n\nfunction noop() {}\n\nconst currentDrawer = {};\nconst windowIsUndefined = !(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nVue.use(ref, { name: 'ant-ref' });\nconst Drawer = {\n mixins: [BaseMixin],\n props: initDefaultProps(IDrawerProps, {\n prefixCls: 'drawer',\n placement: 'left',\n getContainer: 'body',\n level: 'all',\n duration: '.3s',\n ease: 'cubic-bezier(0.78, 0.14, 0.15, 0.86)',\n firstEnter: false, // 记录首次进入.\n showMask: true,\n handler: true,\n maskStyle: {},\n wrapperClassName: '',\n className: '',\n }),\n data() {\n this.levelDom = [];\n this.contentDom = null;\n this.maskDom = null;\n this.handlerdom = null;\n this.mousePos = null;\n this.sFirstEnter = this.firstEnter;\n this.timeout = null;\n this.children = null;\n this.drawerId = Number(\n (Date.now() + Math.random()).toString().replace('.', Math.round(Math.random() * 9)),\n ).toString(16);\n const open = this.open !== undefined ? this.open : !!this.defaultOpen;\n currentDrawer[this.drawerId] = open;\n this.orignalOpen = this.open;\n this.preProps = { ...this.$props };\n return {\n sOpen: open,\n };\n },\n mounted() {\n this.$nextTick(() => {\n if (!windowIsUndefined) {\n let passiveSupported = false;\n window.addEventListener(\n 'test',\n null,\n Object.defineProperty({}, 'passive', {\n get: () => {\n passiveSupported = true;\n return null;\n },\n }),\n );\n this.passive = passiveSupported ? { passive: false } : false;\n }\n const open = this.getOpen();\n if (this.handler || open || this.sFirstEnter) {\n this.getDefault(this.$props);\n if (open) {\n this.isOpenChange = true;\n this.$nextTick(() => {\n this.domFocus();\n });\n }\n this.$forceUpdate();\n }\n });\n },\n watch: {\n open(val) {\n if (val !== undefined && val !== this.preProps.open) {\n this.isOpenChange = true;\n // 没渲染 dom 时,获取默认数据;\n if (!this.container) {\n this.getDefault(this.$props);\n }\n this.setState({\n sOpen: open,\n });\n }\n this.preProps.open = val;\n if (val) {\n this.$nextTick(() => {\n this.domFocus();\n });\n }\n },\n placement(val) {\n if (val !== this.preProps.placement) {\n // test 的 bug, 有动画过场,删除 dom\n this.contentDom = null;\n }\n this.preProps.placement = val;\n },\n level(val) {\n if (this.preProps.level !== val) {\n this.getParentAndLevelDom(this.$props);\n }\n this.preProps.level = val;\n },\n },\n updated() {\n this.$nextTick(() => {\n // dom 没渲染时,重走一遍。\n if (!this.sFirstEnter && this.container) {\n this.$forceUpdate();\n this.sFirstEnter = true;\n }\n });\n },\n beforeDestroy() {\n delete currentDrawer[this.drawerId];\n delete this.isOpenChange;\n if (this.container) {\n if (this.sOpen) {\n this.setLevelDomTransform(false, true);\n }\n document.body.style.overflow = '';\n }\n this.sFirstEnter = false;\n clearTimeout(this.timeout);\n },\n methods: {\n domFocus() {\n if (this.dom) {\n this.dom.focus();\n }\n },\n onKeyDown(e) {\n if (e.keyCode === KeyCode.ESC) {\n e.stopPropagation();\n this.$emit('close', e);\n }\n },\n onMaskTouchEnd(e) {\n this.$emit('close', e);\n this.onTouchEnd(e, true);\n },\n onIconTouchEnd(e) {\n this.$emit('handleClick', e);\n this.onTouchEnd(e);\n },\n onTouchEnd(e, close) {\n if (this.open !== undefined) {\n return;\n }\n const open = close || this.sOpen;\n this.isOpenChange = true;\n this.setState({\n sOpen: !open,\n });\n },\n onWrapperTransitionEnd(e) {\n if (e.target === this.contentWrapper && e.propertyName.match(/transform$/)) {\n const open = this.getOpen();\n this.dom.style.transition = '';\n if (!open && this.getCurrentDrawerSome()) {\n document.body.style.overflowX = '';\n if (this.maskDom) {\n this.maskDom.style.left = '';\n this.maskDom.style.width = '';\n }\n }\n if (this.afterVisibleChange) {\n this.afterVisibleChange(!!open);\n }\n }\n },\n getDefault(props) {\n this.getParentAndLevelDom(props);\n if (props.getContainer || props.parent) {\n this.container = this.defaultGetContainer();\n }\n },\n getCurrentDrawerSome() {\n return !Object.keys(currentDrawer).some(key => currentDrawer[key]);\n },\n getSelfContainer() {\n return this.container;\n },\n getParentAndLevelDom(props) {\n if (windowIsUndefined) {\n return;\n }\n const { level, getContainer } = props;\n this.levelDom = [];\n if (getContainer) {\n if (typeof getContainer === 'string') {\n const dom = document.querySelectorAll(getContainer)[0];\n this.parent = dom;\n }\n if (typeof getContainer === 'function') {\n this.parent = getContainer();\n }\n if (typeof getContainer === 'object' && getContainer instanceof window.HTMLElement) {\n this.parent = getContainer;\n }\n }\n if (!getContainer && this.container) {\n this.parent = this.container.parentNode;\n }\n if (level === 'all') {\n const children = Array.prototype.slice.call(this.parent.children);\n children.forEach(child => {\n if (\n child.nodeName !== 'SCRIPT' &&\n child.nodeName !== 'STYLE' &&\n child.nodeName !== 'LINK' &&\n child !== this.container\n ) {\n this.levelDom.push(child);\n }\n });\n } else if (level) {\n dataToArray(level).forEach(key => {\n document.querySelectorAll(key).forEach(item => {\n this.levelDom.push(item);\n });\n });\n }\n },\n setLevelDomTransform(open, openTransition, placementName, value) {\n const { placement, levelMove, duration, ease, getContainer } = this.$props;\n if (!windowIsUndefined) {\n this.levelDom.forEach(dom => {\n if (this.isOpenChange || openTransition) {\n /* eslint no-param-reassign: \"error\" */\n dom.style.transition = `transform ${duration} ${ease}`;\n addEventListener(dom, transitionEnd, this.trnasitionEnd);\n let levelValue = open ? value : 0;\n if (levelMove) {\n const $levelMove = transformArguments(levelMove, { target: dom, open });\n levelValue = open ? $levelMove[0] : $levelMove[1] || 0;\n }\n const $value = typeof levelValue === 'number' ? `${levelValue}px` : levelValue;\n const placementPos =\n placement === 'left' || placement === 'top' ? $value : `-${$value}`;\n dom.style.transform = levelValue ? `${placementName}(${placementPos})` : '';\n dom.style.msTransform = levelValue ? `${placementName}(${placementPos})` : '';\n }\n });\n // 处理 body 滚动\n if (getContainer === 'body') {\n const eventArray = ['touchstart'];\n const domArray = [document.body, this.maskDom, this.handlerdom, this.contentDom];\n const right =\n document.body.scrollHeight >\n (window.innerHeight || document.documentElement.clientHeight) &&\n window.innerWidth > document.body.offsetWidth\n ? getScrollBarSize(1)\n : 0;\n let widthTransition = `width ${duration} ${ease}`;\n const trannsformTransition = `transform ${duration} ${ease}`;\n if (open && document.body.style.overflow !== 'hidden') {\n document.body.style.overflow = 'hidden';\n if (right) {\n document.body.style.position = 'relative';\n document.body.style.width = `calc(100% - ${right}px)`;\n this.dom.style.transition = 'none';\n switch (placement) {\n case 'right':\n this.dom.style.transform = `translateX(-${right}px)`;\n this.dom.style.msTransform = `translateX(-${right}px)`;\n break;\n case 'top':\n case 'bottom':\n this.dom.style.width = `calc(100% - ${right}px)`;\n this.dom.style.transform = 'translateZ(0)';\n break;\n default:\n break;\n }\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n this.dom.style.transition = `${trannsformTransition},${widthTransition}`;\n this.dom.style.width = '';\n this.dom.style.transform = '';\n this.dom.style.msTransform = '';\n });\n }\n // 手机禁滚\n domArray.forEach((item, i) => {\n if (!item) {\n return;\n }\n addEventListener(\n item,\n eventArray[i] || 'touchmove',\n i ? this.removeMoveHandler : this.removeStartHandler,\n this.passive,\n );\n });\n } else if (this.getCurrentDrawerSome()) {\n document.body.style.overflow = '';\n if ((this.isOpenChange || openTransition) && right) {\n document.body.style.position = '';\n document.body.style.width = '';\n if (transitionStr) {\n document.body.style.overflowX = 'hidden';\n }\n this.dom.style.transition = 'none';\n let heightTransition;\n switch (placement) {\n case 'right': {\n this.dom.style.transform = `translateX(${right}px)`;\n this.dom.style.msTransform = `translateX(${right}px)`;\n this.dom.style.width = '100%';\n widthTransition = `width 0s ${ease} ${duration}`;\n if (this.maskDom) {\n this.maskDom.style.left = `-${right}px`;\n this.maskDom.style.width = `calc(100% + ${right}px)`;\n }\n break;\n }\n case 'top':\n case 'bottom': {\n this.dom.style.width = `calc(100% + ${right}px)`;\n this.dom.style.height = '100%';\n this.dom.style.transform = 'translateZ(0)';\n heightTransition = `height 0s ${ease} ${duration}`;\n break;\n }\n default:\n break;\n }\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n this.dom.style.transition = `${trannsformTransition},${\n heightTransition ? `${heightTransition},` : ''\n }${widthTransition}`;\n this.dom.style.transform = '';\n this.dom.style.msTransform = '';\n this.dom.style.width = '';\n this.dom.style.height = '';\n });\n }\n domArray.forEach((item, i) => {\n if (!item) {\n return;\n }\n removeEventListener(\n item,\n eventArray[i] || 'touchmove',\n i ? this.removeMoveHandler : this.removeStartHandler,\n this.passive,\n );\n });\n }\n }\n }\n const { change } = getListeners(this);\n if (change && this.isOpenChange && this.sFirstEnter) {\n change(open);\n this.isOpenChange = false;\n }\n },\n getChildToRender(open) {\n const {\n className,\n prefixCls,\n placement,\n handler,\n showMask,\n maskStyle,\n width,\n height,\n wrapStyle,\n keyboard,\n maskClosable,\n } = this.$props;\n const children = this.$slots.default;\n const wrapperClassname = classnames(prefixCls, {\n [`${prefixCls}-${placement}`]: true,\n [`${prefixCls}-open`]: open,\n [className]: !!className,\n 'no-mask': !showMask,\n });\n const isOpenChange = this.isOpenChange;\n const isHorizontal = placement === 'left' || placement === 'right';\n const placementName = `translate${isHorizontal ? 'X' : 'Y'}`;\n // 百分比与像素动画不同步,第一次打用后全用像素动画。\n // const defaultValue = !this.contentDom || !level ? '100%' : `${value}px`;\n const placementPos = placement === 'left' || placement === 'top' ? '-100%' : '100%';\n const transform = open ? '' : `${placementName}(${placementPos})`;\n if (isOpenChange === undefined || isOpenChange) {\n const contentValue = this.contentDom\n ? this.contentDom.getBoundingClientRect()[isHorizontal ? 'width' : 'height']\n : 0;\n const value = (isHorizontal ? width : height) || contentValue;\n this.setLevelDomTransform(open, false, placementName, value);\n }\n let handlerChildren;\n if (handler !== false) {\n const handlerDefalut = (\n <div class=\"drawer-handle\">\n <i class=\"drawer-handle-icon\" />\n </div>\n );\n const { handler: handlerSlot } = this;\n const handlerSlotVnode = (handlerSlot && handlerSlot[0]) || handlerDefalut;\n const { click: handleIconClick } = getEvents(handlerSlotVnode);\n handlerChildren = cloneElement(handlerSlotVnode, {\n on: {\n click: e => {\n handleIconClick && handleIconClick();\n this.onIconTouchEnd(e);\n },\n },\n directives: [\n {\n name: 'ant-ref',\n value: c => {\n this.handlerdom = c;\n },\n },\n ],\n });\n }\n const domContProps = {\n class: wrapperClassname,\n directives: [\n {\n name: 'ant-ref',\n value: c => {\n this.dom = c;\n },\n },\n ],\n on: {\n transitionend: this.onWrapperTransitionEnd,\n keydown: open && keyboard ? this.onKeyDown : noop,\n },\n style: wrapStyle,\n };\n const directivesMaskDom = [\n {\n name: 'ant-ref',\n value: c => {\n this.maskDom = c;\n },\n },\n ];\n const directivesContentWrapper = [\n {\n name: 'ant-ref',\n value: c => {\n this.contentWrapper = c;\n },\n },\n ];\n const directivesContentDom = [\n {\n name: 'ant-ref',\n value: c => {\n this.contentDom = c;\n },\n },\n ];\n return (\n <div {...domContProps} tabIndex={-1}>\n {showMask && (\n <div\n key={open} // 第二次渲染时虚拟DOM没有改变,没有出发dom更新,使用key强制更新 https://github.com/vueComponent/ant-design-vue/issues/2407\n class={`${prefixCls}-mask`}\n onClick={maskClosable ? this.onMaskTouchEnd : noop}\n style={maskStyle}\n {...{ directives: directivesMaskDom }}\n />\n )}\n <div\n class={`${prefixCls}-content-wrapper`}\n style={{\n transform,\n msTransform: transform,\n width: isNumeric(width) ? `${width}px` : width,\n height: isNumeric(height) ? `${height}px` : height,\n }}\n {...{ directives: directivesContentWrapper }}\n >\n <div\n class={`${prefixCls}-content`}\n {...{ directives: directivesContentDom }}\n onTouchstart={open ? this.removeStartHandler : noop} // 跑用例用\n onTouchmove={open ? this.removeMoveHandler : noop} // 跑用例用\n >\n {children}\n </div>\n {handlerChildren}\n </div>\n </div>\n );\n },\n getOpen() {\n return this.open !== undefined ? this.open : this.sOpen;\n },\n getTouchParentScroll(root, currentTarget, differX, differY) {\n if (!currentTarget || currentTarget === document) {\n return false;\n }\n // root 为 drawer-content 设定了 overflow, 判断为 root 的 parent 时结束滚动;\n if (currentTarget === root.parentNode) {\n return true;\n }\n\n const isY = Math.max(Math.abs(differX), Math.abs(differY)) === Math.abs(differY);\n const isX = Math.max(Math.abs(differX), Math.abs(differY)) === Math.abs(differX);\n\n const scrollY = currentTarget.scrollHeight - currentTarget.clientHeight;\n const scrollX = currentTarget.scrollWidth - currentTarget.clientWidth;\n /**\n * <div style=\"height: 300px\">\n * <div style=\"height: 900px\"></div>\n * </div>\n * 在没设定 overflow: auto 或 scroll 时,currentTarget 里获取不到 scrollTop 或 scrollLeft,\n * 预先用 scrollTo 来滚动,如果取出的值跟滚动前取出不同,则 currnetTarget 被设定了 overflow; 否则就是上面这种。\n */\n const t = currentTarget.scrollTop;\n const l = currentTarget.scrollLeft;\n if (currentTarget.scrollTo) {\n currentTarget.scrollTo(currentTarget.scrollLeft + 1, currentTarget.scrollTop + 1);\n }\n const currentT = currentTarget.scrollTop;\n const currentL = currentTarget.scrollLeft;\n if (currentTarget.scrollTo) {\n currentTarget.scrollTo(currentTarget.scrollLeft - 1, currentTarget.scrollTop - 1);\n }\n if (\n (isY &&\n (!scrollY ||\n !(currentT - t) ||\n (scrollY &&\n ((currentTarget.scrollTop >= scrollY && differY < 0) ||\n (currentTarget.scrollTop <= 0 && differY > 0))))) ||\n (isX &&\n (!scrollX ||\n !(currentL - l) ||\n (scrollX &&\n ((currentTarget.scrollLeft >= scrollX && differX < 0) ||\n (currentTarget.scrollLeft <= 0 && differX > 0)))))\n ) {\n return this.getTouchParentScroll(root, currentTarget.parentNode, differX, differY);\n }\n return false;\n },\n removeStartHandler(e) {\n if (e.touches.length > 1) {\n return;\n }\n this.startPos = {\n x: e.touches[0].clientX,\n y: e.touches[0].clientY,\n };\n },\n removeMoveHandler(e) {\n if (e.changedTouches.length > 1) {\n return;\n }\n const currentTarget = e.currentTarget;\n const differX = e.changedTouches[0].clientX - this.startPos.x;\n const differY = e.changedTouches[0].clientY - this.startPos.y;\n if (\n currentTarget === this.maskDom ||\n currentTarget === this.handlerdom ||\n (currentTarget === this.contentDom &&\n this.getTouchParentScroll(currentTarget, e.target, differX, differY))\n ) {\n e.preventDefault();\n }\n },\n trnasitionEnd(e) {\n removeEventListener(e.target, transitionEnd, this.trnasitionEnd);\n e.target.style.transition = '';\n },\n defaultGetContainer() {\n if (windowIsUndefined) {\n return null;\n }\n const container = document.createElement('div');\n this.parent.appendChild(container);\n if (this.wrapperClassName) {\n container.className = this.wrapperClassName;\n }\n return container;\n },\n },\n\n render() {\n const { getContainer, wrapperClassName, handler, forceRender } = this.$props;\n const open = this.getOpen();\n let portal = null;\n currentDrawer[this.drawerId] = open ? this.container : open;\n const children = this.getChildToRender(this.sFirstEnter ? open : false);\n if (!getContainer) {\n const directives = [\n {\n name: 'ant-ref',\n value: c => {\n this.container = c;\n },\n },\n ];\n return (\n <div class={wrapperClassName} {...{ directives }}>\n {children}\n </div>\n );\n }\n if (!this.container || (!open && !this.sFirstEnter)) {\n return null;\n }\n // 如果有 handler 为内置强制渲染;\n const $forceRender = !!handler || forceRender;\n if ($forceRender || open || this.dom) {\n portal = <Portal getContainer={this.getSelfContainer} children={children}></Portal>;\n }\n return portal;\n },\n};\n\nexport default Drawer;\n","// base in 1.7.7\n// export this package's api\nimport Drawer from './Drawer';\n\nexport default Drawer;\n","import classnames from 'classnames';\nimport omit from 'omit.js';\nimport VcDrawer from '../vc-drawer/src';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport Icon from '../icon';\nimport { getComponentFromProp, getOptionProps, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\n\nconst Drawer = {\n name: 'ADrawer',\n props: {\n closable: PropTypes.bool.def(true),\n destroyOnClose: PropTypes.bool,\n getContainer: PropTypes.any,\n maskClosable: PropTypes.bool.def(true),\n mask: PropTypes.bool.def(true),\n maskStyle: PropTypes.object,\n wrapStyle: PropTypes.object,\n bodyStyle: PropTypes.object,\n headerStyle: PropTypes.object,\n drawerStyle: PropTypes.object,\n title: PropTypes.any,\n visible: PropTypes.bool,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).def(256),\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).def(256),\n zIndex: PropTypes.number,\n prefixCls: PropTypes.string,\n placement: PropTypes.oneOf(['top', 'right', 'bottom', 'left']).def('right'),\n level: PropTypes.any.def(null),\n wrapClassName: PropTypes.string, // not use class like react, vue will add class to root dom\n handle: PropTypes.any,\n afterVisibleChange: PropTypes.func,\n keyboard: PropTypes.bool.def(true),\n },\n mixins: [BaseMixin],\n data() {\n this.destroyClose = false;\n this.preVisible = this.$props.visible;\n return {\n _push: false,\n };\n },\n inject: {\n parentDrawer: {\n default: () => null,\n },\n configProvider: { default: () => ConfigConsumerProps },\n },\n provide() {\n return {\n parentDrawer: this,\n };\n },\n mounted() {\n // fix: delete drawer in child and re-render, no push started.\n // <Drawer>{show && <Drawer />}</Drawer>\n const { visible } = this;\n if (visible && this.parentDrawer) {\n this.parentDrawer.push();\n }\n },\n updated() {\n this.$nextTick(() => {\n if (this.preVisible !== this.visible && this.parentDrawer) {\n if (this.visible) {\n this.parentDrawer.push();\n } else {\n this.parentDrawer.pull();\n }\n }\n this.preVisible = this.visible;\n });\n },\n beforeDestroy() {\n // unmount drawer in child, clear push.\n if (this.parentDrawer) {\n this.parentDrawer.pull();\n }\n },\n methods: {\n domFocus() {\n if (this.$refs.vcDrawer) {\n this.$refs.vcDrawer.domFocus();\n }\n },\n close(e) {\n this.$emit('close', e);\n },\n // onMaskClick(e) {\n // if (!this.maskClosable) {\n // return;\n // }\n // this.close(e);\n // },\n push() {\n this.setState({\n _push: true,\n });\n },\n pull() {\n this.setState(\n {\n _push: false,\n },\n () => {\n this.domFocus();\n },\n );\n },\n onDestroyTransitionEnd() {\n const isDestroyOnClose = this.getDestroyOnClose();\n if (!isDestroyOnClose) {\n return;\n }\n if (!this.visible) {\n this.destroyClose = true;\n this.$forceUpdate();\n }\n },\n\n getDestroyOnClose() {\n return this.destroyOnClose && !this.visible;\n },\n // get drawar push width or height\n getPushTransform(placement) {\n if (placement === 'left' || placement === 'right') {\n return `translateX(${placement === 'left' ? 180 : -180}px)`;\n }\n if (placement === 'top' || placement === 'bottom') {\n return `translateY(${placement === 'top' ? 180 : -180}px)`;\n }\n },\n getRcDrawerStyle() {\n const { zIndex, placement, wrapStyle } = this.$props;\n const { _push: push } = this.$data;\n return {\n zIndex,\n transform: push ? this.getPushTransform(placement) : undefined,\n ...wrapStyle,\n };\n },\n renderHeader(prefixCls) {\n const { closable, headerStyle } = this.$props;\n const title = getComponentFromProp(this, 'title');\n if (!title && !closable) {\n return null;\n }\n\n const headerClassName = title ? `${prefixCls}-header` : `${prefixCls}-header-no-title`;\n return (\n <div class={headerClassName} style={headerStyle}>\n {title && <div class={`${prefixCls}-title`}>{title}</div>}\n {closable ? this.renderCloseIcon(prefixCls) : null}\n </div>\n );\n },\n renderCloseIcon(prefixCls) {\n const { closable } = this;\n return (\n closable && (\n <button key=\"closer\" onClick={this.close} aria-label=\"Close\" class={`${prefixCls}-close`}>\n <Icon type=\"close\" />\n </button>\n )\n );\n },\n // render drawer body dom\n renderBody(prefixCls) {\n if (this.destroyClose && !this.visible) {\n return null;\n }\n this.destroyClose = false;\n const { bodyStyle, drawerStyle } = this.$props;\n\n const containerStyle = {};\n\n const isDestroyOnClose = this.getDestroyOnClose();\n if (isDestroyOnClose) {\n // Increase the opacity transition, delete children after closing.\n containerStyle.opacity = 0;\n containerStyle.transition = 'opacity .3s';\n }\n\n return (\n <div\n class={`${prefixCls}-wrapper-body`}\n style={{ ...containerStyle, ...drawerStyle }}\n onTransitionend={this.onDestroyTransitionEnd}\n >\n {this.renderHeader(prefixCls)}\n <div key=\"body\" class={`${prefixCls}-body`} style={bodyStyle}>\n {this.$slots.default}\n </div>\n </div>\n );\n },\n },\n render() {\n const props = getOptionProps(this);\n const {\n prefixCls: customizePrefixCls,\n width,\n height,\n visible,\n placement,\n wrapClassName,\n mask,\n ...rest\n } = props;\n const haveMask = mask ? '' : 'no-mask';\n const offsetStyle = {};\n if (placement === 'left' || placement === 'right') {\n offsetStyle.width = typeof width === 'number' ? `${width}px` : width;\n } else {\n offsetStyle.height = typeof height === 'number' ? `${height}px` : height;\n }\n const handler = getComponentFromProp(this, 'handle') || false;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('drawer', customizePrefixCls);\n\n const vcDrawerProps = {\n ref: 'vcDrawer',\n props: {\n ...omit(rest, [\n 'closable',\n 'destroyOnClose',\n 'drawerStyle',\n 'headerStyle',\n 'bodyStyle',\n 'title',\n 'push',\n 'visible',\n 'getPopupContainer',\n 'rootPrefixCls',\n 'getPrefixCls',\n 'renderEmpty',\n 'csp',\n 'pageHeader',\n 'autoInsertSpaceInButton',\n ]),\n handler,\n ...offsetStyle,\n prefixCls,\n open: visible,\n showMask: mask,\n placement,\n className: classnames({\n [wrapClassName]: !!wrapClassName,\n [haveMask]: !!haveMask,\n }),\n wrapStyle: this.getRcDrawerStyle(),\n },\n on: {\n ...getListeners(this),\n },\n };\n return <VcDrawer {...vcDrawerProps}>{this.renderBody(prefixCls)}</VcDrawer>;\n },\n};\n\n/* istanbul ignore next */\nDrawer.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Drawer.name, Drawer);\n};\n\nexport default Drawer;\n","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport { initDefaultProps } from '../_util/props-util';\n\nconst skeletonAvatarProps = {\n prefixCls: PropTypes.string,\n size: PropTypes.oneOfType([PropTypes.oneOf(['large', 'small', 'default']), PropTypes.number]),\n shape: PropTypes.oneOf(['circle', 'square']),\n};\n\nexport const SkeletonAvatarProps = PropTypes.shape(skeletonAvatarProps).loose;\n\nconst Avatar = {\n props: initDefaultProps(skeletonAvatarProps, {\n size: 'large',\n }),\n render() {\n const { prefixCls, size, shape } = this.$props;\n\n const sizeCls = classNames({\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n });\n\n const shapeCls = classNames({\n [`${prefixCls}-circle`]: shape === 'circle',\n [`${prefixCls}-square`]: shape === 'square',\n });\n\n const sizeStyle =\n typeof size === 'number'\n ? {\n width: `${size}px`,\n height: `${size}px`,\n lineHeight: `${size}px`,\n }\n : {};\n\n return <span class={classNames(prefixCls, sizeCls, shapeCls)} style={sizeStyle} />;\n },\n};\n\nexport default Avatar;\n","import PropTypes from '../_util/vue-types';\n\nconst skeletonTitleProps = {\n prefixCls: PropTypes.string,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n};\n\nexport const SkeletonTitleProps = PropTypes.shape(skeletonTitleProps);\n\nconst Title = {\n props: skeletonTitleProps,\n render() {\n const { prefixCls, width } = this.$props;\n const zWidth = typeof width === 'number' ? `${width}px` : width;\n return <h3 class={prefixCls} style={{ width: zWidth }} />;\n },\n};\n\nexport default Title;\n","import PropTypes from '../_util/vue-types';\n\nconst widthUnit = PropTypes.oneOfType([PropTypes.number, PropTypes.string]);\n\nconst skeletonParagraphProps = {\n prefixCls: PropTypes.string,\n width: PropTypes.oneOfType([widthUnit, PropTypes.arrayOf(widthUnit)]),\n rows: PropTypes.number,\n};\n\nexport const SkeletonParagraphProps = PropTypes.shape(skeletonParagraphProps);\n\nconst Paragraph = {\n props: skeletonParagraphProps,\n methods: {\n getWidth(index) {\n const { width, rows = 2 } = this;\n if (Array.isArray(width)) {\n return width[index];\n }\n // last paragraph\n if (rows - 1 === index) {\n return width;\n }\n return undefined;\n },\n },\n render() {\n const { prefixCls, rows } = this.$props;\n const rowList = [...Array(rows)].map((_, index) => {\n const width = this.getWidth(index);\n return <li key={index} style={{ width: typeof width === 'number' ? `${width}px` : width }} />;\n });\n return <ul class={prefixCls}>{rowList}</ul>;\n },\n};\n\nexport default Paragraph;\n","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport { initDefaultProps, hasProp } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Avatar, { SkeletonAvatarProps } from './Avatar';\nimport Title, { SkeletonTitleProps } from './Title';\nimport Paragraph, { SkeletonParagraphProps } from './Paragraph';\nimport Base from '../base';\n\nexport const SkeletonProps = {\n active: PropTypes.bool,\n loading: PropTypes.bool,\n prefixCls: PropTypes.string,\n children: PropTypes.any,\n avatar: PropTypes.oneOfType([PropTypes.string, SkeletonAvatarProps, PropTypes.bool]),\n title: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, SkeletonTitleProps]),\n paragraph: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, SkeletonParagraphProps]),\n};\n\nfunction getComponentProps(prop) {\n if (prop && typeof prop === 'object') {\n return prop;\n }\n return {};\n}\n\nfunction getAvatarBasicProps(hasTitle, hasParagraph) {\n if (hasTitle && !hasParagraph) {\n return { shape: 'square' };\n }\n\n return { shape: 'circle' };\n}\n\nfunction getTitleBasicProps(hasAvatar, hasParagraph) {\n if (!hasAvatar && hasParagraph) {\n return { width: '38%' };\n }\n\n if (hasAvatar && hasParagraph) {\n return { width: '50%' };\n }\n\n return {};\n}\n\nfunction getParagraphBasicProps(hasAvatar, hasTitle) {\n const basicProps = {};\n\n // Width\n if (!hasAvatar || !hasTitle) {\n basicProps.width = '61%';\n }\n\n // Rows\n if (!hasAvatar && hasTitle) {\n basicProps.rows = 3;\n } else {\n basicProps.rows = 2;\n }\n\n return basicProps;\n}\n\nconst Skeleton = {\n name: 'ASkeleton',\n props: initDefaultProps(SkeletonProps, {\n avatar: false,\n title: true,\n paragraph: true,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render() {\n const {\n prefixCls: customizePrefixCls,\n loading,\n avatar,\n title,\n paragraph,\n active,\n } = this.$props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('skeleton', customizePrefixCls);\n\n if (loading || !hasProp(this, 'loading')) {\n const hasAvatar = !!avatar || avatar === '';\n const hasTitle = !!title;\n const hasParagraph = !!paragraph;\n\n // Avatar\n let avatarNode;\n if (hasAvatar) {\n const avatarProps = {\n props: {\n prefixCls: `${prefixCls}-avatar`,\n ...getAvatarBasicProps(hasTitle, hasParagraph),\n ...getComponentProps(avatar),\n },\n };\n\n avatarNode = (\n <div class={`${prefixCls}-header`}>\n <Avatar {...avatarProps} />\n </div>\n );\n }\n\n let contentNode;\n if (hasTitle || hasParagraph) {\n // Title\n let $title;\n if (hasTitle) {\n const titleProps = {\n props: {\n prefixCls: `${prefixCls}-title`,\n ...getTitleBasicProps(hasAvatar, hasParagraph),\n ...getComponentProps(title),\n },\n };\n\n $title = <Title {...titleProps} />;\n }\n\n // Paragraph\n let paragraphNode;\n if (hasParagraph) {\n const paragraphProps = {\n props: {\n prefixCls: `${prefixCls}-paragraph`,\n ...getParagraphBasicProps(hasAvatar, hasTitle),\n ...getComponentProps(paragraph),\n },\n };\n\n paragraphNode = <Paragraph {...paragraphProps} />;\n }\n\n contentNode = (\n <div class={`${prefixCls}-content`}>\n {$title}\n {paragraphNode}\n </div>\n );\n }\n\n const cls = classNames(prefixCls, {\n [`${prefixCls}-with-avatar`]: hasAvatar,\n [`${prefixCls}-active`]: active,\n });\n\n return (\n <div class={cls}>\n {avatarNode}\n {contentNode}\n </div>\n );\n }\n const children = this.$slots.default;\n return children && children.length === 1 ? children[0] : <span>{children}</span>;\n },\n};\n/* istanbul ignore next */\nSkeleton.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Skeleton.name, Skeleton);\n};\nexport default Skeleton;\n","import PropsTypes from '../_util/vue-types';\nimport { getComponentFromProp, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\nexport const CommentProps = {\n actions: PropsTypes.array,\n /** The element to display as the comment author. */\n author: PropsTypes.any,\n /** The element to display as the comment avatar - generally an antd Avatar */\n avatar: PropsTypes.any,\n /** The main content of the comment */\n content: PropsTypes.any,\n /** Comment prefix defaults to '.ant-comment' */\n prefixCls: PropsTypes.string,\n /** A datetime element containing the time to be displayed */\n datetime: PropsTypes.any,\n};\n\nconst Comment = {\n name: 'AComment',\n props: CommentProps,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n getAction(actions) {\n if (!actions || !actions.length) {\n return null;\n }\n const actionList = actions.map((action, index) => <li key={`action-${index}`}>{action}</li>);\n return actionList;\n },\n renderNested(prefixCls, children) {\n return <div class={`${prefixCls}-nested`}>{children}</div>;\n },\n },\n\n render() {\n const { prefixCls: customizePrefixCls } = this.$props;\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('comment', customizePrefixCls);\n\n const actions = getComponentFromProp(this, 'actions');\n const author = getComponentFromProp(this, 'author');\n const avatar = getComponentFromProp(this, 'avatar');\n const content = getComponentFromProp(this, 'content');\n const datetime = getComponentFromProp(this, 'datetime');\n\n const avatarDom = (\n <div class={`${prefixCls}-avatar`}>\n {typeof avatar === 'string' ? <img src={avatar} alt=\"comment-avatar\" /> : avatar}\n </div>\n );\n\n const actionDom =\n actions && actions.length ? (\n <ul class={`${prefixCls}-actions`}>{this.getAction(actions)}</ul>\n ) : null;\n\n const authorContent = (\n <div class={`${prefixCls}-content-author`}>\n {author && <span class={`${prefixCls}-content-author-name`}>{author}</span>}\n {datetime && <span class={`${prefixCls}-content-author-time`}>{datetime}</span>}\n </div>\n );\n\n const contentDom = (\n <div class={`${prefixCls}-content`}>\n {authorContent}\n <div class={`${prefixCls}-content-detail`}>{content}</div>\n {actionDom}\n </div>\n );\n\n const comment = (\n <div class={`${prefixCls}-inner`}>\n {avatarDom}\n {contentDom}\n </div>\n );\n const children = this.$slots.default;\n return (\n <div class={prefixCls} {...{ on: getListeners(this) }}>\n {comment}\n {children ? this.renderNested(prefixCls, children) : null}\n </div>\n );\n },\n};\n\n/* istanbul ignore next */\nComment.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Comment.name, Comment);\n};\nexport default Comment;\n","import Vue from 'vue';\nimport PropTypes from '../_util/vue-types';\nimport { filterEmpty, getComponentFromProp } from '../_util/props-util';\nimport defaultRenderEmpty from './renderEmpty';\nimport Base from '../base';\nimport LocaleProvider, { ANT_MARK } from '../locale-provider';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\n\nfunction getWatch(keys = []) {\n const watch = {};\n keys.forEach(k => {\n watch[k] = function(value) {\n this._proxyVm._data[k] = value;\n };\n });\n return watch;\n}\n\nconst ConfigProvider = {\n name: 'AConfigProvider',\n props: {\n getPopupContainer: PropTypes.func,\n prefixCls: PropTypes.string,\n renderEmpty: PropTypes.func,\n csp: PropTypes.object,\n autoInsertSpaceInButton: PropTypes.bool,\n locale: PropTypes.object,\n pageHeader: PropTypes.object,\n transformCellText: PropTypes.func,\n },\n provide() {\n const _self = this;\n this._proxyVm = new Vue({\n data() {\n return {\n ..._self.$props,\n getPrefixCls: _self.getPrefixCls,\n renderEmpty: _self.renderEmptyComponent,\n };\n },\n });\n return {\n configProvider: this._proxyVm._data,\n };\n },\n watch: {\n ...getWatch([\n 'prefixCls',\n 'csp',\n 'autoInsertSpaceInButton',\n 'locale',\n 'pageHeader',\n 'transformCellText',\n ]),\n },\n methods: {\n renderEmptyComponent(h, name) {\n const renderEmpty =\n getComponentFromProp(this, 'renderEmpty', {}, false) || defaultRenderEmpty;\n return renderEmpty(h, name);\n },\n getPrefixCls(suffixCls, customizePrefixCls) {\n const { prefixCls = 'ant' } = this.$props;\n if (customizePrefixCls) return customizePrefixCls;\n return suffixCls ? `${prefixCls}-${suffixCls}` : prefixCls;\n },\n renderProvider(legacyLocale) {\n return (\n <LocaleProvider locale={this.locale || legacyLocale} _ANT_MARK__={ANT_MARK}>\n {this.$slots.default ? filterEmpty(this.$slots.default)[0] : null}\n </LocaleProvider>\n );\n },\n },\n\n render() {\n return (\n <LocaleReceiver\n scopedSlots={{ default: (_, __, legacyLocale) => this.renderProvider(legacyLocale) }}\n />\n );\n },\n};\n\n/* istanbul ignore next */\nConfigProvider.install = function(Vue) {\n Vue.use(Base);\n Vue.component(ConfigProvider.name, ConfigProvider);\n};\n\nexport default ConfigProvider;\n","import PropTypes from '../_util/vue-types';\nimport { getComponentFromProp } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Icon from '../icon';\nimport Base from '../base';\nimport noFound from './noFound';\nimport serverError from './serverError';\nimport unauthorized from './unauthorized';\n\nexport const IconMap = {\n success: 'check-circle',\n error: 'close-circle',\n info: 'exclamation-circle',\n warning: 'warning',\n};\n\nexport const ExceptionMap = {\n '404': noFound,\n '500': serverError,\n '403': unauthorized,\n};\n\n// ExceptionImageMap keys\nconst ExceptionStatus = Object.keys(ExceptionMap);\n\nexport const ResultProps = {\n prefixCls: PropTypes.string,\n icon: PropTypes.any,\n status: PropTypes.oneOf(['success', 'error', 'info', 'warning', '404', '403', '500']).def('info'),\n title: PropTypes.any,\n subTitle: PropTypes.any,\n extra: PropTypes.any,\n};\n\nconst renderIcon = (h, prefixCls, { status, icon }) => {\n if (ExceptionStatus.includes(`${status}`)) {\n const SVGComponent = ExceptionMap[status];\n return (\n <div class={`${prefixCls}-icon ${prefixCls}-image`}>\n <SVGComponent />\n </div>\n );\n }\n // prop `icon` require slot or VNode\n const iconString = IconMap[status];\n const iconNode = icon || <Icon type={iconString} theme=\"filled\" />;\n return <div class={`${prefixCls}-icon`}>{iconNode}</div>;\n};\n\nconst renderExtra = (h, prefixCls, extra) =>\n extra && <div class={`${prefixCls}-extra`}>{extra}</div>;\n\nconst Result = {\n name: 'AResult',\n props: ResultProps,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render(h) {\n const { prefixCls: customizePrefixCls, status } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('result', customizePrefixCls);\n\n const title = getComponentFromProp(this, 'title');\n const subTitle = getComponentFromProp(this, 'subTitle');\n const icon = getComponentFromProp(this, 'icon');\n const extra = getComponentFromProp(this, 'extra');\n\n return (\n <div class={`${prefixCls} ${prefixCls}-${status}`}>\n {renderIcon(h, prefixCls, { status, icon })}\n <div class={`${prefixCls}-title`}>{title}</div>\n {subTitle && <div class={`${prefixCls}-subtitle`}>{subTitle}</div>}\n {this.$slots.default && <div class={`${prefixCls}-content`}>{this.$slots.default}</div>}\n {renderExtra(h, prefixCls, extra)}\n </div>\n );\n },\n};\n\n/* add resource */\nResult.PRESENTED_IMAGE_403 = ExceptionMap[403];\nResult.PRESENTED_IMAGE_404 = ExceptionMap[404];\nResult.PRESENTED_IMAGE_500 = ExceptionMap[500];\n\n/* istanbul ignore next */\nResult.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Result.name, Result);\n};\nexport default Result;\n","const NoFound = {\n functional: true,\n render() {\n return (\n <svg width=\"252\" height=\"294\">\n <defs>\n <path d=\"M0 .387h251.772v251.772H0z\" />\n </defs>\n <g fill=\"none\" fillRule=\"evenodd\">\n <g transform=\"translate(0 .012)\">\n <mask fill=\"#fff\" />\n <path\n d=\"M0 127.32v-2.095C0 56.279 55.892.387 124.838.387h2.096c68.946 0 124.838 55.892 124.838 124.838v2.096c0 68.946-55.892 124.838-124.838 124.838h-2.096C55.892 252.16 0 196.267 0 127.321\"\n fill=\"#E4EBF7\"\n mask=\"url(#b)\"\n />\n </g>\n <path\n d=\"M39.755 130.84a8.276 8.276 0 1 1-16.468-1.66 8.276 8.276 0 0 1 16.468 1.66\"\n fill=\"#FFF\"\n />\n <path\n d=\"M36.975 134.297l10.482 5.943M48.373 146.508l-12.648 10.788\"\n stroke=\"#FFF\"\n strokeWidth=\"2\"\n />\n <path\n d=\"M39.875 159.352a5.667 5.667 0 1 1-11.277-1.136 5.667 5.667 0 0 1 11.277 1.136M57.588 143.247a5.708 5.708 0 1 1-11.358-1.145 5.708 5.708 0 0 1 11.358 1.145M99.018 26.875l29.82-.014a4.587 4.587 0 1 0-.003-9.175l-29.82.013a4.587 4.587 0 1 0 .003 9.176M110.424 45.211l29.82-.013a4.588 4.588 0 0 0-.004-9.175l-29.82.013a4.587 4.587 0 1 0 .004 9.175\"\n fill=\"#FFF\"\n />\n <path\n d=\"M112.798 26.861v-.002l15.784-.006a4.588 4.588 0 1 0 .003 9.175l-15.783.007v-.002a4.586 4.586 0 0 0-.004-9.172M184.523 135.668c-.553 5.485-5.447 9.483-10.931 8.93-5.485-.553-9.483-5.448-8.93-10.932.552-5.485 5.447-9.483 10.932-8.93 5.485.553 9.483 5.447 8.93 10.932\"\n fill=\"#FFF\"\n />\n <path\n d=\"M179.26 141.75l12.64 7.167M193.006 156.477l-15.255 13.011\"\n stroke=\"#FFF\"\n strokeWidth=\"2\"\n />\n <path\n d=\"M184.668 170.057a6.835 6.835 0 1 1-13.6-1.372 6.835 6.835 0 0 1 13.6 1.372M203.34 153.325a6.885 6.885 0 1 1-13.7-1.382 6.885 6.885 0 0 1 13.7 1.382\"\n fill=\"#FFF\"\n />\n <path\n d=\"M151.931 192.324a2.222 2.222 0 1 1-4.444 0 2.222 2.222 0 0 1 4.444 0zM225.27 116.056a2.222 2.222 0 1 1-4.445 0 2.222 2.222 0 0 1 4.444 0zM216.38 151.08a2.223 2.223 0 1 1-4.446-.001 2.223 2.223 0 0 1 4.446 0zM176.917 107.636a2.223 2.223 0 1 1-4.445 0 2.223 2.223 0 0 1 4.445 0zM195.291 92.165a2.223 2.223 0 1 1-4.445 0 2.223 2.223 0 0 1 4.445 0zM202.058 180.711a2.223 2.223 0 1 1-4.446 0 2.223 2.223 0 0 1 4.446 0z\"\n stroke=\"#FFF\"\n strokeWidth=\"2\"\n />\n <path\n stroke=\"#FFF\"\n strokeWidth=\"2\"\n d=\"M214.404 153.302l-1.912 20.184-10.928 5.99M173.661 174.792l-6.356 9.814h-11.36l-4.508 6.484M174.941 125.168v-15.804M220.824 117.25l-12.84 7.901-15.31-7.902V94.39\"\n />\n <path\n d=\"M166.588 65.936h-3.951a4.756 4.756 0 0 1-4.743-4.742 4.756 4.756 0 0 1 4.743-4.743h3.951a4.756 4.756 0 0 1 4.743 4.743 4.756 4.756 0 0 1-4.743 4.742\"\n fill=\"#FFF\"\n />\n <path\n d=\"M174.823 30.03c0-16.281 13.198-29.48 29.48-29.48 16.28 0 29.48 13.199 29.48 29.48 0 16.28-13.2 29.48-29.48 29.48-16.282 0-29.48-13.2-29.48-29.48\"\n fill=\"#1890FF\"\n />\n <path\n d=\"M205.952 38.387c.5.5.785 1.142.785 1.928s-.286 1.465-.785 1.964c-.572.5-1.214.75-2 .75-.785 0-1.429-.285-1.929-.785-.572-.5-.82-1.143-.82-1.929s.248-1.428.82-1.928c.5-.5 1.144-.75 1.93-.75.785 0 1.462.25 1.999.75m4.285-19.463c1.428 1.249 2.143 2.963 2.143 5.142 0 1.712-.427 3.13-1.219 4.25-.067.096-.137.18-.218.265-.416.429-1.41 1.346-2.956 2.699a5.07 5.07 0 0 0-1.428 1.75 5.207 5.207 0 0 0-.536 2.357v.5h-4.107v-.5c0-1.357.215-2.536.714-3.5.464-.964 1.857-2.464 4.178-4.536l.43-.5c.643-.785.964-1.643.964-2.535 0-1.18-.358-2.108-1-2.785-.678-.68-1.643-1.001-2.858-1.001-1.536 0-2.642.464-3.357 1.43-.37.5-.621 1.135-.76 1.904a1.999 1.999 0 0 1-1.971 1.63h-.004c-1.277 0-2.257-1.183-1.98-2.43.337-1.518 1.02-2.78 2.073-3.784 1.536-1.5 3.607-2.25 6.25-2.25 2.32 0 4.214.607 5.642 1.894\"\n fill=\"#FFF\"\n />\n <path\n d=\"M52.04 76.131s21.81 5.36 27.307 15.945c5.575 10.74-6.352 9.26-15.73 4.935-10.86-5.008-24.7-11.822-11.577-20.88\"\n fill=\"#FFB594\"\n />\n <path\n d=\"M90.483 67.504l-.449 2.893c-.753.49-4.748-2.663-4.748-2.663l-1.645.748-1.346-5.684s6.815-4.589 8.917-5.018c2.452-.501 9.884.94 10.7 2.278 0 0 1.32.486-2.227.69-3.548.203-5.043.447-6.79 3.132-1.747 2.686-2.412 3.624-2.412 3.624\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M128.055 111.367c-2.627-7.724-6.15-13.18-8.917-15.478-3.5-2.906-9.34-2.225-11.366-4.187-1.27-1.231-3.215-1.197-3.215-1.197s-14.98-3.158-16.828-3.479c-2.37-.41-2.124-.714-6.054-1.405-1.57-1.907-2.917-1.122-2.917-1.122l-7.11-1.383c-.853-1.472-2.423-1.023-2.423-1.023l-2.468-.897c-1.645 9.976-7.74 13.796-7.74 13.796 1.795 1.122 15.703 8.3 15.703 8.3l5.107 37.11s-3.321 5.694 1.346 9.109c0 0 19.883-3.743 34.921-.329 0 0 3.047-2.546.972-8.806.523-3.01 1.394-8.263 1.736-11.622.385.772 2.019 1.918 3.14 3.477 0 0 9.407-7.365 11.052-14.012-.832-.723-1.598-1.585-2.267-2.453-.567-.736-.358-2.056-.765-2.717-.669-1.084-1.804-1.378-1.907-1.682\"\n fill=\"#FFF\"\n />\n <path\n d=\"M101.09 289.998s4.295 2.041 7.354 1.021c2.821-.94 4.53.668 7.08 1.178 2.55.51 6.874 1.1 11.686-1.26-.103-5.51-6.889-3.98-11.96-6.713-2.563-1.38-3.784-4.722-3.598-8.799h-9.402s-1.392 10.52-1.16 14.573\"\n fill=\"#CBD1D1\"\n />\n <path\n d=\"M101.067 289.826s2.428 1.271 6.759.653c3.058-.437 3.712.481 7.423 1.031 3.712.55 10.724-.069 11.823-.894.413 1.1-.343 2.063-.343 2.063s-1.512.603-4.812.824c-2.03.136-5.8.291-7.607-.503-1.787-1.375-5.247-1.903-5.728-.241-3.918.95-7.355-.286-7.355-.286l-.16-2.647z\"\n fill=\"#2B0849\"\n />\n <path\n d=\"M108.341 276.044h3.094s-.103 6.702 4.536 8.558c-4.64.618-8.558-2.303-7.63-8.558\"\n fill=\"#A4AABA\"\n />\n <path\n d=\"M57.542 272.401s-2.107 7.416-4.485 12.306c-1.798 3.695-4.225 7.492 5.465 7.492 6.648 0 8.953-.48 7.423-6.599-1.53-6.12.266-13.199.266-13.199h-8.669z\"\n fill=\"#CBD1D1\"\n />\n <path\n d=\"M51.476 289.793s2.097 1.169 6.633 1.169c6.083 0 8.249-1.65 8.249-1.65s.602 1.114-.619 2.165c-.993.855-3.597 1.591-7.39 1.546-4.145-.048-5.832-.566-6.736-1.168-.825-.55-.687-1.58-.137-2.062\"\n fill=\"#2B0849\"\n />\n <path\n d=\"M58.419 274.304s.033 1.519-.314 2.93c-.349 1.42-1.078 3.104-1.13 4.139-.058 1.151 4.537 1.58 5.155.034.62-1.547 1.294-6.427 1.913-7.252.619-.825-4.903-2.119-5.624.15\"\n fill=\"#A4AABA\"\n />\n <path\n d=\"M99.66 278.514l13.378.092s1.298-54.52 1.853-64.403c.554-9.882 3.776-43.364 1.002-63.128l-12.547-.644-22.849.78s-.434 3.966-1.195 9.976c-.063.496-.682.843-.749 1.365-.075.585.423 1.354.32 1.966-2.364 14.08-6.377 33.104-8.744 46.677-.116.666-1.234 1.009-1.458 2.691-.04.302.211 1.525.112 1.795-6.873 18.744-10.949 47.842-14.277 61.885l14.607-.014s2.197-8.57 4.03-16.97c2.811-12.886 23.111-85.01 23.111-85.01l3.016-.521 1.043 46.35s-.224 1.234.337 2.02c.56.785-.56 1.123-.392 2.244l.392 1.794s-.449 7.178-.898 11.89c-.448 4.71-.092 39.165-.092 39.165\"\n fill=\"#7BB2F9\"\n />\n <path\n d=\"M76.085 221.626c1.153.094 4.038-2.019 6.955-4.935M106.36 225.142s2.774-1.11 6.103-3.883\"\n stroke=\"#648BD8\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M107.275 222.1s2.773-1.11 6.102-3.884\"\n stroke=\"#648BD8\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M74.74 224.767s2.622-.591 6.505-3.365M86.03 151.634c-.27 3.106.3 8.525-4.336 9.123M103.625 149.88s.11 14.012-1.293 15.065c-2.219 1.664-2.99 1.944-2.99 1.944M99.79 150.438s.035 12.88-1.196 24.377M93.673 175.911s7.212-1.664 9.431-1.664M74.31 205.861a212.013 212.013 0 0 1-.979 4.56s-1.458 1.832-1.009 3.776c.449 1.944-.947 2.045-4.985 15.355-1.696 5.59-4.49 18.591-6.348 27.597l-.231 1.12M75.689 197.807a320.934 320.934 0 0 1-.882 4.754M82.591 152.233L81.395 162.7s-1.097.15-.5 2.244c.113 1.346-2.674 15.775-5.18 30.43M56.12 274.418h13.31\"\n stroke=\"#648BD8\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M116.241 148.22s-17.047-3.104-35.893.2c.158 2.514-.003 4.15-.003 4.15s14.687-2.818 35.67-.312c.252-2.355.226-4.038.226-4.038\"\n fill=\"#192064\"\n />\n <path\n d=\"M106.322 151.165l.003-4.911a.81.81 0 0 0-.778-.815c-2.44-.091-5.066-.108-7.836-.014a.818.818 0 0 0-.789.815l-.003 4.906a.81.81 0 0 0 .831.813c2.385-.06 4.973-.064 7.73.017a.815.815 0 0 0 .842-.81\"\n fill=\"#FFF\"\n />\n <path\n d=\"M105.207 150.233l.002-3.076a.642.642 0 0 0-.619-.646 94.321 94.321 0 0 0-5.866-.01.65.65 0 0 0-.63.647v3.072a.64.64 0 0 0 .654.644 121.12 121.12 0 0 1 5.794.011c.362.01.665-.28.665-.642\"\n fill=\"#192064\"\n />\n <path\n d=\"M100.263 275.415h12.338M101.436 270.53c.006 3.387.042 5.79.111 6.506M101.451 264.548a915.75 915.75 0 0 0-.015 4.337M100.986 174.965l.898 44.642s.673 1.57-.225 2.692c-.897 1.122 2.468.673.898 2.243-1.57 1.57.897 1.122 0 3.365-.596 1.489-.994 21.1-1.096 35.146\"\n stroke=\"#648BD8\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M46.876 83.427s-.516 6.045 7.223 5.552c11.2-.712 9.218-9.345 31.54-21.655-.786-2.708-2.447-4.744-2.447-4.744s-11.068 3.11-22.584 8.046c-6.766 2.9-13.395 6.352-13.732 12.801M104.46 91.057l.941-5.372-8.884-11.43-5.037 5.372-1.74 7.834a.321.321 0 0 0 .108.32c.965.8 6.5 5.013 14.347 3.544a.332.332 0 0 0 .264-.268\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M93.942 79.387s-4.533-2.853-2.432-6.855c1.623-3.09 4.513 1.133 4.513 1.133s.52-3.642 3.121-3.642c.52-1.04 1.561-4.162 1.561-4.162s11.445 2.601 13.526 3.121c0 5.203-2.304 19.424-7.84 19.861-8.892.703-12.449-9.456-12.449-9.456\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M113.874 73.446c2.601-2.081 3.47-9.722 3.47-9.722s-2.479-.49-6.64-2.05c-4.683-2.081-12.798-4.747-17.48.976-9.668 3.223-2.05 19.823-2.05 19.823l2.713-3.021s-3.935-3.287-2.08-6.243c2.17-3.462 3.92 1.073 3.92 1.073s.637-2.387 3.581-3.342c.355-.71 1.036-2.674 1.432-3.85a1.073 1.073 0 0 1 1.263-.704c2.4.558 8.677 2.019 11.356 2.662.522.125.871.615.82 1.15l-.305 3.248z\"\n fill=\"#520038\"\n />\n <path\n d=\"M104.977 76.064c-.103.61-.582 1.038-1.07.956-.489-.083-.801-.644-.698-1.254.103-.61.582-1.038 1.07-.956.488.082.8.644.698 1.254M112.132 77.694c-.103.61-.582 1.038-1.07.956-.488-.083-.8-.644-.698-1.254.103-.61.582-1.038 1.07-.956.488.082.8.643.698 1.254\"\n fill=\"#552950\"\n />\n <path\n stroke=\"#DB836E\"\n strokeWidth=\"1.118\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M110.13 74.84l-.896 1.61-.298 4.357h-2.228\"\n />\n <path\n d=\"M110.846 74.481s1.79-.716 2.506.537\"\n stroke=\"#5C2552\"\n strokeWidth=\"1.118\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M92.386 74.282s.477-1.114 1.113-.716c.637.398 1.274 1.433.558 1.99-.717.556.159 1.67.159 1.67\"\n stroke=\"#DB836E\"\n strokeWidth=\"1.118\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M103.287 72.93s1.83 1.113 4.137.954\"\n stroke=\"#5C2552\"\n strokeWidth=\"1.118\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M103.685 81.762s2.227 1.193 4.376 1.193M104.64 84.308s.954.398 1.511.318M94.693 81.205s2.308 7.4 10.424 7.639\"\n stroke=\"#DB836E\"\n strokeWidth=\"1.118\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M81.45 89.384s.45 5.647-4.935 12.787M69 82.654s-.726 9.282-8.204 14.206\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.101\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M129.405 122.865s-5.272 7.403-9.422 10.768\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M119.306 107.329s.452 4.366-2.127 32.062\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.101\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M150.028 151.232h-49.837a1.01 1.01 0 0 1-1.01-1.01v-31.688c0-.557.452-1.01 1.01-1.01h49.837c.558 0 1.01.453 1.01 1.01v31.688a1.01 1.01 0 0 1-1.01 1.01\"\n fill=\"#F2D7AD\"\n />\n <path\n d=\"M150.29 151.232h-19.863v-33.707h20.784v32.786a.92.92 0 0 1-.92.92\"\n fill=\"#F4D19D\"\n />\n <path\n d=\"M123.554 127.896H92.917a.518.518 0 0 1-.425-.816l6.38-9.113c.193-.277.51-.442.85-.442h31.092l-7.26 10.371z\"\n fill=\"#F2D7AD\"\n />\n <path fill=\"#CC9B6E\" d=\"M123.689 128.447H99.25v-.519h24.169l7.183-10.26.424.298z\" />\n <path\n d=\"M158.298 127.896h-18.669a2.073 2.073 0 0 1-1.659-.83l-7.156-9.541h19.965c.49 0 .95.23 1.244.622l6.69 8.92a.519.519 0 0 1-.415.83\"\n fill=\"#F4D19D\"\n />\n <path\n fill=\"#CC9B6E\"\n d=\"M157.847 128.479h-19.384l-7.857-10.475.415-.31 7.7 10.266h19.126zM130.554 150.685l-.032-8.177.519-.002.032 8.177z\"\n />\n <path\n fill=\"#CC9B6E\"\n d=\"M130.511 139.783l-.08-21.414.519-.002.08 21.414zM111.876 140.932l-.498-.143 1.479-5.167.498.143zM108.437 141.06l-2.679-2.935 2.665-3.434.41.318-2.397 3.089 2.384 2.612zM116.607 141.06l-.383-.35 2.383-2.612-2.397-3.089.41-.318 2.665 3.434z\"\n />\n <path\n d=\"M154.316 131.892l-3.114-1.96.038 3.514-1.043.092c-1.682.115-3.634.23-4.789.23-1.902 0-2.693 2.258 2.23 2.648l-2.645-.596s-2.168 1.317.504 2.3c0 0-1.58 1.217.561 2.58-.584 3.504 5.247 4.058 7.122 3.59 1.876-.47 4.233-2.359 4.487-5.16.28-3.085-.89-5.432-3.35-7.238\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M153.686 133.577s-6.522.47-8.36.372c-1.836-.098-1.904 2.19 2.359 2.264 3.739.15 5.451-.044 5.451-.044\"\n stroke=\"#DB836E\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M145.16 135.877c-1.85 1.346.561 2.355.561 2.355s3.478.898 6.73.617\"\n stroke=\"#DB836E\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M151.89 141.71s-6.28.111-6.73-2.132c-.223-1.346.45-1.402.45-1.402M146.114 140.868s-1.103 3.16 5.44 3.533M151.202 129.932v3.477M52.838 89.286c3.533-.337 8.423-1.248 13.582-7.754\"\n stroke=\"#DB836E\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M168.567 248.318a6.647 6.647 0 0 1-6.647-6.647v-66.466a6.647 6.647 0 1 1 13.294 0v66.466a6.647 6.647 0 0 1-6.647 6.647\"\n fill=\"#5BA02E\"\n />\n <path\n d=\"M176.543 247.653a6.647 6.647 0 0 1-6.646-6.647v-33.232a6.647 6.647 0 1 1 13.293 0v33.232a6.647 6.647 0 0 1-6.647 6.647\"\n fill=\"#92C110\"\n />\n <path\n d=\"M186.443 293.613H158.92a3.187 3.187 0 0 1-3.187-3.187v-46.134a3.187 3.187 0 0 1 3.187-3.187h27.524a3.187 3.187 0 0 1 3.187 3.187v46.134a3.187 3.187 0 0 1-3.187 3.187\"\n fill=\"#F2D7AD\"\n />\n <path\n d=\"M88.979 89.48s7.776 5.384 16.6 2.842\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.101\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </g>\n </svg>\n );\n },\n};\n\nexport default NoFound;\n","const ServerError = {\n functional: true,\n render() {\n return (\n <svg width=\"254\" height=\"294\">\n <defs>\n <path d=\"M0 .335h253.49v253.49H0z\" />\n <path d=\"M0 293.665h253.49V.401H0z\" />\n </defs>\n <g fill=\"none\" fillRule=\"evenodd\">\n <g transform=\"translate(0 .067)\">\n <mask fill=\"#fff\" />\n <path\n d=\"M0 128.134v-2.11C0 56.608 56.273.334 125.69.334h2.11c69.416 0 125.69 56.274 125.69 125.69v2.11c0 69.417-56.274 125.69-125.69 125.69h-2.11C56.273 253.824 0 197.551 0 128.134\"\n fill=\"#E4EBF7\"\n mask=\"url(#b)\"\n />\n </g>\n <path\n d=\"M39.989 132.108a8.332 8.332 0 1 1-16.581-1.671 8.332 8.332 0 0 1 16.58 1.671\"\n fill=\"#FFF\"\n />\n <path\n d=\"M37.19 135.59l10.553 5.983M48.665 147.884l-12.734 10.861\"\n stroke=\"#FFF\"\n strokeWidth=\"2\"\n />\n <path\n d=\"M40.11 160.816a5.706 5.706 0 1 1-11.354-1.145 5.706 5.706 0 0 1 11.354 1.145M57.943 144.6a5.747 5.747 0 1 1-11.436-1.152 5.747 5.747 0 0 1 11.436 1.153M99.656 27.434l30.024-.013a4.619 4.619 0 1 0-.004-9.238l-30.024.013a4.62 4.62 0 0 0 .004 9.238M111.14 45.896l30.023-.013a4.62 4.62 0 1 0-.004-9.238l-30.024.013a4.619 4.619 0 1 0 .004 9.238\"\n fill=\"#FFF\"\n />\n <path\n d=\"M113.53 27.421v-.002l15.89-.007a4.619 4.619 0 1 0 .005 9.238l-15.892.007v-.002a4.618 4.618 0 0 0-.004-9.234M150.167 70.091h-3.979a4.789 4.789 0 0 1-4.774-4.775 4.788 4.788 0 0 1 4.774-4.774h3.979a4.789 4.789 0 0 1 4.775 4.774 4.789 4.789 0 0 1-4.775 4.775\"\n fill=\"#FFF\"\n />\n <path\n d=\"M171.687 30.234c0-16.392 13.289-29.68 29.681-29.68 16.392 0 29.68 13.288 29.68 29.68 0 16.393-13.288 29.681-29.68 29.681s-29.68-13.288-29.68-29.68\"\n fill=\"#FF603B\"\n />\n <path\n d=\"M203.557 19.435l-.676 15.035a1.514 1.514 0 0 1-3.026 0l-.675-15.035a2.19 2.19 0 1 1 4.377 0m-.264 19.378c.513.477.77 1.1.77 1.87s-.257 1.393-.77 1.907c-.55.476-1.21.733-1.943.733a2.545 2.545 0 0 1-1.87-.77c-.55-.514-.806-1.136-.806-1.87 0-.77.256-1.393.806-1.87.513-.513 1.137-.733 1.87-.733.77 0 1.43.22 1.943.733\"\n fill=\"#FFF\"\n />\n <path\n d=\"M119.3 133.275c4.426-.598 3.612-1.204 4.079-4.778.675-5.18-3.108-16.935-8.262-25.118-1.088-10.72-12.598-11.24-12.598-11.24s4.312 4.895 4.196 16.199c1.398 5.243.804 14.45.804 14.45s5.255 11.369 11.78 10.487\"\n fill=\"#FFB594\"\n />\n <path\n d=\"M100.944 91.61s1.463-.583 3.211.582c8.08 1.398 10.368 6.706 11.3 11.368 1.864 1.282 1.864 2.33 1.864 3.496.365.777 1.515 3.03 1.515 3.03s-7.225 1.748-10.954 6.758c-1.399-6.41-6.936-25.235-6.936-25.235\"\n fill=\"#FFF\"\n />\n <path\n d=\"M94.008 90.5l1.019-5.815-9.23-11.874-5.233 5.581-2.593 9.863s8.39 5.128 16.037 2.246\"\n fill=\"#FFB594\"\n />\n <path\n d=\"M82.931 78.216s-4.557-2.868-2.445-6.892c1.632-3.107 4.537 1.139 4.537 1.139s.524-3.662 3.139-3.662c.523-1.046 1.569-4.184 1.569-4.184s11.507 2.615 13.6 3.138c-.001 5.23-2.317 19.529-7.884 19.969-8.94.706-12.516-9.508-12.516-9.508\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M102.971 72.243c2.616-2.093 3.489-9.775 3.489-9.775s-2.492-.492-6.676-2.062c-4.708-2.092-12.867-4.771-17.575.982-9.54 4.41-2.062 19.93-2.062 19.93l2.729-3.037s-3.956-3.304-2.092-6.277c2.183-3.48 3.943 1.08 3.943 1.08s.64-2.4 3.6-3.36c.356-.714 1.04-2.69 1.44-3.872a1.08 1.08 0 0 1 1.27-.707c2.41.56 8.723 2.03 11.417 2.676.524.126.876.619.825 1.156l-.308 3.266z\"\n fill=\"#520038\"\n />\n <path\n d=\"M101.22 76.514c-.104.613-.585 1.044-1.076.96-.49-.082-.805-.646-.702-1.26.104-.613.585-1.044 1.076-.961.491.083.805.647.702 1.26M94.26 75.074c-.104.613-.585 1.044-1.076.96-.49-.082-.805-.646-.702-1.26.104-.613.585-1.044 1.076-.96.491.082.805.646.702 1.26\"\n fill=\"#552950\"\n />\n <path\n stroke=\"#DB836E\"\n strokeWidth=\"1.063\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M99.206 73.644l-.9 1.62-.3 4.38h-2.24\"\n />\n <path\n d=\"M99.926 73.284s1.8-.72 2.52.54\"\n stroke=\"#5C2552\"\n strokeWidth=\"1.117\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M81.367 73.084s.48-1.12 1.12-.72c.64.4 1.28 1.44.56 2s.16 1.68.16 1.68\"\n stroke=\"#DB836E\"\n strokeWidth=\"1.117\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M92.326 71.724s1.84 1.12 4.16.96\"\n stroke=\"#5C2552\"\n strokeWidth=\"1.117\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M92.726 80.604s2.24 1.2 4.4 1.2M93.686 83.164s.96.4 1.52.32M83.687 80.044s1.786 6.547 9.262 7.954\"\n stroke=\"#DB836E\"\n strokeWidth=\"1.063\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M95.548 91.663s-1.068 2.821-8.298 2.105c-7.23-.717-10.29-5.044-10.29-5.044\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.136\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M78.126 87.478s6.526 4.972 16.47 2.486c0 0 9.577 1.02 11.536 5.322 5.36 11.77.543 36.835 0 39.962 3.496 4.055-.466 8.483-.466 8.483-15.624-3.548-35.81-.6-35.81-.6-4.849-3.546-1.223-9.044-1.223-9.044L62.38 110.32c-2.485-15.227.833-19.803 3.549-20.743 3.03-1.049 8.04-1.282 8.04-1.282.496-.058 1.08-.076 1.37-.233 2.36-1.282 2.787-.583 2.787-.583\"\n fill=\"#FFF\"\n />\n <path\n d=\"M65.828 89.81s-6.875.465-7.59 8.156c-.466 8.857 3.03 10.954 3.03 10.954s6.075 22.102 16.796 22.957c8.39-2.176 4.758-6.702 4.661-11.42-.233-11.304-7.108-16.897-7.108-16.897s-4.212-13.75-9.789-13.75\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M71.716 124.225s.855 11.264 9.828 6.486c4.765-2.536 7.581-13.828 9.789-22.568 1.456-5.768 2.58-12.197 2.58-12.197l-4.973-1.709s-2.408 5.516-7.769 12.275c-4.335 5.467-9.144 11.11-9.455 17.713\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M108.463 105.191s1.747 2.724-2.331 30.535c2.376 2.216 1.053 6.012-.233 7.51\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.085\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M123.262 131.527s-.427 2.732-11.77 1.981c-15.187-1.006-25.326-3.25-25.326-3.25l.933-5.8s.723.215 9.71-.068c11.887-.373 18.714-6.07 24.964-1.022 4.039 3.263 1.489 8.16 1.489 8.16\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M70.24 90.974s-5.593-4.739-11.054 2.68c-3.318 7.223.517 15.284 2.664 19.578-.31 3.729 2.33 4.311 2.33 4.311s.108.895 1.516 2.68c4.078-7.03 6.72-9.166 13.711-12.546-.328-.656-1.877-3.265-1.825-3.767.175-1.69-1.282-2.623-1.282-2.623s-.286-.156-1.165-2.738c-.788-2.313-2.036-5.177-4.895-7.575\"\n fill=\"#FFF\"\n />\n <path\n d=\"M90.232 288.027s4.855 2.308 8.313 1.155c3.188-1.063 5.12.755 8.002 1.331 2.881.577 7.769 1.243 13.207-1.424-.117-6.228-7.786-4.499-13.518-7.588-2.895-1.56-4.276-5.336-4.066-9.944H91.544s-1.573 11.89-1.312 16.47\"\n fill=\"#CBD1D1\"\n />\n <path\n d=\"M90.207 287.833s2.745 1.437 7.639.738c3.456-.494 3.223.66 7.418 1.282 4.195.621 13.092-.194 14.334-1.126.466 1.242-.388 2.33-.388 2.33s-1.709.682-5.438.932c-2.295.154-8.098.276-10.14-.621-2.02-1.554-4.894-1.515-6.06-.234-4.427 1.075-7.184-.31-7.184-.31l-.181-2.991z\"\n fill=\"#2B0849\"\n />\n <path\n d=\"M98.429 272.257h3.496s-.117 7.574 5.127 9.671c-5.244.7-9.672-2.602-8.623-9.671\"\n fill=\"#A4AABA\"\n />\n <path\n d=\"M44.425 272.046s-2.208 7.774-4.702 12.899c-1.884 3.874-4.428 7.854 5.729 7.854 6.97 0 9.385-.503 7.782-6.917-1.604-6.415.279-13.836.279-13.836h-9.088z\"\n fill=\"#CBD1D1\"\n />\n <path\n d=\"M38.066 290.277s2.198 1.225 6.954 1.225c6.376 0 8.646-1.73 8.646-1.73s.63 1.168-.649 2.27c-1.04.897-3.77 1.668-7.745 1.621-4.347-.05-6.115-.593-7.062-1.224-.864-.577-.72-1.657-.144-2.162\"\n fill=\"#2B0849\"\n />\n <path\n d=\"M45.344 274.041s.035 1.592-.329 3.07c-.365 1.49-1.13 3.255-1.184 4.34-.061 1.206 4.755 1.657 5.403.036.65-1.622 1.357-6.737 2.006-7.602.648-.865-5.14-2.222-5.896.156\"\n fill=\"#A4AABA\"\n />\n <path\n d=\"M89.476 277.57l13.899.095s1.349-56.643 1.925-66.909c.576-10.267 3.923-45.052 1.042-65.585l-13.037-.669-23.737.81s-.452 4.12-1.243 10.365c-.065.515-.708.874-.777 1.417-.078.608.439 1.407.332 2.044-2.455 14.627-5.797 32.736-8.256 46.837-.121.693-1.282 1.048-1.515 2.796-.042.314.22 1.584.116 1.865-7.14 19.473-12.202 52.601-15.66 67.19l15.176-.015s2.282-10.145 4.185-18.871c2.922-13.389 24.012-88.32 24.012-88.32l3.133-.954-.158 48.568s-.233 1.282.35 2.098c.583.815-.581 1.167-.408 2.331l.408 1.864s-.466 7.458-.932 12.352c-.467 4.895 1.145 40.69 1.145 40.69\"\n fill=\"#7BB2F9\"\n />\n <path\n d=\"M64.57 218.881c1.197.099 4.195-2.097 7.225-5.127M96.024 222.534s2.881-1.152 6.34-4.034\"\n stroke=\"#648BD8\"\n strokeWidth=\"1.085\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M96.973 219.373s2.882-1.153 6.34-4.034\"\n stroke=\"#648BD8\"\n strokeWidth=\"1.032\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M63.172 222.144s2.724-.614 6.759-3.496M74.903 146.166c-.281 3.226.31 8.856-4.506 9.478M93.182 144.344s.115 14.557-1.344 15.65c-2.305 1.73-3.107 2.02-3.107 2.02M89.197 144.923s.269 13.144-1.01 25.088M83.525 170.71s6.81-1.051 9.116-1.051M46.026 270.045l-.892 4.538M46.937 263.289l-.815 4.157M62.725 202.503c-.33 1.618-.102 1.904-.449 3.438 0 0-2.756 1.903-2.29 3.923.466 2.02-.31 3.424-4.505 17.252-1.762 5.807-4.233 18.922-6.165 28.278-.03.144-.521 2.646-1.14 5.8M64.158 194.136c-.295 1.658-.6 3.31-.917 4.938M71.33 146.787l-1.244 10.877s-1.14.155-.519 2.33c.117 1.399-2.778 16.39-5.382 31.615M44.242 273.727H58.07\"\n stroke=\"#648BD8\"\n strokeWidth=\"1.085\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M106.18 142.117c-3.028-.489-18.825-2.744-36.219.2a.625.625 0 0 0-.518.644c.063 1.307.044 2.343.015 2.995a.617.617 0 0 0 .716.636c3.303-.534 17.037-2.412 35.664-.266.347.04.66-.214.692-.56.124-1.347.16-2.425.17-3.029a.616.616 0 0 0-.52-.62\"\n fill=\"#192064\"\n />\n <path\n d=\"M96.398 145.264l.003-5.102a.843.843 0 0 0-.809-.847 114.104 114.104 0 0 0-8.141-.014.85.85 0 0 0-.82.847l-.003 5.097c0 .476.388.857.864.845 2.478-.064 5.166-.067 8.03.017a.848.848 0 0 0 .876-.843\"\n fill=\"#FFF\"\n />\n <path\n d=\"M95.239 144.296l.002-3.195a.667.667 0 0 0-.643-.672c-1.9-.061-3.941-.073-6.094-.01a.675.675 0 0 0-.654.672l-.002 3.192c0 .376.305.677.68.669 1.859-.042 3.874-.043 6.02.012.376.01.69-.291.691-.668\"\n fill=\"#192064\"\n />\n <path\n d=\"M90.102 273.522h12.819M91.216 269.761c.006 3.519-.072 5.55 0 6.292M90.923 263.474c-.009 1.599-.016 2.558-.016 4.505M90.44 170.404l.932 46.38s.7 1.631-.233 2.796c-.932 1.166 2.564.7.932 2.33-1.63 1.633.933 1.166 0 3.497-.618 1.546-1.031 21.921-1.138 36.513\"\n stroke=\"#648BD8\"\n strokeWidth=\"1.085\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M73.736 98.665l2.214 4.312s2.098.816 1.865 2.68l.816 2.214M64.297 116.611c.233-.932 2.176-7.147 12.585-10.488M77.598 90.042s7.691 6.137 16.547 2.72\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.085\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M91.974 86.954s5.476-.816 7.574-4.545c1.297-.345.72 2.212-.33 3.671-.7.971-1.01 1.554-1.01 1.554s.194.31.155.816c-.053.697-.175.653-.272 1.048-.081.335.108.657 0 1.049-.046.17-.198.5-.382.878-.12.249-.072.687-.2.948-.231.469-1.562 1.87-2.622 2.855-3.826 3.554-5.018 1.644-6.001-.408-.894-1.865-.661-5.127-.874-6.875-.35-2.914-2.622-3.03-1.923-4.429.343-.685 2.87.69 3.263 1.748.757 2.04 2.952 1.807 2.622 1.69\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M99.8 82.429c-.465.077-.35.272-.97 1.243-.622.971-4.817 2.932-6.39 3.224-2.589.48-2.278-1.56-4.254-2.855-1.69-1.107-3.562-.638-1.398 1.398.99.932.932 1.107 1.398 3.205.335 1.506-.64 3.67.7 5.593\"\n stroke=\"#DB836E\"\n strokeWidth=\".774\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M79.543 108.673c-2.1 2.926-4.266 6.175-5.557 8.762\"\n stroke=\"#E59788\"\n strokeWidth=\".774\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M87.72 124.768s-2.098-1.942-5.127-2.719c-3.03-.777-3.574-.155-5.516.078-1.942.233-3.885-.932-3.652.7.233 1.63 5.05 1.01 5.206 2.097.155 1.087-6.37 2.796-8.313 2.175-.777.777.466 1.864 2.02 2.175.233 1.554 2.253 1.554 2.253 1.554s.699 1.01 2.641 1.088c2.486 1.32 8.934-.7 10.954-1.554 2.02-.855-.466-5.594-.466-5.594\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M73.425 122.826s.66 1.127 3.167 1.418c2.315.27 2.563.583 2.563.583s-2.545 2.894-9.07 2.272M72.416 129.274s3.826.097 4.933-.718M74.98 130.75s1.961.136 3.36-.505M77.232 131.916s1.748.019 2.914-.505M73.328 122.321s-.595-1.032 1.262-.427c1.671.544 2.833.055 5.128.155 1.389.061 3.067-.297 3.982.15 1.606.784 3.632 2.181 3.632 2.181s10.526 1.204 19.033-1.127M78.864 108.104s-8.39 2.758-13.168 12.12\"\n stroke=\"#E59788\"\n strokeWidth=\".774\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M109.278 112.533s3.38-3.613 7.575-4.662\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.085\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M107.375 123.006s9.697-2.745 11.445-.88\"\n stroke=\"#E59788\"\n strokeWidth=\".774\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M194.605 83.656l3.971-3.886M187.166 90.933l3.736-3.655M191.752 84.207l-4.462-4.56M198.453 91.057l-4.133-4.225M129.256 163.074l3.718-3.718M122.291 170.039l3.498-3.498M126.561 163.626l-4.27-4.27M132.975 170.039l-3.955-3.955\"\n stroke=\"#BFCDDD\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M190.156 211.779h-1.604a4.023 4.023 0 0 1-4.011-4.011V175.68a4.023 4.023 0 0 1 4.01-4.01h1.605a4.023 4.023 0 0 1 4.011 4.01v32.088a4.023 4.023 0 0 1-4.01 4.01\"\n fill=\"#A3B4C6\"\n />\n <path\n d=\"M237.824 212.977a4.813 4.813 0 0 1-4.813 4.813h-86.636a4.813 4.813 0 0 1 0-9.626h86.636a4.813 4.813 0 0 1 4.813 4.813\"\n fill=\"#A3B4C6\"\n />\n <mask fill=\"#fff\" />\n <path fill=\"#A3B4C6\" mask=\"url(#d)\" d=\"M154.098 190.096h70.513v-84.617h-70.513z\" />\n <path\n d=\"M224.928 190.096H153.78a3.219 3.219 0 0 1-3.208-3.209V167.92a3.219 3.219 0 0 1 3.208-3.21h71.148a3.219 3.219 0 0 1 3.209 3.21v18.967a3.219 3.219 0 0 1-3.21 3.209M224.928 130.832H153.78a3.218 3.218 0 0 1-3.208-3.208v-18.968a3.219 3.219 0 0 1 3.208-3.209h71.148a3.219 3.219 0 0 1 3.209 3.21v18.967a3.218 3.218 0 0 1-3.21 3.208\"\n fill=\"#BFCDDD\"\n mask=\"url(#d)\"\n />\n <path\n d=\"M159.563 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M166.98 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M174.397 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M222.539 120.546h-22.461a.802.802 0 0 1-.802-.802v-3.208c0-.443.359-.803.802-.803h22.46c.444 0 .803.36.803.803v3.208c0 .443-.36.802-.802.802\"\n fill=\"#FFF\"\n mask=\"url(#d)\"\n />\n <path\n d=\"M224.928 160.464H153.78a3.218 3.218 0 0 1-3.208-3.209v-18.967a3.219 3.219 0 0 1 3.208-3.209h71.148a3.219 3.219 0 0 1 3.209 3.209v18.967a3.218 3.218 0 0 1-3.21 3.209\"\n fill=\"#BFCDDD\"\n mask=\"url(#d)\"\n />\n <path\n d=\"M173.455 130.832h49.301M164.984 130.832h6.089M155.952 130.832h6.75M173.837 160.613h49.3M165.365 160.613h6.089M155.57 160.613h6.751\"\n stroke=\"#7C90A5\"\n strokeWidth=\"1.124\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n mask=\"url(#d)\"\n />\n <path\n d=\"M159.563 151.038a2.407 2.407 0 1 1 0-4.814 2.407 2.407 0 0 1 0 4.814M166.98 151.038a2.407 2.407 0 1 1 0-4.814 2.407 2.407 0 0 1 0 4.814M174.397 151.038a2.407 2.407 0 1 1 .001-4.814 2.407 2.407 0 0 1 0 4.814M222.539 151.038h-22.461a.802.802 0 0 1-.802-.802v-3.209c0-.443.359-.802.802-.802h22.46c.444 0 .803.36.803.802v3.209c0 .443-.36.802-.802.802M159.563 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M166.98 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M174.397 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M222.539 179.987h-22.461a.802.802 0 0 1-.802-.802v-3.209c0-.443.359-.802.802-.802h22.46c.444 0 .803.36.803.802v3.209c0 .443-.36.802-.802.802\"\n fill=\"#FFF\"\n mask=\"url(#d)\"\n />\n <path\n d=\"M203.04 221.108h-27.372a2.413 2.413 0 0 1-2.406-2.407v-11.448a2.414 2.414 0 0 1 2.406-2.407h27.372a2.414 2.414 0 0 1 2.407 2.407V218.7a2.413 2.413 0 0 1-2.407 2.407\"\n fill=\"#BFCDDD\"\n mask=\"url(#d)\"\n />\n <path\n d=\"M177.259 207.217v11.52M201.05 207.217v11.52\"\n stroke=\"#A3B4C6\"\n strokeWidth=\"1.124\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n mask=\"url(#d)\"\n />\n <path\n d=\"M162.873 267.894a9.422 9.422 0 0 1-9.422-9.422v-14.82a9.423 9.423 0 0 1 18.845 0v14.82a9.423 9.423 0 0 1-9.423 9.422\"\n fill=\"#5BA02E\"\n mask=\"url(#d)\"\n />\n <path\n d=\"M171.22 267.83a9.422 9.422 0 0 1-9.422-9.423v-3.438a9.423 9.423 0 0 1 18.845 0v3.438a9.423 9.423 0 0 1-9.422 9.423\"\n fill=\"#92C110\"\n mask=\"url(#d)\"\n />\n <path\n d=\"M181.31 293.666h-27.712a3.209 3.209 0 0 1-3.209-3.21V269.79a3.209 3.209 0 0 1 3.209-3.21h27.711a3.209 3.209 0 0 1 3.209 3.21v20.668a3.209 3.209 0 0 1-3.209 3.209\"\n fill=\"#F2D7AD\"\n mask=\"url(#d)\"\n />\n </g>\n </svg>\n );\n },\n};\n\nexport default ServerError;\n","const Unauthorized = {\n functional: true,\n render() {\n return (\n <svg width=\"251\" height=\"294\">\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M0 129.023v-2.084C0 58.364 55.591 2.774 124.165 2.774h2.085c68.574 0 124.165 55.59 124.165 124.165v2.084c0 68.575-55.59 124.166-124.165 124.166h-2.085C55.591 253.189 0 197.598 0 129.023\"\n fill=\"#E4EBF7\"\n />\n <path\n d=\"M41.417 132.92a8.231 8.231 0 1 1-16.38-1.65 8.231 8.231 0 0 1 16.38 1.65\"\n fill=\"#FFF\"\n />\n <path\n d=\"M38.652 136.36l10.425 5.91M49.989 148.505l-12.58 10.73\"\n stroke=\"#FFF\"\n strokeWidth=\"2\"\n />\n <path\n d=\"M41.536 161.28a5.636 5.636 0 1 1-11.216-1.13 5.636 5.636 0 0 1 11.216 1.13M59.154 145.261a5.677 5.677 0 1 1-11.297-1.138 5.677 5.677 0 0 1 11.297 1.138M100.36 29.516l29.66-.013a4.562 4.562 0 1 0-.004-9.126l-29.66.013a4.563 4.563 0 0 0 .005 9.126M111.705 47.754l29.659-.013a4.563 4.563 0 1 0-.004-9.126l-29.66.013a4.563 4.563 0 1 0 .005 9.126\"\n fill=\"#FFF\"\n />\n <path\n d=\"M114.066 29.503V29.5l15.698-.007a4.563 4.563 0 1 0 .004 9.126l-15.698.007v-.002a4.562 4.562 0 0 0-.004-9.122M185.405 137.723c-.55 5.455-5.418 9.432-10.873 8.882-5.456-.55-9.432-5.418-8.882-10.873.55-5.455 5.418-9.432 10.873-8.882 5.455.55 9.432 5.418 8.882 10.873\"\n fill=\"#FFF\"\n />\n <path\n d=\"M180.17 143.772l12.572 7.129M193.841 158.42L178.67 171.36\"\n stroke=\"#FFF\"\n strokeWidth=\"2\"\n />\n <path\n d=\"M185.55 171.926a6.798 6.798 0 1 1-13.528-1.363 6.798 6.798 0 0 1 13.527 1.363M204.12 155.285a6.848 6.848 0 1 1-13.627-1.375 6.848 6.848 0 0 1 13.626 1.375\"\n fill=\"#FFF\"\n />\n <path\n d=\"M152.988 194.074a2.21 2.21 0 1 1-4.42 0 2.21 2.21 0 0 1 4.42 0zM225.931 118.217a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.421 0zM217.09 153.051a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.42 0zM177.84 109.842a2.21 2.21 0 1 1-4.422 0 2.21 2.21 0 0 1 4.421 0zM196.114 94.454a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.421 0zM202.844 182.523a2.21 2.21 0 1 1-4.42 0 2.21 2.21 0 0 1 4.42 0z\"\n stroke=\"#FFF\"\n strokeWidth=\"2\"\n />\n <path\n stroke=\"#FFF\"\n strokeWidth=\"2\"\n d=\"M215.125 155.262l-1.902 20.075-10.87 5.958M174.601 176.636l-6.322 9.761H156.98l-4.484 6.449M175.874 127.28V111.56M221.51 119.404l-12.77 7.859-15.228-7.86V96.668\"\n />\n <path\n d=\"M180.68 29.32C180.68 13.128 193.806 0 210 0c16.193 0 29.32 13.127 29.32 29.32 0 16.194-13.127 29.322-29.32 29.322-16.193 0-29.32-13.128-29.32-29.321\"\n fill=\"#A26EF4\"\n />\n <path\n d=\"M221.45 41.706l-21.563-.125a1.744 1.744 0 0 1-1.734-1.754l.071-12.23a1.744 1.744 0 0 1 1.754-1.734l21.562.125c.964.006 1.74.791 1.735 1.755l-.071 12.229a1.744 1.744 0 0 1-1.754 1.734\"\n fill=\"#FFF\"\n />\n <path\n d=\"M215.106 29.192c-.015 2.577-2.049 4.654-4.543 4.64-2.494-.014-4.504-2.115-4.489-4.693l.04-6.925c.016-2.577 2.05-4.654 4.543-4.64 2.494.015 4.504 2.116 4.49 4.693l-.04 6.925zm-4.53-14.074a6.877 6.877 0 0 0-6.916 6.837l-.043 7.368a6.877 6.877 0 0 0 13.754.08l.042-7.368a6.878 6.878 0 0 0-6.837-6.917zM167.566 68.367h-3.93a4.73 4.73 0 0 1-4.717-4.717 4.73 4.73 0 0 1 4.717-4.717h3.93a4.73 4.73 0 0 1 4.717 4.717 4.73 4.73 0 0 1-4.717 4.717\"\n fill=\"#FFF\"\n />\n <path\n d=\"M168.214 248.838a6.611 6.611 0 0 1-6.61-6.611v-66.108a6.611 6.611 0 0 1 13.221 0v66.108a6.611 6.611 0 0 1-6.61 6.61\"\n fill=\"#5BA02E\"\n />\n <path\n d=\"M176.147 248.176a6.611 6.611 0 0 1-6.61-6.61v-33.054a6.611 6.611 0 1 1 13.221 0v33.053a6.611 6.611 0 0 1-6.61 6.611\"\n fill=\"#92C110\"\n />\n <path\n d=\"M185.994 293.89h-27.376a3.17 3.17 0 0 1-3.17-3.17v-45.887a3.17 3.17 0 0 1 3.17-3.17h27.376a3.17 3.17 0 0 1 3.17 3.17v45.886a3.17 3.17 0 0 1-3.17 3.17\"\n fill=\"#F2D7AD\"\n />\n <path\n d=\"M81.972 147.673s6.377-.927 17.566-1.28c11.729-.371 17.57 1.086 17.57 1.086s3.697-3.855.968-8.424c1.278-12.077 5.982-32.827.335-48.273-1.116-1.339-3.743-1.512-7.536-.62-1.337.315-7.147-.149-7.983-.1l-15.311-.347s-3.487-.17-8.035-.508c-1.512-.113-4.227-1.683-5.458-.338-.406.443-2.425 5.669-1.97 16.077l8.635 35.642s-3.141 3.61 1.219 7.085\"\n fill=\"#FFF\"\n />\n <path\n d=\"M75.768 73.325l-.9-6.397 11.982-6.52s7.302-.118 8.038 1.205c.737 1.324-5.616.993-5.616.993s-1.836 1.388-2.615 2.5c-1.654 2.363-.986 6.471-8.318 5.986-1.708.284-2.57 2.233-2.57 2.233\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M52.44 77.672s14.217 9.406 24.973 14.444c1.061.497-2.094 16.183-11.892 11.811-7.436-3.318-20.162-8.44-21.482-14.496-.71-3.258 2.543-7.643 8.401-11.76M141.862 80.113s-6.693 2.999-13.844 6.876c-3.894 2.11-10.137 4.704-12.33 7.988-6.224 9.314 3.536 11.22 12.947 7.503 6.71-2.651 28.999-12.127 13.227-22.367\"\n fill=\"#FFB594\"\n />\n <path\n d=\"M76.166 66.36l3.06 3.881s-2.783 2.67-6.31 5.747c-7.103 6.195-12.803 14.296-15.995 16.44-3.966 2.662-9.754 3.314-12.177-.118-3.553-5.032.464-14.628 31.422-25.95\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M64.674 85.116s-2.34 8.413-8.912 14.447c.652.548 18.586 10.51 22.144 10.056 5.238-.669 6.417-18.968 1.145-20.531-.702-.208-5.901-1.286-8.853-2.167-.87-.26-1.611-1.71-3.545-.936l-1.98-.869zM128.362 85.826s5.318 1.956 7.325 13.734c-.546.274-17.55 12.35-21.829 7.805-6.534-6.94-.766-17.393 4.275-18.61 4.646-1.121 5.03-1.37 10.23-2.929\"\n fill=\"#FFF\"\n />\n <path\n d=\"M78.18 94.656s.911 7.41-4.914 13.078\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M87.397 94.68s3.124 2.572 10.263 2.572c7.14 0 9.074-3.437 9.074-3.437\"\n stroke=\"#E4EBF7\"\n strokeWidth=\".932\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M117.184 68.639l-6.781-6.177s-5.355-4.314-9.223-.893c-3.867 3.422 4.463 2.083 5.653 4.165 1.19 2.082.848 1.143-2.083.446-5.603-1.331-2.082.893 2.975 5.355 2.091 1.845 6.992.955 6.992.955l2.467-3.851z\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M105.282 91.315l-.297-10.937-15.918-.027-.53 10.45c-.026.403.17.788.515.999 2.049 1.251 9.387 5.093 15.799.424.287-.21.443-.554.431-.91\"\n fill=\"#FFB594\"\n />\n <path\n d=\"M107.573 74.24c.817-1.147.982-9.118 1.015-11.928a1.046 1.046 0 0 0-.965-1.055l-4.62-.365c-7.71-1.044-17.071.624-18.253 6.346-5.482 5.813-.421 13.244-.421 13.244s1.963 3.566 4.305 6.791c.756 1.041.398-3.731 3.04-5.929 5.524-4.594 15.899-7.103 15.899-7.103\"\n fill=\"#5C2552\"\n />\n <path\n d=\"M88.426 83.206s2.685 6.202 11.602 6.522c7.82.28 8.973-7.008 7.434-17.505l-.909-5.483c-6.118-2.897-15.478.54-15.478.54s-.576 2.044-.19 5.504c-2.276 2.066-1.824 5.618-1.824 5.618s-.905-1.922-1.98-2.321c-.86-.32-1.897.089-2.322 1.98-1.04 4.632 3.667 5.145 3.667 5.145\"\n fill=\"#FFC6A0\"\n />\n <path\n stroke=\"#DB836E\"\n strokeWidth=\"1.145\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M100.843 77.099l1.701-.928-1.015-4.324.674-1.406\"\n />\n <path\n d=\"M105.546 74.092c-.022.713-.452 1.279-.96 1.263-.51-.016-.904-.607-.882-1.32.021-.713.452-1.278.96-1.263.51.016.904.607.882 1.32M97.592 74.349c-.022.713-.452 1.278-.961 1.263-.509-.016-.904-.607-.882-1.32.022-.713.452-1.279.961-1.263.51.016.904.606.882 1.32\"\n fill=\"#552950\"\n />\n <path\n d=\"M91.132 86.786s5.269 4.957 12.679 2.327\"\n stroke=\"#DB836E\"\n strokeWidth=\"1.145\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M99.776 81.903s-3.592.232-1.44-2.79c1.59-1.496 4.897-.46 4.897-.46s1.156 3.906-3.457 3.25\"\n fill=\"#DB836E\"\n />\n <path\n d=\"M102.88 70.6s2.483.84 3.402.715M93.883 71.975s2.492-1.144 4.778-1.073\"\n stroke=\"#5C2552\"\n strokeWidth=\"1.526\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M86.32 77.374s.961.879 1.458 2.106c-.377.48-1.033 1.152-.236 1.809M99.337 83.719s1.911.151 2.509-.254\"\n stroke=\"#DB836E\"\n strokeWidth=\"1.145\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M87.782 115.821l15.73-3.012M100.165 115.821l10.04-2.008\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M66.508 86.763s-1.598 8.83-6.697 14.078\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.114\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M128.31 87.934s3.013 4.121 4.06 11.785\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M64.09 84.816s-6.03 9.912-13.607 9.903\"\n stroke=\"#DB836E\"\n strokeWidth=\".795\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M112.366 65.909l-.142 5.32s5.993 4.472 11.945 9.202c4.482 3.562 8.888 7.455 10.985 8.662 4.804 2.766 8.9 3.355 11.076 1.808 4.071-2.894 4.373-9.878-8.136-15.263-4.271-1.838-16.144-6.36-25.728-9.73\"\n fill=\"#FFC6A0\"\n />\n <path\n d=\"M130.532 85.488s4.588 5.757 11.619 6.214\"\n stroke=\"#DB836E\"\n strokeWidth=\".75\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M121.708 105.73s-.393 8.564-1.34 13.612\"\n stroke=\"#E4EBF7\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M115.784 161.512s-3.57-1.488-2.678-7.14\"\n stroke=\"#648BD8\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M101.52 290.246s4.326 2.057 7.408 1.03c2.842-.948 4.564.673 7.132 1.186 2.57.514 6.925 1.108 11.772-1.269-.104-5.551-6.939-4.01-12.048-6.763-2.582-1.39-3.812-4.757-3.625-8.863h-9.471s-1.402 10.596-1.169 14.68\"\n fill=\"#CBD1D1\"\n />\n <path\n d=\"M101.496 290.073s2.447 1.281 6.809.658c3.081-.44 3.74.485 7.479 1.039 3.739.554 10.802-.07 11.91-.9.415 1.108-.347 2.077-.347 2.077s-1.523.608-4.847.831c-2.045.137-5.843.293-7.663-.507-1.8-1.385-5.286-1.917-5.77-.243-3.947.958-7.41-.288-7.41-.288l-.16-2.667z\"\n fill=\"#2B0849\"\n />\n <path\n d=\"M108.824 276.19h3.116s-.103 6.751 4.57 8.62c-4.673.624-8.62-2.32-7.686-8.62\"\n fill=\"#A4AABA\"\n />\n <path\n d=\"M57.65 272.52s-2.122 7.47-4.518 12.396c-1.811 3.724-4.255 7.548 5.505 7.548 6.698 0 9.02-.483 7.479-6.648-1.541-6.164.268-13.296.268-13.296H57.65z\"\n fill=\"#CBD1D1\"\n />\n <path\n d=\"M51.54 290.04s2.111 1.178 6.682 1.178c6.128 0 8.31-1.662 8.31-1.662s.605 1.122-.624 2.18c-1 .862-3.624 1.603-7.444 1.559-4.177-.049-5.876-.57-6.786-1.177-.831-.554-.692-1.593-.138-2.078\"\n fill=\"#2B0849\"\n />\n <path\n d=\"M58.533 274.438s.034 1.529-.315 2.95c-.352 1.431-1.087 3.127-1.139 4.17-.058 1.16 4.57 1.592 5.194.035.623-1.559 1.303-6.475 1.927-7.306.622-.831-4.94-2.135-5.667.15\"\n fill=\"#A4AABA\"\n />\n <path\n d=\"M100.885 277.015l13.306.092s1.291-54.228 1.843-64.056c.552-9.828 3.756-43.13.997-62.788l-12.48-.64-22.725.776s-.433 3.944-1.19 9.921c-.062.493-.677.838-.744 1.358-.075.582.42 1.347.318 1.956-2.35 14.003-6.343 32.926-8.697 46.425-.116.663-1.227 1.004-1.45 2.677-.04.3.21 1.516.112 1.785-6.836 18.643-10.89 47.584-14.2 61.551l14.528-.014s2.185-8.524 4.008-16.878c2.796-12.817 22.987-84.553 22.987-84.553l3-.517 1.037 46.1s-.223 1.228.334 2.008c.558.782-.556 1.117-.39 2.233l.39 1.784s-.446 7.14-.892 11.826c-.446 4.685-.092 38.954-.092 38.954\"\n fill=\"#7BB2F9\"\n />\n <path\n d=\"M77.438 220.434c1.146.094 4.016-2.008 6.916-4.91M107.55 223.931s2.758-1.103 6.069-3.862\"\n stroke=\"#648BD8\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M108.459 220.905s2.759-1.104 6.07-3.863\"\n stroke=\"#648BD8\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M76.099 223.557s2.608-.587 6.47-3.346M87.33 150.82c-.27 3.088.297 8.478-4.315 9.073M104.829 149.075s.11 13.936-1.286 14.983c-2.207 1.655-2.975 1.934-2.975 1.934M101.014 149.63s.035 12.81-1.19 24.245M94.93 174.965s7.174-1.655 9.38-1.655M75.671 204.754c-.316 1.55-.64 3.067-.973 4.535 0 0-1.45 1.822-1.003 3.756.446 1.934-.943 2.034-4.96 15.273-1.686 5.559-4.464 18.49-6.313 27.447-.078.38-4.018 18.06-4.093 18.423M77.043 196.743a313.269 313.269 0 0 1-.877 4.729M83.908 151.414l-1.19 10.413s-1.091.148-.496 2.23c.111 1.34-2.66 15.692-5.153 30.267M57.58 272.94h13.238\"\n stroke=\"#648BD8\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M117.377 147.423s-16.955-3.087-35.7.199c.157 2.501-.002 4.128-.002 4.128s14.607-2.802 35.476-.31c.251-2.342.226-4.017.226-4.017\"\n fill=\"#192064\"\n />\n <path\n d=\"M107.511 150.353l.004-4.885a.807.807 0 0 0-.774-.81c-2.428-.092-5.04-.108-7.795-.014a.814.814 0 0 0-.784.81l-.003 4.88c0 .456.371.82.827.808a140.76 140.76 0 0 1 7.688.017.81.81 0 0 0 .837-.806\"\n fill=\"#FFF\"\n />\n <path\n d=\"M106.402 149.426l.002-3.06a.64.64 0 0 0-.616-.643 94.135 94.135 0 0 0-5.834-.009.647.647 0 0 0-.626.643l-.001 3.056c0 .36.291.648.651.64 1.78-.04 3.708-.041 5.762.012.36.009.662-.279.662-.64\"\n fill=\"#192064\"\n />\n <path\n d=\"M101.485 273.933h12.272M102.652 269.075c.006 3.368.04 5.759.11 6.47M102.667 263.125c-.009 1.53-.015 2.98-.016 4.313M102.204 174.024l.893 44.402s.669 1.561-.224 2.677c-.892 1.116 2.455.67.893 2.231-1.562 1.562.893 1.116 0 3.347-.592 1.48-.988 20.987-1.09 34.956\"\n stroke=\"#648BD8\"\n strokeWidth=\"1.051\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </g>\n </svg>\n );\n },\n};\n\nexport default Unauthorized;\n","import PropTypes from '../_util/vue-types';\nimport { getOptionProps, getSlots, getComponentFromProp } from '../_util/props-util';\n\nconst ColProps = {\n child: PropTypes.any,\n bordered: PropTypes.bool,\n colon: PropTypes.bool,\n type: PropTypes.oneOf(['label', 'content']),\n layout: PropTypes.oneOf(['horizontal', 'vertical']),\n};\n\nconst Col = {\n functional: true,\n props: ColProps,\n render(h, ctx) {\n const { child, bordered, colon, type, layout } = ctx.props;\n const { prefixCls, span = 1 } = getOptionProps(child);\n const { key } = ctx.data;\n const label = getComponentFromProp(child, 'label');\n const slots = getSlots(child);\n const labelProps = {\n attrs: {},\n class: [\n `${prefixCls}-item-label`,\n {\n [`${prefixCls}-item-colon`]: colon,\n [`${prefixCls}-item-no-label`]: !label,\n },\n ],\n key: `${key}-label`,\n };\n if (layout === 'vertical') {\n labelProps.attrs.colSpan = span * 2 - 1;\n }\n\n if (bordered) {\n if (type === 'label') {\n return <th {...labelProps}>{label}</th>;\n }\n return (\n <td class={`${prefixCls}-item-content`} key={`${key}-content`} colSpan={span * 2 - 1}>\n {slots.default}\n </td>\n );\n }\n if (layout === 'vertical') {\n if (type === 'content') {\n return (\n <td colSpan={span} class={`${prefixCls}-item`}>\n <span class={`${prefixCls}-item-content`} key={`${key}-content`}>\n {slots.default}\n </span>\n </td>\n );\n }\n return (\n <td colSpan={span} class={`${prefixCls}-item`}>\n <span\n class={[`${prefixCls}-item-label`, { [`${prefixCls}-item-colon`]: colon }]}\n key={`${key}-label`}\n >\n {label}\n </span>\n </td>\n );\n }\n return (\n <td colSpan={span} class={`${prefixCls}-item`}>\n <span {...labelProps}>{label}</span>\n <span class={`${prefixCls}-item-content`} key={`${key}-content`}>\n {slots.default}\n </span>\n </td>\n );\n },\n};\n\nexport default Col;\n","import warning from '../_util/warning';\nimport ResponsiveObserve, { responsiveArray } from '../_util/responsiveObserve';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Col from './Col';\nimport PropTypes from '../_util/vue-types';\nimport {\n initDefaultProps,\n isValidElement,\n getOptionProps,\n getComponentFromProp,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport Base from '../base';\nimport { cloneElement } from '../_util/vnode';\n\nexport const DescriptionsItemProps = {\n prefixCls: PropTypes.string,\n label: PropTypes.any,\n span: PropTypes.number,\n};\n\nfunction toArray(value) {\n let ret = value;\n if (value === undefined) {\n ret = [];\n } else if (!Array.isArray(value)) {\n ret = [value];\n }\n return ret;\n}\n\nexport const DescriptionsItem = {\n name: 'ADescriptionsItem',\n props: initDefaultProps(DescriptionsItemProps, { span: 1 }),\n};\n\nexport const DescriptionsProps = {\n prefixCls: PropTypes.string,\n bordered: PropTypes.bool,\n size: PropTypes.oneOf(['default', 'middle', 'small']).def('default'),\n title: PropTypes.any,\n column: PropTypes.oneOfType([PropTypes.number, PropTypes.object]),\n layout: PropTypes.oneOf(['horizontal', 'vertical']),\n colon: PropTypes.bool,\n};\n\n/**\n * Convert children into `column` groups.\n * @param children: DescriptionsItem\n * @param column: number\n */\nconst generateChildrenRows = (children, column) => {\n const rows = [];\n let columns = null;\n let leftSpans;\n\n const itemNodes = toArray(children);\n itemNodes.forEach((node, index) => {\n const itemProps = getOptionProps(node);\n let itemNode = node;\n\n if (!columns) {\n leftSpans = column;\n columns = [];\n rows.push(columns);\n }\n\n // Always set last span to align the end of Descriptions\n const lastItem = index === itemNodes.length - 1;\n let lastSpanSame = true;\n if (lastItem) {\n lastSpanSame = !itemProps.span || itemProps.span === leftSpans;\n itemNode = cloneElement(itemNode, {\n props: {\n span: leftSpans,\n },\n });\n }\n\n // Calculate left fill span\n const { span = 1 } = itemProps;\n columns.push(itemNode);\n leftSpans -= span;\n\n if (leftSpans <= 0) {\n columns = null;\n\n warning(\n leftSpans === 0 && lastSpanSame,\n 'Descriptions',\n 'Sum of column `span` in a line exceeds `column` of Descriptions.',\n );\n }\n });\n\n return rows;\n};\n\nconst defaultColumnMap = {\n xxl: 3,\n xl: 3,\n lg: 3,\n md: 3,\n sm: 2,\n xs: 1,\n};\n\nconst Descriptions = {\n name: 'ADescriptions',\n Item: DescriptionsItem,\n mixins: [BaseMixin],\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n props: initDefaultProps(DescriptionsProps, {\n column: defaultColumnMap,\n }),\n data() {\n return {\n screens: {},\n token: undefined,\n };\n },\n methods: {\n getColumn() {\n const { column } = this.$props;\n if (typeof column === 'object') {\n for (let i = 0; i < responsiveArray.length; i++) {\n const breakpoint = responsiveArray[i];\n if (this.screens[breakpoint] && column[breakpoint] !== undefined) {\n return column[breakpoint] || defaultColumnMap[breakpoint];\n }\n }\n }\n // If the configuration is not an object, it is a number, return number\n if (typeof column === 'number') {\n return column;\n }\n // If it is an object, but no response is found, this happens only in the test.\n // Maybe there are some strange environments\n return 3;\n },\n renderRow(children, index, { prefixCls }, bordered, layout, colon) {\n const renderCol = (colItem, type, idx) => {\n return (\n <Col\n child={colItem}\n bordered={bordered}\n colon={colon}\n type={type}\n key={`${type}-${colItem.key || idx}`}\n layout={layout}\n />\n );\n };\n\n const cloneChildren = [];\n const cloneContentChildren = [];\n toArray(children).forEach((childrenItem, idx) => {\n cloneChildren.push(renderCol(childrenItem, 'label', idx));\n if (layout === 'vertical') {\n cloneContentChildren.push(renderCol(childrenItem, 'content', idx));\n } else if (bordered) {\n cloneChildren.push(renderCol(childrenItem, 'content', idx));\n }\n });\n\n if (layout === 'vertical') {\n return [\n <tr class={`${prefixCls}-row`} key={`label-${index}`}>\n {cloneChildren}\n </tr>,\n <tr class={`${prefixCls}-row`} key={`content-${index}`}>\n {cloneContentChildren}\n </tr>,\n ];\n }\n\n return (\n <tr class={`${prefixCls}-row`} key={index}>\n {cloneChildren}\n </tr>\n );\n },\n },\n mounted() {\n const { column } = this.$props;\n this.token = ResponsiveObserve.subscribe(screens => {\n if (typeof column !== 'object') {\n return;\n }\n this.setState({\n screens,\n });\n });\n },\n beforeDestroy() {\n ResponsiveObserve.unsubscribe(this.token);\n },\n render() {\n const {\n prefixCls: customizePrefixCls,\n size,\n bordered = false,\n layout = 'horizontal',\n colon = true,\n } = this.$props;\n const title = getComponentFromProp(this, 'title') || null;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('descriptions', customizePrefixCls);\n\n const column = this.getColumn();\n const children = this.$slots.default;\n const cloneChildren = toArray(children)\n .map(child => {\n if (isValidElement(child)) {\n return cloneElement(child, {\n props: {\n prefixCls,\n },\n });\n }\n return null;\n })\n .filter(node => node);\n\n const childrenArray = generateChildrenRows(cloneChildren, column);\n return (\n <div\n class={[\n prefixCls,\n {\n [`${prefixCls}-${size}`]: size !== 'default',\n [`${prefixCls}-bordered`]: !!bordered,\n },\n ]}\n >\n {title && <div class={`${prefixCls}-title`}>{title}</div>}\n <div class={`${prefixCls}-view`}>\n <table>\n <tbody>\n {childrenArray.map((child, index) =>\n this.renderRow(\n child,\n index,\n {\n prefixCls,\n },\n bordered,\n layout,\n colon,\n ),\n )}\n </tbody>\n </table>\n </div>\n </div>\n );\n },\n};\n\nDescriptions.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Descriptions.name, Descriptions);\n Vue.component(Descriptions.Item.name, Descriptions.Item);\n};\n\nexport default Descriptions;\n","import PropTypes from '../_util/vue-types';\nimport { getComponentFromProp, getOptionProps } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Icon from '../icon';\nimport Breadcrumb from '../breadcrumb';\nimport Avatar from '../avatar';\nimport TransButton from '../_util/transButton';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport Base from '../base';\n\nexport const PageHeaderProps = {\n backIcon: PropTypes.any,\n prefixCls: PropTypes.string,\n title: PropTypes.any,\n subTitle: PropTypes.any,\n breadcrumb: PropTypes.object,\n tags: PropTypes.any,\n footer: PropTypes.any,\n extra: PropTypes.any,\n avatar: PropTypes.object,\n ghost: PropTypes.bool,\n};\n\nconst renderBack = (instance, prefixCls, backIcon, onBack) => {\n // eslint-disable-next-line no-unused-vars\n const h = instance.$createElement;\n if (!backIcon || !onBack) {\n return null;\n }\n return (\n <LocaleReceiver componentName=\"PageHeader\">\n {({ back }) => (\n <div class={`${prefixCls}-back`}>\n <TransButton\n onClick={e => {\n instance.$emit('back', e);\n }}\n class={`${prefixCls}-back-button`}\n aria-label={back}\n >\n {backIcon}\n </TransButton>\n </div>\n )}\n </LocaleReceiver>\n );\n};\n\nconst renderBreadcrumb = (h, breadcrumb) => {\n return <Breadcrumb {...breadcrumb} />;\n};\n\nconst renderTitle = (h, prefixCls, instance) => {\n const { avatar } = instance;\n const title = getComponentFromProp(instance, 'title');\n const subTitle = getComponentFromProp(instance, 'subTitle');\n const tags = getComponentFromProp(instance, 'tags');\n const extra = getComponentFromProp(instance, 'extra');\n const backIcon =\n getComponentFromProp(instance, 'backIcon') !== undefined ? (\n getComponentFromProp(instance, 'backIcon')\n ) : (\n <Icon type=\"arrow-left\" />\n );\n const onBack = instance.$listeners.back;\n const headingPrefixCls = `${prefixCls}-heading`;\n if (title || subTitle || tags || extra) {\n const backIconDom = renderBack(instance, prefixCls, backIcon, onBack);\n return (\n <div class={headingPrefixCls}>\n {backIconDom}\n {avatar && <Avatar {...avatar} />}\n {title && <span class={`${headingPrefixCls}-title`}>{title}</span>}\n {subTitle && <span class={`${headingPrefixCls}-sub-title`}>{subTitle}</span>}\n {tags && <span class={`${headingPrefixCls}-tags`}>{tags}</span>}\n {extra && <span class={`${headingPrefixCls}-extra`}>{extra}</span>}\n </div>\n );\n }\n return null;\n};\n\nconst renderFooter = (h, prefixCls, footer) => {\n if (footer) {\n return <div class={`${prefixCls}-footer`}>{footer}</div>;\n }\n return null;\n};\n\nconst renderChildren = (h, prefixCls, children) => {\n return <div class={`${prefixCls}-content`}>{children}</div>;\n};\n\nconst PageHeader = {\n name: 'APageHeader',\n props: PageHeaderProps,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render(h) {\n const { getPrefixCls, pageHeader } = this.configProvider;\n const props = getOptionProps(this);\n const { prefixCls: customizePrefixCls, breadcrumb } = props;\n const footer = getComponentFromProp(this, 'footer');\n const children = this.$slots.default;\n\n let ghost = true;\n\n // Use `ghost` from `props` or from `ConfigProvider` instead.\n if ('ghost' in props) {\n ghost = props.ghost;\n } else if (pageHeader && 'ghost' in pageHeader) {\n ghost = pageHeader.ghost;\n }\n const prefixCls = getPrefixCls('page-header', customizePrefixCls);\n const breadcrumbDom =\n breadcrumb && breadcrumb.props && breadcrumb.props.routes\n ? renderBreadcrumb(h, breadcrumb)\n : null;\n const className = [\n prefixCls,\n {\n 'has-breadcrumb': breadcrumbDom,\n 'has-footer': footer,\n [`${prefixCls}-ghost`]: ghost,\n },\n ];\n\n return (\n <div class={className}>\n {breadcrumbDom}\n {renderTitle(h, prefixCls, this)}\n {children && renderChildren(h, prefixCls, children)}\n {renderFooter(h, prefixCls, footer)}\n </div>\n );\n },\n};\n\n/* istanbul ignore next */\nPageHeader.install = function(Vue) {\n Vue.use(Base);\n Vue.component(PageHeader.name, PageHeader);\n};\n\nexport default PageHeader;\n","import PropTypes from '../_util/vue-types';\nimport { filterEmpty, initDefaultProps } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport const SpaceSizeType = PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.oneOf(['small', 'middle', 'large']),\n]);\n\nconst spaceSize = {\n small: 8,\n middle: 16,\n large: 24,\n};\n\nexport const SpaceProps = {\n prefixCls: PropTypes.string,\n size: SpaceSizeType,\n direction: PropTypes.oneOf(['horizontal', 'vertical']),\n align: PropTypes.oneOf(['start', 'end', 'center', 'baseline']),\n};\n\nconst Space = {\n functional: true,\n name: 'ASpace',\n props: initDefaultProps(SpaceProps, {\n size: 'small',\n direction: 'horizontal',\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render(h, content) {\n const {\n prefixCls: customizePrefixCls,\n injections: { configProvider },\n children,\n } = content;\n const { align, size, direction } = content.props;\n\n const getPrefixCls = configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('space', customizePrefixCls);\n const items = filterEmpty(children);\n const len = items.length;\n\n if (len === 0) {\n return null;\n }\n\n const mergedAlign = align === undefined && direction === 'horizontal' ? 'center' : align;\n\n const someSpaceClass = [\n {\n [prefixCls]: true,\n [`${prefixCls}-${direction}`]: true,\n // [`${prefixCls}-rtl`]: directionConfig === 'rtl',\n [`${prefixCls}-align-${mergedAlign}`]: mergedAlign,\n },\n ];\n\n if (content.data.class) {\n someSpaceClass.push(content.data.class);\n }\n\n const itemClassName = `${prefixCls}-item`;\n const marginDirection = 'marginRight'; // directionConfig === 'rtl' ? 'marginLeft' : 'marginRight';\n\n return (\n <div {...content.data} class={someSpaceClass}>\n {items.map((child, i) => (\n <div\n class={itemClassName}\n key={`${itemClassName}-${i}`}\n style={\n i === len - 1\n ? {}\n : {\n [direction === 'vertical' ? 'marginBottom' : marginDirection]:\n typeof size === 'string' ? `${spaceSize[size]}px` : `${size}px`,\n }\n }\n >\n {child}\n </div>\n ))}\n </div>\n );\n },\n};\n\n/* istanbul ignore next */\nSpace.install = function(Vue) {\n Vue.component(Space.name, Space);\n};\nexport default Space;\n","/* @remove-on-es-build-begin */\n// this file is not used if use https://github.com/ant-design/babel-plugin-import\nconst ENV = process.env.NODE_ENV;\nif (\n ENV !== 'production' &&\n ENV !== 'test' &&\n typeof console !== 'undefined' &&\n console.warn &&\n typeof window !== 'undefined'\n) {\n console.warn(\n 'You are using a whole package of antd, ' +\n 'please use https://www.npmjs.com/package/babel-plugin-import to reduce app bundle size.',\n );\n}\n/* @remove-on-es-build-end */\n\nimport { default as Affix } from './affix';\n\nimport { default as Anchor } from './anchor';\n\nimport { default as AutoComplete } from './auto-complete';\n\nimport { default as Alert } from './alert';\n\nimport { default as Avatar } from './avatar';\n\nimport { default as BackTop } from './back-top';\n\nimport { default as Badge } from './badge';\n\nimport { default as Base } from './base';\n\nimport { default as Breadcrumb } from './breadcrumb';\n\nimport { default as Button } from './button';\n\nimport { default as Calendar } from './calendar';\n\nimport { default as Card } from './card';\n\nimport { default as Collapse } from './collapse';\n\nimport { default as Carousel } from './carousel';\n\nimport { default as Cascader } from './cascader';\n\nimport { default as Checkbox } from './checkbox';\n\nimport { default as Col } from './col';\n\nimport { default as DatePicker } from './date-picker';\n\nimport { default as Divider } from './divider';\n\nimport { default as Dropdown } from './dropdown';\n\nimport { default as Form } from './form';\nimport { default as FormModel } from './form-model';\n\nimport { default as Icon } from './icon';\n\nimport { default as Input } from './input';\n\nimport { default as InputNumber } from './input-number';\n\nimport { default as Layout } from './layout';\n\nimport { default as List } from './list';\n\nimport { default as LocaleProvider } from './locale-provider';\n\nimport { default as message } from './message';\n\nimport { default as Menu } from './menu';\n\nimport { default as Mentions } from './mentions';\n\nimport { default as Modal } from './modal';\n\nimport { default as notification } from './notification';\n\nimport { default as Pagination } from './pagination';\n\nimport { default as Popconfirm } from './popconfirm';\n\nimport { default as Popover } from './popover';\n\nimport { default as Progress } from './progress';\n\nimport { default as Radio } from './radio';\n\nimport { default as Rate } from './rate';\n\nimport { default as Row } from './row';\n\nimport { default as Select } from './select';\n\nimport { default as Slider } from './slider';\n\nimport { default as Spin } from './spin';\n\nimport { default as Statistic } from './statistic';\n\nimport { default as Steps } from './steps';\n\nimport { default as Switch } from './switch';\n\nimport { default as Table } from './table';\n\nimport { default as Transfer } from './transfer';\n\nimport { default as Tree } from './tree';\n\nimport { default as TreeSelect } from './tree-select';\n\nimport { default as Tabs } from './tabs';\n\nimport { default as Tag } from './tag';\n\nimport { default as TimePicker } from './time-picker';\n\nimport { default as Timeline } from './timeline';\n\nimport { default as Tooltip } from './tooltip';\n\nimport { default as Upload } from './upload';\n\nimport { default as version } from './version';\n\nimport { default as Drawer } from './drawer';\n\nimport { default as Skeleton } from './skeleton';\n\nimport { default as Comment } from './comment';\n\nimport { default as ConfigProvider } from './config-provider';\n\nimport { default as Empty } from './empty';\n\nimport { default as Result } from './result';\n\nimport { default as Descriptions } from './descriptions';\nimport { default as PageHeader } from './page-header';\nimport { default as Space } from './space';\n\nconst components = [\n Base,\n Affix,\n Anchor,\n AutoComplete,\n Alert,\n Avatar,\n BackTop,\n Badge,\n Breadcrumb,\n Button,\n Calendar,\n Card,\n Collapse,\n Carousel,\n Cascader,\n Checkbox,\n Col,\n DatePicker,\n Divider,\n Dropdown,\n Form,\n FormModel,\n Icon,\n Input,\n InputNumber,\n Layout,\n List,\n LocaleProvider,\n Menu,\n Mentions,\n Modal,\n Pagination,\n Popconfirm,\n Popover,\n Progress,\n Radio,\n Rate,\n Row,\n Select,\n Slider,\n Spin,\n Statistic,\n Steps,\n Switch,\n Table,\n Transfer,\n Tree,\n TreeSelect,\n Tabs,\n Tag,\n TimePicker,\n Timeline,\n Tooltip,\n Upload,\n Drawer,\n Skeleton,\n Comment,\n // ColorPicker,\n ConfigProvider,\n Empty,\n Result,\n Descriptions,\n PageHeader,\n Space,\n];\n\nconst install = function(Vue) {\n components.map(component => {\n Vue.use(component);\n });\n\n Vue.prototype.$message = message;\n Vue.prototype.$notification = notification;\n Vue.prototype.$info = Modal.info;\n Vue.prototype.$success = Modal.success;\n Vue.prototype.$error = Modal.error;\n Vue.prototype.$warning = Modal.warning;\n Vue.prototype.$confirm = Modal.confirm;\n Vue.prototype.$destroyAll = Modal.destroyAll;\n};\n\n/* istanbul ignore if */\nif (typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n}\n\nexport {\n Base,\n version,\n install,\n message,\n notification,\n Affix,\n Anchor,\n AutoComplete,\n Alert,\n Avatar,\n BackTop,\n Badge,\n Breadcrumb,\n Button,\n Calendar,\n Card,\n Collapse,\n Carousel,\n Cascader,\n Checkbox,\n Col,\n DatePicker,\n Divider,\n Dropdown,\n Form,\n FormModel,\n Icon,\n Input,\n InputNumber,\n Layout,\n List,\n LocaleProvider,\n Menu,\n Mentions,\n Modal,\n Pagination,\n Popconfirm,\n Popover,\n Progress,\n Radio,\n Rate,\n Row,\n Select,\n Slider,\n Spin,\n Statistic,\n Steps,\n Switch,\n Table,\n Transfer,\n Tree,\n TreeSelect,\n Tabs,\n Tag,\n TimePicker,\n Timeline,\n Tooltip,\n Upload,\n Drawer,\n Skeleton,\n Comment,\n // ColorPicker,\n ConfigProvider,\n Empty,\n Result,\n Descriptions,\n PageHeader,\n Space,\n};\n\nexport default {\n version,\n install,\n};\n","import PropTypes from '../../_util/vue-types';\n\nconst defaultProps = {\n accessibility: PropTypes.bool.def(true),\n // 自定义高度\n adaptiveHeight: PropTypes.bool.def(false),\n afterChange: PropTypes.any.def(null),\n arrows: PropTypes.bool.def(true),\n autoplay: PropTypes.bool.def(false),\n autoplaySpeed: PropTypes.number.def(3000),\n beforeChange: PropTypes.any.def(null),\n centerMode: PropTypes.bool.def(false),\n centerPadding: PropTypes.string.def('50px'),\n cssEase: PropTypes.string.def('ease'),\n dots: PropTypes.bool.def(false),\n dotsClass: PropTypes.string.def('slick-dots'),\n draggable: PropTypes.bool.def(true),\n unslick: PropTypes.bool.def(false),\n easing: PropTypes.string.def('linear'),\n edgeFriction: PropTypes.number.def(0.35),\n fade: PropTypes.bool.def(false),\n focusOnSelect: PropTypes.bool.def(false),\n infinite: PropTypes.bool.def(true),\n initialSlide: PropTypes.number.def(0),\n lazyLoad: PropTypes.any.def(null),\n verticalSwiping: PropTypes.bool.def(false),\n asNavFor: PropTypes.any.def(null),\n // 圆点hover是否暂停\n pauseOnDotsHover: PropTypes.bool.def(false),\n // focus是否暂停\n pauseOnFocus: PropTypes.bool.def(false),\n // hover是否暂停\n pauseOnHover: PropTypes.bool.def(true),\n responsive: PropTypes.array,\n rows: PropTypes.number.def(1),\n rtl: PropTypes.bool.def(false),\n slide: PropTypes.string.def('div'),\n slidesPerRow: PropTypes.number.def(1),\n slidesToScroll: PropTypes.number.def(1),\n slidesToShow: PropTypes.number.def(1),\n speed: PropTypes.number.def(500),\n swipe: PropTypes.bool.def(true),\n swipeEvent: PropTypes.any.def(null),\n swipeToSlide: PropTypes.bool.def(false),\n touchMove: PropTypes.bool.def(true),\n touchThreshold: PropTypes.number.def(5),\n useCSS: PropTypes.bool.def(true),\n useTransform: PropTypes.bool.def(true),\n variableWidth: PropTypes.bool.def(false),\n vertical: PropTypes.bool.def(false),\n waitForAnimate: PropTypes.bool.def(true),\n children: PropTypes.array,\n __propsSymbol__: PropTypes.any,\n};\n\nexport default defaultProps;\n","const initialState = {\n animating: false,\n autoplaying: null,\n currentDirection: 0,\n currentLeft: null,\n currentSlide: 0,\n direction: 1,\n dragging: false,\n edgeDragged: false,\n initialized: false,\n lazyLoadedList: [],\n listHeight: null,\n listWidth: null,\n scrolling: false,\n slideCount: null,\n slideHeight: null,\n slideWidth: null,\n swipeLeft: null,\n swiped: false, // used by swipeEvent. differentites between touch and swipe.\n swiping: false,\n touchObject: { startX: 0, startY: 0, curX: 0, curY: 0 },\n trackStyle: {},\n trackWidth: 0,\n};\n\nexport default initialState;\n","export const getOnDemandLazySlides = spec => {\n const onDemandSlides = [];\n const startIndex = lazyStartIndex(spec);\n const endIndex = lazyEndIndex(spec);\n for (let slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n if (spec.lazyLoadedList.indexOf(slideIndex) < 0) {\n onDemandSlides.push(slideIndex);\n }\n }\n return onDemandSlides;\n};\n\n// return list of slides that need to be present\nexport const getRequiredLazySlides = spec => {\n const requiredSlides = [];\n const startIndex = lazyStartIndex(spec);\n const endIndex = lazyEndIndex(spec);\n for (let slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n requiredSlides.push(slideIndex);\n }\n return requiredSlides;\n};\n\n// startIndex that needs to be present\nexport const lazyStartIndex = spec => spec.currentSlide - lazySlidesOnLeft(spec);\nexport const lazyEndIndex = spec => spec.currentSlide + lazySlidesOnRight(spec);\nexport const lazySlidesOnLeft = spec =>\n spec.centerMode\n ? Math.floor(spec.slidesToShow / 2) + (parseInt(spec.centerPadding) > 0 ? 1 : 0)\n : 0;\nexport const lazySlidesOnRight = spec =>\n spec.centerMode\n ? Math.floor((spec.slidesToShow - 1) / 2) + 1 + (parseInt(spec.centerPadding) > 0 ? 1 : 0)\n : spec.slidesToShow;\n\n// get width of an element\nexport const getWidth = elem => (elem && elem.offsetWidth) || 0;\nexport const getHeight = elem => (elem && elem.offsetHeight) || 0;\nexport const getSwipeDirection = (touchObject, verticalSwiping = false) => {\n let swipeAngle;\n const xDist = touchObject.startX - touchObject.curX;\n const yDist = touchObject.startY - touchObject.curY;\n const r = Math.atan2(yDist, xDist);\n swipeAngle = Math.round((r * 180) / Math.PI);\n if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n if ((swipeAngle <= 45 && swipeAngle >= 0) || (swipeAngle <= 360 && swipeAngle >= 315)) {\n return 'left';\n }\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return 'right';\n }\n if (verticalSwiping === true) {\n if (swipeAngle >= 35 && swipeAngle <= 135) {\n return 'up';\n } else {\n return 'down';\n }\n }\n\n return 'vertical';\n};\n\n// whether or not we can go next\nexport const canGoNext = spec => {\n let canGo = true;\n if (!spec.infinite) {\n if (spec.centerMode && spec.currentSlide >= spec.slideCount - 1) {\n canGo = false;\n } else if (\n spec.slideCount <= spec.slidesToShow ||\n spec.currentSlide >= spec.slideCount - spec.slidesToShow\n ) {\n canGo = false;\n }\n }\n return canGo;\n};\n\n// given an object and a list of keys, return new object with given keys\nexport const extractObject = (spec, keys) => {\n const newObject = {};\n keys.forEach(key => (newObject[key] = spec[key]));\n return newObject;\n};\n\n// get initialized state\nexport const initializedState = spec => {\n // spec also contains listRef, trackRef\n const slideCount = spec.children.length;\n const listWidth = Math.ceil(getWidth(spec.listRef));\n const trackWidth = Math.ceil(getWidth(spec.trackRef));\n let slideWidth;\n if (!spec.vertical) {\n let centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2;\n if (typeof spec.centerPadding === 'string' && spec.centerPadding.slice(-1) === '%') {\n centerPaddingAdj *= listWidth / 100;\n }\n slideWidth = Math.ceil((listWidth - centerPaddingAdj) / spec.slidesToShow);\n } else {\n slideWidth = listWidth;\n }\n const slideHeight = spec.listRef && getHeight(spec.listRef.querySelector('[data-index=\"0\"]'));\n const listHeight = slideHeight * spec.slidesToShow;\n let currentSlide = spec.currentSlide === undefined ? spec.initialSlide : spec.currentSlide;\n if (spec.rtl && spec.currentSlide === undefined) {\n currentSlide = slideCount - 1 - spec.initialSlide;\n }\n const lazyLoadedList = spec.lazyLoadedList || [];\n const slidesToLoad = getOnDemandLazySlides({ currentSlide, lazyLoadedList }, spec);\n lazyLoadedList.concat(slidesToLoad);\n\n const state = {\n slideCount,\n slideWidth,\n listWidth,\n trackWidth,\n currentSlide,\n slideHeight,\n listHeight,\n lazyLoadedList,\n };\n\n if (spec.autoplaying === null && spec.autoplay) {\n state['autoplaying'] = 'playing';\n }\n\n return state;\n};\n\nexport const slideHandler = spec => {\n const {\n waitForAnimate,\n animating,\n fade,\n infinite,\n index,\n slideCount,\n lazyLoadedList,\n lazyLoad,\n currentSlide,\n centerMode,\n slidesToScroll,\n slidesToShow,\n useCSS,\n } = spec;\n if (waitForAnimate && animating) return {};\n let animationSlide = index;\n let finalSlide;\n let animationLeft;\n let finalLeft;\n let state = {};\n let nextState = {};\n if (fade) {\n if (!infinite && (index < 0 || index >= slideCount)) return {};\n if (index < 0) {\n animationSlide = index + slideCount;\n } else if (index >= slideCount) {\n animationSlide = index - slideCount;\n }\n if (lazyLoad && lazyLoadedList.indexOf(animationSlide) < 0) {\n lazyLoadedList.push(animationSlide);\n }\n state = {\n animating: true,\n currentSlide: animationSlide,\n lazyLoadedList,\n };\n nextState = { animating: false };\n } else {\n finalSlide = animationSlide;\n if (animationSlide < 0) {\n finalSlide = animationSlide + slideCount;\n if (!infinite) finalSlide = 0;\n else if (slideCount % slidesToScroll !== 0) {\n finalSlide = slideCount - (slideCount % slidesToScroll);\n }\n } else if (!canGoNext(spec) && animationSlide > currentSlide) {\n animationSlide = finalSlide = currentSlide;\n } else if (centerMode && animationSlide >= slideCount) {\n animationSlide = infinite ? slideCount : slideCount - 1;\n finalSlide = infinite ? 0 : slideCount - 1;\n } else if (animationSlide >= slideCount) {\n finalSlide = animationSlide - slideCount;\n if (!infinite) finalSlide = slideCount - slidesToShow;\n else if (slideCount % slidesToScroll !== 0) finalSlide = 0;\n }\n animationLeft = getTrackLeft({ ...spec, slideIndex: animationSlide });\n finalLeft = getTrackLeft({ ...spec, slideIndex: finalSlide });\n if (!infinite) {\n if (animationLeft === finalLeft) animationSlide = finalSlide;\n animationLeft = finalLeft;\n }\n lazyLoad &&\n lazyLoadedList.concat(getOnDemandLazySlides({ ...spec, currentSlide: animationSlide }));\n if (!useCSS) {\n state = {\n currentSlide: finalSlide,\n trackStyle: getTrackCSS({ ...spec, left: finalLeft }),\n lazyLoadedList,\n };\n } else {\n state = {\n animating: true,\n currentSlide: finalSlide,\n trackStyle: getTrackAnimateCSS({ ...spec, left: animationLeft }),\n lazyLoadedList,\n };\n nextState = {\n animating: false,\n currentSlide: finalSlide,\n trackStyle: getTrackCSS({ ...spec, left: finalLeft }),\n swipeLeft: null,\n };\n }\n }\n return { state, nextState };\n};\n\nexport const changeSlide = (spec, options) => {\n let previousInt, slideOffset, targetSlide;\n const { slidesToScroll, slidesToShow, slideCount, currentSlide, lazyLoad, infinite } = spec;\n const unevenOffset = slideCount % slidesToScroll !== 0;\n const indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll;\n\n if (options.message === 'previous') {\n slideOffset = indexOffset === 0 ? slidesToScroll : slidesToShow - indexOffset;\n targetSlide = currentSlide - slideOffset;\n if (lazyLoad && !infinite) {\n previousInt = currentSlide - slideOffset;\n targetSlide = previousInt === -1 ? slideCount - 1 : previousInt;\n }\n } else if (options.message === 'next') {\n slideOffset = indexOffset === 0 ? slidesToScroll : indexOffset;\n targetSlide = currentSlide + slideOffset;\n if (lazyLoad && !infinite) {\n targetSlide = ((currentSlide + slidesToScroll) % slideCount) + indexOffset;\n }\n } else if (options.message === 'dots') {\n // Click on dots\n targetSlide = options.index * options.slidesToScroll;\n if (targetSlide === options.currentSlide) {\n return null;\n }\n } else if (options.message === 'children') {\n // Click on the slides\n targetSlide = options.index;\n if (targetSlide === options.currentSlide) {\n return null;\n }\n if (infinite) {\n const direction = siblingDirection({ ...spec, targetSlide });\n if (targetSlide > options.currentSlide && direction === 'left') {\n targetSlide = targetSlide - slideCount;\n } else if (targetSlide < options.currentSlide && direction === 'right') {\n targetSlide = targetSlide + slideCount;\n }\n }\n } else if (options.message === 'index') {\n targetSlide = Number(options.index);\n if (targetSlide === options.currentSlide) {\n return null;\n }\n }\n return targetSlide;\n};\nexport const keyHandler = (e, accessibility, rtl) => {\n if (e.target.tagName.match('TEXTAREA|INPUT|SELECT') || !accessibility) {\n return '';\n }\n if (e.keyCode === 37) return rtl ? 'next' : 'previous';\n if (e.keyCode === 39) return rtl ? 'previous' : 'next';\n return '';\n};\n\nexport const swipeStart = (e, swipe, draggable) => {\n e.target.tagName === 'IMG' && e.preventDefault();\n if (!swipe || (!draggable && e.type.indexOf('mouse') !== -1)) return '';\n return {\n dragging: true,\n touchObject: {\n startX: e.touches ? e.touches[0].pageX : e.clientX,\n startY: e.touches ? e.touches[0].pageY : e.clientY,\n curX: e.touches ? e.touches[0].pageX : e.clientX,\n curY: e.touches ? e.touches[0].pageY : e.clientY,\n },\n };\n};\nexport const swipeMove = (e, spec) => {\n // spec also contains, trackRef and slideIndex\n const {\n scrolling,\n animating,\n vertical,\n swipeToSlide,\n verticalSwiping,\n rtl,\n currentSlide,\n edgeFriction,\n edgeDragged,\n onEdge,\n swiped,\n swiping,\n slideCount,\n slidesToScroll,\n infinite,\n touchObject,\n swipeEvent,\n listHeight,\n listWidth,\n } = spec;\n if (scrolling) return;\n if (animating) return e.preventDefault();\n if (vertical && swipeToSlide && verticalSwiping) e.preventDefault();\n let swipeLeft;\n let state = {};\n const curLeft = getTrackLeft(spec);\n touchObject.curX = e.touches ? e.touches[0].pageX : e.clientX;\n touchObject.curY = e.touches ? e.touches[0].pageY : e.clientY;\n touchObject.swipeLength = Math.round(\n Math.sqrt(Math.pow(touchObject.curX - touchObject.startX, 2)),\n );\n const verticalSwipeLength = Math.round(\n Math.sqrt(Math.pow(touchObject.curY - touchObject.startY, 2)),\n );\n if (!verticalSwiping && !swiping && verticalSwipeLength > 10) {\n return { scrolling: true };\n }\n if (verticalSwiping) touchObject.swipeLength = verticalSwipeLength;\n let positionOffset = (!rtl ? 1 : -1) * (touchObject.curX > touchObject.startX ? 1 : -1);\n if (verticalSwiping) {\n positionOffset = touchObject.curY > touchObject.startY ? 1 : -1;\n }\n\n const dotCount = Math.ceil(slideCount / slidesToScroll);\n const swipeDirection = getSwipeDirection(spec.touchObject, verticalSwiping);\n let touchSwipeLength = touchObject.swipeLength;\n if (!infinite) {\n if (\n (currentSlide === 0 && swipeDirection === 'right') ||\n (currentSlide + 1 >= dotCount && swipeDirection === 'left') ||\n (!canGoNext(spec) && swipeDirection === 'left')\n ) {\n touchSwipeLength = touchObject.swipeLength * edgeFriction;\n if (edgeDragged === false && onEdge) {\n onEdge(swipeDirection);\n state['edgeDragged'] = true;\n }\n }\n }\n if (!swiped && swipeEvent) {\n swipeEvent(swipeDirection);\n state['swiped'] = true;\n }\n if (!vertical) {\n if (!rtl) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n } else {\n swipeLeft = curLeft - touchSwipeLength * positionOffset;\n }\n } else {\n swipeLeft = curLeft + touchSwipeLength * (listHeight / listWidth) * positionOffset;\n }\n if (verticalSwiping) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n }\n state = {\n ...state,\n touchObject,\n swipeLeft,\n trackStyle: getTrackCSS({ ...spec, left: swipeLeft }),\n };\n if (\n Math.abs(touchObject.curX - touchObject.startX) <\n Math.abs(touchObject.curY - touchObject.startY) * 0.8\n ) {\n return state;\n }\n if (touchObject.swipeLength > 10) {\n state['swiping'] = true;\n e.preventDefault();\n }\n return state;\n};\nexport const swipeEnd = (e, spec) => {\n const {\n dragging,\n swipe,\n touchObject,\n listWidth,\n touchThreshold,\n verticalSwiping,\n listHeight,\n currentSlide,\n swipeToSlide,\n scrolling,\n onSwipe,\n } = spec;\n if (!dragging) {\n if (swipe) e.preventDefault();\n return {};\n }\n const minSwipe = verticalSwiping ? listHeight / touchThreshold : listWidth / touchThreshold;\n const swipeDirection = getSwipeDirection(touchObject, verticalSwiping);\n // reset the state of touch related state variables.\n const state = {\n dragging: false,\n edgeDragged: false,\n scrolling: false,\n swiping: false,\n swiped: false,\n swipeLeft: null,\n touchObject: {},\n };\n if (scrolling) {\n return state;\n }\n if (!touchObject.swipeLength) {\n return state;\n }\n if (touchObject.swipeLength > minSwipe) {\n e.preventDefault();\n if (onSwipe) {\n onSwipe(swipeDirection);\n }\n let slideCount, newSlide;\n switch (swipeDirection) {\n case 'left':\n case 'up':\n newSlide = currentSlide + getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state['currentDirection'] = 0;\n break;\n case 'right':\n case 'down':\n newSlide = currentSlide - getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state['currentDirection'] = 1;\n break;\n default:\n slideCount = currentSlide;\n }\n state['triggerSlideHandler'] = slideCount;\n } else {\n // Adjust the track back to it's original position.\n const currentLeft = getTrackLeft(spec);\n state['trackStyle'] = getTrackAnimateCSS({ ...spec, left: currentLeft });\n }\n return state;\n};\nexport const getNavigableIndexes = spec => {\n const max = spec.infinite ? spec.slideCount * 2 : spec.slideCount;\n let breakpoint = spec.infinite ? spec.slidesToShow * -1 : 0;\n let counter = spec.infinite ? spec.slidesToShow * -1 : 0;\n const indexes = [];\n while (breakpoint < max) {\n indexes.push(breakpoint);\n breakpoint = counter + spec.slidesToScroll;\n counter += Math.min(spec.slidesToScroll, spec.slidesToShow);\n }\n return indexes;\n};\nexport const checkNavigable = (spec, index) => {\n const navigables = getNavigableIndexes(spec);\n let prevNavigable = 0;\n if (index > navigables[navigables.length - 1]) {\n index = navigables[navigables.length - 1];\n } else {\n for (const n in navigables) {\n if (index < navigables[n]) {\n index = prevNavigable;\n break;\n }\n prevNavigable = navigables[n];\n }\n }\n return index;\n};\nexport const getSlideCount = spec => {\n const centerOffset = spec.centerMode ? spec.slideWidth * Math.floor(spec.slidesToShow / 2) : 0;\n if (spec.swipeToSlide) {\n let swipedSlide;\n const slickList = spec.listRef;\n const slides = slickList.querySelectorAll('.slick-slide');\n Array.from(slides).every(slide => {\n if (!spec.vertical) {\n if (slide.offsetLeft - centerOffset + getWidth(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n } else {\n if (slide.offsetTop + getHeight(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n }\n\n return true;\n });\n\n if (!swipedSlide) {\n return 0;\n }\n const currentIndex =\n spec.rtl === true ? spec.slideCount - spec.currentSlide : spec.currentSlide;\n const slidesTraversed = Math.abs(swipedSlide.dataset.index - currentIndex) || 1;\n return slidesTraversed;\n } else {\n return spec.slidesToScroll;\n }\n};\n\nexport const checkSpecKeys = (spec, keysArray) =>\n keysArray.reduce((value, key) => value && spec.hasOwnProperty(key), true)\n ? null\n : console.error('Keys Missing:', spec);\n\nexport const getTrackCSS = spec => {\n checkSpecKeys(spec, ['left', 'variableWidth', 'slideCount', 'slidesToShow', 'slideWidth']);\n let trackWidth, trackHeight;\n const trackChildren = spec.slideCount + 2 * spec.slidesToShow;\n if (!spec.vertical) {\n trackWidth = getTotalSlides(spec) * spec.slideWidth;\n } else {\n trackHeight = trackChildren * spec.slideHeight;\n }\n let style = {\n opacity: 1,\n transition: '',\n WebkitTransition: '',\n };\n if (spec.useTransform) {\n const WebkitTransform = !spec.vertical\n ? 'translate3d(' + spec.left + 'px, 0px, 0px)'\n : 'translate3d(0px, ' + spec.left + 'px, 0px)';\n const transform = !spec.vertical\n ? 'translate3d(' + spec.left + 'px, 0px, 0px)'\n : 'translate3d(0px, ' + spec.left + 'px, 0px)';\n const msTransform = !spec.vertical\n ? 'translateX(' + spec.left + 'px)'\n : 'translateY(' + spec.left + 'px)';\n style = {\n ...style,\n WebkitTransform,\n transform,\n msTransform,\n };\n } else {\n if (spec.vertical) {\n style['top'] = spec.left;\n } else {\n style['left'] = spec.left;\n }\n }\n if (spec.fade) style = { opacity: 1 };\n if (trackWidth) style.width = trackWidth + 'px';\n if (trackHeight) style.height = trackHeight + 'px';\n\n // Fallback for IE8\n if (window && !window.addEventListener && window.attachEvent) {\n if (!spec.vertical) {\n style.marginLeft = spec.left + 'px';\n } else {\n style.marginTop = spec.left + 'px';\n }\n }\n\n return style;\n};\nexport const getTrackAnimateCSS = spec => {\n checkSpecKeys(spec, [\n 'left',\n 'variableWidth',\n 'slideCount',\n 'slidesToShow',\n 'slideWidth',\n 'speed',\n 'cssEase',\n ]);\n const style = getTrackCSS(spec);\n // useCSS is true by default so it can be undefined\n if (spec.useTransform) {\n style.WebkitTransition = '-webkit-transform ' + spec.speed + 'ms ' + spec.cssEase;\n style.transition = 'transform ' + spec.speed + 'ms ' + spec.cssEase;\n } else {\n if (spec.vertical) {\n style.transition = 'top ' + spec.speed + 'ms ' + spec.cssEase;\n } else {\n style.transition = 'left ' + spec.speed + 'ms ' + spec.cssEase;\n }\n }\n return style;\n};\nexport const getTrackLeft = spec => {\n if (spec.unslick) {\n return 0;\n }\n\n checkSpecKeys(spec, [\n 'slideIndex',\n 'trackRef',\n 'infinite',\n 'centerMode',\n 'slideCount',\n 'slidesToShow',\n 'slidesToScroll',\n 'slideWidth',\n 'listWidth',\n 'variableWidth',\n 'slideHeight',\n ]);\n\n const {\n slideIndex,\n trackRef,\n infinite,\n centerMode,\n slideCount,\n slidesToShow,\n slidesToScroll,\n slideWidth,\n listWidth,\n variableWidth,\n slideHeight,\n fade,\n vertical,\n } = spec;\n\n let slideOffset = 0;\n let targetLeft;\n let targetSlide;\n let verticalOffset = 0;\n\n if (fade || spec.slideCount === 1) {\n return 0;\n }\n\n let slidesToOffset = 0;\n if (infinite) {\n slidesToOffset = -getPreClones(spec); // bring active slide to the beginning of visual area\n // if next scroll doesn't have enough children, just reach till the end of original slides instead of shifting slidesToScroll children\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = -(slideIndex > slideCount\n ? slidesToShow - (slideIndex - slideCount)\n : slideCount % slidesToScroll);\n }\n // shift current slide to center of the frame\n if (centerMode) {\n slidesToOffset += parseInt(slidesToShow / 2);\n }\n } else {\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = slidesToShow - (slideCount % slidesToScroll);\n }\n if (centerMode) {\n slidesToOffset = parseInt(slidesToShow / 2);\n }\n }\n slideOffset = slidesToOffset * slideWidth;\n verticalOffset = slidesToOffset * slideHeight;\n\n if (!vertical) {\n targetLeft = slideIndex * slideWidth * -1 + slideOffset;\n } else {\n targetLeft = slideIndex * slideHeight * -1 + verticalOffset;\n }\n\n if (variableWidth === true) {\n let targetSlideIndex;\n const trackElem = trackRef;\n targetSlideIndex = slideIndex + getPreClones(spec);\n targetSlide = trackElem && trackElem.childNodes[targetSlideIndex];\n targetLeft = targetSlide ? targetSlide.offsetLeft * -1 : 0;\n if (centerMode === true) {\n targetSlideIndex = infinite ? slideIndex + getPreClones(spec) : slideIndex;\n targetSlide = trackElem && trackElem.children[targetSlideIndex];\n targetLeft = 0;\n for (let slide = 0; slide < targetSlideIndex; slide++) {\n targetLeft -=\n trackElem && trackElem.children[slide] && trackElem.children[slide].offsetWidth;\n }\n targetLeft -= parseInt(spec.centerPadding);\n targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2;\n }\n }\n\n return targetLeft;\n};\n\nexport const getPreClones = spec => {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n if (spec.variableWidth) {\n return spec.slideCount;\n }\n return spec.slidesToShow + (spec.centerMode ? 1 : 0);\n};\n\nexport const getPostClones = spec => {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n return spec.slideCount;\n};\n\nexport const getTotalSlides = spec =>\n spec.slideCount === 1 ? 1 : getPreClones(spec) + spec.slideCount + getPostClones(spec);\nexport const siblingDirection = spec => {\n if (spec.targetSlide > spec.currentSlide) {\n if (spec.targetSlide > spec.currentSlide + slidesOnRight(spec)) {\n return 'left';\n }\n return 'right';\n } else {\n if (spec.targetSlide < spec.currentSlide - slidesOnLeft(spec)) {\n return 'right';\n }\n return 'left';\n }\n};\n\nexport const slidesOnRight = ({ slidesToShow, centerMode, rtl, centerPadding }) => {\n // returns no of slides on the right of active slide\n if (centerMode) {\n let right = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) right += 1;\n if (rtl && slidesToShow % 2 === 0) right += 1;\n return right;\n }\n if (rtl) {\n return 0;\n }\n return slidesToShow - 1;\n};\n\nexport const slidesOnLeft = ({ slidesToShow, centerMode, rtl, centerPadding }) => {\n // returns no of slides on the left of active slide\n if (centerMode) {\n let left = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) left += 1;\n if (!rtl && slidesToShow % 2 === 0) left += 1;\n return left;\n }\n if (rtl) {\n return slidesToShow - 1;\n }\n return 0;\n};\n\nexport const canUseDOM = () =>\n !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n","import classnames from 'classnames';\nimport { cloneElement } from '../../_util/vnode';\nimport { getStyle, getClass } from '../../_util/props-util';\nimport { lazyStartIndex, lazyEndIndex, getPreClones } from './utils/innerSliderUtils';\n\n// given specifications/props for a slide, fetch all the classes that need to be applied to the slide\nconst getSlideClasses = spec => {\n let slickActive, slickCenter;\n let centerOffset, index;\n\n if (spec.rtl) {\n index = spec.slideCount - 1 - spec.index;\n } else {\n index = spec.index;\n }\n const slickCloned = index < 0 || index >= spec.slideCount;\n if (spec.centerMode) {\n centerOffset = Math.floor(spec.slidesToShow / 2);\n slickCenter = (index - spec.currentSlide) % spec.slideCount === 0;\n if (index > spec.currentSlide - centerOffset - 1 && index <= spec.currentSlide + centerOffset) {\n slickActive = true;\n }\n } else {\n slickActive = spec.currentSlide <= index && index < spec.currentSlide + spec.slidesToShow;\n }\n const slickCurrent = index === spec.currentSlide;\n return {\n 'slick-slide': true,\n 'slick-active': slickActive,\n 'slick-center': slickCenter,\n 'slick-cloned': slickCloned,\n 'slick-current': slickCurrent, // dubious in case of RTL\n };\n};\n\nconst getSlideStyle = function(spec) {\n const style = {};\n\n if (spec.variableWidth === undefined || spec.variableWidth === false) {\n style.width = spec.slideWidth + (typeof spec.slideWidth === 'number' ? 'px' : '');\n }\n\n if (spec.fade) {\n style.position = 'relative';\n if (spec.vertical) {\n style.top = -spec.index * parseInt(spec.slideHeight) + 'px';\n } else {\n style.left = -spec.index * parseInt(spec.slideWidth) + 'px';\n }\n style.opacity = spec.currentSlide === spec.index ? 1 : 0;\n style.transition =\n 'opacity ' +\n spec.speed +\n 'ms ' +\n spec.cssEase +\n ', ' +\n 'visibility ' +\n spec.speed +\n 'ms ' +\n spec.cssEase;\n style.WebkitTransition =\n 'opacity ' +\n spec.speed +\n 'ms ' +\n spec.cssEase +\n ', ' +\n 'visibility ' +\n spec.speed +\n 'ms ' +\n spec.cssEase;\n }\n\n return style;\n};\n\nconst getKey = (child, fallbackKey) => child.key || (child.key === 0 && '0') || fallbackKey;\n\nconst renderSlides = function(spec, children, createElement) {\n let key;\n const slides = [];\n const preCloneSlides = [];\n const postCloneSlides = [];\n const childrenCount = children.length;\n const startIndex = lazyStartIndex(spec);\n const endIndex = lazyEndIndex(spec);\n\n children.forEach((elem, index) => {\n let child;\n const childOnClickOptions = {\n message: 'children',\n index,\n slidesToScroll: spec.slidesToScroll,\n currentSlide: spec.currentSlide,\n };\n\n // in case of lazyLoad, whether or not we want to fetch the slide\n if (!spec.lazyLoad || (spec.lazyLoad && spec.lazyLoadedList.indexOf(index) >= 0)) {\n child = elem;\n } else {\n child = createElement('div');\n }\n const childStyle = getSlideStyle({ ...spec, index });\n const slideClass = getClass(child.context) || '';\n let slideClasses = getSlideClasses({ ...spec, index });\n // push a cloned element of the desired slide\n slides.push(\n cloneElement(\n child,\n {\n key: 'original' + getKey(child, index),\n attrs: {\n tabIndex: '-1',\n 'data-index': index,\n 'aria-hidden': !slideClasses['slick-active'],\n },\n class: classnames(slideClasses, slideClass),\n style: { outline: 'none', ...(getStyle(child.context) || {}), ...childStyle },\n on: {\n click: () => {\n // child.props && child.props.onClick && child.props.onClick(e)\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n },\n },\n },\n true,\n ),\n );\n\n // if slide needs to be precloned or postcloned\n if (spec.infinite && spec.fade === false) {\n const preCloneNo = childrenCount - index;\n if (preCloneNo <= getPreClones(spec) && childrenCount !== spec.slidesToShow) {\n key = -preCloneNo;\n if (key >= startIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses({ ...spec, index: key });\n preCloneSlides.push(\n cloneElement(child, {\n key: 'precloned' + getKey(child, key),\n class: classnames(slideClasses, slideClass),\n attrs: {\n tabIndex: '-1',\n 'data-index': key,\n 'aria-hidden': !slideClasses['slick-active'],\n },\n style: { ...(getStyle(child.context) || {}), ...childStyle },\n on: {\n click: () => {\n // child.props && child.props.onClick && child.props.onClick(e)\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n },\n },\n }),\n );\n }\n\n if (childrenCount !== spec.slidesToShow) {\n key = childrenCount + index;\n if (key < endIndex) {\n child = elem;\n }\n slideClasses = getSlideClasses({ ...spec, index: key });\n postCloneSlides.push(\n cloneElement(child, {\n key: 'postcloned' + getKey(child, key),\n attrs: {\n tabIndex: '-1',\n 'data-index': key,\n 'aria-hidden': !slideClasses['slick-active'],\n },\n class: classnames(slideClasses, slideClass),\n style: { ...(getStyle(child.context) || {}), ...childStyle },\n on: {\n click: () => {\n // child.props && child.props.onClick && child.props.onClick(e)\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n },\n },\n }),\n );\n }\n }\n });\n if (spec.rtl) {\n return preCloneSlides.concat(slides, postCloneSlides).reverse();\n } else {\n return preCloneSlides.concat(slides, postCloneSlides);\n }\n};\n\nexport default {\n functional: true,\n render(createElement, context) {\n const { props, listeners, children, data } = context;\n const slides = renderSlides(props, children, createElement);\n const { mouseenter, mouseover, mouseleave } = listeners;\n const mouseEvents = { mouseenter, mouseover, mouseleave };\n const trackProps = {\n class: 'slick-track',\n style: props.trackStyle,\n on: {\n ...mouseEvents,\n },\n directives: data.directives,\n };\n return <div {...trackProps}>{slides}</div>;\n },\n};\n","import classnames from 'classnames';\nimport { cloneElement } from '../../_util/vnode';\n\nconst getDotCount = function(spec) {\n let dots;\n\n if (spec.infinite) {\n dots = Math.ceil(spec.slideCount / spec.slidesToScroll);\n } else {\n dots = Math.ceil((spec.slideCount - spec.slidesToShow) / spec.slidesToScroll) + 1;\n }\n\n return dots;\n};\n\nexport default {\n functional: true,\n render(createElement, context) {\n const { props, listeners } = context;\n const {\n slideCount,\n slidesToScroll,\n slidesToShow,\n infinite,\n currentSlide,\n appendDots,\n customPaging,\n clickHandler,\n dotsClass,\n } = props;\n const dotCount = getDotCount({\n slideCount,\n slidesToScroll,\n slidesToShow,\n infinite,\n });\n\n // Apply join & split to Array to pre-fill it for IE8\n //\n // Credit: http://stackoverflow.com/a/13735425/1849458\n const { mouseenter, mouseover, mouseleave } = listeners;\n const mouseEvents = { mouseenter, mouseover, mouseleave };\n const dots = Array.apply(\n null,\n Array(dotCount + 1)\n .join('0')\n .split(''),\n ).map((x, i) => {\n const leftBound = i * slidesToScroll;\n const rightBound = i * slidesToScroll + (slidesToScroll - 1);\n const className = classnames({\n 'slick-active': currentSlide >= leftBound && currentSlide <= rightBound,\n });\n\n const dotOptions = {\n message: 'dots',\n index: i,\n slidesToScroll,\n currentSlide,\n };\n function onClick(e) {\n // In Autoplay the focus stays on clicked button even after transition\n // to next slide. That only goes away by click somewhere outside\n if (e) {\n e.preventDefault();\n }\n clickHandler(dotOptions);\n }\n return (\n <li key={i} class={className}>\n {cloneElement(customPaging({ i }), {\n on: {\n click: onClick,\n },\n })}\n </li>\n );\n });\n\n return cloneElement(appendDots({ dots }), {\n class: dotsClass,\n on: {\n ...mouseEvents,\n },\n });\n },\n};\n","import { cloneElement } from '../../_util/vnode';\nimport { canGoNext } from './utils/innerSliderUtils';\n\nfunction noop() {}\n\nexport const PrevArrow = {\n functional: true,\n clickHandler(options, handle, e) {\n if (e) {\n e.preventDefault();\n }\n handle(options, e);\n },\n render(createElement, context) {\n const { props } = context;\n const { clickHandler, infinite, currentSlide, slideCount, slidesToShow } = props;\n const prevClasses = { 'slick-arrow': true, 'slick-prev': true };\n let prevHandler = function(e) {\n if (e) {\n e.preventDefault();\n }\n clickHandler({ message: 'previous' });\n };\n\n if (!infinite && (currentSlide === 0 || slideCount <= slidesToShow)) {\n prevClasses['slick-disabled'] = true;\n prevHandler = noop;\n }\n\n const prevArrowProps = {\n key: '0',\n domProps: {\n 'data-role': 'none',\n },\n class: prevClasses,\n style: { display: 'block' },\n on: {\n click: prevHandler,\n },\n };\n const customProps = {\n currentSlide,\n slideCount,\n };\n let prevArrow;\n\n if (props.prevArrow) {\n prevArrow = cloneElement(\n props.prevArrow({\n ...prevArrowProps,\n ...{\n props: customProps,\n },\n }),\n {\n key: '0',\n class: prevClasses,\n style: { display: 'block' },\n on: {\n click: prevHandler,\n },\n },\n );\n } else {\n prevArrow = (\n <button key=\"0\" type=\"button\" {...prevArrowProps}>\n {' '}\n Previous\n </button>\n );\n }\n\n return prevArrow;\n },\n};\n\nexport const NextArrow = {\n functional: true,\n clickHandler(options, handle, e) {\n if (e) {\n e.preventDefault();\n }\n handle(options, e);\n },\n render(createElement, context) {\n const { props } = context;\n const { clickHandler, currentSlide, slideCount } = props;\n\n const nextClasses = { 'slick-arrow': true, 'slick-next': true };\n let nextHandler = function(e) {\n if (e) {\n e.preventDefault();\n }\n clickHandler({ message: 'next' });\n };\n if (!canGoNext(props)) {\n nextClasses['slick-disabled'] = true;\n nextHandler = noop;\n }\n\n const nextArrowProps = {\n key: '1',\n domProps: {\n 'data-role': 'none',\n },\n class: nextClasses,\n style: { display: 'block' },\n on: {\n click: nextHandler,\n },\n };\n const customProps = {\n currentSlide,\n slideCount,\n };\n let nextArrow;\n\n if (props.nextArrow) {\n nextArrow = cloneElement(\n props.nextArrow({\n ...nextArrowProps,\n ...{\n props: customProps,\n },\n }),\n {\n key: '1',\n class: nextClasses,\n style: { display: 'block' },\n on: {\n click: nextHandler,\n },\n },\n );\n } else {\n nextArrow = (\n <button key=\"1\" type=\"button\" {...nextArrowProps}>\n {' '}\n Next\n </button>\n );\n }\n\n return nextArrow;\n },\n};\n","import debounce from 'lodash/debounce';\nimport classnames from 'classnames';\nimport Vue from 'vue';\nimport ref from 'vue-ref';\nimport { getStyle, getListeners } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport defaultProps from './default-props';\nimport initialState from './initial-state';\nimport {\n getOnDemandLazySlides,\n extractObject,\n initializedState,\n getHeight,\n canGoNext,\n slideHandler,\n changeSlide,\n keyHandler,\n swipeStart,\n swipeMove,\n swipeEnd,\n getPreClones,\n getPostClones,\n getTrackLeft,\n getTrackCSS,\n} from './utils/innerSliderUtils';\nimport Track from './track';\nimport Dots from './dots';\nimport { PrevArrow, NextArrow } from './arrows';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nVue.use(ref, { name: 'ant-ref' });\n\nfunction noop() {}\n\nexport default {\n props: {\n ...defaultProps,\n },\n mixins: [BaseMixin],\n data() {\n this.preProps = { ...this.$props };\n this.list = null;\n this.track = null;\n this.callbackTimers = [];\n this.clickable = true;\n this.debouncedResize = null;\n return {\n ...initialState,\n currentSlide: this.initialSlide,\n slideCount: this.children.length,\n };\n },\n methods: {\n listRefHandler(ref) {\n this.list = ref;\n },\n trackRefHandler(ref) {\n this.track = ref;\n },\n adaptHeight() {\n if (this.adaptiveHeight && this.list) {\n const elem = this.list.querySelector(`[data-index=\"${this.currentSlide}\"]`);\n this.list.style.height = getHeight(elem) + 'px';\n }\n },\n onWindowResized(setTrackStyle) {\n if (this.debouncedResize) this.debouncedResize.cancel();\n this.debouncedResize = debounce(() => this.resizeWindow(setTrackStyle), 50);\n this.debouncedResize();\n },\n resizeWindow(setTrackStyle = true) {\n if (!this.track) return;\n const spec = {\n listRef: this.list,\n trackRef: this.track,\n children: this.children,\n ...this.$props,\n ...this.$data,\n };\n this.updateState(spec, setTrackStyle, () => {\n if (this.autoplay) {\n this.handleAutoPlay('update');\n } else {\n this.pause('paused');\n }\n });\n // animating state should be cleared while resizing, otherwise autoplay stops working\n this.setState({\n animating: false,\n });\n clearTimeout(this.animationEndCallback);\n delete this.animationEndCallback;\n },\n updateState(spec, setTrackStyle, callback) {\n const updatedState = initializedState(spec);\n spec = { ...spec, ...updatedState, slideIndex: updatedState.currentSlide };\n const targetLeft = getTrackLeft(spec);\n spec = { ...spec, left: targetLeft };\n const trackStyle = getTrackCSS(spec);\n if (setTrackStyle || this.children.length !== spec.children.length) {\n updatedState['trackStyle'] = trackStyle;\n }\n this.setState(updatedState, callback);\n },\n ssrInit() {\n const children = this.children;\n if (this.variableWidth) {\n let trackWidth = 0;\n let trackLeft = 0;\n const childrenWidths = [];\n const preClones = getPreClones({\n ...this.$props,\n ...this.$data,\n slideCount: children.length,\n });\n const postClones = getPostClones({\n ...this.$props,\n ...this.$data,\n slideCount: children.length,\n });\n children.forEach(child => {\n const childWidth = getStyle(child).width.split('px')[0];\n childrenWidths.push(childWidth);\n trackWidth += childWidth;\n });\n for (let i = 0; i < preClones; i++) {\n trackLeft += childrenWidths[childrenWidths.length - 1 - i];\n trackWidth += childrenWidths[childrenWidths.length - 1 - i];\n }\n for (let i = 0; i < postClones; i++) {\n trackWidth += childrenWidths[i];\n }\n for (let i = 0; i < this.currentSlide; i++) {\n trackLeft += childrenWidths[i];\n }\n const trackStyle = {\n width: trackWidth + 'px',\n left: -trackLeft + 'px',\n };\n if (this.centerMode) {\n const currentWidth = `${childrenWidths[this.currentSlide]}px`;\n trackStyle.left = `calc(${trackStyle.left} + (100% - ${currentWidth}) / 2 ) `;\n }\n this.setState({\n trackStyle,\n });\n return;\n }\n const childrenCount = children.length;\n const spec = { ...this.$props, ...this.$data, slideCount: childrenCount };\n const slideCount = getPreClones(spec) + getPostClones(spec) + childrenCount;\n const trackWidth = (100 / this.slidesToShow) * slideCount;\n const slideWidth = 100 / slideCount;\n let trackLeft = (-slideWidth * (getPreClones(spec) + this.currentSlide) * trackWidth) / 100;\n if (this.centerMode) {\n trackLeft += (100 - (slideWidth * trackWidth) / 100) / 2;\n }\n const trackStyle = {\n width: trackWidth + '%',\n left: trackLeft + '%',\n };\n this.setState({\n slideWidth: slideWidth + '%',\n trackStyle,\n });\n },\n checkImagesLoad() {\n const images = document.querySelectorAll('.slick-slide img');\n const imagesCount = images.length;\n let loadedCount = 0;\n Array.prototype.forEach.call(images, image => {\n const handler = () => ++loadedCount && loadedCount >= imagesCount && this.onWindowResized();\n if (!image.onclick) {\n image.onclick = () => image.parentNode.focus();\n } else {\n const prevClickHandler = image.onclick;\n image.onclick = () => {\n prevClickHandler();\n image.parentNode.focus();\n };\n }\n if (!image.onload) {\n if (this.$props.lazyLoad) {\n image.onload = () => {\n this.adaptHeight();\n this.callbackTimers.push(setTimeout(this.onWindowResized, this.speed));\n };\n } else {\n image.onload = handler;\n image.onerror = () => {\n handler();\n this.$emit('lazyLoadError');\n };\n }\n }\n });\n },\n progressiveLazyLoad() {\n const slidesToLoad = [];\n const spec = { ...this.$props, ...this.$data };\n for (let index = this.currentSlide; index < this.slideCount + getPostClones(spec); index++) {\n if (this.lazyLoadedList.indexOf(index) < 0) {\n slidesToLoad.push(index);\n break;\n }\n }\n for (let index = this.currentSlide - 1; index >= -getPreClones(spec); index--) {\n if (this.lazyLoadedList.indexOf(index) < 0) {\n slidesToLoad.push(index);\n break;\n }\n }\n if (slidesToLoad.length > 0) {\n this.setState(state => ({\n lazyLoadedList: state.lazyLoadedList.concat(slidesToLoad),\n }));\n this.$emit('lazyLoad', slidesToLoad);\n } else {\n if (this.lazyLoadTimer) {\n clearInterval(this.lazyLoadTimer);\n delete this.lazyLoadTimer;\n }\n }\n },\n slideHandler(index, dontAnimate = false) {\n const { asNavFor, currentSlide, beforeChange, speed, afterChange } = this.$props;\n const { state, nextState } = slideHandler({\n index,\n ...this.$props,\n ...this.$data,\n trackRef: this.track,\n useCSS: this.useCSS && !dontAnimate,\n });\n if (!state) return;\n beforeChange && beforeChange(currentSlide, state.currentSlide);\n const slidesToLoad = state.lazyLoadedList.filter(\n value => this.lazyLoadedList.indexOf(value) < 0,\n );\n if (getListeners(this).lazyLoad && slidesToLoad.length > 0) {\n this.$emit('lazyLoad', slidesToLoad);\n }\n this.setState(state, () => {\n asNavFor &&\n asNavFor.innerSlider.currentSlide !== currentSlide &&\n asNavFor.innerSlider.slideHandler(index);\n if (!nextState) return;\n this.animationEndCallback = setTimeout(() => {\n const { animating, ...firstBatch } = nextState;\n this.setState(firstBatch, () => {\n this.callbackTimers.push(setTimeout(() => this.setState({ animating }), 10));\n afterChange && afterChange(state.currentSlide);\n delete this.animationEndCallback;\n });\n }, speed);\n });\n },\n changeSlide(options, dontAnimate = false) {\n const spec = { ...this.$props, ...this.$data };\n const targetSlide = changeSlide(spec, options);\n if (targetSlide !== 0 && !targetSlide) return;\n if (dontAnimate === true) {\n this.slideHandler(targetSlide, dontAnimate);\n } else {\n this.slideHandler(targetSlide);\n }\n },\n clickHandler(e) {\n if (this.clickable === false) {\n e.stopPropagation();\n e.preventDefault();\n }\n this.clickable = true;\n },\n keyHandler(e) {\n const dir = keyHandler(e, this.accessibility, this.rtl);\n dir !== '' && this.changeSlide({ message: dir });\n },\n selectHandler(options) {\n this.changeSlide(options);\n },\n disableBodyScroll() {\n const preventDefault = e => {\n e = e || window.event;\n if (e.preventDefault) e.preventDefault();\n e.returnValue = false;\n };\n window.ontouchmove = preventDefault;\n },\n enableBodyScroll() {\n window.ontouchmove = null;\n },\n swipeStart(e) {\n if (this.verticalSwiping) {\n this.disableBodyScroll();\n }\n const state = swipeStart(e, this.swipe, this.draggable);\n state !== '' && this.setState(state);\n },\n swipeMove(e) {\n const state = swipeMove(e, {\n ...this.$props,\n ...this.$data,\n trackRef: this.track,\n listRef: this.list,\n slideIndex: this.currentSlide,\n });\n if (!state) return;\n if (state['swiping']) {\n this.clickable = false;\n }\n this.setState(state);\n },\n swipeEnd(e) {\n const state = swipeEnd(e, {\n ...this.$props,\n ...this.$data,\n trackRef: this.track,\n listRef: this.list,\n slideIndex: this.currentSlide,\n });\n if (!state) return;\n const triggerSlideHandler = state['triggerSlideHandler'];\n delete state['triggerSlideHandler'];\n this.setState(state);\n if (triggerSlideHandler === undefined) return;\n this.slideHandler(triggerSlideHandler);\n if (this.$props.verticalSwiping) {\n this.enableBodyScroll();\n }\n },\n slickPrev() {\n // this and fellow methods are wrapped in setTimeout\n // to make sure initialize setState has happened before\n // any of such methods are called\n this.callbackTimers.push(setTimeout(() => this.changeSlide({ message: 'previous' }), 0));\n },\n slickNext() {\n this.callbackTimers.push(setTimeout(() => this.changeSlide({ message: 'next' }), 0));\n },\n slickGoTo(slide, dontAnimate = false) {\n slide = Number(slide);\n if (isNaN(slide)) return '';\n this.callbackTimers.push(\n setTimeout(\n () =>\n this.changeSlide(\n {\n message: 'index',\n index: slide,\n currentSlide: this.currentSlide,\n },\n dontAnimate,\n ),\n 0,\n ),\n );\n },\n play() {\n let nextIndex;\n if (this.rtl) {\n nextIndex = this.currentSlide - this.slidesToScroll;\n } else {\n if (canGoNext({ ...this.$props, ...this.$data })) {\n nextIndex = this.currentSlide + this.slidesToScroll;\n } else {\n return false;\n }\n }\n\n this.slideHandler(nextIndex);\n },\n handleAutoPlay(playType) {\n if (this.autoplayTimer) {\n clearInterval(this.autoplayTimer);\n }\n const autoplaying = this.autoplaying;\n if (playType === 'update') {\n if (autoplaying === 'hovered' || autoplaying === 'focused' || autoplaying === 'paused') {\n return;\n }\n } else if (playType === 'leave') {\n if (autoplaying === 'paused' || autoplaying === 'focused') {\n return;\n }\n } else if (playType === 'blur') {\n if (autoplaying === 'paused' || autoplaying === 'hovered') {\n return;\n }\n }\n this.autoplayTimer = setInterval(this.play, this.autoplaySpeed + 50);\n this.setState({ autoplaying: 'playing' });\n },\n pause(pauseType) {\n if (this.autoplayTimer) {\n clearInterval(this.autoplayTimer);\n this.autoplayTimer = null;\n }\n const autoplaying = this.autoplaying;\n if (pauseType === 'paused') {\n this.setState({ autoplaying: 'paused' });\n } else if (pauseType === 'focused') {\n if (autoplaying === 'hovered' || autoplaying === 'playing') {\n this.setState({ autoplaying: 'focused' });\n }\n } else {\n // pauseType is 'hovered'\n if (autoplaying === 'playing') {\n this.setState({ autoplaying: 'hovered' });\n }\n }\n },\n onDotsOver() {\n this.autoplay && this.pause('hovered');\n },\n onDotsLeave() {\n this.autoplay && this.autoplaying === 'hovered' && this.handleAutoPlay('leave');\n },\n onTrackOver() {\n this.autoplay && this.pause('hovered');\n },\n onTrackLeave() {\n this.autoplay && this.autoplaying === 'hovered' && this.handleAutoPlay('leave');\n },\n onSlideFocus() {\n this.autoplay && this.pause('focused');\n },\n onSlideBlur() {\n this.autoplay && this.autoplaying === 'focused' && this.handleAutoPlay('blur');\n },\n customPaging({ i }) {\n return <button>{i + 1}</button>;\n },\n appendDots({ dots }) {\n return <ul style={{ display: 'block' }}>{dots}</ul>;\n },\n },\n beforeMount() {\n this.ssrInit();\n this.$emit('init');\n if (this.lazyLoad) {\n const slidesToLoad = getOnDemandLazySlides({\n ...this.$props,\n ...this.$data,\n });\n if (slidesToLoad.length > 0) {\n this.setState(prevState => ({\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad),\n }));\n this.$emit('lazyLoad', slidesToLoad);\n }\n }\n },\n mounted() {\n this.$nextTick(() => {\n const spec = {\n listRef: this.list,\n trackRef: this.track,\n children: this.children,\n ...this.$props,\n };\n this.updateState(spec, true, () => {\n this.adaptHeight();\n this.autoplay && this.handleAutoPlay('update');\n });\n if (this.lazyLoad === 'progressive') {\n this.lazyLoadTimer = setInterval(this.progressiveLazyLoad, 1000);\n }\n this.ro = new ResizeObserver(() => {\n if (this.animating) {\n this.onWindowResized(false); // don't set trackStyle hence don't break animation\n this.callbackTimers.push(setTimeout(() => this.onWindowResized(), this.speed));\n } else {\n this.onWindowResized();\n }\n });\n this.ro.observe(this.list);\n Array.prototype.forEach.call(document.querySelectorAll('.slick-slide'), slide => {\n slide.onfocus = this.$props.pauseOnFocus ? this.onSlideFocus : null;\n slide.onblur = this.$props.pauseOnFocus ? this.onSlideBlur : null;\n });\n // To support server-side rendering\n if (!window) {\n return;\n }\n if (window.addEventListener) {\n window.addEventListener('resize', this.onWindowResized);\n } else {\n window.attachEvent('onresize', this.onWindowResized);\n }\n });\n },\n beforeDestroy() {\n if (this.animationEndCallback) {\n clearTimeout(this.animationEndCallback);\n }\n if (this.lazyLoadTimer) {\n clearInterval(this.lazyLoadTimer);\n }\n if (this.callbackTimers.length) {\n this.callbackTimers.forEach(timer => clearTimeout(timer));\n this.callbackTimers = [];\n }\n if (window.addEventListener) {\n window.removeEventListener('resize', this.onWindowResized);\n } else {\n window.detachEvent('onresize', this.onWindowResized);\n }\n if (this.autoplayTimer) {\n clearInterval(this.autoplayTimer);\n }\n },\n updated() {\n this.checkImagesLoad();\n this.$emit('reInit');\n if (this.lazyLoad) {\n const slidesToLoad = getOnDemandLazySlides({\n ...this.$props,\n ...this.$data,\n });\n if (slidesToLoad.length > 0) {\n this.setState(prevState => ({\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad),\n }));\n this.$emit('lazyLoad');\n }\n }\n // if (this.props.onLazyLoad) {\n // this.props.onLazyLoad([leftMostSlide])\n // }\n this.adaptHeight();\n },\n watch: {\n __propsSymbol__() {\n const nextProps = this.$props;\n const spec = {\n listRef: this.list,\n trackRef: this.track,\n ...nextProps,\n ...this.$data,\n };\n let setTrackStyle = false;\n for (const key of Object.keys(this.preProps)) {\n if (!nextProps.hasOwnProperty(key)) {\n setTrackStyle = true;\n break;\n }\n if (\n typeof nextProps[key] === 'object' ||\n typeof nextProps[key] === 'function' ||\n typeof nextProps[key] === 'symbol'\n ) {\n continue;\n }\n if (nextProps[key] !== this.preProps[key]) {\n setTrackStyle = true;\n break;\n }\n }\n this.updateState(spec, setTrackStyle, () => {\n if (this.currentSlide >= nextProps.children.length) {\n this.changeSlide({\n message: 'index',\n index: nextProps.children.length - nextProps.slidesToShow,\n currentSlide: this.currentSlide,\n });\n }\n if (nextProps.autoplay) {\n this.handleAutoPlay('update');\n } else {\n this.pause('paused');\n }\n });\n this.preProps = { ...nextProps };\n },\n },\n render() {\n const className = classnames('slick-slider', {\n 'slick-vertical': this.vertical,\n 'slick-initialized': true,\n });\n const spec = { ...this.$props, ...this.$data };\n let trackProps = extractObject(spec, [\n 'fade',\n 'cssEase',\n 'speed',\n 'infinite',\n 'centerMode',\n 'focusOnSelect',\n 'currentSlide',\n 'lazyLoad',\n 'lazyLoadedList',\n 'rtl',\n 'slideWidth',\n 'slideHeight',\n 'listHeight',\n 'vertical',\n 'slidesToShow',\n 'slidesToScroll',\n 'slideCount',\n 'trackStyle',\n 'variableWidth',\n 'unslick',\n 'centerPadding',\n ]);\n const { pauseOnHover } = this.$props;\n trackProps = {\n props: {\n ...trackProps,\n focusOnSelect: this.focusOnSelect ? this.selectHandler : null,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.trackRefHandler,\n },\n ],\n on: {\n mouseenter: pauseOnHover ? this.onTrackOver : noop,\n mouseleave: pauseOnHover ? this.onTrackLeave : noop,\n mouseover: pauseOnHover ? this.onTrackOver : noop,\n },\n };\n\n let dots;\n if (this.dots === true && this.slideCount >= this.slidesToShow) {\n let dotProps = extractObject(spec, [\n 'dotsClass',\n 'slideCount',\n 'slidesToShow',\n 'currentSlide',\n 'slidesToScroll',\n 'clickHandler',\n 'children',\n 'infinite',\n 'appendDots',\n ]);\n dotProps.customPaging = this.customPaging;\n dotProps.appendDots = this.appendDots;\n const { customPaging, appendDots } = this.$scopedSlots;\n if (customPaging) {\n dotProps.customPaging = customPaging;\n }\n if (appendDots) {\n dotProps.appendDots = appendDots;\n }\n const { pauseOnDotsHover } = this.$props;\n dotProps = {\n props: {\n ...dotProps,\n clickHandler: this.changeSlide,\n },\n on: {\n mouseenter: pauseOnDotsHover ? this.onDotsLeave : noop,\n mouseover: pauseOnDotsHover ? this.onDotsOver : noop,\n mouseleave: pauseOnDotsHover ? this.onDotsLeave : noop,\n },\n };\n dots = <Dots {...dotProps} />;\n }\n\n let prevArrow, nextArrow;\n const arrowProps = extractObject(spec, [\n 'infinite',\n 'centerMode',\n 'currentSlide',\n 'slideCount',\n 'slidesToShow',\n ]);\n arrowProps.clickHandler = this.changeSlide;\n const { prevArrow: prevArrowCustom, nextArrow: nextArrowCustom } = this.$scopedSlots;\n if (prevArrowCustom) {\n arrowProps.prevArrow = prevArrowCustom;\n }\n if (nextArrowCustom) {\n arrowProps.nextArrow = nextArrowCustom;\n }\n if (this.arrows) {\n prevArrow = <PrevArrow {...{ props: arrowProps }} />;\n nextArrow = <NextArrow {...{ props: arrowProps }} />;\n }\n let verticalHeightStyle = null;\n\n if (this.vertical) {\n verticalHeightStyle = {\n height: typeof this.listHeight === 'number' ? `${this.listHeight}px` : this.listHeight,\n };\n }\n\n let centerPaddingStyle = null;\n\n if (this.vertical === false) {\n if (this.centerMode === true) {\n centerPaddingStyle = {\n padding: '0px ' + this.centerPadding,\n };\n }\n } else {\n if (this.centerMode === true) {\n centerPaddingStyle = {\n padding: this.centerPadding + ' 0px',\n };\n }\n }\n\n const listStyle = { ...verticalHeightStyle, ...centerPaddingStyle };\n const touchMove = this.touchMove;\n let listProps = {\n directives: [\n {\n name: 'ant-ref',\n value: this.listRefHandler,\n },\n ],\n class: 'slick-list',\n style: listStyle,\n on: {\n click: this.clickHandler,\n mousedown: touchMove ? this.swipeStart : noop,\n mousemove: this.dragging && touchMove ? this.swipeMove : noop,\n mouseup: touchMove ? this.swipeEnd : noop,\n mouseleave: this.dragging && touchMove ? this.swipeEnd : noop,\n touchstart: touchMove ? this.swipeStart : noop,\n touchmove: this.dragging && touchMove ? this.swipeMove : noop,\n touchend: touchMove ? this.swipeEnd : noop,\n touchcancel: this.dragging && touchMove ? this.swipeEnd : noop,\n keydown: this.accessibility ? this.keyHandler : noop,\n },\n };\n\n let innerSliderProps = {\n class: className,\n props: {\n dir: 'ltr',\n },\n };\n\n if (this.unslick) {\n listProps = {\n class: 'slick-list',\n directives: [\n {\n name: 'ant-ref',\n value: this.listRefHandler,\n },\n ],\n };\n innerSliderProps = { class: className };\n }\n return (\n <div {...innerSliderProps}>\n {!this.unslick ? prevArrow : ''}\n <div {...listProps}>\n <Track {...trackProps}>{this.children}</Track>\n </div>\n {!this.unslick ? nextArrow : ''}\n {!this.unslick ? dots : ''}\n </div>\n );\n },\n};\n","import json2mq from 'json2mq';\nimport Vue from 'vue';\nimport ref from 'vue-ref';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { cloneElement } from '../../_util/vnode';\nimport { getStyle, getListeners } from '../../_util/props-util';\nimport InnerSlider from './inner-slider';\nimport defaultProps from './default-props';\nimport { canUseDOM } from './utils/innerSliderUtils';\nconst enquire = canUseDOM() && require('enquire.js');\n\nVue.use(ref, { name: 'ant-ref' });\n\nexport default {\n props: {\n ...defaultProps,\n },\n mixins: [BaseMixin],\n data() {\n this._responsiveMediaHandlers = [];\n return {\n breakpoint: null,\n };\n },\n methods: {\n innerSliderRefHandler(ref) {\n this.innerSlider = ref;\n },\n media(query, handler) {\n // javascript handler for css media query\n enquire.register(query, handler);\n this._responsiveMediaHandlers.push({ query, handler });\n },\n slickPrev() {\n this.innerSlider.slickPrev();\n },\n slickNext() {\n this.innerSlider.slickNext();\n },\n slickGoTo(slide, dontAnimate = false) {\n this.innerSlider.slickGoTo(slide, dontAnimate);\n },\n slickPause() {\n this.innerSlider.pause('paused');\n },\n slickPlay() {\n this.innerSlider.handleAutoPlay('play');\n },\n },\n // handles responsive breakpoints\n beforeMount() {\n // performance monitoring\n // if (process.env.NODE_ENV !== 'production') {\n // const { whyDidYouUpdate } = require('why-did-you-update')\n // whyDidYouUpdate(React)\n // }\n if (this.responsive) {\n const breakpoints = this.responsive.map(breakpt => breakpt.breakpoint);\n // sort them in increasing order of their numerical value\n breakpoints.sort((x, y) => x - y);\n\n breakpoints.forEach((breakpoint, index) => {\n // media query for each breakpoint\n let bQuery;\n if (index === 0) {\n bQuery = json2mq({ minWidth: 0, maxWidth: breakpoint });\n } else {\n bQuery = json2mq({\n minWidth: breakpoints[index - 1] + 1,\n maxWidth: breakpoint,\n });\n }\n // when not using server side rendering\n canUseDOM() &&\n this.media(bQuery, () => {\n this.setState({ breakpoint });\n });\n });\n\n // Register media query for full screen. Need to support resize from small to large\n // convert javascript object to media query string\n const query = json2mq({ minWidth: breakpoints.slice(-1)[0] });\n\n canUseDOM() &&\n this.media(query, () => {\n this.setState({ breakpoint: null });\n });\n }\n },\n beforeDestroy() {\n this._responsiveMediaHandlers.forEach(function(obj) {\n enquire.unregister(obj.query, obj.handler);\n });\n },\n\n render() {\n let settings;\n let newProps;\n if (this.breakpoint) {\n newProps = this.responsive.filter(resp => resp.breakpoint === this.breakpoint);\n settings =\n newProps[0].settings === 'unslick'\n ? 'unslick'\n : { ...this.$props, ...newProps[0].settings };\n } else {\n settings = { ...this.$props };\n }\n\n // force scrolling by one if centerMode is on\n if (settings.centerMode) {\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== 'production') {\n console.warn(\n `slidesToScroll should be equal to 1 in centerMode, you are using ${settings.slidesToScroll}`,\n );\n }\n settings.slidesToScroll = 1;\n }\n // force showing one slide and scrolling by one if the fade mode is on\n if (settings.fade) {\n if (settings.slidesToShow > 1 && process.env.NODE_ENV !== 'production') {\n console.warn(\n `slidesToShow should be equal to 1 when fade is true, you're using ${settings.slidesToShow}`,\n );\n }\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== 'production') {\n console.warn(\n `slidesToScroll should be equal to 1 when fade is true, you're using ${settings.slidesToScroll}`,\n );\n }\n settings.slidesToShow = 1;\n settings.slidesToScroll = 1;\n }\n\n // makes sure that children is an array, even when there is only 1 child\n let children = this.$slots.default || [];\n\n // Children may contain false or null, so we should filter them\n // children may also contain string filled with spaces (in certain cases where we use jsx strings)\n children = children.filter(child => {\n if (typeof child === 'string') {\n return !!child.trim();\n }\n return !!child;\n });\n\n // rows and slidesPerRow logic is handled here\n if (settings.variableWidth && (settings.rows > 1 || settings.slidesPerRow > 1)) {\n console.warn(`variableWidth is not supported in case of rows > 1 or slidesPerRow > 1`);\n settings.variableWidth = false;\n }\n const newChildren = [];\n let currentWidth = null;\n for (let i = 0; i < children.length; i += settings.rows * settings.slidesPerRow) {\n const newSlide = [];\n for (let j = i; j < i + settings.rows * settings.slidesPerRow; j += settings.slidesPerRow) {\n const row = [];\n for (let k = j; k < j + settings.slidesPerRow; k += 1) {\n if (settings.variableWidth && getStyle(children[k])) {\n currentWidth = getStyle(children[k]).width;\n }\n if (k >= children.length) break;\n row.push(\n cloneElement(children[k], {\n key: 100 * i + 10 * j + k,\n attrs: {\n tabIndex: -1,\n },\n style: {\n width: `${100 / settings.slidesPerRow}%`,\n display: 'inline-block',\n },\n }),\n );\n }\n newSlide.push(<div key={10 * i + j}>{row}</div>);\n }\n if (settings.variableWidth) {\n newChildren.push(\n <div key={i} style={{ width: currentWidth }}>\n {newSlide}\n </div>,\n );\n } else {\n newChildren.push(<div key={i}>{newSlide}</div>);\n }\n }\n\n if (settings === 'unslick') {\n const className = 'regular slider ' + (this.className || '');\n return <div class={className}>{newChildren}</div>;\n } else if (newChildren.length <= settings.slidesToShow) {\n settings.unslick = true;\n }\n const sliderProps = {\n props: {\n ...settings,\n children: newChildren,\n __propsSymbol__: Symbol(),\n },\n on: getListeners(this),\n directives: [\n {\n name: 'ant-ref',\n value: this.innerSliderRefHandler,\n },\n ],\n scopedSlots: this.$scopedSlots,\n };\n return <InnerSlider {...sliderProps} />;\n },\n};\n","// base react-slick 0.23.2\nimport Slider from './slider';\n\nexport default Slider;\n","import PropTypes from '../../_util/vue-types';\nimport classNames from 'classnames';\nimport warning from 'warning';\nimport { hasProp, initDefaultProps, getOptionProps, getSlots } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport BaseMixin from '../../_util/BaseMixin';\nimport proxyComponent from '../../_util/proxyComponent';\nimport {\n convertTreeToEntities,\n convertDataToTree,\n getPosition,\n getDragNodesKeys,\n parseCheckedKeys,\n conductExpandParent,\n calcSelectedKeys,\n calcDropPosition,\n arrAdd,\n arrDel,\n posToArr,\n mapChildren,\n conductCheck,\n warnOnlyTreeNode,\n} from './util';\n\n/**\n * Thought we still use `cloneElement` to pass `key`,\n * other props can pass with context for future refactor.\n */\n\nfunction getWatch(keys = []) {\n const watch = {};\n keys.forEach(k => {\n watch[k] = function() {\n this.needSyncKeys[k] = true;\n };\n });\n return watch;\n}\n\nconst Tree = {\n name: 'Tree',\n mixins: [BaseMixin],\n props: initDefaultProps(\n {\n prefixCls: PropTypes.string,\n tabIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n children: PropTypes.any,\n treeData: PropTypes.array, // Generate treeNode by children\n showLine: PropTypes.bool,\n showIcon: PropTypes.bool,\n icon: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n focusable: PropTypes.bool,\n selectable: PropTypes.bool,\n disabled: PropTypes.bool,\n multiple: PropTypes.bool,\n checkable: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),\n checkStrictly: PropTypes.bool,\n draggable: PropTypes.bool,\n defaultExpandParent: PropTypes.bool,\n autoExpandParent: PropTypes.bool,\n defaultExpandAll: PropTypes.bool,\n defaultExpandedKeys: PropTypes.array,\n expandedKeys: PropTypes.array,\n defaultCheckedKeys: PropTypes.array,\n checkedKeys: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n defaultSelectedKeys: PropTypes.array,\n selectedKeys: PropTypes.array,\n // onClick: PropTypes.func,\n // onDoubleClick: PropTypes.func,\n // onExpand: PropTypes.func,\n // onCheck: PropTypes.func,\n // onSelect: PropTypes.func,\n loadData: PropTypes.func,\n loadedKeys: PropTypes.array,\n // onMouseEnter: PropTypes.func,\n // onMouseLeave: PropTypes.func,\n // onRightClick: PropTypes.func,\n // onDragStart: PropTypes.func,\n // onDragEnter: PropTypes.func,\n // onDragOver: PropTypes.func,\n // onDragLeave: PropTypes.func,\n // onDragEnd: PropTypes.func,\n // onDrop: PropTypes.func,\n filterTreeNode: PropTypes.func,\n openTransitionName: PropTypes.string,\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n switcherIcon: PropTypes.any,\n _propsSymbol: PropTypes.any,\n },\n {\n prefixCls: 'rc-tree',\n showLine: false,\n showIcon: true,\n selectable: true,\n multiple: false,\n checkable: false,\n disabled: false,\n checkStrictly: false,\n draggable: false,\n defaultExpandParent: true,\n autoExpandParent: false,\n defaultExpandAll: false,\n defaultExpandedKeys: [],\n defaultCheckedKeys: [],\n defaultSelectedKeys: [],\n },\n ),\n\n data() {\n warning(this.$props.__propsSymbol__, 'must pass __propsSymbol__');\n warning(this.$props.children, 'please use children prop replace slots.default');\n this.needSyncKeys = {};\n this.domTreeNodes = {};\n const state = {\n _posEntities: new Map(),\n _keyEntities: new Map(),\n _expandedKeys: [],\n _selectedKeys: [],\n _checkedKeys: [],\n _halfCheckedKeys: [],\n _loadedKeys: [],\n _loadingKeys: [],\n _treeNode: [],\n _prevProps: null,\n _dragOverNodeKey: '',\n _dropPosition: null,\n _dragNodesKeys: [],\n };\n return {\n ...state,\n ...this.getDerivedState(getOptionProps(this), state),\n };\n },\n provide() {\n return {\n vcTree: this,\n };\n },\n\n watch: {\n ...getWatch([\n 'treeData',\n 'children',\n 'expandedKeys',\n 'autoExpandParent',\n 'selectedKeys',\n 'checkedKeys',\n 'loadedKeys',\n ]),\n __propsSymbol__() {\n this.setState(this.getDerivedState(getOptionProps(this), this.$data));\n this.needSyncKeys = {};\n },\n },\n\n methods: {\n getDerivedState(props, prevState) {\n const { _prevProps } = prevState;\n const newState = {\n _prevProps: { ...props },\n };\n const self = this;\n function needSync(name) {\n return (!_prevProps && name in props) || (_prevProps && self.needSyncKeys[name]);\n }\n\n // ================== Tree Node ==================\n let treeNode = null;\n\n // Check if `treeData` or `children` changed and save into the state.\n if (needSync('treeData')) {\n treeNode = convertDataToTree(this.$createElement, props.treeData);\n } else if (needSync('children')) {\n treeNode = props.children;\n }\n\n // Tree support filter function which will break the tree structure in the vdm.\n // We cache the treeNodes in state so that we can return the treeNode in event trigger.\n if (treeNode) {\n newState._treeNode = treeNode;\n\n // Calculate the entities data for quick match\n const entitiesMap = convertTreeToEntities(treeNode);\n newState._keyEntities = entitiesMap.keyEntities;\n }\n\n const keyEntities = newState._keyEntities || prevState._keyEntities;\n\n // ================ expandedKeys =================\n if (needSync('expandedKeys') || (_prevProps && needSync('autoExpandParent'))) {\n newState._expandedKeys =\n props.autoExpandParent || (!_prevProps && props.defaultExpandParent)\n ? conductExpandParent(props.expandedKeys, keyEntities)\n : props.expandedKeys;\n } else if (!_prevProps && props.defaultExpandAll) {\n newState._expandedKeys = [...keyEntities.keys()];\n } else if (!_prevProps && props.defaultExpandedKeys) {\n newState._expandedKeys =\n props.autoExpandParent || props.defaultExpandParent\n ? conductExpandParent(props.defaultExpandedKeys, keyEntities)\n : props.defaultExpandedKeys;\n }\n\n // ================ selectedKeys =================\n if (props.selectable) {\n if (needSync('selectedKeys')) {\n newState._selectedKeys = calcSelectedKeys(props.selectedKeys, props);\n } else if (!_prevProps && props.defaultSelectedKeys) {\n newState._selectedKeys = calcSelectedKeys(props.defaultSelectedKeys, props);\n }\n }\n\n // ================= checkedKeys =================\n if (props.checkable) {\n let checkedKeyEntity;\n\n if (needSync('checkedKeys')) {\n checkedKeyEntity = parseCheckedKeys(props.checkedKeys) || {};\n } else if (!_prevProps && props.defaultCheckedKeys) {\n checkedKeyEntity = parseCheckedKeys(props.defaultCheckedKeys) || {};\n } else if (treeNode) {\n // If treeNode changed, we also need check it\n checkedKeyEntity = parseCheckedKeys(props.checkedKeys) || {\n checkedKeys: prevState._checkedKeys,\n halfCheckedKeys: prevState._halfCheckedKeys,\n };\n }\n\n if (checkedKeyEntity) {\n let { checkedKeys = [], halfCheckedKeys = [] } = checkedKeyEntity;\n\n if (!props.checkStrictly) {\n const conductKeys = conductCheck(checkedKeys, true, keyEntities);\n ({ checkedKeys, halfCheckedKeys } = conductKeys);\n }\n\n newState._checkedKeys = checkedKeys;\n newState._halfCheckedKeys = halfCheckedKeys;\n }\n }\n // ================= loadedKeys ==================\n if (needSync('loadedKeys')) {\n newState._loadedKeys = props.loadedKeys;\n }\n\n return newState;\n },\n onNodeDragStart(event, node) {\n const { _expandedKeys } = this.$data;\n const { eventKey } = node;\n const children = getSlots(node).default;\n this.dragNode = node;\n\n this.setState({\n _dragNodesKeys: getDragNodesKeys(\n typeof children === 'function' ? children() : children,\n node,\n ),\n _expandedKeys: arrDel(_expandedKeys, eventKey),\n });\n this.__emit('dragstart', { event, node });\n },\n\n /**\n * [Legacy] Select handler is less small than node,\n * so that this will trigger when drag enter node or select handler.\n * This is a little tricky if customize css without padding.\n * Better for use mouse move event to refresh drag state.\n * But let's just keep it to avoid event trigger logic change.\n */\n onNodeDragEnter(event, node) {\n const { _expandedKeys: expandedKeys } = this.$data;\n const { pos, eventKey } = node;\n\n if (!this.dragNode || !node.$refs.selectHandle) return;\n\n const dropPosition = calcDropPosition(event, node);\n\n // Skip if drag node is self\n if (this.dragNode.eventKey === eventKey && dropPosition === 0) {\n this.setState({\n _dragOverNodeKey: '',\n _dropPosition: null,\n });\n return;\n }\n\n // Ref: https://github.com/react-component/tree/issues/132\n // Add timeout to let onDragLevel fire before onDragEnter,\n // so that we can clean drag props for onDragLeave node.\n // Macro task for this:\n // https://html.spec.whatwg.org/multipage/webappapis.html#clean-up-after-running-script\n setTimeout(() => {\n // Update drag over node\n this.setState({\n _dragOverNodeKey: eventKey,\n _dropPosition: dropPosition,\n });\n\n // Side effect for delay drag\n if (!this.delayedDragEnterLogic) {\n this.delayedDragEnterLogic = {};\n }\n Object.keys(this.delayedDragEnterLogic).forEach(key => {\n clearTimeout(this.delayedDragEnterLogic[key]);\n });\n this.delayedDragEnterLogic[pos] = setTimeout(() => {\n const newExpandedKeys = arrAdd(expandedKeys, eventKey);\n if (!hasProp(this, 'expandedKeys')) {\n this.setState({\n _expandedKeys: newExpandedKeys,\n });\n }\n this.__emit('dragenter', { event, node, expandedKeys: newExpandedKeys });\n }, 400);\n }, 0);\n },\n onNodeDragOver(event, node) {\n const { eventKey } = node;\n const { _dragOverNodeKey, _dropPosition } = this.$data;\n // Update drag position\n if (this.dragNode && eventKey === _dragOverNodeKey && node.$refs.selectHandle) {\n const dropPosition = calcDropPosition(event, node);\n\n if (dropPosition === _dropPosition) return;\n\n this.setState({\n _dropPosition: dropPosition,\n });\n }\n this.__emit('dragover', { event, node });\n },\n onNodeDragLeave(event, node) {\n this.setState({\n _dragOverNodeKey: '',\n });\n this.__emit('dragleave', { event, node });\n },\n onNodeDragEnd(event, node) {\n this.setState({\n _dragOverNodeKey: '',\n });\n this.__emit('dragend', { event, node });\n this.dragNode = null;\n },\n onNodeDrop(event, node) {\n const { _dragNodesKeys = [], _dropPosition } = this.$data;\n\n const { eventKey, pos } = node;\n\n this.setState({\n _dragOverNodeKey: '',\n });\n\n if (_dragNodesKeys.indexOf(eventKey) !== -1) {\n warning(false, \"Can not drop to dragNode(include it's children node)\");\n return;\n }\n\n const posArr = posToArr(pos);\n\n const dropResult = {\n event,\n node,\n dragNode: this.dragNode,\n dragNodesKeys: _dragNodesKeys.slice(),\n dropPosition: _dropPosition + Number(posArr[posArr.length - 1]),\n dropToGap: false,\n };\n\n if (_dropPosition !== 0) {\n dropResult.dropToGap = true;\n }\n this.__emit('drop', dropResult);\n this.dragNode = null;\n },\n\n onNodeClick(e, treeNode) {\n this.__emit('click', e, treeNode);\n },\n\n onNodeDoubleClick(e, treeNode) {\n this.__emit('dblclick', e, treeNode);\n },\n\n onNodeSelect(e, treeNode) {\n let { _selectedKeys: selectedKeys } = this.$data;\n const { _keyEntities: keyEntities } = this.$data;\n const { multiple } = this.$props;\n const { selected, eventKey } = getOptionProps(treeNode);\n const targetSelected = !selected;\n // Update selected keys\n if (!targetSelected) {\n selectedKeys = arrDel(selectedKeys, eventKey);\n } else if (!multiple) {\n selectedKeys = [eventKey];\n } else {\n selectedKeys = arrAdd(selectedKeys, eventKey);\n }\n\n // [Legacy] Not found related usage in doc or upper libs\n const selectedNodes = selectedKeys\n .map(key => {\n const entity = keyEntities.get(key);\n if (!entity) return null;\n\n return entity.node;\n })\n .filter(node => node);\n\n this.setUncontrolledState({ _selectedKeys: selectedKeys });\n\n const eventObj = {\n event: 'select',\n selected: targetSelected,\n node: treeNode,\n selectedNodes,\n nativeEvent: e,\n };\n this.__emit('update:selectedKeys', selectedKeys);\n this.__emit('select', selectedKeys, eventObj);\n },\n onNodeCheck(e, treeNode, checked) {\n const {\n _keyEntities: keyEntities,\n _checkedKeys: oriCheckedKeys,\n _halfCheckedKeys: oriHalfCheckedKeys,\n } = this.$data;\n const { checkStrictly } = this.$props;\n const { eventKey } = getOptionProps(treeNode);\n\n // Prepare trigger arguments\n let checkedObj;\n const eventObj = {\n event: 'check',\n node: treeNode,\n checked,\n nativeEvent: e,\n };\n\n if (checkStrictly) {\n const checkedKeys = checked\n ? arrAdd(oriCheckedKeys, eventKey)\n : arrDel(oriCheckedKeys, eventKey);\n const halfCheckedKeys = arrDel(oriHalfCheckedKeys, eventKey);\n checkedObj = { checked: checkedKeys, halfChecked: halfCheckedKeys };\n\n eventObj.checkedNodes = checkedKeys\n .map(key => keyEntities.get(key))\n .filter(entity => entity)\n .map(entity => entity.node);\n\n this.setUncontrolledState({ _checkedKeys: checkedKeys });\n } else {\n const { checkedKeys, halfCheckedKeys } = conductCheck([eventKey], checked, keyEntities, {\n checkedKeys: oriCheckedKeys,\n halfCheckedKeys: oriHalfCheckedKeys,\n });\n\n checkedObj = checkedKeys;\n\n // [Legacy] This is used for `rc-tree-select`\n eventObj.checkedNodes = [];\n eventObj.checkedNodesPositions = [];\n eventObj.halfCheckedKeys = halfCheckedKeys;\n\n checkedKeys.forEach(key => {\n const entity = keyEntities.get(key);\n if (!entity) return;\n\n const { node, pos } = entity;\n\n eventObj.checkedNodes.push(node);\n eventObj.checkedNodesPositions.push({ node, pos });\n });\n\n this.setUncontrolledState({\n _checkedKeys: checkedKeys,\n _halfCheckedKeys: halfCheckedKeys,\n });\n }\n this.__emit('check', checkedObj, eventObj);\n },\n onNodeLoad(treeNode) {\n return new Promise(resolve => {\n // We need to get the latest state of loading/loaded keys\n this.setState(({ _loadedKeys: loadedKeys = [], _loadingKeys: loadingKeys = [] }) => {\n const { loadData } = this.$props;\n const { eventKey } = getOptionProps(treeNode);\n\n if (\n !loadData ||\n loadedKeys.indexOf(eventKey) !== -1 ||\n loadingKeys.indexOf(eventKey) !== -1\n ) {\n return {};\n }\n\n // Process load data\n const promise = loadData(treeNode);\n promise.then(() => {\n const { _loadedKeys: currentLoadedKeys, _loadingKeys: currentLoadingKeys } = this.$data;\n const newLoadedKeys = arrAdd(currentLoadedKeys, eventKey);\n const newLoadingKeys = arrDel(currentLoadingKeys, eventKey);\n\n // onLoad should trigger before internal setState to avoid `loadData` trigger twice.\n // https://github.com/ant-design/ant-design/issues/12464\n this.__emit('load', newLoadedKeys, {\n event: 'load',\n node: treeNode,\n });\n this.setUncontrolledState({\n _loadedKeys: newLoadedKeys,\n });\n this.setState({\n _loadingKeys: newLoadingKeys,\n });\n resolve();\n });\n\n return {\n _loadingKeys: arrAdd(loadingKeys, eventKey),\n };\n });\n });\n },\n\n onNodeExpand(e, treeNode) {\n let { _expandedKeys: expandedKeys } = this.$data;\n const { loadData } = this.$props;\n const { eventKey, expanded } = getOptionProps(treeNode);\n\n // Update selected keys\n const index = expandedKeys.indexOf(eventKey);\n const targetExpanded = !expanded;\n\n warning(\n (expanded && index !== -1) || (!expanded && index === -1),\n 'Expand state not sync with index check',\n );\n\n if (targetExpanded) {\n expandedKeys = arrAdd(expandedKeys, eventKey);\n } else {\n expandedKeys = arrDel(expandedKeys, eventKey);\n }\n\n this.setUncontrolledState({ _expandedKeys: expandedKeys });\n this.__emit('expand', expandedKeys, {\n node: treeNode,\n expanded: targetExpanded,\n nativeEvent: e,\n });\n this.__emit('update:expandedKeys', expandedKeys);\n\n // Async Load data\n if (targetExpanded && loadData) {\n const loadPromise = this.onNodeLoad(treeNode);\n return loadPromise\n ? loadPromise.then(() => {\n // [Legacy] Refresh logic\n this.setUncontrolledState({ _expandedKeys: expandedKeys });\n })\n : null;\n }\n\n return null;\n },\n\n onNodeMouseEnter(event, node) {\n this.__emit('mouseenter', { event, node });\n },\n\n onNodeMouseLeave(event, node) {\n this.__emit('mouseleave', { event, node });\n },\n\n onNodeContextMenu(event, node) {\n event.preventDefault();\n this.__emit('rightClick', { event, node });\n },\n\n /**\n * Only update the value which is not in props\n */\n setUncontrolledState(state) {\n let needSync = false;\n const newState = {};\n const props = getOptionProps(this);\n Object.keys(state).forEach(name => {\n if (name.replace('_', '') in props) return;\n needSync = true;\n newState[name] = state[name];\n });\n\n if (needSync) {\n this.setState(newState);\n }\n },\n\n registerTreeNode(key, node) {\n if (node) {\n this.domTreeNodes[key] = node;\n } else {\n delete this.domTreeNodes[key];\n }\n },\n\n isKeyChecked(key) {\n const { _checkedKeys: checkedKeys = [] } = this.$data;\n return checkedKeys.indexOf(key) !== -1;\n },\n\n /**\n * [Legacy] Original logic use `key` as tracking clue.\n * We have to use `cloneElement` to pass `key`.\n */\n renderTreeNode(child, index, level = 0) {\n const {\n _keyEntities: keyEntities,\n _expandedKeys: expandedKeys = [],\n _selectedKeys: selectedKeys = [],\n _halfCheckedKeys: halfCheckedKeys = [],\n _loadedKeys: loadedKeys = [],\n _loadingKeys: loadingKeys = [],\n _dragOverNodeKey: dragOverNodeKey,\n _dropPosition: dropPosition,\n } = this.$data;\n const pos = getPosition(level, index);\n let key = child.key;\n if (!key && (key === undefined || key === null)) {\n key = pos;\n }\n if (!keyEntities.get(key)) {\n warnOnlyTreeNode();\n return null;\n }\n\n return cloneElement(child, {\n props: {\n eventKey: key,\n expanded: expandedKeys.indexOf(key) !== -1,\n selected: selectedKeys.indexOf(key) !== -1,\n loaded: loadedKeys.indexOf(key) !== -1,\n loading: loadingKeys.indexOf(key) !== -1,\n checked: this.isKeyChecked(key),\n halfChecked: halfCheckedKeys.indexOf(key) !== -1,\n pos,\n\n // [Legacy] Drag props\n dragOver: dragOverNodeKey === key && dropPosition === 0,\n dragOverGapTop: dragOverNodeKey === key && dropPosition === -1,\n dragOverGapBottom: dragOverNodeKey === key && dropPosition === 1,\n },\n key,\n });\n },\n },\n\n render() {\n const { _treeNode: treeNode } = this.$data;\n const { prefixCls, focusable, showLine, tabIndex = 0 } = this.$props;\n\n return (\n <ul\n class={classNames(prefixCls, {\n [`${prefixCls}-show-line`]: showLine,\n })}\n role=\"tree\"\n unselectable=\"on\"\n tabIndex={focusable ? tabIndex : null}\n >\n {mapChildren(treeNode, (node, index) => this.renderTreeNode(node, index))}\n </ul>\n );\n },\n};\n\nexport { Tree };\n\nexport default proxyComponent(Tree);\n","import ProxyTree, { Tree } from './Tree';\nimport TreeNode from './TreeNode';\nTree.TreeNode = TreeNode;\nProxyTree.TreeNode = TreeNode;\n\nexport { Tree, TreeNode };\nexport default ProxyTree;\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n\nimport '../../menu/style';\nimport '../../dropdown/style';\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\n// deps-lint-skip: layout\nimport '../../tooltip/style';\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\n\n// style dependencies\n// deps-lint-skip: grid\nimport '../../grid/style';\n","import '../../style/index.less';\n\n// style dependencies\n// deps-lint-skip: grid\nimport '../../grid/style';\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\n// deps-lint-skip: tooltip\n","import '../../style/index.less';\nimport './index.less';\n","/* eslint no-console:0 */\nfunction camelCase(name) {\n return (\n name.charAt(0).toUpperCase() +\n name.slice(1).replace(/-(\\w)/g, (m, n) => {\n return n.toUpperCase();\n })\n );\n}\n\n// Just import style for https://github.com/ant-design/ant-design/issues/3745\nconst req = require.context('./components', true, /^\\.\\/[^_][\\w-]+\\/style\\/index\\.js?$/);\n\nreq.keys().forEach(mod => {\n let v = req(mod);\n if (v && v.default) {\n v = v.default;\n }\n const match = mod.match(/^\\.\\/([^_][\\w-]+)\\/index\\.js?$/);\n if (match && match[1]) {\n if (match[1] === 'message' || match[1] === 'notification') {\n // message & notification should not be capitalized\n exports[match[1]] = v;\n } else {\n exports[camelCase(match[1])] = v;\n }\n }\n});\n\nmodule.exports = require('./components');\n","var map = {\n\t\"./affix/style/index.js\": 421,\n\t\"./alert/style/index.js\": 439,\n\t\"./anchor/style/index.js\": 441,\n\t\"./auto-complete/style/index.js\": 443,\n\t\"./avatar/style/index.js\": 422,\n\t\"./back-top/style/index.js\": 450,\n\t\"./badge/style/index.js\": 452,\n\t\"./base/style/index.js\": 454,\n\t\"./breadcrumb/style/index.js\": 423,\n\t\"./button/style/index.js\": 160,\n\t\"./calendar/style/index.js\": 459,\n\t\"./card/style/index.js\": 462,\n\t\"./carousel/style/index.js\": 466,\n\t\"./cascader/style/index.js\": 468,\n\t\"./checkbox/style/index.js\": 240,\n\t\"./col/style/index.js\": 427,\n\t\"./collapse/style/index.js\": 471,\n\t\"./comment/style/index.js\": 473,\n\t\"./config-provider/style/index.js\": 475,\n\t\"./date-picker/style/index.js\": 477,\n\t\"./descriptions/style/index.js\": 481,\n\t\"./divider/style/index.js\": 483,\n\t\"./drawer/style/index.js\": 485,\n\t\"./dropdown/style/index.js\": 238,\n\t\"./empty/style/index.js\": 119,\n\t\"./form-model/style/index.js\": 487,\n\t\"./form/style/index.js\": 489,\n\t\"./grid/style/index.js\": 161,\n\t\"./icon/style/index.js\": 491,\n\t\"./input-number/style/index.js\": 493,\n\t\"./input/style/index.js\": 163,\n\t\"./layout/style/index.js\": 495,\n\t\"./list/style/index.js\": 497,\n\t\"./locale-provider/style/index.js\": 501,\n\t\"./mentions/style/index.js\": 503,\n\t\"./menu/style/index.js\": 424,\n\t\"./message/style/index.js\": 505,\n\t\"./modal/style/index.js\": 507,\n\t\"./notification/style/index.js\": 509,\n\t\"./page-header/style/index.js\": 511,\n\t\"./pagination/style/index.js\": 241,\n\t\"./popconfirm/style/index.js\": 513,\n\t\"./popover/style/index.js\": 430,\n\t\"./progress/style/index.js\": 431,\n\t\"./radio/style/index.js\": 239,\n\t\"./rate/style/index.js\": 516,\n\t\"./result/style/index.js\": 518,\n\t\"./row/style/index.js\": 426,\n\t\"./select/style/index.js\": 162,\n\t\"./skeleton/style/index.js\": 520,\n\t\"./slider/style/index.js\": 522,\n\t\"./space/style/index.js\": 524,\n\t\"./spin/style/index.js\": 235,\n\t\"./statistic/style/index.js\": 526,\n\t\"./steps/style/index.js\": 528,\n\t\"./switch/style/index.js\": 530,\n\t\"./table/style/index.js\": 532,\n\t\"./tabs/style/index.js\": 425,\n\t\"./tag/style/index.js\": 429,\n\t\"./time-picker/style/index.js\": 428,\n\t\"./timeline/style/index.js\": 534,\n\t\"./tooltip/style/index.js\": 164,\n\t\"./transfer/style/index.js\": 536,\n\t\"./tree-select/style/index.js\": 538,\n\t\"./tree/style/index.js\": 540,\n\t\"./upload/style/index.js\": 542,\n\t\"./version/style/index.js\": 544\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 437;","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../affix/style';\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../select/style';\nimport '../../input/style';\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n","// empty file prevent babel-plugin-import error\nimport '../../style/index.less';\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../select/style';\nimport '../../radio/style';\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../tabs/style';\nimport '../../row/style';\nimport '../../col/style';\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../empty/style';\nimport '../../input/style';\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n","import './index.less';\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\n// deps-lint-skip: input\nimport '../../input/style';\nimport '../../time-picker/style';\nimport '../../tag/style';\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n","// deps-lint-skip: empty\nimport '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../grid/style';\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../grid/style';\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../empty/style';\nimport '../../spin/style';\nimport '../../pagination/style';\nimport '../../grid/style';\n","import './index.less';\n","import './index.less';\n\n// style dependencies\nimport '../../empty/style';\nimport '../../spin/style';\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../button/style';\n","import '../../style/index.less';\nimport './index.less';\n","import './index.less';\n\n// style dependencies\nimport '../../breadcrumb/style';\nimport '../../avatar/style';\n","import '../../style/index.less';\n\n// style dependencies\n// deps-lint-skip: tooltip, popover\nimport '../../popover/style';\nimport '../../button/style';\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../tooltip/style';\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../tooltip/style';\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\n// deps-lint-skip: menu\nimport '../../empty/style';\nimport '../../radio/style';\nimport '../../checkbox/style';\nimport '../../dropdown/style';\nimport '../../spin/style';\nimport '../../pagination/style';\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../empty/style';\nimport '../../checkbox/style';\nimport '../../button/style';\nimport '../../input/style';\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\n// deps-lint-skip: select\nimport '../../select/style';\nimport '../../empty/style';\n","import '../../style/index.less';\nimport './index.less';\n","import '../../style/index.less';\nimport './index.less';\n\n// style dependencies\nimport '../../progress/style';\nimport '../../tooltip/style';\n","// empty file prevent babel-plugin-import error\nimport '../../style/index.less';\n"],"sourceRoot":""} |