hi-ucs/front/public/util/static/js/antd.min.js.map

1 line
3.9 MiB
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"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 nativeOnhttps://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}&nbsp;\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/2207modal 是 新 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/2207modal 是 新 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 hackbut 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) : '&nbsp;',\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}&nbsp;\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":""}