1 |
- {"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/babel-runtime/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/babel-runtime/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/babel-runtime/node_modules/core-js/library/modules/_global.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dp.js","webpack://antd/./node_modules/babel-runtime/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/babel-runtime/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/babel-runtime/node_modules/core-js/library/modules/_hide.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_an-object.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-iobject.js","webpack://antd/./node_modules/babel-runtime/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/babel-runtime/node_modules/core-js/library/modules/_export.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-object.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_fails.js","webpack://antd/./node_modules/babel-runtime/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/babel-runtime/node_modules/core-js/library/modules/_object-keys.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_library.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_uid.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-pie.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-object.js","webpack://antd/./node_modules/babel-runtime/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/babel-runtime/node_modules/core-js/library/modules/_to-primitive.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_cof.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_defined.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-integer.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared-key.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_shared.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-bug-keys.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gops.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_set-to-string-tag.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/web.dom.iterable.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_wks-ext.js","webpack://antd/./node_modules/babel-runtime/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/babel-runtime/node_modules/core-js/library/modules/_ctx.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_dom-create.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-keys-internal.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_iobject.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_to-length.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-define.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_redefine.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-create.js","webpack://antd/./node_modules/babel-runtime/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/babel-runtime/node_modules/core-js/library/modules/core.get-iterator-method.js","webpack://antd/./node_modules/babel-runtime/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/babel-runtime/node_modules/core-js/library/fn/object/define-property.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.define-property.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_a-function.js","webpack://antd/./node_modules/babel-runtime/core-js/object/assign.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/fn/object/assign.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.object.assign.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-assign.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_array-includes.js","webpack://antd/./node_modules/babel-runtime/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/babel-runtime/node_modules/core-js/library/fn/symbol/iterator.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_string-at.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-create.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-dps.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_html.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gpo.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.iterator.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_add-to-unscopables.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-step.js","webpack://antd/./node_modules/babel-runtime/core-js/symbol.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/fn/symbol/index.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.symbol.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_meta.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_enum-keys.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopn-ext.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_object-gopd.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack://antd/./node_modules/babel-runtime/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/babel-runtime/node_modules/core-js/library/fn/array/from.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/es6.array.from.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-call.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_is-array-iter.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_create-property.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/modules/_iter-detect.js","webpack://antd/./node_modules/babel-runtime/core-js/is-iterable.js","webpack://antd/./node_modules/babel-runtime/node_modules/core-js/library/fn/is-iterable.js","webpack://antd/./node_modules/babel-runtime/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/babel-runtime/node_modules/core-js/library/fn/get-iterator.js","webpack://antd/./node_modules/babel-runtime/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/cjs/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","includes","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","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_objectSpread2","getOwnPropertyDescriptors","defineProperties","iterator","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","__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","pageX","pageY","clientX","preRect","stopMonitorWindowResize","clonedeep","beforeDestroy","resizeHandler","bufferMonitor","timer","clearTimeout","bufferFn","buffer","addEventListener","remove","activeElement","tgtPoint","pointInView","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","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","valueOf","_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","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","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","rgbToHsl","rgbToHsv","rgbToHex","allow3Char","pad2","rgbaToArgbHex","convertDecimalToHex","_desaturate","amount","toHsl","clamp01","_saturate","_greyscale","desaturate","_lighten","_brighten","toRgb","_darken","_spin","_complement","polyad","_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","lighten","brighten","darken","saturate","greyscale","_applyCombination","analogous","complement","monochromatic","splitcomplement","triad","tetrad","fromRatio","newColor","equals","color1","color2","rgb1","rgb2","readability","c1","c2","isReadable","wcag2","wcag2Parms","parms","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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AI7B,SAAS6wP,EAAeluP,GACvB,IAAIiW,EAAKk4O,EAAsBnuP,GAC/B,OAAOlH,EAAoBmd,GAE5B,SAASk4O,EAAsBnuP,GAC9B,IAAIlH,EAAoBW,EAAE4D,EAAK2C,GAAM,CACpC,IAAIyW,EAAI,IAAIlR,MAAM,uBAAyBvF,EAAM,KAEjD,MADAyW,EAAE23O,KAAO,mBACH33O,EAEP,OAAOpZ,EAAI2C,GAEZkuP,EAAevuP,KAAO,WACrB,OAAOjG,OAAOiG,KAAKtC,IAEpB6wP,EAAexuN,QAAUyuN,EACzB71P,EAAOD,QAAU61P,EACjBA,EAAej4O,GAAK,K,+CCxFpB,qB,+CCAA,4B,+CCAA,mC,yICAA,qB,+CCAA,qB,+CCAA,c,qGCAA,mC,iECAA,0C,mFCAA,qB,+CCAA,mC,iECAA,qB,+CCAA,qB,+CCAA,e,+CCAA,0C,mFCAA,qB,+CCAA,qB,+CCAA,qB,+CCAA,4B,+CCAA,4B,+CCAA,qB,+CCAA,qB,+CCAA,qB,+CCAA,iD,mFCAA,e,+CCAA,6B,+CCAA,qB,+CCAA,4B,+CCAA,qB,+CCAA,6B,+CCAA,4B,iECAA,4B,+CCAA,qB,+CCAA,qB,+CCAA,4B,+CCAA,qB,+CCAA,qB,+CCAA,qB,+CCAA,qB,+CCAA,+D,+CCAA,qB,+CCAA,iD,+CCAA,mC,+CCAA,qB,+CCAA,mC,+CCAA","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\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\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 && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\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\n\n// https://github.com/vueComponent/ant-design-vue/issues/2745\nVueIcon.add(\n ...Object.keys(allIcons)\n .filter(key => key !== 'default')\n .map(key => allIcons[key]),\n);\nsetTwoToneColor('#1890ff');\nconst defaultTheme = 'outlined';\nlet dangerousTheme;\n\nfunction renderIcon(h, locale, context) {\n const { $props: props, $slots } = context;\n const listeners = getListeners(context);\n const {\n // affect inner <svg>...</svg>\n type,\n component: Component,\n viewBox,\n spin,\n // other\n theme, // default to outlined\n twoToneColor,\n rotate,\n tabIndex,\n } = props;\n let children = filterEmpty($slots.default);\n children = children.length === 0 ? undefined : children;\n warning(\n Boolean(type || Component || children),\n 'Icon',\n 'Icon should have `type` prop or `component` prop or `children`.',\n );\n\n const classString = classNames({\n [`anticon`]: true,\n [`anticon-${type}`]: !!type,\n });\n\n const svgClassString = classNames({\n [`anticon-spin`]: !!spin || type === 'loading',\n });\n\n const svgStyle = rotate\n ? {\n msTransform: `rotate(${rotate}deg)`,\n transform: `rotate(${rotate}deg)`,\n }\n : undefined;\n\n const innerSvgProps = {\n attrs: {\n ...svgBaseProps,\n viewBox,\n },\n class: svgClassString,\n style: svgStyle,\n };\n if (!viewBox) {\n delete innerSvgProps.attrs.viewBox;\n }\n\n const renderInnerNode = () => {\n // component > children > type\n if (Component) {\n return <Component {...innerSvgProps}>{children}</Component>;\n }\n if (children) {\n warning(\n Boolean(viewBox) || (children.length === 1 && children[0].tag === 'use'),\n 'Icon',\n 'Make sure that you provide correct `viewBox`' +\n ' prop (default `0 0 1024 1024`) to the icon.',\n );\n const innerSvgProps = {\n attrs: {\n ...svgBaseProps,\n },\n class: svgClassString,\n style: svgStyle,\n };\n return (\n <svg {...innerSvgProps} viewBox={viewBox}>\n {children}\n </svg>\n );\n }\n\n if (typeof type === 'string') {\n let computedType = type;\n if (theme) {\n const themeInName = getThemeFromTypeName(type);\n warning(\n !themeInName || theme === themeInName,\n 'Icon',\n `The icon name '${type}' already specify a theme '${themeInName}',` +\n ` the 'theme' prop '${theme}' will be ignored.`,\n );\n }\n computedType = withThemeSuffix(\n removeTypeTheme(alias(computedType)),\n dangerousTheme || theme || defaultTheme,\n );\n\n return (\n <VueIcon\n focusable=\"false\"\n class={svgClassString}\n type={computedType}\n primaryColor={twoToneColor}\n style={svgStyle}\n />\n );\n }\n };\n let iconTabIndex = tabIndex;\n if (iconTabIndex === undefined && 'click' in listeners) {\n iconTabIndex = -1;\n }\n // functional component not support nativeOn,https://github.com/vuejs/vue/issues/7526\n const iProps = {\n attrs: {\n 'aria-label': type && `${locale.icon}: ${type}`,\n tabIndex: iconTabIndex,\n },\n on: listeners,\n class: classString,\n staticClass: '',\n };\n return <i {...iProps}>{renderInnerNode()}</i>;\n}\n\nconst Icon = {\n name: 'AIcon',\n props: {\n tabIndex: PropTypes.number,\n type: PropTypes.string,\n component: PropTypes.any,\n viewBox: PropTypes.any,\n spin: PropTypes.bool.def(false),\n rotate: PropTypes.number,\n theme: PropTypes.oneOf(['filled', 'outlined', 'twoTone']),\n twoToneColor: PropTypes.string,\n role: PropTypes.string,\n },\n render(h) {\n return (\n <LocaleReceiver\n componentName=\"Icon\"\n scopedSlots={{ default: locale => renderIcon(h, locale, this) }}\n />\n );\n },\n};\n\nIcon.createFromIconfontCN = createFromIconfontCN;\nIcon.getTwoToneColor = getTwoToneColor;\nIcon.setTwoToneColor = setTwoToneColor;\n\n/* istanbul ignore next */\nIcon.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Icon.name, Icon);\n};\n\nexport default Icon;\n","import { filterEmpty, parseStyleText } from './props-util';\nimport classNames from 'classnames';\n\nexport function cloneVNode(vnode, deep) {\n const componentOptions = vnode.componentOptions;\n const data = vnode.data;\n\n let listeners = {};\n if (componentOptions && componentOptions.listeners) {\n listeners = { ...componentOptions.listeners };\n }\n\n let on = {};\n if (data && data.on) {\n on = { ...data.on };\n }\n\n const cloned = new vnode.constructor(\n vnode.tag,\n data ? { ...data, on } : data,\n vnode.children,\n vnode.text,\n vnode.elm,\n vnode.context,\n componentOptions ? { ...componentOptions, listeners } : componentOptions,\n vnode.asyncFactory,\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.isCloned = true;\n if (deep) {\n if (vnode.children) {\n cloned.children = cloneVNodes(vnode.children, true);\n }\n if (componentOptions && componentOptions.children) {\n componentOptions.children = cloneVNodes(componentOptions.children, true);\n }\n }\n return cloned;\n}\n\nexport function cloneVNodes(vnodes, deep) {\n const len = vnodes.length;\n const res = new Array(len);\n for (let i = 0; i < len; i++) {\n res[i] = cloneVNode(vnodes[i], deep);\n }\n return res;\n}\n\nexport function cloneElement(n, nodeProps = {}, deep) {\n let ele = n;\n if (Array.isArray(n)) {\n ele = filterEmpty(n)[0];\n }\n if (!ele) {\n return null;\n }\n const node = cloneVNode(ele, deep);\n // // 函数式组件不支持clone https://github.com/vueComponent/ant-design-vue/pull/1947\n // warning(\n // !(node.fnOptions && node.fnOptions.functional),\n // `can not use cloneElement for functional component (${node.fnOptions && node.fnOptions.name})`,\n // );\n const { props = {}, key, on = {}, nativeOn = {}, children, directives = [] } = nodeProps;\n const data = node.data || {};\n let cls = {};\n let style = {};\n const {\n attrs = {},\n ref,\n domProps = {},\n style: tempStyle = {},\n class: tempCls = {},\n scopedSlots = {},\n } = nodeProps;\n\n if (typeof data.style === 'string') {\n style = parseStyleText(data.style);\n } else {\n style = { ...data.style, ...style };\n }\n if (typeof tempStyle === 'string') {\n style = { ...style, ...parseStyleText(style) };\n } else {\n style = { ...style, ...tempStyle };\n }\n\n if (typeof data.class === 'string' && data.class.trim() !== '') {\n data.class.split(' ').forEach(c => {\n cls[c.trim()] = true;\n });\n } else if (Array.isArray(data.class)) {\n classNames(data.class)\n .split(' ')\n .forEach(c => {\n cls[c.trim()] = true;\n });\n } else {\n cls = { ...data.class, ...cls };\n }\n if (typeof tempCls === 'string' && tempCls.trim() !== '') {\n tempCls.split(' ').forEach(c => {\n cls[c.trim()] = true;\n });\n } else {\n cls = { ...cls, ...tempCls };\n }\n node.data = Object.assign({}, data, {\n style,\n attrs: { ...data.attrs, ...attrs },\n class: cls,\n domProps: { ...data.domProps, ...domProps },\n scopedSlots: { ...data.scopedSlots, ...scopedSlots },\n directives: [...(data.directives || []), ...directives],\n });\n\n if (node.componentOptions) {\n node.componentOptions.propsData = node.componentOptions.propsData || {};\n node.componentOptions.listeners = node.componentOptions.listeners || {};\n node.componentOptions.propsData = { ...node.componentOptions.propsData, ...props };\n node.componentOptions.listeners = { ...node.componentOptions.listeners, ...on };\n if (children) {\n node.componentOptions.children = children;\n }\n } else {\n if (children) {\n node.children = children;\n }\n node.data.on = { ...(node.data.on || {}), ...on };\n }\n node.data.on = { ...(node.data.on || {}), ...nativeOn };\n\n if (key !== undefined) {\n node.key = key;\n node.data.key = key;\n }\n if (typeof ref === 'string') {\n node.data.ref = ref;\n }\n return node;\n}\n","export function antPortal(Vue) {\n return Vue.directive('ant-portal', {\n inserted(el, binding) {\n const { value } = binding;\n const parentNode = typeof value === 'function' ? value(el) : value;\n if (parentNode !== el.parentNode) {\n parentNode.appendChild(el);\n }\n },\n componentUpdated(el, binding) {\n const { value } = binding;\n const parentNode = typeof value === 'function' ? value(el) : value;\n if (parentNode !== el.parentNode) {\n parentNode.appendChild(el);\n }\n },\n });\n}\n\nexport default {\n install: Vue => {\n antPortal(Vue);\n },\n};\n","import ref from 'vue-ref';\nimport { antInput } from './antInputDirective';\nimport { antDecorator } from './FormDecoratorDirective';\nimport { antPortal } from './portalDirective';\n\nexport default {\n install: Vue => {\n Vue.use(ref, { name: 'ant-ref' });\n antInput(Vue);\n antDecorator(Vue);\n antPortal(Vue);\n },\n};\n","import antDirective from '../_util/antDirective';\nconst base = {};\nconst install = function(Vue) {\n base.Vue = Vue;\n Vue.use(antDirective);\n};\nbase.install = install;\n\nexport default base;\n","\"use strict\";\n\nexports.__esModule = true;\n\nvar _from = require(\"../core-js/array/from\");\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return (0, _from2.default)(arr);\n }\n};","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};","/* eslint-disable no-console */\nlet warned = {};\n\nexport function warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error(`Warning: ${message}`);\n }\n}\n\nexport function note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn(`Note: ${message}`);\n }\n}\n\nexport function resetWarned() {\n warned = {};\n}\n\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\n\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\n\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\n\nexport default warningOnce;\n/* eslint-enable */\n","import warning, { resetWarned } from '../vc-util/warning';\n\nexport { resetWarned };\n\nexport default (valid, component, message = '') => {\n warning(valid, `[antdv: ${component}] ${message}`);\n};\n","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};","module.exports = __WEBPACK_EXTERNAL_MODULE__15__;","import _extends from \"babel-runtime/helpers/extends\";\nfunction omit(obj, fields) {\n var shallowCopy = _extends({}, obj);\n for (var i = 0; i < fields.length; i++) {\n var key = fields[i];\n delete shallowCopy[key];\n }\n return shallowCopy;\n}\n\nexport default omit;","module.exports = __WEBPACK_EXTERNAL_MODULE__17__;","/* eslint no-loop-func: 0*/\nimport warning from 'warning';\nimport omit from 'omit.js';\nimport TreeNode from './TreeNode';\nimport { getSlotOptions, getOptionProps } from '../../_util/props-util';\nconst DRAG_SIDE_RANGE = 0.25;\nconst DRAG_MIN_GAP = 2;\n\nlet onlyTreeNodeWarned = false;\n\nexport function warnOnlyTreeNode() {\n if (onlyTreeNodeWarned) return;\n\n onlyTreeNodeWarned = true;\n warning(false, 'Tree only accept TreeNode as children.');\n}\n\nexport function arrDel(list, value) {\n const clone = list.slice();\n const index = clone.indexOf(value);\n if (index >= 0) {\n clone.splice(index, 1);\n }\n return clone;\n}\n\nexport function arrAdd(list, value) {\n const clone = list.slice();\n if (clone.indexOf(value) === -1) {\n clone.push(value);\n }\n return clone;\n}\n\nexport function posToArr(pos) {\n return pos.split('-');\n}\n\nexport function getPosition(level, index) {\n return `${level}-${index}`;\n}\n\nexport function isTreeNode(node) {\n return getSlotOptions(node).isTreeNode;\n}\n\nexport function getNodeChildren(children = []) {\n return children.filter(isTreeNode);\n}\n\nexport function isCheckDisabled(node) {\n const { disabled, disableCheckbox, checkable } = getOptionProps(node) || {};\n return !!(disabled || disableCheckbox) || checkable === false;\n}\n\nexport function traverseTreeNodes(treeNodes, callback) {\n function processNode(node, index, parent) {\n const children = node ? node.componentOptions.children : treeNodes;\n const pos = node ? getPosition(parent.pos, index) : 0;\n\n // Filter children\n const childList = getNodeChildren(children);\n\n // Process node if is not root\n if (node) {\n let key = node.key;\n if (!key && (key === undefined || key === null)) {\n key = pos;\n }\n const data = {\n node,\n index,\n pos,\n key,\n parentPos: parent.node ? parent.pos : null,\n };\n callback(data);\n }\n\n // Process children node\n childList.forEach((subNode, subIndex) => {\n processNode(subNode, subIndex, { node, pos });\n });\n }\n\n processNode(null);\n}\n\n/**\n * Use `rc-util` `toArray` to get the children list which keeps the key.\n * And return single node if children is only one(This can avoid `key` missing check).\n */\nexport function mapChildren(children = [], func) {\n const list = children.map(func);\n if (list.length === 1) {\n return list[0];\n }\n return list;\n}\n\nexport function getDragNodesKeys(treeNodes, node) {\n const { eventKey, pos } = getOptionProps(node);\n const dragNodesKeys = [];\n\n traverseTreeNodes(treeNodes, ({ key }) => {\n dragNodesKeys.push(key);\n });\n dragNodesKeys.push(eventKey || pos);\n return dragNodesKeys;\n}\n\nexport function calcDropPosition(event, treeNode) {\n const { clientY } = event;\n const { top, bottom, height } = treeNode.$refs.selectHandle.getBoundingClientRect();\n const des = Math.max(height * DRAG_SIDE_RANGE, DRAG_MIN_GAP);\n\n if (clientY <= top + des) {\n return -1;\n }\n if (clientY >= bottom - des) {\n return 1;\n }\n return 0;\n}\n\n/**\n * Return selectedKeys according with multiple prop\n * @param selectedKeys\n * @param props\n * @returns [string]\n */\nexport function calcSelectedKeys(selectedKeys, props) {\n if (!selectedKeys) {\n return undefined;\n }\n\n const { multiple } = props;\n if (multiple) {\n return selectedKeys.slice();\n }\n\n if (selectedKeys.length) {\n return [selectedKeys[0]];\n }\n return selectedKeys;\n}\n\n/**\n * Since React internal will convert key to string,\n * we need do this to avoid `checkStrictly` use number match\n */\n// function keyListToString (keyList) {\n// if (!keyList) return keyList\n// return keyList.map(key => String(key))\n// }\n\nconst internalProcessProps = (props = {}) => {\n return {\n props: omit(props, ['on', 'key', 'class', 'className', 'style']),\n on: props.on || {},\n class: props.class || props.className,\n style: props.style,\n key: props.key,\n };\n};\nexport function convertDataToTree(h, treeData, processor) {\n if (!treeData) return [];\n\n const { processProps = internalProcessProps } = processor || {};\n const list = Array.isArray(treeData) ? treeData : [treeData];\n return list.map(({ children, ...props }) => {\n const childrenNodes = convertDataToTree(h, children, processor);\n return <TreeNode {...processProps(props)}>{childrenNodes}</TreeNode>;\n });\n}\n\n// TODO: ========================= NEW LOGIC =========================\n/**\n * Calculate treeNodes entities. `processTreeEntity` is used for `rc-tree-select`\n * @param treeNodes\n * @param processTreeEntity User can customize the entity\n */\nexport function convertTreeToEntities(\n treeNodes,\n { initWrapper, processEntity, onProcessFinished } = {},\n) {\n const posEntities = new Map();\n const keyEntities = new Map();\n let wrapper = {\n posEntities,\n keyEntities,\n };\n\n if (initWrapper) {\n wrapper = initWrapper(wrapper) || wrapper;\n }\n\n traverseTreeNodes(treeNodes, item => {\n const { node, index, pos, key, parentPos } = item;\n const entity = { node, index, key, pos };\n\n posEntities.set(pos, entity);\n keyEntities.set(key, entity);\n\n // Fill children\n entity.parent = posEntities.get(parentPos);\n if (entity.parent) {\n entity.parent.children = entity.parent.children || [];\n entity.parent.children.push(entity);\n }\n\n if (processEntity) {\n processEntity(entity, wrapper);\n }\n });\n\n if (onProcessFinished) {\n onProcessFinished(wrapper);\n }\n\n return wrapper;\n}\n\n/**\n * Parse `checkedKeys` to { checkedKeys, halfCheckedKeys } style\n */\nexport function parseCheckedKeys(keys) {\n if (!keys) {\n return null;\n }\n\n // Convert keys to object format\n let keyProps;\n if (Array.isArray(keys)) {\n // [Legacy] Follow the api doc\n keyProps = {\n checkedKeys: keys,\n halfCheckedKeys: undefined,\n };\n } else if (typeof keys === 'object') {\n keyProps = {\n checkedKeys: keys.checked || undefined,\n halfCheckedKeys: keys.halfChecked || undefined,\n };\n } else {\n warning(false, '`checkedKeys` is not an array or an object');\n return null;\n }\n\n // keyProps.checkedKeys = keyListToString(keyProps.checkedKeys)\n // keyProps.halfCheckedKeys = keyListToString(keyProps.halfCheckedKeys)\n\n return keyProps;\n}\n\n/**\n * Conduct check state by the keyList. It will conduct up & from the provided key.\n * If the conduct path reach the disabled or already checked / unchecked node will stop conduct.\n * @param keyList list of keys\n * @param isCheck is check the node or not\n * @param keyEntities parsed by `convertTreeToEntities` function in Tree\n * @param checkStatus Can pass current checked status for process (usually for uncheck operation)\n * @returns {{checkedKeys: [], halfCheckedKeys: []}}\n */\nexport function conductCheck(keyList, isCheck, keyEntities, checkStatus = {}) {\n const checkedKeys = new Map();\n const halfCheckedKeys = new Map(); // Record the key has some child checked (include child half checked)\n\n (checkStatus.checkedKeys || []).forEach(key => {\n checkedKeys.set(key, true);\n });\n\n (checkStatus.halfCheckedKeys || []).forEach(key => {\n halfCheckedKeys.set(key, true);\n });\n\n // Conduct up\n function conductUp(key) {\n if (checkedKeys.get(key) === isCheck) return;\n\n const entity = keyEntities.get(key);\n if (!entity) return;\n\n const { children, parent, node } = entity;\n\n if (isCheckDisabled(node)) return;\n\n // Check child node checked status\n let everyChildChecked = true;\n let someChildChecked = false; // Child checked or half checked\n\n (children || [])\n .filter(child => !isCheckDisabled(child.node))\n .forEach(({ key: childKey }) => {\n const childChecked = checkedKeys.get(childKey);\n const childHalfChecked = halfCheckedKeys.get(childKey);\n\n if (childChecked || childHalfChecked) someChildChecked = true;\n if (!childChecked) everyChildChecked = false;\n });\n\n // Update checked status\n if (isCheck) {\n checkedKeys.set(key, everyChildChecked);\n } else {\n checkedKeys.set(key, false);\n }\n halfCheckedKeys.set(key, someChildChecked);\n\n if (parent) {\n conductUp(parent.key);\n }\n }\n\n // Conduct down\n function conductDown(key) {\n if (checkedKeys.get(key) === isCheck) return;\n\n const entity = keyEntities.get(key);\n if (!entity) return;\n\n const { children, node } = entity;\n\n if (isCheckDisabled(node)) return;\n\n checkedKeys.set(key, isCheck);\n\n (children || []).forEach(child => {\n conductDown(child.key);\n });\n }\n\n function conduct(key) {\n const entity = keyEntities.get(key);\n\n if (!entity) {\n warning(false, `'${key}' does not exist in the tree.`);\n return;\n }\n const { children, parent, node } = entity;\n checkedKeys.set(key, isCheck);\n\n if (isCheckDisabled(node)) return;\n\n // Conduct down\n (children || [])\n .filter(child => !isCheckDisabled(child.node))\n .forEach(child => {\n conductDown(child.key);\n });\n\n // Conduct up\n if (parent) {\n conductUp(parent.key);\n }\n }\n\n (keyList || []).forEach(key => {\n conduct(key);\n });\n\n const checkedKeyList = [];\n const halfCheckedKeyList = [];\n\n // Fill checked list\n for (const [key, value] of checkedKeys) {\n if (value) {\n checkedKeyList.push(key);\n }\n }\n\n // Fill half checked list\n for (const [key, value] of halfCheckedKeys) {\n if (!checkedKeys.get(key) && value) {\n halfCheckedKeyList.push(key);\n }\n }\n\n return {\n checkedKeys: checkedKeyList,\n halfCheckedKeys: halfCheckedKeyList,\n };\n}\n\n/**\n * If user use `autoExpandParent` we should get the list of parent node\n * @param keyList\n * @param keyEntities\n */\nexport function conductExpandParent(keyList, keyEntities) {\n const expandedKeys = new Map();\n\n function conductUp(key) {\n if (expandedKeys.get(key)) return;\n\n const entity = keyEntities.get(key);\n if (!entity) return;\n\n expandedKeys.set(key, true);\n\n const { parent, node } = entity;\n const props = getOptionProps(node);\n if (props && props.disabled) return;\n\n if (parent) {\n conductUp(parent.key);\n }\n }\n\n (keyList || []).forEach(key => {\n conductUp(key);\n });\n\n return [...expandedKeys.keys()];\n}\n\n/**\n * Returns only the data- and aria- key/value pairs\n * @param {object} props\n */\nexport function getDataAndAria(props) {\n return Object.keys(props).reduce((prev, key) => {\n if (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-') {\n prev[key] = props[key];\n }\n return prev;\n }, {});\n}\n","var now = require('performance-now')\n , root = typeof window === 'undefined' ? global : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = root['request' + suffix]\n , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf = root[vendors[i] + 'Cancel' + suffix]\n || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n var last = 0\n , id = 0\n , queue = []\n , frameDuration = 1000 / 60\n\n raf = function(callback) {\n if(queue.length === 0) {\n var _now = now()\n , next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for(var i = 0; i < cp.length; i++) {\n if(!cp[i].cancelled) {\n try{\n cp[i].callback(last)\n } catch(e) {\n setTimeout(function() { throw e }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n })\n return id\n }\n\n caf = function(handle) {\n for(var i = 0; i < queue.length; i++) {\n if(queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nmodule.exports = function(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf\n object.cancelAnimationFrame = caf\n}\n","import addDOMEventListener from 'add-dom-event-listener';\n\nexport default function addEventListenerWrap(target, eventType, cb, option) {\n return addDOMEventListener(target, eventType, cb, option);\n}\n","\"use strict\";\n\nexports.__esModule = true;\n\nvar _isIterable2 = require(\"../core-js/is-iterable\");\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = require(\"../core-js/get-iterator\");\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if ((0, _isIterable3.default)(Object(arr))) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();","import animate from './css-animation';\nconst noop = () => {};\nconst getTransitionProps = (transitionName, opt = {}) => {\n const { beforeEnter, enter, afterEnter, leave, afterLeave, appear = true, tag, nativeOn } = opt;\n const transitionProps = {\n props: {\n appear,\n css: false,\n },\n on: {\n beforeEnter: beforeEnter || noop,\n enter:\n enter ||\n ((el, done) => {\n animate(el, `${transitionName}-enter`, done);\n }),\n afterEnter: afterEnter || noop,\n leave:\n leave ||\n ((el, done) => {\n animate(el, `${transitionName}-leave`, done);\n }),\n afterLeave: afterLeave || noop,\n },\n nativeOn,\n };\n // transition-group\n if (tag) {\n transitionProps.tag = tag;\n }\n return transitionProps;\n};\n\nexport default getTransitionProps;\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n install: function install(Vue) {\n var options =\n arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var directiveName = options.name || \"ref\";\n Vue.directive(directiveName, {\n bind: function bind(el, binding, vnode) {\n Vue.nextTick(function() {\n binding.value(vnode.componentInstance || el, vnode.key);\n });\n binding.value(vnode.componentInstance || el, vnode.key);\n },\n update: function update(el, binding, vnode, oldVnode) {\n if (oldVnode.data && oldVnode.data.directives) {\n var oldBinding = oldVnode.data.directives.find(function(directive) {\n var name = directive.name;\n return name === directiveName;\n });\n if (oldBinding && oldBinding.value !== binding.value) {\n oldBinding && oldBinding.value(null, oldVnode.key);\n binding.value(vnode.componentInstance || el, vnode.key);\n return;\n }\n }\n // Should not have this situation\n if (\n vnode.componentInstance !== oldVnode.componentInstance ||\n vnode.elm !== oldVnode.elm\n ) {\n binding.value(vnode.componentInstance || el, vnode.key);\n }\n },\n unbind: function unbind(el, binding, vnode) {\n binding.value(null, vnode.key);\n }\n });\n }\n};\n","import PropTypes from '../_util/vue-types';\nimport defaultLocaleData from './default';\n\nexport default {\n name: 'LocaleReceiver',\n props: {\n componentName: PropTypes.string.def('global'),\n defaultLocale: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n children: PropTypes.func,\n },\n inject: {\n localeData: { default: () => ({}) },\n },\n methods: {\n getLocale() {\n const { componentName, defaultLocale } = this;\n const locale = defaultLocale || defaultLocaleData[componentName || 'global'];\n const { antLocale } = this.localeData;\n\n const localeFromContext = componentName && antLocale ? antLocale[componentName] : {};\n return {\n ...(typeof locale === 'function' ? locale() : locale),\n ...(localeFromContext || {}),\n };\n },\n\n getLocaleCode() {\n const { antLocale } = this.localeData;\n const localeCode = antLocale && antLocale.locale;\n // Had use LocaleProvide but didn't set locale\n if (antLocale && antLocale.exist && !localeCode) {\n return defaultLocaleData.locale;\n }\n return localeCode;\n },\n },\n render() {\n const { $scopedSlots } = this;\n const children = this.children || $scopedSlots.default;\n const { antLocale } = this.localeData;\n return children(this.getLocale(), this.getLocaleCode(), antLocale);\n },\n};\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\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 return obj;\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};\nfunction getVendorPrefix() {\n if (vendorPrefix !== undefined) {\n return vendorPrefix;\n }\n vendorPrefix = '';\n var style = document.createElement('p').style;\n var testProp = 'Transform';\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n return vendorPrefix;\n}\nfunction getTransitionName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"TransitionProperty\") : 'transitionProperty';\n}\nfunction getTransformName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"Transform\") : 'transform';\n}\nfunction setTransitionProperty(node, value) {\n var name = getTransitionName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\nfunction setTransform(node, value) {\n var name = getTransformName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transform') {\n node.style.transform = value;\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 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 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 if (transform && transform !== 'none') {\n var arr;\n var match2d = transform.match(matrix2d);\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;\n\n// https://stackoverflow.com/a/3485654/3040605\nfunction forceRelayout(elem) {\n var originalStyle = elem.style.display;\n elem.style.display = 'none';\n elem.offsetHeight; // eslint-disable-line\n elem.style.display = originalStyle;\n}\nfunction css(el, name, v) {\n var value = v;\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 return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value = \"\".concat(value, \"px\");\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\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;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = Math.floor(box.left);\n y = Math.floor(box.top);\n\n // 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\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\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}\nfunction getScroll(w, top) {\n var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n var method = \"scroll\".concat(top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var 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}\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\nfunction getScrollTop(w) {\n return getScroll(w, true);\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/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj !== null && obj !== undefined && obj == obj.window;\n}\nfunction getDocument(node) {\n if (isWindow(node)) {\n return node.document;\n }\n if (node.nodeType === 9) {\n return node;\n }\n return node.ownerDocument;\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);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n return val;\n}\nvar _RE_NUM_NO_PX = new RegExp(\"^(\".concat(RE_NUM, \")(?!px)[a-z%]+$\"), 'i');\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\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];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\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 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];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\nfunction getOffsetDirection(dir, option) {\n if (dir === 'left') {\n return option.useCssRight ? 'right' : dir;\n }\n return option.useCssBottom ? 'bottom' : dir;\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}\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\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 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 if (horizontalProperty !== 'left') {\n presetH = 999;\n }\n if (verticalProperty !== 'top') {\n presetV = 999;\n }\n var originalTransition = '';\n var originalOffset = getOffset(elem);\n if ('left' in offset || 'top' in offset) {\n originalTransition = getTransitionProperty(elem) || '';\n setTransitionProperty(elem, 'none');\n }\n if ('left' in offset) {\n elem.style[oppositeHorizontalProperty] = '';\n elem.style[horizontalProperty] = \"\".concat(presetH, \"px\");\n }\n if ('top' in offset) {\n elem.style[oppositeVerticalProperty] = '';\n elem.style[verticalProperty] = \"\".concat(presetV, \"px\");\n }\n // force relayout\n forceRelayout(elem);\n var old = getOffset(elem);\n var originalStyle = {};\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 if (dir === key) {\n originalStyle[dir] = preset + off;\n } else {\n originalStyle[dir] = preset - off;\n }\n }\n }\n css(elem, originalStyle);\n // force relayout\n forceRelayout(elem);\n if ('left' in offset || 'top' in offset) {\n setTransitionProperty(elem, originalTransition);\n }\n var ret = {};\n for (var _key in offset) {\n if (offset.hasOwnProperty(_key)) {\n var _dir = getOffsetDirection(_key, option);\n var _off = offset[_key] - originalOffset[_key];\n if (_key === _dir) {\n ret[_dir] = originalStyle[_dir] + _off;\n } else {\n ret[_dir] = originalStyle[_dir] - _off;\n }\n }\n }\n css(elem, ret);\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 if ('left' in offset) {\n resultXY.x = originalXY.x + offset.left - originalOffset.left;\n }\n if ('top' in offset) {\n resultXY.y = originalXY.y + offset.top - originalOffset.top;\n }\n setTransformXY(elem, resultXY);\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 if (oLeft === tLeft && oTop === tTop) {\n return;\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}\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop;\n var j;\n var i;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = void 0;\n if (prop === 'border') {\n cssProp = \"\".concat(prop).concat(which[i], \"Width\");\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\nvar domUtils = {\n getParent: function getParent(element) {\n var parent = element;\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 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(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement[\"scroll\".concat(name)],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body[\"scroll\".concat(name)], domUtils[\"viewport\".concat(name)](d));\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];\n // 标准模式取 documentElement\n // backcompat 取 body\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\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 */\nfunction getWH(elem, name, ex) {\n var extra = ex;\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 var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? Math.floor(elem.getBoundingClientRect().width) : Math.floor(elem.getBoundingClientRect().height);\n var isBorderBox = isBorderBoxFn(elem);\n var cssBoxValue = 0;\n if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = Math.floor(parseFloat(cssBoxValue)) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which);\n }\n return cssBoxValue;\n } else if (borderBoxValueOrIsBorderBox) {\n if (extra === BORDER_INDEX) {\n return val;\n }\n return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which) : getPBMWidth(elem, ['margin'], which));\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);\n}\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay() {\n for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n args[_key2] = arguments[_key2];\n }\n var val;\n var elem = args[0];\n // in case elem is window\n // elem.offsetWidth === undefined\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 return val;\n}\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils[\"outer\".concat(first)] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n domUtils[name] = function (elem, v) {\n var val = v;\n if (val !== undefined) {\n if (elem) {\n var isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\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 return to;\n}\nvar utils = {\n getWindow: function getWindow(node) {\n if (node && node.document && node.setTimeout) {\n return node;\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 for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n var overflow = obj.overflow;\n if (overflow) {\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\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 for (var i = 0; i < arguments.length; i++) {\n utils.mix(ret, i < 0 || arguments.length <= i ? undefined : arguments[i]);\n }\n return ret;\n },\n viewportWidth: 0,\n viewportHeight: 0\n};\nmix(utils, domUtils);\n\n/**\n * 得到会导致元素显示不全的祖先元素\n */\nvar getParent = utils.getParent;\nfunction getOffsetParent(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return null;\n }\n // ie 这个也不是完全可行\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 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 if (!skipStatic) {\n return element.nodeName.toLowerCase() === 'html' ? null : getParent(element);\n }\n for (parent = getParent(element); parent && parent !== body && parent.nodeType !== 9; parent = getParent(parent)) {\n positionStyle = utils.css(parent, 'position');\n if (positionStyle !== 'static') {\n return parent;\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 var doc = utils.getDocument(element);\n var body = doc.body;\n var parent = null;\n for (parent = getParent$1(element);\n // 修复元素位于 document.documentElement 下导致崩溃问题\n parent && parent !== body && parent !== doc; parent = getParent$1(parent)) {\n var positionStyle = utils.css(parent, 'position');\n if (positionStyle === 'fixed') {\n return true;\n }\n }\n return false;\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;\n\n // Determine the size of the visible rect by climbing the dom accounting for\n // all scrollable containers.\n while (el) {\n // clientWidth is zero for inline block elements in ie.\n if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) &&\n // 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);\n // add border\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,\n // 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 el = getOffsetParent(el);\n }\n\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 var originalPosition = null;\n if (!utils.isWindow(element) && element.nodeType !== 9) {\n originalPosition = element.style.position;\n var position = utils.css(element, 'position');\n if (position === 'absolute') {\n element.style.position = 'fixed';\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;\n\n // scrollXXX on html is sync with body which means overflow: hidden on body gets wrong scrollXXX.\n // We should cut this ourself.\n var bodyStyle = window.getComputedStyle(body);\n if (bodyStyle.overflowX === 'hidden') {\n documentWidth = win.innerWidth;\n }\n if (bodyStyle.overflowY === 'hidden') {\n documentHeight = win.innerHeight;\n }\n\n // Reset element position after calculate the visible area\n if (element.style) {\n element.style.position = originalPosition;\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 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 if (overflow.adjustX && pos.left < visibleRect.left) {\n pos.left = visibleRect.left;\n }\n\n // Left edge inside and right edge outside viewport, try to resize it.\n if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {\n size.width -= pos.left + size.width - visibleRect.right;\n }\n\n // Right edge outside viewport, try to move it.\n if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n // 保证左边界和可视区域左边界对齐\n pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n }\n\n // Top edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top < visibleRect.top) {\n pos.top = visibleRect.top;\n }\n\n // Top edge inside and bottom edge outside viewport, try to resize it.\n if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {\n size.height -= pos.top + size.height - visibleRect.bottom;\n }\n\n // Bottom edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {\n // 保证上边界和可视区域上边界对齐\n pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);\n }\n return utils.mix(pos, size);\n}\n\nfunction getRegion(node) {\n var offset;\n var w;\n var h;\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 offset.width = w;\n offset.height = h;\n return offset;\n}\n\n/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\n */\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 if (V === 'c') {\n y += h / 2;\n } else if (V === 'b') {\n y += h;\n }\n if (H === 'c') {\n x += w / 2;\n } else if (H === 'r') {\n x += w;\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 [email protected]\n */\n\n// http://yiminghe.iteye.com/blog/1124720\n\nfunction isFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;\n}\nfunction isFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom;\n}\nfunction isCompleteFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left;\n}\nfunction isCompleteFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top;\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}\nfunction flipOffset(offset, index) {\n offset[index] = -offset[index];\n return offset;\n}\nfunction convertOffset(str, offsetLen) {\n var 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 return n || 0;\n}\nfunction normalizeOffset(offset, el) {\n offset[0] = convertOffset(offset[0], el.width);\n offset[1] = convertOffset(offset[1], el.height);\n}\n\n/**\n * @param el\n * @param tgtRegion 参照节点所占的区域: { left, top, width, height }\n * @param align\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);\n // 当前节点所占的区域, left/top/width/height\n var elRegion = getRegion(source);\n // 将 offset 转换成数值,支持百分比\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 // 如果可视区域不能完全放置当前节点时允许调整\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 if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = newPoints;\n offset = newOffset;\n targetOffset = newTargetOffset;\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 var _newOffset = flipOffset(offset, 1);\n var _newTargetOffset = flipOffset(targetOffset, 1);\n var _newElFuturePos = getElFuturePos(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset);\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 var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);\n var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect);\n // 检查反下后的位置是否可以放下了,如果仍然放不下:\n // 1. 复原修改过的定位参数\n if (isStillFailX || isStillFailY) {\n var _newPoints2 = points;\n\n // 重置对应部分的翻转逻辑\n if (isStillFailX) {\n _newPoints2 = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l'\n });\n }\n if (isStillFailY) {\n _newPoints2 = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't'\n });\n }\n points = _newPoints2;\n offset = align.offset || [0, 0];\n targetOffset = align.targetOffset || [0, 0];\n }\n // 2. 只有指定了可以调整当前方向才调整\n newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;\n newOverflowCfg.adjustY = overflow.adjustY && isStillFailY;\n\n // 确实要调整,甚至可能会调整高度宽度\n if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {\n newElRegion = adjustForViewport(elFuturePos, elRegion, visibleRect, newOverflowCfg);\n }\n }\n\n // need judge to in case set fixed with in css on height auto element\n if (newElRegion.width !== elRegion.width) {\n utils.css(source, 'width', utils.width(source) + newElRegion.width - elRegion.width);\n }\n if (newElRegion.height !== elRegion.height) {\n utils.css(source, 'height', utils.height(source) + newElRegion.height - elRegion.height);\n }\n\n // https://github.com/kissyteam/kissy/issues/190\n // 相对于屏幕位置没变,而 left/top 变了\n // 例如 <div 'relative'><el absolute></div>\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 [email protected]\n * - 优化智能对齐算法\n * - 慎用 resizeXX\n *\n * 2011-07-13 [email protected] 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}\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}\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 if ('pageX' in tgtPoint) {\n pageX = tgtPoint.pageX;\n } else {\n pageX = scrollX + tgtPoint.clientX;\n }\n if ('pageY' in tgtPoint) {\n pageY = tgtPoint.pageY;\n } else {\n pageY = scrollY + tgtPoint.clientY;\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;\n\n // Provide default target point\n var points = [align.points[0], 'cc'];\n return doAlign(el, tgtRegion, _objectSpread2(_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.7.16' };\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 inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n renderEmpty(contentLocale) {\n const { prefixCls: customizePrefixCls, imageStyle } = this.$props;\n const { getPrefixCls } = this.configProvider;\n const prefixCls = 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\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\n/* eslint no-console:0 */\nvar formatRegExp = /%[sdj%]/g;\nvar warning = function warning() {}; // don't print warning message when in production env or node runtime\n\nif (typeof process !== 'undefined' && process.env && process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && typeof document !== 'undefined') {\n warning = function warning(type, errors) {\n if (typeof console !== 'undefined' && console.warn) {\n if (errors.every(function (e) {\n return typeof e === 'string';\n })) {\n console.warn(type, errors);\n }\n }\n };\n}\n\nfunction convertFieldsError(errors) {\n if (!errors || !errors.length) return null;\n var fields = {};\n errors.forEach(function (error) {\n var field = error.field;\n fields[field] = fields[field] || [];\n fields[field].push(error);\n });\n return fields;\n}\nfunction format() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var i = 1;\n var f = args[0];\n var len = args.length;\n\n if (typeof f === 'function') {\n return f.apply(null, args.slice(1));\n }\n\n if (typeof f === 'string') {\n var str = String(f).replace(formatRegExp, function (x) {\n if (x === '%%') {\n return '%';\n }\n\n if (i >= len) {\n return x;\n }\n\n switch (x) {\n case '%s':\n return String(args[i++]);\n\n case '%d':\n return Number(args[i++]);\n\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n\n break;\n\n default:\n return x;\n }\n });\n return str;\n }\n\n return f;\n}\n\nfunction isNativeStringType(type) {\n return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'date' || type === 'pattern';\n}\n\nfunction isEmptyValue(value, type) {\n if (value === undefined || value === null) {\n return true;\n }\n\n if (type === 'array' && Array.isArray(value) && !value.length) {\n return true;\n }\n\n if (isNativeStringType(type) && typeof value === 'string' && !value) {\n return true;\n }\n\n return false;\n}\n\nfunction asyncParallelArray(arr, func, callback) {\n var results = [];\n var total = 0;\n var arrLength = arr.length;\n\n function count(errors) {\n results.push.apply(results, errors);\n total++;\n\n if (total === arrLength) {\n callback(results);\n }\n }\n\n arr.forEach(function (a) {\n func(a, count);\n });\n}\n\nfunction asyncSerialArray(arr, func, callback) {\n var index = 0;\n var arrLength = arr.length;\n\n function next(errors) {\n if (errors && errors.length) {\n callback(errors);\n return;\n }\n\n var original = index;\n index = index + 1;\n\n if (original < arrLength) {\n func(arr[original], next);\n } else {\n callback([]);\n }\n }\n\n next([]);\n}\n\nfunction flattenObjArr(objArr) {\n var ret = [];\n Object.keys(objArr).forEach(function (k) {\n ret.push.apply(ret, objArr[k]);\n });\n return ret;\n}\n\nvar AsyncValidationError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(AsyncValidationError, _Error);\n\n function AsyncValidationError(errors, fields) {\n var _this;\n\n _this = _Error.call(this, 'Async Validation Error') || this;\n _this.errors = errors;\n _this.fields = fields;\n return _this;\n }\n\n return AsyncValidationError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\nfunction asyncMap(objArr, option, func, callback) {\n if (option.first) {\n var _pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n callback(errors);\n return errors.length ? reject(new AsyncValidationError(errors, convertFieldsError(errors))) : resolve();\n };\n\n var flattenArr = flattenObjArr(objArr);\n asyncSerialArray(flattenArr, func, next);\n });\n\n _pending[\"catch\"](function (e) {\n return e;\n });\n\n return _pending;\n }\n\n var firstFields = option.firstFields || [];\n\n if (firstFields === true) {\n firstFields = Object.keys(objArr);\n }\n\n var objArrKeys = Object.keys(objArr);\n var objArrLength = objArrKeys.length;\n var total = 0;\n var results = [];\n var pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n results.push.apply(results, errors);\n total++;\n\n if (total === objArrLength) {\n callback(results);\n return results.length ? reject(new AsyncValidationError(results, convertFieldsError(results))) : resolve();\n }\n };\n\n if (!objArrKeys.length) {\n callback(results);\n resolve();\n }\n\n objArrKeys.forEach(function (key) {\n var arr = objArr[key];\n\n if (firstFields.indexOf(key) !== -1) {\n asyncSerialArray(arr, func, next);\n } else {\n asyncParallelArray(arr, func, next);\n }\n });\n });\n pending[\"catch\"](function (e) {\n return e;\n });\n return pending;\n}\nfunction complementError(rule) {\n return function (oe) {\n if (oe && oe.message) {\n oe.field = oe.field || rule.fullField;\n return oe;\n }\n\n return {\n message: typeof oe === 'function' ? oe() : oe,\n field: oe.field || rule.fullField\n };\n };\n}\nfunction deepMerge(target, source) {\n if (source) {\n for (var s in source) {\n if (source.hasOwnProperty(s)) {\n var value = source[s];\n\n if (typeof value === 'object' && typeof target[s] === 'object') {\n target[s] = _extends({}, target[s], value);\n } else {\n target[s] = value;\n }\n }\n }\n }\n\n return target;\n}\n\n/**\n * Rule for validating required fields.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction required(rule, value, source, errors, options, type) {\n if (rule.required && (!source.hasOwnProperty(rule.field) || isEmptyValue(value, type || rule.type))) {\n errors.push(format(options.messages.required, rule.fullField));\n }\n}\n\n/**\n * Rule for validating whitespace.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction whitespace(rule, value, source, errors, options) {\n if (/^\\s+$/.test(value) || value === '') {\n errors.push(format(options.messages.whitespace, rule.fullField));\n }\n}\n\n/* eslint max-len:0 */\n\nvar pattern = {\n // http://emailregex.com/\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n url: new RegExp(\"^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[0-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))|localhost)(?::\\\\d{2,5})?(?:(/|\\\\?|#)[^\\\\s]*)?$\", 'i'),\n hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i\n};\nvar types = {\n integer: function integer(value) {\n return types.number(value) && parseInt(value, 10) === value;\n },\n \"float\": function float(value) {\n return types.number(value) && !types.integer(value);\n },\n array: function array(value) {\n return Array.isArray(value);\n },\n regexp: function regexp(value) {\n if (value instanceof RegExp) {\n return true;\n }\n\n try {\n return !!new RegExp(value);\n } catch (e) {\n return false;\n }\n },\n date: function date(value) {\n return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function' && !isNaN(value.getTime());\n },\n number: function number(value) {\n if (isNaN(value)) {\n return false;\n }\n\n return typeof value === 'number';\n },\n object: function object(value) {\n return typeof value === 'object' && !types.array(value);\n },\n method: function method(value) {\n return typeof value === 'function';\n },\n email: function email(value) {\n return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255;\n },\n url: function url(value) {\n return typeof value === 'string' && !!value.match(pattern.url);\n },\n hex: function hex(value) {\n return typeof value === 'string' && !!value.match(pattern.hex);\n }\n};\n/**\n * Rule for validating the type of a value.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction type(rule, value, source, errors, options) {\n if (rule.required && value === undefined) {\n required(rule, value, source, errors, options);\n return;\n }\n\n var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];\n var ruleType = rule.type;\n\n if (custom.indexOf(ruleType) > -1) {\n if (!types[ruleType](value)) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n } // straight typeof check\n\n } else if (ruleType && typeof value !== rule.type) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n }\n}\n\n/**\n * Rule for validating minimum and maximum allowed values.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction range(rule, value, source, errors, options) {\n var len = typeof rule.len === 'number';\n var min = typeof rule.min === 'number';\n var max = typeof rule.max === 'number'; // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n\n var spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n var val = value;\n var key = null;\n var num = typeof value === 'number';\n var str = typeof value === 'string';\n var arr = Array.isArray(value);\n\n if (num) {\n key = 'number';\n } else if (str) {\n key = 'string';\n } else if (arr) {\n key = 'array';\n } // if the value is not of a supported type for range validation\n // the validation rule rule should use the\n // type property to also test for a particular type\n\n\n if (!key) {\n return false;\n }\n\n if (arr) {\n val = value.length;\n }\n\n if (str) {\n // 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".lenght !== 3\n val = value.replace(spRegexp, '_').length;\n }\n\n if (len) {\n if (val !== rule.len) {\n errors.push(format(options.messages[key].len, rule.fullField, rule.len));\n }\n } else if (min && !max && val < rule.min) {\n errors.push(format(options.messages[key].min, rule.fullField, rule.min));\n } else if (max && !min && val > rule.max) {\n errors.push(format(options.messages[key].max, rule.fullField, rule.max));\n } else if (min && max && (val < rule.min || val > rule.max)) {\n errors.push(format(options.messages[key].range, rule.fullField, rule.min, rule.max));\n }\n}\n\nvar ENUM = 'enum';\n/**\n * Rule for validating a value exists in an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction enumerable(rule, value, source, errors, options) {\n rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];\n\n if (rule[ENUM].indexOf(value) === -1) {\n errors.push(format(options.messages[ENUM], rule.fullField, rule[ENUM].join(', ')));\n }\n}\n\n/**\n * Rule for validating a regular expression pattern.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction pattern$1(rule, value, source, errors, options) {\n if (rule.pattern) {\n if (rule.pattern instanceof RegExp) {\n // if a RegExp instance is passed, reset `lastIndex` in case its `global`\n // flag is accidentally set to `true`, which in a validation scenario\n // is not necessary and the result might be misleading\n rule.pattern.lastIndex = 0;\n\n if (!rule.pattern.test(value)) {\n errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n } else if (typeof rule.pattern === 'string') {\n var _pattern = new RegExp(rule.pattern);\n\n if (!_pattern.test(value)) {\n errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n }\n }\n}\n\nvar rules = {\n required: required,\n whitespace: whitespace,\n type: type,\n range: range,\n \"enum\": enumerable,\n pattern: pattern$1\n};\n\n/**\n * Performs validation for string types.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction string(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, 'string');\n\n if (!isEmptyValue(value, 'string')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n rules.pattern(rule, value, source, errors, options);\n\n if (rule.whitespace === true) {\n rules.whitespace(rule, value, source, errors, options);\n }\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a function.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction method(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction number(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (value === '') {\n value = undefined;\n }\n\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a boolean.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction _boolean(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates the regular expression type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction regexp(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a number is an integer.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction integer(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a number is a floating point number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction floatFn(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates an array.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction array(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if ((value === undefined || value === null) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, 'array');\n\n if (value !== undefined && value !== null) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates an object.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction object(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\nvar ENUM$1 = 'enum';\n/**\n * Validates an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction enumerable$1(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules[ENUM$1](rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a regular expression pattern.\n *\n * Performs validation when a rule only contains\n * a pattern property but is not declared as a string type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction pattern$2(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value, 'string')) {\n rules.pattern(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\nfunction date(rule, value, callback, source, options) {\n // console.log('integer rule called %j', rule);\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); // console.log('validate on %s value', value);\n\n if (validate) {\n if (isEmptyValue(value, 'date') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value, 'date')) {\n var dateObject;\n\n if (value instanceof Date) {\n dateObject = value;\n } else {\n dateObject = new Date(value);\n }\n\n rules.type(rule, dateObject, source, errors, options);\n\n if (dateObject) {\n rules.range(rule, dateObject.getTime(), source, errors, options);\n }\n }\n }\n\n callback(errors);\n}\n\nfunction required$1(rule, value, callback, source, options) {\n var errors = [];\n var type = Array.isArray(value) ? 'array' : typeof value;\n rules.required(rule, value, source, errors, options, type);\n callback(errors);\n}\n\nfunction type$1(rule, value, callback, source, options) {\n var ruleType = rule.type;\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, ruleType) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, ruleType);\n\n if (!isEmptyValue(value, ruleType)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Performs validation for any type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction any(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n }\n\n callback(errors);\n}\n\nvar validators = {\n string: string,\n method: method,\n number: number,\n \"boolean\": _boolean,\n regexp: regexp,\n integer: integer,\n \"float\": floatFn,\n array: array,\n object: object,\n \"enum\": enumerable$1,\n pattern: pattern$2,\n date: date,\n url: type$1,\n hex: type$1,\n email: type$1,\n required: required$1,\n any: any\n};\n\nfunction newMessages() {\n return {\n \"default\": 'Validation error on field %s',\n required: '%s is required',\n \"enum\": '%s must be one of %s',\n whitespace: '%s cannot be empty',\n date: {\n format: '%s date %s is invalid for format %s',\n parse: '%s date could not be parsed, %s is invalid ',\n invalid: '%s date %s is invalid'\n },\n types: {\n string: '%s is not a %s',\n method: '%s is not a %s (function)',\n array: '%s is not an %s',\n object: '%s is not an %s',\n number: '%s is not a %s',\n date: '%s is not a %s',\n \"boolean\": '%s is not a %s',\n integer: '%s is not an %s',\n \"float\": '%s is not a %s',\n regexp: '%s is not a valid %s',\n email: '%s is not a valid %s',\n url: '%s is not a valid %s',\n hex: '%s is not a valid %s'\n },\n string: {\n len: '%s must be exactly %s characters',\n min: '%s must be at least %s characters',\n max: '%s cannot be longer than %s characters',\n range: '%s must be between %s and %s characters'\n },\n number: {\n len: '%s must equal %s',\n min: '%s cannot be less than %s',\n max: '%s cannot be greater than %s',\n range: '%s must be between %s and %s'\n },\n array: {\n len: '%s must be exactly %s in length',\n min: '%s cannot be less than %s in length',\n max: '%s cannot be greater than %s in length',\n range: '%s must be between %s and %s in length'\n },\n pattern: {\n mismatch: '%s value %s does not match pattern %s'\n },\n clone: function clone() {\n var cloned = JSON.parse(JSON.stringify(this));\n cloned.clone = this.clone;\n return cloned;\n }\n };\n}\nvar messages = newMessages();\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\n\nfunction Schema(descriptor) {\n this.rules = null;\n this._messages = messages;\n this.define(descriptor);\n}\n\nSchema.prototype = {\n messages: function messages(_messages) {\n if (_messages) {\n this._messages = deepMerge(newMessages(), _messages);\n }\n\n return this._messages;\n },\n define: function define(rules) {\n if (!rules) {\n throw new Error('Cannot configure a schema with no rules');\n }\n\n if (typeof rules !== 'object' || Array.isArray(rules)) {\n throw new Error('Rules must be an object');\n }\n\n this.rules = {};\n var z;\n var item;\n\n for (z in rules) {\n if (rules.hasOwnProperty(z)) {\n item = rules[z];\n this.rules[z] = Array.isArray(item) ? item : [item];\n }\n }\n },\n validate: function validate(source_, o, oc) {\n var _this = this;\n\n if (o === void 0) {\n o = {};\n }\n\n if (oc === void 0) {\n oc = function oc() {};\n }\n\n var source = source_;\n var options = o;\n var callback = oc;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (!this.rules || Object.keys(this.rules).length === 0) {\n if (callback) {\n callback();\n }\n\n return Promise.resolve();\n }\n\n function complete(results) {\n var i;\n var errors = [];\n var fields = {};\n\n function add(e) {\n if (Array.isArray(e)) {\n var _errors;\n\n errors = (_errors = errors).concat.apply(_errors, e);\n } else {\n errors.push(e);\n }\n }\n\n for (i = 0; i < results.length; i++) {\n add(results[i]);\n }\n\n if (!errors.length) {\n errors = null;\n fields = null;\n } else {\n fields = convertFieldsError(errors);\n }\n\n callback(errors, fields);\n }\n\n if (options.messages) {\n var messages$1 = this.messages();\n\n if (messages$1 === messages) {\n messages$1 = newMessages();\n }\n\n deepMerge(messages$1, options.messages);\n options.messages = messages$1;\n } else {\n options.messages = this.messages();\n }\n\n var arr;\n var value;\n var series = {};\n var keys = options.keys || Object.keys(this.rules);\n keys.forEach(function (z) {\n arr = _this.rules[z];\n value = source[z];\n arr.forEach(function (r) {\n var rule = r;\n\n if (typeof rule.transform === 'function') {\n if (source === source_) {\n source = _extends({}, source);\n }\n\n value = source[z] = rule.transform(value);\n }\n\n if (typeof rule === 'function') {\n rule = {\n validator: rule\n };\n } else {\n rule = _extends({}, rule);\n }\n\n rule.validator = _this.getValidationMethod(rule);\n rule.field = z;\n rule.fullField = rule.fullField || z;\n rule.type = _this.getType(rule);\n\n if (!rule.validator) {\n return;\n }\n\n series[z] = series[z] || [];\n series[z].push({\n rule: rule,\n value: value,\n source: source,\n field: z\n });\n });\n });\n var errorFields = {};\n return asyncMap(series, options, function (data, doIt) {\n var rule = data.rule;\n var deep = (rule.type === 'object' || rule.type === 'array') && (typeof rule.fields === 'object' || typeof rule.defaultField === 'object');\n deep = deep && (rule.required || !rule.required && data.value);\n rule.field = data.field;\n\n function addFullfield(key, schema) {\n return _extends({}, schema, {\n fullField: rule.fullField + \".\" + key\n });\n }\n\n function cb(e) {\n if (e === void 0) {\n e = [];\n }\n\n var errors = e;\n\n if (!Array.isArray(errors)) {\n errors = [errors];\n }\n\n if (!options.suppressWarning && errors.length) {\n Schema.warning('async-validator:', errors);\n }\n\n if (errors.length && rule.message !== undefined) {\n errors = [].concat(rule.message);\n }\n\n errors = errors.map(complementError(rule));\n\n if (options.first && errors.length) {\n errorFields[rule.field] = 1;\n return doIt(errors);\n }\n\n if (!deep) {\n doIt(errors);\n } else {\n // if rule is required but the target object\n // does not exist fail at the rule level and don't\n // go deeper\n if (rule.required && !data.value) {\n if (rule.message !== undefined) {\n errors = [].concat(rule.message).map(complementError(rule));\n } else if (options.error) {\n errors = [options.error(rule, format(options.messages.required, rule.field))];\n }\n\n return doIt(errors);\n }\n\n var fieldsSchema = {};\n\n if (rule.defaultField) {\n for (var k in data.value) {\n if (data.value.hasOwnProperty(k)) {\n fieldsSchema[k] = rule.defaultField;\n }\n }\n }\n\n fieldsSchema = _extends({}, fieldsSchema, data.rule.fields);\n\n for (var f in fieldsSchema) {\n if (fieldsSchema.hasOwnProperty(f)) {\n var fieldSchema = Array.isArray(fieldsSchema[f]) ? fieldsSchema[f] : [fieldsSchema[f]];\n fieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f));\n }\n }\n\n var schema = new Schema(fieldsSchema);\n schema.messages(options.messages);\n\n if (data.rule.options) {\n data.rule.options.messages = options.messages;\n data.rule.options.error = options.error;\n }\n\n schema.validate(data.value, data.rule.options || options, function (errs) {\n var finalErrors = [];\n\n if (errors && errors.length) {\n finalErrors.push.apply(finalErrors, errors);\n }\n\n if (errs && errs.length) {\n finalErrors.push.apply(finalErrors, errs);\n }\n\n doIt(finalErrors.length ? finalErrors : null);\n });\n }\n }\n\n var res;\n\n if (rule.asyncValidator) {\n res = rule.asyncValidator(rule, data.value, cb, data.source, options);\n } else if (rule.validator) {\n res = rule.validator(rule, data.value, cb, data.source, options);\n\n if (res === true) {\n cb();\n } else if (res === false) {\n cb(rule.message || rule.field + \" fails\");\n } else if (res instanceof Array) {\n cb(res);\n } else if (res instanceof Error) {\n cb(res.message);\n }\n }\n\n if (res && res.then) {\n res.then(function () {\n return cb();\n }, function (e) {\n return cb(e);\n });\n }\n }, function (results) {\n complete(results);\n });\n },\n getType: function getType(rule) {\n if (rule.type === undefined && rule.pattern instanceof RegExp) {\n rule.type = 'pattern';\n }\n\n if (typeof rule.validator !== 'function' && rule.type && !validators.hasOwnProperty(rule.type)) {\n throw new Error(format('Unknown rule type %s', rule.type));\n }\n\n return rule.type || 'string';\n },\n getValidationMethod: function getValidationMethod(rule) {\n if (typeof rule.validator === 'function') {\n return rule.validator;\n }\n\n var keys = Object.keys(rule);\n var messageIndex = keys.indexOf('message');\n\n if (messageIndex !== -1) {\n keys.splice(messageIndex, 1);\n }\n\n if (keys.length === 1 && keys[0] === 'required') {\n return validators.required;\n }\n\n return validators[this.getType(rule)] || false;\n }\n};\n\nSchema.register = function register(type, validator) {\n if (typeof validator !== 'function') {\n throw new Error('Cannot register a validator by type, validator is not a function');\n }\n\n validators[type] = validator;\n};\n\nSchema.warning = warning;\nSchema.messages = messages;\nSchema.validators = validators;\n\nexport default Schema;\n//# sourceMappingURL=index.js.map\n","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 [email protected]\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 [email protected]\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","// This file is autogenerated. It's used to publish CJS to npm.\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.tinycolor = factory());\n})(this, (function () { 'use strict';\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n }\n\n // https://github.com/bgrins/TinyColor\n // Brian Grinstead, MIT License\n\n var trimLeft = /^\\s+/;\n var trimRight = /\\s+$/;\n function tinycolor(color, opts) {\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 var rgb = inputToRGB(color);\n this._originalInput = color, this._r = rgb.r, this._g = rgb.g, this._b = rgb.b, this._a = rgb.a, this._roundA = Math.round(100 * this._a) / 100, 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 = Math.round(this._r);\n if (this._g < 1) this._g = Math.round(this._g);\n if (this._b < 1) this._b = Math.round(this._b);\n this._ok = rgb.ok;\n }\n tinycolor.prototype = {\n isDark: function isDark() {\n return this.getBrightness() < 128;\n },\n isLight: function isLight() {\n return !this.isDark();\n },\n isValid: function isValid() {\n return this._ok;\n },\n getOriginalInput: function getOriginalInput() {\n return this._originalInput;\n },\n getFormat: function getFormat() {\n return this._format;\n },\n getAlpha: function getAlpha() {\n return this._a;\n },\n getBrightness: function getBrightness() {\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 getLuminance() {\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 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 setAlpha(value) {\n this._a = boundAlpha(value);\n this._roundA = Math.round(100 * this._a) / 100;\n return this;\n },\n toHsv: function toHsv() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v,\n a: this._a\n };\n },\n toHsvString: function toHsvString() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = Math.round(hsv.h * 360),\n s = Math.round(hsv.s * 100),\n v = Math.round(hsv.v * 100);\n return this._a == 1 ? \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" : \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \" + this._roundA + \")\";\n },\n toHsl: function toHsl() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return {\n h: hsl.h * 360,\n s: hsl.s,\n l: hsl.l,\n a: this._a\n };\n },\n toHslString: function toHslString() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = Math.round(hsl.h * 360),\n s = Math.round(hsl.s * 100),\n l = Math.round(hsl.l * 100);\n return this._a == 1 ? \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" : \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \" + this._roundA + \")\";\n },\n toHex: function toHex(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function toHexString(allow3Char) {\n return \"#\" + this.toHex(allow3Char);\n },\n toHex8: function toHex8(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function toHex8String(allow4Char) {\n return \"#\" + this.toHex8(allow4Char);\n },\n toRgb: function toRgb() {\n return {\n r: Math.round(this._r),\n g: Math.round(this._g),\n b: Math.round(this._b),\n a: this._a\n };\n },\n toRgbString: function toRgbString() {\n return this._a == 1 ? \"rgb(\" + Math.round(this._r) + \", \" + Math.round(this._g) + \", \" + Math.round(this._b) + \")\" : \"rgba(\" + Math.round(this._r) + \", \" + Math.round(this._g) + \", \" + Math.round(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function toPercentageRgb() {\n return {\n r: Math.round(bound01(this._r, 255) * 100) + \"%\",\n g: Math.round(bound01(this._g, 255) * 100) + \"%\",\n b: Math.round(bound01(this._b, 255) * 100) + \"%\",\n a: this._a\n };\n },\n toPercentageRgbString: function toPercentageRgbString() {\n return this._a == 1 ? \"rgb(\" + Math.round(bound01(this._r, 255) * 100) + \"%, \" + Math.round(bound01(this._g, 255) * 100) + \"%, \" + Math.round(bound01(this._b, 255) * 100) + \"%)\" : \"rgba(\" + Math.round(bound01(this._r, 255) * 100) + \"%, \" + Math.round(bound01(this._g, 255) * 100) + \"%, \" + Math.round(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function toName() {\n if (this._a === 0) {\n return \"transparent\";\n }\n if (this._a < 1) {\n return false;\n }\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function toFilter(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 if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = \"#\" + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n return \"progid:DXImageTransform.Microsoft.gradient(\" + gradientType + \"startColorstr=\" + hex8String + \",endColorstr=\" + secondHex8String + \")\";\n },\n toString: function toString(format) {\n var formatSet = !!format;\n format = format || this._format;\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 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 return formattedString || this.toHexString();\n },\n clone: function clone() {\n return tinycolor(this.toString());\n },\n _applyModification: function _applyModification(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 lighten() {\n return this._applyModification(_lighten, arguments);\n },\n brighten: function brighten() {\n return this._applyModification(_brighten, arguments);\n },\n darken: function darken() {\n return this._applyModification(_darken, arguments);\n },\n desaturate: function desaturate() {\n return this._applyModification(_desaturate, arguments);\n },\n saturate: function saturate() {\n return this._applyModification(_saturate, arguments);\n },\n greyscale: function greyscale() {\n return this._applyModification(_greyscale, arguments);\n },\n spin: function spin() {\n return this._applyModification(_spin, arguments);\n },\n _applyCombination: function _applyCombination(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function analogous() {\n return this._applyCombination(_analogous, arguments);\n },\n complement: function complement() {\n return this._applyCombination(_complement, arguments);\n },\n monochromatic: function monochromatic() {\n return this._applyCombination(_monochromatic, arguments);\n },\n splitcomplement: function splitcomplement() {\n return this._applyCombination(_splitcomplement, arguments);\n },\n // Disabled until https://github.com/bgrins/TinyColor/issues/254\n // polyad: function (number) {\n // return this._applyCombination(polyad, [number]);\n // },\n triad: function triad() {\n return this._applyCombination(polyad, [3]);\n },\n tetrad: function tetrad() {\n return this._applyCombination(polyad, [4]);\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\n tinycolor.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 } else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\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 //\n function inputToRGB(color) {\n var rgb = {\n r: 0,\n g: 0,\n b: 0\n };\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 if (typeof color == \"string\") {\n color = stringInputToObject(color);\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 } 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 } 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 if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a\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]\n function 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]\n function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b),\n min = Math.min(r, g, b);\n var h,\n s,\n l = (max + min) / 2;\n if (max == min) {\n h = s = 0; // achromatic\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:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return {\n h: h,\n s: s,\n l: l\n };\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]\n function hslToRgb(h, s, l) {\n var r, g, b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\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 if (s === 0) {\n r = g = b = l; // achromatic\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 return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\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]\n function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b),\n min = Math.min(r, g, b);\n var h,\n s,\n v = max;\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n if (max == min) {\n h = 0; // achromatic\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return {\n h: h,\n s: s,\n v: v\n };\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 h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\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 return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\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\n function rgbToHex(r, g, b, allow3Char) {\n var hex = [pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16))];\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 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\n function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16)), pad2(convertDecimalToHex(a))];\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 return hex.join(\"\");\n }\n\n // `rgbaToArgbHex`\n // Converts an RGBA color to an ARGB Hex8 string\n // Rarely used, but required for \"toFilter()\"\n function rgbaToArgbHex(r, g, b, a) {\n var hex = [pad2(convertDecimalToHex(a)), pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16))];\n return hex.join(\"\");\n }\n\n // `equals`\n // Can be called with any tinycolor input\n tinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) return false;\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n };\n tinycolor.random = function () {\n return tinycolor.fromRatio({\n r: Math.random(),\n g: Math.random(),\n b: Math.random()\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\n function _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 function _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 function _greyscale(color) {\n return tinycolor(color).desaturate(100);\n }\n function _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 function _brighten(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var rgb = tinycolor(color).toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return tinycolor(rgb);\n }\n function _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.\n function _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\n function _complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n }\n function polyad(color, number) {\n if (isNaN(number) || number <= 0) {\n throw new Error(\"Argument to polyad must be a positive number\");\n }\n var hsl = tinycolor(color).toHsl();\n var result = [tinycolor(color)];\n var step = 360 / number;\n for (var i = 1; i < number; i++) {\n result.push(tinycolor({\n h: (hsl.h + i * step) % 360,\n s: hsl.s,\n l: hsl.l\n }));\n }\n return result;\n }\n function _splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [tinycolor(color), tinycolor({\n h: (h + 72) % 360,\n s: hsl.s,\n l: hsl.l\n }), tinycolor({\n h: (h + 216) % 360,\n s: hsl.s,\n l: hsl.l\n })];\n }\n function _analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\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 function _monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h,\n s = hsv.s,\n v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n while (results--) {\n ret.push(tinycolor({\n h: h,\n s: s,\n v: v\n }));\n v = (v + modification) % 1;\n }\n return ret;\n }\n\n // Utility Functions\n // ---------------------\n\n tinycolor.mix = function (color1, color2, amount) {\n amount = amount === 0 ? 0 : amount || 50;\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n var p = amount / 100;\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 return tinycolor(rgba);\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)\n tinycolor.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\n tinycolor.isReadable = function (color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n out = false;\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 // `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\"\n tinycolor.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 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 if (tinycolor.isReadable(baseColor, bestColor, {\n level: level,\n size: size\n }) || !includeFallbackColors) {\n return bestColor;\n } else {\n args.includeFallbackColors = false;\n return tinycolor.mostReadable(baseColor, [\"#fff\", \"#000\"], args);\n }\n };\n\n // Big List of Colors\n // ------------------\n // <https://www.w3.org/TR/css-color-4/#named-colors>\n var 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]`\n var hexNames = tinycolor.hexNames = flip(names);\n\n // Utilities\n // ---------\n\n // `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\n function 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\n function boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n }\n\n // Take input from [0, n] and return it as [0, 1]\n function bound01(n, max) {\n if (isOnePointZero(n)) n = \"100%\";\n var processPercent = isPercentage(n);\n n = Math.min(max, Math.max(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\n function clamp01(val) {\n return Math.min(1, Math.max(0, val));\n }\n\n // Parse a base-16 hex value into a base-10 integer\n function 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>\n function 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\n function isPercentage(n) {\n return typeof n === \"string\" && n.indexOf(\"%\") != -1;\n }\n\n // Force a hex value to have 2 characters\n function pad2(c) {\n return c.length == 1 ? \"0\" + c : \"\" + c;\n }\n\n // Replace a decimal with it's percentage value\n function convertToPercentage(n) {\n if (n <= 1) {\n n = n * 100 + \"%\";\n }\n return n;\n }\n\n // Converts a decimal to a hex value\n function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n }\n // Converts a hex value to a decimal\n function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n }\n var matchers = function () {\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 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).\n function 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}`\n function stringInputToObject(color) {\n color = color.replace(trimLeft, \"\").replace(trimRight, \"\").toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n } else if (color == \"transparent\") {\n return {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n format: \"name\"\n };\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 {\n r: match[1],\n g: match[2],\n b: match[3]\n };\n }\n if (match = matchers.rgba.exec(color)) {\n return {\n r: match[1],\n g: match[2],\n b: match[3],\n a: match[4]\n };\n }\n if (match = matchers.hsl.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n l: match[3]\n };\n }\n if (match = matchers.hsla.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n l: match[3],\n a: match[4]\n };\n }\n if (match = matchers.hsv.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n v: match[3]\n };\n }\n if (match = matchers.hsva.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n v: match[3],\n a: match[4]\n };\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 return false;\n }\n function 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 || {\n level: \"AA\",\n size: \"small\"\n };\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 {\n level: level,\n size: size\n };\n }\n\n return tinycolor;\n\n}));\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 [email protected]\n */\n\nconst KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n /**\n * TAB\n */\n TAB: 9,\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12, // NUMLOCK on FF/Safari Mac\n /**\n * ENTER\n */\n ENTER: 13,\n /**\n * SHIFT\n */\n SHIFT: 16,\n /**\n * CTRL\n */\n CTRL: 17,\n /**\n * ALT\n */\n ALT: 18,\n /**\n * PAUSE\n */\n PAUSE: 19,\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n /**\n * ESC\n */\n ESC: 27,\n /**\n * SPACE\n */\n SPACE: 32,\n /**\n * PAGE_UP\n */\n PAGE_UP: 33, // also NUM_NORTH_EAST\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34, // also NUM_SOUTH_EAST\n /**\n * END\n */\n END: 35, // also NUM_SOUTH_WEST\n /**\n * HOME\n */\n HOME: 36, // also NUM_NORTH_WEST\n /**\n * LEFT\n */\n LEFT: 37, // also NUM_WEST\n /**\n * UP\n */\n UP: 38, // also NUM_NORTH\n /**\n * RIGHT\n */\n RIGHT: 39, // also NUM_EAST\n /**\n * DOWN\n */\n DOWN: 40, // also NUM_SOUTH\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n /**\n * INSERT\n */\n INSERT: 45, // also NUM_INSERT\n /**\n * DELETE\n */\n DELETE: 46, // also NUM_DELETE\n /**\n * ZERO\n */\n ZERO: 48,\n /**\n * ONE\n */\n ONE: 49,\n /**\n * TWO\n */\n TWO: 50,\n /**\n * THREE\n */\n THREE: 51,\n /**\n * FOUR\n */\n FOUR: 52,\n /**\n * FIVE\n */\n FIVE: 53,\n /**\n * SIX\n */\n SIX: 54,\n /**\n * SEVEN\n */\n SEVEN: 55,\n /**\n * EIGHT\n */\n EIGHT: 56,\n /**\n * NINE\n */\n NINE: 57,\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63, // needs localization\n /**\n * A\n */\n A: 65,\n /**\n * B\n */\n B: 66,\n /**\n * C\n */\n C: 67,\n /**\n * D\n */\n D: 68,\n /**\n * E\n */\n E: 69,\n /**\n * F\n */\n F: 70,\n /**\n * G\n */\n G: 71,\n /**\n * H\n */\n H: 72,\n /**\n * I\n */\n I: 73,\n /**\n * J\n */\n J: 74,\n /**\n * K\n */\n K: 75,\n /**\n * L\n */\n L: 76,\n /**\n * M\n */\n M: 77,\n /**\n * N\n */\n N: 78,\n /**\n * O\n */\n O: 79,\n /**\n * P\n */\n P: 80,\n /**\n * Q\n */\n Q: 81,\n /**\n * R\n */\n R: 82,\n /**\n * S\n */\n S: 83,\n /**\n * T\n */\n T: 84,\n /**\n * U\n */\n U: 85,\n /**\n * V\n */\n V: 86,\n /**\n * W\n */\n W: 87,\n /**\n * X\n */\n X: 88,\n /**\n * Y\n */\n Y: 89,\n /**\n * Z\n */\n Z: 90,\n /**\n * META\n */\n META: 91, // WIN_KEY_LEFT\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n /**\n * F1\n */\n F1: 112,\n /**\n * F2\n */\n F2: 113,\n /**\n * F3\n */\n F3: 114,\n /**\n * F4\n */\n F4: 115,\n /**\n * F5\n */\n F5: 116,\n /**\n * F6\n */\n F6: 117,\n /**\n * F7\n */\n F7: 118,\n /**\n * F8\n */\n F8: 119,\n /**\n * F9\n */\n F9: 120,\n /**\n * F10\n */\n F10: 121,\n /**\n * F11\n */\n F11: 122,\n /**\n * F12\n */\n F12: 123,\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n /**\n * SEMICOLON\n */\n SEMICOLON: 186, // needs localization\n /**\n * DASH\n */\n DASH: 189, // needs localization\n /**\n * EQUALS\n */\n EQUALS: 187, // needs localization\n /**\n * COMMA\n */\n COMMA: 188, // needs localization\n /**\n * PERIOD\n */\n PERIOD: 190, // needs localization\n /**\n * SLASH\n */\n SLASH: 191, // needs localization\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192, // needs localization\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222, // needs localization\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219, // needs localization\n /**\n * BACKSLASH\n */\n BACKSLASH: 220, // needs localization\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221, // needs localization\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224, // Firefox (Gecko) fires this for the meta key instead of 91\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n};\n\n/*\n whether text and modified key is entered at the same time.\n */\nKeyCode.isTextModifyingKeyEvent = function isTextModifyingKeyEvent(e) {\n const keyCode = e.keyCode;\n if (\n (e.altKey && !e.ctrlKey) ||\n e.metaKey ||\n // Function keys don't generate text\n (keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12)\n ) {\n return false;\n }\n\n // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n switch (keyCode) {\n case KeyCode.ALT:\n case KeyCode.CAPS_LOCK:\n case KeyCode.CONTEXT_MENU:\n case KeyCode.CTRL:\n case KeyCode.DOWN:\n case KeyCode.END:\n case KeyCode.ESC:\n case KeyCode.HOME:\n case KeyCode.INSERT:\n case KeyCode.LEFT:\n case KeyCode.MAC_FF_META:\n case KeyCode.META:\n case KeyCode.NUMLOCK:\n case KeyCode.NUM_CENTER:\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAUSE:\n case KeyCode.PRINT_SCREEN:\n case KeyCode.RIGHT:\n case KeyCode.SHIFT:\n case KeyCode.UP:\n case KeyCode.WIN_KEY:\n case KeyCode.WIN_KEY_RIGHT:\n return false;\n default:\n return true;\n }\n};\n\n/*\n whether character is entered.\n */\nKeyCode.isCharacterKey = function isCharacterKey(keyCode) {\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n return true;\n }\n\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n }\n\n // Safari sends zero key code for non-latin characters.\n if (window.navigation.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\n\n switch (keyCode) {\n case KeyCode.SPACE:\n case KeyCode.QUESTION_MARK:\n case KeyCode.NUM_PLUS:\n case KeyCode.NUM_MINUS:\n case KeyCode.NUM_PERIOD:\n case KeyCode.NUM_DIVISION:\n case KeyCode.SEMICOLON:\n case KeyCode.DASH:\n case KeyCode.EQUALS:\n case KeyCode.COMMA:\n case KeyCode.PERIOD:\n case KeyCode.SLASH:\n case KeyCode.APOSTROPHE:\n case KeyCode.SINGLE_QUOTE:\n case KeyCode.OPEN_SQUARE_BRACKET:\n case KeyCode.BACKSLASH:\n case KeyCode.CLOSE_SQUARE_BRACKET:\n return true;\n default:\n return false;\n }\n};\n\nexport default KeyCode;\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nfunction getClientPosition(elem) {\n var box;\n var x;\n var y;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement; // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n\n box = elem.getBoundingClientRect(); // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top; // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n var method = \"scroll\".concat(top ? 'Top' : 'Left');\n\n if (typeof ret !== 'number') {\n var d = w.document; // ie6,7,8 standard mode\n\n ret = d.documentElement[method];\n\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\n\nfunction _getComputedStyle(elem, name, computedStyle_) {\n var val = '';\n var d = elem.ownerDocument;\n var computedStyle = computedStyle_ || d.defaultView.getComputedStyle(elem, null); // https://github.com/kissyteam/kissy/issues/61\n\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp(\"^(\".concat(RE_NUM, \")(?!px)[a-z%]+$\"), 'i');\n\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name]; // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT]; // prevent flashing of content\n\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT]; // Put in the new values to get a computed value out\n\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX; // Revert the changed values\n\n style[LEFT] = left;\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n\n return ret === '' ? 'auto' : ret;\n}\n\nvar getComputedStyleX;\n\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name; // Remember the old values, and insert the new ones\n\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem); // Revert the old values\n\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop;\n var j;\n var i;\n\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = void 0;\n\n if (prop === 'border') {\n cssProp = \"\".concat(prop + which[i], \"Width\");\n } else {\n cssProp = prop + which[i];\n }\n\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n\n return value;\n}\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\n\n\nfunction isWindow(obj) {\n // must use == for ie8\n\n /* eslint eqeqeq:0 */\n return obj != null && obj == obj.window;\n}\n\nvar domUtils = {};\neach(['Width', 'Height'], function (name) {\n domUtils[\"doc\".concat(name)] = function (refWin) {\n var d = refWin.document;\n return Math.max( // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement[\"scroll\".concat(name)], // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body[\"scroll\".concat(name)], domUtils[\"viewport\".concat(name)](d));\n };\n\n domUtils[\"viewport\".concat(name)] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = \"client\".concat(name);\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop]; // 标准模式取 documentElement\n // backcompat 取 body\n\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\n\nfunction getWH(elem, name, extra) {\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.offsetWidth : elem.offsetHeight;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n var cssBoxValue = 0;\n\n if (borderBoxValue == null || borderBoxValue <= 0) {\n borderBoxValue = undefined; // Fall back to computed then un computed css if necessary\n\n cssBoxValue = getComputedStyleX(elem, name);\n\n if (cssBoxValue == null || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n } // Normalize '', auto, and prepare for extra\n\n\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which);\n }\n\n return cssBoxValue;\n }\n\n if (borderBoxValueOrIsBorderBox) {\n var padding = extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which) : getPBMWidth(elem, ['margin'], which);\n return val + (extra === BORDER_INDEX ? 0 : padding);\n }\n\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n}; // fix #119 : https://github.com/kissyteam/kissy/issues/119\n\nfunction getWHIgnoreDisplay(elem) {\n var val;\n var args = arguments; // in case elem is window\n // elem.offsetWidth === undefined\n\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n\n return val;\n}\n\nfunction css(el, name, v) {\n var value = v;\n\n if (_typeof(name) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n\n return undefined;\n }\n\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value += 'px';\n }\n\n el.style[name] = value;\n return undefined;\n }\n\n return getComputedStyleX(el, name);\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n\n domUtils[\"outer\".concat(first)] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, val) {\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which);\n }\n\n return css(elem, name, val);\n }\n\n return undefined;\n }\n\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n}); // 设置 elem 相对 elem.ownerDocument 的坐标\n\nfunction setOffset(elem, offset) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n\n var old = getOffset(elem);\n var ret = {};\n var current;\n var key;\n\n for (key in offset) {\n if (offset.hasOwnProperty(key)) {\n current = parseFloat(css(elem, key)) || 0;\n ret[key] = current + offset[key] - old[key];\n }\n }\n\n css(elem, ret);\n}\n\nvar util = _objectSpread2({\n getWindow: function getWindow(node) {\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n offset: function offset(el, value) {\n if (typeof value !== 'undefined') {\n setOffset(el, value);\n } else {\n return getOffset(el);\n }\n },\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var ret = {};\n\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n\n var overflow = obj.overflow;\n\n if (overflow) {\n for (var _i in obj) {\n if (obj.hasOwnProperty(_i)) {\n ret.overflow[_i] = obj.overflow[_i];\n }\n }\n }\n\n return ret;\n },\n scrollLeft: function scrollLeft(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollLeft(w);\n }\n\n window.scrollTo(v, getScrollTop(w));\n } else {\n if (v === undefined) {\n return w.scrollLeft;\n }\n\n w.scrollLeft = v;\n }\n },\n scrollTop: function scrollTop(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollTop(w);\n }\n\n window.scrollTo(getScrollLeft(w), v);\n } else {\n if (v === undefined) {\n return w.scrollTop;\n }\n\n w.scrollTop = v;\n }\n },\n viewportWidth: 0,\n viewportHeight: 0\n}, domUtils);\n\nfunction scrollIntoView(elem, container, config) {\n config = config || {}; // document 归一化到 window\n\n if (container.nodeType === 9) {\n container = util.getWindow(container);\n }\n\n var allowHorizontalScroll = config.allowHorizontalScroll;\n var onlyScrollIfNeeded = config.onlyScrollIfNeeded;\n var alignWithTop = config.alignWithTop;\n var alignWithLeft = config.alignWithLeft;\n var offsetTop = config.offsetTop || 0;\n var offsetLeft = config.offsetLeft || 0;\n var offsetBottom = config.offsetBottom || 0;\n var offsetRight = config.offsetRight || 0;\n allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll;\n var isWin = util.isWindow(container);\n var elemOffset = util.offset(elem);\n var eh = util.outerHeight(elem);\n var ew = util.outerWidth(elem);\n var containerOffset;\n var ch;\n var cw;\n var containerScroll;\n var diffTop;\n var diffBottom;\n var win;\n var winScroll;\n var ww;\n var wh;\n\n if (isWin) {\n win = container;\n wh = util.height(win);\n ww = util.width(win);\n winScroll = {\n left: util.scrollLeft(win),\n top: util.scrollTop(win)\n }; // elem 相对 container 可视视窗的距离\n\n diffTop = {\n left: elemOffset.left - winScroll.left - offsetLeft,\n top: elemOffset.top - winScroll.top - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (winScroll.left + ww) + offsetRight,\n top: elemOffset.top + eh - (winScroll.top + wh) + offsetBottom\n };\n containerScroll = winScroll;\n } else {\n containerOffset = util.offset(container);\n ch = container.clientHeight;\n cw = container.clientWidth;\n containerScroll = {\n left: container.scrollLeft,\n top: container.scrollTop\n }; // elem 相对 container 可视视窗的距离\n // 注意边框, offset 是边框到根节点\n\n diffTop = {\n left: elemOffset.left - (containerOffset.left + (parseFloat(util.css(container, 'borderLeftWidth')) || 0)) - offsetLeft,\n top: elemOffset.top - (containerOffset.top + (parseFloat(util.css(container, 'borderTopWidth')) || 0)) - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (containerOffset.left + cw + (parseFloat(util.css(container, 'borderRightWidth')) || 0)) + offsetRight,\n top: elemOffset.top + eh - (containerOffset.top + ch + (parseFloat(util.css(container, 'borderBottomWidth')) || 0)) + offsetBottom\n };\n }\n\n if (diffTop.top < 0 || diffBottom.top > 0) {\n // 强制向上\n if (alignWithTop === true) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else if (alignWithTop === false) {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n } else {\n // 自动调整\n if (diffTop.top < 0) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithTop = alignWithTop === undefined ? true : !!alignWithTop;\n\n if (alignWithTop) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n }\n\n if (allowHorizontalScroll) {\n if (diffTop.left < 0 || diffBottom.left > 0) {\n // 强制向上\n if (alignWithLeft === true) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else if (alignWithLeft === false) {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n } else {\n // 自动调整\n if (diffTop.left < 0) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft;\n\n if (alignWithLeft) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n }\n }\n}\n\nexport default scrollIntoView;\n//# sourceMappingURL=index.js.map\n","import shallowEqual from 'shallowequal';\nimport omit from 'omit.js';\nimport { getOptionProps, getListeners } from '../props-util';\nimport PropTypes from '../vue-types';\nimport proxyComponent from '../proxyComponent';\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.name || 'Component';\n}\n\nconst defaultMapStateToProps = () => ({});\nexport default function connect(mapStateToProps) {\n const shouldSubscribe = !!mapStateToProps;\n const finalMapStateToProps = mapStateToProps || defaultMapStateToProps;\n return function wrapWithConnect(WrappedComponent) {\n const tempProps = omit(WrappedComponent.props || {}, ['store']);\n const props = {\n __propsSymbol__: PropTypes.any,\n };\n Object.keys(tempProps).forEach(k => {\n props[k] = { ...tempProps[k], required: false };\n });\n const Connect = {\n name: `Connect_${getDisplayName(WrappedComponent)}`,\n props,\n inject: {\n storeContext: { default: () => ({}) },\n },\n data() {\n this.store = this.storeContext.store;\n this.preProps = omit(getOptionProps(this), ['__propsSymbol__']);\n return {\n subscribed: finalMapStateToProps(this.store.getState(), this.$props),\n };\n },\n watch: {\n __propsSymbol__() {\n if (mapStateToProps && mapStateToProps.length === 2) {\n this.subscribed = finalMapStateToProps(this.store.getState(), this.$props);\n }\n },\n },\n mounted() {\n this.trySubscribe();\n },\n\n beforeDestroy() {\n this.tryUnsubscribe();\n },\n methods: {\n handleChange() {\n if (!this.unsubscribe) {\n return;\n }\n const props = omit(getOptionProps(this), ['__propsSymbol__']);\n const nextSubscribed = finalMapStateToProps(this.store.getState(), props);\n if (\n !shallowEqual(this.preProps, props) ||\n !shallowEqual(this.subscribed, nextSubscribed)\n ) {\n this.subscribed = nextSubscribed;\n }\n },\n\n trySubscribe() {\n if (shouldSubscribe) {\n this.unsubscribe = this.store.subscribe(this.handleChange);\n this.handleChange();\n }\n },\n\n tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n },\n getWrappedInstance() {\n return this.$refs.wrappedInstance;\n },\n },\n render() {\n const { $slots = {}, $scopedSlots, subscribed, store } = this;\n const props = getOptionProps(this);\n this.preProps = { ...omit(props, ['__propsSymbol__']) };\n const wrapProps = {\n props: {\n ...props,\n ...subscribed,\n store,\n },\n on: getListeners(this),\n scopedSlots: $scopedSlots,\n };\n return (\n <WrappedComponent {...wrapProps} ref=\"wrappedInstance\">\n {Object.keys($slots).map(name => {\n return <template slot={name}>{$slots[name]}</template>;\n })}\n </WrappedComponent>\n );\n },\n };\n return proxyComponent(Connect);\n };\n}\n","// MIT License from https://github.com/kaimallea/isMobile\n\nconst applePhone = /iPhone/i;\nconst appleIpod = /iPod/i;\nconst appleTablet = /iPad/i;\nconst androidPhone = /\\bAndroid(?:.+)Mobile\\b/i; // Match 'Android' AND 'Mobile'\nconst androidTablet = /Android/i;\nconst amazonPhone = /\\bAndroid(?:.+)SD4930UR\\b/i;\nconst amazonTablet = /\\bAndroid(?:.+)(?:KF[A-Z]{2,4})\\b/i;\nconst windowsPhone = /Windows Phone/i;\nconst windowsTablet = /\\bWindows(?:.+)ARM\\b/i; // Match 'Windows' AND 'ARM'\nconst otherBlackberry = /BlackBerry/i;\nconst otherBlackberry10 = /BB10/i;\nconst otherOpera = /Opera Mini/i;\nconst otherChrome = /\\b(CriOS|Chrome)(?:.+)Mobile/i;\nconst otherFirefox = /Mobile(?:.+)Firefox\\b/i; // Match 'Mobile' AND 'Firefox'\n\nfunction match(regex, userAgent) {\n return regex.test(userAgent);\n}\n\nfunction isMobile(userAgent) {\n let ua = userAgent || (typeof navigator !== 'undefined' ? navigator.userAgent : '');\n\n // Facebook mobile app's integrated browser adds a bunch of strings that\n // match everything. Strip it out if it exists.\n let tmp = ua.split('[FBAN');\n if (typeof tmp[1] !== 'undefined') {\n [ua] = tmp;\n }\n\n // Twitter mobile app's integrated browser on iPad adds a \"Twitter for\n // iPhone\" string. Same probably happens on other tablet platforms.\n // This will confuse detection so strip it out if it exists.\n tmp = ua.split('Twitter');\n if (typeof tmp[1] !== 'undefined') {\n [ua] = tmp;\n }\n\n const result = {\n apple: {\n phone: match(applePhone, ua) && !match(windowsPhone, ua),\n ipod: match(appleIpod, ua),\n tablet: !match(applePhone, ua) && match(appleTablet, ua) && !match(windowsPhone, ua),\n device:\n (match(applePhone, ua) || match(appleIpod, ua) || match(appleTablet, ua)) &&\n !match(windowsPhone, ua),\n },\n amazon: {\n phone: match(amazonPhone, ua),\n tablet: !match(amazonPhone, ua) && match(amazonTablet, ua),\n device: match(amazonPhone, ua) || match(amazonTablet, ua),\n },\n android: {\n phone:\n (!match(windowsPhone, ua) && match(amazonPhone, ua)) ||\n (!match(windowsPhone, ua) && match(androidPhone, ua)),\n tablet:\n !match(windowsPhone, ua) &&\n !match(amazonPhone, ua) &&\n !match(androidPhone, ua) &&\n (match(amazonTablet, ua) || match(androidTablet, ua)),\n device:\n (!match(windowsPhone, ua) &&\n (match(amazonPhone, ua) ||\n match(amazonTablet, ua) ||\n match(androidPhone, ua) ||\n match(androidTablet, ua))) ||\n match(/\\bokhttp\\b/i, ua),\n },\n windows: {\n phone: match(windowsPhone, ua),\n tablet: match(windowsTablet, ua),\n device: match(windowsPhone, ua) || match(windowsTablet, ua),\n },\n other: {\n blackberry: match(otherBlackberry, ua),\n blackberry10: match(otherBlackberry10, ua),\n opera: match(otherOpera, ua),\n firefox: match(otherFirefox, ua),\n chrome: match(otherChrome, ua),\n device:\n match(otherBlackberry, ua) ||\n match(otherBlackberry10, ua) ||\n match(otherOpera, ua) ||\n match(otherFirefox, ua) ||\n match(otherChrome, ua),\n },\n\n // Additional\n any: null,\n phone: null,\n tablet: null,\n };\n result.any =\n result.apple.device || result.android.device || result.windows.device || result.other.device;\n\n // excludes 'other' devices and ipods, targeting touchscreen phones\n result.phone = result.apple.phone || result.android.phone || result.windows.phone;\n result.tablet = result.apple.tablet || result.android.tablet || result.windows.tablet;\n\n return result;\n}\n\nconst defaultResult = {\n ...isMobile(),\n isMobile,\n};\n\nexport default defaultResult;\n","import isMobile from './utils/isMobile';\n\nexport function noop() {}\n\nexport function getKeyFromChildrenIndex(child, menuEventKey, index) {\n const prefix = menuEventKey || '';\n return child.key === undefined ? `${prefix}item_${index}` : child.key;\n}\n\nexport function getMenuIdFromSubMenuEventKey(eventKey) {\n return `${eventKey}-menu-`;\n}\n\nexport function loopMenuItem(children, cb) {\n let index = -1;\n children.forEach(c => {\n index++;\n if (c && c.type && c.type.isMenuItemGroup) {\n c.$slots.default.forEach(c2 => {\n index++;\n c.componentOptions && cb(c2, index);\n });\n } else {\n c.componentOptions && cb(c, index);\n }\n });\n}\n\nexport function loopMenuItemRecursively(children, keys, ret) {\n if (!children || ret.find) {\n return;\n }\n children.forEach(c => {\n if (ret.find) {\n return;\n }\n if (c.data && c.data.slot && c.data.slot !== 'default') {\n return;\n }\n if (c && c.componentOptions) {\n const options = c.componentOptions.Ctor.options;\n if (!options || !(options.isSubMenu || options.isMenuItem || options.isMenuItemGroup)) {\n return;\n }\n if (keys.indexOf(c.key) !== -1) {\n ret.find = true;\n } else if (c.componentOptions.children) {\n loopMenuItemRecursively(c.componentOptions.children, keys, ret);\n }\n }\n });\n}\n\nexport const menuAllProps = {\n props: [\n 'defaultSelectedKeys',\n 'selectedKeys',\n 'defaultOpenKeys',\n 'openKeys',\n 'mode',\n 'getPopupContainer',\n 'openTransitionName',\n 'openAnimation',\n 'subMenuOpenDelay',\n 'subMenuCloseDelay',\n 'forceSubMenuRender',\n 'triggerSubMenuAction',\n 'level',\n 'selectable',\n 'multiple',\n 'visible',\n 'focusable',\n 'defaultActiveFirst',\n 'prefixCls',\n 'inlineIndent',\n 'parentMenu',\n 'title',\n 'rootPrefixCls',\n 'eventKey',\n 'active',\n 'popupAlign',\n 'popupOffset',\n 'isOpen',\n 'renderMenuItem',\n 'manualRef',\n 'subMenuKey',\n 'disabled',\n 'index',\n 'isSelected',\n 'store',\n 'activeKey',\n 'builtinPlacements',\n 'overflowedIndicator',\n\n // the following keys found need to be removed from test regression\n 'attribute',\n 'value',\n 'popupClassName',\n 'inlineCollapsed',\n 'menu',\n 'theme',\n 'itemIcon',\n 'expandIcon',\n ],\n on: [\n 'select',\n 'deselect',\n 'destroy',\n 'openChange',\n 'itemHover',\n 'titleMouseenter',\n 'titleMouseleave',\n 'titleClick',\n ],\n};\n\n// ref: https://github.com/ant-design/ant-design/issues/14007\n// ref: https://bugs.chromium.org/p/chromium/issues/detail?id=360889\n// getBoundingClientRect return the full precision value, which is\n// not the same behavior as on chrome. Set the precision to 6 to\n// unify their behavior\nexport const getWidth = elem => {\n let width =\n elem && typeof elem.getBoundingClientRect === 'function' && elem.getBoundingClientRect().width;\n if (width) {\n width = +width.toFixed(6);\n }\n return width || 0;\n};\n\nexport const setStyle = (elem, styleProperty, value) => {\n if (elem && typeof elem.style === 'object') {\n elem.style[styleProperty] = value;\n }\n};\n\nexport const isMobileDevice = () => {\n return isMobile.any;\n};\n","import PropTypes from '../_util/vue-types';\nimport KeyCode from '../_util/KeyCode';\nimport BaseMixin from '../_util/BaseMixin';\nimport scrollIntoView from 'dom-scroll-into-view';\nimport { connect } from '../_util/store';\nimport { noop, menuAllProps } from './util';\nimport { getComponentFromProp, getListeners } from '../_util/props-util';\n\nconst props = {\n attribute: PropTypes.object,\n rootPrefixCls: PropTypes.string,\n eventKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n active: PropTypes.bool,\n selectedKeys: PropTypes.array,\n disabled: PropTypes.bool,\n title: PropTypes.any,\n index: PropTypes.number,\n inlineIndent: PropTypes.number.def(24),\n level: PropTypes.number.def(1),\n mode: PropTypes.oneOf([\n 'horizontal',\n 'vertical',\n 'vertical-left',\n 'vertical-right',\n 'inline',\n ]).def('vertical'),\n parentMenu: PropTypes.object,\n multiple: PropTypes.bool,\n value: PropTypes.any,\n isSelected: PropTypes.bool,\n manualRef: PropTypes.func.def(noop),\n role: PropTypes.any,\n subMenuKey: PropTypes.string,\n itemIcon: PropTypes.any,\n // clearSubMenuTimers: PropTypes.func.def(noop),\n};\nconst MenuItem = {\n name: 'MenuItem',\n props,\n mixins: [BaseMixin],\n isMenuItem: true,\n created() {\n this.prevActive = this.active;\n // invoke customized ref to expose component to mixin\n this.callRef();\n },\n updated() {\n this.$nextTick(() => {\n const { active, parentMenu, eventKey } = this.$props;\n if (!this.prevActive && active && (!parentMenu || !parentMenu[`scrolled-${eventKey}`])) {\n scrollIntoView(this.$el, this.parentMenu.$el, {\n onlyScrollIfNeeded: true,\n });\n parentMenu[`scrolled-${eventKey}`] = true;\n } else if (parentMenu && parentMenu[`scrolled-${eventKey}`]) {\n delete parentMenu[`scrolled-${eventKey}`];\n }\n this.prevActive = active;\n });\n this.callRef();\n },\n beforeDestroy() {\n const props = this.$props;\n this.__emit('destroy', props.eventKey);\n },\n methods: {\n onKeyDown(e) {\n const keyCode = e.keyCode;\n if (keyCode === KeyCode.ENTER) {\n this.onClick(e);\n return true;\n }\n },\n\n onMouseLeave(e) {\n const { eventKey } = this.$props;\n this.__emit('itemHover', {\n key: eventKey,\n hover: false,\n });\n this.__emit('mouseleave', {\n key: eventKey,\n domEvent: e,\n });\n },\n\n onMouseEnter(e) {\n const { eventKey } = this;\n this.__emit('itemHover', {\n key: eventKey,\n hover: true,\n });\n this.__emit('mouseenter', {\n key: eventKey,\n domEvent: e,\n });\n },\n\n onClick(e) {\n const { eventKey, multiple, isSelected } = this.$props;\n const info = {\n key: eventKey,\n keyPath: [eventKey],\n item: this,\n domEvent: e,\n };\n\n this.__emit('click', info);\n if (multiple) {\n if (isSelected) {\n this.__emit('deselect', info);\n } else {\n this.__emit('select', info);\n }\n } else if (!isSelected) {\n this.__emit('select', info);\n }\n },\n\n getPrefixCls() {\n return `${this.$props.rootPrefixCls}-item`;\n },\n\n getActiveClassName() {\n return `${this.getPrefixCls()}-active`;\n },\n\n getSelectedClassName() {\n return `${this.getPrefixCls()}-selected`;\n },\n\n getDisabledClassName() {\n return `${this.getPrefixCls()}-disabled`;\n },\n\n callRef() {\n if (this.manualRef) {\n this.manualRef(this);\n }\n },\n },\n\n render() {\n const props = { ...this.$props };\n const className = {\n [this.getPrefixCls()]: true,\n [this.getActiveClassName()]: !props.disabled && props.active,\n [this.getSelectedClassName()]: props.isSelected,\n [this.getDisabledClassName()]: props.disabled,\n };\n let attrs = {\n ...props.attribute,\n title: props.title,\n role: props.role || 'menuitem',\n 'aria-disabled': props.disabled,\n };\n if (props.role === 'option') {\n // overwrite to option\n attrs = {\n ...attrs,\n role: 'option',\n 'aria-selected': props.isSelected,\n };\n } else if (props.role === null || props.role === 'none') {\n // sometimes we want to specify role inside <li/> element\n // <li><a role='menuitem'>Link</a></li> would be a good example\n // in this case the role on <li/> should be \"none\" to\n // remove the implied listitem role.\n // https://www.w3.org/TR/wai-aria-practices-1.1/examples/menubar/menubar-1/menubar-1.html\n attrs.role = 'none';\n }\n // In case that onClick/onMouseLeave/onMouseEnter is passed down from owner\n const mouseEvent = {\n click: props.disabled ? noop : this.onClick,\n mouseleave: props.disabled ? noop : this.onMouseLeave,\n mouseenter: props.disabled ? noop : this.onMouseEnter,\n };\n\n const style = {};\n if (props.mode === 'inline') {\n style.paddingLeft = `${props.inlineIndent * props.level}px`;\n }\n const listeners = { ...getListeners(this) };\n menuAllProps.props.forEach(key => delete props[key]);\n menuAllProps.on.forEach(key => delete listeners[key]);\n const liProps = {\n attrs: {\n ...props,\n ...attrs,\n },\n on: {\n ...listeners,\n ...mouseEvent,\n },\n };\n return (\n <li {...liProps} style={style} class={className}>\n {this.$slots.default}\n {getComponentFromProp(this, 'itemIcon', props)}\n </li>\n );\n },\n};\n\nconst connected = connect(({ activeKey, selectedKeys }, { eventKey, subMenuKey }) => ({\n active: activeKey[subMenuKey] === eventKey,\n isSelected: selectedKeys.indexOf(eventKey) !== -1,\n}))(MenuItem);\n\nexport default connected;\nexport { props as menuItemProps };\n","import PropTypes from '../_util/vue-types';\nimport { getComponentFromProp, getListeners } from '../_util/props-util';\n\n// import { menuAllProps } from './util'\n\nconst MenuItemGroup = {\n name: 'MenuItemGroup',\n\n props: {\n renderMenuItem: PropTypes.func,\n index: PropTypes.number,\n className: PropTypes.string,\n subMenuKey: PropTypes.string,\n rootPrefixCls: PropTypes.string,\n disabled: PropTypes.bool.def(true),\n title: PropTypes.any,\n },\n isMenuItemGroup: true,\n methods: {\n renderInnerMenuItem(item) {\n const { renderMenuItem, index, subMenuKey } = this.$props;\n return renderMenuItem(item, index, subMenuKey);\n },\n },\n render() {\n const props = { ...this.$props };\n const { rootPrefixCls, title } = props;\n const titleClassName = `${rootPrefixCls}-item-group-title`;\n const listClassName = `${rootPrefixCls}-item-group-list`;\n // menuAllProps.props.forEach(key => delete props[key])\n const listeners = { ...getListeners(this) };\n delete listeners.click;\n\n return (\n <li {...{ on: listeners, class: `${rootPrefixCls}-item-group` }}>\n <div class={titleClassName} title={typeof title === 'string' ? title : undefined}>\n {getComponentFromProp(this, 'title')}\n </div>\n <ul class={listClassName}>\n {this.$slots.default && this.$slots.default.map(this.renderInnerMenuItem)}\n </ul>\n </li>\n );\n },\n};\n\nexport default MenuItemGroup;\n","import PropTypes from '../vue-types';\n\nexport const storeShape = PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n setState: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired,\n});\n","import { storeShape } from './PropTypes';\nexport default {\n name: 'StoreProvider',\n props: {\n store: storeShape.isRequired,\n },\n provide() {\n return {\n storeContext: this.$props,\n };\n },\n render() {\n return this.$slots.default[0];\n },\n};\n","const autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1,\n};\n\nexport const placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -7],\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 7],\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n },\n};\n\nexport default placements;\n","import omit from 'omit.js';\nimport PropTypes from '../_util/vue-types';\nimport Trigger from '../vc-trigger';\nimport KeyCode from '../_util/KeyCode';\nimport { connect } from '../_util/store';\nimport SubPopupMenu from './SubPopupMenu';\nimport placements from './placements';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getComponentFromProp, filterEmpty, getListeners } from '../_util/props-util';\nimport { requestAnimationTimeout, cancelAnimationTimeout } from '../_util/requestAnimationTimeout';\nimport { noop, loopMenuItemRecursively, getMenuIdFromSubMenuEventKey } from './util';\nimport getTransitionProps from '../_util/getTransitionProps';\n\nlet guid = 0;\n\nconst popupPlacementMap = {\n horizontal: 'bottomLeft',\n vertical: 'rightTop',\n 'vertical-left': 'rightTop',\n 'vertical-right': 'leftTop',\n};\n\nconst updateDefaultActiveFirst = (store, eventKey, defaultActiveFirst) => {\n const menuId = getMenuIdFromSubMenuEventKey(eventKey);\n const state = store.getState();\n store.setState({\n defaultActiveFirst: {\n ...state.defaultActiveFirst,\n [menuId]: defaultActiveFirst,\n },\n });\n};\n\nconst SubMenu = {\n name: 'SubMenu',\n props: {\n parentMenu: PropTypes.object,\n title: PropTypes.any,\n selectedKeys: PropTypes.array.def([]),\n openKeys: PropTypes.array.def([]),\n openChange: PropTypes.func.def(noop),\n rootPrefixCls: PropTypes.string,\n eventKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n multiple: PropTypes.bool,\n active: PropTypes.bool, // TODO: remove\n isRootMenu: PropTypes.bool.def(false),\n index: PropTypes.number,\n triggerSubMenuAction: PropTypes.string,\n popupClassName: PropTypes.string,\n getPopupContainer: PropTypes.func,\n forceSubMenuRender: PropTypes.bool,\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n disabled: PropTypes.bool,\n subMenuOpenDelay: PropTypes.number.def(0.1),\n subMenuCloseDelay: PropTypes.number.def(0.1),\n level: PropTypes.number.def(1),\n inlineIndent: PropTypes.number.def(24),\n openTransitionName: PropTypes.string,\n popupOffset: PropTypes.array,\n isOpen: PropTypes.bool,\n store: PropTypes.object,\n mode: PropTypes.oneOf([\n 'horizontal',\n 'vertical',\n 'vertical-left',\n 'vertical-right',\n 'inline',\n ]).def('vertical'),\n manualRef: PropTypes.func.def(noop),\n builtinPlacements: PropTypes.object.def(() => ({})),\n itemIcon: PropTypes.any,\n expandIcon: PropTypes.any,\n subMenuKey: PropTypes.string,\n },\n mixins: [BaseMixin],\n isSubMenu: true,\n data() {\n const props = this.$props;\n const store = props.store;\n const eventKey = props.eventKey;\n const defaultActiveFirst = store.getState().defaultActiveFirst;\n let value = false;\n\n if (defaultActiveFirst) {\n value = defaultActiveFirst[eventKey];\n }\n\n updateDefaultActiveFirst(store, eventKey, value);\n return {\n // defaultActiveFirst: false,\n };\n },\n mounted() {\n this.$nextTick(() => {\n this.handleUpdated();\n });\n },\n\n updated() {\n this.$nextTick(() => {\n this.handleUpdated();\n });\n },\n\n beforeDestroy() {\n const { eventKey } = this;\n this.__emit('destroy', eventKey);\n\n /* istanbul ignore if */\n if (this.minWidthTimeout) {\n cancelAnimationTimeout(this.minWidthTimeout);\n this.minWidthTimeout = null;\n }\n\n /* istanbul ignore if */\n if (this.mouseenterTimeout) {\n cancelAnimationTimeout(this.mouseenterTimeout);\n this.mouseenterTimeout = null;\n }\n },\n methods: {\n handleUpdated() {\n const { mode, parentMenu, manualRef } = this.$props;\n\n // invoke customized ref to expose component to mixin\n if (manualRef) {\n manualRef(this);\n }\n\n if (mode !== 'horizontal' || !parentMenu.isRootMenu || !this.isOpen) {\n return;\n }\n\n this.minWidthTimeout = requestAnimationTimeout(() => this.adjustWidth(), 0);\n },\n\n onKeyDown(e) {\n const keyCode = e.keyCode;\n const menu = this.menuInstance;\n const { store, isOpen } = this.$props;\n\n if (keyCode === KeyCode.ENTER) {\n this.onTitleClick(e);\n updateDefaultActiveFirst(store, this.eventKey, true);\n return true;\n }\n\n if (keyCode === KeyCode.RIGHT) {\n if (isOpen) {\n menu.onKeyDown(e);\n } else {\n this.triggerOpenChange(true);\n // need to update current menu's defaultActiveFirst value\n updateDefaultActiveFirst(store, this.eventKey, true);\n }\n return true;\n }\n if (keyCode === KeyCode.LEFT) {\n let handled;\n if (isOpen) {\n handled = menu.onKeyDown(e);\n } else {\n return undefined;\n }\n if (!handled) {\n this.triggerOpenChange(false);\n handled = true;\n }\n return handled;\n }\n\n if (isOpen && (keyCode === KeyCode.UP || keyCode === KeyCode.DOWN)) {\n return menu.onKeyDown(e);\n }\n return undefined;\n },\n\n onPopupVisibleChange(visible) {\n this.triggerOpenChange(visible, visible ? 'mouseenter' : 'mouseleave');\n },\n\n onMouseEnter(e) {\n const { eventKey: key, store } = this.$props;\n updateDefaultActiveFirst(store, key, false);\n this.__emit('mouseenter', {\n key,\n domEvent: e,\n });\n },\n\n onMouseLeave(e) {\n const { eventKey, parentMenu } = this;\n parentMenu.subMenuInstance = this;\n // parentMenu.subMenuLeaveFn = () => {\n // // trigger mouseleave\n // this.__emit('mouseleave', {\n // key: eventKey,\n // domEvent: e,\n // })\n // }\n this.__emit('mouseleave', {\n key: eventKey,\n domEvent: e,\n });\n // prevent popup menu and submenu gap\n // parentMenu.subMenuLeaveTimer = setTimeout(parentMenu.subMenuLeaveFn, 100)\n },\n\n onTitleMouseEnter(domEvent) {\n const { eventKey: key } = this.$props;\n // this.clearSubMenuTitleLeaveTimer()\n this.__emit('itemHover', {\n key,\n hover: true,\n });\n this.__emit('titleMouseenter', {\n key,\n domEvent,\n });\n },\n\n onTitleMouseLeave(e) {\n const { eventKey, parentMenu } = this;\n parentMenu.subMenuInstance = this;\n this.__emit('itemHover', {\n key: eventKey,\n hover: false,\n });\n this.__emit('titleMouseleave', {\n key: eventKey,\n domEvent: e,\n });\n },\n\n onTitleClick(e) {\n const { triggerSubMenuAction, eventKey, isOpen, store } = this.$props;\n this.__emit('titleClick', {\n key: eventKey,\n domEvent: e,\n });\n if (triggerSubMenuAction === 'hover') {\n return;\n }\n this.triggerOpenChange(!isOpen, 'click');\n updateDefaultActiveFirst(store, eventKey, false);\n },\n\n onSubMenuClick(info) {\n this.__emit('click', this.addKeyPath(info));\n },\n\n getPrefixCls() {\n return `${this.$props.rootPrefixCls}-submenu`;\n },\n\n getActiveClassName() {\n return `${this.getPrefixCls()}-active`;\n },\n\n getDisabledClassName() {\n return `${this.getPrefixCls()}-disabled`;\n },\n\n getSelectedClassName() {\n return `${this.getPrefixCls()}-selected`;\n },\n\n getOpenClassName() {\n return `${this.$props.rootPrefixCls}-submenu-open`;\n },\n\n saveMenuInstance(c) {\n // children menu instance\n this.menuInstance = c;\n },\n\n addKeyPath(info) {\n return {\n ...info,\n keyPath: (info.keyPath || []).concat(this.$props.eventKey),\n };\n },\n\n // triggerOpenChange (open, type) {\n // const key = this.$props.eventKey\n // this.__emit('openChange', {\n // key,\n // item: this,\n // trigger: type,\n // open,\n // })\n // },\n triggerOpenChange(open, type) {\n const key = this.$props.eventKey;\n const openChange = () => {\n this.__emit('openChange', {\n key,\n item: this,\n trigger: type,\n open,\n });\n };\n if (type === 'mouseenter') {\n // make sure mouseenter happen after other menu item's mouseleave\n this.mouseenterTimeout = requestAnimationTimeout(() => {\n openChange();\n }, 0);\n } else {\n openChange();\n }\n },\n\n isChildrenSelected() {\n const ret = { find: false };\n loopMenuItemRecursively(this.$slots.default, this.$props.selectedKeys, ret);\n return ret.find;\n },\n // isOpen () {\n // return this.$props.openKeys.indexOf(this.$props.eventKey) !== -1\n // },\n\n adjustWidth() {\n /* istanbul ignore if */\n if (!this.$refs.subMenuTitle || !this.menuInstance) {\n return;\n }\n const popupMenu = this.menuInstance.$el;\n if (popupMenu.offsetWidth >= this.$refs.subMenuTitle.offsetWidth) {\n return;\n }\n\n /* istanbul ignore next */\n popupMenu.style.minWidth = `${this.$refs.subMenuTitle.offsetWidth}px`;\n },\n\n renderChildren(children) {\n const props = this.$props;\n const { select, deselect, openChange } = getListeners(this);\n const subPopupMenuProps = {\n props: {\n mode: props.mode === 'horizontal' ? 'vertical' : props.mode,\n visible: props.isOpen,\n level: props.level + 1,\n inlineIndent: props.inlineIndent,\n focusable: false,\n selectedKeys: props.selectedKeys,\n eventKey: `${props.eventKey}-menu-`,\n openKeys: props.openKeys,\n openTransitionName: props.openTransitionName,\n openAnimation: props.openAnimation,\n subMenuOpenDelay: props.subMenuOpenDelay,\n parentMenu: this,\n subMenuCloseDelay: props.subMenuCloseDelay,\n forceSubMenuRender: props.forceSubMenuRender,\n triggerSubMenuAction: props.triggerSubMenuAction,\n builtinPlacements: props.builtinPlacements,\n defaultActiveFirst: props.store.getState().defaultActiveFirst[\n getMenuIdFromSubMenuEventKey(props.eventKey)\n ],\n multiple: props.multiple,\n prefixCls: props.rootPrefixCls,\n manualRef: this.saveMenuInstance,\n itemIcon: getComponentFromProp(this, 'itemIcon'),\n expandIcon: getComponentFromProp(this, 'expandIcon'),\n children,\n },\n on: {\n click: this.onSubMenuClick,\n select,\n deselect,\n openChange,\n },\n id: this.internalMenuId,\n };\n const baseProps = subPopupMenuProps.props;\n const haveRendered = this.haveRendered;\n this.haveRendered = true;\n\n this.haveOpened = this.haveOpened || baseProps.visible || baseProps.forceSubMenuRender;\n // never rendered not planning to, don't render\n if (!this.haveOpened) {\n return <div />;\n }\n\n // don't show transition on first rendering (no animation for opened menu)\n // show appear transition if it's not visible (not sure why)\n // show appear transition if it's not inline mode\n const transitionAppear = haveRendered || !baseProps.visible || !baseProps.mode === 'inline';\n subPopupMenuProps.class = ` ${baseProps.prefixCls}-sub`;\n let animProps = { appear: transitionAppear, css: false };\n let transitionProps = {\n props: animProps,\n on: {},\n };\n if (baseProps.openTransitionName) {\n transitionProps = getTransitionProps(baseProps.openTransitionName, {\n appear: transitionAppear,\n });\n } else if (typeof baseProps.openAnimation === 'object') {\n animProps = { ...animProps, ...(baseProps.openAnimation.props || {}) };\n if (!transitionAppear) {\n animProps.appear = false;\n }\n } else if (typeof baseProps.openAnimation === 'string') {\n transitionProps = getTransitionProps(baseProps.openAnimation, { appear: transitionAppear });\n }\n\n if (typeof baseProps.openAnimation === 'object' && baseProps.openAnimation.on) {\n transitionProps.on = baseProps.openAnimation.on;\n }\n return (\n <transition {...transitionProps}>\n <SubPopupMenu v-show={props.isOpen} {...subPopupMenuProps} />\n </transition>\n );\n },\n },\n\n render() {\n const props = this.$props;\n const { rootPrefixCls, parentMenu } = this;\n const isOpen = props.isOpen;\n const prefixCls = this.getPrefixCls();\n const isInlineMode = props.mode === 'inline';\n const className = {\n [prefixCls]: true,\n [`${prefixCls}-${props.mode}`]: true,\n [this.getOpenClassName()]: isOpen,\n [this.getActiveClassName()]: props.active || (isOpen && !isInlineMode),\n [this.getDisabledClassName()]: props.disabled,\n [this.getSelectedClassName()]: this.isChildrenSelected(),\n };\n\n if (!this.internalMenuId) {\n if (props.eventKey) {\n this.internalMenuId = `${props.eventKey}$Menu`;\n } else {\n this.internalMenuId = `$__$${++guid}$Menu`;\n }\n }\n\n let mouseEvents = {};\n let titleClickEvents = {};\n let titleMouseEvents = {};\n if (!props.disabled) {\n mouseEvents = {\n mouseleave: this.onMouseLeave,\n mouseenter: this.onMouseEnter,\n };\n\n // only works in title, not outer li\n titleClickEvents = {\n click: this.onTitleClick,\n };\n titleMouseEvents = {\n mouseenter: this.onTitleMouseEnter,\n mouseleave: this.onTitleMouseLeave,\n };\n }\n\n const style = {};\n if (isInlineMode) {\n style.paddingLeft = `${props.inlineIndent * props.level}px`;\n }\n let ariaOwns = {};\n // only set aria-owns when menu is open\n // otherwise it would be an invalid aria-owns value\n // since corresponding node cannot be found\n if (isOpen) {\n ariaOwns = {\n 'aria-owns': this.internalMenuId,\n };\n }\n const titleProps = {\n attrs: {\n 'aria-expanded': isOpen,\n ...ariaOwns,\n 'aria-haspopup': 'true',\n title: typeof props.title === 'string' ? props.title : undefined,\n },\n on: {\n ...titleMouseEvents,\n ...titleClickEvents,\n },\n style,\n class: `${prefixCls}-title`,\n ref: 'subMenuTitle',\n };\n // expand custom icon should NOT be displayed in menu with horizontal mode.\n let icon = null;\n if (props.mode !== 'horizontal') {\n icon = getComponentFromProp(this, 'expandIcon', props);\n }\n const title = (\n <div {...titleProps}>\n {getComponentFromProp(this, 'title')}\n {icon || <i class={`${prefixCls}-arrow`} />}\n </div>\n );\n const children = this.renderChildren(filterEmpty(this.$slots.default));\n\n const getPopupContainer = this.parentMenu.isRootMenu\n ? this.parentMenu.getPopupContainer\n : triggerNode => triggerNode.parentNode;\n const popupPlacement = popupPlacementMap[props.mode];\n const popupAlign = props.popupOffset ? { offset: props.popupOffset } : {};\n const popupClassName = props.mode === 'inline' ? '' : props.popupClassName;\n const liProps = {\n on: { ...omit(getListeners(this), ['click']), ...mouseEvents },\n class: className,\n };\n\n return (\n <li {...liProps} role=\"menuitem\">\n {isInlineMode && title}\n {isInlineMode && children}\n {!isInlineMode && (\n <Trigger\n prefixCls={prefixCls}\n popupClassName={`${prefixCls}-popup ${rootPrefixCls}-${\n parentMenu.theme\n } ${popupClassName || ''}`}\n getPopupContainer={getPopupContainer}\n builtinPlacements={placements}\n builtinPlacements={Object.assign({}, placements, props.builtinPlacements)}\n popupPlacement={popupPlacement}\n popupVisible={isOpen}\n popupAlign={popupAlign}\n action={props.disabled ? [] : [props.triggerSubMenuAction]}\n mouseEnterDelay={props.subMenuOpenDelay}\n mouseLeaveDelay={props.subMenuCloseDelay}\n onPopupVisibleChange={this.onPopupVisibleChange}\n forceRender={props.forceSubMenuRender}\n // popupTransitionName='rc-menu-open-slide-up'\n // popupAnimation={transitionProps}\n >\n <template slot=\"popup\">{children}</template>\n {title}\n </Trigger>\n )}\n </li>\n );\n },\n};\n\nconst connected = connect(({ openKeys, activeKey, selectedKeys }, { eventKey, subMenuKey }) => ({\n isOpen: openKeys.indexOf(eventKey) > -1,\n active: activeKey[subMenuKey] === eventKey,\n selectedKeys,\n}))(SubMenu);\n\nconnected.isSubMenu = true;\n\nexport default connected;\n","import PropTypes from '../_util/vue-types';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport SubMenu from './SubMenu';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getWidth, setStyle, menuAllProps } from './util';\nimport { cloneElement } from '../_util/vnode';\nimport { getClass, getPropsData, getEvents, getListeners } from '../_util/props-util';\n\nconst canUseDOM = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nconst MENUITEM_OVERFLOWED_CLASSNAME = 'menuitem-overflowed';\nconst FLOAT_PRECISION_ADJUST = 0.5;\n\n// Fix ssr\nif (canUseDOM) {\n require('mutationobserver-shim');\n}\n\nconst DOMWrap = {\n name: 'DOMWrap',\n mixins: [BaseMixin],\n data() {\n this.resizeObserver = null;\n this.mutationObserver = null;\n\n // original scroll size of the list\n this.originalTotalWidth = 0;\n\n // copy of overflowed items\n this.overflowedItems = [];\n\n // cache item of the original items (so we can track the size and order)\n this.menuItemSizes = [];\n return {\n lastVisibleIndex: undefined,\n };\n },\n\n mounted() {\n this.$nextTick(() => {\n this.setChildrenWidthAndResize();\n if (this.level === 1 && this.mode === 'horizontal') {\n const menuUl = this.$el;\n if (!menuUl) {\n return;\n }\n this.resizeObserver = new ResizeObserver(entries => {\n entries.forEach(this.setChildrenWidthAndResize);\n });\n\n [].slice\n .call(menuUl.children)\n .concat(menuUl)\n .forEach(el => {\n this.resizeObserver.observe(el);\n });\n\n if (typeof MutationObserver !== 'undefined') {\n this.mutationObserver = new MutationObserver(() => {\n this.resizeObserver.disconnect();\n [].slice\n .call(menuUl.children)\n .concat(menuUl)\n .forEach(el => {\n this.resizeObserver.observe(el);\n });\n this.setChildrenWidthAndResize();\n });\n this.mutationObserver.observe(menuUl, {\n attributes: false,\n childList: true,\n subTree: false,\n });\n }\n }\n });\n },\n\n beforeDestroy() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n },\n methods: {\n // get all valid menuItem nodes\n getMenuItemNodes() {\n const { prefixCls } = this.$props;\n const ul = this.$el;\n if (!ul) {\n return [];\n }\n\n // filter out all overflowed indicator placeholder\n return [].slice\n .call(ul.children)\n .filter(node => node.className.split(' ').indexOf(`${prefixCls}-overflowed-submenu`) < 0);\n },\n\n getOverflowedSubMenuItem(keyPrefix, overflowedItems, renderPlaceholder) {\n const { overflowedIndicator, level, mode, prefixCls, theme } = this.$props;\n if (level !== 1 || mode !== 'horizontal') {\n return null;\n }\n // put all the overflowed item inside a submenu\n // with a title of overflow indicator ('...')\n const copy = this.$slots.default[0];\n const { title, ...rest } = getPropsData(copy); // eslint-disable-line no-unused-vars\n const events = getEvents(copy);\n let style = {};\n let key = `${keyPrefix}-overflowed-indicator`;\n let eventKey = `${keyPrefix}-overflowed-indicator`;\n\n if (overflowedItems.length === 0 && renderPlaceholder !== true) {\n style = {\n display: 'none',\n };\n } else if (renderPlaceholder) {\n style = {\n visibility: 'hidden',\n // prevent from taking normal dom space\n position: 'absolute',\n };\n key = `${key}-placeholder`;\n eventKey = `${eventKey}-placeholder`;\n }\n\n const popupClassName = theme ? `${prefixCls}-${theme}` : '';\n const props = {};\n const on = {};\n menuAllProps.props.forEach(k => {\n if (rest[k] !== undefined) {\n props[k] = rest[k];\n }\n });\n menuAllProps.on.forEach(k => {\n if (events[k] !== undefined) {\n on[k] = events[k];\n }\n });\n const subMenuProps = {\n props: {\n title: overflowedIndicator,\n popupClassName,\n ...props,\n eventKey,\n disabled: false,\n },\n class: `${prefixCls}-overflowed-submenu`,\n key,\n style,\n on,\n };\n\n return <SubMenu {...subMenuProps}>{overflowedItems}</SubMenu>;\n },\n\n // memorize rendered menuSize\n setChildrenWidthAndResize() {\n if (this.mode !== 'horizontal') {\n return;\n }\n const ul = this.$el;\n\n if (!ul) {\n return;\n }\n\n const ulChildrenNodes = ul.children;\n\n if (!ulChildrenNodes || ulChildrenNodes.length === 0) {\n return;\n }\n\n const lastOverflowedIndicatorPlaceholder = ul.children[ulChildrenNodes.length - 1];\n\n // need last overflowed indicator for calculating length;\n setStyle(lastOverflowedIndicatorPlaceholder, 'display', 'inline-block');\n\n const menuItemNodes = this.getMenuItemNodes();\n\n // reset display attribute for all hidden elements caused by overflow to calculate updated width\n // and then reset to original state after width calculation\n\n const overflowedItems = menuItemNodes.filter(\n c => c.className.split(' ').indexOf(MENUITEM_OVERFLOWED_CLASSNAME) >= 0,\n );\n\n overflowedItems.forEach(c => {\n setStyle(c, 'display', 'inline-block');\n });\n\n this.menuItemSizes = menuItemNodes.map(c => getWidth(c));\n\n overflowedItems.forEach(c => {\n setStyle(c, 'display', 'none');\n });\n this.overflowedIndicatorWidth = getWidth(ul.children[ul.children.length - 1]);\n this.originalTotalWidth = this.menuItemSizes.reduce((acc, cur) => acc + cur, 0);\n this.handleResize();\n // prevent the overflowed indicator from taking space;\n setStyle(lastOverflowedIndicatorPlaceholder, 'display', 'none');\n },\n\n handleResize() {\n if (this.mode !== 'horizontal') {\n return;\n }\n\n const ul = this.$el;\n if (!ul) {\n return;\n }\n const width = getWidth(ul);\n\n this.overflowedItems = [];\n let currentSumWidth = 0;\n\n // index for last visible child in horizontal mode\n let lastVisibleIndex;\n\n // float number comparison could be problematic\n // e.g. 0.1 + 0.2 > 0.3 =====> true\n // thus using FLOAT_PRECISION_ADJUST as buffer to help the situation\n if (this.originalTotalWidth > width + FLOAT_PRECISION_ADJUST) {\n lastVisibleIndex = -1;\n\n this.menuItemSizes.forEach(liWidth => {\n currentSumWidth += liWidth;\n if (currentSumWidth + this.overflowedIndicatorWidth <= width) {\n lastVisibleIndex += 1;\n }\n });\n }\n\n this.setState({ lastVisibleIndex });\n },\n\n renderChildren(children) {\n // need to take care of overflowed items in horizontal mode\n const { lastVisibleIndex } = this.$data;\n const className = getClass(this);\n return (children || []).reduce((acc, childNode, index) => {\n let item = childNode;\n const eventKey = getPropsData(childNode).eventKey;\n if (this.mode === 'horizontal') {\n let overflowed = this.getOverflowedSubMenuItem(eventKey, []);\n if (lastVisibleIndex !== undefined && className[`${this.prefixCls}-root`] !== -1) {\n if (index > lastVisibleIndex) {\n item = cloneElement(\n childNode,\n // 这里修改 eventKey 是为了防止隐藏状态下还会触发 openkeys 事件\n {\n style: { display: 'none' },\n props: { eventKey: `${eventKey}-hidden` },\n class: MENUITEM_OVERFLOWED_CLASSNAME,\n },\n );\n }\n if (index === lastVisibleIndex + 1) {\n this.overflowedItems = children.slice(lastVisibleIndex + 1).map(c => {\n return cloneElement(\n c,\n // children[index].key will become '.$key' in clone by default,\n // we have to overwrite with the correct key explicitly\n {\n key: getPropsData(c).eventKey,\n props: { mode: 'vertical-left' },\n },\n );\n });\n\n overflowed = this.getOverflowedSubMenuItem(eventKey, this.overflowedItems);\n }\n }\n\n const ret = [...acc, overflowed, item];\n\n if (index === children.length - 1) {\n // need a placeholder for calculating overflowed indicator width\n ret.push(this.getOverflowedSubMenuItem(eventKey, [], true));\n }\n return ret;\n }\n return [...acc, item];\n }, []);\n },\n },\n\n render() {\n const Tag = this.$props.tag;\n const tagProps = {\n on: getListeners(this),\n };\n return <Tag {...tagProps}>{this.renderChildren(this.$slots.default)}</Tag>;\n },\n};\n\nDOMWrap.props = {\n mode: PropTypes.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),\n prefixCls: PropTypes.string,\n level: PropTypes.number,\n theme: PropTypes.string,\n overflowedIndicator: PropTypes.node,\n visible: PropTypes.bool,\n hiddenClassName: PropTypes.string,\n tag: PropTypes.string.def('div'),\n};\n\nexport default DOMWrap;\n","import omit from 'omit.js';\nimport PropTypes from '../_util/vue-types';\nimport { connect } from '../_util/store';\nimport BaseMixin from '../_util/BaseMixin';\nimport KeyCode from '../_util/KeyCode';\nimport classNames from 'classnames';\nimport { getKeyFromChildrenIndex, loopMenuItem, noop, isMobileDevice } from './util';\nimport DOMWrap from './DOMWrap';\nimport { cloneElement } from '../_util/vnode';\nimport {\n initDefaultProps,\n getOptionProps,\n getPropsData,\n getEvents,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\n\nfunction allDisabled(arr) {\n if (!arr.length) {\n return true;\n }\n return arr.every(c => {\n return !!c.disabled;\n });\n}\n\nfunction updateActiveKey(store, menuId, activeKey) {\n const state = store.getState();\n store.setState({\n activeKey: {\n ...state.activeKey,\n [menuId]: activeKey,\n },\n });\n}\n\nfunction getEventKey(props) {\n // when eventKey not available ,it's menu and return menu id '0-menu-'\n return props.eventKey || '0-menu-';\n}\n\nexport function saveRef(key, c) {\n if (c) {\n const index = this.instanceArrayKeyIndexMap[key];\n this.instanceArray[index] = c;\n }\n}\nexport function getActiveKey(props, originalActiveKey) {\n let activeKey = originalActiveKey;\n const { eventKey, defaultActiveFirst, children } = props;\n if (activeKey !== undefined && activeKey !== null) {\n let found;\n loopMenuItem(children, (c, i) => {\n const propsData = c.componentOptions.propsData || {};\n if (c && !propsData.disabled && activeKey === getKeyFromChildrenIndex(c, eventKey, i)) {\n found = true;\n }\n });\n if (found) {\n return activeKey;\n }\n }\n activeKey = null;\n if (defaultActiveFirst) {\n loopMenuItem(children, (c, i) => {\n const propsData = c.componentOptions.propsData || {};\n const noActiveKey = activeKey === null || activeKey === undefined;\n if (noActiveKey && c && !propsData.disabled) {\n activeKey = getKeyFromChildrenIndex(c, eventKey, i);\n }\n });\n return activeKey;\n }\n return activeKey;\n}\n\nconst SubPopupMenu = {\n name: 'SubPopupMenu',\n props: initDefaultProps(\n {\n // onSelect: PropTypes.func,\n // onClick: PropTypes.func,\n // onDeselect: PropTypes.func,\n // onOpenChange: PropTypes.func,\n // onDestroy: PropTypes.func,\n prefixCls: PropTypes.string,\n openTransitionName: PropTypes.string,\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n openKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n visible: PropTypes.bool,\n parentMenu: PropTypes.object,\n eventKey: PropTypes.string,\n store: PropTypes.object,\n forceSubMenuRender: PropTypes.bool,\n\n // adding in refactor\n focusable: PropTypes.bool,\n multiple: PropTypes.bool,\n defaultActiveFirst: PropTypes.bool,\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectedKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n defaultSelectedKeys: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n ),\n defaultOpenKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n level: PropTypes.number,\n mode: PropTypes.oneOf([\n 'horizontal',\n 'vertical',\n 'vertical-left',\n 'vertical-right',\n 'inline',\n ]),\n triggerSubMenuAction: PropTypes.oneOf(['click', 'hover']),\n inlineIndent: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n manualRef: PropTypes.func,\n itemIcon: PropTypes.any,\n expandIcon: PropTypes.any,\n overflowedIndicator: PropTypes.any,\n children: PropTypes.any.def([]),\n __propsSymbol__: PropTypes.any, // mock componentWillReceiveProps\n },\n {\n prefixCls: 'rc-menu',\n mode: 'vertical',\n level: 1,\n inlineIndent: 24,\n visible: true,\n focusable: true,\n manualRef: noop,\n },\n ),\n\n mixins: [BaseMixin],\n created() {\n const props = getOptionProps(this);\n this.prevProps = { ...props };\n props.store.setState({\n activeKey: {\n ...props.store.getState().activeKey,\n [props.eventKey]: getActiveKey(props, props.activeKey),\n },\n });\n this.instanceArray = [];\n },\n mounted() {\n // invoke customized ref to expose component to mixin\n if (this.manualRef) {\n this.manualRef(this);\n }\n },\n updated() {\n const props = getOptionProps(this);\n const prevProps = this.prevProps;\n const originalActiveKey =\n 'activeKey' in props ? props.activeKey : props.store.getState().activeKey[getEventKey(props)];\n const activeKey = getActiveKey(props, originalActiveKey);\n if (activeKey !== originalActiveKey) {\n updateActiveKey(props.store, getEventKey(props), activeKey);\n } else if ('activeKey' in prevProps) {\n // If prev activeKey is not same as current activeKey,\n // we should set it.\n const prevActiveKey = getActiveKey(prevProps, prevProps.activeKey);\n if (activeKey !== prevActiveKey) {\n updateActiveKey(props.store, getEventKey(props), activeKey);\n }\n }\n this.prevProps = { ...props };\n },\n methods: {\n // all keyboard events callbacks run from here at first\n onKeyDown(e, callback) {\n const keyCode = e.keyCode;\n let handled;\n this.getFlatInstanceArray().forEach(obj => {\n if (obj && obj.active && obj.onKeyDown) {\n handled = obj.onKeyDown(e);\n }\n });\n if (handled) {\n return 1;\n }\n let activeItem = null;\n if (keyCode === KeyCode.UP || keyCode === KeyCode.DOWN) {\n activeItem = this.step(keyCode === KeyCode.UP ? -1 : 1);\n }\n if (activeItem) {\n e.preventDefault();\n updateActiveKey(this.$props.store, getEventKey(this.$props), activeItem.eventKey);\n\n if (typeof callback === 'function') {\n callback(activeItem);\n }\n\n return 1;\n }\n return undefined;\n },\n\n onItemHover(e) {\n const { key, hover } = e;\n updateActiveKey(this.$props.store, getEventKey(this.$props), hover ? key : null);\n },\n\n onDeselect(selectInfo) {\n this.__emit('deselect', selectInfo);\n },\n\n onSelect(selectInfo) {\n this.__emit('select', selectInfo);\n },\n\n onClick(e) {\n this.__emit('click', e);\n },\n\n onOpenChange(e) {\n this.__emit('openChange', e);\n },\n\n onDestroy(key) {\n this.__emit('destroy', key);\n },\n\n getFlatInstanceArray() {\n return this.instanceArray;\n },\n\n getOpenTransitionName() {\n return this.$props.openTransitionName;\n },\n\n step(direction) {\n let children = this.getFlatInstanceArray();\n const activeKey = this.$props.store.getState().activeKey[getEventKey(this.$props)];\n const len = children.length;\n if (!len) {\n return null;\n }\n if (direction < 0) {\n children = children.concat().reverse();\n }\n // find current activeIndex\n let activeIndex = -1;\n children.every((c, ci) => {\n if (c && c.eventKey === activeKey) {\n activeIndex = ci;\n return false;\n }\n return true;\n });\n if (\n !this.defaultActiveFirst &&\n activeIndex !== -1 &&\n allDisabled(children.slice(activeIndex, len - 1))\n ) {\n return undefined;\n }\n const start = (activeIndex + 1) % len;\n let i = start;\n\n do {\n const child = children[i];\n if (!child || child.disabled) {\n i = (i + 1) % len;\n } else {\n return child;\n }\n } while (i !== start);\n\n return null;\n },\n getIcon(instance, name) {\n if (instance.$createElement) {\n const temp = instance[name];\n if (temp !== undefined) {\n return temp;\n }\n return instance.$slots[name] || instance.$scopedSlots[name];\n } else {\n const temp = getPropsData(instance)[name];\n if (temp !== undefined) {\n return temp;\n }\n const slotsProp = [];\n const componentOptions = instance.componentOptions || {};\n (componentOptions.children || []).forEach(child => {\n if (child.data && child.data.slot === name) {\n if (child.tag === 'template') {\n slotsProp.push(child.children);\n } else {\n slotsProp.push(child);\n }\n }\n });\n return slotsProp.length ? slotsProp : undefined;\n }\n },\n renderCommonMenuItem(child, i, extraProps) {\n if (child.tag === undefined) {\n return child;\n }\n const state = this.$props.store.getState();\n const props = this.$props;\n const key = getKeyFromChildrenIndex(child, props.eventKey, i);\n const childProps = child.componentOptions.propsData || {};\n\n const isActive = key === state.activeKey[getEventKey(this.$props)];\n if (!childProps.disabled) {\n // manualRef的执行顺序不能保证,使用key映射ref在this.instanceArray中的位置\n this.instanceArrayKeyIndexMap[key] = Object.keys(this.instanceArrayKeyIndexMap).length;\n }\n const childListeners = getEvents(child);\n const newChildProps = {\n props: {\n mode: childProps.mode || props.mode,\n level: props.level,\n inlineIndent: props.inlineIndent,\n renderMenuItem: this.renderMenuItem,\n rootPrefixCls: props.prefixCls,\n index: i,\n parentMenu: props.parentMenu,\n // customized ref function, need to be invoked manually in child's componentDidMount\n manualRef: childProps.disabled ? noop : saveRef.bind(this, key),\n eventKey: key,\n active: !childProps.disabled && isActive,\n multiple: props.multiple,\n openTransitionName: this.getOpenTransitionName(),\n openAnimation: props.openAnimation,\n subMenuOpenDelay: props.subMenuOpenDelay,\n subMenuCloseDelay: props.subMenuCloseDelay,\n forceSubMenuRender: props.forceSubMenuRender,\n builtinPlacements: props.builtinPlacements,\n itemIcon: this.getIcon(child, 'itemIcon') || this.getIcon(this, 'itemIcon'),\n expandIcon: this.getIcon(child, 'expandIcon') || this.getIcon(this, 'expandIcon'),\n ...extraProps,\n },\n on: {\n click: e => {\n (childListeners.click || noop)(e);\n this.onClick(e);\n },\n itemHover: this.onItemHover,\n openChange: this.onOpenChange,\n deselect: this.onDeselect,\n // destroy: this.onDestroy,\n select: this.onSelect,\n },\n };\n // ref: https://github.com/ant-design/ant-design/issues/13943\n if (props.mode === 'inline' || isMobileDevice()) {\n newChildProps.props.triggerSubMenuAction = 'click';\n }\n return cloneElement(child, newChildProps);\n },\n\n renderMenuItem(c, i, subMenuKey) {\n if (!c) {\n return null;\n }\n const state = this.$props.store.getState();\n const extraProps = {\n openKeys: state.openKeys,\n selectedKeys: state.selectedKeys,\n triggerSubMenuAction: this.triggerSubMenuAction,\n isRootMenu: false,\n subMenuKey,\n };\n return this.renderCommonMenuItem(c, i, extraProps);\n },\n },\n render() {\n const { ...props } = this.$props;\n const { eventKey, prefixCls, visible, level, mode, theme } = props;\n this.instanceArray = [];\n this.instanceArrayKeyIndexMap = {};\n const className = classNames(props.prefixCls, `${props.prefixCls}-${props.mode}`);\n const domWrapProps = {\n props: {\n tag: 'ul',\n // hiddenClassName: `${prefixCls}-hidden`,\n visible,\n prefixCls,\n level,\n mode,\n theme,\n overflowedIndicator: getComponentFromProp(this, 'overflowedIndicator'),\n },\n attrs: {\n role: props.role || 'menu',\n },\n class: className,\n // Otherwise, the propagated click event will trigger another onClick\n on: omit(getListeners(this), ['click']),\n };\n // if (props.id) {\n // domProps.id = props.id\n // }\n if (props.focusable) {\n domWrapProps.attrs.tabIndex = '0';\n domWrapProps.on.keydown = this.onKeyDown;\n }\n return (\n // ESLint is not smart enough to know that the type of `children` was checked.\n /* eslint-disable */\n <DOMWrap {...domWrapProps}>\n {props.children.map((c, i) => this.renderMenuItem(c, i, eventKey || '0-menu-'))}\n </DOMWrap>\n /*eslint -enable */\n );\n },\n};\n\nexport default connect()(SubPopupMenu);\n","import PropTypes from '../_util/vue-types';\nexport default {\n prefixCls: PropTypes.string.def('rc-menu'),\n focusable: PropTypes.bool.def(true),\n multiple: PropTypes.bool,\n defaultActiveFirst: PropTypes.bool,\n visible: PropTypes.bool.def(true),\n activeKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectedKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n defaultSelectedKeys: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n ).def([]),\n defaultOpenKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])).def(\n [],\n ),\n openKeys: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n mode: PropTypes.oneOf([\n 'horizontal',\n 'vertical',\n 'vertical-left',\n 'vertical-right',\n 'inline',\n ]).def('vertical'),\n triggerSubMenuAction: PropTypes.string.def('hover'),\n subMenuOpenDelay: PropTypes.number.def(0.1),\n subMenuCloseDelay: PropTypes.number.def(0.1),\n level: PropTypes.number.def(1),\n inlineIndent: PropTypes.number.def(24),\n theme: PropTypes.oneOf(['light', 'dark']).def('light'),\n getPopupContainer: PropTypes.func,\n openTransitionName: PropTypes.string,\n forceSubMenuRender: PropTypes.bool,\n selectable: PropTypes.bool,\n isRootMenu: PropTypes.bool.def(true),\n builtinPlacements: PropTypes.object.def(() => ({})),\n itemIcon: PropTypes.any,\n expandIcon: PropTypes.any,\n overflowedIndicator: PropTypes.any,\n};\n","// based on rc-menu 7.5.5\nimport Menu from './Menu';\nimport SubMenu from './SubMenu';\nimport MenuItem, { menuItemProps } from './MenuItem';\nimport MenuItemGroup from './MenuItemGroup';\nimport Divider from './Divider';\n\nexport {\n SubMenu,\n MenuItem as Item,\n menuItemProps as itemProps,\n MenuItem,\n MenuItemGroup,\n MenuItemGroup as ItemGroup,\n Divider,\n};\n\nexport default Menu;\n","import PropTypes from '../_util/vue-types';\nimport { Provider, create } from '../_util/store';\nimport { default as SubPopupMenu, getActiveKey } from './SubPopupMenu';\nimport BaseMixin from '../_util/BaseMixin';\nimport hasProp, {\n getOptionProps,\n getComponentFromProp,\n filterEmpty,\n getListeners,\n} from '../_util/props-util';\nimport commonPropsType from './commonPropsType';\n\nconst Menu = {\n name: 'Menu',\n props: {\n ...commonPropsType,\n selectable: PropTypes.bool.def(true),\n },\n mixins: [BaseMixin],\n\n data() {\n const props = getOptionProps(this);\n let selectedKeys = props.defaultSelectedKeys;\n let openKeys = props.defaultOpenKeys;\n if ('selectedKeys' in props) {\n selectedKeys = props.selectedKeys || [];\n }\n if ('openKeys' in props) {\n openKeys = props.openKeys || [];\n }\n\n this.store = create({\n selectedKeys,\n openKeys,\n activeKey: {\n '0-menu-': getActiveKey({ ...props, children: this.$slots.default || [] }, props.activeKey),\n },\n });\n\n // this.isRootMenu = true // 声明在props上\n return {};\n },\n mounted() {\n this.updateMiniStore();\n },\n updated() {\n this.updateMiniStore();\n },\n methods: {\n onSelect(selectInfo) {\n const props = this.$props;\n if (props.selectable) {\n // root menu\n let selectedKeys = this.store.getState().selectedKeys;\n const selectedKey = selectInfo.key;\n if (props.multiple) {\n selectedKeys = selectedKeys.concat([selectedKey]);\n } else {\n selectedKeys = [selectedKey];\n }\n if (!hasProp(this, 'selectedKeys')) {\n this.store.setState({\n selectedKeys,\n });\n }\n this.__emit('select', {\n ...selectInfo,\n selectedKeys,\n });\n }\n },\n\n onClick(e) {\n this.__emit('click', e);\n },\n // onKeyDown needs to be exposed as a instance method\n // e.g., in rc-select, we need to navigate menu item while\n // current active item is rc-select input box rather than the menu itself\n onKeyDown(e, callback) {\n this.$refs.innerMenu.getWrappedInstance().onKeyDown(e, callback);\n },\n onOpenChange(event) {\n const openKeys = this.store.getState().openKeys.concat();\n let changed = false;\n const processSingle = e => {\n let oneChanged = false;\n if (e.open) {\n oneChanged = openKeys.indexOf(e.key) === -1;\n if (oneChanged) {\n openKeys.push(e.key);\n }\n } else {\n const index = openKeys.indexOf(e.key);\n oneChanged = index !== -1;\n if (oneChanged) {\n openKeys.splice(index, 1);\n }\n }\n changed = changed || oneChanged;\n };\n if (Array.isArray(event)) {\n // batch change call\n event.forEach(processSingle);\n } else {\n processSingle(event);\n }\n if (changed) {\n if (!hasProp(this, 'openKeys')) {\n this.store.setState({ openKeys });\n }\n this.__emit('openChange', openKeys);\n }\n },\n\n onDeselect(selectInfo) {\n const props = this.$props;\n if (props.selectable) {\n const selectedKeys = this.store.getState().selectedKeys.concat();\n const selectedKey = selectInfo.key;\n const index = selectedKeys.indexOf(selectedKey);\n if (index !== -1) {\n selectedKeys.splice(index, 1);\n }\n if (!hasProp(this, 'selectedKeys')) {\n this.store.setState({\n selectedKeys,\n });\n }\n this.__emit('deselect', {\n ...selectInfo,\n selectedKeys,\n });\n }\n },\n\n getOpenTransitionName() {\n const props = this.$props;\n let transitionName = props.openTransitionName;\n const animationName = props.openAnimation;\n if (!transitionName && typeof animationName === 'string') {\n transitionName = `${props.prefixCls}-open-${animationName}`;\n }\n return transitionName;\n },\n updateMiniStore() {\n const props = getOptionProps(this);\n if ('selectedKeys' in props) {\n this.store.setState({\n selectedKeys: props.selectedKeys || [],\n });\n }\n if ('openKeys' in props) {\n this.store.setState({\n openKeys: props.openKeys || [],\n });\n }\n },\n },\n\n render() {\n const props = getOptionProps(this);\n const subPopupMenuProps = {\n props: {\n ...props,\n itemIcon: getComponentFromProp(this, 'itemIcon', props),\n expandIcon: getComponentFromProp(this, 'expandIcon', props),\n overflowedIndicator: getComponentFromProp(this, 'overflowedIndicator', props) || (\n <span>···</span>\n ),\n openTransitionName: this.getOpenTransitionName(),\n parentMenu: this,\n children: filterEmpty(this.$slots.default || []),\n },\n class: `${props.prefixCls}-root`,\n on: {\n ...getListeners(this),\n click: this.onClick,\n openChange: this.onOpenChange,\n deselect: this.onDeselect,\n select: this.onSelect,\n },\n ref: 'innerMenu',\n };\n return (\n <Provider store={this.store}>\n <SubPopupMenu {...subPopupMenuProps} />\n </Provider>\n );\n },\n};\nexport default Menu;\n","export default function create(initialState) {\n let state = initialState;\n const listeners = [];\n\n function setState(partial) {\n state = { ...state, ...partial };\n for (let i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n }\n\n function getState() {\n return state;\n }\n\n function subscribe(listener) {\n listeners.push(listener);\n\n return function unsubscribe() {\n const index = listeners.indexOf(listener);\n listeners.splice(index, 1);\n };\n }\n\n return {\n setState,\n getState,\n subscribe,\n };\n}\n","import {\n getPropsData,\n getSlotOptions,\n getKey,\n getAttrs,\n getComponentFromProp,\n} from '../_util/props-util';\nimport { cloneVNodes } from '../_util/vnode';\n\nexport function toTitle(title) {\n if (typeof title === 'string') {\n return title.trim();\n }\n return '';\n}\nexport function getValuePropValue(child) {\n if (!child) {\n return null;\n }\n const props = getPropsData(child);\n if ('value' in props) {\n return props.value;\n }\n if (getKey(child) !== undefined) {\n return getKey(child);\n }\n if (getSlotOptions(child).isSelectOptGroup) {\n const label = getComponentFromProp(child, 'label');\n if (label) {\n return label;\n }\n }\n throw new Error(`Need at least a key or a value or a label (only for OptGroup) for ${child}`);\n}\n\nexport function getPropValue(child, prop) {\n if (prop === 'value') {\n return getValuePropValue(child);\n }\n if (prop === 'children') {\n const newChild = child.$slots\n ? cloneVNodes(child.$slots.default, true)\n : cloneVNodes(child.componentOptions.children, true);\n if (newChild.length === 1 && !newChild[0].tag) {\n return newChild[0].text;\n }\n return newChild;\n }\n const data = getPropsData(child);\n if (prop in data) {\n return data[prop];\n } else {\n return getAttrs(child)[prop];\n }\n}\n\nexport function isMultiple(props) {\n return props.multiple;\n}\n\nexport function isCombobox(props) {\n return props.combobox;\n}\n\nexport function isMultipleOrTags(props) {\n return props.multiple || props.tags;\n}\n\nexport function isMultipleOrTagsOrCombobox(props) {\n return isMultipleOrTags(props) || isCombobox(props);\n}\n\nexport function isSingleMode(props) {\n return !isMultipleOrTagsOrCombobox(props);\n}\n\nexport function toArray(value) {\n let ret = value;\n if (value === undefined) {\n ret = [];\n } else if (!Array.isArray(value)) {\n ret = [value];\n }\n return ret;\n}\n\nexport function getMapKey(value) {\n return `${typeof value}-${value}`;\n}\n\nexport function preventDefaultEvent(e) {\n e.preventDefault();\n}\n\nexport function findIndexInValueBySingleValue(value, singleValue) {\n let index = -1;\n if (value) {\n for (let i = 0; i < value.length; i++) {\n if (value[i] === singleValue) {\n index = i;\n break;\n }\n }\n }\n return index;\n}\n\nexport function getLabelFromPropsValue(value, key) {\n let label;\n value = toArray(value);\n if (value) {\n for (let i = 0; i < value.length; i++) {\n if (value[i].key === key) {\n label = value[i].label;\n break;\n }\n }\n }\n return label;\n}\n\nexport function getSelectKeys(menuItems, value) {\n if (value === null || value === undefined) {\n return [];\n }\n let selectedKeys = [];\n menuItems.forEach(item => {\n if (getSlotOptions(item).isMenuItemGroup) {\n selectedKeys = selectedKeys.concat(getSelectKeys(item.componentOptions.children, value));\n } else {\n const itemValue = getValuePropValue(item);\n const itemKey = item.key;\n if (findIndexInValueBySingleValue(value, itemValue) !== -1 && itemKey !== undefined) {\n selectedKeys.push(itemKey);\n }\n }\n });\n return selectedKeys;\n}\n\nexport const UNSELECTABLE_STYLE = {\n userSelect: 'none',\n WebkitUserSelect: 'none',\n};\n\nexport const UNSELECTABLE_ATTRIBUTE = {\n unselectable: 'on',\n};\n\nexport function findFirstMenuItem(children) {\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n const props = getPropsData(child);\n if (getSlotOptions(child).isMenuItemGroup) {\n const found = findFirstMenuItem(child.componentOptions.children);\n if (found) {\n return found;\n }\n } else if (!(props.disabled || props.disabled === '')) {\n return child;\n }\n }\n return null;\n}\n\nexport function includesSeparators(str, separators) {\n for (let i = 0; i < separators.length; ++i) {\n if (str.lastIndexOf(separators[i]) > 0) {\n return true;\n }\n }\n return false;\n}\n\nexport function splitBySeparators(str, separators) {\n const reg = new RegExp(`[${separators.join()}]`);\n return str.split(reg).filter(token => token);\n}\n\nexport function defaultFilterFn(input, child) {\n const props = getPropsData(child);\n if (props.disabled) {\n return false;\n }\n let value = getPropValue(child, this.optionFilterProp);\n if (value.length && value[0].text) {\n value = value[0].text;\n } else {\n value = String(value);\n }\n return value.toLowerCase().indexOf(input.toLowerCase()) > -1;\n}\n\nexport function validateOptionValue(value, props) {\n if (isSingleMode(props) || isMultiple(props)) {\n return;\n }\n if (typeof value !== 'string') {\n throw new Error(\n `Invalid \\`value\\` of type \\`${typeof value}\\` supplied to Option, ` +\n `expected \\`string\\` when \\`tags/combobox\\` is \\`true\\`.`,\n );\n }\n}\n\nexport function saveRef(instance, name) {\n return node => {\n instance[name] = node;\n };\n}\n\nexport function generateUUID() {\n if (process.env.NODE_ENV === 'test') {\n return 'test-uuid';\n }\n let d = new Date().getTime();\n const uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\n const r = (d + Math.random() * 16) % 16 | 0;\n d = Math.floor(d / 16);\n return (c === 'x' ? r : (r & 0x7) | 0x8).toString(16);\n });\n return uuid;\n}\n","import raf from 'raf';\nimport PropTypes from '../_util/vue-types';\nimport Menu from '../vc-menu';\nimport scrollIntoView from 'dom-scroll-into-view';\nimport { getSelectKeys, preventDefaultEvent } from './util';\nimport { cloneElement } from '../_util/vnode';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getSlotOptions, getComponentFromProp, getListeners } from '../_util/props-util';\n\nexport default {\n name: 'DropdownMenu',\n mixins: [BaseMixin],\n props: {\n ariaId: PropTypes.string,\n defaultActiveFirstOption: PropTypes.bool,\n value: PropTypes.any,\n dropdownMenuStyle: PropTypes.object,\n multiple: PropTypes.bool,\n // onPopupFocus: PropTypes.func,\n // onPopupScroll: PropTypes.func,\n // onMenuDeSelect: PropTypes.func,\n // onMenuSelect: PropTypes.func,\n prefixCls: PropTypes.string,\n menuItems: PropTypes.any,\n inputValue: PropTypes.string,\n visible: PropTypes.bool,\n backfillValue: PropTypes.any,\n firstActiveValue: PropTypes.string,\n menuItemSelectedIcon: PropTypes.any,\n },\n watch: {\n visible(val) {\n if (!val) {\n this.lastVisible = val;\n } else {\n this.$nextTick(() => {\n this.scrollActiveItemToView();\n });\n }\n },\n },\n\n created() {\n this.rafInstance = null;\n this.lastInputValue = this.$props.inputValue;\n this.lastVisible = false;\n },\n\n mounted() {\n this.$nextTick(() => {\n this.scrollActiveItemToView();\n });\n this.lastVisible = this.$props.visible;\n },\n updated() {\n const props = this.$props;\n // if (!this.prevVisible && props.visible) {\n // this.$nextTick(() => {\n // this.scrollActiveItemToView();\n // });\n // }\n this.lastVisible = props.visible;\n this.lastInputValue = props.inputValue;\n this.prevVisible = this.visible;\n },\n beforeDestroy() {\n if (this.rafInstance) {\n raf.cancel(this.rafInstance);\n }\n },\n methods: {\n scrollActiveItemToView() {\n // scroll into view\n const itemComponent = this.firstActiveItem && this.firstActiveItem.$el;\n const props = this.$props;\n const { value, visible, firstActiveValue } = props;\n if (!itemComponent || !visible) {\n return;\n }\n const scrollIntoViewOpts = {\n onlyScrollIfNeeded: true,\n };\n if ((!value || value.length === 0) && firstActiveValue) {\n scrollIntoViewOpts.alignWithTop = true;\n }\n // Delay to scroll since current frame item position is not ready when pre view is by filter\n // https://github.com/ant-design/ant-design/issues/11268#issuecomment-406634462\n this.rafInstance = raf(() => {\n scrollIntoView(itemComponent, this.$refs.menuRef.$el, scrollIntoViewOpts);\n });\n },\n\n renderMenu() {\n const props = this.$props;\n const {\n menuItems,\n defaultActiveFirstOption,\n value,\n prefixCls,\n multiple,\n inputValue,\n firstActiveValue,\n dropdownMenuStyle,\n backfillValue,\n visible,\n } = props;\n const menuItemSelectedIcon = getComponentFromProp(this, 'menuItemSelectedIcon');\n const { menuDeselect, menuSelect, popupScroll } = getListeners(this);\n if (menuItems && menuItems.length) {\n const selectedKeys = getSelectKeys(menuItems, value);\n const menuProps = {\n props: {\n multiple,\n itemIcon: multiple ? menuItemSelectedIcon : null,\n selectedKeys,\n prefixCls: `${prefixCls}-menu`,\n },\n on: {},\n style: dropdownMenuStyle,\n ref: 'menuRef',\n attrs: {\n role: 'listbox',\n },\n };\n if (popupScroll) {\n menuProps.on.scroll = popupScroll;\n }\n if (multiple) {\n menuProps.on.deselect = menuDeselect;\n menuProps.on.select = menuSelect;\n } else {\n menuProps.on.click = menuSelect;\n }\n const activeKeyProps = {};\n\n let defaultActiveFirst = defaultActiveFirstOption;\n let clonedMenuItems = menuItems;\n if (selectedKeys.length || firstActiveValue) {\n if (props.visible && !this.lastVisible) {\n activeKeyProps.activeKey = selectedKeys[0] || firstActiveValue;\n } else if (!visible) {\n // Do not trigger auto active since we already have selectedKeys\n if (selectedKeys[0]) {\n defaultActiveFirst = false;\n }\n activeKeyProps.activeKey = undefined;\n }\n let foundFirst = false;\n // set firstActiveItem via cloning menus\n // for scroll into view\n const clone = item => {\n if (\n (!foundFirst && selectedKeys.indexOf(item.key) !== -1) ||\n (!foundFirst && !selectedKeys.length && firstActiveValue.indexOf(item.key) !== -1)\n ) {\n foundFirst = true;\n return cloneElement(item, {\n directives: [\n {\n name: 'ant-ref',\n value: ref => {\n this.firstActiveItem = ref;\n },\n },\n ],\n });\n }\n return item;\n };\n\n clonedMenuItems = menuItems.map(item => {\n if (getSlotOptions(item).isMenuItemGroup) {\n const children = item.componentOptions.children.map(clone);\n return cloneElement(item, { children });\n }\n return clone(item);\n });\n } else {\n // Clear firstActiveItem when dropdown menu items was empty\n // Avoid `Unable to find node on an unmounted component`\n // https://github.com/ant-design/ant-design/issues/10774\n this.firstActiveItem = null;\n }\n\n // clear activeKey when inputValue change\n const lastValue = value && value[value.length - 1];\n if (inputValue !== this.lastInputValue && (!lastValue || lastValue !== backfillValue)) {\n activeKeyProps.activeKey = '';\n }\n menuProps.props = { ...activeKeyProps, ...menuProps.props, defaultActiveFirst };\n return <Menu {...menuProps}>{clonedMenuItems}</Menu>;\n }\n return null;\n },\n },\n render() {\n const renderMenu = this.renderMenu();\n const { popupFocus, popupScroll } = getListeners(this);\n return renderMenu ? (\n <div\n style={{\n overflow: 'auto',\n transform: 'translateZ(0)',\n }}\n id={this.$props.ariaId}\n tabIndex=\"-1\"\n onFocus={popupFocus}\n onMousedown={preventDefaultEvent}\n onScroll={popupScroll}\n ref=\"menuContainer\"\n >\n {renderMenu}\n </div>\n ) : null;\n },\n};\n","import classnames from 'classnames';\nimport raf from 'raf';\nimport Trigger from '../vc-trigger';\nimport PropTypes from '../_util/vue-types';\nimport DropdownMenu from './DropdownMenu';\nimport { isSingleMode, saveRef } from './util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getListeners } from '../_util/props-util';\n\nconst BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n};\n\nexport default {\n name: 'SelectTrigger',\n mixins: [BaseMixin],\n props: {\n // onPopupFocus: PropTypes.func,\n // onPopupScroll: PropTypes.func,\n dropdownMatchSelectWidth: PropTypes.bool,\n defaultActiveFirstOption: PropTypes.bool,\n dropdownAlign: PropTypes.object,\n visible: PropTypes.bool,\n disabled: PropTypes.bool,\n showSearch: PropTypes.bool,\n dropdownClassName: PropTypes.string,\n dropdownStyle: PropTypes.object,\n dropdownMenuStyle: PropTypes.object,\n multiple: PropTypes.bool,\n inputValue: PropTypes.string,\n filterOption: PropTypes.any,\n empty: PropTypes.bool,\n options: PropTypes.any,\n prefixCls: PropTypes.string,\n popupClassName: PropTypes.string,\n value: PropTypes.array,\n // children: PropTypes.any,\n showAction: PropTypes.arrayOf(PropTypes.string),\n combobox: PropTypes.bool,\n animation: PropTypes.string,\n transitionName: PropTypes.string,\n getPopupContainer: PropTypes.func,\n backfillValue: PropTypes.any,\n menuItemSelectedIcon: PropTypes.any,\n dropdownRender: PropTypes.func,\n ariaId: PropTypes.string,\n },\n data() {\n return {\n dropdownWidth: 0,\n };\n },\n created() {\n this.rafInstance = null;\n this.saveDropdownMenuRef = saveRef(this, 'dropdownMenuRef');\n this.saveTriggerRef = saveRef(this, 'triggerRef');\n },\n\n mounted() {\n this.$nextTick(() => {\n this.setDropdownWidth();\n });\n },\n\n updated() {\n this.$nextTick(() => {\n this.setDropdownWidth();\n });\n },\n beforeDestroy() {\n this.cancelRafInstance();\n },\n methods: {\n setDropdownWidth() {\n this.cancelRafInstance();\n this.rafInstance = raf(() => {\n const width = this.$el.offsetWidth;\n if (width !== this.dropdownWidth) {\n this.setState({ dropdownWidth: width });\n }\n });\n },\n cancelRafInstance() {\n if (this.rafInstance) {\n raf.cancel(this.rafInstance);\n }\n },\n getInnerMenu() {\n return this.dropdownMenuRef && this.dropdownMenuRef.$refs.menuRef;\n },\n\n getPopupDOMNode() {\n return this.triggerRef.getPopupDomNode();\n },\n\n getDropdownElement(newProps) {\n const {\n value,\n firstActiveValue,\n defaultActiveFirstOption,\n dropdownMenuStyle,\n getDropdownPrefixCls,\n backfillValue,\n menuItemSelectedIcon,\n } = this;\n const { menuSelect, menuDeselect, popupScroll } = getListeners(this);\n const props = this.$props;\n\n const { dropdownRender, ariaId } = props;\n const dropdownMenuProps = {\n props: {\n ...newProps.props,\n ariaId,\n prefixCls: getDropdownPrefixCls(),\n value,\n firstActiveValue,\n defaultActiveFirstOption,\n dropdownMenuStyle,\n backfillValue,\n menuItemSelectedIcon,\n },\n on: {\n ...newProps.on,\n menuSelect,\n menuDeselect,\n popupScroll,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.saveDropdownMenuRef,\n },\n ],\n };\n const menuNode = <DropdownMenu {...dropdownMenuProps} />;\n\n if (dropdownRender) {\n return dropdownRender(menuNode, props);\n }\n return null;\n },\n\n getDropdownTransitionName() {\n const props = this.$props;\n let transitionName = props.transitionName;\n if (!transitionName && props.animation) {\n transitionName = `${this.getDropdownPrefixCls()}-${props.animation}`;\n }\n return transitionName;\n },\n\n getDropdownPrefixCls() {\n return `${this.prefixCls}-dropdown`;\n },\n },\n\n render() {\n const { $props, $slots } = this;\n const {\n multiple,\n visible,\n inputValue,\n dropdownAlign,\n disabled,\n showSearch,\n dropdownClassName,\n dropdownStyle,\n dropdownMatchSelectWidth,\n options,\n getPopupContainer,\n showAction,\n empty,\n } = $props;\n const { mouseenter, mouseleave, popupFocus, dropdownVisibleChange } = getListeners(this);\n const dropdownPrefixCls = this.getDropdownPrefixCls();\n const popupClassName = {\n [dropdownClassName]: !!dropdownClassName,\n [`${dropdownPrefixCls}--${multiple ? 'multiple' : 'single'}`]: 1,\n [`${dropdownPrefixCls}--empty`]: empty,\n };\n const popupElement = this.getDropdownElement({\n props: {\n menuItems: options,\n multiple,\n inputValue,\n visible,\n },\n on: {\n popupFocus,\n },\n });\n let hideAction;\n if (disabled) {\n hideAction = [];\n } else if (isSingleMode($props) && !showSearch) {\n hideAction = ['click'];\n } else {\n hideAction = ['blur'];\n }\n const popupStyle = { ...dropdownStyle };\n const widthProp = dropdownMatchSelectWidth ? 'width' : 'minWidth';\n if (this.dropdownWidth) {\n popupStyle[widthProp] = `${this.dropdownWidth}px`;\n }\n const triggerProps = {\n props: {\n ...$props,\n showAction: disabled ? [] : showAction,\n hideAction,\n ref: 'triggerRef',\n popupPlacement: 'bottomLeft',\n builtinPlacements: BUILT_IN_PLACEMENTS,\n prefixCls: dropdownPrefixCls,\n popupTransitionName: this.getDropdownTransitionName(),\n popupAlign: dropdownAlign,\n popupVisible: visible,\n getPopupContainer,\n popupClassName: classnames(popupClassName),\n popupStyle,\n },\n on: {\n popupVisibleChange: dropdownVisibleChange,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.saveTriggerRef,\n },\n ],\n };\n if (mouseenter) {\n triggerProps.on.mouseenter = mouseenter;\n }\n if (mouseleave) {\n triggerProps.on.mouseleave = mouseleave;\n }\n return (\n <Trigger {...triggerProps}>\n {$slots.default}\n <template slot=\"popup\">{popupElement}</template>\n </Trigger>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\n\nexport const SelectPropTypes = {\n defaultActiveFirstOption: PropTypes.bool,\n multiple: PropTypes.bool,\n filterOption: PropTypes.any,\n // children: PropTypes.any,\n showSearch: PropTypes.bool,\n disabled: PropTypes.bool,\n allowClear: PropTypes.bool,\n showArrow: PropTypes.bool,\n tags: PropTypes.bool,\n prefixCls: PropTypes.string,\n // className: PropTypes.string,\n transitionName: PropTypes.string,\n optionLabelProp: PropTypes.string,\n optionFilterProp: PropTypes.string,\n animation: PropTypes.string,\n choiceTransitionName: PropTypes.string,\n open: PropTypes.bool,\n defaultOpen: PropTypes.bool,\n // onChange: PropTypes.func,\n // onBlur: PropTypes.func,\n // onFocus: PropTypes.func,\n // onSelect: PropTypes.func,\n // onSearch: PropTypes.func,\n // onPopupScroll: PropTypes.func,\n // onMouseEnter: PropTypes.func,\n // onMouseLeave: PropTypes.func,\n // onInputKeyDown: PropTypes.func,\n placeholder: PropTypes.any,\n // onDeselect: PropTypes.func,\n labelInValue: PropTypes.bool,\n loading: PropTypes.bool,\n value: PropTypes.any,\n defaultValue: PropTypes.any,\n dropdownStyle: PropTypes.object,\n dropdownClassName: PropTypes.string,\n maxTagTextLength: PropTypes.number,\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.any,\n tokenSeparators: PropTypes.arrayOf(PropTypes.string),\n getInputElement: PropTypes.func,\n showAction: PropTypes.arrayOf(PropTypes.string),\n autoFocus: PropTypes.bool,\n getPopupContainer: PropTypes.func,\n clearIcon: PropTypes.any,\n inputIcon: PropTypes.any,\n removeIcon: PropTypes.any,\n menuItemSelectedIcon: PropTypes.any,\n dropdownRender: PropTypes.func,\n mode: PropTypes.oneOf(['multiple', 'tags']),\n backfill: PropTypes.bool,\n dropdownAlign: PropTypes.any,\n dropdownMatchSelectWidth: PropTypes.bool,\n dropdownMenuStyle: PropTypes.object,\n notFoundContent: PropTypes.oneOfType([String, Number]),\n tabIndex: PropTypes.oneOfType([String, Number]),\n};\n","/* eslint-disable no-undef */\n// Browser environment sniffing\nexport const inBrowser = typeof window !== 'undefined';\nexport const inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nexport const weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nexport const UA = inBrowser && window.navigator.userAgent.toLowerCase();\nexport const isIE = UA && /msie|trident/.test(UA);\nexport const isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nexport const isEdge = UA && UA.indexOf('edge/') > 0;\nexport const isAndroid = (UA && UA.indexOf('android') > 0) || weexPlatform === 'android';\nexport const isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || weexPlatform === 'ios';\nexport const isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nexport const isPhantomJS = UA && /phantomjs/.test(UA);\nexport const isFF = UA && UA.match(/firefox\\/(\\d+)/);\n","import KeyCode from '../_util/KeyCode';\nimport PropTypes from '../_util/vue-types';\nimport classnames from 'classnames';\nimport classes from 'component-classes';\nimport { Item as MenuItem, ItemGroup as MenuItemGroup } from '../vc-menu';\nimport warning from 'warning';\nimport Vue from 'vue';\nimport Option from './Option';\nimport OptGroup from './OptGroup';\nimport {\n hasProp,\n getSlotOptions,\n getPropsData,\n getValueByProp as getValue,\n getComponentFromProp,\n getEvents,\n getClass,\n getStyle,\n getAttrs,\n getOptionProps,\n getSlots,\n getListeners,\n} from '../_util/props-util';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport { cloneElement } from '../_util/vnode';\nimport BaseMixin from '../_util/BaseMixin';\nimport proxyComponent from '../_util/proxyComponent';\nimport ref from 'vue-ref';\nimport SelectTrigger from './SelectTrigger';\nimport {\n defaultFilterFn,\n findFirstMenuItem,\n findIndexInValueBySingleValue,\n generateUUID,\n getLabelFromPropsValue,\n getMapKey,\n getPropValue,\n getValuePropValue,\n includesSeparators,\n isCombobox,\n isMultipleOrTags,\n isMultipleOrTagsOrCombobox,\n isSingleMode,\n preventDefaultEvent,\n saveRef,\n splitBySeparators,\n toArray,\n toTitle,\n UNSELECTABLE_ATTRIBUTE,\n UNSELECTABLE_STYLE,\n validateOptionValue,\n} from './util';\nimport { SelectPropTypes } from './PropTypes';\nimport contains from '../vc-util/Dom/contains';\nimport { isIE, isEdge } from '../_util/env';\n\nVue.use(ref, { name: 'ant-ref' });\nconst SELECT_EMPTY_VALUE_KEY = 'RC_SELECT_EMPTY_VALUE_KEY';\n\nconst noop = () => null;\n\n// Where el is the DOM element you'd like to test for visibility\nfunction isHidden(node) {\n return !node || node.offsetParent === null;\n}\n\nfunction chaining(...fns) {\n return function(...args) {\n // eslint-disable-line\n // eslint-disable-line\n for (let i = 0; i < fns.length; i++) {\n if (fns[i] && typeof fns[i] === 'function') {\n fns[i].apply(chaining, args);\n }\n }\n };\n}\nconst Select = {\n inheritAttrs: false,\n Option,\n OptGroup,\n name: 'Select',\n mixins: [BaseMixin],\n props: {\n ...SelectPropTypes,\n prefixCls: SelectPropTypes.prefixCls.def('rc-select'),\n defaultOpen: PropTypes.bool.def(false),\n labelInValue: SelectPropTypes.labelInValue.def(false),\n defaultActiveFirstOption: SelectPropTypes.defaultActiveFirstOption.def(true),\n showSearch: SelectPropTypes.showSearch.def(true),\n allowClear: SelectPropTypes.allowClear.def(false),\n placeholder: SelectPropTypes.placeholder.def(''),\n // showArrow: SelectPropTypes.showArrow.def(true),\n dropdownMatchSelectWidth: PropTypes.bool.def(true),\n dropdownStyle: SelectPropTypes.dropdownStyle.def(() => ({})),\n dropdownMenuStyle: PropTypes.object.def(() => ({})),\n optionFilterProp: SelectPropTypes.optionFilterProp.def('value'),\n optionLabelProp: SelectPropTypes.optionLabelProp.def('value'),\n notFoundContent: PropTypes.any.def('Not Found'),\n backfill: PropTypes.bool.def(false),\n showAction: SelectPropTypes.showAction.def(['click']),\n combobox: PropTypes.bool.def(false),\n tokenSeparators: PropTypes.arrayOf(PropTypes.string).def([]),\n autoClearSearchValue: PropTypes.bool.def(true),\n tabIndex: PropTypes.any.def(0),\n dropdownRender: PropTypes.func.def(menu => menu),\n // onChange: noop,\n // onFocus: noop,\n // onBlur: noop,\n // onSelect: noop,\n // onSearch: noop,\n // onDeselect: noop,\n // onInputKeydown: noop,\n },\n model: {\n prop: 'value',\n event: 'change',\n },\n created() {\n this.saveInputRef = saveRef(this, 'inputRef');\n this.saveInputMirrorRef = saveRef(this, 'inputMirrorRef');\n this.saveTopCtrlRef = saveRef(this, 'topCtrlRef');\n this.saveSelectTriggerRef = saveRef(this, 'selectTriggerRef');\n this.saveRootRef = saveRef(this, 'rootRef');\n this.saveSelectionRef = saveRef(this, 'selectionRef');\n this._focused = false;\n this._mouseDown = false;\n this._options = [];\n this._empty = false;\n },\n data() {\n const props = getOptionProps(this);\n const optionsInfo = this.getOptionsInfoFromProps(props);\n warning(\n this.__propsSymbol__,\n 'Replace slots.default with props.children and pass props.__propsSymbol__',\n );\n if (props.tags && typeof props.filterOption !== 'function') {\n const isDisabledExist = Object.keys(optionsInfo).some(key => optionsInfo[key].disabled);\n warning(\n !isDisabledExist,\n 'Please avoid setting option to disabled in tags mode since user can always type text as tag.',\n );\n }\n const state = {\n _value: this.getValueFromProps(props, true), // true: use default value\n _inputValue: props.combobox\n ? this.getInputValueForCombobox(\n props,\n optionsInfo,\n true, // use default value\n )\n : '',\n _open: props.defaultOpen,\n _optionsInfo: optionsInfo,\n _backfillValue: '',\n // a flag for aviod redundant getOptionsInfoFromProps call\n _skipBuildOptionsInfo: true,\n _ariaId: generateUUID(),\n };\n return {\n ...state,\n _mirrorInputValue: state._inputValue, // https://github.com/vueComponent/ant-design-vue/issues/1458\n ...this.getDerivedState(props, state),\n };\n },\n\n mounted() {\n this.$nextTick(() => {\n // when defaultOpen is true, we should auto focus search input\n // https://github.com/ant-design/ant-design/issues/14254\n if (this.autoFocus || this._open) {\n this.focus();\n }\n // this.setState({\n // _ariaId: generateUUID(),\n // });\n });\n },\n watch: {\n __propsSymbol__() {\n Object.assign(this.$data, this.getDerivedState(getOptionProps(this), this.$data));\n },\n '$data._inputValue'(val) {\n this.$data._mirrorInputValue = val;\n },\n },\n updated() {\n this.$nextTick(() => {\n if (isMultipleOrTags(this.$props)) {\n const inputNode = this.getInputDOMNode();\n const mirrorNode = this.getInputMirrorDOMNode();\n if (inputNode && inputNode.value && mirrorNode) {\n inputNode.style.width = '';\n inputNode.style.width = `${mirrorNode.clientWidth + 10}px`;\n } else if (inputNode) {\n inputNode.style.width = '';\n }\n }\n this.forcePopupAlign();\n });\n },\n beforeDestroy() {\n this.clearFocusTime();\n this.clearBlurTime();\n this.clearComboboxTime();\n if (this.dropdownContainer) {\n document.body.removeChild(this.dropdownContainer);\n this.dropdownContainer = null;\n }\n },\n methods: {\n getDerivedState(nextProps, prevState) {\n const optionsInfo = prevState._skipBuildOptionsInfo\n ? prevState._optionsInfo\n : this.getOptionsInfoFromProps(nextProps, prevState);\n\n const newState = {\n _optionsInfo: optionsInfo,\n _skipBuildOptionsInfo: false,\n };\n\n if ('open' in nextProps) {\n newState._open = nextProps.open;\n }\n\n if ('value' in nextProps) {\n const value = this.getValueFromProps(nextProps);\n newState._value = value;\n if (nextProps.combobox) {\n newState._inputValue = this.getInputValueForCombobox(nextProps, optionsInfo);\n }\n }\n return newState;\n },\n getOptionsFromChildren(children = [], options = []) {\n children.forEach(child => {\n if (!child.data || child.data.slot !== undefined) {\n return;\n }\n if (getSlotOptions(child).isSelectOptGroup) {\n this.getOptionsFromChildren(child.componentOptions.children, options);\n } else {\n options.push(child);\n }\n });\n return options;\n },\n getInputValueForCombobox(props, optionsInfo, useDefaultValue) {\n let value = [];\n if ('value' in props && !useDefaultValue) {\n value = toArray(props.value);\n }\n if ('defaultValue' in props && useDefaultValue) {\n value = toArray(props.defaultValue);\n }\n if (value.length) {\n value = value[0];\n } else {\n return '';\n }\n let label = value;\n if (props.labelInValue) {\n label = value.label;\n } else if (optionsInfo[getMapKey(value)]) {\n label = optionsInfo[getMapKey(value)].label;\n }\n if (label === undefined) {\n label = '';\n }\n return label;\n },\n\n getLabelFromOption(props, option) {\n return getPropValue(option, props.optionLabelProp);\n },\n\n getOptionsInfoFromProps(props, preState) {\n const options = this.getOptionsFromChildren(this.$props.children);\n const optionsInfo = {};\n options.forEach(option => {\n const singleValue = getValuePropValue(option);\n optionsInfo[getMapKey(singleValue)] = {\n option,\n value: singleValue,\n label: this.getLabelFromOption(props, option),\n title: getValue(option, 'title'),\n disabled: getValue(option, 'disabled'),\n };\n });\n if (preState) {\n // keep option info in pre state value.\n const oldOptionsInfo = preState._optionsInfo;\n const value = preState._value;\n if (value) {\n value.forEach(v => {\n const key = getMapKey(v);\n if (!optionsInfo[key] && oldOptionsInfo[key] !== undefined) {\n optionsInfo[key] = oldOptionsInfo[key];\n }\n });\n }\n }\n return optionsInfo;\n },\n\n getValueFromProps(props, useDefaultValue) {\n let value = [];\n if ('value' in props && !useDefaultValue) {\n value = toArray(props.value);\n }\n if ('defaultValue' in props && useDefaultValue) {\n value = toArray(props.defaultValue);\n }\n if (props.labelInValue) {\n value = value.map(v => {\n return v.key;\n });\n }\n return value;\n },\n\n onInputChange(e) {\n const { value: val, composing } = e.target;\n const { _inputValue = '' } = this.$data;\n if (e.isComposing || composing || _inputValue === val) {\n this.setState({\n _mirrorInputValue: val,\n });\n return;\n }\n const { tokenSeparators } = this.$props;\n if (\n isMultipleOrTags(this.$props) &&\n tokenSeparators.length &&\n includesSeparators(val, tokenSeparators)\n ) {\n const nextValue = this.getValueByInput(val);\n if (nextValue !== undefined) {\n this.fireChange(nextValue);\n }\n this.setOpenState(false, { needFocus: true });\n this.setInputValue('', false);\n return;\n }\n this.setInputValue(val);\n this.setState({\n _open: true,\n });\n if (isCombobox(this.$props)) {\n this.fireChange([val]);\n }\n },\n\n onDropdownVisibleChange(open) {\n if (open && !this._focused) {\n this.clearBlurTime();\n this.timeoutFocus();\n this._focused = true;\n this.updateFocusClassName();\n }\n this.setOpenState(open);\n },\n\n // combobox ignore\n onKeyDown(event) {\n const { _open: open } = this.$data;\n const { disabled } = this.$props;\n if (disabled) {\n return;\n }\n const keyCode = event.keyCode;\n if (open && !this.getInputDOMNode()) {\n this.onInputKeydown(event);\n } else if (keyCode === KeyCode.ENTER || keyCode === KeyCode.DOWN) {\n // vue state是同步更新,onKeyDown在onMenuSelect后会再次调用,单选时不在调用setOpenState\n // https://github.com/vueComponent/ant-design-vue/issues/1142\n if (keyCode === KeyCode.ENTER && !isMultipleOrTags(this.$props)) {\n this.maybeFocus(true);\n } else if (!open) {\n this.setOpenState(true);\n }\n event.preventDefault();\n } else if (keyCode === KeyCode.SPACE) {\n // Not block space if popup is shown\n if (!open) {\n this.setOpenState(true);\n event.preventDefault();\n }\n }\n },\n\n onInputKeydown(event) {\n const { disabled, combobox, defaultActiveFirstOption } = this.$props;\n if (disabled) {\n return;\n }\n const state = this.$data;\n const isRealOpen = this.getRealOpenState(state);\n const keyCode = event.keyCode;\n if (isMultipleOrTags(this.$props) && !event.target.value && keyCode === KeyCode.BACKSPACE) {\n event.preventDefault();\n const { _value: value } = state;\n if (value.length) {\n this.removeSelected(value[value.length - 1]);\n }\n return;\n }\n if (keyCode === KeyCode.DOWN) {\n if (!state._open) {\n this.openIfHasChildren();\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n } else if (keyCode === KeyCode.ENTER && state._open) {\n // Aviod trigger form submit when select item\n // https://github.com/ant-design/ant-design/issues/10861\n // https://github.com/ant-design/ant-design/issues/14544\n if (isRealOpen || !combobox) {\n event.preventDefault();\n }\n // Hard close popup to avoid lock of non option in combobox mode\n if (isRealOpen && combobox && defaultActiveFirstOption === false) {\n this.comboboxTimer = setTimeout(() => {\n this.setOpenState(false);\n });\n }\n } else if (keyCode === KeyCode.ESC) {\n if (state._open) {\n this.setOpenState(false);\n event.preventDefault();\n event.stopPropagation();\n }\n return;\n }\n\n if (isRealOpen && this.selectTriggerRef) {\n const menu = this.selectTriggerRef.getInnerMenu();\n if (menu && menu.onKeyDown(event, this.handleBackfill)) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n },\n\n onMenuSelect({ item }) {\n if (!item) {\n return;\n }\n let value = this.$data._value;\n const props = this.$props;\n const selectedValue = getValuePropValue(item);\n const lastValue = value[value.length - 1];\n let skipTrigger = false;\n\n if (isMultipleOrTags(props)) {\n if (findIndexInValueBySingleValue(value, selectedValue) !== -1) {\n skipTrigger = true;\n } else {\n value = value.concat([selectedValue]);\n }\n } else {\n if (\n !isCombobox(props) &&\n lastValue !== undefined &&\n lastValue === selectedValue &&\n selectedValue !== this.$data._backfillValue\n ) {\n this.setOpenState(false, { needFocus: true, fireSearch: false });\n skipTrigger = true;\n } else {\n value = [selectedValue];\n this.setOpenState(false, { needFocus: true, fireSearch: false });\n }\n }\n if (!skipTrigger) {\n this.fireChange(value);\n }\n if (!skipTrigger) {\n this.fireSelect(selectedValue);\n const inputValue = isCombobox(props) ? getPropValue(item, props.optionLabelProp) : '';\n\n if (props.autoClearSearchValue) {\n this.setInputValue(inputValue, false);\n }\n }\n },\n\n onMenuDeselect({ item, domEvent }) {\n if (domEvent.type === 'keydown' && domEvent.keyCode === KeyCode.ENTER) {\n const menuItemDomNode = item.$el;\n // https://github.com/ant-design/ant-design/issues/20465#issuecomment-569033796\n if (!isHidden(menuItemDomNode)) {\n this.removeSelected(getValuePropValue(item));\n }\n return;\n }\n if (domEvent.type === 'click') {\n this.removeSelected(getValuePropValue(item));\n }\n if (this.autoClearSearchValue) {\n this.setInputValue('');\n }\n },\n\n onArrowClick(e) {\n e.stopPropagation();\n e.preventDefault();\n this.clearBlurTime();\n if (!this.disabled) {\n this.setOpenState(!this.$data._open, { needFocus: !this.$data._open });\n }\n },\n\n onPlaceholderClick() {\n if (this.getInputDOMNode() && this.getInputDOMNode()) {\n this.getInputDOMNode().focus();\n }\n },\n\n onPopupFocus() {\n // fix ie scrollbar, focus element again\n this.maybeFocus(true, true);\n },\n\n onClearSelection(event) {\n const props = this.$props;\n const state = this.$data;\n if (props.disabled) {\n return;\n }\n const { _inputValue: inputValue, _value: value } = state;\n event.stopPropagation();\n if (inputValue || value.length) {\n if (value.length) {\n this.fireChange([]);\n }\n this.setOpenState(false, { needFocus: true });\n if (inputValue) {\n this.setInputValue('');\n }\n }\n },\n\n onChoiceAnimationLeave() {\n this.forcePopupAlign();\n },\n\n getOptionInfoBySingleValue(value, optionsInfo) {\n let info;\n optionsInfo = optionsInfo || this.$data._optionsInfo;\n if (optionsInfo[getMapKey(value)]) {\n info = optionsInfo[getMapKey(value)];\n }\n if (info) {\n return info;\n }\n let defaultLabel = value;\n if (this.$props.labelInValue) {\n const valueLabel = getLabelFromPropsValue(this.$props.value, value);\n const defaultValueLabel = getLabelFromPropsValue(this.$props.defaultValue, value);\n if (valueLabel !== undefined) {\n defaultLabel = valueLabel;\n } else if (defaultValueLabel !== undefined) {\n defaultLabel = defaultValueLabel;\n }\n }\n const defaultInfo = {\n option: (\n <Option value={value} key={value}>\n {value}\n </Option>\n ),\n value,\n label: defaultLabel,\n };\n return defaultInfo;\n },\n\n getOptionBySingleValue(value) {\n const { option } = this.getOptionInfoBySingleValue(value);\n return option;\n },\n\n getOptionsBySingleValue(values) {\n return values.map(value => {\n return this.getOptionBySingleValue(value);\n });\n },\n\n getValueByLabel(label) {\n if (label === undefined) {\n return null;\n }\n let value = null;\n Object.keys(this.$data._optionsInfo).forEach(key => {\n const info = this.$data._optionsInfo[key];\n const { disabled } = info;\n if (disabled) {\n return;\n }\n const oldLable = toArray(info.label);\n if (oldLable && oldLable.join('') === label) {\n value = info.value;\n }\n });\n return value;\n },\n\n getVLBySingleValue(value) {\n if (this.$props.labelInValue) {\n return {\n key: value,\n label: this.getLabelBySingleValue(value),\n };\n }\n return value;\n },\n\n getVLForOnChange(vlsS) {\n let vls = vlsS;\n if (vls !== undefined) {\n if (!this.labelInValue) {\n vls = vls.map(v => v);\n } else {\n vls = vls.map(vl => ({\n key: vl,\n label: this.getLabelBySingleValue(vl),\n }));\n }\n return isMultipleOrTags(this.$props) ? vls : vls[0];\n }\n return vls;\n },\n\n getLabelBySingleValue(value, optionsInfo) {\n const { label } = this.getOptionInfoBySingleValue(value, optionsInfo);\n return label;\n },\n\n getDropdownContainer() {\n if (!this.dropdownContainer) {\n this.dropdownContainer = document.createElement('div');\n document.body.appendChild(this.dropdownContainer);\n }\n return this.dropdownContainer;\n },\n\n getPlaceholderElement() {\n const { $props: props, $data: state } = this;\n let hidden = false;\n if (state._mirrorInputValue) {\n hidden = true;\n }\n const value = state._value;\n if (value.length) {\n hidden = true;\n }\n if (\n !state._mirrorInputValue &&\n isCombobox(props) &&\n value.length === 1 &&\n state._value &&\n !state._value[0]\n ) {\n hidden = false;\n }\n const placeholder = props.placeholder;\n if (placeholder) {\n const p = {\n on: {\n mousedown: preventDefaultEvent,\n click: this.onPlaceholderClick,\n },\n attrs: UNSELECTABLE_ATTRIBUTE,\n style: {\n display: hidden ? 'none' : 'block',\n ...UNSELECTABLE_STYLE,\n },\n class: `${props.prefixCls}-selection__placeholder`,\n };\n return <div {...p}>{placeholder}</div>;\n }\n return null;\n },\n inputClick(e) {\n if (this.$data._open) {\n this.clearBlurTime();\n e.stopPropagation();\n } else {\n this._focused = false;\n }\n },\n inputBlur(e) {\n const target = e.relatedTarget || document.activeElement;\n\n // https://github.com/vueComponent/ant-design-vue/issues/999\n // https://github.com/vueComponent/ant-design-vue/issues/1223\n if (\n (isIE || isEdge) &&\n (e.relatedTarget === this.$refs.arrow ||\n (target &&\n this.selectTriggerRef &&\n this.selectTriggerRef.getInnerMenu() &&\n this.selectTriggerRef.getInnerMenu().$el === target) ||\n contains(e.target, target))\n ) {\n e.target.focus();\n e.preventDefault();\n return;\n }\n this.clearBlurTime();\n if (this.disabled) {\n e.preventDefault();\n return;\n }\n this.blurTimer = setTimeout(() => {\n this._focused = false;\n this.updateFocusClassName();\n const props = this.$props;\n let { _value: value } = this.$data;\n const { _inputValue: inputValue } = this.$data;\n if (\n isSingleMode(props) &&\n props.showSearch &&\n inputValue &&\n props.defaultActiveFirstOption\n ) {\n const options = this._options || [];\n if (options.length) {\n const firstOption = findFirstMenuItem(options);\n if (firstOption) {\n value = [getValuePropValue(firstOption)];\n this.fireChange(value);\n }\n }\n } else if (isMultipleOrTags(props) && inputValue) {\n if (this._mouseDown) {\n // need update dropmenu when not blur\n this.setInputValue('');\n } else {\n // why not use setState?\n this.$data._inputValue = '';\n if (this.getInputDOMNode && this.getInputDOMNode()) {\n this.getInputDOMNode().value = '';\n }\n }\n const tmpValue = this.getValueByInput(inputValue);\n if (tmpValue !== undefined) {\n value = tmpValue;\n this.fireChange(value);\n }\n }\n // if click the rest space of Select in multiple mode\n if (isMultipleOrTags(props) && this._mouseDown) {\n this.maybeFocus(true, true);\n this._mouseDown = false;\n return;\n }\n this.setOpenState(false);\n this.$emit('blur', this.getVLForOnChange(value));\n }, 200);\n },\n inputFocus(e) {\n if (this.$props.disabled) {\n e.preventDefault();\n return;\n }\n this.clearBlurTime();\n\n // In IE11, onOuterFocus will be trigger twice when focus input\n // First one: e.target is div\n // Second one: e.target is input\n // other browser only trigger second one\n // https://github.com/ant-design/ant-design/issues/15942\n // Here we ignore the first one when e.target is div\n const inputNode = this.getInputDOMNode();\n if (inputNode && e.target === this.rootRef) {\n return;\n }\n if (!isMultipleOrTagsOrCombobox(this.$props) && e.target === inputNode) {\n return;\n }\n if (this._focused) {\n return;\n }\n this._focused = true;\n this.updateFocusClassName();\n // only effect multiple or tag mode\n if (!isMultipleOrTags(this.$props) || !this._mouseDown) {\n this.timeoutFocus();\n }\n },\n _getInputElement() {\n const props = this.$props;\n const { _inputValue: inputValue, _mirrorInputValue } = this.$data;\n const attrs = getAttrs(this);\n const defaultInput = <input id={attrs.id} autoComplete=\"off\" />;\n\n const inputElement = props.getInputElement ? props.getInputElement() : defaultInput;\n const inputCls = classnames(getClass(inputElement), {\n [`${props.prefixCls}-search__field`]: true,\n });\n const inputEvents = getEvents(inputElement);\n // https://github.com/ant-design/ant-design/issues/4992#issuecomment-281542159\n // Add space to the end of the inputValue as the width measurement tolerance\n inputElement.data = inputElement.data || {};\n return (\n <div class={`${props.prefixCls}-search__field__wrap`} onClick={this.inputClick}>\n {cloneElement(inputElement, {\n props: {\n disabled: props.disabled,\n value: inputValue,\n },\n attrs: {\n ...(inputElement.data.attrs || {}),\n disabled: props.disabled,\n value: inputValue,\n },\n domProps: {\n value: inputValue,\n },\n class: inputCls,\n directives: [\n {\n name: 'ant-ref',\n value: this.saveInputRef,\n },\n {\n name: 'ant-input',\n },\n ],\n on: {\n input: this.onInputChange,\n keydown: chaining(\n this.onInputKeydown,\n inputEvents.keydown,\n getListeners(this).inputKeydown,\n ),\n focus: chaining(this.inputFocus, inputEvents.focus),\n blur: chaining(this.inputBlur, inputEvents.blur),\n },\n })}\n <span\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveInputMirrorRef,\n },\n ],\n }}\n // ref='inputMirrorRef'\n class={`${props.prefixCls}-search__field__mirror`}\n >\n {_mirrorInputValue} \n </span>\n </div>\n );\n },\n\n getInputDOMNode() {\n return this.topCtrlRef\n ? this.topCtrlRef.querySelector('input,textarea,div[contentEditable]')\n : this.inputRef;\n },\n\n getInputMirrorDOMNode() {\n return this.inputMirrorRef;\n },\n\n getPopupDOMNode() {\n if (this.selectTriggerRef) {\n return this.selectTriggerRef.getPopupDOMNode();\n }\n },\n\n getPopupMenuComponent() {\n if (this.selectTriggerRef) {\n return this.selectTriggerRef.getInnerMenu();\n }\n },\n\n setOpenState(open, config = {}) {\n const { $props: props, $data: state } = this;\n const { needFocus, fireSearch } = config;\n if (state._open === open) {\n this.maybeFocus(open, !!needFocus);\n return;\n }\n this.__emit('dropdownVisibleChange', open);\n const nextState = {\n _open: open,\n _backfillValue: '',\n };\n // clear search input value when open is false in singleMode.\n if (!open && isSingleMode(props) && props.showSearch) {\n this.setInputValue('', fireSearch);\n }\n if (!open) {\n this.maybeFocus(open, !!needFocus);\n }\n this.setState(nextState, () => {\n if (open) {\n this.maybeFocus(open, !!needFocus);\n }\n });\n },\n\n setInputValue(inputValue, fireSearch = true) {\n if (inputValue !== this.$data._inputValue) {\n this.setState(\n {\n _inputValue: inputValue,\n },\n this.forcePopupAlign,\n );\n if (fireSearch) {\n this.$emit('search', inputValue);\n }\n }\n },\n getValueByInput(str) {\n const { multiple, tokenSeparators } = this.$props;\n let nextValue = this.$data._value;\n let hasNewValue = false;\n splitBySeparators(str, tokenSeparators).forEach(label => {\n const selectedValue = [label];\n if (multiple) {\n const value = this.getValueByLabel(label);\n if (value && findIndexInValueBySingleValue(nextValue, value) === -1) {\n nextValue = nextValue.concat(value);\n hasNewValue = true;\n this.fireSelect(value);\n }\n } else if (findIndexInValueBySingleValue(nextValue, label) === -1) {\n nextValue = nextValue.concat(selectedValue);\n hasNewValue = true;\n this.fireSelect(label);\n }\n });\n return hasNewValue ? nextValue : undefined;\n },\n\n getRealOpenState(state) {\n const { open: _open } = this.$props;\n if (typeof _open === 'boolean') {\n return _open;\n }\n\n let open = (state || this.$data)._open;\n const options = this._options || [];\n if (isMultipleOrTagsOrCombobox(this.$props) || !this.$props.showSearch) {\n if (open && !options.length) {\n open = false;\n }\n }\n return open;\n },\n\n focus() {\n if (isSingleMode(this.$props) && this.selectionRef) {\n this.selectionRef.focus();\n } else if (this.getInputDOMNode()) {\n this.getInputDOMNode().focus();\n }\n },\n\n blur() {\n if (isSingleMode(this.$props) && this.selectionRef) {\n this.selectionRef.blur();\n } else if (this.getInputDOMNode()) {\n this.getInputDOMNode().blur();\n }\n },\n markMouseDown() {\n this._mouseDown = true;\n },\n\n markMouseLeave() {\n this._mouseDown = false;\n },\n\n handleBackfill(item) {\n if (!this.backfill || !(isSingleMode(this.$props) || isCombobox(this.$props))) {\n return;\n }\n\n const key = getValuePropValue(item);\n\n if (isCombobox(this.$props)) {\n this.setInputValue(key, false);\n }\n\n this.setState({\n _value: [key],\n _backfillValue: key,\n });\n },\n\n _filterOption(input, child, defaultFilter = defaultFilterFn) {\n const { _value: value, _backfillValue: backfillValue } = this.$data;\n const lastValue = value[value.length - 1];\n if (!input || (lastValue && lastValue === backfillValue)) {\n return true;\n }\n let filterFn = this.$props.filterOption;\n if (hasProp(this, 'filterOption')) {\n if (filterFn === true) {\n filterFn = defaultFilter.bind(this);\n }\n } else {\n filterFn = defaultFilter.bind(this);\n }\n if (!filterFn) {\n return true;\n } else if (typeof filterFn === 'function') {\n return filterFn.call(this, input, child);\n } else if (getValue(child, 'disabled')) {\n return false;\n }\n return true;\n },\n\n timeoutFocus() {\n if (this.focusTimer) {\n this.clearFocusTime();\n }\n this.focusTimer = window.setTimeout(() => {\n // this._focused = true\n // this.updateFocusClassName()\n this.$emit('focus');\n }, 10);\n },\n\n clearFocusTime() {\n if (this.focusTimer) {\n clearTimeout(this.focusTimer);\n this.focusTimer = null;\n }\n },\n\n clearBlurTime() {\n if (this.blurTimer) {\n clearTimeout(this.blurTimer);\n this.blurTimer = null;\n }\n },\n\n clearComboboxTime() {\n if (this.comboboxTimer) {\n clearTimeout(this.comboboxTimer);\n this.comboboxTimer = null;\n }\n },\n\n updateFocusClassName() {\n const { rootRef, prefixCls } = this;\n // avoid setState and its side effect\n if (this._focused) {\n classes(rootRef).add(`${prefixCls}-focused`);\n } else {\n classes(rootRef).remove(`${prefixCls}-focused`);\n }\n },\n\n maybeFocus(open, needFocus) {\n if (needFocus || open) {\n const input = this.getInputDOMNode();\n const { activeElement } = document;\n if (input && (open || isMultipleOrTagsOrCombobox(this.$props))) {\n if (activeElement !== input) {\n input.focus();\n this._focused = true;\n }\n } else if (activeElement !== this.selectionRef && this.selectionRef) {\n this.selectionRef.focus();\n this._focused = true;\n }\n }\n },\n\n removeSelected(selectedKey, e) {\n const props = this.$props;\n if (props.disabled || this.isChildDisabled(selectedKey)) {\n return;\n }\n // Do not trigger Trigger popup\n if (e && e.stopPropagation) {\n e.stopPropagation();\n }\n const oldValue = this.$data._value;\n const value = oldValue.filter(singleValue => {\n return singleValue !== selectedKey;\n });\n const canMultiple = isMultipleOrTags(props);\n\n if (canMultiple) {\n let event = selectedKey;\n if (props.labelInValue) {\n event = {\n key: selectedKey,\n label: this.getLabelBySingleValue(selectedKey),\n };\n }\n this.$emit('deselect', event, this.getOptionBySingleValue(selectedKey));\n }\n this.fireChange(value);\n },\n\n openIfHasChildren() {\n const { $props } = this;\n if (($props.children && $props.children.length) || isSingleMode($props)) {\n this.setOpenState(true);\n }\n },\n fireSelect(value) {\n this.$emit('select', this.getVLBySingleValue(value), this.getOptionBySingleValue(value));\n },\n fireChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState(\n {\n _value: value,\n },\n this.forcePopupAlign,\n );\n }\n const vls = this.getVLForOnChange(value);\n const options = this.getOptionsBySingleValue(value);\n this._valueOptions = options;\n this.$emit('change', vls, isMultipleOrTags(this.$props) ? options : options[0]);\n },\n\n isChildDisabled(key) {\n return (this.$props.children || []).some(child => {\n const childValue = getValuePropValue(child);\n return childValue === key && getValue(child, 'disabled');\n });\n },\n forcePopupAlign() {\n if (!this.$data._open) {\n return;\n }\n if (this.selectTriggerRef && this.selectTriggerRef.triggerRef) {\n this.selectTriggerRef.triggerRef.forcePopupAlign();\n }\n },\n renderFilterOptions() {\n const { _inputValue: inputValue } = this.$data;\n const { children, tags, notFoundContent } = this.$props;\n const menuItems = [];\n const childrenKeys = [];\n let empty = false;\n let options = this.renderFilterOptionsFromChildren(children, childrenKeys, menuItems);\n if (tags) {\n // tags value must be string\n let value = this.$data._value;\n value = value.filter(singleValue => {\n return (\n childrenKeys.indexOf(singleValue) === -1 &&\n (!inputValue || String(singleValue).indexOf(String(inputValue)) > -1)\n );\n });\n\n // sort by length\n value.sort((val1, val2) => {\n return val1.length - val2.length;\n });\n\n value.forEach(singleValue => {\n const key = singleValue;\n const attrs = {\n ...UNSELECTABLE_ATTRIBUTE,\n role: 'option',\n };\n const menuItem = (\n <MenuItem style={UNSELECTABLE_STYLE} {...{ attrs }} value={key} key={key}>\n {key}\n </MenuItem>\n );\n options.push(menuItem);\n menuItems.push(menuItem);\n });\n // ref: https://github.com/ant-design/ant-design/issues/14090\n if (inputValue && menuItems.every(option => getValuePropValue(option) !== inputValue)) {\n const p = {\n attrs: UNSELECTABLE_ATTRIBUTE,\n key: inputValue,\n props: {\n value: inputValue,\n role: 'option',\n },\n style: UNSELECTABLE_STYLE,\n };\n options.unshift(<MenuItem {...p}>{inputValue}</MenuItem>);\n }\n }\n\n if (!options.length && notFoundContent) {\n empty = true;\n const p = {\n attrs: UNSELECTABLE_ATTRIBUTE,\n key: 'NOT_FOUND',\n props: {\n value: 'NOT_FOUND',\n disabled: true,\n role: 'option',\n },\n style: UNSELECTABLE_STYLE,\n };\n options = [<MenuItem {...p}>{notFoundContent}</MenuItem>];\n }\n return { empty, options };\n },\n\n renderFilterOptionsFromChildren(children = [], childrenKeys, menuItems) {\n const sel = [];\n const props = this.$props;\n const { _inputValue: inputValue } = this.$data;\n const tags = props.tags;\n children.forEach(child => {\n if (!child.data || child.data.slot !== undefined) {\n return;\n }\n if (getSlotOptions(child).isSelectOptGroup) {\n let label = getComponentFromProp(child, 'label');\n let key = child.key;\n if (!key && typeof label === 'string') {\n key = label;\n } else if (!label && key) {\n label = key;\n }\n let childChildren = getSlots(child).default;\n childChildren = typeof childChildren === 'function' ? childChildren() : childChildren;\n // Match option group label\n if (inputValue && this._filterOption(inputValue, child)) {\n const innerItems = childChildren.map(subChild => {\n const childValueSub = getValuePropValue(subChild) || subChild.key;\n return (\n <MenuItem key={childValueSub} value={childValueSub} {...subChild.data}>\n {subChild.componentOptions.children}\n </MenuItem>\n );\n });\n\n sel.push(\n <MenuItemGroup key={key} title={label} class={getClass(child)}>\n {innerItems}\n </MenuItemGroup>,\n );\n\n // Not match\n } else {\n const innerItems = this.renderFilterOptionsFromChildren(\n childChildren,\n childrenKeys,\n menuItems,\n );\n if (innerItems.length) {\n sel.push(\n <MenuItemGroup key={key} title={label} {...child.data}>\n {innerItems}\n </MenuItemGroup>,\n );\n }\n }\n\n return;\n }\n warning(\n getSlotOptions(child).isSelectOption,\n 'the children of `Select` should be `Select.Option` or `Select.OptGroup`, ' +\n `instead of \\`${getSlotOptions(child).name || getSlotOptions(child)}\\`.`,\n );\n\n const childValue = getValuePropValue(child);\n\n validateOptionValue(childValue, this.$props);\n if (this._filterOption(inputValue, child)) {\n const p = {\n attrs: {\n ...UNSELECTABLE_ATTRIBUTE,\n ...getAttrs(child),\n },\n key: childValue,\n props: {\n value: childValue,\n ...getPropsData(child),\n role: 'option',\n },\n style: UNSELECTABLE_STYLE,\n on: getEvents(child),\n class: getClass(child),\n };\n const menuItem = <MenuItem {...p}>{child.componentOptions.children}</MenuItem>;\n sel.push(menuItem);\n menuItems.push(menuItem);\n }\n if (tags) {\n childrenKeys.push(childValue);\n }\n });\n\n return sel;\n },\n\n renderTopControlNode() {\n const { $props: props } = this;\n const { _value: value, _inputValue: inputValue, _open: open } = this.$data;\n const {\n choiceTransitionName,\n prefixCls,\n maxTagTextLength,\n maxTagCount,\n maxTagPlaceholder,\n showSearch,\n } = props;\n const removeIcon = getComponentFromProp(this, 'removeIcon');\n const className = `${prefixCls}-selection__rendered`;\n // search input is inside topControlNode in single, multiple & combobox. 2016/04/13\n let innerNode = null;\n if (isSingleMode(props)) {\n let selectedValue = null;\n if (value.length) {\n let showSelectedValue = false;\n let opacity = 1;\n if (!showSearch) {\n showSelectedValue = true;\n } else if (open) {\n showSelectedValue = !inputValue;\n if (showSelectedValue) {\n opacity = 0.4;\n }\n } else {\n showSelectedValue = true;\n }\n const singleValue = value[0];\n const { label, title } = this.getOptionInfoBySingleValue(singleValue);\n selectedValue = (\n <div\n key=\"value\"\n class={`${prefixCls}-selection-selected-value`}\n title={toTitle(title || label)}\n style={{\n display: showSelectedValue ? 'block' : 'none',\n opacity,\n }}\n >\n {label}\n </div>\n );\n }\n if (!showSearch) {\n innerNode = [selectedValue];\n } else {\n innerNode = [\n selectedValue,\n <div\n class={`${prefixCls}-search ${prefixCls}-search--inline`}\n key=\"input\"\n style={{\n display: open ? 'block' : 'none',\n }}\n >\n {this._getInputElement()}\n </div>,\n ];\n }\n } else {\n let selectedValueNodes = [];\n let limitedCountValue = value;\n let maxTagPlaceholderEl;\n if (maxTagCount !== undefined && value.length > maxTagCount) {\n limitedCountValue = limitedCountValue.slice(0, maxTagCount);\n const omittedValues = this.getVLForOnChange(value.slice(maxTagCount, value.length));\n let content = `+ ${value.length - maxTagCount} ...`;\n if (maxTagPlaceholder) {\n content =\n typeof maxTagPlaceholder === 'function'\n ? maxTagPlaceholder(omittedValues)\n : maxTagPlaceholder;\n }\n const attrs = {\n ...UNSELECTABLE_ATTRIBUTE,\n role: 'presentation',\n title: toTitle(content),\n };\n maxTagPlaceholderEl = (\n <li\n style={UNSELECTABLE_STYLE}\n {...{ attrs }}\n onMousedown={preventDefaultEvent}\n class={`${prefixCls}-selection__choice ${prefixCls}-selection__choice__disabled`}\n key=\"maxTagPlaceholder\"\n >\n <div class={`${prefixCls}-selection__choice__content`}>{content}</div>\n </li>\n );\n }\n if (isMultipleOrTags(props)) {\n selectedValueNodes = limitedCountValue.map(singleValue => {\n const info = this.getOptionInfoBySingleValue(singleValue);\n let content = info.label;\n const title = info.title || content;\n if (\n maxTagTextLength &&\n typeof content === 'string' &&\n content.length > maxTagTextLength\n ) {\n content = `${content.slice(0, maxTagTextLength)}...`;\n }\n const disabled = this.isChildDisabled(singleValue);\n const choiceClassName = disabled\n ? `${prefixCls}-selection__choice ${prefixCls}-selection__choice__disabled`\n : `${prefixCls}-selection__choice`;\n // attrs 放在一起,避免动态title混乱问题,很奇怪的问题 https://github.com/vueComponent/ant-design-vue/issues/588\n const attrs = {\n ...UNSELECTABLE_ATTRIBUTE,\n role: 'presentation',\n title: toTitle(title),\n };\n return (\n <li\n style={UNSELECTABLE_STYLE}\n {...{ attrs }}\n onMousedown={preventDefaultEvent}\n class={choiceClassName}\n key={singleValue || SELECT_EMPTY_VALUE_KEY}\n >\n <div class={`${prefixCls}-selection__choice__content`}>{content}</div>\n {disabled ? null : (\n <span\n onClick={event => {\n this.removeSelected(singleValue, event);\n }}\n class={`${prefixCls}-selection__choice__remove`}\n >\n {removeIcon || <i class={`${prefixCls}-selection__choice__remove-icon`}>×</i>}\n </span>\n )}\n </li>\n );\n });\n }\n if (maxTagPlaceholderEl) {\n selectedValueNodes.push(maxTagPlaceholderEl);\n }\n selectedValueNodes.push(\n <li class={`${prefixCls}-search ${prefixCls}-search--inline`} key=\"__input\">\n {this._getInputElement()}\n </li>,\n );\n\n if (isMultipleOrTags(props) && choiceTransitionName) {\n const transitionProps = getTransitionProps(choiceTransitionName, {\n tag: 'ul',\n afterLeave: this.onChoiceAnimationLeave,\n });\n innerNode = (\n <transition-group {...transitionProps}>{selectedValueNodes}</transition-group>\n );\n } else {\n innerNode = <ul>{selectedValueNodes}</ul>;\n }\n }\n return (\n <div\n class={className}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveTopCtrlRef,\n },\n ],\n }}\n onClick={this.topCtrlContainerClick}\n >\n {this.getPlaceholderElement()}\n {innerNode}\n </div>\n );\n },\n renderArrow(multiple) {\n // showArrow : Set to true if not multiple by default but keep set value.\n const { showArrow = !multiple, loading, prefixCls } = this.$props;\n const inputIcon = getComponentFromProp(this, 'inputIcon');\n if (!showArrow && !loading) {\n return null;\n }\n // if loading have loading icon\n const defaultIcon = loading ? (\n <i class={`${prefixCls}-arrow-loading`} />\n ) : (\n <i class={`${prefixCls}-arrow-icon`} />\n );\n return (\n <span\n key=\"arrow\"\n class={`${prefixCls}-arrow`}\n style={UNSELECTABLE_STYLE}\n {...{ attrs: UNSELECTABLE_ATTRIBUTE }}\n onClick={this.onArrowClick}\n ref=\"arrow\"\n >\n {inputIcon || defaultIcon}\n </span>\n );\n },\n topCtrlContainerClick(e) {\n if (this.$data._open && !isSingleMode(this.$props)) {\n e.stopPropagation();\n }\n },\n renderClear() {\n const { prefixCls, allowClear } = this.$props;\n const { _value: value, _inputValue: inputValue } = this.$data;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const clear = (\n <span\n key=\"clear\"\n class={`${prefixCls}-selection__clear`}\n onMousedown={preventDefaultEvent}\n style={UNSELECTABLE_STYLE}\n {...{ attrs: UNSELECTABLE_ATTRIBUTE }}\n onClick={this.onClearSelection}\n >\n {clearIcon || <i class={`${prefixCls}-selection__clear-icon`}>×</i>}\n </span>\n );\n if (!allowClear) {\n return null;\n }\n if (isCombobox(this.$props)) {\n if (inputValue) {\n return clear;\n }\n return null;\n }\n if (inputValue || value.length) {\n return clear;\n }\n return null;\n },\n\n selectionRefClick() {\n //e.stopPropagation();\n if (!this.disabled) {\n const input = this.getInputDOMNode();\n if (this._focused && this.$data._open) {\n // this._focused = false;\n this.setOpenState(false, false);\n input && input.blur();\n } else {\n this.clearBlurTime();\n //this._focused = true;\n this.setOpenState(true, true);\n input && input.focus();\n }\n }\n },\n selectionRefFocus(e) {\n if (this._focused || this.disabled || isMultipleOrTagsOrCombobox(this.$props)) {\n e.preventDefault();\n return;\n }\n this._focused = true;\n this.updateFocusClassName();\n this.$emit('focus');\n },\n selectionRefBlur(e) {\n if (isMultipleOrTagsOrCombobox(this.$props)) {\n e.preventDefault();\n return;\n }\n this.inputBlur(e);\n },\n },\n\n render() {\n const props = this.$props;\n const multiple = isMultipleOrTags(props);\n // Default set showArrow to true if not set (not set directly in defaultProps to handle multiple case)\n const { showArrow = true } = props;\n const state = this.$data;\n const { disabled, prefixCls, loading } = props;\n const ctrlNode = this.renderTopControlNode();\n const { _open: open, _inputValue: inputValue, _value: value } = this.$data;\n if (open) {\n const filterOptions = this.renderFilterOptions();\n this._empty = filterOptions.empty;\n this._options = filterOptions.options;\n }\n const realOpen = this.getRealOpenState();\n const empty = this._empty;\n const options = this._options || [];\n const { mouseenter = noop, mouseleave = noop, popupScroll = noop } = getListeners(this);\n const selectionProps = {\n props: {},\n attrs: {\n role: 'combobox',\n 'aria-autocomplete': 'list',\n 'aria-haspopup': 'true',\n 'aria-expanded': realOpen,\n 'aria-controls': this.$data._ariaId,\n },\n on: {\n // click: this.selectionRefClick,\n },\n class: `${prefixCls}-selection ${prefixCls}-selection--${multiple ? 'multiple' : 'single'}`,\n // directives: [\n // {\n // name: 'ant-ref',\n // value: this.saveSelectionRef,\n // },\n // ],\n key: 'selection',\n };\n //if (!isMultipleOrTagsOrCombobox(props)) {\n // selectionProps.on.keydown = this.onKeyDown;\n // selectionProps.on.focus = this.selectionRefFocus;\n // selectionProps.on.blur = this.selectionRefBlur;\n // selectionProps.attrs.tabIndex = props.disabled ? -1 : props.tabIndex;\n //}\n let extraSelectionProps = { attrs: { tabIndex: -1 } };\n if (!isMultipleOrTagsOrCombobox(props)) {\n extraSelectionProps.attrs.tabIndex = props.disabled ? -1 : props.tabIndex;\n }\n const rootCls = {\n [prefixCls]: true,\n [`${prefixCls}-open`]: open,\n [`${prefixCls}-focused`]: open || !!this._focused,\n [`${prefixCls}-combobox`]: isCombobox(props),\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-enabled`]: !disabled,\n [`${prefixCls}-allow-clear`]: !!props.allowClear,\n [`${prefixCls}-no-arrow`]: !showArrow,\n [`${prefixCls}-loading`]: !!loading,\n };\n return (\n <SelectTrigger\n dropdownAlign={props.dropdownAlign}\n dropdownClassName={props.dropdownClassName}\n dropdownMatchSelectWidth={props.dropdownMatchSelectWidth}\n defaultActiveFirstOption={props.defaultActiveFirstOption}\n dropdownMenuStyle={props.dropdownMenuStyle}\n transitionName={props.transitionName}\n animation={props.animation}\n prefixCls={props.prefixCls}\n dropdownStyle={props.dropdownStyle}\n combobox={props.combobox}\n showSearch={props.showSearch}\n options={options}\n empty={empty}\n multiple={multiple}\n disabled={disabled}\n visible={realOpen}\n inputValue={inputValue}\n value={value}\n backfillValue={state._backfillValue}\n firstActiveValue={props.firstActiveValue}\n onDropdownVisibleChange={this.onDropdownVisibleChange}\n getPopupContainer={props.getPopupContainer}\n onMenuSelect={this.onMenuSelect}\n onMenuDeselect={this.onMenuDeselect}\n onPopupScroll={popupScroll}\n onPopupFocus={this.onPopupFocus}\n onMouseenter={mouseenter}\n onMouseleave={mouseleave}\n showAction={props.showAction}\n menuItemSelectedIcon={getComponentFromProp(this, 'menuItemSelectedIcon')}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveSelectTriggerRef,\n },\n ],\n }}\n dropdownRender={props.dropdownRender}\n ariaId={this.$data._ariaId}\n >\n <div\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: chaining(this.saveRootRef, this.saveSelectionRef),\n },\n ],\n }}\n style={getStyle(this)}\n class={classnames(rootCls)}\n onMousedown={this.markMouseDown}\n onMouseup={this.markMouseLeave}\n onMouseout={this.markMouseLeave}\n {...extraSelectionProps}\n onBlur={this.selectionRefBlur}\n onFocus={this.selectionRefFocus}\n onClick={this.selectionRefClick}\n onKeydown={isMultipleOrTagsOrCombobox(props) ? noop : this.onKeyDown}\n >\n <div {...selectionProps}>\n {ctrlNode}\n {this.renderClear()}\n {this.renderArrow(!!multiple)}\n </div>\n </div>\n </SelectTrigger>\n );\n },\n};\nexport { Select };\nexport default proxyComponent(Select);\n","import warning from '../_util/warning';\nimport omit from 'omit.js';\nimport PropTypes from '../_util/vue-types';\nimport { Select as VcSelect, Option, OptGroup } from '../vc-select';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport {\n getComponentFromProp,\n getOptionProps,\n filterEmpty,\n isValidElement,\n getListeners,\n} from '../_util/props-util';\nimport Icon from '../icon';\nimport { cloneElement } from '../_util/vnode';\nimport Base from '../base';\n\nconst AbstractSelectProps = () => ({\n prefixCls: PropTypes.string,\n size: PropTypes.oneOf(['small', 'large', 'default']),\n showAction: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(String)]),\n notFoundContent: PropTypes.any,\n transitionName: PropTypes.string,\n choiceTransitionName: PropTypes.string,\n showSearch: PropTypes.bool,\n allowClear: PropTypes.bool,\n disabled: PropTypes.bool,\n tabIndex: PropTypes.number,\n placeholder: PropTypes.any,\n defaultActiveFirstOption: PropTypes.bool,\n dropdownClassName: PropTypes.string,\n dropdownStyle: PropTypes.any,\n dropdownMenuStyle: PropTypes.any,\n dropdownMatchSelectWidth: PropTypes.bool,\n // onSearch: (value: string) => any,\n filterOption: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n autoFocus: PropTypes.bool,\n backfill: PropTypes.bool,\n showArrow: PropTypes.bool,\n getPopupContainer: PropTypes.func,\n open: PropTypes.bool,\n defaultOpen: PropTypes.bool,\n autoClearSearchValue: PropTypes.bool,\n dropdownRender: PropTypes.func,\n loading: PropTypes.bool,\n});\nconst Value = PropTypes.shape({\n key: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n}).loose;\n\nconst SelectValue = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.arrayOf(PropTypes.oneOfType([Value, PropTypes.string, PropTypes.number])),\n Value,\n]);\n\nconst SelectProps = {\n ...AbstractSelectProps(),\n value: SelectValue,\n defaultValue: SelectValue,\n // mode: PropTypes.oneOf(['default', 'multiple', 'tags', 'combobox']),\n mode: PropTypes.string,\n optionLabelProp: PropTypes.string,\n firstActiveValue: PropTypes.oneOfType([String, PropTypes.arrayOf(String)]),\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.any,\n maxTagTextLength: PropTypes.number,\n dropdownMatchSelectWidth: PropTypes.bool,\n optionFilterProp: PropTypes.string,\n labelInValue: PropTypes.boolean,\n getPopupContainer: PropTypes.func,\n tokenSeparators: PropTypes.arrayOf(PropTypes.string),\n getInputElement: PropTypes.func,\n options: PropTypes.array,\n suffixIcon: PropTypes.any,\n removeIcon: PropTypes.any,\n clearIcon: PropTypes.any,\n menuItemSelectedIcon: PropTypes.any,\n};\n\nconst SelectPropTypes = {\n prefixCls: PropTypes.string,\n size: PropTypes.oneOf(['default', 'large', 'small']),\n // combobox: PropTypes.bool,\n notFoundContent: PropTypes.any,\n showSearch: PropTypes.bool,\n optionLabelProp: PropTypes.string,\n transitionName: PropTypes.string,\n choiceTransitionName: PropTypes.string,\n};\n\nexport { AbstractSelectProps, SelectValue, SelectProps };\nconst SECRET_COMBOBOX_MODE_DO_NOT_USE = 'SECRET_COMBOBOX_MODE_DO_NOT_USE';\nconst Select = {\n SECRET_COMBOBOX_MODE_DO_NOT_USE,\n Option: { ...Option, name: 'ASelectOption' },\n OptGroup: { ...OptGroup, name: 'ASelectOptGroup' },\n name: 'ASelect',\n props: {\n ...SelectProps,\n showSearch: PropTypes.bool.def(false),\n transitionName: PropTypes.string.def('slide-up'),\n choiceTransitionName: PropTypes.string.def('zoom'),\n },\n propTypes: SelectPropTypes,\n model: {\n prop: 'value',\n event: 'change',\n },\n provide() {\n return {\n savePopupRef: this.savePopupRef,\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n created() {\n warning(\n this.$props.mode !== 'combobox',\n 'Select',\n 'The combobox mode of Select is deprecated,' +\n 'it will be removed in next major version,' +\n 'please use AutoComplete instead',\n );\n },\n methods: {\n getNotFoundContent(renderEmpty) {\n const h = this.$createElement;\n const notFoundContent = getComponentFromProp(this, 'notFoundContent');\n if (notFoundContent !== undefined) {\n return notFoundContent;\n }\n if (this.isCombobox()) {\n return null;\n }\n return renderEmpty(h, 'Select');\n },\n savePopupRef(ref) {\n this.popupRef = ref;\n },\n focus() {\n this.$refs.vcSelect.focus();\n },\n blur() {\n this.$refs.vcSelect.blur();\n },\n\n isCombobox() {\n const { mode } = this;\n return mode === 'combobox' || mode === SECRET_COMBOBOX_MODE_DO_NOT_USE;\n },\n\n renderSuffixIcon(prefixCls) {\n const { loading } = this.$props;\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n if (suffixIcon) {\n return isValidElement(suffixIcon)\n ? cloneElement(suffixIcon, { class: `${prefixCls}-arrow-icon` })\n : suffixIcon;\n }\n if (loading) {\n return <Icon type=\"loading\" />;\n }\n return <Icon type=\"down\" class={`${prefixCls}-arrow-icon`} />;\n },\n },\n render() {\n const {\n prefixCls: customizePrefixCls,\n size,\n mode,\n options,\n getPopupContainer,\n showArrow,\n ...restProps\n } = getOptionProps(this);\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const renderEmpty = this.configProvider.renderEmpty;\n const prefixCls = getPrefixCls('select', customizePrefixCls);\n\n const { getPopupContainer: getContextPopupContainer } = this.configProvider;\n let removeIcon = getComponentFromProp(this, 'removeIcon');\n removeIcon = Array.isArray(removeIcon) ? removeIcon[0] : removeIcon;\n let clearIcon = getComponentFromProp(this, 'clearIcon');\n clearIcon = Array.isArray(clearIcon) ? clearIcon[0] : clearIcon;\n let menuItemSelectedIcon = getComponentFromProp(this, 'menuItemSelectedIcon');\n menuItemSelectedIcon = Array.isArray(menuItemSelectedIcon)\n ? menuItemSelectedIcon[0]\n : menuItemSelectedIcon;\n const rest = omit(restProps, [\n 'inputIcon',\n 'removeIcon',\n 'clearIcon',\n 'suffixIcon',\n 'menuItemSelectedIcon',\n ]);\n\n const cls = {\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n [`${prefixCls}-show-arrow`]: showArrow,\n };\n\n let { optionLabelProp } = this.$props;\n if (this.isCombobox()) {\n // children 带 dom 结构时,无法填入输入框\n optionLabelProp = optionLabelProp || 'value';\n }\n\n const modeConfig = {\n multiple: mode === 'multiple',\n tags: mode === 'tags',\n combobox: this.isCombobox(),\n };\n const finalRemoveIcon = (removeIcon &&\n (isValidElement(removeIcon)\n ? cloneElement(removeIcon, { class: `${prefixCls}-remove-icon` })\n : removeIcon)) || <Icon type=\"close\" class={`${prefixCls}-remove-icon`} />;\n\n const finalClearIcon = (clearIcon &&\n (isValidElement(clearIcon)\n ? cloneElement(clearIcon, { class: `${prefixCls}-clear-icon` })\n : clearIcon)) || (\n <Icon type=\"close-circle\" theme=\"filled\" class={`${prefixCls}-clear-icon`} />\n );\n\n const finalMenuItemSelectedIcon = (menuItemSelectedIcon &&\n (isValidElement(menuItemSelectedIcon)\n ? cloneElement(menuItemSelectedIcon, { class: `${prefixCls}-selected-icon` })\n : menuItemSelectedIcon)) || <Icon type=\"check\" class={`${prefixCls}-selected-icon`} />;\n\n const selectProps = {\n props: {\n inputIcon: this.renderSuffixIcon(prefixCls),\n removeIcon: finalRemoveIcon,\n clearIcon: finalClearIcon,\n menuItemSelectedIcon: finalMenuItemSelectedIcon,\n showArrow,\n ...rest,\n ...modeConfig,\n prefixCls,\n optionLabelProp: optionLabelProp || 'children',\n notFoundContent: this.getNotFoundContent(renderEmpty),\n maxTagPlaceholder: getComponentFromProp(this, 'maxTagPlaceholder'),\n placeholder: getComponentFromProp(this, 'placeholder'),\n children: options\n ? options.map(option => {\n const { key, label = option.title, on, class: cls, style, ...restOption } = option;\n return (\n <Option key={key} {...{ props: restOption, on, class: cls, style }}>\n {label}\n </Option>\n );\n })\n : filterEmpty(this.$slots.default),\n __propsSymbol__: Symbol(),\n dropdownRender: getComponentFromProp(this, 'dropdownRender', {}, false),\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n },\n on: getListeners(this),\n class: cls,\n ref: 'vcSelect',\n };\n return <VcSelect {...selectProps} />;\n },\n};\n\n/* istanbul ignore next */\nSelect.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Select.name, Select);\n Vue.component(Select.Option.name, Select.Option);\n Vue.component(Select.OptGroup.name, Select.OptGroup);\n};\n\nexport default Select;\n","import classNames from 'classnames';\nimport Icon from '../icon';\nimport { getInputClassName } from './Input';\nimport PropTypes from '../_util/vue-types';\nimport { cloneElement } from '../_util/vnode';\nimport { getComponentFromProp } from '../_util/props-util';\n\nexport function hasPrefixSuffix(instance) {\n return !!(\n getComponentFromProp(instance, 'prefix') ||\n getComponentFromProp(instance, 'suffix') ||\n instance.$props.allowClear\n );\n}\n\nconst ClearableInputType = ['text', 'input'];\n\nconst ClearableLabeledInput = {\n props: {\n prefixCls: PropTypes.string,\n inputType: PropTypes.oneOf(ClearableInputType),\n value: PropTypes.any,\n defaultValue: PropTypes.any,\n allowClear: PropTypes.bool,\n element: PropTypes.any,\n handleReset: PropTypes.func,\n disabled: PropTypes.bool,\n size: PropTypes.oneOf(['small', 'large', 'default']),\n suffix: PropTypes.any,\n prefix: PropTypes.any,\n addonBefore: PropTypes.any,\n addonAfter: PropTypes.any,\n className: PropTypes.string,\n readOnly: PropTypes.bool,\n },\n methods: {\n renderClearIcon(prefixCls) {\n const { allowClear, value, disabled, readOnly, inputType, handleReset } = this.$props;\n if (\n !allowClear ||\n disabled ||\n readOnly ||\n value === undefined ||\n value === null ||\n value === ''\n ) {\n return null;\n }\n const className =\n inputType === ClearableInputType[0]\n ? `${prefixCls}-textarea-clear-icon`\n : `${prefixCls}-clear-icon`;\n return (\n <Icon\n type=\"close-circle\"\n theme=\"filled\"\n onClick={handleReset}\n class={className}\n role=\"button\"\n />\n );\n },\n\n renderSuffix(prefixCls) {\n const { suffix, allowClear } = this.$props;\n if (suffix || allowClear) {\n return (\n <span class={`${prefixCls}-suffix`}>\n {this.renderClearIcon(prefixCls)}\n {suffix}\n </span>\n );\n }\n return null;\n },\n\n renderLabeledIcon(prefixCls, element) {\n const props = this.$props;\n const suffix = this.renderSuffix(prefixCls);\n if (!hasPrefixSuffix(this)) {\n return cloneElement(element, {\n props: { value: props.value },\n });\n }\n\n const prefix = props.prefix ? (\n <span class={`${prefixCls}-prefix`}>{props.prefix}</span>\n ) : null;\n\n const affixWrapperCls = classNames(props.className, `${prefixCls}-affix-wrapper`, {\n [`${prefixCls}-affix-wrapper-sm`]: props.size === 'small',\n [`${prefixCls}-affix-wrapper-lg`]: props.size === 'large',\n [`${prefixCls}-affix-wrapper-input-with-clear-btn`]:\n props.suffix && props.allowClear && this.$props.value,\n });\n\n return (\n <span class={affixWrapperCls} style={props.style}>\n {prefix}\n {cloneElement(element, {\n style: null,\n props: { value: props.value },\n class: getInputClassName(prefixCls, props.size, props.disabled),\n })}\n {suffix}\n </span>\n );\n },\n\n renderInputWithLabel(prefixCls, labeledElement) {\n const { addonBefore, addonAfter, style, size, className } = this.$props;\n // Not wrap when there is not addons\n if (!addonBefore && !addonAfter) {\n return labeledElement;\n }\n\n const wrapperClassName = `${prefixCls}-group`;\n const addonClassName = `${wrapperClassName}-addon`;\n const addonBeforeNode = addonBefore ? (\n <span class={addonClassName}>{addonBefore}</span>\n ) : null;\n const addonAfterNode = addonAfter ? <span class={addonClassName}>{addonAfter}</span> : null;\n\n const mergedWrapperClassName = classNames(`${prefixCls}-wrapper`, {\n [wrapperClassName]: addonBefore || addonAfter,\n });\n\n const mergedGroupClassName = classNames(className, `${prefixCls}-group-wrapper`, {\n [`${prefixCls}-group-wrapper-sm`]: size === 'small',\n [`${prefixCls}-group-wrapper-lg`]: size === 'large',\n });\n\n // Need another wrapper for changing display:table to display:inline-block\n // and put style prop in wrapper\n return (\n <span class={mergedGroupClassName} style={style}>\n <span class={mergedWrapperClassName}>\n {addonBeforeNode}\n {cloneElement(labeledElement, { style: null })}\n {addonAfterNode}\n </span>\n </span>\n );\n },\n\n renderTextAreaWithClearIcon(prefixCls, element) {\n const { value, allowClear, className, style } = this.$props;\n if (!allowClear) {\n return cloneElement(element, {\n props: { value },\n });\n }\n const affixWrapperCls = classNames(\n className,\n `${prefixCls}-affix-wrapper`,\n `${prefixCls}-affix-wrapper-textarea-with-clear-btn`,\n );\n return (\n <span class={affixWrapperCls} style={style}>\n {cloneElement(element, {\n style: null,\n props: { value },\n })}\n {this.renderClearIcon(prefixCls)}\n </span>\n );\n },\n\n renderClearableLabeledInput() {\n const { prefixCls, inputType, element } = this.$props;\n if (inputType === ClearableInputType[0]) {\n return this.renderTextAreaWithClearIcon(prefixCls, element);\n }\n return this.renderInputWithLabel(prefixCls, this.renderLabeledIcon(prefixCls, element));\n },\n },\n render() {\n return this.renderClearableLabeledInput();\n },\n};\n\nexport default ClearableLabeledInput;\n","// Thanks to https://github.com/andreypopp/react-textarea-autosize/\n\n/**\n * calculateNodeHeight(uiTextNode, useCache = false)\n */\n\nconst HIDDEN_TEXTAREA_STYLE = `\n min-height:0 !important;\n max-height:none !important;\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important\n`;\n\nconst SIZING_STYLE = [\n 'letter-spacing',\n 'line-height',\n 'padding-top',\n 'padding-bottom',\n 'font-family',\n 'font-weight',\n 'font-size',\n 'font-variant',\n 'text-rendering',\n 'text-transform',\n 'width',\n 'text-indent',\n 'padding-left',\n 'padding-right',\n 'border-width',\n 'box-sizing',\n];\n\nconst computedStyleCache = {};\nlet hiddenTextarea;\n\nexport function calculateNodeStyling(node, useCache = false) {\n const nodeRef =\n node.getAttribute('id') || node.getAttribute('data-reactid') || node.getAttribute('name');\n\n if (useCache && computedStyleCache[nodeRef]) {\n return computedStyleCache[nodeRef];\n }\n\n const style = window.getComputedStyle(node);\n\n const boxSizing =\n style.getPropertyValue('box-sizing') ||\n style.getPropertyValue('-moz-box-sizing') ||\n style.getPropertyValue('-webkit-box-sizing');\n\n const paddingSize =\n parseFloat(style.getPropertyValue('padding-bottom')) +\n parseFloat(style.getPropertyValue('padding-top'));\n\n const borderSize =\n parseFloat(style.getPropertyValue('border-bottom-width')) +\n parseFloat(style.getPropertyValue('border-top-width'));\n\n const sizingStyle = SIZING_STYLE.map(name => `${name}:${style.getPropertyValue(name)}`).join(';');\n\n const nodeInfo = {\n sizingStyle,\n paddingSize,\n borderSize,\n boxSizing,\n };\n\n if (useCache && nodeRef) {\n computedStyleCache[nodeRef] = nodeInfo;\n }\n\n return nodeInfo;\n}\n\nexport default function calculateNodeHeight(\n uiTextNode,\n useCache = false,\n minRows = null,\n maxRows = null,\n) {\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea');\n document.body.appendChild(hiddenTextarea);\n }\n\n // Fix wrap=\"off\" issue\n // https://github.com/ant-design/ant-design/issues/6577\n if (uiTextNode.getAttribute('wrap')) {\n hiddenTextarea.setAttribute('wrap', uiTextNode.getAttribute('wrap'));\n } else {\n hiddenTextarea.removeAttribute('wrap');\n }\n\n // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\n const { paddingSize, borderSize, boxSizing, sizingStyle } = calculateNodeStyling(\n uiTextNode,\n useCache,\n );\n\n // Need to have the overflow attribute to hide the scrollbar otherwise\n // text-lines will not calculated properly as the shadow will technically be\n // narrower for content\n hiddenTextarea.setAttribute('style', `${sizingStyle};${HIDDEN_TEXTAREA_STYLE}`);\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || '';\n\n let minHeight = Number.MIN_SAFE_INTEGER;\n let maxHeight = Number.MAX_SAFE_INTEGER;\n let height = hiddenTextarea.scrollHeight;\n let overflowY;\n\n if (boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n height += borderSize;\n } else if (boxSizing === 'content-box') {\n // remove padding, since height = content\n height -= paddingSize;\n }\n\n if (minRows !== null || maxRows !== null) {\n // measure height of a textarea with a single row\n hiddenTextarea.value = ' ';\n const singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n overflowY = height > maxHeight ? '' : 'hidden';\n height = Math.min(maxHeight, height);\n }\n }\n return {\n height: `${height}px`,\n minHeight: `${minHeight}px`,\n maxHeight: `${maxHeight}px`,\n overflowY,\n };\n}\n","import raf from 'raf';\n\nlet id = 0;\nconst ids = {};\n\n// Support call raf with delay specified frame\nexport default function wrapperRaf(callback, delayFrames = 1) {\n const myId = id++;\n let restFrames = delayFrames;\n\n function internalCallback() {\n restFrames -= 1;\n\n if (restFrames <= 0) {\n callback();\n delete ids[myId];\n } else {\n ids[myId] = raf(internalCallback);\n }\n }\n\n ids[myId] = raf(internalCallback);\n\n return myId;\n}\n\nwrapperRaf.cancel = function(pid) {\n if (pid === undefined) return;\n raf.cancel(ids[pid]);\n delete ids[pid];\n};\nwrapperRaf.ids = ids; // export this for test usage\n","import PropTypes from '../_util/vue-types';\nexport default {\n prefixCls: PropTypes.string,\n inputPrefixCls: PropTypes.string,\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n placeholder: [String, Number],\n type: {\n default: 'text',\n type: String,\n },\n name: String,\n size: PropTypes.oneOf(['small', 'large', 'default']),\n disabled: PropTypes.bool,\n readOnly: PropTypes.bool,\n addonBefore: PropTypes.any,\n addonAfter: PropTypes.any,\n // onPressEnter?: React.FormEventHandler<any>;\n // onKeyDown?: React.FormEventHandler<any>;\n // onChange?: React.ChangeEventHandler<HTMLInputElement>;\n // onClick?: React.FormEventHandler<any>;\n // onFocus?: React.FormEventHandler<any>;\n // onBlur?: React.FormEventHandler<any>;\n prefix: PropTypes.any,\n suffix: PropTypes.any,\n // spellCheck: Boolean,\n autoFocus: Boolean,\n allowClear: Boolean,\n lazy: {\n default: true,\n type: Boolean,\n },\n maxLength: PropTypes.number,\n loading: PropTypes.bool,\n className: PropTypes.string,\n};\n","import ResizeObserver from '../vc-resize-observer';\nimport omit from 'omit.js';\nimport classNames from 'classnames';\nimport calculateNodeHeight from './calculateNodeHeight';\nimport raf from '../_util/raf';\nimport warning from '../_util/warning';\nimport BaseMixin from '../_util/BaseMixin';\nimport inputProps from './inputProps';\nimport PropTypes from '../_util/vue-types';\nimport { getOptionProps, getListeners } from '../_util/props-util';\n\nconst RESIZE_STATUS_NONE = 0;\nconst RESIZE_STATUS_RESIZING = 1;\nconst RESIZE_STATUS_RESIZED = 2;\n\nconst TextAreaProps = {\n ...inputProps,\n autosize: PropTypes.oneOfType([Object, Boolean]),\n autoSize: PropTypes.oneOfType([Object, Boolean]),\n};\nconst ResizableTextArea = {\n name: 'ResizableTextArea',\n props: TextAreaProps,\n data() {\n return {\n textareaStyles: {},\n resizeStatus: RESIZE_STATUS_NONE,\n };\n },\n mixins: [BaseMixin],\n mounted() {\n this.$nextTick(() => {\n this.resizeTextarea();\n });\n },\n beforeDestroy() {\n raf.cancel(this.nextFrameActionId);\n raf.cancel(this.resizeFrameId);\n },\n watch: {\n value() {\n this.$nextTick(() => {\n this.resizeTextarea();\n });\n },\n },\n methods: {\n handleResize(size) {\n const { resizeStatus } = this.$data;\n const { autoSize } = this.$props;\n\n if (resizeStatus !== RESIZE_STATUS_NONE) {\n return;\n }\n this.$emit('resize', size);\n if (autoSize) {\n this.resizeOnNextFrame();\n }\n },\n resizeOnNextFrame() {\n raf.cancel(this.nextFrameActionId);\n this.nextFrameActionId = raf(this.resizeTextarea);\n },\n\n resizeTextarea() {\n const autoSize = this.$props.autoSize || this.$props.autosize;\n if (!autoSize || !this.$refs.textArea) {\n return;\n }\n const { minRows, maxRows } = autoSize;\n const textareaStyles = calculateNodeHeight(this.$refs.textArea, false, minRows, maxRows);\n this.setState({ textareaStyles, resizeStatus: RESIZE_STATUS_RESIZING }, () => {\n raf.cancel(this.resizeFrameId);\n this.resizeFrameId = raf(() => {\n this.setState({ resizeStatus: RESIZE_STATUS_RESIZED }, () => {\n this.resizeFrameId = raf(() => {\n this.setState({ resizeStatus: RESIZE_STATUS_NONE });\n this.fixFirefoxAutoScroll();\n });\n });\n });\n });\n },\n // https://github.com/ant-design/ant-design/issues/21870\n fixFirefoxAutoScroll() {\n try {\n if (document.activeElement === this.$refs.textArea) {\n const currentStart = this.$refs.textArea.selectionStart;\n const currentEnd = this.$refs.textArea.selectionEnd;\n this.$refs.textArea.setSelectionRange(currentStart, currentEnd);\n }\n } catch (e) {\n // Fix error in Chrome:\n // Failed to read the 'selectionStart' property from 'HTMLInputElement'\n // http://stackoverflow.com/q/21177489/3040605\n }\n },\n\n renderTextArea() {\n const props = getOptionProps(this);\n const { prefixCls, autoSize, autosize, disabled } = props;\n const { textareaStyles, resizeStatus } = this.$data;\n warning(\n autosize === undefined,\n 'Input.TextArea',\n 'autosize is deprecated, please use autoSize instead.',\n );\n const otherProps = omit(props, [\n 'prefixCls',\n 'autoSize',\n 'autosize',\n 'defaultValue',\n 'allowClear',\n 'type',\n 'lazy',\n 'value',\n ]);\n const cls = classNames(prefixCls, {\n [`${prefixCls}-disabled`]: disabled,\n });\n const domProps = {};\n // Fix https://github.com/ant-design/ant-design/issues/6776\n // Make sure it could be reset when using form.getFieldDecorator\n if ('value' in props) {\n domProps.value = props.value || '';\n }\n const style = {\n ...textareaStyles,\n ...(resizeStatus === RESIZE_STATUS_RESIZING\n ? { overflowX: 'hidden', overflowY: 'hidden' }\n : null),\n };\n const textareaProps = {\n attrs: otherProps,\n domProps,\n style,\n class: cls,\n on: omit(getListeners(this), 'pressEnter'),\n directives: [\n {\n name: 'ant-input',\n },\n ],\n };\n return (\n <ResizeObserver onResize={this.handleResize} disabled={!(autoSize || autosize)}>\n <textarea {...textareaProps} ref=\"textArea\" />\n </ResizeObserver>\n );\n },\n },\n\n render() {\n return this.renderTextArea();\n },\n};\n\nexport default ResizableTextArea;\n","import ClearableLabeledInput from './ClearableLabeledInput';\nimport ResizableTextArea from './ResizableTextArea';\nimport inputProps from './inputProps';\nimport hasProp, { getListeners, getOptionProps } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport { fixControlledValue, resolveOnChange } from './Input';\nimport PropTypes from '../_util/vue-types';\n\nconst TextAreaProps = {\n ...inputProps,\n autosize: PropTypes.oneOfType([Object, Boolean]),\n autoSize: PropTypes.oneOfType([Object, Boolean]),\n};\n\nexport default {\n name: 'ATextarea',\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'change.value',\n },\n props: {\n ...TextAreaProps,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const value = typeof this.value === 'undefined' ? this.defaultValue : this.value;\n return {\n stateValue: typeof value === 'undefined' ? '' : value,\n };\n },\n computed: {},\n watch: {\n value(val) {\n this.stateValue = val;\n },\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus) {\n this.focus();\n }\n });\n },\n methods: {\n setValue(value, callback) {\n if (!hasProp(this, 'value')) {\n this.stateValue = value;\n this.$nextTick(() => {\n callback && callback();\n });\n } else {\n // 不在严格受控\n // https://github.com/vueComponent/ant-design-vue/issues/2207,modal 是 新 new 实例,更新队列和当前不在同一个更新队列中\n // this.$forceUpdate();\n }\n },\n handleKeyDown(e) {\n if (e.keyCode === 13) {\n this.$emit('pressEnter', e);\n }\n this.$emit('keydown', e);\n },\n onChange(e) {\n this.$emit('change.value', e.target.value);\n this.$emit('change', e);\n this.$emit('input', e);\n },\n handleChange(e) {\n const { value, composing } = e.target;\n if (((e.isComposing || composing) && this.lazy) || this.stateValue === value) return;\n\n this.setValue(e.target.value, () => {\n this.$refs.resizableTextArea.resizeTextarea();\n });\n resolveOnChange(this.$refs.resizableTextArea.$refs.textArea, e, this.onChange);\n },\n\n focus() {\n this.$refs.resizableTextArea.$refs.textArea.focus();\n },\n\n blur() {\n this.$refs.resizableTextArea.$refs.textArea.blur();\n },\n handleReset(e) {\n this.setValue('', () => {\n this.$refs.resizableTextArea.renderTextArea();\n this.focus();\n });\n resolveOnChange(this.$refs.resizableTextArea.$refs.textArea, e, this.onChange);\n },\n\n renderTextArea(prefixCls) {\n const props = getOptionProps(this);\n const resizeProps = {\n props: {\n ...props,\n prefixCls,\n },\n on: {\n ...getListeners(this),\n input: this.handleChange,\n keydown: this.handleKeyDown,\n },\n attrs: this.$attrs,\n };\n return <ResizableTextArea {...resizeProps} ref=\"resizableTextArea\" />;\n },\n },\n render() {\n const { stateValue, prefixCls: customizePrefixCls } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('input', customizePrefixCls);\n\n const props = {\n props: {\n ...getOptionProps(this),\n prefixCls,\n inputType: 'text',\n value: fixControlledValue(stateValue),\n element: this.renderTextArea(prefixCls),\n handleReset: this.handleReset,\n },\n on: getListeners(this),\n };\n return <ClearableLabeledInput {...props} />;\n },\n};\n","import classNames from 'classnames';\nimport TextArea from './TextArea';\nimport omit from 'omit.js';\nimport inputProps from './inputProps';\nimport { hasProp, getComponentFromProp, getListeners, getOptionProps } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport ClearableLabeledInput from './ClearableLabeledInput';\n\nfunction noop() {}\n\nexport function fixControlledValue(value) {\n if (typeof value === 'undefined' || value === null) {\n return '';\n }\n return value;\n}\n\nexport function resolveOnChange(target, e, onChange) {\n if (onChange) {\n let event = e;\n if (e.type === 'click') {\n // click clear icon\n //event = Object.create(e);\n Object.defineProperty(event, 'target', {\n writable: true,\n });\n Object.defineProperty(event, 'currentTarget', {\n writable: true,\n });\n event.target = target;\n event.currentTarget = target;\n const originalInputValue = target.value;\n // change target ref value cause e.target.value should be '' when clear input\n target.value = '';\n onChange(event);\n // reset target ref value\n target.value = originalInputValue;\n return;\n }\n onChange(event);\n }\n}\n\nexport function getInputClassName(prefixCls, size, disabled) {\n return classNames(prefixCls, {\n [`${prefixCls}-sm`]: size === 'small',\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-disabled`]: disabled,\n });\n}\n\nexport default {\n name: 'AInput',\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'change.value',\n },\n props: {\n ...inputProps,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const props = this.$props;\n const value = typeof props.value === 'undefined' ? props.defaultValue : props.value;\n return {\n stateValue: typeof value === 'undefined' ? '' : value,\n };\n },\n watch: {\n value(val) {\n this.stateValue = val;\n },\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus) {\n this.focus();\n }\n this.clearPasswordValueAttribute();\n });\n },\n beforeDestroy() {\n if (this.removePasswordTimeout) {\n clearTimeout(this.removePasswordTimeout);\n }\n },\n methods: {\n onBlur(e) {\n // fix this isssue: https://github.com/vueComponent/ant-design-vue/issues/3816\n // reference: https://github.com/vuejs/vue/issues/5847 and https://github.com/vuejs/vue/issues/8431\n this.$forceUpdate();\n\n const { blur } = getListeners(this);\n blur && blur(e);\n },\n\n focus() {\n this.$refs.input.focus();\n },\n\n blur() {\n this.$refs.input.blur();\n },\n select() {\n this.$refs.input.select();\n },\n\n setValue(value, callback) {\n if (this.stateValue === value) {\n return;\n }\n if (!hasProp(this, 'value')) {\n this.stateValue = value;\n this.$nextTick(() => {\n callback && callback();\n });\n } else {\n // 不在严格受控\n // https://github.com/vueComponent/ant-design-vue/issues/2207,modal 是 新 new 实例,更新队列和当前不在同一个更新队列中\n // this.$forceUpdate();\n }\n },\n onChange(e) {\n this.$emit('change.value', e.target.value);\n this.$emit('change', e);\n this.$emit('input', e);\n },\n handleReset(e) {\n this.setValue('', () => {\n this.focus();\n });\n resolveOnChange(this.$refs.input, e, this.onChange);\n },\n renderInput(prefixCls) {\n const otherProps = omit(this.$props, [\n 'prefixCls',\n 'addonBefore',\n 'addonAfter',\n 'prefix',\n 'suffix',\n 'allowClear',\n 'value',\n 'defaultValue',\n 'lazy',\n 'size',\n 'inputType',\n 'className',\n ]);\n const { stateValue, handleKeyDown, handleChange, size, disabled } = this;\n const inputProps = {\n directives: [{ name: 'ant-input' }],\n domProps: {\n value: fixControlledValue(stateValue),\n },\n attrs: { ...otherProps, ...this.$attrs },\n on: {\n ...getListeners(this),\n keydown: handleKeyDown,\n input: handleChange,\n change: noop,\n blur: this.onBlur,\n },\n class: getInputClassName(prefixCls, size, disabled),\n ref: 'input',\n key: 'ant-input',\n };\n return <input {...inputProps} />;\n },\n clearPasswordValueAttribute() {\n // https://github.com/ant-design/ant-design/issues/20541\n this.removePasswordTimeout = setTimeout(() => {\n if (\n this.$refs.input &&\n this.$refs.input.getAttribute &&\n this.$refs.input.getAttribute('type') === 'password' &&\n this.$refs.input.hasAttribute('value')\n ) {\n this.$refs.input.removeAttribute('value');\n }\n });\n },\n handleChange(e) {\n const { value, composing } = e.target;\n // https://github.com/vueComponent/ant-design-vue/issues/2203\n if (((e.isComposing || composing) && this.lazy) || this.stateValue === value) return;\n this.setValue(value, this.clearPasswordValueAttribute);\n resolveOnChange(this.$refs.input, e, this.onChange);\n },\n handleKeyDown(e) {\n if (e.keyCode === 13) {\n this.$emit('pressEnter', e);\n }\n this.$emit('keydown', e);\n },\n },\n render() {\n if (this.$props.type === 'textarea') {\n const textareaProps = {\n props: this.$props,\n attrs: this.$attrs,\n on: {\n ...getListeners(this),\n input: this.handleChange,\n keydown: this.handleKeyDown,\n change: noop,\n blur: this.onBlur,\n },\n };\n return <TextArea {...textareaProps} ref=\"input\" />;\n }\n const { prefixCls: customizePrefixCls } = this.$props;\n const { stateValue } = this.$data;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('input', customizePrefixCls);\n const addonAfter = getComponentFromProp(this, 'addonAfter');\n const addonBefore = getComponentFromProp(this, 'addonBefore');\n const suffix = getComponentFromProp(this, 'suffix');\n const prefix = getComponentFromProp(this, 'prefix');\n const props = {\n props: {\n ...getOptionProps(this),\n prefixCls,\n inputType: 'input',\n value: fixControlledValue(stateValue),\n element: this.renderInput(prefixCls),\n handleReset: this.handleReset,\n addonAfter,\n addonBefore,\n suffix,\n prefix,\n },\n on: getListeners(this),\n };\n return <ClearableLabeledInput {...props} />;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { filterEmpty, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport default {\n name: 'AInputGroup',\n props: {\n prefixCls: PropTypes.string,\n size: {\n validator(value) {\n return ['small', 'large', 'default'].includes(value);\n },\n },\n compact: Boolean,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n computed: {\n classes() {\n const { prefixCls: customizePrefixCls, size, compact = false } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('input-group', customizePrefixCls);\n\n return {\n [`${prefixCls}`]: true,\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n [`${prefixCls}-compact`]: compact,\n };\n },\n },\n methods: {},\n render() {\n return (\n <span class={this.classes} {...{ on: getListeners(this) }}>\n {filterEmpty(this.$slots.default)}\n </span>\n );\n },\n};\n","import TransitionEvents from './css-animation/Event';\nimport raf from './raf';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nlet styleForPesudo;\n\n// Where el is the DOM element you'd like to test for visibility\nfunction isHidden(element) {\n if (process.env.NODE_ENV === 'test') {\n return false;\n }\n return !element || element.offsetParent === null;\n}\nfunction isNotGrey(color) {\n // eslint-disable-next-line no-useless-escape\n const match = (color || '').match(/rgba?\\((\\d*), (\\d*), (\\d*)(, [\\.\\d]*)?\\)/);\n if (match && match[1] && match[2] && match[3]) {\n return !(match[1] === match[2] && match[2] === match[3]);\n }\n return true;\n}\nexport default {\n name: 'Wave',\n props: ['insertExtraNode'],\n mounted() {\n this.$nextTick(() => {\n const node = this.$el;\n if (node.nodeType !== 1) {\n return;\n }\n this.instance = this.bindAnimationEvent(node);\n });\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n beforeDestroy() {\n if (this.instance) {\n this.instance.cancel();\n }\n if (this.clickWaveTimeoutId) {\n clearTimeout(this.clickWaveTimeoutId);\n }\n this.destroy = true;\n },\n methods: {\n onClick(node, waveColor) {\n if (!node || isHidden(node) || node.className.indexOf('-leave') >= 0) {\n return;\n }\n const { insertExtraNode } = this.$props;\n this.extraNode = document.createElement('div');\n const extraNode = this.extraNode;\n extraNode.className = 'ant-click-animating-node';\n const attributeName = this.getAttributeName();\n node.removeAttribute(attributeName);\n node.setAttribute(attributeName, 'true');\n // Not white or transparent or grey\n styleForPesudo = styleForPesudo || document.createElement('style');\n if (\n waveColor &&\n waveColor !== '#ffffff' &&\n waveColor !== 'rgb(255, 255, 255)' &&\n isNotGrey(waveColor) &&\n !/rgba\\(\\d*, \\d*, \\d*, 0\\)/.test(waveColor) && // any transparent rgba color\n waveColor !== 'transparent'\n ) {\n // Add nonce if CSP exist\n if (this.csp && this.csp.nonce) {\n styleForPesudo.nonce = this.csp.nonce;\n }\n extraNode.style.borderColor = waveColor;\n styleForPesudo.innerHTML = `\n [ant-click-animating-without-extra-node='true']::after, .ant-click-animating-node {\n --antd-wave-shadow-color: ${waveColor};\n }`;\n if (!document.body.contains(styleForPesudo)) {\n document.body.appendChild(styleForPesudo);\n }\n }\n if (insertExtraNode) {\n node.appendChild(extraNode);\n }\n TransitionEvents.addStartEventListener(node, this.onTransitionStart);\n TransitionEvents.addEndEventListener(node, this.onTransitionEnd);\n },\n onTransitionStart(e) {\n if (this.destroy) return;\n\n const node = this.$el;\n if (!e || e.target !== node) {\n return;\n }\n\n if (!this.animationStart) {\n this.resetEffect(node);\n }\n },\n onTransitionEnd(e) {\n if (!e || e.animationName !== 'fadeEffect') {\n return;\n }\n this.resetEffect(e.target);\n },\n getAttributeName() {\n const { insertExtraNode } = this.$props;\n return insertExtraNode ? 'ant-click-animating' : 'ant-click-animating-without-extra-node';\n },\n bindAnimationEvent(node) {\n if (\n !node ||\n !node.getAttribute ||\n node.getAttribute('disabled') ||\n node.className.indexOf('disabled') >= 0\n ) {\n return;\n }\n const onClick = e => {\n // Fix radio button click twice\n if (e.target.tagName === 'INPUT' || isHidden(e.target)) {\n return;\n }\n this.resetEffect(node);\n // Get wave color from target\n const waveColor =\n getComputedStyle(node).getPropertyValue('border-top-color') || // Firefox Compatible\n getComputedStyle(node).getPropertyValue('border-color') ||\n getComputedStyle(node).getPropertyValue('background-color');\n this.clickWaveTimeoutId = window.setTimeout(() => this.onClick(node, waveColor), 0);\n raf.cancel(this.animationStartId);\n this.animationStart = true;\n\n // Render to trigger transition event cost 3 frames. Let's delay 10 frames to reset this.\n this.animationStartId = raf(() => {\n this.animationStart = false;\n }, 10);\n };\n node.addEventListener('click', onClick, true);\n return {\n cancel: () => {\n node.removeEventListener('click', onClick, true);\n },\n };\n },\n\n resetEffect(node) {\n if (!node || node === this.extraNode || !(node instanceof Element)) {\n return;\n }\n const { insertExtraNode } = this.$props;\n const attributeName = this.getAttributeName();\n node.setAttribute(attributeName, 'false'); // edge has bug on `removeAttribute` #14466\n if (styleForPesudo) {\n styleForPesudo.innerHTML = '';\n }\n if (insertExtraNode && this.extraNode && node.contains(this.extraNode)) {\n node.removeChild(this.extraNode);\n }\n TransitionEvents.removeStartEventListener(node, this.onTransitionStart);\n TransitionEvents.removeEndEventListener(node, this.onTransitionEnd);\n },\n },\n\n render() {\n if (this.configProvider.csp) {\n this.csp = this.configProvider.csp;\n }\n return this.$slots.default && this.$slots.default[0];\n },\n};\n","import PropTypes from '../_util/vue-types';\nexport default () => ({\n prefixCls: PropTypes.string,\n type: PropTypes.string,\n htmlType: PropTypes.oneOf(['button', 'submit', 'reset']).def('button'),\n icon: PropTypes.any,\n shape: PropTypes.oneOf(['circle', 'circle-outline', 'round']),\n size: PropTypes.oneOf(['small', 'large', 'default']).def('default'),\n loading: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n disabled: PropTypes.bool,\n ghost: PropTypes.bool,\n block: PropTypes.bool,\n});\n","import Wave from '../_util/wave';\nimport Icon from '../icon';\nimport buttonTypes from './buttonTypes';\nimport { filterEmpty, getListeners, getComponentFromProp } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nconst rxTwoCNChar = /^[\\u4e00-\\u9fa5]{2}$/;\nconst isTwoCNChar = rxTwoCNChar.test.bind(rxTwoCNChar);\nconst props = buttonTypes();\nexport default {\n name: 'AButton',\n inheritAttrs: false,\n __ANT_BUTTON: true,\n props,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n sizeMap: {\n large: 'lg',\n small: 'sm',\n },\n sLoading: !!this.loading,\n hasTwoCNChar: false,\n };\n },\n computed: {\n classes() {\n const {\n prefixCls: customizePrefixCls,\n type,\n shape,\n size,\n hasTwoCNChar,\n sLoading,\n ghost,\n block,\n icon,\n $slots,\n } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('btn', customizePrefixCls);\n const autoInsertSpace = this.configProvider.autoInsertSpaceInButton !== false;\n\n // large => lg\n // small => sm\n let sizeCls = '';\n switch (size) {\n case 'large':\n sizeCls = 'lg';\n break;\n case 'small':\n sizeCls = 'sm';\n break;\n default:\n break;\n }\n const iconType = sLoading ? 'loading' : icon;\n const children = filterEmpty($slots.default);\n return {\n [`${prefixCls}`]: true,\n [`${prefixCls}-${type}`]: type,\n [`${prefixCls}-${shape}`]: shape,\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n [`${prefixCls}-icon-only`]: children.length === 0 && iconType,\n [`${prefixCls}-loading`]: sLoading,\n [`${prefixCls}-background-ghost`]: ghost || type === 'ghost',\n [`${prefixCls}-two-chinese-chars`]: hasTwoCNChar && autoInsertSpace,\n [`${prefixCls}-block`]: block,\n };\n },\n },\n watch: {\n loading(val, preVal) {\n if (preVal && typeof preVal !== 'boolean') {\n clearTimeout(this.delayTimeout);\n }\n if (val && typeof val !== 'boolean' && val.delay) {\n this.delayTimeout = setTimeout(() => {\n this.sLoading = !!val;\n }, val.delay);\n } else {\n this.sLoading = !!val;\n }\n },\n },\n mounted() {\n this.fixTwoCNChar();\n },\n updated() {\n this.fixTwoCNChar();\n },\n beforeDestroy() {\n // if (this.timeout) {\n // clearTimeout(this.timeout)\n // }\n if (this.delayTimeout) {\n clearTimeout(this.delayTimeout);\n }\n },\n methods: {\n fixTwoCNChar() {\n // Fix for HOC usage like <FormatMessage />\n const node = this.$refs.buttonNode;\n if (!node) {\n return;\n }\n const buttonText = node.textContent;\n if (this.isNeedInserted() && isTwoCNChar(buttonText)) {\n if (!this.hasTwoCNChar) {\n this.hasTwoCNChar = true;\n }\n } else if (this.hasTwoCNChar) {\n this.hasTwoCNChar = false;\n }\n },\n handleClick(event) {\n const { sLoading } = this.$data;\n if (sLoading) {\n return;\n }\n this.$emit('click', event);\n },\n insertSpace(child, needInserted) {\n const SPACE = needInserted ? ' ' : '';\n if (typeof child.text === 'string') {\n let text = child.text.trim();\n if (isTwoCNChar(text)) {\n text = text.split('').join(SPACE);\n }\n return <span>{text}</span>;\n }\n return child;\n },\n isNeedInserted() {\n const { $slots, type } = this;\n const icon = getComponentFromProp(this, 'icon');\n return $slots.default && $slots.default.length === 1 && !icon && type !== 'link';\n },\n },\n render() {\n const { type, htmlType, classes, disabled, handleClick, sLoading, $slots, $attrs } = this;\n const icon = getComponentFromProp(this, 'icon');\n const buttonProps = {\n attrs: {\n ...$attrs,\n disabled,\n },\n class: classes,\n on: {\n ...getListeners(this),\n click: handleClick,\n },\n };\n const iconType = sLoading ? 'loading' : icon;\n const iconNode = iconType ? <Icon type={iconType} /> : null;\n const children = filterEmpty($slots.default);\n const autoInsertSpace = this.configProvider.autoInsertSpaceInButton !== false;\n const kids = children.map(child =>\n this.insertSpace(child, this.isNeedInserted() && autoInsertSpace),\n );\n\n if ($attrs.href !== undefined) {\n return (\n <a {...buttonProps} ref=\"buttonNode\">\n {iconNode}\n {kids}\n </a>\n );\n }\n\n const buttonNode = (\n <button {...buttonProps} ref=\"buttonNode\" type={htmlType || 'button'}>\n {iconNode}\n {kids}\n </button>\n );\n\n if (type === 'link') {\n return buttonNode;\n }\n\n return <Wave>{buttonNode}</Wave>;\n },\n};\n","import { filterEmpty } from '../_util/props-util';\nimport PropTypes from '../_util/vue-types';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nconst ButtonGroupProps = {\n prefixCls: PropTypes.string,\n size: {\n validator(value) {\n return ['small', 'large', 'default'].includes(value);\n },\n },\n};\nexport { ButtonGroupProps };\nexport default {\n name: 'AButtonGroup',\n props: ButtonGroupProps,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n sizeMap: {\n large: 'lg',\n small: 'sm',\n },\n };\n },\n render() {\n const { prefixCls: customizePrefixCls, size, $slots } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('btn-group', customizePrefixCls);\n\n // large => lg\n // small => sm\n let sizeCls = '';\n switch (size) {\n case 'large':\n sizeCls = 'lg';\n break;\n case 'small':\n sizeCls = 'sm';\n break;\n default:\n break;\n }\n const classes = {\n [`${prefixCls}`]: true,\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n };\n return <div class={classes}>{filterEmpty($slots.default)}</div>;\n },\n};\n","import Button from './button';\nimport ButtonGroup from './button-group';\nimport Base from '../base';\n\nButton.Group = ButtonGroup;\n\n/* istanbul ignore next */\nButton.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Button.name, Button);\n Vue.component(ButtonGroup.name, ButtonGroup);\n};\n\nexport default Button;\n","import classNames from 'classnames';\nimport { isMobile } from 'is-mobile';\nimport Input from './Input';\nimport Icon from '../icon';\nimport inputProps from './inputProps';\nimport Button from '../button';\nimport { cloneElement } from '../_util/vnode';\nimport PropTypes from '../_util/vue-types';\nimport { getOptionProps, getComponentFromProp, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport default {\n name: 'AInputSearch',\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'change.value',\n },\n props: {\n ...inputProps,\n // 不能设置默认值 https://github.com/vueComponent/ant-design-vue/issues/1916\n enterButton: PropTypes.any,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n onChange(e) {\n if (e && e.target && e.type === 'click') {\n this.$emit('search', e.target.value, e);\n }\n this.$emit('change', e);\n },\n onSearch(e) {\n if (this.loading || this.disabled) {\n return;\n }\n this.$emit('search', this.$refs.input.stateValue, e);\n if (!isMobile({ tablet: true })) {\n this.$refs.input.focus();\n }\n },\n focus() {\n this.$refs.input.focus();\n },\n\n blur() {\n this.$refs.input.blur();\n },\n renderLoading(prefixCls) {\n const { size } = this.$props;\n let enterButton = getComponentFromProp(this, 'enterButton');\n // 兼容 <a-input-search enterButton />, 因enterButton类型为 any,此类写法 enterButton 为空字符串\n enterButton = enterButton || enterButton === '';\n if (enterButton) {\n return (\n <Button class={`${prefixCls}-button`} type=\"primary\" size={size} key=\"enterButton\">\n <Icon type=\"loading\" />\n </Button>\n );\n }\n return <Icon class={`${prefixCls}-icon`} type=\"loading\" key=\"loadingIcon\" />;\n },\n renderSuffix(prefixCls) {\n const { loading } = this;\n const suffix = getComponentFromProp(this, 'suffix');\n let enterButton = getComponentFromProp(this, 'enterButton');\n // 兼容 <a-input-search enterButton />, 因enterButton类型为 any,此类写法 enterButton 为空字符串\n enterButton = enterButton || enterButton === '';\n if (loading && !enterButton) {\n return [suffix, this.renderLoading(prefixCls)];\n }\n\n if (enterButton) return suffix;\n\n const icon = (\n <Icon class={`${prefixCls}-icon`} type=\"search\" key=\"searchIcon\" onClick={this.onSearch} />\n );\n\n if (suffix) {\n // let cloneSuffix = suffix;\n // if (isValidElement(cloneSuffix) && !cloneSuffix.key) {\n // cloneSuffix = cloneElement(cloneSuffix, {\n // key: 'originSuffix',\n // });\n // }\n return [suffix, icon];\n }\n\n return icon;\n },\n renderAddonAfter(prefixCls) {\n const { size, disabled, loading } = this;\n const btnClassName = `${prefixCls}-button`;\n let enterButton = getComponentFromProp(this, 'enterButton');\n enterButton = enterButton || enterButton === '';\n const addonAfter = getComponentFromProp(this, 'addonAfter');\n if (loading && enterButton) {\n return [this.renderLoading(prefixCls), addonAfter];\n }\n if (!enterButton) return addonAfter;\n const enterButtonAsElement = Array.isArray(enterButton) ? enterButton[0] : enterButton;\n let button;\n const isAntdButton =\n enterButtonAsElement.componentOptions &&\n enterButtonAsElement.componentOptions.Ctor.extendOptions.__ANT_BUTTON;\n if (enterButtonAsElement.tag === 'button' || isAntdButton) {\n button = cloneElement(enterButtonAsElement, {\n key: 'enterButton',\n class: isAntdButton ? btnClassName : '',\n props: isAntdButton ? { size } : {},\n on: {\n click: this.onSearch,\n },\n });\n } else {\n button = (\n <Button\n class={btnClassName}\n type=\"primary\"\n size={size}\n disabled={disabled}\n key=\"enterButton\"\n onClick={this.onSearch}\n >\n {enterButton === true || enterButton === '' ? <Icon type=\"search\" /> : enterButton}\n </Button>\n );\n }\n if (addonAfter) {\n return [button, addonAfter];\n }\n\n return button;\n },\n },\n render() {\n const {\n prefixCls: customizePrefixCls,\n inputPrefixCls: customizeInputPrefixCls,\n size,\n loading,\n ...others\n } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('input-search', customizePrefixCls);\n const inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n\n let enterButton = getComponentFromProp(this, 'enterButton');\n const addonBefore = getComponentFromProp(this, 'addonBefore');\n enterButton = enterButton || enterButton === '';\n let inputClassName;\n if (enterButton) {\n inputClassName = classNames(prefixCls, {\n [`${prefixCls}-enter-button`]: !!enterButton,\n [`${prefixCls}-${size}`]: !!size,\n });\n } else {\n inputClassName = prefixCls;\n }\n\n const on = { ...getListeners(this) };\n delete on.search;\n const inputProps = {\n props: {\n ...others,\n prefixCls: inputPrefixCls,\n size,\n suffix: this.renderSuffix(prefixCls),\n prefix: getComponentFromProp(this, 'prefix'),\n addonAfter: this.renderAddonAfter(prefixCls),\n addonBefore,\n className: inputClassName,\n },\n attrs: this.$attrs,\n ref: 'input',\n on: {\n pressEnter: this.onSearch,\n ...on,\n change: this.onChange,\n },\n };\n return <Input {...inputProps} />;\n },\n};\n","import classNames from 'classnames';\nimport { getComponentFromProp, getOptionProps, getListeners } from '../_util/props-util';\nimport Input from './Input';\nimport Icon from '../icon';\nimport inputProps from './inputProps';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\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,\n inputPrefixCls: PropTypes.string,\n action: PropTypes.string.def('click'),\n visibilityToggle: PropTypes.bool.def(true),\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\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(prefixCls) {\n const { 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: customizePrefixCls,\n inputPrefixCls: customizeInputPrefixCls,\n size,\n suffix,\n visibilityToggle,\n ...restProps\n } = getOptionProps(this);\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n const prefixCls = getPrefixCls('input-password', customizePrefixCls);\n\n const suffixIcon = visibilityToggle && this.getIcon(prefixCls);\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,\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 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\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 `[email protected]`, ' +\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 validateOnRuleChange: false,\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 type: PropTypes.string,\n id: PropTypes.string,\n};\n\nexport default {\n name: 'VCInputNumber',\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(inputNumberProps, {\n focusOnUpDown: true,\n useTouch: false,\n prefixCls: 'rc-input-number',\n min: -MAX_SAFE_INTEGER,\n step: 1,\n parser: defaultParser,\n required: false,\n autoComplete: 'off',\n }),\n data() {\n const props = getOptionProps(this);\n this.prevProps = { ...props };\n let value;\n if ('value' in props) {\n value = this.value;\n } else {\n value = this.defaultValue;\n }\n const validValue = this.getValidValue(this.toNumber(value));\n return {\n inputValue: this.toPrecisionAsStep(validValue),\n sValue: validValue,\n focused: this.autoFocus,\n };\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus && !this.disabled) {\n this.focus();\n }\n this.updatedFunc();\n });\n },\n updated() {\n const { value, max, min } = this.$props;\n const { focused } = this.$data;\n const { prevProps } = this;\n const props = getOptionProps(this);\n // Don't trigger in componentDidMount\n if (prevProps) {\n if (\n !isEqual(prevProps.value, value) ||\n !isEqual(prevProps.max, max) ||\n !isEqual(prevProps.min, min)\n ) {\n const validValue = focused ? value : this.getValidValue(value);\n let nextInputValue;\n if (this.pressingUpOrDown) {\n nextInputValue = validValue;\n } else if (this.inputting) {\n nextInputValue = this.rawInput;\n } else {\n nextInputValue = this.toPrecisionAsStep(validValue);\n }\n this.setState({\n // eslint-disable-line\n sValue: validValue,\n inputValue: nextInputValue,\n });\n }\n\n // Trigger onChange when max or min change\n // https://github.com/ant-design/ant-design/issues/11574\n const nextValue = 'value' in props ? value : this.sValue;\n // ref: null < 20 === true\n // https://github.com/ant-design/ant-design/issues/14277\n if (\n 'max' in props &&\n prevProps.max !== max &&\n typeof nextValue === 'number' &&\n nextValue > max\n ) {\n this.$emit('change', max);\n }\n if (\n 'min' in props &&\n prevProps.min !== min &&\n typeof nextValue === 'number' &&\n nextValue < min\n ) {\n this.$emit('change', min);\n }\n }\n this.prevProps = { ...props };\n this.$nextTick(() => {\n this.updatedFunc();\n });\n },\n beforeDestroy() {\n this.stop();\n },\n methods: {\n updatedFunc() {\n const inputElem = this.$refs.inputRef;\n // Restore cursor\n try {\n // Firefox set the input cursor after it get focused.\n // This caused that if an input didn't init with the selection,\n // set will cause cursor not correct when first focus.\n // Safari will focus input if set selection. We need skip this.\n if (this.cursorStart !== undefined && this.focused) {\n // In most cases, the string after cursor is stable.\n // We can move the cursor before it\n\n if (\n // If not match full str, try to match part of str\n !this.partRestoreByAfter(this.cursorAfter) &&\n this.sValue !== this.value\n ) {\n // If not match any of then, let's just keep the position\n // TODO: Logic should not reach here, need check if happens\n let pos = this.cursorStart + 1;\n\n // If not have last string, just position to the end\n if (!this.cursorAfter) {\n pos = inputElem.value.length;\n } else if (this.lastKeyCode === KeyCode.BACKSPACE) {\n pos = this.cursorStart - 1;\n } else if (this.lastKeyCode === KeyCode.DELETE) {\n pos = this.cursorStart;\n }\n this.fixCaret(pos, pos);\n } else if (this.currentValue === inputElem.value) {\n // Handle some special key code\n switch (this.lastKeyCode) {\n case KeyCode.BACKSPACE:\n this.fixCaret(this.cursorStart - 1, this.cursorStart - 1);\n break;\n case KeyCode.DELETE:\n this.fixCaret(this.cursorStart + 1, this.cursorStart + 1);\n break;\n default:\n // Do nothing\n }\n }\n }\n } catch (e) {\n // Do nothing\n }\n // Reset last key\n this.lastKeyCode = null;\n\n // pressingUpOrDown is true means that someone just click up or down button\n if (!this.pressingUpOrDown) {\n return;\n }\n if (this.focusOnUpDown && this.focused) {\n if (document.activeElement !== inputElem) {\n this.focus();\n }\n }\n\n this.pressingUpOrDown = false;\n },\n onKeyDown(e, ...args) {\n if (e.keyCode === KeyCode.UP) {\n const ratio = this.getRatio(e);\n this.up(e, ratio);\n this.stop();\n } else if (e.keyCode === KeyCode.DOWN) {\n const ratio = this.getRatio(e);\n this.down(e, ratio);\n this.stop();\n } else if (e.keyCode === KeyCode.ENTER) {\n this.$emit('pressEnter', e);\n }\n // Trigger user key down\n this.recordCursorPosition();\n this.lastKeyCode = e.keyCode;\n this.$emit('keydown', e, ...args);\n },\n onKeyUp(e, ...args) {\n this.stop();\n\n this.recordCursorPosition();\n\n this.$emit('keyup', e, ...args);\n },\n onTrigger(e) {\n if (e.target.composing) return false;\n this.onChange(e);\n },\n onChange(e) {\n if (this.focused) {\n this.inputting = true;\n }\n this.rawInput = this.parser(this.getValueFromEvent(e));\n this.setState({ inputValue: this.rawInput });\n this.$emit('change', this.toNumber(this.rawInput)); // valid number or invalid string\n },\n onFocus(...args) {\n this.setState({\n focused: true,\n });\n this.$emit('focus', ...args);\n },\n onBlur(...args) {\n this.inputting = false;\n this.setState({\n focused: false,\n });\n const value = this.getCurrentValidValue(this.inputValue);\n const newValue = this.setValue(value);\n if (this.$listeners.blur) {\n const originValue = this.$refs.inputRef.value;\n const inputValue = this.getInputDisplayValue({ focused: false, sValue: newValue });\n this.$refs.inputRef.value = inputValue;\n this.$emit('blur', ...args);\n this.$refs.inputRef.value = originValue;\n }\n },\n getCurrentValidValue(value) {\n let val = value;\n if (val === '') {\n val = '';\n } else if (!this.isNotCompleteNumber(parseFloat(val, 10))) {\n val = this.getValidValue(val);\n } else {\n val = this.sValue;\n }\n return this.toNumber(val);\n },\n getRatio(e) {\n let ratio = 1;\n if (e.metaKey || e.ctrlKey) {\n ratio = 0.1;\n } else if (e.shiftKey) {\n ratio = 10;\n }\n return ratio;\n },\n getValueFromEvent(e) {\n // optimize for chinese input expierence\n // https://github.com/ant-design/ant-design/issues/8196\n let value = e.target.value.trim().replace(/。/g, '.');\n\n if (isValidProps(this.decimalSeparator)) {\n value = value.replace(this.decimalSeparator, '.');\n }\n\n return value;\n },\n getValidValue(value, min = this.min, max = this.max) {\n let val = parseFloat(value, 10);\n // https://github.com/ant-design/ant-design/issues/7358\n if (isNaN(val)) {\n return value;\n }\n if (val < min) {\n val = min;\n }\n if (val > max) {\n val = max;\n }\n return val;\n },\n setValue(v, callback) {\n // trigger onChange\n const { precision } = this.$props;\n const newValue = this.isNotCompleteNumber(parseFloat(v, 10)) ? null : parseFloat(v, 10);\n const { sValue: value = null, inputValue = null } = this.$data;\n // https://github.com/ant-design/ant-design/issues/7363\n // https://github.com/ant-design/ant-design/issues/16622\n const newValueInString =\n typeof newValue === 'number' ? newValue.toFixed(precision) : `${newValue}`;\n const changed = newValue !== value || newValueInString !== `${inputValue}`;\n if (!hasProp(this, 'value')) {\n this.setState(\n {\n sValue: newValue,\n inputValue: this.toPrecisionAsStep(v),\n },\n callback,\n );\n } else {\n // always set input value same as value\n this.setState(\n {\n inputValue: this.toPrecisionAsStep(this.sValue),\n },\n callback,\n );\n }\n if (changed) {\n this.$emit('change', newValue);\n }\n return newValue;\n },\n getPrecision(value) {\n if (isValidProps(this.precision)) {\n return this.precision;\n }\n const valueString = value.toString();\n if (valueString.indexOf('e-') >= 0) {\n return parseInt(valueString.slice(valueString.indexOf('e-') + 2), 10);\n }\n let precision = 0;\n if (valueString.indexOf('.') >= 0) {\n precision = valueString.length - valueString.indexOf('.') - 1;\n }\n return precision;\n },\n // step={1.0} value={1.51}\n // press +\n // then value should be 2.51, rather than 2.5\n // if this.$props.precision is undefined\n // https://github.com/react-component/input-number/issues/39\n getMaxPrecision(currentValue, ratio = 1) {\n if (isValidProps(this.precision)) {\n return this.precision;\n }\n const { step } = this;\n const ratioPrecision = this.getPrecision(ratio);\n const stepPrecision = this.getPrecision(step);\n const currentValuePrecision = this.getPrecision(currentValue);\n if (!currentValue) {\n return ratioPrecision + stepPrecision;\n }\n return Math.max(currentValuePrecision, ratioPrecision + stepPrecision);\n },\n getPrecisionFactor(currentValue, ratio = 1) {\n const precision = this.getMaxPrecision(currentValue, ratio);\n return Math.pow(10, precision);\n },\n getInputDisplayValue(state) {\n const { focused, inputValue, sValue } = state || this.$data;\n let inputDisplayValue;\n if (focused) {\n inputDisplayValue = inputValue;\n } else {\n inputDisplayValue = this.toPrecisionAsStep(sValue);\n }\n\n if (inputDisplayValue === undefined || inputDisplayValue === null) {\n inputDisplayValue = '';\n }\n\n let inputDisplayValueFormat = this.formatWrapper(inputDisplayValue);\n if (isValidProps(this.$props.decimalSeparator)) {\n inputDisplayValueFormat = inputDisplayValueFormat\n .toString()\n .replace('.', this.$props.decimalSeparator);\n }\n\n return inputDisplayValueFormat;\n },\n recordCursorPosition() {\n // Record position\n try {\n const inputElem = this.$refs.inputRef;\n this.cursorStart = inputElem.selectionStart;\n this.cursorEnd = inputElem.selectionEnd;\n this.currentValue = inputElem.value;\n this.cursorBefore = inputElem.value.substring(0, this.cursorStart);\n this.cursorAfter = inputElem.value.substring(this.cursorEnd);\n } catch (e) {\n // Fix error in Chrome:\n // Failed to read the 'selectionStart' property from 'HTMLInputElement'\n // http://stackoverflow.com/q/21177489/3040605\n }\n },\n fixCaret(start, end) {\n if (\n start === undefined ||\n end === undefined ||\n !this.$refs.inputRef ||\n !this.$refs.inputRef.value\n ) {\n return;\n }\n\n try {\n const inputElem = this.$refs.inputRef;\n const currentStart = inputElem.selectionStart;\n const currentEnd = inputElem.selectionEnd;\n\n if (start !== currentStart || end !== currentEnd) {\n inputElem.setSelectionRange(start, end);\n }\n } catch (e) {\n // Fix error in Chrome:\n // Failed to read the 'selectionStart' property from 'HTMLInputElement'\n // http://stackoverflow.com/q/21177489/3040605\n }\n },\n restoreByAfter(str) {\n if (str === undefined) return false;\n\n const fullStr = this.$refs.inputRef.value;\n const index = fullStr.lastIndexOf(str);\n\n if (index === -1) return false;\n\n const prevCursorPos = this.cursorBefore.length;\n if (\n this.lastKeyCode === KeyCode.DELETE &&\n this.cursorBefore.charAt(prevCursorPos - 1) === str[0]\n ) {\n this.fixCaret(prevCursorPos, prevCursorPos);\n return true;\n }\n if (index + str.length === fullStr.length) {\n this.fixCaret(index, index);\n\n return true;\n }\n return false;\n },\n partRestoreByAfter(str) {\n if (str === undefined) return false;\n\n // For loop from full str to the str with last char to map. e.g. 123\n // -> 123\n // -> 23\n // -> 3\n return Array.prototype.some.call(str, (_, start) => {\n const partStr = str.substring(start);\n\n return this.restoreByAfter(partStr);\n });\n },\n focus() {\n this.$refs.inputRef.focus();\n this.recordCursorPosition();\n },\n blur() {\n this.$refs.inputRef.blur();\n },\n formatWrapper(num) {\n // http://2ality.com/2012/03/signedzero.html\n // https://github.com/ant-design/ant-design/issues/9439\n if (this.formatter) {\n return this.formatter(num);\n }\n return num;\n },\n toPrecisionAsStep(num) {\n if (this.isNotCompleteNumber(num) || num === '') {\n return num;\n }\n const precision = Math.abs(this.getMaxPrecision(num));\n if (!isNaN(precision)) {\n return Number(num).toFixed(precision);\n }\n return num.toString();\n },\n // '1.' '1x' 'xx' '' => are not complete numbers\n isNotCompleteNumber(num) {\n return (\n isNaN(num) ||\n num === '' ||\n num === null ||\n (num && num.toString().indexOf('.') === num.toString().length - 1)\n );\n },\n toNumber(num) {\n const { precision, autoFocus } = this.$props;\n const { focused = autoFocus } = this;\n // num.length > 16 => This is to prevent input of large numbers\n const numberIsTooLarge = num && num.length > 16 && focused;\n if (this.isNotCompleteNumber(num) || numberIsTooLarge) {\n return num;\n }\n if (isValidProps(precision)) {\n return Math.round(num * Math.pow(10, precision)) / Math.pow(10, precision);\n }\n return Number(num);\n },\n upStep(val, rat) {\n const { step } = this;\n const precisionFactor = this.getPrecisionFactor(val, rat);\n const precision = Math.abs(this.getMaxPrecision(val, rat));\n const result = (\n (precisionFactor * val + precisionFactor * step * rat) /\n precisionFactor\n ).toFixed(precision);\n return this.toNumber(result);\n },\n downStep(val, rat) {\n const { step } = this;\n const precisionFactor = this.getPrecisionFactor(val, rat);\n const precision = Math.abs(this.getMaxPrecision(val, rat));\n const result = (\n (precisionFactor * val - precisionFactor * step * rat) /\n precisionFactor\n ).toFixed(precision);\n return this.toNumber(result);\n },\n stepFn(type, e, ratio = 1, recursive) {\n this.stop();\n if (e) {\n // e.persist()\n e.preventDefault();\n }\n if (this.disabled) {\n return;\n }\n const { max, min } = this;\n const value = this.getCurrentValidValue(this.inputValue) || 0;\n if (this.isNotCompleteNumber(value)) {\n return;\n }\n let val = this[`${type}Step`](value, ratio);\n const outOfRange = val > max || val < min;\n if (val > max) {\n val = max;\n } else if (val < min) {\n val = min;\n }\n this.setValue(val);\n this.setState({\n focused: true,\n });\n if (outOfRange) {\n return;\n }\n this.autoStepTimer = setTimeout(\n () => {\n this[type](e, ratio, true);\n },\n recursive ? SPEED : DELAY,\n );\n },\n stop() {\n if (this.autoStepTimer) {\n clearTimeout(this.autoStepTimer);\n }\n },\n down(e, ratio, recursive) {\n this.pressingUpOrDown = true;\n this.stepFn('down', e, ratio, recursive);\n },\n up(e, ratio, recursive) {\n this.pressingUpOrDown = true;\n this.stepFn('up', e, ratio, recursive);\n },\n handleInputClick() {\n this.$emit('click');\n },\n onCompositionstart(e) {\n e.target.composing = true;\n },\n onCompositionend(e) {\n this.onChange(e);\n e.target.composing = false;\n },\n },\n render() {\n const {\n prefixCls,\n disabled,\n readonly,\n useTouch,\n autoComplete,\n upHandler,\n downHandler,\n } = this.$props;\n const classes = classNames({\n [prefixCls]: true,\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-focused`]: this.focused,\n });\n let upDisabledClass = '';\n let downDisabledClass = '';\n const { sValue } = this;\n if (sValue || sValue === 0) {\n if (!isNaN(sValue)) {\n const val = Number(sValue);\n if (val >= this.max) {\n upDisabledClass = `${prefixCls}-handler-up-disabled`;\n }\n if (val <= this.min) {\n downDisabledClass = `${prefixCls}-handler-down-disabled`;\n }\n } else {\n upDisabledClass = `${prefixCls}-handler-up-disabled`;\n downDisabledClass = `${prefixCls}-handler-down-disabled`;\n }\n }\n\n const editable = !this.readonly && !this.disabled;\n\n // focus state, show input value\n // unfocus state, show valid value\n const inputDisplayValue = this.getInputDisplayValue();\n\n let upEvents;\n let downEvents;\n if (useTouch) {\n upEvents = {\n touchstart: editable && !upDisabledClass ? this.up : noop,\n touchend: this.stop,\n };\n downEvents = {\n touchstart: editable && !downDisabledClass ? this.down : noop,\n touchend: this.stop,\n };\n } else {\n upEvents = {\n mousedown: editable && !upDisabledClass ? this.up : noop,\n mouseup: this.stop,\n mouseleave: this.stop,\n };\n downEvents = {\n mousedown: editable && !downDisabledClass ? this.down : noop,\n mouseup: this.stop,\n mouseleave: this.stop,\n };\n }\n const isUpDisabled = !!upDisabledClass || disabled || readonly;\n const isDownDisabled = !!downDisabledClass || disabled || readonly;\n const {\n mouseenter = noop,\n mouseleave = noop,\n mouseover = noop,\n mouseout = noop,\n } = getListeners(this);\n const contentProps = {\n on: { mouseenter, mouseleave, mouseover, mouseout },\n class: classes,\n attrs: { title: this.$props.title },\n };\n const upHandlerProps = {\n props: {\n disabled: isUpDisabled,\n prefixCls,\n },\n attrs: {\n unselectable: 'unselectable',\n role: 'button',\n 'aria-label': 'Increase Value',\n 'aria-disabled': !!isUpDisabled,\n },\n class: `${prefixCls}-handler ${prefixCls}-handler-up ${upDisabledClass}`,\n on: upEvents,\n ref: 'up',\n };\n const downHandlerProps = {\n props: {\n disabled: isDownDisabled,\n prefixCls,\n },\n attrs: {\n unselectable: 'unselectable',\n role: 'button',\n 'aria-label': 'Decrease Value',\n 'aria-disabled': !!isDownDisabled,\n },\n class: `${prefixCls}-handler ${prefixCls}-handler-down ${downDisabledClass}`,\n on: downEvents,\n ref: 'down',\n };\n // ref for test\n return (\n <div {...contentProps}>\n <div class={`${prefixCls}-handler-wrap`}>\n <InputHandler {...upHandlerProps}>\n {upHandler || (\n <span\n unselectable=\"unselectable\"\n class={`${prefixCls}-handler-up-inner`}\n onClick={preventDefault}\n />\n )}\n </InputHandler>\n <InputHandler {...downHandlerProps}>\n {downHandler || (\n <span\n unselectable=\"unselectable\"\n class={`${prefixCls}-handler-down-inner`}\n onClick={preventDefault}\n />\n )}\n </InputHandler>\n </div>\n <div class={`${prefixCls}-input-wrap`}>\n <input\n role=\"spinbutton\"\n aria-valuemin={this.min}\n aria-valuemax={this.max}\n aria-valuenow={sValue}\n required={this.required}\n type={this.type}\n placeholder={this.placeholder}\n onClick={this.handleInputClick}\n class={`${prefixCls}-input`}\n tabIndex={this.tabIndex}\n autoComplete={autoComplete}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onKeydown={editable ? this.onKeyDown : noop}\n onKeyup={editable ? this.onKeyUp : noop}\n readonly={this.readonly}\n disabled={this.disabled}\n max={this.max}\n min={this.min}\n step={this.step}\n name={this.name}\n title={this.title}\n id={this.id}\n onInput={this.onTrigger}\n onCompositionstart={this.onCompositionstart}\n onCompositionend={this.onCompositionend}\n ref=\"inputRef\"\n value={inputDisplayValue}\n pattern={this.pattern}\n />\n </div>\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { initDefaultProps, getOptionProps, getListeners } from '../_util/props-util';\nimport classNames from 'classnames';\nimport Icon from '../icon';\nimport VcInputNumber from '../vc-input-number/src';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\n\nexport const InputNumberProps = {\n prefixCls: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n step: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n defaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n tabIndex: PropTypes.number,\n disabled: PropTypes.bool,\n size: PropTypes.oneOf(['large', 'small', 'default']),\n formatter: PropTypes.func,\n parser: PropTypes.func,\n decimalSeparator: PropTypes.string,\n placeholder: PropTypes.string,\n name: PropTypes.string,\n id: PropTypes.string,\n precision: PropTypes.number,\n autoFocus: PropTypes.bool,\n};\n\nconst InputNumber = {\n name: 'AInputNumber',\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(InputNumberProps, {\n step: 1,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n focus() {\n this.$refs.inputNumberRef.focus();\n },\n blur() {\n this.$refs.inputNumberRef.blur();\n },\n },\n\n render() {\n const { prefixCls: customizePrefixCls, size, ...others } = {\n ...getOptionProps(this),\n ...this.$attrs,\n };\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('input-number', customizePrefixCls);\n\n const inputNumberClass = classNames({\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n });\n const upIcon = <Icon type=\"up\" class={`${prefixCls}-handler-up-inner`} />;\n const downIcon = <Icon type=\"down\" class={`${prefixCls}-handler-down-inner`} />;\n\n const vcInputNumberprops = {\n props: {\n prefixCls,\n upHandler: upIcon,\n downHandler: downIcon,\n ...others,\n },\n class: inputNumberClass,\n ref: 'inputNumberRef',\n on: getListeners(this),\n };\n return <VcInputNumber {...vcInputNumberprops} />;\n },\n};\n\n/* istanbul ignore next */\nInputNumber.install = function(Vue) {\n Vue.use(Base);\n Vue.component(InputNumber.name, InputNumber);\n};\n\nexport default InputNumber;\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport { getOptionProps, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport const BasicProps = {\n prefixCls: PropTypes.string,\n hasSider: PropTypes.boolean,\n tagName: PropTypes.string,\n};\n\nfunction generator({ suffixCls, tagName, name }) {\n return BasicComponent => {\n return {\n name,\n props: BasicComponent.props,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render() {\n const { prefixCls: customizePrefixCls } = this.$props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls(suffixCls, customizePrefixCls);\n\n const basicComponentProps = {\n props: {\n prefixCls,\n ...getOptionProps(this),\n tagName,\n },\n on: getListeners(this),\n };\n return <BasicComponent {...basicComponentProps}>{this.$slots.default}</BasicComponent>;\n },\n };\n };\n}\n\nconst Basic = {\n props: BasicProps,\n render() {\n const { prefixCls, tagName: Tag, $slots } = this;\n const divProps = {\n class: prefixCls,\n on: getListeners(this),\n };\n return <Tag {...divProps}>{$slots.default}</Tag>;\n },\n};\n\nconst BasicLayout = {\n props: BasicProps,\n data() {\n return {\n siders: [],\n };\n },\n provide() {\n return {\n siderHook: {\n addSider: id => {\n this.siders = [...this.siders, id];\n },\n removeSider: id => {\n this.siders = this.siders.filter(currentId => currentId !== id);\n },\n },\n };\n },\n render() {\n const { prefixCls, $slots, hasSider, tagName: Tag } = this;\n const divCls = classNames(prefixCls, {\n [`${prefixCls}-has-sider`]: typeof hasSider === 'boolean' ? hasSider : this.siders.length > 0,\n });\n const divProps = {\n class: divCls,\n on: getListeners,\n };\n return <Tag {...divProps}>{$slots.default}</Tag>;\n },\n};\n\nconst Layout = generator({\n suffixCls: 'layout',\n tagName: 'section',\n name: 'ALayout',\n})(BasicLayout);\n\nconst Header = generator({\n suffixCls: 'layout-header',\n tagName: 'header',\n name: 'ALayoutHeader',\n})(Basic);\n\nconst Footer = generator({\n suffixCls: 'layout-footer',\n tagName: 'footer',\n name: 'ALayoutFooter',\n})(Basic);\n\nconst Content = generator({\n suffixCls: 'layout-content',\n tagName: 'main',\n name: 'ALayoutContent',\n})(Basic);\n\nLayout.Header = Header;\nLayout.Footer = Footer;\nLayout.Content = Content;\n\nexport default Layout;\n","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport {\n initDefaultProps,\n getOptionProps,\n hasProp,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport isNumeric from '../_util/isNumeric';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Icon from '../icon';\n\n// matchMedia polyfill for\n// https://github.com/WickyNilliams/enquire.js/issues/82\nif (typeof window !== 'undefined') {\n const matchMediaPolyfill = mediaQuery => {\n return {\n media: mediaQuery,\n matches: false,\n addListener() {},\n removeListener() {},\n };\n };\n window.matchMedia = window.matchMedia || matchMediaPolyfill;\n}\n\nconst dimensionMaxMap = {\n xs: '479.98px',\n sm: '575.98px',\n md: '767.98px',\n lg: '991.98px',\n xl: '1199.98px',\n xxl: '1599.98px',\n};\n\n// export type CollapseType = 'clickTrigger' | 'responsive';\n\nexport const SiderProps = {\n prefixCls: PropTypes.string,\n collapsible: PropTypes.bool,\n collapsed: PropTypes.bool,\n defaultCollapsed: PropTypes.bool,\n reverseArrow: PropTypes.bool,\n // onCollapse?: (collapsed: boolean, type: CollapseType) => void;\n zeroWidthTriggerStyle: PropTypes.object,\n trigger: PropTypes.any,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n collapsedWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n breakpoint: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', 'xxl']),\n theme: PropTypes.oneOf(['light', 'dark']).def('dark'),\n};\n\n// export interface SiderState {\n// collapsed?: boolean;\n// below: boolean;\n// belowShow?: boolean;\n// }\n\n// export interface SiderContext {\n// siderCollapsed: boolean;\n// }\n\nconst generateId = (() => {\n let i = 0;\n return (prefix = '') => {\n i += 1;\n return `${prefix}${i}`;\n };\n})();\n\nexport default {\n name: 'ALayoutSider',\n __ANT_LAYOUT_SIDER: true,\n mixins: [BaseMixin],\n model: {\n prop: 'collapsed',\n event: 'collapse',\n },\n props: initDefaultProps(SiderProps, {\n collapsible: false,\n defaultCollapsed: false,\n reverseArrow: false,\n width: 200,\n collapsedWidth: 80,\n }),\n data() {\n this.uniqueId = generateId('ant-sider-');\n let matchMedia;\n if (typeof window !== 'undefined') {\n matchMedia = window.matchMedia;\n }\n const props = getOptionProps(this);\n if (matchMedia && props.breakpoint && props.breakpoint in dimensionMaxMap) {\n this.mql = matchMedia(`(max-width: ${dimensionMaxMap[props.breakpoint]})`);\n }\n let sCollapsed;\n if ('collapsed' in props) {\n sCollapsed = props.collapsed;\n } else {\n sCollapsed = props.defaultCollapsed;\n }\n return {\n sCollapsed,\n below: false,\n belowShow: false,\n };\n },\n provide() {\n return {\n layoutSiderContext: this, // menu组件中使用\n };\n },\n inject: {\n siderHook: { default: () => ({}) },\n configProvider: { default: () => ConfigConsumerProps },\n },\n // getChildContext() {\n // return {\n // siderCollapsed: this.state.collapsed,\n // collapsedWidth: this.props.collapsedWidth,\n // };\n // }\n watch: {\n collapsed(val) {\n this.setState({\n sCollapsed: val,\n });\n },\n },\n\n mounted() {\n this.$nextTick(() => {\n if (this.mql) {\n this.mql.addListener(this.responsiveHandler);\n this.responsiveHandler(this.mql);\n }\n\n if (this.siderHook.addSider) {\n this.siderHook.addSider(this.uniqueId);\n }\n });\n },\n\n beforeDestroy() {\n if (this.mql) {\n this.mql.removeListener(this.responsiveHandler);\n }\n\n if (this.siderHook.removeSider) {\n this.siderHook.removeSider(this.uniqueId);\n }\n },\n methods: {\n responsiveHandler(mql) {\n this.setState({ below: mql.matches });\n this.$emit('breakpoint', mql.matches);\n if (this.sCollapsed !== mql.matches) {\n this.setCollapsed(mql.matches, 'responsive');\n }\n },\n\n setCollapsed(collapsed, type) {\n if (!hasProp(this, 'collapsed')) {\n this.setState({\n sCollapsed: collapsed,\n });\n }\n this.$emit('collapse', collapsed, type);\n },\n\n toggle() {\n const collapsed = !this.sCollapsed;\n this.setCollapsed(collapsed, 'clickTrigger');\n },\n\n belowShowChange() {\n this.setState({ belowShow: !this.belowShow });\n },\n },\n\n render() {\n const {\n prefixCls: customizePrefixCls,\n theme,\n collapsible,\n reverseArrow,\n width,\n collapsedWidth,\n zeroWidthTriggerStyle,\n } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('layout-sider', customizePrefixCls);\n\n const trigger = getComponentFromProp(this, 'trigger');\n const rawWidth = this.sCollapsed ? collapsedWidth : width;\n // use \"px\" as fallback unit for width\n const siderWidth = isNumeric(rawWidth) ? `${rawWidth}px` : String(rawWidth);\n // special trigger when collapsedWidth == 0\n const zeroWidthTrigger =\n parseFloat(String(collapsedWidth || 0)) === 0 ? (\n <span\n onClick={this.toggle}\n class={`${prefixCls}-zero-width-trigger ${prefixCls}-zero-width-trigger-${\n reverseArrow ? 'right' : 'left'\n }`}\n style={zeroWidthTriggerStyle}\n >\n <Icon type=\"bars\" />\n </span>\n ) : null;\n const iconObj = {\n expanded: reverseArrow ? <Icon type=\"right\" /> : <Icon type=\"left\" />,\n collapsed: reverseArrow ? <Icon type=\"left\" /> : <Icon type=\"right\" />,\n };\n const status = this.sCollapsed ? 'collapsed' : 'expanded';\n const defaultTrigger = iconObj[status];\n const triggerDom =\n trigger !== null\n ? zeroWidthTrigger || (\n <div class={`${prefixCls}-trigger`} onClick={this.toggle} style={{ width: siderWidth }}>\n {trigger || defaultTrigger}\n </div>\n )\n : null;\n const divStyle = {\n // ...style,\n flex: `0 0 ${siderWidth}`,\n maxWidth: siderWidth, // Fix width transition bug in IE11\n minWidth: siderWidth, // https://github.com/ant-design/ant-design/issues/6349\n width: siderWidth,\n };\n const siderCls = classNames(prefixCls, `${prefixCls}-${theme}`, {\n [`${prefixCls}-collapsed`]: !!this.sCollapsed,\n [`${prefixCls}-has-trigger`]: collapsible && trigger !== null && !zeroWidthTrigger,\n [`${prefixCls}-below`]: !!this.below,\n [`${prefixCls}-zero-width`]: parseFloat(siderWidth) === 0,\n });\n const divProps = {\n on: getListeners(this),\n class: siderCls,\n style: divStyle,\n };\n return (\n <aside {...divProps}>\n <div class={`${prefixCls}-children`}>{this.$slots.default}</div>\n {collapsible || (this.below && zeroWidthTrigger) ? triggerDom : null}\n </aside>\n );\n },\n};\n","import Layout from './layout';\nimport Sider from './Sider';\nimport Base from '../base';\n\nLayout.Sider = Sider;\n\n/* istanbul ignore next */\nLayout.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Layout.name, Layout);\n Vue.component(Layout.Header.name, Layout.Header);\n Vue.component(Layout.Footer.name, Layout.Footer);\n Vue.component(Layout.Sider.name, Layout.Sider);\n Vue.component(Layout.Content.name, Layout.Content);\n};\nexport default Layout;\n","import debounce from 'lodash/debounce';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport {\n filterEmpty,\n initDefaultProps,\n isValidElement,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport const SpinSize = PropTypes.oneOf(['small', 'default', 'large']);\n\nexport const SpinProps = () => ({\n prefixCls: PropTypes.string,\n spinning: PropTypes.bool,\n size: SpinSize,\n wrapperClassName: PropTypes.string,\n tip: PropTypes.string,\n delay: PropTypes.number,\n indicator: PropTypes.any,\n});\n\n// Render indicator\nlet defaultIndicator;\n\nfunction shouldDelay(spinning, delay) {\n return !!spinning && !!delay && !isNaN(Number(delay));\n}\n\nexport function setDefaultIndicator(Content) {\n defaultIndicator =\n typeof Content.indicator === 'function'\n ? Content.indicator\n : h => {\n return <Content.indicator />;\n };\n}\n\nexport default {\n name: 'ASpin',\n mixins: [BaseMixin],\n props: initDefaultProps(SpinProps(), {\n size: 'default',\n spinning: true,\n wrapperClassName: '',\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const { spinning, delay } = this;\n const shouldBeDelayed = shouldDelay(spinning, delay);\n this.originalUpdateSpinning = this.updateSpinning;\n this.debouncifyUpdateSpinning(this.$props);\n return {\n sSpinning: spinning && !shouldBeDelayed,\n };\n },\n mounted() {\n this.updateSpinning();\n },\n updated() {\n this.$nextTick(() => {\n this.debouncifyUpdateSpinning();\n this.updateSpinning();\n });\n },\n beforeDestroy() {\n this.cancelExistingSpin();\n },\n methods: {\n debouncifyUpdateSpinning(props) {\n const { delay } = props || this.$props;\n if (delay) {\n this.cancelExistingSpin();\n this.updateSpinning = debounce(this.originalUpdateSpinning, delay);\n }\n },\n updateSpinning() {\n const { spinning, sSpinning } = this;\n if (sSpinning !== spinning) {\n this.setState({ sSpinning: spinning });\n }\n },\n cancelExistingSpin() {\n const { updateSpinning } = this;\n if (updateSpinning && updateSpinning.cancel) {\n updateSpinning.cancel();\n }\n },\n getChildren() {\n if (this.$slots && this.$slots.default) {\n return filterEmpty(this.$slots.default);\n }\n return null;\n },\n renderIndicator(h, prefixCls) {\n // const h = this.$createElement\n const dotClassName = `${prefixCls}-dot`;\n let indicator = getComponentFromProp(this, 'indicator');\n // should not be render default indicator when indicator value is null\n if (indicator === null) {\n return null;\n }\n if (Array.isArray(indicator)) {\n indicator = filterEmpty(indicator);\n indicator = indicator.length === 1 ? indicator[0] : indicator;\n }\n if (isValidElement(indicator)) {\n return cloneElement(indicator, { class: dotClassName });\n }\n\n if (defaultIndicator && isValidElement(defaultIndicator(h))) {\n return cloneElement(defaultIndicator(h), { class: dotClassName });\n }\n\n return (\n <span class={`${dotClassName} ${prefixCls}-dot-spin`}>\n <i class={`${prefixCls}-dot-item`} />\n <i class={`${prefixCls}-dot-item`} />\n <i class={`${prefixCls}-dot-item`} />\n <i class={`${prefixCls}-dot-item`} />\n </span>\n );\n },\n },\n render(h) {\n const {\n size,\n prefixCls: customizePrefixCls,\n tip,\n wrapperClassName,\n ...restProps\n } = this.$props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('spin', customizePrefixCls);\n\n const { sSpinning } = this;\n const spinClassName = {\n [prefixCls]: true,\n [`${prefixCls}-sm`]: size === 'small',\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-spinning`]: sSpinning,\n [`${prefixCls}-show-text`]: !!tip,\n };\n\n const spinElement = (\n <div {...restProps} class={spinClassName}>\n {this.renderIndicator(h, prefixCls)}\n {tip ? <div class={`${prefixCls}-text`}>{tip}</div> : null}\n </div>\n );\n const children = this.getChildren();\n if (children) {\n const containerClassName = {\n [`${prefixCls}-container`]: true,\n [`${prefixCls}-blur`]: sSpinning,\n };\n\n return (\n <div\n {...{ on: getListeners(this) }}\n class={[`${prefixCls}-nested-loading`, wrapperClassName]}\n >\n {sSpinning && <div key=\"loading\">{spinElement}</div>}\n <div class={containerClassName} key=\"container\">\n {children}\n </div>\n </div>\n );\n }\n return spinElement;\n },\n};\n","import Spin, { setDefaultIndicator } from './Spin';\nimport Base from '../base';\n\nexport { SpinProps } from './Spin';\n\nSpin.setDefaultIndicator = setDefaultIndicator;\n\n/* istanbul ignore next */\nSpin.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Spin.name, Spin);\n};\n\nexport default Spin;\n","import VcSelect, { SelectProps } from '../select';\nimport { getOptionProps, filterEmpty, getListeners } from '../_util/props-util';\n\nexport default {\n props: {\n ...SelectProps,\n },\n Option: VcSelect.Option,\n render() {\n const selectOptionsProps = getOptionProps(this);\n const selelctProps = {\n props: {\n ...selectOptionsProps,\n size: 'small',\n },\n on: getListeners(this),\n };\n return <VcSelect {...selelctProps}>{filterEmpty(this.$slots.default)}</VcSelect>;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\n\nexport default {\n name: 'Pager',\n props: {\n rootPrefixCls: PropTypes.string,\n page: PropTypes.number,\n active: PropTypes.bool,\n last: PropTypes.bool,\n locale: PropTypes.object,\n showTitle: PropTypes.bool,\n itemRender: {\n type: Function,\n default: () => {},\n },\n },\n methods: {\n handleClick() {\n this.$emit('click', this.page);\n },\n handleKeyPress(event) {\n this.$emit('keypress', event, this.handleClick, this.page);\n },\n },\n render() {\n const props = this.$props;\n const prefixCls = `${props.rootPrefixCls}-item`;\n const cls = classNames(prefixCls, `${prefixCls}-${props.page}`, {\n [`${prefixCls}-active`]: props.active,\n [`${prefixCls}-disabled`]: !props.page,\n });\n\n return (\n <li\n class={cls}\n onClick={this.handleClick}\n onKeypress={this.handleKeyPress}\n title={this.showTitle ? this.page : null}\n tabIndex=\"0\"\n >\n {this.itemRender(this.page, 'page', <a>{this.page}</a>)}\n </li>\n );\n },\n};\n","export default {\n ZERO: 48,\n NINE: 57,\n\n NUMPAD_ZERO: 96,\n NUMPAD_NINE: 105,\n\n BACKSPACE: 8,\n DELETE: 46,\n ENTER: 13,\n\n ARROW_UP: 38,\n ARROW_DOWN: 40,\n};\n","import PropTypes from '../_util/vue-types';\nimport KEYCODE from './KeyCode';\nimport BaseMixin from '../_util/BaseMixin';\n\nexport default {\n mixins: [BaseMixin],\n props: {\n disabled: PropTypes.bool,\n changeSize: PropTypes.func,\n quickGo: PropTypes.func,\n selectComponentClass: PropTypes.any,\n current: PropTypes.number,\n pageSizeOptions: PropTypes.array.def(['10', '20', '30', '40']),\n pageSize: PropTypes.number,\n buildOptionText: PropTypes.func,\n locale: PropTypes.object,\n rootPrefixCls: PropTypes.string,\n selectPrefixCls: PropTypes.string,\n goButton: PropTypes.any,\n },\n data() {\n return {\n goInputText: '',\n };\n },\n methods: {\n getValidValue() {\n const { goInputText, current } = this;\n return !goInputText || isNaN(goInputText) ? current : Number(goInputText);\n },\n defaultBuildOptionText(opt) {\n return `${opt.value} ${this.locale.items_per_page}`;\n },\n handleChange(e) {\n const { value, composing } = e.target;\n if (e.isComposing || composing || this.goInputText === value) return;\n this.setState({\n goInputText: value,\n });\n },\n handleBlur(e) {\n const { goButton, quickGo, rootPrefixCls } = this.$props;\n if (goButton) {\n return;\n }\n if (\n e.relatedTarget &&\n (e.relatedTarget.className.indexOf(`${rootPrefixCls}-prev`) >= 0 ||\n e.relatedTarget.className.indexOf(`${rootPrefixCls}-next`) >= 0)\n ) {\n return;\n }\n quickGo(this.getValidValue());\n },\n go(e) {\n const { goInputText } = this;\n if (goInputText === '') {\n return;\n }\n if (e.keyCode === KEYCODE.ENTER || e.type === 'click') {\n // https://github.com/vueComponent/ant-design-vue/issues/1316\n this.quickGo(this.getValidValue());\n this.setState({\n goInputText: '',\n });\n }\n },\n },\n render() {\n const {\n rootPrefixCls,\n locale,\n changeSize,\n quickGo,\n goButton,\n selectComponentClass: Select,\n defaultBuildOptionText,\n selectPrefixCls,\n pageSize,\n pageSizeOptions,\n goInputText,\n disabled,\n } = this;\n const prefixCls = `${rootPrefixCls}-options`;\n let changeSelect = null;\n let goInput = null;\n let gotoButton = null;\n\n if (!changeSize && !quickGo) {\n return null;\n }\n\n if (changeSize && Select) {\n const buildOptionText = this.buildOptionText || defaultBuildOptionText;\n const options = pageSizeOptions.map((opt, i) => (\n <Select.Option key={i} value={opt}>\n {buildOptionText({ value: opt })}\n </Select.Option>\n ));\n\n changeSelect = (\n <Select\n disabled={disabled}\n prefixCls={selectPrefixCls}\n showSearch={false}\n class={`${prefixCls}-size-changer`}\n optionLabelProp=\"children\"\n dropdownMatchSelectWidth={false}\n value={(pageSize || pageSizeOptions[0]).toString()}\n onChange={value => this.changeSize(Number(value))}\n getPopupContainer={triggerNode => triggerNode.parentNode}\n >\n {options}\n </Select>\n );\n }\n\n if (quickGo) {\n if (goButton) {\n gotoButton =\n typeof goButton === 'boolean' ? (\n <button type=\"button\" onClick={this.go} onKeyup={this.go} disabled={disabled}>\n {locale.jump_to_confirm}\n </button>\n ) : (\n <span onClick={this.go} onKeyup={this.go}>\n {goButton}\n </span>\n );\n }\n goInput = (\n <div class={`${prefixCls}-quick-jumper`}>\n {locale.jump_to}\n <input\n disabled={disabled}\n type=\"text\"\n value={goInputText}\n onInput={this.handleChange}\n onKeyup={this.go}\n onBlur={this.handleBlur}\n {...{\n directives: [\n {\n name: 'ant-input',\n },\n ],\n }}\n />\n {locale.page}\n {gotoButton}\n </div>\n );\n }\n\n return (\n <li class={`${prefixCls}`}>\n {changeSelect}\n {goInput}\n </li>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { hasProp, getComponentFromProp, getOptionProps } from '../_util/props-util';\nimport Pager from './Pager';\nimport Options from './Options';\nimport LOCALE from './locale/zh_CN';\nimport KEYCODE from './KeyCode';\n\nfunction noop() {}\n\n// 是否是正整数\nfunction isInteger(value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n}\n\nfunction defaultItemRender(page, type, element) {\n return element;\n}\n\nfunction calculatePage(p, state, props) {\n let pageSize = p;\n if (typeof pageSize === 'undefined') {\n pageSize = state.statePageSize;\n }\n return Math.floor((props.total - 1) / pageSize) + 1;\n}\n\nexport default {\n name: 'Pagination',\n mixins: [BaseMixin],\n model: {\n prop: 'current',\n event: 'change.current',\n },\n props: {\n disabled: PropTypes.bool,\n prefixCls: PropTypes.string.def('rc-pagination'),\n selectPrefixCls: PropTypes.string.def('rc-select'),\n current: PropTypes.number,\n defaultCurrent: PropTypes.number.def(1),\n total: PropTypes.number.def(0),\n pageSize: PropTypes.number,\n defaultPageSize: PropTypes.number.def(10),\n hideOnSinglePage: PropTypes.bool.def(false),\n showSizeChanger: PropTypes.bool.def(false),\n showLessItems: PropTypes.bool.def(false),\n // showSizeChange: PropTypes.func.def(noop),\n selectComponentClass: PropTypes.any,\n showPrevNextJumpers: PropTypes.bool.def(true),\n showQuickJumper: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]).def(false),\n showTitle: PropTypes.bool.def(true),\n pageSizeOptions: PropTypes.arrayOf(PropTypes.string),\n buildOptionText: PropTypes.func,\n showTotal: PropTypes.func,\n simple: PropTypes.bool,\n locale: PropTypes.object.def(LOCALE),\n itemRender: PropTypes.func.def(defaultItemRender),\n prevIcon: PropTypes.any,\n nextIcon: PropTypes.any,\n jumpPrevIcon: PropTypes.any,\n jumpNextIcon: PropTypes.any,\n },\n data() {\n const props = getOptionProps(this);\n const hasOnChange = this.onChange !== noop;\n const hasCurrent = 'current' in props;\n if (hasCurrent && !hasOnChange) {\n console.warn(\n 'Warning: You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.',\n ); // eslint-disable-line\n }\n let current = this.defaultCurrent;\n if ('current' in props) {\n current = this.current;\n }\n\n let pageSize = this.defaultPageSize;\n if ('pageSize' in props) {\n pageSize = this.pageSize;\n }\n\n current = Math.min(current, calculatePage(pageSize, undefined, props));\n\n return {\n stateCurrent: current,\n stateCurrentInputValue: current,\n statePageSize: pageSize,\n };\n },\n watch: {\n current(val) {\n this.setState({\n stateCurrent: val,\n stateCurrentInputValue: val,\n });\n },\n pageSize(val) {\n const newState = {};\n let current = this.stateCurrent;\n const newCurrent = calculatePage(val, this.$data, this.$props);\n current = current > newCurrent ? newCurrent : current;\n if (!hasProp(this, 'current')) {\n newState.stateCurrent = current;\n newState.stateCurrentInputValue = current;\n }\n newState.statePageSize = val;\n this.setState(newState);\n },\n stateCurrent(val, oldValue) {\n // When current page change, fix focused style of prev item\n // A hacky solution of https://github.com/ant-design/ant-design/issues/8948\n this.$nextTick(() => {\n if (this.$refs.paginationNode) {\n const lastCurrentNode = this.$refs.paginationNode.querySelector(\n `.${this.prefixCls}-item-${oldValue}`,\n );\n if (lastCurrentNode && document.activeElement === lastCurrentNode) {\n lastCurrentNode.blur();\n }\n }\n });\n },\n total() {\n const newState = {};\n const newCurrent = calculatePage(this.pageSize, this.$data, this.$props);\n if (hasProp(this, 'current')) {\n const current = Math.min(this.current, newCurrent);\n newState.stateCurrent = current;\n newState.stateCurrentInputValue = current;\n } else {\n let current = this.stateCurrent;\n if (current === 0 && newCurrent > 0) {\n current = 1;\n } else {\n current = Math.min(this.stateCurrent, newCurrent);\n }\n newState.stateCurrent = current;\n }\n this.setState(newState);\n },\n },\n methods: {\n getJumpPrevPage() {\n return Math.max(1, this.stateCurrent - (this.showLessItems ? 3 : 5));\n },\n getJumpNextPage() {\n return Math.min(\n calculatePage(undefined, this.$data, this.$props),\n this.stateCurrent + (this.showLessItems ? 3 : 5),\n );\n },\n getItemIcon(icon) {\n const { prefixCls } = this.$props;\n const iconNode = getComponentFromProp(this, icon, this.$props) || (\n <a class={`${prefixCls}-item-link`} />\n );\n return iconNode;\n },\n getValidValue(e) {\n const inputValue = e.target.value;\n const allPages = calculatePage(undefined, this.$data, this.$props);\n const { stateCurrentInputValue } = this.$data;\n let value;\n if (inputValue === '') {\n value = inputValue;\n } else if (isNaN(Number(inputValue))) {\n value = stateCurrentInputValue;\n } else if (inputValue >= allPages) {\n value = allPages;\n } else {\n value = Number(inputValue);\n }\n return value;\n },\n isValid(page) {\n return isInteger(page) && page !== this.stateCurrent;\n },\n shouldDisplayQuickJumper() {\n const { showQuickJumper, pageSize, total } = this.$props;\n if (total <= pageSize) {\n return false;\n }\n return showQuickJumper;\n },\n // calculatePage (p) {\n // let pageSize = p\n // if (typeof pageSize === 'undefined') {\n // pageSize = this.statePageSize\n // }\n // return Math.floor((this.total - 1) / pageSize) + 1\n // },\n handleKeyDown(event) {\n if (event.keyCode === KEYCODE.ARROW_UP || event.keyCode === KEYCODE.ARROW_DOWN) {\n event.preventDefault();\n }\n },\n handleKeyUp(e) {\n if (e.isComposing || e.target.composing) return;\n const value = this.getValidValue(e);\n const stateCurrentInputValue = this.stateCurrentInputValue;\n\n if (value !== stateCurrentInputValue) {\n this.setState({\n stateCurrentInputValue: value,\n });\n }\n\n if (e.keyCode === KEYCODE.ENTER) {\n this.handleChange(value);\n } else if (e.keyCode === KEYCODE.ARROW_UP) {\n this.handleChange(value - 1);\n } else if (e.keyCode === KEYCODE.ARROW_DOWN) {\n this.handleChange(value + 1);\n }\n },\n changePageSize(size) {\n let current = this.stateCurrent;\n const preCurrent = current;\n const newCurrent = calculatePage(size, this.$data, this.$props);\n current = current > newCurrent ? newCurrent : current;\n // fix the issue:\n // Once 'total' is 0, 'current' in 'onShowSizeChange' is 0, which is not correct.\n if (newCurrent === 0) {\n current = this.stateCurrent;\n }\n if (typeof size === 'number') {\n if (!hasProp(this, 'pageSize')) {\n this.setState({\n statePageSize: size,\n });\n }\n if (!hasProp(this, 'current')) {\n this.setState({\n stateCurrent: current,\n stateCurrentInputValue: current,\n });\n }\n }\n this.$emit('update:pageSize', size);\n this.$emit('showSizeChange', current, size);\n if (current !== preCurrent) {\n this.$emit('change.current', current, size);\n }\n },\n handleChange(p) {\n const { disabled } = this.$props;\n let page = p;\n if (this.isValid(page) && !disabled) {\n const currentPage = calculatePage(undefined, this.$data, this.$props);\n if (page > currentPage) {\n page = currentPage;\n } else if (page < 1) {\n page = 1;\n }\n if (!hasProp(this, 'current')) {\n this.setState({\n stateCurrent: page,\n stateCurrentInputValue: page,\n });\n }\n // this.$emit('input', page)\n this.$emit('change.current', page, this.statePageSize);\n this.$emit('change', page, this.statePageSize);\n return page;\n }\n return this.stateCurrent;\n },\n prev() {\n if (this.hasPrev()) {\n this.handleChange(this.stateCurrent - 1);\n }\n },\n next() {\n if (this.hasNext()) {\n this.handleChange(this.stateCurrent + 1);\n }\n },\n jumpPrev() {\n this.handleChange(this.getJumpPrevPage());\n },\n jumpNext() {\n this.handleChange(this.getJumpNextPage());\n },\n hasPrev() {\n return this.stateCurrent > 1;\n },\n hasNext() {\n return this.stateCurrent < calculatePage(undefined, this.$data, this.$props);\n },\n runIfEnter(event, callback, ...restParams) {\n if (event.key === 'Enter' || event.charCode === 13) {\n callback(...restParams);\n }\n },\n runIfEnterPrev(event) {\n this.runIfEnter(event, this.prev);\n },\n runIfEnterNext(event) {\n this.runIfEnter(event, this.next);\n },\n runIfEnterJumpPrev(event) {\n this.runIfEnter(event, this.jumpPrev);\n },\n runIfEnterJumpNext(event) {\n this.runIfEnter(event, this.jumpNext);\n },\n handleGoTO(event) {\n if (event.keyCode === KEYCODE.ENTER || event.type === 'click') {\n this.handleChange(this.stateCurrentInputValue);\n }\n },\n },\n render() {\n const { prefixCls, disabled } = this.$props;\n\n // When hideOnSinglePage is true and there is only 1 page, hide the pager\n if (this.hideOnSinglePage === true && this.total <= this.statePageSize) {\n return null;\n }\n const props = this.$props;\n const locale = this.locale;\n\n const allPages = calculatePage(undefined, this.$data, this.$props);\n const pagerList = [];\n let jumpPrev = null;\n let jumpNext = null;\n let firstPager = null;\n let lastPager = null;\n let gotoButton = null;\n const goButton = this.showQuickJumper && this.showQuickJumper.goButton;\n const pageBufferSize = this.showLessItems ? 1 : 2;\n const { stateCurrent, statePageSize } = this;\n const prevPage = stateCurrent - 1 > 0 ? stateCurrent - 1 : 0;\n const nextPage = stateCurrent + 1 < allPages ? stateCurrent + 1 : allPages;\n\n if (this.simple) {\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = (\n <button type=\"button\" onClick={this.handleGoTO} onKeyup={this.handleGoTO}>\n {locale.jump_to_confirm}\n </button>\n );\n } else {\n gotoButton = (\n <span onClick={this.handleGoTO} onKeyup={this.handleGoTO}>\n {goButton}\n </span>\n );\n }\n gotoButton = (\n <li\n title={this.showTitle ? `${locale.jump_to}${this.stateCurrent}/${allPages}` : null}\n class={`${prefixCls}-simple-pager`}\n >\n {gotoButton}\n </li>\n );\n }\n const hasPrev = this.hasPrev();\n const hasNext = this.hasNext();\n return (\n <ul class={`${prefixCls} ${prefixCls}-simple`}>\n <li\n title={this.showTitle ? locale.prev_page : null}\n onClick={this.prev}\n tabIndex={hasPrev ? 0 : null}\n onKeypress={this.runIfEnterPrev}\n class={`${hasPrev ? '' : `${prefixCls}-disabled`} ${prefixCls}-prev`}\n aria-disabled={!this.hasPrev()}\n >\n {this.itemRender(prevPage, 'prev', this.getItemIcon('prevIcon'))}\n </li>\n <li\n title={this.showTitle ? `${stateCurrent}/${allPages}` : null}\n class={`${prefixCls}-simple-pager`}\n >\n <input\n type=\"text\"\n value={this.stateCurrentInputValue}\n onKeydown={this.handleKeyDown}\n onKeyup={this.handleKeyUp}\n onInput={this.handleKeyUp}\n size=\"3\"\n {...{\n directives: [\n {\n name: 'ant-input',\n },\n ],\n }}\n />\n <span class={`${prefixCls}-slash`}>/</span>\n {allPages}\n </li>\n <li\n title={this.showTitle ? locale.next_page : null}\n onClick={this.next}\n tabIndex={this.hasNext ? 0 : null}\n onKeypress={this.runIfEnterNext}\n class={`${hasNext ? '' : `${prefixCls}-disabled`} ${prefixCls}-next`}\n aria-disabled={!this.hasNext()}\n >\n {this.itemRender(nextPage, 'next', this.getItemIcon('nextIcon'))}\n </li>\n {gotoButton}\n </ul>\n );\n }\n if (allPages <= 5 + pageBufferSize * 2) {\n const pagerProps = {\n props: {\n locale,\n rootPrefixCls: prefixCls,\n showTitle: props.showTitle,\n itemRender: props.itemRender,\n },\n on: {\n click: this.handleChange,\n keypress: this.runIfEnter,\n },\n };\n if (!allPages) {\n pagerList.push(\n <Pager {...pagerProps} key=\"noPager\" page={allPages} class={`${prefixCls}-disabled`} />,\n );\n }\n for (let i = 1; i <= allPages; i++) {\n const active = stateCurrent === i;\n pagerList.push(<Pager {...pagerProps} key={i} page={i} active={active} />);\n }\n } else {\n const prevItemTitle = this.showLessItems ? locale.prev_3 : locale.prev_5;\n const nextItemTitle = this.showLessItems ? locale.next_3 : locale.next_5;\n if (this.showPrevNextJumpers) {\n let jumpPrevClassString = `${prefixCls}-jump-prev`;\n if (props.jumpPrevIcon) {\n jumpPrevClassString += ` ${prefixCls}-jump-prev-custom-icon`;\n }\n jumpPrev = (\n <li\n title={this.showTitle ? prevItemTitle : null}\n key=\"prev\"\n onClick={this.jumpPrev}\n tabIndex=\"0\"\n onKeypress={this.runIfEnterJumpPrev}\n class={jumpPrevClassString}\n >\n {this.itemRender(this.getJumpPrevPage(), 'jump-prev', this.getItemIcon('jumpPrevIcon'))}\n </li>\n );\n let jumpNextClassString = `${prefixCls}-jump-next`;\n if (props.jumpNextIcon) {\n jumpNextClassString += ` ${prefixCls}-jump-next-custom-icon`;\n }\n jumpNext = (\n <li\n title={this.showTitle ? nextItemTitle : null}\n key=\"next\"\n tabIndex=\"0\"\n onClick={this.jumpNext}\n onKeypress={this.runIfEnterJumpNext}\n class={jumpNextClassString}\n >\n {this.itemRender(this.getJumpNextPage(), 'jump-next', this.getItemIcon('jumpNextIcon'))}\n </li>\n );\n }\n\n lastPager = (\n <Pager\n locale={locale}\n last\n rootPrefixCls={prefixCls}\n onClick={this.handleChange}\n onKeypress={this.runIfEnter}\n key={allPages}\n page={allPages}\n active={false}\n showTitle={this.showTitle}\n itemRender={this.itemRender}\n />\n );\n firstPager = (\n <Pager\n locale={locale}\n rootPrefixCls={prefixCls}\n onClick={this.handleChange}\n onKeypress={this.runIfEnter}\n key={1}\n page={1}\n active={false}\n showTitle={this.showTitle}\n itemRender={this.itemRender}\n />\n );\n\n let left = Math.max(1, stateCurrent - pageBufferSize);\n let right = Math.min(stateCurrent + pageBufferSize, allPages);\n\n if (stateCurrent - 1 <= pageBufferSize) {\n right = 1 + pageBufferSize * 2;\n }\n\n if (allPages - stateCurrent <= pageBufferSize) {\n left = allPages - pageBufferSize * 2;\n }\n\n for (let i = left; i <= right; i++) {\n const active = stateCurrent === i;\n pagerList.push(\n <Pager\n locale={locale}\n rootPrefixCls={prefixCls}\n onClick={this.handleChange}\n onKeypress={this.runIfEnter}\n key={i}\n page={i}\n active={active}\n showTitle={this.showTitle}\n itemRender={this.itemRender}\n />,\n );\n }\n\n if (stateCurrent - 1 >= pageBufferSize * 2 && stateCurrent !== 1 + 2) {\n pagerList[0] = (\n <Pager\n locale={locale}\n rootPrefixCls={prefixCls}\n onClick={this.handleChange}\n onKeypress={this.runIfEnter}\n key={left}\n page={left}\n class={`${prefixCls}-item-after-jump-prev`}\n active={false}\n showTitle={this.showTitle}\n itemRender={this.itemRender}\n />\n );\n pagerList.unshift(jumpPrev);\n }\n if (allPages - stateCurrent >= pageBufferSize * 2 && stateCurrent !== allPages - 2) {\n pagerList[pagerList.length - 1] = (\n <Pager\n locale={locale}\n rootPrefixCls={prefixCls}\n onClick={this.handleChange}\n onKeypress={this.runIfEnter}\n key={right}\n page={right}\n class={`${prefixCls}-item-before-jump-next`}\n active={false}\n showTitle={this.showTitle}\n itemRender={this.itemRender}\n />\n );\n pagerList.push(jumpNext);\n }\n\n if (left !== 1) {\n pagerList.unshift(firstPager);\n }\n if (right !== allPages) {\n pagerList.push(lastPager);\n }\n }\n\n let totalText = null;\n\n if (this.showTotal) {\n totalText = (\n <li class={`${prefixCls}-total-text`}>\n {this.showTotal(this.total, [\n this.total === 0 ? 0 : (stateCurrent - 1) * statePageSize + 1,\n stateCurrent * statePageSize > this.total ? this.total : stateCurrent * statePageSize,\n ])}\n </li>\n );\n }\n const prevDisabled = !this.hasPrev() || !allPages;\n const nextDisabled = !this.hasNext() || !allPages;\n const buildOptionText = this.buildOptionText || this.$scopedSlots.buildOptionText;\n return (\n <ul\n class={{ [`${prefixCls}`]: true, [`${prefixCls}-disabled`]: disabled }}\n unselectable=\"unselectable\"\n ref=\"paginationNode\"\n >\n {totalText}\n <li\n title={this.showTitle ? locale.prev_page : null}\n onClick={this.prev}\n tabIndex={prevDisabled ? null : 0}\n onKeypress={this.runIfEnterPrev}\n class={`${!prevDisabled ? '' : `${prefixCls}-disabled`} ${prefixCls}-prev`}\n aria-disabled={prevDisabled}\n >\n {this.itemRender(prevPage, 'prev', this.getItemIcon('prevIcon'))}\n </li>\n {pagerList}\n <li\n title={this.showTitle ? locale.next_page : null}\n onClick={this.next}\n tabIndex={nextDisabled ? null : 0}\n onKeypress={this.runIfEnterNext}\n class={`${!nextDisabled ? '' : `${prefixCls}-disabled`} ${prefixCls}-next`}\n aria-disabled={nextDisabled}\n >\n {this.itemRender(nextPage, 'next', this.getItemIcon('nextIcon'))}\n </li>\n <Options\n disabled={disabled}\n locale={locale}\n rootPrefixCls={prefixCls}\n selectComponentClass={this.selectComponentClass}\n selectPrefixCls={this.selectPrefixCls}\n changeSize={this.showSizeChanger ? this.changePageSize : null}\n current={stateCurrent}\n pageSize={statePageSize}\n pageSizeOptions={this.pageSizeOptions}\n buildOptionText={buildOptionText || null}\n quickGo={this.shouldDisplayQuickJumper() ? this.handleChange : null}\n goButton={goButton}\n />\n </ul>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport VcSelect from '../select';\nimport MiniSelect from './MiniSelect';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport { getOptionProps, getListeners } from '../_util/props-util';\nimport VcPagination from '../vc-pagination';\nimport enUS from '../vc-pagination/locale/en_US';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nexport const PaginationProps = () => ({\n total: PropTypes.number,\n defaultCurrent: PropTypes.number,\n disabled: PropTypes.bool,\n current: PropTypes.number,\n defaultPageSize: PropTypes.number,\n pageSize: PropTypes.number,\n hideOnSinglePage: PropTypes.bool,\n showSizeChanger: PropTypes.bool,\n pageSizeOptions: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])),\n buildOptionText: PropTypes.func,\n showSizeChange: PropTypes.func,\n showQuickJumper: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n showTotal: PropTypes.any,\n size: PropTypes.string,\n simple: PropTypes.bool,\n locale: PropTypes.object,\n prefixCls: PropTypes.string,\n selectPrefixCls: PropTypes.string,\n itemRender: PropTypes.any,\n role: PropTypes.string,\n showLessItems: PropTypes.bool,\n});\n\nexport const PaginationConfig = () => ({\n ...PaginationProps(),\n position: PropTypes.oneOf(['top', 'bottom', 'both']),\n});\n\nexport default {\n name: 'APagination',\n model: {\n prop: 'current',\n event: 'change.current',\n },\n props: {\n ...PaginationProps(),\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n getIconsProps(prefixCls) {\n const prevIcon = (\n <a class={`${prefixCls}-item-link`}>\n <Icon type=\"left\" />\n </a>\n );\n const nextIcon = (\n <a class={`${prefixCls}-item-link`}>\n <Icon type=\"right\" />\n </a>\n );\n const jumpPrevIcon = (\n <a class={`${prefixCls}-item-link`}>\n {/* You can use transition effects in the container :) */}\n <div class={`${prefixCls}-item-container`}>\n <Icon class={`${prefixCls}-item-link-icon`} type=\"double-left\" />\n <span class={`${prefixCls}-item-ellipsis`}>•••</span>\n </div>\n </a>\n );\n const jumpNextIcon = (\n <a class={`${prefixCls}-item-link`}>\n {/* You can use transition effects in the container :) */}\n <div class={`${prefixCls}-item-container`}>\n <Icon class={`${prefixCls}-item-link-icon`} type=\"double-right\" />\n <span class={`${prefixCls}-item-ellipsis`}>•••</span>\n </div>\n </a>\n );\n return {\n prevIcon,\n nextIcon,\n jumpPrevIcon,\n jumpNextIcon,\n };\n },\n renderPagination(contextLocale) {\n const {\n prefixCls: customizePrefixCls,\n selectPrefixCls: customizeSelectPrefixCls,\n buildOptionText,\n size,\n locale: customLocale,\n ...restProps\n } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('pagination', customizePrefixCls);\n const selectPrefixCls = getPrefixCls('select', customizeSelectPrefixCls);\n\n const isSmall = size === 'small';\n const paginationProps = {\n props: {\n prefixCls,\n selectPrefixCls,\n ...restProps,\n ...this.getIconsProps(prefixCls),\n selectComponentClass: isSmall ? MiniSelect : VcSelect,\n locale: { ...contextLocale, ...customLocale },\n buildOptionText: buildOptionText || this.$scopedSlots.buildOptionText,\n },\n class: {\n mini: isSmall,\n },\n on: getListeners(this),\n };\n\n return <VcPagination {...paginationProps} />;\n },\n },\n render() {\n return (\n <LocaleReceiver\n componentName=\"Pagination\"\n defaultLocale={enUS}\n scopedSlots={{ default: this.renderPagination }}\n />\n );\n },\n};\n","import Pagination from './Pagination';\nimport Base from '../base';\n\nexport { PaginationProps, PaginationConfig } from './Pagination';\n\n/* istanbul ignore next */\nPagination.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Pagination.name, Pagination);\n};\n\nexport default Pagination;\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport {\n getComponentFromProp,\n isStringElement,\n getListeners,\n isEmptyElement,\n} from '../_util/props-util';\nimport { Col } from '../grid';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport { ListGridType } from './index';\nimport { cloneElement } from '../_util/vnode';\n\nexport const ListItemProps = {\n prefixCls: PropTypes.string,\n extra: PropTypes.any,\n actions: PropTypes.arrayOf(PropTypes.any),\n grid: ListGridType,\n};\n\nexport const ListItemMetaProps = {\n avatar: PropTypes.any,\n description: PropTypes.any,\n prefixCls: PropTypes.string,\n title: PropTypes.any,\n};\n\nexport const Meta = {\n functional: true,\n name: 'AListItemMeta',\n __ANT_LIST_ITEM_META: true,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n render(h, context) {\n const { props, slots, listeners, injections } = context;\n const slotsMap = slots();\n const getPrefixCls = injections.configProvider.getPrefixCls;\n const { prefixCls: customizePrefixCls } = props;\n const prefixCls = getPrefixCls('list', customizePrefixCls);\n\n const avatar = props.avatar || slotsMap.avatar;\n const title = props.title || slotsMap.title;\n const description = props.description || slotsMap.description;\n const content = (\n <div class={`${prefixCls}-item-meta-content`}>\n {title && <h4 class={`${prefixCls}-item-meta-title`}>{title}</h4>}\n {description && <div class={`${prefixCls}-item-meta-description`}>{description}</div>}\n </div>\n );\n return (\n <div {...{ on: listeners }} class={`${prefixCls}-item-meta`}>\n {avatar && <div class={`${prefixCls}-item-meta-avatar`}>{avatar}</div>}\n {(title || description) && content}\n </div>\n );\n },\n};\n\nfunction getGrid(grid, t) {\n return grid[t] && Math.floor(24 / grid[t]);\n}\n\nexport default {\n name: 'AListItem',\n Meta,\n props: ListItemProps,\n inject: {\n listContext: { default: () => ({}) },\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n isItemContainsTextNodeAndNotSingular() {\n const { $slots } = this;\n let result;\n const children = $slots.default || [];\n children.forEach(element => {\n if (isStringElement(element) && !isEmptyElement(element)) {\n result = true;\n }\n });\n return result && children.length > 1;\n },\n\n isFlexMode() {\n const extra = getComponentFromProp(this, 'extra');\n const { itemLayout } = this.listContext;\n if (itemLayout === 'vertical') {\n return !!extra;\n }\n return !this.isItemContainsTextNodeAndNotSingular();\n },\n },\n render() {\n const { grid, itemLayout } = this.listContext;\n const { prefixCls: customizePrefixCls, $slots } = this;\n const listeners = getListeners(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('list', customizePrefixCls);\n const extra = getComponentFromProp(this, 'extra');\n const actions = getComponentFromProp(this, 'actions');\n\n const actionsContent = actions && actions.length > 0 && (\n <ul class={`${prefixCls}-item-action`} key=\"actions\">\n {actions.map((action, i) => (\n <li key={`${prefixCls}-item-action-${i}`}>\n {action}\n {i !== actions.length - 1 && <em class={`${prefixCls}-item-action-split`} />}\n </li>\n ))}\n </ul>\n );\n\n const Tag = grid ? 'div' : 'li';\n const itemChildren = (\n <Tag\n {...{ on: listeners }}\n class={classNames(`${prefixCls}-item`, {\n [`${prefixCls}-item-no-flex`]: !this.isFlexMode(),\n })}\n >\n {itemLayout === 'vertical' && extra\n ? [\n <div class={`${prefixCls}-item-main`} key=\"content\">\n {$slots.default}\n {actionsContent}\n </div>,\n <div class={`${prefixCls}-item-extra`} key=\"extra\">\n {extra}\n </div>,\n ]\n : [$slots.default, actionsContent, cloneElement(extra, { key: 'extra' })]}\n </Tag>\n );\n\n const mainContent = grid ? (\n <Col\n span={getGrid(grid, 'column')}\n xs={getGrid(grid, 'xs')}\n sm={getGrid(grid, 'sm')}\n md={getGrid(grid, 'md')}\n lg={getGrid(grid, 'lg')}\n xl={getGrid(grid, 'xl')}\n xxl={getGrid(grid, 'xxl')}\n >\n {itemChildren}\n </Col>\n ) : (\n itemChildren\n );\n\n return mainContent;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nimport Spin from '../spin';\nimport Pagination, { PaginationConfig } from '../pagination';\nimport { Row } from '../grid';\n\nimport Item from './Item';\nimport {\n initDefaultProps,\n getComponentFromProp,\n filterEmpty,\n getListeners,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport Base from '../base';\n\nexport { ListItemProps, ListItemMetaProps } from './Item';\n\nexport const ColumnCount = ['', 1, 2, 3, 4, 6, 8, 12, 24];\n\nexport const ColumnType = ['gutter', 'column', 'xs', 'sm', 'md', 'lg', 'xl', 'xxl'];\n\nexport const ListGridType = {\n gutter: PropTypes.number,\n column: PropTypes.oneOf(ColumnCount),\n xs: PropTypes.oneOf(ColumnCount),\n sm: PropTypes.oneOf(ColumnCount),\n md: PropTypes.oneOf(ColumnCount),\n lg: PropTypes.oneOf(ColumnCount),\n xl: PropTypes.oneOf(ColumnCount),\n xxl: PropTypes.oneOf(ColumnCount),\n};\n\nexport const ListSize = ['small', 'default', 'large'];\n\nexport const ListProps = () => ({\n bordered: PropTypes.bool,\n dataSource: PropTypes.array,\n extra: PropTypes.any,\n grid: PropTypes.shape(ListGridType).loose,\n itemLayout: PropTypes.string,\n loading: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n loadMore: PropTypes.any,\n pagination: PropTypes.oneOfType([PropTypes.shape(PaginationConfig()).loose, PropTypes.bool]),\n prefixCls: PropTypes.string,\n rowKey: PropTypes.any,\n renderItem: PropTypes.any,\n size: PropTypes.oneOf(ListSize),\n split: PropTypes.bool,\n header: PropTypes.any,\n footer: PropTypes.any,\n locale: PropTypes.object,\n});\n\nconst List = {\n Item,\n name: 'AList',\n props: initDefaultProps(ListProps(), {\n dataSource: [],\n bordered: false,\n split: true,\n loading: false,\n pagination: false,\n }),\n provide() {\n return {\n listContext: this,\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n this.keys = [];\n this.defaultPaginationProps = {\n current: 1,\n pageSize: 10,\n onChange: (page, pageSize) => {\n const { pagination } = this;\n this.paginationCurrent = page;\n if (pagination && pagination.onChange) {\n pagination.onChange(page, pageSize);\n }\n },\n total: 0,\n };\n this.onPaginationChange = this.triggerPaginationEvent('onChange');\n this.onPaginationShowSizeChange = this.triggerPaginationEvent('onShowSizeChange');\n const { pagination } = this.$props;\n const paginationObj = pagination && typeof pagination === 'object' ? pagination : {};\n return {\n paginationCurrent: paginationObj.defaultCurrent || 1,\n paginationSize: paginationObj.defaultPageSize || 10,\n };\n },\n methods: {\n triggerPaginationEvent(eventName) {\n return (page, pageSize) => {\n const { pagination } = this.$props;\n this.paginationCurrent = page;\n this.paginationSize = pageSize;\n if (pagination && pagination[eventName]) {\n pagination[eventName](page, pageSize);\n }\n };\n },\n renderItem2(item, index) {\n const { $scopedSlots, rowKey } = this;\n const renderItem = this.renderItem || $scopedSlots.renderItem;\n if (!renderItem) return null;\n let key;\n if (typeof rowKey === 'function') {\n key = rowKey(item);\n } else if (typeof rowKey === 'string') {\n key = item[rowKey];\n } else {\n key = item.key;\n }\n\n if (!key) {\n key = `list-item-${index}`;\n }\n\n this.keys[index] = key;\n\n return renderItem(item, index);\n },\n\n isSomethingAfterLastItem() {\n const { pagination } = this;\n const loadMore = getComponentFromProp(this, 'loadMore');\n const footer = getComponentFromProp(this, 'footer');\n return !!(loadMore || pagination || footer);\n },\n\n renderEmpty(prefixCls, renderEmpty) {\n const { locale } = this;\n return (\n <div class={`${prefixCls}-empty-text`}>\n {(locale && locale.emptyText) || renderEmpty(h, 'List')}\n </div>\n );\n },\n },\n\n render() {\n const {\n prefixCls: customizePrefixCls,\n bordered,\n split,\n itemLayout,\n pagination,\n grid,\n dataSource = [],\n size,\n loading,\n $slots,\n paginationCurrent,\n paginationSize,\n } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('list', customizePrefixCls);\n\n const loadMore = getComponentFromProp(this, 'loadMore');\n const footer = getComponentFromProp(this, 'footer');\n const header = getComponentFromProp(this, 'header');\n const children = filterEmpty($slots.default || []);\n let loadingProp = loading;\n if (typeof loadingProp === 'boolean') {\n loadingProp = {\n spinning: loadingProp,\n };\n }\n const isLoading = loadingProp && loadingProp.spinning;\n\n // large => lg\n // small => sm\n let sizeCls = '';\n switch (size) {\n case 'large':\n sizeCls = 'lg';\n break;\n case 'small':\n sizeCls = 'sm';\n break;\n default:\n break;\n }\n const classString = classNames(prefixCls, {\n [`${prefixCls}-vertical`]: itemLayout === 'vertical',\n [`${prefixCls}-${sizeCls}`]: sizeCls,\n [`${prefixCls}-split`]: split,\n [`${prefixCls}-bordered`]: bordered,\n [`${prefixCls}-loading`]: isLoading,\n [`${prefixCls}-grid`]: grid,\n [`${prefixCls}-something-after-last-item`]: this.isSomethingAfterLastItem(),\n });\n const paginationProps = {\n ...this.defaultPaginationProps,\n total: dataSource.length,\n current: paginationCurrent,\n pageSize: paginationSize,\n ...(pagination || {}),\n };\n const largestPage = Math.ceil(paginationProps.total / paginationProps.pageSize);\n if (paginationProps.current > largestPage) {\n paginationProps.current = largestPage;\n }\n const { class: cls, style, ...restProps } = paginationProps;\n const paginationContent = pagination ? (\n <div class={`${prefixCls}-pagination`}>\n <Pagination\n {...{\n props: omit(restProps, ['onChange']),\n class: cls,\n style,\n on: {\n change: this.onPaginationChange,\n showSizeChange: this.onPaginationShowSizeChange,\n },\n }}\n />\n </div>\n ) : null;\n\n let splitDataSource = [...dataSource];\n if (pagination) {\n if (dataSource.length > (paginationProps.current - 1) * paginationProps.pageSize) {\n splitDataSource = [...dataSource].splice(\n (paginationProps.current - 1) * paginationProps.pageSize,\n paginationProps.pageSize,\n );\n }\n }\n\n let childrenContent;\n childrenContent = isLoading && <div style={{ minHeight: 53 }} />;\n if (splitDataSource.length > 0) {\n const items = splitDataSource.map((item, index) => this.renderItem2(item, index));\n const childrenList = items.map((child, index) =>\n cloneElement(child, {\n key: this.keys[index],\n }),\n );\n\n childrenContent = grid ? (\n <Row gutter={grid.gutter}>{childrenList}</Row>\n ) : (\n <ul class={`${prefixCls}-items`}>{childrenList}</ul>\n );\n } else if (!children.length && !isLoading) {\n const renderEmpty = this.configProvider.renderEmpty;\n childrenContent = this.renderEmpty(prefixCls, renderEmpty);\n }\n const paginationPosition = paginationProps.position || 'bottom';\n\n return (\n <div class={classString} {...{ on: getListeners(this) }}>\n {(paginationPosition === 'top' || paginationPosition === 'both') && paginationContent}\n {header && <div class={`${prefixCls}-header`}>{header}</div>}\n <Spin {...{ props: loadingProp }}>\n {childrenContent}\n {children}\n </Spin>\n {footer && <div class={`${prefixCls}-footer`}>{footer}</div>}\n {loadMore ||\n ((paginationPosition === 'bottom' || paginationPosition === 'both') && paginationContent)}\n </div>\n );\n },\n};\n\n/* istanbul ignore next */\nList.install = function(Vue) {\n Vue.use(Base);\n Vue.component(List.name, List);\n Vue.component(List.Item.name, List.Item);\n Vue.component(List.Item.Meta.name, List.Item.Meta);\n};\n\nexport default List;\n","import defaultLocale from '../locale/default';\n\n// export interface ModalLocale {\n// okText: string;\n// cancelText: string;\n// justOkText: string;\n// }\n\nlet runtimeLocale = {\n ...defaultLocale.Modal,\n};\n\nexport function changeConfirmLocale(newLocale) {\n if (newLocale) {\n runtimeLocale = {\n ...runtimeLocale,\n ...newLocale,\n };\n } else {\n runtimeLocale = {\n ...defaultLocale.Modal,\n };\n }\n}\n\nexport function getConfirmLocale() {\n return runtimeLocale;\n}\n","import PropTypes from '../_util/vue-types';\nimport * as moment from 'moment';\nimport interopDefault from '../_util/interopDefault';\nimport { changeConfirmLocale } from '../modal/locale';\nimport Base from '../base';\nimport warning from '../_util/warning';\n// export interface Locale {\n// locale: string;\n// Pagination?: Object;\n// DatePicker?: Object;\n// TimePicker?: Object;\n// Calendar?: Object;\n// Table?: Object;\n// Modal?: ModalLocale;\n// Popconfirm?: Object;\n// Transfer?: Object;\n// Select?: Object;\n// Upload?: Object;\n// }\nexport const ANT_MARK = 'internalMark';\nfunction setMomentLocale(locale) {\n if (locale && locale.locale) {\n interopDefault(moment).locale(locale.locale);\n } else {\n interopDefault(moment).locale('en');\n }\n}\n\nconst LocaleProvider = {\n name: 'ALocaleProvider',\n props: {\n locale: PropTypes.object.def(() => ({})),\n _ANT_MARK__: PropTypes.string,\n },\n data() {\n warning(\n this._ANT_MARK__ === ANT_MARK,\n 'LocaleProvider',\n '`LocaleProvider` is deprecated. Please use `locale` with `ConfigProvider` instead',\n );\n return {\n antLocale: {\n ...this.locale,\n exist: true,\n },\n };\n },\n provide() {\n return {\n localeData: this.$data,\n };\n },\n watch: {\n locale(val) {\n this.antLocale = {\n ...this.locale,\n exist: true,\n };\n setMomentLocale(val);\n changeConfirmLocale(val && val.Modal);\n },\n },\n created() {\n const { locale } = this;\n setMomentLocale(locale);\n changeConfirmLocale(locale && locale.Modal);\n },\n beforeDestroy() {\n changeConfirmLocale();\n },\n render() {\n return this.$slots.default ? this.$slots.default[0] : null;\n },\n};\n\n/* istanbul ignore next */\nLocaleProvider.install = function(Vue) {\n Vue.use(Base);\n Vue.component(LocaleProvider.name, LocaleProvider);\n};\n\nexport default LocaleProvider;\n","import PropTypes from '../_util/vue-types';\nimport { getStyle, getComponentFromProp, getListeners } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\n\nfunction noop() {}\n\nexport default {\n mixins: [BaseMixin],\n props: {\n duration: PropTypes.number.def(1.5),\n closable: PropTypes.bool,\n prefixCls: PropTypes.string,\n update: PropTypes.bool,\n closeIcon: PropTypes.any,\n },\n watch: {\n duration() {\n this.restartCloseTimer();\n },\n },\n\n mounted() {\n this.startCloseTimer();\n },\n updated() {\n if (this.update) {\n this.restartCloseTimer();\n }\n },\n\n beforeDestroy() {\n this.clearCloseTimer();\n this.willDestroy = true; // beforeDestroy调用后依然会触发onMouseleave事件\n },\n methods: {\n close(e) {\n if (e) {\n e.stopPropagation();\n }\n this.clearCloseTimer();\n this.__emit('close');\n },\n\n startCloseTimer() {\n this.clearCloseTimer();\n if (!this.willDestroy && this.duration) {\n this.closeTimer = setTimeout(() => {\n this.close();\n }, this.duration * 1000);\n }\n },\n\n clearCloseTimer() {\n if (this.closeTimer) {\n clearTimeout(this.closeTimer);\n this.closeTimer = null;\n }\n },\n restartCloseTimer() {\n this.clearCloseTimer();\n this.startCloseTimer();\n },\n },\n\n render() {\n const { prefixCls, closable, clearCloseTimer, startCloseTimer, $slots, close } = this;\n const componentClass = `${prefixCls}-notice`;\n const className = {\n [`${componentClass}`]: 1,\n [`${componentClass}-closable`]: closable,\n };\n const style = getStyle(this);\n const closeIcon = getComponentFromProp(this, 'closeIcon');\n return (\n <div\n class={className}\n style={style || { right: '50%' }}\n onMouseenter={clearCloseTimer}\n onMouseleave={startCloseTimer}\n onClick={getListeners(this).click || noop}\n >\n <div class={`${componentClass}-content`}>{$slots.default}</div>\n {closable ? (\n <a tabIndex=\"0\" onClick={close} class={`${componentClass}-close`}>\n {closeIcon || <span class={`${componentClass}-close-x`} />}\n </a>\n ) : null}\n </div>\n );\n },\n};\n","import Vue from 'vue';\nimport PropTypes from '../_util/vue-types';\nimport { getStyle, getComponentFromProp } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport createChainedFunction from '../_util/createChainedFunction';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport Notice from './Notice';\nimport Base from '../base';\n\nfunction noop() {}\n\nlet seed = 0;\nconst now = Date.now();\n\nfunction getUuid() {\n return `rcNotification_${now}_${seed++}`;\n}\n\nconst Notification = {\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string.def('rc-notification'),\n transitionName: PropTypes.string,\n animation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).def('fade'),\n maxCount: PropTypes.number,\n closeIcon: PropTypes.any,\n },\n data() {\n return {\n notices: [],\n };\n },\n methods: {\n getTransitionName() {\n const props = this.$props;\n let transitionName = props.transitionName;\n if (!transitionName && props.animation) {\n transitionName = `${props.prefixCls}-${props.animation}`;\n }\n return transitionName;\n },\n\n add(notice) {\n const key = (notice.key = notice.key || getUuid());\n const { maxCount } = this.$props;\n this.setState(previousState => {\n const notices = previousState.notices;\n const noticeIndex = notices.map(v => v.key).indexOf(key);\n const updatedNotices = notices.concat();\n if (noticeIndex !== -1) {\n updatedNotices.splice(noticeIndex, 1, notice);\n } else {\n if (maxCount && notices.length >= maxCount) {\n // XXX, use key of first item to update new added (let React to move exsiting\n // instead of remove and mount). Same key was used before for both a) external\n // manual control and b) internal react 'key' prop , which is not that good.\n notice.updateKey = updatedNotices[0].updateKey || updatedNotices[0].key;\n updatedNotices.shift();\n }\n updatedNotices.push(notice);\n }\n return {\n notices: updatedNotices,\n };\n });\n },\n\n remove(key) {\n this.setState(previousState => {\n return {\n notices: previousState.notices.filter(notice => notice.key !== key),\n };\n });\n },\n },\n\n render(h) {\n const { prefixCls, notices, remove, getTransitionName } = this;\n const transitionProps = getTransitionProps(getTransitionName());\n const noticeNodes = notices.map((notice, index) => {\n const update = Boolean(index === notices.length - 1 && notice.updateKey);\n const key = notice.updateKey ? notice.updateKey : notice.key;\n\n const { content, duration, closable, onClose, style, class: className } = notice;\n const close = createChainedFunction(remove.bind(this, notice.key), onClose);\n const noticeProps = {\n props: {\n prefixCls,\n duration,\n closable,\n update,\n closeIcon: getComponentFromProp(this, 'closeIcon'),\n },\n on: {\n close,\n click: notice.onClick || noop,\n },\n style,\n class: className,\n key,\n };\n return (\n <Notice {...noticeProps}>{typeof content === 'function' ? content(h) : content}</Notice>\n );\n });\n const className = {\n [prefixCls]: 1,\n };\n const style = getStyle(this);\n return (\n <div\n class={className}\n style={\n style || {\n top: '65px',\n left: '50%',\n }\n }\n >\n <transition-group {...transitionProps}>{noticeNodes}</transition-group>\n </div>\n );\n },\n};\n\nNotification.newInstance = function newNotificationInstance(properties, callback) {\n const { getContainer, style, class: className, ...props } = properties || {};\n const div = document.createElement('div');\n if (getContainer) {\n const root = getContainer();\n root.appendChild(div);\n } else {\n document.body.appendChild(div);\n }\n const V = Base.Vue || Vue;\n new V({\n el: div,\n mounted() {\n const self = this;\n this.$nextTick(() => {\n callback({\n notice(noticeProps) {\n self.$refs.notification.add(noticeProps);\n },\n removeNotice(key) {\n self.$refs.notification.remove(key);\n },\n component: self,\n destroy() {\n self.$destroy();\n self.$el.parentNode.removeChild(self.$el);\n },\n });\n });\n },\n render() {\n const p = {\n props,\n ref: 'notification',\n style,\n class: className,\n };\n return <Notification {...p} />;\n },\n });\n};\n\nexport default Notification;\n","// based on rc-notification 3.3.1\nimport Notification from './Notification';\nexport default Notification;\n","import Notification from '../vc-notification';\nimport Icon from '../icon';\n\nlet defaultDuration = 3;\nlet defaultTop;\nlet messageInstance;\nlet key = 1;\nlet prefixCls = 'ant-message';\nlet transitionName = 'move-up';\nlet getContainer = () => document.body;\nlet maxCount;\n\nfunction getMessageInstance(callback) {\n if (messageInstance) {\n callback(messageInstance);\n return;\n }\n Notification.newInstance(\n {\n prefixCls,\n transitionName,\n style: { top: defaultTop }, // 覆盖原来的样式\n getContainer,\n maxCount,\n },\n instance => {\n if (messageInstance) {\n callback(messageInstance);\n return;\n }\n messageInstance = instance;\n callback(instance);\n },\n );\n}\n\n// type NoticeType = 'info' | 'success' | 'error' | 'warning' | 'loading';\n\nfunction notice(args) {\n const duration = args.duration !== undefined ? args.duration : defaultDuration;\n const iconType = {\n info: 'info-circle',\n success: 'check-circle',\n error: 'close-circle',\n warning: 'exclamation-circle',\n loading: 'loading',\n }[args.type];\n\n const target = args.key || key++;\n const closePromise = new Promise(resolve => {\n const callback = () => {\n if (typeof args.onClose === 'function') {\n args.onClose();\n }\n return resolve(true);\n };\n getMessageInstance(instance => {\n instance.notice({\n key: target,\n duration,\n style: {},\n content: h => {\n const iconNode = (\n <Icon type={iconType} theme={iconType === 'loading' ? 'outlined' : 'filled'} />\n );\n const switchIconNode = iconType ? iconNode : '';\n return (\n <div\n class={`${prefixCls}-custom-content${args.type ? ` ${prefixCls}-${args.type}` : ''}`}\n >\n {args.icon\n ? typeof args.icon === 'function'\n ? args.icon(h)\n : args.icon\n : switchIconNode}\n <span>{typeof args.content === 'function' ? args.content(h) : args.content}</span>\n </div>\n );\n },\n onClose: callback,\n });\n });\n });\n const result = () => {\n if (messageInstance) {\n messageInstance.removeNotice(target);\n }\n };\n result.then = (filled, rejected) => closePromise.then(filled, rejected);\n result.promise = closePromise;\n return result;\n}\n\n// type ConfigContent = React.ReactNode | string;\n// type ConfigDuration = number | (() => void);\n// export type ConfigOnClose = () => void;\n\nfunction isArgsProps(content) {\n return Object.prototype.toString.call(content) === '[object Object]' && !!content.content;\n}\n\n// export interface ConfigOptions {\n// top?: number;\n// duration?: number;\n// prefixCls?: string;\n// getContainer?: () => HTMLElement;\n// transitionName?: string;\n// }\n\nconst api = {\n open: notice,\n config(options) {\n if (options.top !== undefined) {\n defaultTop = options.top;\n messageInstance = null; // delete messageInstance for new defaultTop\n }\n if (options.duration !== undefined) {\n defaultDuration = options.duration;\n }\n if (options.prefixCls !== undefined) {\n prefixCls = options.prefixCls;\n }\n if (options.getContainer !== undefined) {\n getContainer = options.getContainer;\n }\n if (options.transitionName !== undefined) {\n transitionName = options.transitionName;\n messageInstance = null; // delete messageInstance for new transitionName\n }\n if (options.maxCount !== undefined) {\n maxCount = options.maxCount;\n messageInstance = null;\n }\n },\n destroy() {\n if (messageInstance) {\n messageInstance.destroy();\n messageInstance = null;\n }\n },\n};\n\n['success', 'info', 'warning', 'error', 'loading'].forEach(type => {\n api[type] = (content, duration, onClose) => {\n if (isArgsProps(content)) {\n return api.open({ ...content, type });\n }\n if (typeof duration === 'function') {\n onClose = duration;\n duration = undefined;\n }\n return api.open({ content, duration, type, onClose });\n };\n});\n\napi.warn = api.warning;\n\nexport default api;\n","/**\n * Cut input selection into 2 part and return text before selection start\n */\nexport function getBeforeSelectionText(input) {\n const { selectionStart } = input;\n return input.value.slice(0, selectionStart);\n}\n\nfunction lower(char) {\n return (char || '').toLowerCase();\n}\n\n/**\n * Find the last match prefix index\n */\nexport function getLastMeasureIndex(text, prefix = '') {\n const prefixList = Array.isArray(prefix) ? prefix : [prefix];\n return prefixList.reduce(\n (lastMatch, prefixStr) => {\n const lastIndex = text.lastIndexOf(prefixStr);\n if (lastIndex > lastMatch.location) {\n return {\n location: lastIndex,\n prefix: prefixStr,\n };\n }\n return lastMatch;\n },\n { location: -1, prefix: '' },\n );\n}\n\nfunction reduceText(text, targetText, split) {\n const firstChar = text[0];\n if (!firstChar || firstChar === split) {\n return text;\n }\n\n // Reuse rest text as it can\n let restText = text;\n const targetTextLen = targetText.length;\n for (let i = 0; i < targetTextLen; i += 1) {\n if (lower(restText[i]) !== lower(targetText[i])) {\n restText = restText.slice(i);\n break;\n } else if (i === targetTextLen - 1) {\n restText = restText.slice(targetTextLen);\n }\n }\n\n return restText;\n}\n\n/**\n * Paint targetText into current text:\n * text: little@litest\n * targetText: light\n * => little @light test\n */\nexport function replaceWithMeasure(text, measureConfig) {\n const { measureLocation, prefix, targetText, selectionStart, split } = measureConfig;\n\n // Before text will append one space if have other text\n let beforeMeasureText = text.slice(0, measureLocation);\n if (beforeMeasureText[beforeMeasureText.length - split.length] === split) {\n beforeMeasureText = beforeMeasureText.slice(0, beforeMeasureText.length - split.length);\n }\n if (beforeMeasureText) {\n beforeMeasureText = `${beforeMeasureText}${split}`;\n }\n\n // Cut duplicate string with current targetText\n let restText = reduceText(\n text.slice(selectionStart),\n targetText.slice(selectionStart - measureLocation - prefix.length),\n split,\n );\n if (restText.slice(0, split.length) === split) {\n restText = restText.slice(split.length);\n }\n\n const connectedStartText = `${beforeMeasureText}${prefix}${targetText}${split}`;\n\n return {\n text: `${connectedStartText}${restText}`,\n selectionLocation: connectedStartText.length,\n };\n}\n\nexport function setInputSelection(input, location) {\n input.setSelectionRange(location, location);\n\n /**\n * Reset caret into view.\n * Since this function always called by user control, it's safe to focus element.\n */\n input.blur();\n input.focus();\n}\n\nexport function validateSearch(text = '', props = {}) {\n const { split } = props;\n return !split || text.indexOf(split) === -1;\n}\n\nexport function filterOption(input = '', { value = '' } = {}) {\n const lowerCase = input.toLowerCase();\n return value.toLowerCase().indexOf(lowerCase) !== -1;\n}\n","import PropTypes from '../../_util/vue-types';\n\nexport const OptionProps = {\n value: PropTypes.string,\n disabled: PropTypes.boolean,\n children: PropTypes.any,\n};\n\nexport default {\n name: 'Option',\n props: OptionProps,\n render() {\n return null;\n },\n};\n","import Menu, { MenuItem } from '../../vc-menu';\nimport PropTypes from '../../_util/vue-types';\nimport { OptionProps } from './Option';\n\nfunction noop() {}\nexport default {\n name: 'DropdownMenu',\n props: {\n prefixCls: PropTypes.string,\n options: PropTypes.arrayOf(OptionProps),\n },\n inject: {\n mentionsContext: { default: {} },\n },\n\n render() {\n const {\n notFoundContent,\n activeIndex,\n setActiveIndex,\n selectOption,\n onFocus = noop,\n onBlur = noop,\n } = this.mentionsContext;\n const { prefixCls, options } = this.$props;\n const activeOption = options[activeIndex] || {};\n\n return (\n <Menu\n {...{\n props: {\n prefixCls: `${prefixCls}-menu`,\n activeKey: activeOption.value,\n },\n on: {\n select: ({ key }) => {\n const option = options.find(({ value }) => value === key);\n selectOption(option);\n },\n focus: onFocus,\n blur: onBlur,\n },\n }}\n >\n {options.map((option, index) => {\n const { value, disabled, children } = option;\n return (\n <MenuItem\n key={value}\n disabled={disabled}\n onMouseenter={() => {\n setActiveIndex(index);\n }}\n >\n {children}\n </MenuItem>\n );\n })}\n {!options.length && <MenuItem disabled>{notFoundContent}</MenuItem>}\n </Menu>\n );\n },\n};\n","export const PlaceMent = ['top', 'bottom'];\n","import PropTypes from '../../_util/vue-types';\nimport Trigger from '../../vc-trigger';\nimport DropdownMenu from './DropdownMenu';\nimport { OptionProps } from './Option';\nimport { PlaceMent } from './placement';\n\nconst BUILT_IN_PLACEMENTS = {\n bottomRight: {\n points: ['tl', 'br'],\n offset: [0, 4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n topRight: {\n points: ['bl', 'tr'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n};\n\nexport default {\n name: 'KeywordTrigger',\n props: {\n loading: PropTypes.bool,\n options: PropTypes.arrayOf(OptionProps),\n prefixCls: PropTypes.string,\n placement: PropTypes.oneOf(PlaceMent),\n visible: PropTypes.bool,\n transitionName: PropTypes.string,\n getPopupContainer: PropTypes.func,\n },\n methods: {\n getDropdownPrefix() {\n return `${this.$props.prefixCls}-dropdown`;\n },\n getDropdownElement() {\n const { options } = this.$props;\n return <DropdownMenu prefixCls={this.getDropdownPrefix()} options={options} />;\n },\n },\n\n render() {\n const { visible, placement, transitionName, getPopupContainer } = this.$props;\n\n const { $slots } = this;\n\n const children = $slots.default;\n\n const popupElement = this.getDropdownElement();\n\n return (\n <Trigger\n prefixCls={this.getDropdownPrefix()}\n popupVisible={visible}\n popup={popupElement}\n popupPlacement={placement === 'top' ? 'topRight' : 'bottomRight'}\n popupTransitionName={transitionName}\n builtinPlacements={BUILT_IN_PLACEMENTS}\n getPopupContainer={getPopupContainer}\n >\n {children}\n </Trigger>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport { initDefaultProps } from '../../_util/props-util';\nimport {\n filterOption as defaultFilterOption,\n validateSearch as defaultValidateSearch,\n} from './util';\nimport { PlaceMent } from './placement';\n\nexport const mentionsProps = {\n autoFocus: PropTypes.bool,\n prefix: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n prefixCls: PropTypes.string,\n value: PropTypes.string,\n defaultValue: PropTypes.string,\n disabled: PropTypes.bool,\n notFoundContent: PropTypes.any,\n split: PropTypes.string,\n transitionName: PropTypes.string,\n placement: PropTypes.oneOf(PlaceMent),\n character: PropTypes.any,\n characterRender: PropTypes.func,\n filterOption: PropTypes.func,\n validateSearch: PropTypes.func,\n getPopupContainer: PropTypes.func,\n};\n\nexport const vcMentionsProps = {\n ...mentionsProps,\n children: PropTypes.any,\n};\n\nexport const defaultProps = {\n prefix: '@',\n split: ' ',\n validateSearch: defaultValidateSearch,\n filterOption: defaultFilterOption,\n};\n\nexport default initDefaultProps(vcMentionsProps, defaultProps);\n","import omit from 'omit.js';\nimport KeyCode from '../../_util/KeyCode';\nimport BaseMixin from '../../_util/BaseMixin';\nimport {\n getSlots,\n hasProp,\n getOptionProps,\n getListeners,\n initDefaultProps,\n} from '../../_util/props-util';\nimport warning from 'warning';\nimport {\n getBeforeSelectionText,\n getLastMeasureIndex,\n replaceWithMeasure,\n setInputSelection,\n} from './util';\nimport KeywordTrigger from './KeywordTrigger';\nimport { vcMentionsProps, defaultProps } from './mentionsProps';\n\nfunction noop() {}\n\nconst Mentions = {\n name: 'Mentions',\n mixins: [BaseMixin],\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(vcMentionsProps, defaultProps),\n provide() {\n return {\n mentionsContext: this,\n };\n },\n data() {\n const { value = '', defaultValue = '' } = this.$props;\n warning(this.$props.children, 'please children prop replace slots.default');\n return {\n _value: !hasProp(this, 'value') ? defaultValue : value,\n measuring: false,\n measureLocation: 0,\n measureText: null,\n measurePrefix: '',\n activeIndex: 0,\n isFocus: false,\n };\n },\n watch: {\n value(val) {\n this.$data._value = val;\n },\n },\n updated() {\n this.$nextTick(() => {\n const { measuring } = this.$data;\n\n // Sync measure div top with textarea for rc-trigger usage\n if (measuring) {\n this.$refs.measure.scrollTop = this.$refs.textarea.scrollTop;\n }\n });\n },\n methods: {\n triggerChange(value) {\n const props = getOptionProps(this);\n if (!('value' in props)) {\n this.setState({ _value: value });\n } else {\n this.$forceUpdate();\n }\n this.$emit('change', value);\n },\n onChange({ target: { value, composing }, isComposing }) {\n if (isComposing || composing) return;\n this.triggerChange(value);\n },\n onKeyDown(event) {\n const { which } = event;\n const { activeIndex, measuring } = this.$data;\n // Skip if not measuring\n if (!measuring) {\n return;\n }\n\n if (which === KeyCode.UP || which === KeyCode.DOWN) {\n // Control arrow function\n const optionLen = this.getOptions().length;\n const offset = which === KeyCode.UP ? -1 : 1;\n const newActiveIndex = (activeIndex + offset + optionLen) % optionLen;\n this.setState({\n activeIndex: newActiveIndex,\n });\n event.preventDefault();\n } else if (which === KeyCode.ESC) {\n this.stopMeasure();\n } else if (which === KeyCode.ENTER) {\n // Measure hit\n event.preventDefault();\n const options = this.getOptions();\n if (!options.length) {\n this.stopMeasure();\n return;\n }\n const option = options[activeIndex];\n this.selectOption(option);\n }\n },\n /**\n * When to start measure:\n * 1. When user press `prefix`\n * 2. When measureText !== prevMeasureText\n * - If measure hit\n * - If measuring\n *\n * When to stop measure:\n * 1. Selection is out of range\n * 2. Contains `space`\n * 3. ESC or select one\n */\n onKeyUp(event) {\n const { key, which } = event;\n const { measureText: prevMeasureText, measuring } = this.$data;\n const { prefix = '', validateSearch } = this.$props;\n const target = event.target;\n const selectionStartText = getBeforeSelectionText(target);\n const { location: measureIndex, prefix: measurePrefix } = getLastMeasureIndex(\n selectionStartText,\n prefix,\n );\n\n // Skip if match the white key list\n if ([KeyCode.ESC, KeyCode.UP, KeyCode.DOWN, KeyCode.ENTER].indexOf(which) !== -1) {\n return;\n }\n\n if (measureIndex !== -1) {\n const measureText = selectionStartText.slice(measureIndex + measurePrefix.length);\n const validateMeasure = validateSearch(measureText, this.$props);\n const matchOption = !!this.getOptions(measureText).length;\n\n if (validateMeasure) {\n if (\n key === measurePrefix ||\n measuring ||\n (measureText !== prevMeasureText && matchOption)\n ) {\n this.startMeasure(measureText, measurePrefix, measureIndex);\n }\n } else if (measuring) {\n // Stop if measureText is invalidate\n this.stopMeasure();\n }\n\n /**\n * We will trigger `onSearch` to developer since they may use for async update.\n * If met `space` means user finished searching.\n */\n if (validateMeasure) {\n this.$emit('search', measureText, measurePrefix);\n }\n } else if (measuring) {\n this.stopMeasure();\n }\n },\n onInputFocus(event) {\n this.onFocus(event);\n },\n onInputBlur(event) {\n this.onBlur(event);\n },\n onDropdownFocus() {\n this.onFocus();\n },\n onDropdownBlur() {\n this.onBlur();\n },\n onFocus(event) {\n window.clearTimeout(this.focusId);\n const { isFocus } = this.$data;\n if (!isFocus && event) {\n this.$emit('focus', event);\n }\n this.setState({ isFocus: true });\n },\n onBlur(event) {\n this.focusId = window.setTimeout(() => {\n this.setState({ isFocus: false });\n this.stopMeasure();\n this.$emit('blur', event);\n }, 0);\n },\n selectOption(option) {\n const { _value: value, measureLocation, measurePrefix } = this.$data;\n const { split } = this.$props;\n const { value: mentionValue = '' } = option;\n const { text, selectionLocation } = replaceWithMeasure(value, {\n measureLocation,\n targetText: mentionValue,\n prefix: measurePrefix,\n selectionStart: this.$refs.textarea.selectionStart,\n split,\n });\n this.triggerChange(text);\n this.stopMeasure(() => {\n // We need restore the selection position\n setInputSelection(this.$refs.textarea, selectionLocation);\n });\n\n this.$emit('select', option, measurePrefix);\n },\n setActiveIndex(activeIndex) {\n this.setState({\n activeIndex,\n });\n },\n getOptions(measureText) {\n const targetMeasureText = measureText || this.$data.measureText || '';\n const { filterOption, children = [] } = this.$props;\n const list = (Array.isArray(children) ? children : [children])\n .map(item => {\n const children = getSlots(item).default;\n return { ...getOptionProps(item), children };\n })\n .filter(option => {\n /** Return all result if `filterOption` is false. */\n if (filterOption === false) {\n return true;\n }\n return filterOption(targetMeasureText, option);\n });\n return list;\n },\n startMeasure(measureText, measurePrefix, measureLocation) {\n this.setState({\n measuring: true,\n measureText,\n measurePrefix,\n measureLocation,\n activeIndex: 0,\n });\n },\n stopMeasure(callback) {\n this.setState(\n {\n measuring: false,\n measureLocation: 0,\n measureText: null,\n },\n callback,\n );\n },\n focus() {\n this.$refs.textarea.focus();\n },\n blur() {\n this.$refs.textarea.blur();\n },\n },\n\n render() {\n const { _value: value, measureLocation, measurePrefix, measuring } = this.$data;\n const {\n prefixCls,\n placement,\n transitionName,\n autoFocus,\n notFoundContent,\n getPopupContainer,\n ...restProps\n } = getOptionProps(this);\n\n const inputProps = omit(restProps, [\n 'value',\n 'defaultValue',\n 'prefix',\n 'split',\n 'children',\n 'validateSearch',\n 'filterOption',\n ]);\n\n const options = measuring ? this.getOptions() : [];\n\n return (\n <div class={prefixCls}>\n <textarea\n ref=\"textarea\"\n {...{\n directives: [{ name: 'ant-input' }],\n attrs: { ...inputProps, ...this.$attrs },\n domProps: {\n value,\n },\n on: {\n ...getListeners(this),\n select: noop,\n change: noop,\n input: this.onChange,\n keydown: this.onKeyDown,\n keyup: this.onKeyUp,\n blur: this.onInputBlur,\n },\n }}\n />\n {measuring && (\n <div ref=\"measure\" class={`${prefixCls}-measure`}>\n {value.slice(0, measureLocation)}\n <KeywordTrigger\n prefixCls={prefixCls}\n transitionName={transitionName}\n placement={placement}\n options={options}\n visible\n getPopupContainer={getPopupContainer}\n >\n <span>{measurePrefix}</span>\n </KeywordTrigger>\n {value.slice(measureLocation + measurePrefix.length)}\n </div>\n )}\n </div>\n );\n },\n};\n\nexport default Mentions;\n","import Mentions from './src/Mentions';\nimport Option from './src/Option';\n\nMentions.Option = Option;\n\nexport default Mentions;\n","import classNames from 'classnames';\nimport omit from 'omit.js';\nimport PropTypes from '../_util/vue-types';\nimport VcMentions from '../vc-mentions';\nimport { mentionsProps } from '../vc-mentions/src/mentionsProps';\nimport Base from '../base';\nimport Spin from '../spin';\nimport BaseMixin from '../_util/BaseMixin';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport {\n getOptionProps,\n getComponentFromProp,\n getListeners,\n filterEmpty,\n} from '../_util/props-util';\n\nconst { Option } = VcMentions;\n\nfunction loadingFilterOption() {\n return true;\n}\n\nfunction getMentions(value = '', config) {\n const { prefix = '@', split = ' ' } = config || {};\n const prefixList = Array.isArray(prefix) ? prefix : [prefix];\n\n return value\n .split(split)\n .map((str = '') => {\n let hitPrefix = null;\n\n prefixList.some(prefixStr => {\n const startStr = str.slice(0, prefixStr.length);\n if (startStr === prefixStr) {\n hitPrefix = prefixStr;\n return true;\n }\n return false;\n });\n\n if (hitPrefix !== null) {\n return {\n prefix: hitPrefix,\n value: str.slice(hitPrefix.length),\n };\n }\n return null;\n })\n .filter(entity => !!entity && !!entity.value);\n}\n\nconst Mentions = {\n name: 'AMentions',\n mixins: [BaseMixin],\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'change',\n },\n Option: { ...Option, name: 'AMentionsOption' },\n getMentions,\n props: {\n ...mentionsProps,\n loading: PropTypes.bool,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n focused: false,\n };\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus) {\n this.focus();\n }\n });\n },\n methods: {\n onFocus(...args) {\n this.$emit('focus', ...args);\n this.setState({\n focused: true,\n });\n },\n onBlur(...args) {\n this.$emit('blur', ...args);\n this.setState({\n focused: false,\n });\n },\n onSelect(...args) {\n this.$emit('select', ...args);\n this.setState({\n focused: true,\n });\n },\n onChange(val) {\n this.$emit('change', val);\n },\n getNotFoundContent(renderEmpty) {\n const h = this.$createElement;\n const notFoundContent = getComponentFromProp(this, 'notFoundContent');\n if (notFoundContent !== undefined) {\n return notFoundContent;\n }\n\n return renderEmpty(h, 'Select');\n },\n getOptions() {\n const { loading } = this.$props;\n const children = filterEmpty(this.$slots.default || []);\n\n if (loading) {\n return (\n <Option value=\"ANTD_SEARCHING\" disabled>\n <Spin size=\"small\" />\n </Option>\n );\n }\n return children;\n },\n getFilterOption() {\n const { filterOption, loading } = this.$props;\n if (loading) {\n return loadingFilterOption;\n }\n return filterOption;\n },\n focus() {\n this.$refs.vcMentions.focus();\n },\n blur() {\n this.$refs.vcMentions.blur();\n },\n },\n render() {\n const { focused } = this.$data;\n const { getPrefixCls, renderEmpty } = this.configProvider;\n const {\n prefixCls: customizePrefixCls,\n disabled,\n getPopupContainer,\n ...restProps\n } = getOptionProps(this);\n const prefixCls = getPrefixCls('mentions', customizePrefixCls);\n const otherProps = omit(restProps, ['loading']);\n\n const mergedClassName = classNames({\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-focused`]: focused,\n });\n\n const mentionsProps = {\n props: {\n prefixCls,\n notFoundContent: this.getNotFoundContent(renderEmpty),\n ...otherProps,\n disabled,\n filterOption: this.getFilterOption(),\n getPopupContainer,\n children: this.getOptions(),\n },\n class: mergedClassName,\n attrs: { rows: 1, ...this.$attrs },\n on: {\n ...getListeners(this),\n change: this.onChange,\n select: this.onSelect,\n focus: this.onFocus,\n blur: this.onBlur,\n },\n ref: 'vcMentions',\n };\n\n return <VcMentions {...mentionsProps} />;\n },\n};\n\n/* istanbul ignore next */\nMentions.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Mentions.name, Mentions);\n Vue.component(Mentions.Option.name, Mentions.Option);\n};\n\nexport default Mentions;\n","import PropTypes from '../_util/vue-types';\nimport { getListeners } from '../_util/props-util';\n\nconst ILazyRenderBoxPropTypes = {\n visible: PropTypes.bool,\n hiddenClassName: PropTypes.string,\n forceRender: PropTypes.bool,\n};\n\nexport default {\n props: ILazyRenderBoxPropTypes,\n render() {\n return <div {...{ on: getListeners(this) }}>{this.$slots.default}</div>;\n },\n};\n","let cached;\n\nexport default function getScrollBarSize(fresh) {\n if (fresh || cached === undefined) {\n const inner = document.createElement('div');\n inner.style.width = '100%';\n inner.style.height = '200px';\n\n const outer = document.createElement('div');\n const outerStyle = outer.style;\n\n outerStyle.position = 'absolute';\n outerStyle.top = 0;\n outerStyle.left = 0;\n outerStyle.pointerEvents = 'none';\n outerStyle.visibility = 'hidden';\n outerStyle.width = '200px';\n outerStyle.height = '150px';\n outerStyle.overflow = 'hidden';\n\n outer.appendChild(inner);\n\n document.body.appendChild(outer);\n\n const widthContained = inner.offsetWidth;\n outer.style.overflow = 'scroll';\n let widthScroll = inner.offsetWidth;\n\n if (widthContained === widthScroll) {\n widthScroll = outer.clientWidth;\n }\n\n document.body.removeChild(outer);\n\n cached = widthContained - widthScroll;\n }\n return cached;\n}\n","import getScrollBarSize from './getScrollBarSize';\n\nexport default close => {\n const bodyIsOverflowing =\n document.body.scrollHeight > (window.innerHeight || document.documentElement.clientHeight) &&\n window.innerWidth > document.body.offsetWidth;\n if (!bodyIsOverflowing) {\n return;\n }\n if (close) {\n document.body.style.position = '';\n document.body.style.width = '';\n return;\n }\n const scrollBarSize = getScrollBarSize();\n if (scrollBarSize) {\n document.body.style.position = 'relative';\n document.body.style.width = `calc(100% - ${scrollBarSize}px)`;\n }\n};\n","import PropTypes from '../_util/vue-types';\n\nfunction IDialogPropTypes() {\n return {\n keyboard: PropTypes.bool,\n mask: PropTypes.bool,\n afterClose: PropTypes.func,\n // onClose: PropTypes. (e: SyntheticEvent<HTMLDivElement>) =>any,\n closable: PropTypes.bool,\n maskClosable: PropTypes.bool,\n visible: PropTypes.bool,\n destroyOnClose: PropTypes.bool,\n mousePosition: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number,\n }).loose,\n title: PropTypes.any,\n footer: PropTypes.any,\n transitionName: PropTypes.string,\n maskTransitionName: PropTypes.string,\n animation: PropTypes.any,\n maskAnimation: PropTypes.any,\n wrapStyle: PropTypes.object,\n bodyStyle: PropTypes.object,\n maskStyle: PropTypes.object,\n prefixCls: PropTypes.string,\n wrapClassName: PropTypes.string,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n zIndex: PropTypes.number,\n bodyProps: PropTypes.any,\n maskProps: PropTypes.any,\n wrapProps: PropTypes.any,\n getContainer: PropTypes.any,\n dialogStyle: PropTypes.object.def(() => ({})),\n dialogClass: PropTypes.string.def(''),\n closeIcon: PropTypes.any,\n forceRender: PropTypes.bool,\n getOpenCount: PropTypes.func,\n // https://github.com/ant-design/ant-design/issues/19771\n // https://github.com/react-component/dialog/issues/95\n focusTriggerAfterClose: PropTypes.bool,\n };\n}\n\nexport default IDialogPropTypes;\n","import { getComponentFromProp, initDefaultProps } from '../_util/props-util';\nimport KeyCode from '../_util/KeyCode';\nimport contains from '../vc-util/Dom/contains';\nimport LazyRenderBox from './LazyRenderBox';\nimport BaseMixin from '../_util/BaseMixin';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport switchScrollingEffect from '../_util/switchScrollingEffect';\nimport getDialogPropTypes from './IDialogPropTypes';\nconst IDialogPropTypes = getDialogPropTypes();\n\nlet uuid = 0;\n\nfunction noop() {}\nfunction getScroll(w, top) {\n let ret = w[`page${top ? 'Y' : 'X'}Offset`];\n const method = `scroll${top ? 'Top' : 'Left'}`;\n if (typeof ret !== 'number') {\n const d = w.document;\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction setTransformOrigin(node, value) {\n const style = node.style;\n ['Webkit', 'Moz', 'Ms', 'ms'].forEach(prefix => {\n style[`${prefix}TransformOrigin`] = value;\n });\n style[`transformOrigin`] = value;\n}\n\nfunction offset(el) {\n const rect = el.getBoundingClientRect();\n const pos = {\n left: rect.left,\n top: rect.top,\n };\n const doc = el.ownerDocument;\n const w = doc.defaultView || doc.parentWindow;\n pos.left += getScroll(w);\n pos.top += getScroll(w, true);\n return pos;\n}\n\nlet cacheOverflow = {};\n\nexport default {\n mixins: [BaseMixin],\n props: initDefaultProps(IDialogPropTypes, {\n mask: true,\n visible: false,\n keyboard: true,\n closable: true,\n maskClosable: true,\n destroyOnClose: false,\n prefixCls: 'rc-dialog',\n getOpenCount: () => null,\n focusTriggerAfterClose: true,\n }),\n data() {\n return {\n destroyPopup: false,\n };\n },\n\n provide() {\n return {\n dialogContext: this,\n };\n },\n\n watch: {\n visible(val) {\n if (val) {\n this.destroyPopup = false;\n }\n this.$nextTick(() => {\n this.updatedCallback(!val);\n });\n },\n },\n\n beforeMount() {\n this.inTransition = false;\n this.titleId = `rcDialogTitle${uuid++}`;\n },\n mounted() {\n this.$nextTick(() => {\n this.updatedCallback(false);\n // if forceRender is true, set element style display to be none;\n if ((this.forceRender || (this.getContainer === false && !this.visible)) && this.$refs.wrap) {\n this.$refs.wrap.style.display = 'none';\n }\n });\n },\n beforeDestroy() {\n const { visible, getOpenCount } = this;\n if ((visible || this.inTransition) && !getOpenCount()) {\n this.switchScrollingEffect();\n }\n clearTimeout(this.timeoutId);\n },\n methods: {\n // 对外暴露的 api 不要更改名称或删除\n getDialogWrap() {\n return this.$refs.wrap;\n },\n updatedCallback(visible) {\n const mousePosition = this.mousePosition;\n const { mask, focusTriggerAfterClose } = this;\n if (this.visible) {\n // first show\n if (!visible) {\n this.openTime = Date.now();\n // this.lastOutSideFocusNode = document.activeElement\n this.switchScrollingEffect();\n // this.$refs.wrap.focus()\n this.tryFocus();\n const dialogNode = this.$refs.dialog.$el;\n if (mousePosition) {\n const elOffset = offset(dialogNode);\n setTransformOrigin(\n dialogNode,\n `${mousePosition.x - elOffset.left}px ${mousePosition.y - elOffset.top}px`,\n );\n } else {\n setTransformOrigin(dialogNode, '');\n }\n }\n } else if (visible) {\n this.inTransition = true;\n if (mask && this.lastOutSideFocusNode && focusTriggerAfterClose) {\n try {\n this.lastOutSideFocusNode.focus();\n } catch (e) {\n this.lastOutSideFocusNode = null;\n }\n this.lastOutSideFocusNode = null;\n }\n }\n },\n tryFocus() {\n if (!contains(this.$refs.wrap, document.activeElement)) {\n this.lastOutSideFocusNode = document.activeElement;\n this.$refs.sentinelStart.focus();\n }\n },\n onAnimateLeave() {\n const { afterClose, destroyOnClose } = this;\n // need demo?\n // https://github.com/react-component/dialog/pull/28\n if (this.$refs.wrap) {\n this.$refs.wrap.style.display = 'none';\n }\n if (destroyOnClose) {\n this.destroyPopup = true;\n }\n this.inTransition = false;\n this.switchScrollingEffect();\n if (afterClose) {\n afterClose();\n }\n },\n onDialogMouseDown() {\n this.dialogMouseDown = true;\n },\n\n onMaskMouseUp() {\n if (this.dialogMouseDown) {\n this.timeoutId = setTimeout(() => {\n this.dialogMouseDown = false;\n }, 0);\n }\n },\n onMaskClick(e) {\n // android trigger click on open (fastclick??)\n if (Date.now() - this.openTime < 300) {\n return;\n }\n if (e.target === e.currentTarget && !this.dialogMouseDown) {\n this.close(e);\n }\n },\n onKeydown(e) {\n const props = this.$props;\n if (props.keyboard && e.keyCode === KeyCode.ESC) {\n e.stopPropagation();\n this.close(e);\n return;\n }\n // keep focus inside dialog\n if (props.visible) {\n if (e.keyCode === KeyCode.TAB) {\n const activeElement = document.activeElement;\n const sentinelStart = this.$refs.sentinelStart;\n if (e.shiftKey) {\n if (activeElement === sentinelStart) {\n this.$refs.sentinelEnd.focus();\n }\n } else if (activeElement === this.$refs.sentinelEnd) {\n sentinelStart.focus();\n }\n }\n }\n },\n getDialogElement() {\n const {\n closable,\n prefixCls,\n width,\n height,\n title,\n footer: tempFooter,\n bodyStyle,\n visible,\n bodyProps,\n forceRender,\n dialogStyle,\n dialogClass,\n } = this;\n const dest = { ...dialogStyle };\n if (width !== undefined) {\n dest.width = typeof width === 'number' ? `${width}px` : width;\n }\n if (height !== undefined) {\n dest.height = typeof height === 'number' ? `${height}px` : height;\n }\n\n let footer;\n if (tempFooter) {\n footer = (\n <div key=\"footer\" class={`${prefixCls}-footer`} ref=\"footer\">\n {tempFooter}\n </div>\n );\n }\n\n let header;\n if (title) {\n header = (\n <div key=\"header\" class={`${prefixCls}-header`} ref=\"header\">\n <div class={`${prefixCls}-title`} id={this.titleId}>\n {title}\n </div>\n </div>\n );\n }\n\n let closer;\n if (closable) {\n const closeIcon = getComponentFromProp(this, 'closeIcon');\n closer = (\n <button\n type=\"button\"\n key=\"close\"\n onClick={this.close || noop}\n aria-label=\"Close\"\n class={`${prefixCls}-close`}\n >\n {closeIcon || <span class={`${prefixCls}-close-x`} />}\n </button>\n );\n }\n\n const style = dest;\n const sentinelStyle = { width: 0, height: 0, overflow: 'hidden' };\n const cls = {\n [prefixCls]: true,\n };\n const transitionName = this.getTransitionName();\n const dialogElement = (\n <LazyRenderBox\n v-show={visible}\n key=\"dialog-element\"\n role=\"document\"\n ref=\"dialog\"\n style={style}\n class={[cls, dialogClass]}\n forceRender={forceRender}\n onMousedown={this.onDialogMouseDown}\n >\n <div tabIndex={0} ref=\"sentinelStart\" style={sentinelStyle} aria-hidden=\"true\" />\n <div class={`${prefixCls}-content`}>\n {closer}\n {header}\n <div key=\"body\" class={`${prefixCls}-body`} style={bodyStyle} ref=\"body\" {...bodyProps}>\n {this.$slots.default}\n </div>\n {footer}\n </div>\n <div tabIndex={0} ref=\"sentinelEnd\" style={sentinelStyle} aria-hidden=\"true\" />\n </LazyRenderBox>\n );\n const dialogTransitionProps = getTransitionProps(transitionName, {\n afterLeave: this.onAnimateLeave,\n });\n return (\n <transition key=\"dialog\" {...dialogTransitionProps}>\n {visible || !this.destroyPopup ? dialogElement : null}\n </transition>\n );\n },\n getZIndexStyle() {\n const style = {};\n const props = this.$props;\n if (props.zIndex !== undefined) {\n style.zIndex = props.zIndex;\n }\n return style;\n },\n getWrapStyle() {\n return { ...this.getZIndexStyle(), ...this.wrapStyle };\n },\n getMaskStyle() {\n return { ...this.getZIndexStyle(), ...this.maskStyle };\n },\n getMaskElement() {\n const props = this.$props;\n let maskElement;\n if (props.mask) {\n const maskTransition = this.getMaskTransitionName();\n maskElement = (\n <LazyRenderBox\n v-show={props.visible}\n style={this.getMaskStyle()}\n key=\"mask\"\n class={`${props.prefixCls}-mask`}\n {...props.maskProps}\n />\n );\n if (maskTransition) {\n const maskTransitionProps = getTransitionProps(maskTransition);\n maskElement = (\n <transition key=\"mask\" {...maskTransitionProps}>\n {maskElement}\n </transition>\n );\n }\n }\n return maskElement;\n },\n getMaskTransitionName() {\n const props = this.$props;\n let transitionName = props.maskTransitionName;\n const animation = props.maskAnimation;\n if (!transitionName && animation) {\n transitionName = `${props.prefixCls}-${animation}`;\n }\n return transitionName;\n },\n getTransitionName() {\n const props = this.$props;\n let transitionName = props.transitionName;\n const animation = props.animation;\n if (!transitionName && animation) {\n transitionName = `${props.prefixCls}-${animation}`;\n }\n return transitionName;\n },\n // setScrollbar() {\n // if (this.bodyIsOverflowing && this.scrollbarWidth !== undefined) {\n // document.body.style.paddingRight = `${this.scrollbarWidth}px`;\n // }\n // },\n switchScrollingEffect() {\n const { getOpenCount } = this;\n const openCount = getOpenCount();\n if (openCount === 1) {\n if (cacheOverflow.hasOwnProperty('overflowX')) {\n return;\n }\n cacheOverflow = {\n overflowX: document.body.style.overflowX,\n overflowY: document.body.style.overflowY,\n overflow: document.body.style.overflow,\n };\n switchScrollingEffect();\n // Must be set after switchScrollingEffect\n document.body.style.overflow = 'hidden';\n } else if (!openCount) {\n // IE browser doesn't merge overflow style, need to set it separately\n // https://github.com/ant-design/ant-design/issues/19393\n if (cacheOverflow.overflow !== undefined) {\n document.body.style.overflow = cacheOverflow.overflow;\n }\n if (cacheOverflow.overflowX !== undefined) {\n document.body.style.overflowX = cacheOverflow.overflowX;\n }\n if (cacheOverflow.overflowY !== undefined) {\n document.body.style.overflowY = cacheOverflow.overflowY;\n }\n cacheOverflow = {};\n switchScrollingEffect(true);\n }\n },\n // removeScrollingEffect() {\n // const { getOpenCount } = this;\n // const openCount = getOpenCount();\n // if (openCount !== 0) {\n // return;\n // }\n // document.body.style.overflow = '';\n // switchScrollingEffect(true);\n // // this.resetAdjustments();\n // },\n close(e) {\n this.__emit('close', e);\n },\n },\n render() {\n const { prefixCls, maskClosable, visible, wrapClassName, title, wrapProps } = this;\n const style = this.getWrapStyle();\n // clear hide display\n // and only set display after async anim, not here for hide\n if (visible) {\n style.display = null;\n }\n return (\n <div class={`${prefixCls}-root`}>\n {this.getMaskElement()}\n <div\n tabIndex={-1}\n onKeydown={this.onKeydown}\n class={`${prefixCls}-wrap ${wrapClassName || ''}`}\n ref=\"wrap\"\n onClick={maskClosable ? this.onMaskClick : noop}\n onMouseup={maskClosable ? this.onMaskMouseUp : noop}\n role=\"dialog\"\n aria-labelledby={title ? this.titleId : null}\n style={style}\n {...wrapProps}\n >\n {this.getDialogElement()}\n </div>\n </div>\n );\n },\n};\n","/**\n * Easy to set element style, return previous style\n * IE browser compatible(IE browser doesn't merge overflow style, need to set it separately)\n * https://github.com/ant-design/ant-design/issues/19393\n *\n */\nfunction setStyle(style, options = {}) {\n const { element = document.body } = options;\n const oldStyle = {};\n\n const styleKeys = Object.keys(style);\n\n // IE browser compatible\n styleKeys.forEach(key => {\n oldStyle[key] = element.style[key];\n });\n\n styleKeys.forEach(key => {\n element.style[key] = style[key];\n });\n\n return oldStyle;\n}\n\nexport default setStyle;\n","import PropTypes from './vue-types';\nimport { cloneElement } from './vnode';\n\nexport default {\n name: 'Portal',\n props: {\n getContainer: PropTypes.func.isRequired,\n children: PropTypes.any.isRequired,\n didUpdate: PropTypes.func,\n },\n mounted() {\n this.createContainer();\n },\n updated() {\n const { didUpdate } = this.$props;\n if (didUpdate) {\n this.$nextTick(() => {\n didUpdate(this.$props);\n });\n }\n },\n\n beforeDestroy() {\n this.removeContainer();\n },\n methods: {\n createContainer() {\n this._container = this.$props.getContainer();\n this.$forceUpdate();\n },\n removeContainer() {\n if (this._container && this._container.parentNode) {\n this._container.parentNode.removeChild(this._container);\n }\n },\n },\n\n render() {\n if (this._container) {\n return cloneElement(this.$props.children, {\n directives: [\n {\n name: 'ant-portal',\n value: this._container,\n },\n ],\n });\n }\n return null;\n },\n};\n","import PropTypes from './vue-types';\nimport switchScrollingEffect from './switchScrollingEffect';\nimport setStyle from './setStyle';\nimport Portal from './Portal';\n\nlet openCount = 0;\nconst windowIsUndefined = !(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n// https://github.com/ant-design/ant-design/issues/19340\n// https://github.com/ant-design/ant-design/issues/19332\nlet cacheOverflow = {};\n\nexport default {\n name: 'PortalWrapper',\n props: {\n wrapperClassName: PropTypes.string,\n forceRender: PropTypes.bool,\n getContainer: PropTypes.any,\n children: PropTypes.func,\n visible: PropTypes.bool,\n },\n data() {\n const { visible } = this.$props;\n openCount = visible ? openCount + 1 : openCount;\n return {};\n },\n updated() {\n this.setWrapperClassName();\n },\n watch: {\n visible(val) {\n openCount = val ? openCount + 1 : openCount - 1;\n },\n getContainer(getContainer, prevGetContainer) {\n const getContainerIsFunc =\n typeof getContainer === 'function' && typeof prevGetContainer === 'function';\n if (\n getContainerIsFunc\n ? getContainer.toString() !== prevGetContainer.toString()\n : getContainer !== prevGetContainer\n ) {\n this.removeCurrentContainer(false);\n }\n },\n },\n beforeDestroy() {\n const { visible } = this.$props;\n // 离开时不会 render, 导到离开时数值不变,改用 func 。。\n openCount = visible && openCount ? openCount - 1 : openCount;\n this.removeCurrentContainer(visible);\n },\n methods: {\n getParent() {\n const { getContainer } = this.$props;\n if (getContainer) {\n if (typeof getContainer === 'string') {\n return document.querySelectorAll(getContainer)[0];\n }\n if (typeof getContainer === 'function') {\n return getContainer();\n }\n if (typeof getContainer === 'object' && getContainer instanceof window.HTMLElement) {\n return getContainer;\n }\n }\n return document.body;\n },\n\n getDomContainer() {\n if (windowIsUndefined) {\n return null;\n }\n if (!this.container) {\n this.container = document.createElement('div');\n const parent = this.getParent();\n if (parent) {\n parent.appendChild(this.container);\n }\n }\n this.setWrapperClassName();\n return this.container;\n },\n\n setWrapperClassName() {\n const { wrapperClassName } = this.$props;\n if (this.container && wrapperClassName && wrapperClassName !== this.container.className) {\n this.container.className = wrapperClassName;\n }\n },\n\n savePortal(c) {\n // Warning: don't rename _component\n // https://github.com/react-component/util/pull/65#discussion_r352407916\n this._component = c;\n },\n\n removeCurrentContainer() {\n this.container = null;\n this._component = null;\n },\n\n /**\n * Enhance ./switchScrollingEffect\n * 1. Simulate document body scroll bar with\n * 2. Record body has overflow style and recover when all of PortalWrapper invisible\n * 3. Disable body scroll when PortalWrapper has open\n *\n * @memberof PortalWrapper\n */\n switchScrollingEffect() {\n if (openCount === 1 && !Object.keys(cacheOverflow).length) {\n switchScrollingEffect();\n // Must be set after switchScrollingEffect\n cacheOverflow = setStyle({\n overflow: 'hidden',\n overflowX: 'hidden',\n overflowY: 'hidden',\n });\n } else if (!openCount) {\n setStyle(cacheOverflow);\n cacheOverflow = {};\n switchScrollingEffect(true);\n }\n },\n },\n\n render() {\n const { children, forceRender, visible } = this.$props;\n let portal = null;\n const childProps = {\n getOpenCount: () => openCount,\n getContainer: this.getDomContainer,\n switchScrollingEffect: this.switchScrollingEffect,\n };\n if (forceRender || visible || this._component) {\n portal = (\n <Portal\n getContainer={this.getDomContainer}\n children={children(childProps)}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.savePortal,\n },\n ],\n }}\n ></Portal>\n );\n }\n return portal;\n },\n};\n","import Dialog from './Dialog';\nimport getDialogPropTypes from './IDialogPropTypes';\nimport { getListeners } from '../_util/props-util';\nimport Portal from '../_util/PortalWrapper';\nconst IDialogPropTypes = getDialogPropTypes();\nconst DialogWrap = {\n inheritAttrs: false,\n props: {\n ...IDialogPropTypes,\n visible: IDialogPropTypes.visible.def(false),\n },\n\n render() {\n const { visible, getContainer, forceRender } = this.$props;\n const dialogProps = {\n props: this.$props,\n attrs: this.$attrs,\n ref: '_component',\n key: 'dialog',\n on: getListeners(this),\n };\n // 渲染在当前 dom 里;\n if (getContainer === false) {\n return (\n <Dialog\n {...dialogProps}\n getOpenCount={() => 2} // 不对 body 做任何操作。。\n >\n {this.$slots.default}\n </Dialog>\n );\n }\n return (\n <Portal\n visible={visible}\n forceRender={forceRender}\n getContainer={getContainer}\n children={childProps => {\n dialogProps.props = { ...dialogProps.props, ...childProps };\n return <Dialog {...dialogProps}>{this.$slots.default}</Dialog>;\n }}\n />\n );\n },\n};\n\nexport default DialogWrap;\n","// based on vc-dialog 7.5.14\nimport DialogWrap from './DialogWrap';\nexport default DialogWrap;\n","import classNames from 'classnames';\nimport Dialog from '../vc-dialog';\nimport PropTypes from '../_util/vue-types';\nimport addEventListener from '../vc-util/Dom/addEventListener';\nimport { getConfirmLocale } from './locale';\nimport Icon from '../icon';\nimport Button from '../button';\nimport buttonTypes from '../button/buttonTypes';\nconst ButtonType = buttonTypes().type;\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport {\n initDefaultProps,\n getComponentFromProp,\n getClass,\n getStyle,\n mergeProps,\n getListeners,\n} from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\n\nlet mousePosition = null;\n// ref: https://github.com/ant-design/ant-design/issues/15795\nconst getClickPosition = e => {\n mousePosition = {\n x: e.pageX,\n y: e.pageY,\n };\n // 100ms 内发生过点击事件,则从点击位置动画展示\n // 否则直接 zoom 展示\n // 这样可以兼容非点击方式展开\n setTimeout(() => (mousePosition = null), 100);\n};\n\n// 只有点击事件支持从鼠标位置动画展开\nif (typeof window !== 'undefined' && window.document && window.document.documentElement) {\n addEventListener(document.documentElement, 'click', getClickPosition, true);\n}\n\nfunction noop() {}\nconst modalProps = (defaultProps = {}) => {\n const props = {\n prefixCls: PropTypes.string,\n /** 对话框是否可见*/\n visible: PropTypes.bool,\n /** 确定按钮 loading*/\n confirmLoading: PropTypes.bool,\n /** 标题*/\n title: PropTypes.any,\n /** 是否显示右上角的关闭按钮*/\n closable: PropTypes.bool,\n closeIcon: PropTypes.any,\n /** 点击确定回调*/\n // onOk: (e: React.MouseEvent<any>) => void,\n /** 点击模态框右上角叉、取消按钮、Props.maskClosable 值为 true 时的遮罩层或键盘按下 Esc 时的回调*/\n // onCancel: (e: React.MouseEvent<any>) => void,\n afterClose: PropTypes.func.def(noop),\n /** 垂直居中 */\n centered: PropTypes.bool,\n /** 宽度*/\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n /** 底部内容*/\n footer: PropTypes.any,\n /** 确认按钮文字*/\n okText: PropTypes.any,\n /** 确认按钮类型*/\n okType: ButtonType,\n /** 取消按钮文字*/\n cancelText: PropTypes.any,\n icon: PropTypes.any,\n /** 点击蒙层是否允许关闭*/\n maskClosable: PropTypes.bool,\n /** 强制渲染 Modal*/\n forceRender: PropTypes.bool,\n okButtonProps: PropTypes.object,\n cancelButtonProps: PropTypes.object,\n destroyOnClose: PropTypes.bool,\n wrapClassName: PropTypes.string,\n maskTransitionName: PropTypes.string,\n transitionName: PropTypes.string,\n getContainer: PropTypes.func,\n zIndex: PropTypes.number,\n bodyStyle: PropTypes.object,\n maskStyle: PropTypes.object,\n mask: PropTypes.bool,\n keyboard: PropTypes.bool,\n wrapProps: PropTypes.object,\n focusTriggerAfterClose: PropTypes.bool,\n dialogStyle: PropTypes.object.def(() => ({})),\n };\n return initDefaultProps(props, defaultProps);\n};\n\nexport const destroyFns = [];\n\nexport default {\n name: 'AModal',\n inheritAttrs: false,\n model: {\n prop: 'visible',\n event: 'change',\n },\n props: modalProps({\n width: 520,\n transitionName: 'zoom',\n maskTransitionName: 'fade',\n confirmLoading: false,\n visible: false,\n okType: 'primary',\n }),\n data() {\n return {\n sVisible: !!this.visible,\n };\n },\n watch: {\n visible(val) {\n this.sVisible = val;\n },\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n // static info: ModalFunc;\n // static success: ModalFunc;\n // static error: ModalFunc;\n // static warn: ModalFunc;\n // static warning: ModalFunc;\n // static confirm: ModalFunc;\n methods: {\n handleCancel(e) {\n this.$emit('cancel', e);\n this.$emit('change', false);\n },\n\n handleOk(e) {\n this.$emit('ok', e);\n },\n renderFooter(locale) {\n const { okType, confirmLoading } = this;\n const cancelBtnProps = mergeProps(\n { on: { click: this.handleCancel } },\n this.cancelButtonProps || {},\n );\n const okBtnProps = mergeProps(\n {\n on: { click: this.handleOk },\n props: {\n type: okType,\n loading: confirmLoading,\n },\n },\n this.okButtonProps || {},\n );\n return (\n <div>\n <Button {...cancelBtnProps}>\n {getComponentFromProp(this, 'cancelText') || locale.cancelText}\n </Button>\n <Button {...okBtnProps}>{getComponentFromProp(this, 'okText') || locale.okText}</Button>\n </div>\n );\n },\n },\n\n render() {\n const {\n prefixCls: customizePrefixCls,\n sVisible: visible,\n wrapClassName,\n centered,\n getContainer,\n $slots,\n $scopedSlots,\n $attrs,\n } = this;\n const children = $scopedSlots.default ? $scopedSlots.default() : $slots.default;\n const { getPrefixCls, getPopupContainer: getContextPopupContainer } = this.configProvider;\n const prefixCls = getPrefixCls('modal', customizePrefixCls);\n\n const defaultFooter = (\n <LocaleReceiver\n componentName=\"Modal\"\n defaultLocale={getConfirmLocale()}\n scopedSlots={{ default: this.renderFooter }}\n />\n );\n const closeIcon = getComponentFromProp(this, 'closeIcon');\n const closeIconToRender = (\n <span class={`${prefixCls}-close-x`}>\n {closeIcon || <Icon class={`${prefixCls}-close-icon`} type={'close'} />}\n </span>\n );\n const footer = getComponentFromProp(this, 'footer');\n const title = getComponentFromProp(this, 'title');\n const dialogProps = {\n props: {\n ...this.$props,\n getContainer: getContainer === undefined ? getContextPopupContainer : getContainer,\n prefixCls,\n wrapClassName: classNames({ [`${prefixCls}-centered`]: !!centered }, wrapClassName),\n title,\n footer: footer === undefined ? defaultFooter : footer,\n visible,\n mousePosition,\n closeIcon: closeIconToRender,\n },\n on: {\n ...getListeners(this),\n close: this.handleCancel,\n },\n class: getClass(this),\n style: getStyle(this),\n attrs: $attrs,\n };\n return <Dialog {...dialogProps}>{children}</Dialog>;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport Button from '../button';\nimport BaseMixin from '../_util/BaseMixin';\nimport buttonTypes from '../button/buttonTypes';\nconst ButtonType = buttonTypes().type;\nconst ActionButtonProps = {\n type: ButtonType,\n actionFn: PropTypes.func,\n closeModal: PropTypes.func,\n autoFocus: PropTypes.bool,\n buttonProps: PropTypes.object,\n};\n\nexport default {\n mixins: [BaseMixin],\n props: ActionButtonProps,\n data() {\n return {\n loading: false,\n };\n },\n mounted() {\n if (this.autoFocus) {\n this.timeoutId = setTimeout(() => this.$el.focus());\n }\n },\n beforeDestroy() {\n clearTimeout(this.timeoutId);\n },\n methods: {\n onClick() {\n const { actionFn, closeModal } = this;\n if (actionFn) {\n let ret;\n if (actionFn.length) {\n ret = actionFn(closeModal);\n } else {\n ret = actionFn();\n if (!ret) {\n closeModal();\n }\n }\n if (ret && ret.then) {\n this.setState({ loading: true });\n ret.then(\n (...args) => {\n // It's unnecessary to set loading=false, for the Modal will be unmounted after close.\n // this.setState({ loading: false });\n closeModal(...args);\n },\n e => {\n // Emit error when catch promise reject\n // eslint-disable-next-line no-console\n console.error(e);\n // See: https://github.com/ant-design/ant-design/issues/6183\n this.setState({ loading: false });\n },\n );\n }\n } else {\n closeModal();\n }\n },\n },\n\n render() {\n const { type, $slots, loading, buttonProps } = this;\n return (\n <Button type={type} onClick={this.onClick} loading={loading} {...buttonProps}>\n {$slots.default}\n </Button>\n );\n },\n};\n","import classNames from 'classnames';\nimport Icon from '../icon';\nimport Dialog from './Modal';\nimport ActionButton from './ActionButton';\nimport { getConfirmLocale } from './locale';\nimport warning from '../_util/warning';\n\nexport default {\n functional: true,\n render(h, context) {\n const { props } = context;\n const {\n onCancel,\n onOk,\n close,\n zIndex,\n afterClose,\n visible,\n keyboard,\n centered,\n getContainer,\n maskStyle,\n okButtonProps,\n cancelButtonProps,\n iconType = 'question-circle',\n closable = false,\n } = props;\n warning(\n !('iconType' in props),\n 'Modal',\n `The property 'iconType' is deprecated. Use the property 'icon' instead.`,\n );\n const icon = props.icon ? props.icon : iconType;\n const okType = props.okType || 'primary';\n const prefixCls = props.prefixCls || 'ant-modal';\n const contentPrefixCls = `${prefixCls}-confirm`;\n // 默认为 true,保持向下兼容\n const okCancel = 'okCancel' in props ? props.okCancel : true;\n const width = props.width || 416;\n const style = props.style || {};\n const mask = props.mask === undefined ? true : props.mask;\n // 默认为 false,保持旧版默认行为\n const maskClosable = props.maskClosable === undefined ? false : props.maskClosable;\n const runtimeLocale = getConfirmLocale();\n const okText = props.okText || (okCancel ? runtimeLocale.okText : runtimeLocale.justOkText);\n const cancelText = props.cancelText || runtimeLocale.cancelText;\n const autoFocusButton = props.autoFocusButton === null ? false : props.autoFocusButton || 'ok';\n const transitionName = props.transitionName || 'zoom';\n const maskTransitionName = props.maskTransitionName || 'fade';\n\n const classString = classNames(\n contentPrefixCls,\n `${contentPrefixCls}-${props.type}`,\n `${prefixCls}-${props.type}`,\n props.class,\n );\n\n const cancelButton = okCancel && (\n <ActionButton\n actionFn={onCancel}\n closeModal={close}\n autoFocus={autoFocusButton === 'cancel'}\n buttonProps={cancelButtonProps}\n >\n {cancelText}\n </ActionButton>\n );\n const iconNode = typeof icon === 'string' ? <Icon type={icon} /> : icon(h);\n\n return (\n <Dialog\n prefixCls={prefixCls}\n class={classString}\n wrapClassName={classNames({ [`${contentPrefixCls}-centered`]: !!centered })}\n onCancel={e => close({ triggerCancel: true }, e)}\n visible={visible}\n closable={closable}\n title=\"\"\n transitionName={transitionName}\n footer=\"\"\n maskTransitionName={maskTransitionName}\n mask={mask}\n maskClosable={maskClosable}\n maskStyle={maskStyle}\n style={style}\n width={width}\n zIndex={zIndex}\n afterClose={afterClose}\n keyboard={keyboard}\n centered={centered}\n getContainer={getContainer}\n >\n <div class={`${contentPrefixCls}-body-wrapper`}>\n <div class={`${contentPrefixCls}-body`}>\n {iconNode}\n {props.title === undefined ? null : (\n <span class={`${contentPrefixCls}-title`}>\n {typeof props.title === 'function' ? props.title(h) : props.title}\n </span>\n )}\n <div class={`${contentPrefixCls}-content`}>\n {typeof props.content === 'function' ? props.content(h) : props.content}\n </div>\n </div>\n <div class={`${contentPrefixCls}-btns`}>\n {cancelButton}\n <ActionButton\n type={okType}\n actionFn={onOk}\n closeModal={close}\n autoFocus={autoFocusButton === 'ok'}\n buttonProps={okButtonProps}\n >\n {okText}\n </ActionButton>\n </div>\n </div>\n </Dialog>\n );\n },\n};\n","import Vue from 'vue';\nimport ConfirmDialog from './ConfirmDialog';\nimport { destroyFns } from './Modal';\nimport Base from '../base';\nimport Omit from 'omit.js';\n\nexport default function confirm(config) {\n const div = document.createElement('div');\n const el = document.createElement('div');\n div.appendChild(el);\n document.body.appendChild(div);\n let currentConfig = { ...Omit(config, ['parentContext']), close, visible: true };\n\n let confirmDialogInstance = null;\n const confirmDialogProps = { props: {} };\n function close(...args) {\n destroy(...args);\n }\n function update(newConfig) {\n currentConfig = {\n ...currentConfig,\n ...newConfig,\n };\n confirmDialogProps.props = currentConfig;\n }\n function destroy(...args) {\n if (confirmDialogInstance && div.parentNode) {\n confirmDialogInstance.$destroy();\n confirmDialogInstance = null;\n div.parentNode.removeChild(div);\n }\n const triggerCancel = args.some(param => param && param.triggerCancel);\n if (config.onCancel && triggerCancel) {\n config.onCancel(...args);\n }\n for (let i = 0; i < destroyFns.length; i++) {\n const fn = destroyFns[i];\n if (fn === close) {\n destroyFns.splice(i, 1);\n break;\n }\n }\n }\n\n function render(props) {\n confirmDialogProps.props = props;\n const V = Base.Vue || Vue;\n return new V({\n el,\n parent: config.parentContext,\n data() {\n return { confirmDialogProps };\n },\n render() {\n // 先解构,避免报错,原因不详\n const cdProps = { ...this.confirmDialogProps };\n return <ConfirmDialog {...cdProps} />;\n },\n });\n }\n\n confirmDialogInstance = render(currentConfig);\n destroyFns.push(close);\n return {\n destroy: close,\n update,\n };\n}\n","import Modal, { destroyFns } from './Modal';\nimport modalConfirm from './confirm';\nimport Icon from '../icon';\nimport Base from '../base';\n\n// export { ActionButtonProps } from './ActionButton'\n// export { ModalProps, ModalFuncProps } from './Modal'\n\nconst info = function(props) {\n const config = {\n type: 'info',\n icon: h => {\n return <Icon type=\"info-circle\" />;\n },\n okCancel: false,\n ...props,\n };\n return modalConfirm(config);\n};\n\nconst success = function(props) {\n const config = {\n type: 'success',\n icon: h => {\n return <Icon type=\"check-circle\" />;\n },\n okCancel: false,\n ...props,\n };\n return modalConfirm(config);\n};\n\nconst error = function(props) {\n const config = {\n type: 'error',\n icon: h => {\n return <Icon type=\"close-circle\" />;\n },\n okCancel: false,\n ...props,\n };\n return modalConfirm(config);\n};\n\nconst warning = function(props) {\n const config = {\n type: 'warning',\n icon: h => {\n return <Icon type=\"exclamation-circle\" />;\n },\n okCancel: false,\n ...props,\n };\n return modalConfirm(config);\n};\nconst warn = warning;\n\nconst confirm = function confirmFn(props) {\n const config = {\n type: 'confirm',\n okCancel: true,\n ...props,\n };\n return modalConfirm(config);\n};\nModal.info = info;\nModal.success = success;\nModal.error = error;\nModal.warning = warning;\nModal.warn = warn;\nModal.confirm = confirm;\n\nModal.destroyAll = function destroyAllFn() {\n while (destroyFns.length) {\n const close = destroyFns.pop();\n if (close) {\n close();\n }\n }\n};\n\n/* istanbul ignore next */\nModal.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Modal.name, Modal);\n};\n\nexport default Modal;\n","import Notification from '../vc-notification';\nimport Icon from '../icon';\n\nconst notificationInstance = {};\nlet defaultDuration = 4.5;\nlet defaultTop = '24px';\nlet defaultBottom = '24px';\nlet defaultPlacement = 'topRight';\nlet defaultGetContainer = () => document.body;\nlet defaultCloseIcon = null;\n\nfunction setNotificationConfig(options) {\n const { duration, placement, bottom, top, getContainer, closeIcon } = options;\n if (duration !== undefined) {\n defaultDuration = duration;\n }\n if (placement !== undefined) {\n defaultPlacement = placement;\n }\n if (bottom !== undefined) {\n defaultBottom = typeof bottom === 'number' ? `${bottom}px` : bottom;\n }\n if (top !== undefined) {\n defaultTop = typeof top === 'number' ? `${top}px` : top;\n }\n if (getContainer !== undefined) {\n defaultGetContainer = getContainer;\n }\n if (closeIcon !== undefined) {\n defaultCloseIcon = closeIcon;\n }\n}\n\nfunction getPlacementStyle(placement, top = defaultTop, bottom = defaultBottom) {\n let style;\n switch (placement) {\n case 'topLeft':\n style = {\n left: 0,\n top,\n bottom: 'auto',\n };\n break;\n case 'topRight':\n style = {\n right: 0,\n top,\n bottom: 'auto',\n };\n break;\n case 'bottomLeft':\n style = {\n left: 0,\n top: 'auto',\n bottom,\n };\n break;\n default:\n style = {\n right: 0,\n top: 'auto',\n bottom,\n };\n break;\n }\n return style;\n}\n\nfunction getNotificationInstance(\n {\n prefixCls,\n placement = defaultPlacement,\n getContainer = defaultGetContainer,\n top,\n bottom,\n closeIcon = defaultCloseIcon,\n },\n callback,\n) {\n const cacheKey = `${prefixCls}-${placement}`;\n if (notificationInstance[cacheKey]) {\n callback(notificationInstance[cacheKey]);\n return;\n }\n Notification.newInstance(\n {\n prefixCls,\n class: `${prefixCls}-${placement}`,\n style: getPlacementStyle(placement, top, bottom),\n getContainer,\n closeIcon: h => {\n const icon = typeof closeIcon === 'function' ? closeIcon(h) : closeIcon;\n const closeIconToRender = (\n <span class={`${prefixCls}-close-x`}>\n {icon || <Icon class={`${prefixCls}-close-icon`} type=\"close\" />}\n </span>\n );\n return closeIconToRender;\n },\n },\n notification => {\n notificationInstance[cacheKey] = notification;\n callback(notification);\n },\n );\n}\n\nconst typeToIcon = {\n success: 'check-circle-o',\n info: 'info-circle-o',\n error: 'close-circle-o',\n warning: 'exclamation-circle-o',\n};\n\nfunction notice(args) {\n const { icon, type, description, message, btn } = args;\n const outerPrefixCls = args.prefixCls || 'ant-notification';\n const prefixCls = `${outerPrefixCls}-notice`;\n const duration = args.duration === undefined ? defaultDuration : args.duration;\n\n let iconNode = null;\n if (icon) {\n iconNode = h => (\n <span class={`${prefixCls}-icon`}>{typeof icon === 'function' ? icon(h) : icon}</span>\n );\n } else if (type) {\n const iconType = typeToIcon[type];\n iconNode = h => <Icon class={`${prefixCls}-icon ${prefixCls}-icon-${type}`} type={iconType} />; // eslint-disable-line\n }\n const { placement, top, bottom, getContainer, closeIcon } = args;\n getNotificationInstance(\n {\n prefixCls: outerPrefixCls,\n placement,\n top,\n bottom,\n getContainer,\n closeIcon,\n },\n notification => {\n notification.notice({\n content: h => (\n <div class={iconNode ? `${prefixCls}-with-icon` : ''}>\n {iconNode && iconNode(h)}\n <div class={`${prefixCls}-message`}>\n {!description && iconNode ? (\n <span class={`${prefixCls}-message-single-line-auto-margin`} />\n ) : null}\n {typeof message === 'function' ? message(h) : message}\n </div>\n <div class={`${prefixCls}-description`}>\n {typeof description === 'function' ? description(h) : description}\n </div>\n {btn ? (\n <span class={`${prefixCls}-btn`}>{typeof btn === 'function' ? btn(h) : btn}</span>\n ) : null}\n </div>\n ),\n duration,\n closable: true,\n onClose: args.onClose,\n onClick: args.onClick,\n key: args.key,\n style: args.style || {},\n class: args.class,\n });\n },\n );\n}\n\nconst api = {\n open: notice,\n close(key) {\n Object.keys(notificationInstance).forEach(cacheKey =>\n notificationInstance[cacheKey].removeNotice(key),\n );\n },\n config: setNotificationConfig,\n destroy() {\n Object.keys(notificationInstance).forEach(cacheKey => {\n notificationInstance[cacheKey].destroy();\n delete notificationInstance[cacheKey];\n });\n },\n};\n\n['success', 'info', 'warning', 'error'].forEach(type => {\n api[type] = args =>\n api.open({\n ...args,\n type,\n });\n});\n\napi.warn = api.warning;\nexport default api;\n","import omit from 'omit.js';\nimport Tooltip from '../tooltip';\nimport abstractTooltipProps from '../tooltip/abstractTooltipProps';\nimport PropTypes from '../_util/vue-types';\nimport { getOptionProps, hasProp, getComponentFromProp, mergeProps } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport buttonTypes from '../button/buttonTypes';\nimport Icon from '../icon';\nimport Button from '../button';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport defaultLocale from '../locale-provider/default';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\n\nconst tooltipProps = abstractTooltipProps();\nconst btnProps = buttonTypes();\nconst Popconfirm = {\n name: 'APopconfirm',\n props: {\n ...tooltipProps,\n prefixCls: PropTypes.string,\n transitionName: PropTypes.string.def('zoom-big'),\n content: PropTypes.any,\n title: PropTypes.any,\n trigger: tooltipProps.trigger.def('click'),\n okType: btnProps.type.def('primary'),\n disabled: PropTypes.bool.def(false),\n okText: PropTypes.any,\n cancelText: PropTypes.any,\n icon: PropTypes.any,\n okButtonProps: PropTypes.object,\n cancelButtonProps: PropTypes.object,\n },\n mixins: [BaseMixin],\n model: {\n prop: 'visible',\n event: 'visibleChange',\n },\n watch: {\n visible(val) {\n this.sVisible = val;\n },\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const props = getOptionProps(this);\n const state = { sVisible: false };\n if ('visible' in props) {\n state.sVisible = props.visible;\n }\n if ('defaultVisible' in props) {\n state.sVisible = props.defaultVisible;\n }\n return state;\n },\n methods: {\n onConfirm(e) {\n this.setVisible(false, e);\n this.$emit('confirm', e);\n },\n\n onCancel(e) {\n this.setVisible(false, e);\n this.$emit('cancel', e);\n },\n\n onVisibleChange(sVisible) {\n const { disabled } = this.$props;\n if (disabled) {\n return;\n }\n this.setVisible(sVisible);\n },\n\n setVisible(sVisible, e) {\n if (!hasProp(this, 'visible')) {\n this.setState({ sVisible });\n }\n this.$emit('visibleChange', sVisible, e);\n },\n getPopupDomNode() {\n return this.$refs.tooltip.getPopupDomNode();\n },\n renderOverlay(prefixCls, popconfirmLocale) {\n const { okType, okButtonProps, cancelButtonProps } = this;\n const icon = getComponentFromProp(this, 'icon') || (\n <Icon type=\"exclamation-circle\" theme=\"filled\" />\n );\n const cancelBtnProps = mergeProps(\n {\n props: {\n size: 'small',\n },\n on: {\n click: this.onCancel,\n },\n },\n cancelButtonProps,\n );\n const okBtnProps = mergeProps(\n {\n props: {\n type: okType,\n size: 'small',\n },\n on: {\n click: this.onConfirm,\n },\n },\n okButtonProps,\n );\n return (\n <div class={`${prefixCls}-inner-content`}>\n <div class={`${prefixCls}-message`}>\n {icon}\n <div class={`${prefixCls}-message-title`}>{getComponentFromProp(this, 'title')}</div>\n </div>\n <div class={`${prefixCls}-buttons`}>\n <Button {...cancelBtnProps}>\n {getComponentFromProp(this, 'cancelText') || popconfirmLocale.cancelText}\n </Button>\n <Button {...okBtnProps}>\n {getComponentFromProp(this, 'okText') || popconfirmLocale.okText}\n </Button>\n </div>\n </div>\n );\n },\n },\n render() {\n const props = getOptionProps(this);\n const { prefixCls: customizePrefixCls } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('popover', customizePrefixCls);\n\n const otherProps = omit(props, ['title', 'content', 'cancelText', 'okText']);\n const tooltipProps = {\n props: {\n ...otherProps,\n prefixCls,\n visible: this.sVisible,\n },\n ref: 'tooltip',\n on: {\n visibleChange: this.onVisibleChange,\n },\n };\n const overlay = (\n <LocaleReceiver\n componentName=\"Popconfirm\"\n defaultLocale={defaultLocale.Popconfirm}\n scopedSlots={{\n default: popconfirmLocale => this.renderOverlay(prefixCls, popconfirmLocale),\n }}\n />\n );\n return (\n <Tooltip {...tooltipProps}>\n <template slot=\"title\">{overlay}</template>\n {this.$slots.default}\n </Tooltip>\n );\n },\n};\n\n/* istanbul ignore next */\nPopconfirm.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Popconfirm.name, Popconfirm);\n};\n\nexport default Popconfirm;\n","import Tooltip from '../tooltip';\nimport abstractTooltipProps from '../tooltip/abstractTooltipProps';\nimport PropTypes from '../_util/vue-types';\nimport { getOptionProps, getComponentFromProp, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\n\nconst props = abstractTooltipProps();\nconst Popover = {\n name: 'APopover',\n props: {\n ...props,\n prefixCls: PropTypes.string,\n transitionName: PropTypes.string.def('zoom-big'),\n content: PropTypes.any,\n title: PropTypes.any,\n },\n model: {\n prop: 'visible',\n event: 'visibleChange',\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n getPopupDomNode() {\n return this.$refs.tooltip.getPopupDomNode();\n },\n },\n\n render() {\n const { title, prefixCls: customizePrefixCls, $slots } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('popover', customizePrefixCls);\n\n const props = getOptionProps(this);\n delete props.title;\n delete props.content;\n const tooltipProps = {\n props: {\n ...props,\n prefixCls,\n },\n ref: 'tooltip',\n on: getListeners(this),\n };\n return (\n <Tooltip {...tooltipProps}>\n <template slot=\"title\">\n <div>\n {(title || $slots.title) && (\n <div class={`${prefixCls}-title`}>{getComponentFromProp(this, 'title')}</div>\n )}\n <div class={`${prefixCls}-inner-content`}>{getComponentFromProp(this, 'content')}</div>\n </div>\n </template>\n {this.$slots.default}\n </Tooltip>\n );\n },\n};\n\n/* istanbul ignore next */\nPopover.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Popover.name, Popover);\n};\n\nexport default Popover;\n","import Radio from './Radio';\nimport Group from './Group';\nimport Button from './RadioButton';\nimport Base from '../base';\n\nRadio.Group = Group;\nRadio.Button = Button;\n\n/* istanbul ignore next */\nRadio.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Radio.name, Radio);\n Vue.component(Radio.Group.name, Radio.Group);\n Vue.component(Radio.Button.name, Radio.Button);\n};\n\nexport { Button, Group };\nexport default Radio;\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getComponentFromProp } from '../../_util/props-util';\nfunction noop() {}\n\nexport default {\n name: 'Star',\n mixins: [BaseMixin],\n props: {\n value: PropTypes.number,\n index: PropTypes.number,\n prefixCls: PropTypes.string,\n allowHalf: PropTypes.bool,\n disabled: PropTypes.bool,\n character: PropTypes.any,\n characterRender: PropTypes.func,\n focused: PropTypes.bool,\n count: PropTypes.number,\n },\n methods: {\n onHover(e) {\n const { index } = this;\n this.$emit('hover', e, index);\n },\n onClick(e) {\n const { index } = this;\n this.$emit('click', e, index);\n },\n onKeyDown(e) {\n const { index } = this.$props;\n if (e.keyCode === 13) {\n this.__emit('click', e, index);\n }\n },\n getClassName() {\n const { prefixCls, index, value, allowHalf, focused } = this;\n const starValue = index + 1;\n let className = prefixCls;\n if (value === 0 && index === 0 && focused) {\n className += ` ${prefixCls}-focused`;\n } else if (allowHalf && value + 0.5 === starValue) {\n className += ` ${prefixCls}-half ${prefixCls}-active`;\n if (focused) {\n className += ` ${prefixCls}-focused`;\n }\n } else {\n className += starValue <= value ? ` ${prefixCls}-full` : ` ${prefixCls}-zero`;\n if (starValue === value && focused) {\n className += ` ${prefixCls}-focused`;\n }\n }\n return className;\n },\n },\n render() {\n const {\n onHover,\n onClick,\n onKeyDown,\n disabled,\n prefixCls,\n characterRender,\n index,\n count,\n value,\n } = this;\n\n const character = getComponentFromProp(this, 'character');\n let star = (\n <li class={this.getClassName()}>\n <div\n onClick={disabled ? noop : onClick}\n onKeydown={disabled ? noop : onKeyDown}\n onMousemove={disabled ? noop : onHover}\n role=\"radio\"\n aria-checked={value > index ? 'true' : 'false'}\n aria-posinset={index + 1}\n aria-setsize={count}\n tabIndex={0}\n >\n <div class={`${prefixCls}-first`}>{character}</div>\n <div class={`${prefixCls}-second`}>{character}</div>\n </div>\n </li>\n );\n if (characterRender) {\n star = characterRender(star, this.$props);\n }\n return star;\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport classNames from 'classnames';\nimport KeyCode from '../../_util/KeyCode';\nimport {\n initDefaultProps,\n hasProp,\n getOptionProps,\n getComponentFromProp,\n} from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOffsetLeft } from './util';\nimport Star from './Star';\n\nconst rateProps = {\n disabled: PropTypes.bool,\n value: PropTypes.number,\n defaultValue: PropTypes.number,\n count: PropTypes.number,\n allowHalf: PropTypes.bool,\n allowClear: PropTypes.bool,\n prefixCls: PropTypes.string,\n character: PropTypes.any,\n characterRender: PropTypes.func,\n tabIndex: PropTypes.number,\n autoFocus: PropTypes.bool,\n};\n\nfunction noop() {}\n\nexport default {\n name: 'Rate',\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(rateProps, {\n defaultValue: 0,\n count: 5,\n allowHalf: false,\n allowClear: true,\n prefixCls: 'rc-rate',\n tabIndex: 0,\n character: '★',\n }),\n data() {\n let value = this.value;\n if (!hasProp(this, 'value')) {\n value = this.defaultValue;\n }\n return {\n sValue: value,\n focused: false,\n cleanedValue: null,\n hoverValue: undefined,\n };\n },\n watch: {\n value(val) {\n this.setState({\n sValue: val,\n });\n },\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus && !this.disabled) {\n this.focus();\n }\n });\n },\n methods: {\n onHover(event, index) {\n const hoverValue = this.getStarValue(index, event.pageX);\n const { cleanedValue } = this;\n if (hoverValue !== cleanedValue) {\n this.setState({\n hoverValue,\n cleanedValue: null,\n });\n }\n this.$emit('hoverChange', hoverValue);\n },\n onMouseLeave() {\n this.setState({\n hoverValue: undefined,\n cleanedValue: null,\n });\n this.$emit('hoverChange', undefined);\n },\n onClick(event, index) {\n const { allowClear, sValue: value } = this;\n const newValue = this.getStarValue(index, event.pageX);\n let isReset = false;\n if (allowClear) {\n isReset = newValue === value;\n }\n this.onMouseLeave(true);\n this.changeValue(isReset ? 0 : newValue);\n this.setState({\n cleanedValue: isReset ? newValue : null,\n });\n },\n onFocus() {\n this.setState({\n focused: true,\n });\n this.$emit('focus');\n },\n onBlur() {\n this.setState({\n focused: false,\n });\n this.$emit('blur');\n },\n onKeyDown(event) {\n const { keyCode } = event;\n const { count, allowHalf } = this;\n let { sValue } = this;\n if (keyCode === KeyCode.RIGHT && sValue < count) {\n if (allowHalf) {\n sValue += 0.5;\n } else {\n sValue += 1;\n }\n this.changeValue(sValue);\n event.preventDefault();\n } else if (keyCode === KeyCode.LEFT && sValue > 0) {\n if (allowHalf) {\n sValue -= 0.5;\n } else {\n sValue -= 1;\n }\n this.changeValue(sValue);\n event.preventDefault();\n }\n this.$emit('keydown', event);\n },\n getStarDOM(index) {\n return this.$refs['stars' + index].$el;\n },\n getStarValue(index, x) {\n let value = index + 1;\n if (this.allowHalf) {\n const starEle = this.getStarDOM(index);\n const leftDis = getOffsetLeft(starEle);\n const width = starEle.clientWidth;\n if (x - leftDis < width / 2) {\n value -= 0.5;\n }\n }\n return value;\n },\n focus() {\n if (!this.disabled) {\n this.$refs.rateRef.focus();\n }\n },\n blur() {\n if (!this.disabled) {\n this.$refs.rateRef.blur();\n }\n },\n changeValue(value) {\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n });\n }\n this.$emit('change', value);\n },\n },\n render() {\n const { count, allowHalf, prefixCls, disabled, tabIndex } = getOptionProps(this);\n const { sValue, hoverValue, focused } = this;\n const stars = [];\n const disabledClass = disabled ? `${prefixCls}-disabled` : '';\n const character = getComponentFromProp(this, 'character');\n const characterRender = this.characterRender || this.$scopedSlots.characterRender;\n for (let index = 0; index < count; index++) {\n const starProps = {\n props: {\n index,\n count,\n disabled,\n prefixCls: `${prefixCls}-star`,\n allowHalf,\n value: hoverValue === undefined ? sValue : hoverValue,\n character,\n characterRender,\n focused,\n },\n on: {\n click: this.onClick,\n hover: this.onHover,\n },\n key: index,\n ref: `stars${index}`,\n };\n stars.push(<Star {...starProps} />);\n }\n return (\n <ul\n class={classNames(prefixCls, disabledClass)}\n onMouseleave={disabled ? noop : this.onMouseLeave}\n tabIndex={disabled ? -1 : tabIndex}\n onFocus={disabled ? noop : this.onFocus}\n onBlur={disabled ? noop : this.onBlur}\n onKeydown={disabled ? noop : this.onKeyDown}\n ref=\"rateRef\"\n role=\"radiogroup\"\n >\n {stars}\n </ul>\n );\n },\n};\n","// based on rc-rate 2.5.0\nimport Rate from './src/';\nexport default Rate;\n","function getScroll(w, top) {\n let ret = top ? w.pageYOffset : w.pageXOffset;\n const method = top ? 'scrollTop' : 'scrollLeft';\n if (typeof ret !== 'number') {\n const d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getClientPosition(elem) {\n let x;\n let y;\n const doc = elem.ownerDocument;\n const body = doc.body;\n const docElem = doc && doc.documentElement;\n const box = elem.getBoundingClientRect();\n x = box.left;\n y = box.top;\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n return {\n left: x,\n top: y,\n };\n}\n\nexport function getOffsetLeft(el) {\n const pos = getClientPosition(el);\n const doc = el.ownerDocument;\n const w = doc.defaultView || doc.parentWindow;\n pos.left += getScroll(w);\n return pos.left;\n}\n","import omit from 'omit.js';\nimport PropTypes from '../_util/vue-types';\nimport { getOptionProps, getComponentFromProp, getListeners } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport VcRate from '../vc-rate';\nimport Icon from '../icon';\nimport Tooltip from '../tooltip';\nimport Base from '../base';\n\nexport const RateProps = {\n prefixCls: PropTypes.string,\n count: PropTypes.number,\n value: PropTypes.value,\n defaultValue: PropTypes.value,\n allowHalf: PropTypes.bool,\n allowClear: PropTypes.bool,\n tooltips: PropTypes.arrayOf(PropTypes.string),\n disabled: PropTypes.bool,\n character: PropTypes.any,\n autoFocus: PropTypes.bool,\n};\n\nconst Rate = {\n name: 'ARate',\n model: {\n prop: 'value',\n event: 'change',\n },\n props: RateProps,\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n characterRender(node, { index }) {\n const { tooltips } = this.$props;\n if (!tooltips) return node;\n return <Tooltip title={tooltips[index]}>{node}</Tooltip>;\n },\n focus() {\n this.$refs.refRate.focus();\n },\n blur() {\n this.$refs.refRate.blur();\n },\n },\n render() {\n const { prefixCls: customizePrefixCls, ...restProps } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('rate', customizePrefixCls);\n\n const character = getComponentFromProp(this, 'character') || (\n <Icon type=\"star\" theme=\"filled\" />\n );\n const rateProps = {\n props: {\n character,\n characterRender: this.characterRender,\n prefixCls,\n ...omit(restProps, ['tooltips']),\n },\n on: getListeners(this),\n ref: 'refRate',\n };\n return <VcRate {...rateProps} />;\n },\n};\n\n/* istanbul ignore next */\nRate.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Rate.name, Rate);\n};\nexport default Rate;\n","/* eslint-disable */\nconst Track = {\n functional: true,\n render(h, context) {\n const { included, vertical, offset, length, reverse } = context.props;\n const { style, class: className } = context.data;\n\n const positonStyle = vertical\n ? {\n [reverse ? 'top' : 'bottom']: `${offset}%`,\n [reverse ? 'bottom' : 'top']: 'auto',\n height: `${length}%`,\n }\n : {\n [reverse ? 'right' : 'left']: `${offset}%`,\n [reverse ? 'left' : 'right']: 'auto',\n width: `${length}%`,\n };\n\n const elStyle = {\n ...style,\n ...positonStyle,\n };\n return included ? <div class={className} style={elStyle} /> : null;\n },\n};\n\nexport default Track;\n","import classNames from 'classnames';\nimport warning from '../../../_util/warning';\n\nconst calcPoints = (vertical, marks, dots, step, min, max) => {\n warning(\n dots ? step > 0 : true,\n 'Slider',\n '`Slider[step]` should be a positive number in order to make Slider[dots] work.',\n );\n const points = Object.keys(marks)\n .map(parseFloat)\n .sort((a, b) => a - b);\n if (dots && step) {\n for (let i = min; i <= max; i += step) {\n if (points.indexOf(i) === -1) {\n points.push(i);\n }\n }\n }\n return points;\n};\n\nconst Steps = {\n functional: true,\n render(h, context) {\n const {\n prefixCls,\n vertical,\n reverse,\n marks,\n dots,\n step,\n included,\n lowerBound,\n upperBound,\n max,\n min,\n dotStyle,\n activeDotStyle,\n } = context.props;\n const range = max - min;\n const elements = calcPoints(vertical, marks, dots, step, min, max).map(point => {\n const offset = `${(Math.abs(point - min) / range) * 100}%`;\n\n const isActived =\n (!included && point === upperBound) ||\n (included && point <= upperBound && point >= lowerBound);\n let style = vertical\n ? { ...dotStyle, [reverse ? 'top' : 'bottom']: offset }\n : { ...dotStyle, [reverse ? 'right' : 'left']: offset };\n if (isActived) {\n style = { ...style, ...activeDotStyle };\n }\n\n const pointClassName = classNames({\n [`${prefixCls}-dot`]: true,\n [`${prefixCls}-dot-active`]: isActived,\n [`${prefixCls}-dot-reverse`]: reverse,\n });\n\n return <span class={pointClassName} style={style} key={point} />;\n });\n\n return <div class={`${prefixCls}-step`}>{elements}</div>;\n },\n};\n\nexport default Steps;\n","import classNames from 'classnames';\nimport { isValidElement } from '../../../_util/props-util';\n\nconst Marks = {\n functional: true,\n render(h, context) {\n const {\n className,\n vertical,\n reverse,\n marks,\n included,\n upperBound,\n lowerBound,\n max,\n min,\n } = context.props;\n const { clickLabel } = context.listeners;\n const marksKeys = Object.keys(marks);\n\n const range = max - min;\n const elements = marksKeys\n .map(parseFloat)\n .sort((a, b) => a - b)\n .map(point => {\n const markPoint = typeof marks[point] === 'function' ? marks[point](h) : marks[point];\n const markPointIsObject = typeof markPoint === 'object' && !isValidElement(markPoint);\n const markLabel = markPointIsObject ? markPoint.label : markPoint;\n if (!markLabel && markLabel !== 0) {\n return null;\n }\n\n const isActive =\n (!included && point === upperBound) ||\n (included && point <= upperBound && point >= lowerBound);\n const markClassName = classNames({\n [`${className}-text`]: true,\n [`${className}-text-active`]: isActive,\n });\n\n const bottomStyle = {\n marginBottom: '-50%',\n [reverse ? 'top' : 'bottom']: `${((point - min) / range) * 100}%`,\n };\n\n const leftStyle = {\n transform: `translateX(-50%)`,\n msTransform: `translateX(-50%)`,\n [reverse ? 'right' : 'left']: reverse\n ? `${((point - min / 4) / range) * 100}%`\n : `${((point - min) / range) * 100}%`,\n };\n\n const style = vertical ? bottomStyle : leftStyle;\n const markStyle = markPointIsObject ? { ...style, ...markPoint.style } : style;\n return (\n <span\n class={markClassName}\n style={markStyle}\n key={point}\n onMousedown={e => clickLabel(e, point)}\n onTouchstart={e => clickLabel(e, point)}\n >\n {markLabel}\n </span>\n );\n });\n\n return <div class={className}>{elements}</div>;\n },\n};\n\nexport default Marks;\n","import classNames from 'classnames';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { getOptionProps, getListeners } from '../../_util/props-util';\nimport addEventListener from '../../vc-util/Dom/addEventListener';\n\nexport default {\n name: 'Handle',\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n vertical: PropTypes.bool,\n offset: PropTypes.number,\n disabled: PropTypes.bool,\n min: PropTypes.number,\n max: PropTypes.number,\n value: PropTypes.number,\n tabIndex: PropTypes.number,\n className: PropTypes.string,\n reverse: PropTypes.bool,\n // handleFocus: PropTypes.func.def(noop),\n // handleBlur: PropTypes.func.def(noop),\n },\n data() {\n return {\n clickFocused: false,\n };\n },\n mounted() {\n // mouseup won't trigger if mouse moved out of handle\n // so we listen on document here.\n this.onMouseUpListener = addEventListener(document, 'mouseup', this.handleMouseUp);\n },\n beforeDestroy() {\n if (this.onMouseUpListener) {\n this.onMouseUpListener.remove();\n }\n },\n methods: {\n setClickFocus(focused) {\n this.setState({ clickFocused: focused });\n },\n handleMouseUp() {\n if (document.activeElement === this.$refs.handle) {\n this.setClickFocus(true);\n }\n },\n handleBlur(e) {\n this.setClickFocus(false);\n this.__emit('blur', e);\n },\n handleKeyDown() {\n this.setClickFocus(false);\n },\n clickFocus() {\n this.setClickFocus(true);\n this.focus();\n },\n focus() {\n this.$refs.handle.focus();\n },\n blur() {\n this.$refs.handle.blur();\n },\n // when click can not focus in vue, use mousedown trigger focus\n handleMousedown(e) {\n this.focus();\n this.__emit('mousedown', e);\n },\n },\n render() {\n const {\n prefixCls,\n vertical,\n reverse,\n offset,\n disabled,\n min,\n max,\n value,\n tabIndex,\n } = getOptionProps(this);\n const className = classNames(this.$props.className, {\n [`${prefixCls}-handle-click-focused`]: this.clickFocused,\n });\n\n const positionStyle = vertical\n ? {\n [reverse ? 'top' : 'bottom']: `${offset}%`,\n [reverse ? 'bottom' : 'top']: 'auto',\n transform: `translateY(+50%)`,\n }\n : {\n [reverse ? 'right' : 'left']: `${offset}%`,\n [reverse ? 'left' : 'right']: 'auto',\n transform: `translateX(${reverse ? '+' : '-'}50%)`,\n };\n\n const ariaProps = {\n 'aria-valuemin': min,\n 'aria-valuemax': max,\n 'aria-valuenow': value,\n 'aria-disabled': !!disabled,\n };\n let _tabIndex = tabIndex || 0;\n if (disabled || tabIndex === null) {\n _tabIndex = null;\n }\n\n const handleProps = {\n attrs: {\n role: 'slider',\n tabIndex: _tabIndex,\n ...ariaProps,\n },\n class: className,\n on: {\n ...getListeners(this),\n blur: this.handleBlur,\n keydown: this.handleKeyDown,\n mousedown: this.handleMousedown,\n },\n ref: 'handle',\n style: positionStyle,\n };\n return <div {...handleProps} />;\n },\n};\n","import keyCode from '../../_util/KeyCode';\n\nexport function isEventFromHandle(e, handles) {\n try {\n return Object.keys(handles).some(\n key => e.target === handles[key].$el || e.target === handles[key],\n );\n } catch (error) {\n return false;\n }\n}\n\nexport function isValueOutOfRange(value, { min, max }) {\n return value < min || value > max;\n}\n\nexport function isNotTouchEvent(e) {\n return e.touches.length > 1 || (e.type.toLowerCase() === 'touchend' && e.touches.length > 0);\n}\n\nexport function getClosestPoint(val, { marks, step, min, max }) {\n const points = Object.keys(marks).map(parseFloat);\n if (step !== null) {\n const base = 10 ** getPrecision(step);\n const maxSteps = Math.floor((max * base - min * base) / (step * base));\n const steps = Math.min((val - min) / step, maxSteps);\n const closestStep = Math.round(steps) * step + min;\n points.push(closestStep);\n }\n const diffs = points.map(point => Math.abs(val - point));\n return points[diffs.indexOf(Math.min(...diffs))];\n}\n\nexport function getPrecision(step) {\n const stepString = step.toString();\n let precision = 0;\n if (stepString.indexOf('.') >= 0) {\n precision = stepString.length - stepString.indexOf('.') - 1;\n }\n return precision;\n}\n\nexport function getMousePosition(vertical, e) {\n let zoom = 1;\n if (window.visualViewport) {\n zoom = +(window.visualViewport.width / document.body.getBoundingClientRect().width).toFixed(2);\n }\n return (vertical ? e.clientY : e.pageX) / zoom;\n}\n\nexport function getTouchPosition(vertical, e) {\n let zoom = 1;\n if (window.visualViewport) {\n zoom = +(window.visualViewport.width / document.body.getBoundingClientRect().width).toFixed(2);\n }\n return (vertical ? e.touches[0].clientY : e.touches[0].pageX) / zoom;\n}\n\nexport function getHandleCenterPosition(vertical, handle) {\n const coords = handle.getBoundingClientRect();\n return vertical\n ? coords.top + coords.height * 0.5\n : window.pageXOffset + coords.left + coords.width * 0.5;\n}\n\nexport function ensureValueInRange(val, { max, min }) {\n if (val <= min) {\n return min;\n }\n if (val >= max) {\n return max;\n }\n return val;\n}\n\nexport function ensureValuePrecision(val, props) {\n const { step } = props;\n const closestPoint = isFinite(getClosestPoint(val, props)) ? getClosestPoint(val, props) : 0; // eslint-disable-line\n return step === null ? closestPoint : parseFloat(closestPoint.toFixed(getPrecision(step)));\n}\n\nexport function pauseEvent(e) {\n e.stopPropagation();\n e.preventDefault();\n}\n\nexport function calculateNextValue(func, value, props) {\n const operations = {\n increase: (a, b) => a + b,\n decrease: (a, b) => a - b,\n };\n\n const indexToGet = operations[func](Object.keys(props.marks).indexOf(JSON.stringify(value)), 1);\n const keyToGet = Object.keys(props.marks)[indexToGet];\n\n if (props.step) {\n return operations[func](value, props.step);\n } else if (!!Object.keys(props.marks).length && !!props.marks[keyToGet]) {\n return props.marks[keyToGet];\n }\n return value;\n}\n\nexport function getKeyboardValueMutator(e, vertical, reverse) {\n const increase = 'increase';\n const decrease = 'decrease';\n let method = increase;\n switch (e.keyCode) {\n case keyCode.UP:\n method = vertical && reverse ? decrease : increase;\n break;\n case keyCode.RIGHT:\n method = !vertical && reverse ? decrease : increase;\n break;\n case keyCode.DOWN:\n method = vertical && reverse ? increase : decrease;\n break;\n case keyCode.LEFT:\n method = !vertical && reverse ? increase : decrease;\n break;\n\n case keyCode.END:\n return (value, props) => props.max;\n case keyCode.HOME:\n return (value, props) => props.min;\n case keyCode.PAGE_UP:\n return (value, props) => value + props.step * 2;\n case keyCode.PAGE_DOWN:\n return (value, props) => value - props.step * 2;\n\n default:\n return undefined;\n }\n return (value, props) => calculateNextValue(method, value, props);\n}\n","import classNames from 'classnames';\nimport PropTypes from '../../../_util/vue-types';\nimport addEventListener from '../../../vc-util/Dom/addEventListener';\nimport warning from '../../../_util/warning';\nimport { initDefaultProps } from '../../../_util/props-util';\nimport Steps from './Steps';\nimport Marks from './Marks';\nimport Handle from '../Handle';\nimport * as utils from '../utils';\n\nfunction noop() {}\n\nexport default function createSlider(Component) {\n // const displayName = `ComponentEnhancer(${Component.displayName})`\n const propTypes = {\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n marks: PropTypes.object,\n included: PropTypes.bool,\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n handle: PropTypes.func,\n dots: PropTypes.bool,\n vertical: PropTypes.bool,\n reverse: PropTypes.bool,\n minimumTrackStyle: PropTypes.object, // just for compatibility, will be deperecate\n maximumTrackStyle: PropTypes.object, // just for compatibility, will be deperecate\n handleStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n trackStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n railStyle: PropTypes.object,\n dotStyle: PropTypes.object,\n activeDotStyle: PropTypes.object,\n autoFocus: PropTypes.bool,\n };\n return {\n name: 'createSlider',\n mixins: [Component],\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(propTypes, {\n prefixCls: 'rc-slider',\n min: 0,\n max: 100,\n step: 1,\n marks: {},\n included: true,\n disabled: false,\n dots: false,\n vertical: false,\n reverse: false,\n trackStyle: [{}],\n handleStyle: [{}],\n railStyle: {},\n dotStyle: {},\n activeDotStyle: {},\n }),\n data() {\n const { step, max, min } = this;\n const isPointDiffEven = isFinite(max - min) ? (max - min) % step === 0 : true; // eslint-disable-line\n warning(\n step && Math.floor(step) === step ? isPointDiffEven : true,\n 'Slider',\n 'Slider[max] - Slider[min] (%s) should be a multiple of Slider[step] (%s)',\n max - min,\n step,\n );\n this.handlesRefs = {};\n return {};\n },\n mounted() {\n this.$nextTick(() => {\n // Snapshot testing cannot handle refs, so be sure to null-check this.\n this.document = this.$refs.sliderRef && this.$refs.sliderRef.ownerDocument;\n // this.setHandleRefs()\n const { autoFocus, disabled } = this;\n if (autoFocus && !disabled) {\n this.focus();\n }\n });\n },\n beforeDestroy() {\n this.$nextTick(() => {\n // if (super.componentWillUnmount) super.componentWillUnmount()\n this.removeDocumentEvents();\n });\n },\n methods: {\n defaultHandle({ index, directives, className, style, on, ...restProps }) {\n delete restProps.dragging;\n if (restProps.value === null) {\n return null;\n }\n const handleProps = {\n props: {\n ...restProps,\n },\n class: className,\n style,\n key: index,\n directives,\n on,\n };\n return <Handle {...handleProps} />;\n },\n onMouseDown(e) {\n if (e.button !== 0) {\n return;\n }\n const isVertical = this.vertical;\n let position = utils.getMousePosition(isVertical, e);\n if (!utils.isEventFromHandle(e, this.handlesRefs)) {\n this.dragOffset = 0;\n } else {\n const handlePosition = utils.getHandleCenterPosition(isVertical, e.target);\n this.dragOffset = position - handlePosition;\n position = handlePosition;\n }\n this.removeDocumentEvents();\n this.onStart(position);\n this.addDocumentMouseEvents();\n utils.pauseEvent(e);\n },\n onTouchStart(e) {\n if (utils.isNotTouchEvent(e)) return;\n\n const isVertical = this.vertical;\n let position = utils.getTouchPosition(isVertical, e);\n if (!utils.isEventFromHandle(e, this.handlesRefs)) {\n this.dragOffset = 0;\n } else {\n const handlePosition = utils.getHandleCenterPosition(isVertical, e.target);\n this.dragOffset = position - handlePosition;\n position = handlePosition;\n }\n this.onStart(position);\n this.addDocumentTouchEvents();\n utils.pauseEvent(e);\n },\n onFocus(e) {\n const { vertical } = this;\n if (utils.isEventFromHandle(e, this.handlesRefs)) {\n const handlePosition = utils.getHandleCenterPosition(vertical, e.target);\n this.dragOffset = 0;\n this.onStart(handlePosition);\n utils.pauseEvent(e);\n this.$emit('focus', e);\n }\n },\n onBlur(e) {\n this.onEnd();\n this.$emit('blur', e);\n },\n onMouseUp() {\n if (this.handlesRefs[this.prevMovedHandleIndex]) {\n this.handlesRefs[this.prevMovedHandleIndex].clickFocus();\n }\n },\n onMouseMove(e) {\n if (!this.$refs.sliderRef) {\n this.onEnd();\n return;\n }\n const position = utils.getMousePosition(this.vertical, e);\n this.onMove(e, position - this.dragOffset);\n },\n onTouchMove(e) {\n if (utils.isNotTouchEvent(e) || !this.$refs.sliderRef) {\n this.onEnd();\n return;\n }\n\n const position = utils.getTouchPosition(this.vertical, e);\n this.onMove(e, position - this.dragOffset);\n },\n onKeyDown(e) {\n if (this.$refs.sliderRef && utils.isEventFromHandle(e, this.handlesRefs)) {\n this.onKeyboard(e);\n }\n },\n onClickMarkLabel(e, value) {\n e.stopPropagation();\n this.onChange({ sValue: value });\n this.setState({ sValue: value }, () => this.onEnd(true));\n },\n getSliderStart() {\n const slider = this.$refs.sliderRef;\n const { vertical, reverse } = this;\n const rect = slider.getBoundingClientRect();\n if (vertical) {\n return reverse ? rect.bottom : rect.top;\n }\n return window.pageXOffset + (reverse ? rect.right : rect.left);\n },\n getSliderLength() {\n const slider = this.$refs.sliderRef;\n if (!slider) {\n return 0;\n }\n\n const coords = slider.getBoundingClientRect();\n return this.vertical ? coords.height : coords.width;\n },\n addDocumentTouchEvents() {\n // just work for Chrome iOS Safari and Android Browser\n this.onTouchMoveListener = addEventListener(this.document, 'touchmove', this.onTouchMove);\n this.onTouchUpListener = addEventListener(this.document, 'touchend', this.onEnd);\n },\n addDocumentMouseEvents() {\n this.onMouseMoveListener = addEventListener(this.document, 'mousemove', this.onMouseMove);\n this.onMouseUpListener = addEventListener(this.document, 'mouseup', this.onEnd);\n },\n removeDocumentEvents() {\n /* eslint-disable no-unused-expressions */\n this.onTouchMoveListener && this.onTouchMoveListener.remove();\n this.onTouchUpListener && this.onTouchUpListener.remove();\n\n this.onMouseMoveListener && this.onMouseMoveListener.remove();\n this.onMouseUpListener && this.onMouseUpListener.remove();\n /* eslint-enable no-unused-expressions */\n },\n focus() {\n if (!this.disabled) {\n this.handlesRefs[0].focus();\n }\n },\n blur() {\n if (!this.disabled) {\n Object.keys(this.handlesRefs).forEach(key => {\n if (this.handlesRefs[key] && this.handlesRefs[key].blur) {\n this.handlesRefs[key].blur();\n }\n });\n }\n },\n calcValue(offset) {\n const { vertical, min, max } = this;\n const ratio = Math.abs(Math.max(offset, 0) / this.getSliderLength());\n const value = vertical ? (1 - ratio) * (max - min) + min : ratio * (max - min) + min;\n return value;\n },\n calcValueByPos(position) {\n const sign = this.reverse ? -1 : +1;\n const pixelOffset = sign * (position - this.getSliderStart());\n const nextValue = this.trimAlignValue(this.calcValue(pixelOffset));\n return nextValue;\n },\n calcOffset(value) {\n const { min, max } = this;\n const ratio = (value - min) / (max - min);\n return ratio * 100;\n },\n saveHandle(index, handle) {\n this.handlesRefs[index] = handle;\n },\n },\n render(h) {\n const {\n prefixCls,\n marks,\n dots,\n step,\n included,\n disabled,\n vertical,\n reverse,\n min,\n max,\n maximumTrackStyle,\n railStyle,\n dotStyle,\n activeDotStyle,\n } = this;\n const { tracks, handles } = this.renderSlider(h);\n\n const sliderClassName = classNames(prefixCls, {\n [`${prefixCls}-with-marks`]: Object.keys(marks).length,\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-vertical`]: vertical,\n });\n const markProps = {\n props: {\n vertical,\n marks,\n included,\n lowerBound: this.getLowerBound(),\n upperBound: this.getUpperBound(),\n max,\n min,\n reverse,\n className: `${prefixCls}-mark`,\n },\n on: {\n clickLabel: disabled ? noop : this.onClickMarkLabel,\n },\n };\n return (\n <div\n ref=\"sliderRef\"\n tabIndex=\"-1\"\n class={sliderClassName}\n onTouchstart={disabled ? noop : this.onTouchStart}\n onMousedown={disabled ? noop : this.onMouseDown}\n onMouseup={disabled ? noop : this.onMouseUp}\n onKeydown={disabled ? noop : this.onKeyDown}\n onFocus={disabled ? noop : this.onFocus}\n onBlur={disabled ? noop : this.onBlur}\n >\n <div\n class={`${prefixCls}-rail`}\n style={{\n ...maximumTrackStyle,\n ...railStyle,\n }}\n />\n {tracks}\n <Steps\n prefixCls={prefixCls}\n vertical={vertical}\n reverse={reverse}\n marks={marks}\n dots={dots}\n step={step}\n included={included}\n lowerBound={this.getLowerBound()}\n upperBound={this.getUpperBound()}\n max={max}\n min={min}\n dotStyle={dotStyle}\n activeDotStyle={activeDotStyle}\n />\n {handles}\n <Marks {...markProps} />\n {this.$slots.default}\n </div>\n );\n },\n };\n}\n","import PropTypes from '../../_util/vue-types';\nimport warning from '../../_util/warning';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { hasProp } from '../../_util/props-util';\nimport Track from './common/Track';\nimport createSlider from './common/createSlider';\nimport * as utils from './utils';\n\nconst Slider = {\n name: 'Slider',\n mixins: [BaseMixin],\n props: {\n defaultValue: PropTypes.number,\n value: PropTypes.number,\n disabled: PropTypes.bool,\n autoFocus: PropTypes.bool,\n tabIndex: PropTypes.number,\n reverse: PropTypes.bool,\n min: PropTypes.number,\n max: PropTypes.number,\n },\n data() {\n const defaultValue = this.defaultValue !== undefined ? this.defaultValue : this.min;\n const value = this.value !== undefined ? this.value : defaultValue;\n\n warning(\n !hasProp(this, 'minimumTrackStyle'),\n 'Slider',\n 'minimumTrackStyle will be deprecate, please use trackStyle instead.',\n );\n warning(\n !hasProp(this, 'maximumTrackStyle'),\n 'Slider',\n 'maximumTrackStyle will be deprecate, please use railStyle instead.',\n );\n return {\n sValue: this.trimAlignValue(value),\n dragging: false,\n };\n },\n watch: {\n value: {\n handler(val) {\n this.setChangeValue(val);\n },\n deep: true,\n },\n min() {\n const { sValue } = this;\n this.setChangeValue(sValue);\n },\n max() {\n const { sValue } = this;\n this.setChangeValue(sValue);\n },\n },\n methods: {\n setChangeValue(value) {\n const newValue = value !== undefined ? value : this.sValue;\n const nextValue = this.trimAlignValue(newValue, this.$props);\n if (nextValue === this.sValue) return;\n\n this.setState({ sValue: nextValue });\n if (utils.isValueOutOfRange(newValue, this.$props)) {\n this.$emit('change', nextValue);\n }\n },\n onChange(state) {\n const isNotControlled = !hasProp(this, 'value');\n const nextState = state.sValue > this.max ? { ...state, sValue: this.max } : state;\n if (isNotControlled) {\n this.setState(nextState);\n }\n\n const changedValue = nextState.sValue;\n this.$emit('change', changedValue);\n },\n onStart(position) {\n this.setState({ dragging: true });\n const { sValue } = this;\n this.$emit('beforeChange', sValue);\n\n const value = this.calcValueByPos(position);\n\n this.startValue = value;\n this.startPosition = position;\n if (value === sValue) return;\n\n this.prevMovedHandleIndex = 0;\n this.onChange({ sValue: value });\n },\n onEnd(force) {\n const { dragging } = this;\n this.removeDocumentEvents();\n if (dragging || force) {\n this.$emit('afterChange', this.sValue);\n }\n this.setState({ dragging: false });\n },\n onMove(e, position) {\n utils.pauseEvent(e);\n const { sValue } = this;\n const value = this.calcValueByPos(position);\n if (value === sValue) return;\n\n this.onChange({ sValue: value });\n },\n onKeyboard(e) {\n const { reverse, vertical } = this.$props;\n const valueMutator = utils.getKeyboardValueMutator(e, vertical, reverse);\n if (valueMutator) {\n utils.pauseEvent(e);\n const { sValue } = this;\n const mutatedValue = valueMutator(sValue, this.$props);\n const value = this.trimAlignValue(mutatedValue);\n if (value === sValue) return;\n\n this.onChange({ sValue: value });\n this.$emit('afterChange', value);\n this.onEnd();\n }\n },\n getLowerBound() {\n return this.min;\n },\n getUpperBound() {\n return this.sValue;\n },\n trimAlignValue(v, nextProps = {}) {\n if (v === null) {\n return null;\n }\n const mergedProps = { ...this.$props, ...nextProps };\n const val = utils.ensureValueInRange(v, mergedProps);\n return utils.ensureValuePrecision(val, mergedProps);\n },\n getTrack({ prefixCls, reverse, vertical, included, offset, minimumTrackStyle, _trackStyle }) {\n return (\n <Track\n class={`${prefixCls}-track`}\n vertical={vertical}\n included={included}\n offset={0}\n reverse={reverse}\n length={offset}\n style={{\n ...minimumTrackStyle,\n ..._trackStyle,\n }}\n />\n );\n },\n renderSlider() {\n const {\n prefixCls,\n vertical,\n included,\n disabled,\n minimumTrackStyle,\n trackStyle,\n handleStyle,\n tabIndex,\n min,\n max,\n reverse,\n handle,\n defaultHandle,\n } = this;\n const handleGenerator = handle || defaultHandle;\n const { sValue, dragging } = this;\n const offset = this.calcOffset(sValue);\n const handles = handleGenerator({\n className: `${prefixCls}-handle`,\n prefixCls,\n vertical,\n offset,\n value: sValue,\n dragging,\n disabled,\n min,\n max,\n reverse,\n index: 0,\n tabIndex,\n style: handleStyle[0] || handleStyle,\n directives: [\n {\n name: 'ant-ref',\n value: h => this.saveHandle(0, h),\n },\n ],\n on: {\n focus: this.onFocus,\n blur: this.onBlur,\n },\n });\n\n const _trackStyle = trackStyle[0] || trackStyle;\n return {\n tracks: this.getTrack({\n prefixCls,\n reverse,\n vertical,\n included,\n offset,\n minimumTrackStyle,\n _trackStyle,\n }),\n handles,\n };\n },\n },\n};\n\nexport default createSlider(Slider);\n","import classNames from 'classnames';\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { initDefaultProps, hasProp } from '../../_util/props-util';\nimport Track from './common/Track';\nimport createSlider from './common/createSlider';\nimport * as utils from './utils';\n\nconst trimAlignValue = ({ value, handle, bounds, props }) => {\n const { allowCross, pushable } = props;\n const thershold = Number(pushable);\n const valInRange = utils.ensureValueInRange(value, props);\n let valNotConflict = valInRange;\n if (!allowCross && handle != null && bounds !== undefined) {\n if (handle > 0 && valInRange <= bounds[handle - 1] + thershold) {\n valNotConflict = bounds[handle - 1] + thershold;\n }\n if (handle < bounds.length - 1 && valInRange >= bounds[handle + 1] - thershold) {\n valNotConflict = bounds[handle + 1] - thershold;\n }\n }\n return utils.ensureValuePrecision(valNotConflict, props);\n};\n\nconst rangeProps = {\n defaultValue: PropTypes.arrayOf(PropTypes.number),\n value: PropTypes.arrayOf(PropTypes.number),\n count: PropTypes.number,\n pushable: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n allowCross: PropTypes.bool,\n disabled: PropTypes.bool,\n reverse: PropTypes.bool,\n tabIndex: PropTypes.arrayOf(PropTypes.number),\n prefixCls: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n autoFocus: PropTypes.bool,\n};\nconst Range = {\n name: 'Range',\n displayName: 'Range',\n mixins: [BaseMixin],\n props: initDefaultProps(rangeProps, {\n count: 1,\n allowCross: true,\n pushable: false,\n tabIndex: [],\n }),\n data() {\n const { count, min, max } = this;\n const initialValue = Array(...Array(count + 1)).map(() => min);\n const defaultValue = hasProp(this, 'defaultValue') ? this.defaultValue : initialValue;\n let { value } = this;\n if (value === undefined) {\n value = defaultValue;\n }\n const bounds = value.map((v, i) =>\n trimAlignValue({\n value: v,\n handle: i,\n props: this.$props,\n }),\n );\n const recent = bounds[0] === max ? 0 : bounds.length - 1;\n return {\n sHandle: null,\n recent,\n bounds,\n };\n },\n watch: {\n value: {\n handler(val) {\n const { bounds } = this;\n this.setChangeValue(val || bounds);\n },\n deep: true,\n },\n min() {\n const { value } = this;\n this.setChangeValue(value || this.bounds);\n },\n max() {\n const { value } = this;\n this.setChangeValue(value || this.bounds);\n },\n },\n methods: {\n setChangeValue(value) {\n const { bounds } = this;\n const nextBounds = value.map((v, i) =>\n trimAlignValue({\n value: v,\n handle: i,\n bounds,\n props: this.$props,\n }),\n );\n if (nextBounds.length === bounds.length && nextBounds.every((v, i) => v === bounds[i]))\n return;\n\n this.setState({ bounds: nextBounds });\n\n if (value.some(v => utils.isValueOutOfRange(v, this.$props))) {\n const newValues = value.map(v => {\n return utils.ensureValueInRange(v, this.$props);\n });\n this.$emit('change', newValues);\n }\n },\n onChange(state) {\n const isNotControlled = !hasProp(this, 'value');\n if (isNotControlled) {\n this.setState(state);\n } else {\n const controlledState = {};\n\n ['sHandle', 'recent'].forEach(item => {\n if (state[item] !== undefined) {\n controlledState[item] = state[item];\n }\n });\n\n if (Object.keys(controlledState).length) {\n this.setState(controlledState);\n }\n }\n\n const data = { ...this.$data, ...state };\n const changedValue = data.bounds;\n this.$emit('change', changedValue);\n },\n onStart(position) {\n const { bounds } = this;\n this.$emit('beforeChange', bounds);\n\n const value = this.calcValueByPos(position);\n this.startValue = value;\n this.startPosition = position;\n\n const closestBound = this.getClosestBound(value);\n this.prevMovedHandleIndex = this.getBoundNeedMoving(value, closestBound);\n\n this.setState({\n sHandle: this.prevMovedHandleIndex,\n recent: this.prevMovedHandleIndex,\n });\n\n const prevValue = bounds[this.prevMovedHandleIndex];\n if (value === prevValue) return;\n const nextBounds = [...bounds];\n nextBounds[this.prevMovedHandleIndex] = value;\n this.onChange({ bounds: nextBounds });\n },\n onEnd(force) {\n const { sHandle } = this;\n this.removeDocumentEvents();\n if (sHandle !== null || force) {\n this.$emit('afterChange', this.bounds);\n }\n this.setState({ sHandle: null });\n },\n onMove(e, position) {\n utils.pauseEvent(e);\n const { bounds, sHandle } = this;\n const value = this.calcValueByPos(position);\n const oldValue = bounds[sHandle];\n if (value === oldValue) return;\n\n this.moveTo(value);\n },\n onKeyboard(e) {\n const { reverse, vertical } = this.$props;\n const valueMutator = utils.getKeyboardValueMutator(e, vertical, reverse);\n\n if (valueMutator) {\n utils.pauseEvent(e);\n const { bounds, sHandle } = this;\n const oldValue = bounds[sHandle === null ? this.recent : sHandle];\n const mutatedValue = valueMutator(oldValue, this.$props);\n const value = trimAlignValue({\n value: mutatedValue,\n handle: sHandle,\n bounds,\n props: this.$props,\n });\n if (value === oldValue) return;\n const isFromKeyboardEvent = true;\n this.moveTo(value, isFromKeyboardEvent);\n }\n },\n getClosestBound(value) {\n const { bounds } = this;\n let closestBound = 0;\n for (let i = 1; i < bounds.length - 1; ++i) {\n if (value > bounds[i]) {\n closestBound = i;\n }\n }\n if (Math.abs(bounds[closestBound + 1] - value) < Math.abs(bounds[closestBound] - value)) {\n closestBound += 1;\n }\n return closestBound;\n },\n getBoundNeedMoving(value, closestBound) {\n const { bounds, recent } = this;\n let boundNeedMoving = closestBound;\n const isAtTheSamePoint = bounds[closestBound + 1] === bounds[closestBound];\n\n if (isAtTheSamePoint && bounds[recent] === bounds[closestBound]) {\n boundNeedMoving = recent;\n }\n\n if (isAtTheSamePoint && value !== bounds[closestBound + 1]) {\n boundNeedMoving = value < bounds[closestBound + 1] ? closestBound : closestBound + 1;\n }\n return boundNeedMoving;\n },\n getLowerBound() {\n return this.bounds[0];\n },\n getUpperBound() {\n const { bounds } = this;\n return bounds[bounds.length - 1];\n },\n /**\n * Returns an array of possible slider points, taking into account both\n * `marks` and `step`. The result is cached.\n */\n getPoints() {\n const { marks, step, min, max } = this;\n const cache = this._getPointsCache;\n if (!cache || cache.marks !== marks || cache.step !== step) {\n const pointsObject = { ...marks };\n if (step !== null) {\n for (let point = min; point <= max; point += step) {\n pointsObject[point] = point;\n }\n }\n const points = Object.keys(pointsObject).map(parseFloat);\n points.sort((a, b) => a - b);\n this._getPointsCache = { marks, step, points };\n }\n return this._getPointsCache.points;\n },\n\n moveTo(value, isFromKeyboardEvent) {\n const nextBounds = [...this.bounds];\n const { sHandle, recent } = this;\n const handle = sHandle === null ? recent : sHandle;\n nextBounds[handle] = value;\n let nextHandle = handle;\n if (this.$props.pushable !== false) {\n this.pushSurroundingHandles(nextBounds, nextHandle);\n } else if (this.$props.allowCross) {\n nextBounds.sort((a, b) => a - b);\n nextHandle = nextBounds.indexOf(value);\n }\n this.onChange({\n recent: nextHandle,\n sHandle: nextHandle,\n bounds: nextBounds,\n });\n if (isFromKeyboardEvent) {\n // known problem: because setState is async,\n // so trigger focus will invoke handler's onEnd and another handler's onStart too early,\n // cause onBeforeChange and onAfterChange receive wrong value.\n // here use setState callback to hack,but not elegant\n this.$emit('afterChange', nextBounds);\n this.setState({}, () => {\n this.handlesRefs[nextHandle].focus();\n });\n this.onEnd();\n }\n },\n\n pushSurroundingHandles(bounds, handle) {\n const value = bounds[handle];\n let { pushable: threshold } = this;\n threshold = Number(threshold);\n\n let direction = 0;\n if (bounds[handle + 1] - value < threshold) {\n direction = +1; // push to right\n }\n if (value - bounds[handle - 1] < threshold) {\n direction = -1; // push to left\n }\n\n if (direction === 0) {\n return;\n }\n\n const nextHandle = handle + direction;\n const diffToNext = direction * (bounds[nextHandle] - value);\n if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {\n // revert to original value if pushing is impossible\n bounds[handle] = bounds[nextHandle] - direction * threshold;\n }\n },\n pushHandle(bounds, handle, direction, amount) {\n const originalValue = bounds[handle];\n let currentValue = bounds[handle];\n while (direction * (currentValue - originalValue) < amount) {\n if (!this.pushHandleOnePoint(bounds, handle, direction)) {\n // can't push handle enough to create the needed `amount` gap, so we\n // revert its position to the original value\n bounds[handle] = originalValue;\n return false;\n }\n currentValue = bounds[handle];\n }\n // the handle was pushed enough to create the needed `amount` gap\n return true;\n },\n pushHandleOnePoint(bounds, handle, direction) {\n const points = this.getPoints();\n const pointIndex = points.indexOf(bounds[handle]);\n const nextPointIndex = pointIndex + direction;\n if (nextPointIndex >= points.length || nextPointIndex < 0) {\n // reached the minimum or maximum available point, can't push anymore\n return false;\n }\n const nextHandle = handle + direction;\n const nextValue = points[nextPointIndex];\n const { pushable: threshold } = this;\n const diffToNext = direction * (bounds[nextHandle] - nextValue);\n if (!this.pushHandle(bounds, nextHandle, direction, threshold - diffToNext)) {\n // couldn't push next handle, so we won't push this one either\n return false;\n }\n // push the handle\n bounds[handle] = nextValue;\n return true;\n },\n trimAlignValue(value) {\n const { sHandle, bounds } = this;\n return trimAlignValue({\n value,\n handle: sHandle,\n bounds,\n props: this.$props,\n });\n },\n ensureValueNotConflict(handle, val, { allowCross, pushable: thershold }) {\n const state = this.$data || {};\n const { bounds } = state;\n handle = handle === undefined ? state.sHandle : handle;\n thershold = Number(thershold);\n /* eslint-disable eqeqeq */\n if (!allowCross && handle != null && bounds !== undefined) {\n if (handle > 0 && val <= bounds[handle - 1] + thershold) {\n return bounds[handle - 1] + thershold;\n }\n if (handle < bounds.length - 1 && val >= bounds[handle + 1] - thershold) {\n return bounds[handle + 1] - thershold;\n }\n }\n /* eslint-enable eqeqeq */\n return val;\n },\n getTrack({ bounds, prefixCls, reverse, vertical, included, offsets, trackStyle }) {\n return bounds.slice(0, -1).map((_, index) => {\n const i = index + 1;\n const trackClassName = classNames({\n [`${prefixCls}-track`]: true,\n [`${prefixCls}-track-${i}`]: true,\n });\n return (\n <Track\n class={trackClassName}\n vertical={vertical}\n reverse={reverse}\n included={included}\n offset={offsets[i - 1]}\n length={offsets[i] - offsets[i - 1]}\n style={trackStyle[index]}\n key={i}\n />\n );\n });\n },\n renderSlider() {\n const {\n sHandle,\n bounds,\n prefixCls,\n vertical,\n included,\n disabled,\n min,\n max,\n reverse,\n handle,\n defaultHandle,\n trackStyle,\n handleStyle,\n tabIndex,\n } = this;\n const handleGenerator = handle || defaultHandle;\n const offsets = bounds.map(v => this.calcOffset(v));\n\n const handleClassName = `${prefixCls}-handle`;\n const handles = bounds.map((v, i) => {\n let _tabIndex = tabIndex[i] || 0;\n if (disabled || tabIndex[i] === null) {\n _tabIndex = null;\n }\n return handleGenerator({\n className: classNames({\n [handleClassName]: true,\n [`${handleClassName}-${i + 1}`]: true,\n }),\n prefixCls,\n vertical,\n offset: offsets[i],\n value: v,\n dragging: sHandle === i,\n index: i,\n tabIndex: _tabIndex,\n min,\n max,\n reverse,\n disabled,\n style: handleStyle[i],\n directives: [\n {\n name: 'ant-ref',\n value: h => this.saveHandle(i, h),\n },\n ],\n on: {\n focus: this.onFocus,\n blur: this.onBlur,\n },\n });\n });\n\n return {\n tracks: this.getTrack({\n bounds,\n prefixCls,\n reverse,\n vertical,\n included,\n offsets,\n trackStyle,\n }),\n handles,\n };\n },\n },\n};\n\nexport default createSlider(Range);\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getOptionProps, getListeners } from '../_util/props-util';\nimport VcSlider from '../vc-slider/src/Slider';\nimport VcRange from '../vc-slider/src/Range';\nimport VcHandle from '../vc-slider/src/Handle';\nimport Tooltip from '../tooltip';\nimport Base from '../base';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport abstractTooltipProps from '../tooltip/abstractTooltipProps';\n\n// export interface SliderMarks {\n// [key]: React.ReactNode | {\n// style: React.CSSProperties,\n// label: React.ReactNode,\n// };\n// }\n// const SliderMarks = PropTypes.shape({\n// style: PropTypes.object,\n// label: PropTypes.any,\n// }).loose\nconst tooltipProps = abstractTooltipProps();\nexport const SliderProps = () => ({\n prefixCls: PropTypes.string,\n tooltipPrefixCls: PropTypes.string,\n range: PropTypes.bool,\n reverse: PropTypes.bool,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.oneOfType([PropTypes.number, PropTypes.any]),\n marks: PropTypes.object,\n dots: PropTypes.bool,\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)]),\n defaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)]),\n included: PropTypes.bool,\n disabled: PropTypes.bool,\n vertical: PropTypes.bool,\n tipFormatter: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n tooltipVisible: PropTypes.bool,\n tooltipPlacement: tooltipProps.placement,\n getTooltipPopupContainer: PropTypes.func,\n});\n\nconst Slider = {\n name: 'ASlider',\n model: {\n prop: 'value',\n event: 'change',\n },\n mixins: [BaseMixin],\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n props: {\n ...SliderProps(),\n tipFormatter: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).def(value =>\n value.toString(),\n ),\n },\n data() {\n return {\n visibles: {},\n };\n },\n methods: {\n toggleTooltipVisible(index, visible) {\n this.setState(({ visibles }) => ({\n visibles: {\n ...visibles,\n [index]: visible,\n },\n }));\n },\n handleWithTooltip(\n tooltipPrefixCls,\n prefixCls,\n { value, dragging, index, directives, on, ...restProps },\n ) {\n const {\n tipFormatter,\n tooltipVisible,\n tooltipPlacement,\n getTooltipPopupContainer,\n } = this.$props;\n const { visibles } = this;\n const isTipFormatter = tipFormatter ? visibles[index] || dragging : false;\n const visible = tooltipVisible || (tooltipVisible === undefined && isTipFormatter);\n const tooltipProps = {\n props: {\n prefixCls: tooltipPrefixCls,\n title: tipFormatter ? tipFormatter(value) : '',\n visible,\n placement: tooltipPlacement || 'top',\n transitionName: 'zoom-down',\n overlayClassName: `${prefixCls}-tooltip`,\n getPopupContainer: getTooltipPopupContainer || (() => document.body),\n },\n key: index,\n };\n const handleProps = {\n props: {\n value,\n ...restProps,\n },\n directives,\n on: {\n ...on,\n mouseenter: () => this.toggleTooltipVisible(index, true),\n mouseleave: () => this.toggleTooltipVisible(index, false),\n },\n };\n return (\n <Tooltip {...tooltipProps}>\n <VcHandle {...handleProps} />\n </Tooltip>\n );\n },\n focus() {\n this.$refs.sliderRef.focus();\n },\n blur() {\n this.$refs.sliderRef.blur();\n },\n },\n render() {\n const {\n range,\n prefixCls: customizePrefixCls,\n tooltipPrefixCls: customizeTooltipPrefixCls,\n ...restProps\n } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('slider', customizePrefixCls);\n const tooltipPrefixCls = getPrefixCls('tooltip', customizeTooltipPrefixCls);\n const listeners = getListeners(this);\n if (range) {\n const vcRangeProps = {\n props: {\n ...restProps,\n prefixCls,\n tooltipPrefixCls,\n handle: info => this.handleWithTooltip(tooltipPrefixCls, prefixCls, info),\n },\n ref: 'sliderRef',\n on: listeners,\n };\n return <VcRange {...vcRangeProps} />;\n }\n const vcSliderProps = {\n props: {\n ...restProps,\n prefixCls,\n tooltipPrefixCls,\n handle: info => this.handleWithTooltip(tooltipPrefixCls, prefixCls, info),\n },\n ref: 'sliderRef',\n on: listeners,\n };\n return <VcSlider {...vcSliderProps} />;\n },\n};\n\n/* istanbul ignore next */\nSlider.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Slider.name, Slider);\n};\n\nexport default Slider;\n","import padEnd from 'lodash/padEnd';\n\nexport default {\n name: 'AStatisticNumber',\n functional: true,\n render(h, context) {\n const {\n value,\n formatter,\n precision,\n decimalSeparator,\n groupSeparator = '',\n prefixCls,\n } = context.props;\n let valueNode;\n\n if (typeof formatter === 'function') {\n // Customize formatter\n valueNode = formatter({ value, h });\n } else {\n // Internal formatter\n const val = String(value);\n const cells = val.match(/^(-?)(\\d*)(\\.(\\d+))?$/);\n // Process if illegal number\n if (!cells) {\n valueNode = val;\n } else {\n const negative = cells[1];\n let int = cells[2] || '0';\n let decimal = cells[4] || '';\n\n int = int.replace(/\\B(?=(\\d{3})+(?!\\d))/g, groupSeparator);\n if (typeof precision === 'number') {\n decimal = padEnd(decimal, precision, '0').slice(0, precision);\n }\n\n if (decimal) {\n decimal = `${decimalSeparator}${decimal}`;\n }\n\n valueNode = [\n <span key=\"int\" class={`${prefixCls}-content-value-int`}>\n {negative}\n {int}\n </span>,\n decimal && (\n <span key=\"decimal\" class={`${prefixCls}-content-value-decimal`}>\n {decimal}\n </span>\n ),\n ];\n }\n }\n\n return <span class={`${prefixCls}-content-value`}>{valueNode}</span>;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { getComponentFromProp, initDefaultProps } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport StatisticNumber from './Number';\n\nexport const StatisticProps = {\n prefixCls: PropTypes.string,\n decimalSeparator: PropTypes.string,\n groupSeparator: PropTypes.string,\n format: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]),\n valueStyle: PropTypes.any,\n valueRender: PropTypes.any,\n formatter: PropTypes.any,\n precision: PropTypes.number,\n prefix: PropTypes.any,\n suffix: PropTypes.any,\n title: PropTypes.any,\n};\n\nexport default {\n name: 'AStatistic',\n props: initDefaultProps(StatisticProps, {\n decimalSeparator: '.',\n groupSeparator: ',',\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n\n render() {\n const { prefixCls: customizePrefixCls, value = 0, valueStyle, valueRender } = this.$props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('statistic', customizePrefixCls);\n\n const title = getComponentFromProp(this, 'title');\n let prefix = getComponentFromProp(this, 'prefix');\n let suffix = getComponentFromProp(this, 'suffix');\n const formatter = getComponentFromProp(this, 'formatter', {}, false);\n let valueNode = (\n <StatisticNumber {...{ props: { ...this.$props, prefixCls, value, formatter } }} />\n );\n if (valueRender) {\n valueNode = valueRender(valueNode);\n }\n\n return (\n <div class={prefixCls}>\n {title && <div class={`${prefixCls}-title`}>{title}</div>}\n <div style={valueStyle} class={`${prefixCls}-content`}>\n {prefix && <span class={`${prefixCls}-content-prefix`}>{prefix}</span>}\n {valueNode}\n {suffix && <span class={`${prefixCls}-content-suffix`}>{suffix}</span>}\n </div>\n </div>\n );\n },\n};\n","import * as moment from 'moment';\nimport padStart from 'lodash/padStart';\n\nimport interopDefault from '../_util/interopDefault';\n\n// Countdown\nconst timeUnits = [\n ['Y', 1000 * 60 * 60 * 24 * 365], // years\n ['M', 1000 * 60 * 60 * 24 * 30], // months\n ['D', 1000 * 60 * 60 * 24], // days\n ['H', 1000 * 60 * 60], // hours\n ['m', 1000 * 60], // minutes\n ['s', 1000], // seconds\n ['S', 1], // million seconds\n];\n\nexport function formatTimeStr(duration, format) {\n let leftDuration = duration;\n\n const escapeRegex = /\\[[^\\]]*\\]/g;\n const keepList = (format.match(escapeRegex) || []).map(str => str.slice(1, -1));\n const templateText = format.replace(escapeRegex, '[]');\n\n const replacedText = timeUnits.reduce((current, [name, unit]) => {\n if (current.indexOf(name) !== -1) {\n const value = Math.floor(leftDuration / unit);\n leftDuration -= value * unit;\n return current.replace(new RegExp(`${name}+`, 'g'), match => {\n const len = match.length;\n return padStart(value.toString(), len, '0');\n });\n }\n return current;\n }, templateText);\n\n let index = 0;\n return replacedText.replace(escapeRegex, () => {\n const match = keepList[index];\n index += 1;\n return match;\n });\n}\n\nexport function formatCountdown(value, config) {\n const { format = '' } = config;\n const target = interopDefault(moment)(value).valueOf();\n const current = interopDefault(moment)().valueOf();\n const diff = Math.max(target - current, 0);\n return formatTimeStr(diff, format);\n}\n","import * as moment from 'moment';\nimport interopDefault from '../_util/interopDefault';\nimport { initDefaultProps, getListeners } from '../_util/props-util';\nimport Statistic, { StatisticProps } from './Statistic';\nimport { formatCountdown } from './utils';\n\nconst REFRESH_INTERVAL = 1000 / 30;\n\nfunction getTime(value) {\n return interopDefault(moment)(value).valueOf();\n}\n\nexport default {\n name: 'AStatisticCountdown',\n props: initDefaultProps(StatisticProps, {\n format: 'HH:mm:ss',\n }),\n\n created() {\n this.countdownId = undefined;\n },\n\n mounted() {\n this.syncTimer();\n },\n\n updated() {\n this.syncTimer();\n },\n\n beforeDestroy() {\n this.stopTimer();\n },\n\n methods: {\n syncTimer() {\n const { value } = this.$props;\n const timestamp = getTime(value);\n if (timestamp >= Date.now()) {\n this.startTimer();\n } else {\n this.stopTimer();\n }\n },\n\n startTimer() {\n if (this.countdownId) return;\n this.countdownId = window.setInterval(() => {\n this.$refs.statistic.$forceUpdate();\n this.syncTimer();\n }, REFRESH_INTERVAL);\n },\n\n stopTimer() {\n const { value } = this.$props;\n if (this.countdownId) {\n clearInterval(this.countdownId);\n this.countdownId = undefined;\n\n const timestamp = getTime(value);\n if (timestamp < Date.now()) {\n this.$emit('finish');\n }\n }\n },\n\n formatCountdown({ value, config }) {\n const { format } = this.$props;\n return formatCountdown(value, { ...config, format });\n },\n\n valueRenderHtml: node => node,\n },\n\n render() {\n return (\n <Statistic\n ref=\"statistic\"\n {...{\n props: {\n ...this.$props,\n valueRender: this.valueRenderHtml,\n formatter: this.formatCountdown,\n },\n on: getListeners(this),\n }}\n />\n );\n },\n};\n","import Statistic from './Statistic';\nimport Countdown from './Countdown';\nimport Base from '../base';\n\nStatistic.Countdown = Countdown;\n/* istanbul ignore next */\nStatistic.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Statistic.name, Statistic);\n Vue.component(Statistic.Countdown.name, Statistic.Countdown);\n};\n\nexport default Statistic;\n","export default function isFlexSupported() {\n if (typeof window !== 'undefined' && window.document && window.document.documentElement) {\n const { documentElement } = window.document;\n return (\n 'flex' in documentElement.style ||\n 'webkitFlex' in documentElement.style ||\n 'Flex' in documentElement.style ||\n 'msFlex' in documentElement.style\n );\n }\n return false;\n}\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport debounce from 'lodash/debounce';\nimport isFlexSupported from '../_util/isFlexSupported';\nimport { filterEmpty, getEvents, getPropsData, getListeners } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\n\nexport default {\n name: 'Steps',\n mixins: [BaseMixin],\n props: {\n type: PropTypes.string.def('default'),\n prefixCls: PropTypes.string.def('rc-steps'),\n iconPrefix: PropTypes.string.def('rc'),\n direction: PropTypes.string.def('horizontal'),\n labelPlacement: PropTypes.string.def('horizontal'),\n status: PropTypes.string.def('process'),\n size: PropTypes.string.def(''),\n progressDot: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n initial: PropTypes.number.def(0),\n current: PropTypes.number.def(0),\n icons: PropTypes.shape({\n finish: PropTypes.any,\n error: PropTypes.any,\n }).loose,\n },\n data() {\n this.calcStepOffsetWidth = debounce(this.calcStepOffsetWidth, 150);\n return {\n flexSupported: true,\n lastStepOffsetWidth: 0,\n };\n },\n mounted() {\n this.$nextTick(() => {\n this.calcStepOffsetWidth();\n if (!isFlexSupported()) {\n this.setState({\n flexSupported: false,\n });\n }\n });\n },\n updated() {\n this.$nextTick(() => {\n this.calcStepOffsetWidth();\n });\n },\n beforeDestroy() {\n if (this.calcTimeout) {\n clearTimeout(this.calcTimeout);\n }\n if (this.calcStepOffsetWidth && this.calcStepOffsetWidth.cancel) {\n this.calcStepOffsetWidth.cancel();\n }\n },\n methods: {\n onStepClick(next) {\n const { current } = this.$props;\n if (current !== next) {\n this.$emit('change', next);\n }\n },\n calcStepOffsetWidth() {\n if (isFlexSupported()) {\n return;\n }\n const { lastStepOffsetWidth } = this.$data;\n // Just for IE9\n const domNode = this.$refs.vcStepsRef;\n if (domNode.children.length > 0) {\n if (this.calcTimeout) {\n clearTimeout(this.calcTimeout);\n }\n this.calcTimeout = setTimeout(() => {\n // +1 for fit edge bug of digit width, like 35.4px\n const offsetWidth = (domNode.lastChild.offsetWidth || 0) + 1;\n // Reduce shake bug\n if (\n lastStepOffsetWidth === offsetWidth ||\n Math.abs(lastStepOffsetWidth - offsetWidth) <= 3\n ) {\n return;\n }\n this.setState({ lastStepOffsetWidth: offsetWidth });\n });\n }\n },\n },\n render() {\n const {\n prefixCls,\n direction,\n type,\n labelPlacement,\n iconPrefix,\n status,\n size,\n current,\n $scopedSlots,\n initial,\n icons,\n } = this;\n const isNav = type === 'navigation';\n let progressDot = this.progressDot;\n if (progressDot === undefined) {\n progressDot = $scopedSlots.progressDot;\n }\n const { lastStepOffsetWidth, flexSupported } = this;\n const filteredChildren = filterEmpty(this.$slots.default);\n const lastIndex = filteredChildren.length - 1;\n const adjustedlabelPlacement = progressDot ? 'vertical' : labelPlacement;\n const classString = {\n [prefixCls]: true,\n [`${prefixCls}-${direction}`]: true,\n [`${prefixCls}-${size}`]: size,\n [`${prefixCls}-label-${adjustedlabelPlacement}`]: direction === 'horizontal',\n [`${prefixCls}-dot`]: !!progressDot,\n [`${prefixCls}-navigation`]: isNav,\n [`${prefixCls}-flex-not-supported`]: !flexSupported,\n };\n const listeners = getListeners(this);\n const stepsProps = {\n class: classString,\n ref: 'vcStepsRef',\n on: listeners,\n };\n return (\n <div {...stepsProps}>\n {filteredChildren.map((child, index) => {\n const childProps = getPropsData(child);\n const stepNumber = initial + index;\n const stepProps = {\n props: {\n stepNumber: `${stepNumber + 1}`,\n stepIndex: stepNumber,\n prefixCls,\n iconPrefix,\n progressDot: this.progressDot,\n icons,\n ...childProps,\n },\n on: getEvents(child),\n scopedSlots: $scopedSlots,\n };\n if (listeners.change) {\n stepProps.on.stepClick = this.onStepClick;\n }\n if (!flexSupported && direction !== 'vertical') {\n if (isNav) {\n stepProps.props.itemWidth = `${100 / (lastIndex + 1)}%`;\n stepProps.props.adjustMarginRight = 0;\n } else if (index !== lastIndex) {\n stepProps.props.itemWidth = `${100 / lastIndex}%`;\n stepProps.props.adjustMarginRight = `${-Math.round(\n lastStepOffsetWidth / lastIndex + 1,\n )}px`;\n }\n }\n // fix tail color\n if (status === 'error' && index === current - 1) {\n stepProps.class = `${prefixCls}-next-error`;\n }\n if (!childProps.status) {\n if (stepNumber === current) {\n stepProps.props.status = status;\n } else if (stepNumber < current) {\n stepProps.props.status = 'finish';\n } else {\n stepProps.props.status = 'wait';\n }\n }\n stepProps.props.active = stepNumber === current;\n return cloneElement(child, stepProps);\n })}\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport { getOptionProps, getComponentFromProp, getListeners } from '../_util/props-util';\n\nfunction isString(str) {\n return typeof str === 'string';\n}\nfunction noop() {}\nexport default {\n name: 'Step',\n props: {\n prefixCls: PropTypes.string,\n wrapperStyle: PropTypes.object,\n itemWidth: PropTypes.string,\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n status: PropTypes.string,\n iconPrefix: PropTypes.string,\n icon: PropTypes.any,\n adjustMarginRight: PropTypes.string,\n stepNumber: PropTypes.string,\n stepIndex: PropTypes.number,\n description: PropTypes.any,\n title: PropTypes.any,\n subTitle: PropTypes.any,\n progressDot: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n tailContent: PropTypes.any,\n icons: PropTypes.shape({\n finish: PropTypes.any,\n error: PropTypes.any,\n }).loose,\n },\n methods: {\n onClick(...args) {\n this.$emit('click', ...args);\n this.$emit('stepClick', this.stepIndex);\n },\n renderIconNode() {\n const { prefixCls, stepNumber, status, iconPrefix, icons } = getOptionProps(this);\n let progressDot = this.progressDot;\n if (progressDot === undefined) {\n progressDot = this.$scopedSlots.progressDot;\n }\n const icon = getComponentFromProp(this, 'icon');\n const title = getComponentFromProp(this, 'title');\n const description = getComponentFromProp(this, 'description');\n let iconNode;\n const iconClassName = {\n [`${prefixCls}-icon`]: true,\n [`${iconPrefix}icon`]: true,\n [`${iconPrefix}icon-${icon}`]: icon && isString(icon),\n [`${iconPrefix}icon-check`]: !icon && status === 'finish' && icons && !icons.finish,\n [`${iconPrefix}icon-close`]: !icon && status === 'error' && icons && !icons.error,\n };\n const iconDot = <span class={`${prefixCls}-icon-dot`} />;\n // `progressDot` enjoy the highest priority\n if (progressDot) {\n if (typeof progressDot === 'function') {\n iconNode = (\n <span class={`${prefixCls}-icon`}>\n {progressDot({ index: stepNumber - 1, status, title, description, prefixCls })}\n </span>\n );\n } else {\n iconNode = <span class={`${prefixCls}-icon`}>{iconDot}</span>;\n }\n } else if (icon && !isString(icon)) {\n iconNode = <span class={`${prefixCls}-icon`}>{icon}</span>;\n } else if (icons && icons.finish && status === 'finish') {\n iconNode = <span class={`${prefixCls}-icon`}>{icons.finish}</span>;\n } else if (icons && icons.error && status === 'error') {\n iconNode = <span class={`${prefixCls}-icon`}>{icons.error}</span>;\n } else if (icon || status === 'finish' || status === 'error') {\n iconNode = <span class={iconClassName} />;\n } else {\n iconNode = <span class={`${prefixCls}-icon`}>{stepNumber}</span>;\n }\n return iconNode;\n },\n },\n render() {\n const {\n prefixCls,\n itemWidth,\n active,\n status = 'wait',\n tailContent,\n adjustMarginRight,\n disabled,\n } = getOptionProps(this);\n\n const title = getComponentFromProp(this, 'title');\n const subTitle = getComponentFromProp(this, 'subTitle');\n const description = getComponentFromProp(this, 'description');\n\n const classString = {\n [`${prefixCls}-item`]: true,\n [`${prefixCls}-item-${status}`]: true,\n [`${prefixCls}-item-custom`]: getComponentFromProp(this, 'icon'),\n [`${prefixCls}-item-active`]: active,\n [`${prefixCls}-item-disabled`]: disabled === true,\n };\n const stepProps = {\n class: classString,\n on: getListeners(this),\n };\n const stepItemStyle = {};\n if (itemWidth) {\n stepItemStyle.width = itemWidth;\n }\n if (adjustMarginRight) {\n stepItemStyle.marginRight = adjustMarginRight;\n }\n const listeners = getListeners(this);\n const accessibilityProps = {\n attrs: {},\n on: {\n click: listeners.click || noop,\n },\n };\n if (listeners.stepClick && !disabled) {\n accessibilityProps.attrs.role = 'button';\n accessibilityProps.attrs.tabIndex = 0;\n accessibilityProps.on.click = this.onClick;\n }\n return (\n <div {...stepProps} style={stepItemStyle}>\n <div {...accessibilityProps} class={`${prefixCls}-item-container`}>\n <div class={`${prefixCls}-item-tail`}>{tailContent}</div>\n <div class={`${prefixCls}-item-icon`}>{this.renderIconNode()}</div>\n <div class={`${prefixCls}-item-content`}>\n <div class={`${prefixCls}-item-title`}>\n {title}\n {subTitle && (\n <div title={subTitle} class={`${prefixCls}-item-subtitle`}>\n {subTitle}\n </div>\n )}\n </div>\n {description && <div class={`${prefixCls}-item-description`}>{description}</div>}\n </div>\n </div>\n </div>\n );\n },\n};\n","// base rc-steps 3.5.0\nimport Steps from './Steps';\nimport Step from './Step';\n\nSteps.Step = Step;\n\nexport { Step };\nexport default Steps;\n","import PropTypes from '../_util/vue-types';\nimport { initDefaultProps, getOptionProps, getListeners } from '../_util/props-util';\nimport VcSteps from '../vc-steps';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\n\nconst getStepsProps = (defaultProps = {}) => {\n const props = {\n prefixCls: PropTypes.string,\n iconPrefix: PropTypes.string,\n current: PropTypes.number,\n initial: PropTypes.number,\n labelPlacement: PropTypes.oneOf(['horizontal', 'vertical']).def('horizontal'),\n status: PropTypes.oneOf(['wait', 'process', 'finish', 'error']),\n size: PropTypes.oneOf(['default', 'small']),\n direction: PropTypes.oneOf(['horizontal', 'vertical']),\n progressDot: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n type: PropTypes.oneOf(['default', 'navigation']),\n };\n return initDefaultProps(props, defaultProps);\n};\n\nconst Steps = {\n name: 'ASteps',\n props: getStepsProps({\n current: 0,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n model: {\n prop: 'current',\n event: 'change',\n },\n Step: { ...VcSteps.Step, name: 'AStep' },\n render() {\n const props = getOptionProps(this);\n const { prefixCls: customizePrefixCls, iconPrefix: customizeIconPrefixCls } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('steps', customizePrefixCls);\n const iconPrefix = getPrefixCls('', customizeIconPrefixCls);\n\n const icons = {\n finish: <Icon type=\"check\" class={`${prefixCls}-finish-icon`} />,\n error: <Icon type=\"close\" class={`${prefixCls}-error-icon`} />,\n };\n const stepsProps = {\n props: {\n icons,\n iconPrefix,\n prefixCls,\n ...props,\n },\n on: getListeners(this),\n scopedSlots: this.$scopedSlots,\n };\n return <VcSteps {...stepsProps}>{this.$slots.default}</VcSteps>;\n },\n};\n\n/* istanbul ignore next */\nSteps.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Steps.name, Steps);\n Vue.component(Steps.Step.name, Steps.Step);\n};\n\nexport default Steps;\n","import PropTypes from '../_util/vue-types';\n\nexport const switchPropTypes = {\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool.def(false),\n checkedChildren: PropTypes.any,\n unCheckedChildren: PropTypes.any,\n // onChange: PropTypes.func,\n // onMouseUp: PropTypes.func,\n // onClick: PropTypes.func,\n tabIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n checked: PropTypes.bool.def(false),\n defaultChecked: PropTypes.bool.def(false),\n autoFocus: PropTypes.bool.def(false),\n loadingIcon: PropTypes.any,\n};\n","// base rc-switch 1.9.0\nimport Switch from './Switch';\n\nexport default Switch;\n","import { switchPropTypes } from './PropTypes';\nimport BaseMixin from '../_util/BaseMixin';\nimport { hasProp, getOptionProps, getComponentFromProp, getListeners } from '../_util/props-util';\n\n// function noop () {\n// }\nexport default {\n name: 'VcSwitch',\n mixins: [BaseMixin],\n model: {\n prop: 'checked',\n event: 'change',\n },\n props: {\n ...switchPropTypes,\n prefixCls: switchPropTypes.prefixCls.def('rc-switch'),\n // onChange: switchPropTypes.onChange.def(noop),\n // onClick: switchPropTypes.onClick.def(noop),\n },\n data() {\n let checked = false;\n if (hasProp(this, 'checked')) {\n checked = !!this.checked;\n } else {\n checked = !!this.defaultChecked;\n }\n return {\n stateChecked: checked,\n };\n },\n watch: {\n checked(val) {\n this.stateChecked = val;\n },\n },\n mounted() {\n this.$nextTick(() => {\n const { autoFocus, disabled } = this;\n if (autoFocus && !disabled) {\n this.focus();\n }\n });\n },\n methods: {\n setChecked(checked, e) {\n if (this.disabled) {\n return;\n }\n if (!hasProp(this, 'checked')) {\n this.stateChecked = checked;\n }\n this.$emit('change', checked, e);\n },\n handleClick(e) {\n const checked = !this.stateChecked;\n this.setChecked(checked, e);\n this.$emit('click', checked, e);\n },\n handleKeyDown(e) {\n if (e.keyCode === 37) {\n // Left\n this.setChecked(false, e);\n } else if (e.keyCode === 39) {\n // Right\n this.setChecked(true, e);\n }\n },\n handleMouseUp(e) {\n if (this.$refs.refSwitchNode) {\n this.$refs.refSwitchNode.blur();\n }\n this.$emit('mouseup', e);\n },\n focus() {\n this.$refs.refSwitchNode.focus();\n },\n blur() {\n this.$refs.refSwitchNode.blur();\n },\n },\n render() {\n const { prefixCls, disabled, loadingIcon, tabIndex, ...restProps } = getOptionProps(this);\n const checked = this.stateChecked;\n const switchClassName = {\n [prefixCls]: true,\n [`${prefixCls}-checked`]: checked,\n [`${prefixCls}-disabled`]: disabled,\n };\n const spanProps = {\n props: { ...restProps },\n on: {\n ...getListeners(this),\n keydown: this.handleKeyDown,\n click: this.handleClick,\n mouseup: this.handleMouseUp,\n },\n attrs: {\n type: 'button',\n role: 'switch',\n 'aria-checked': checked,\n disabled,\n tabIndex,\n },\n class: switchClassName,\n ref: 'refSwitchNode',\n };\n return (\n <button {...spanProps}>\n {loadingIcon}\n <span class={`${prefixCls}-inner`}>\n {checked\n ? getComponentFromProp(this, 'checkedChildren')\n : getComponentFromProp(this, 'unCheckedChildren')}\n </span>\n </button>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport hasProp, { getOptionProps, getComponentFromProp, getListeners } from '../_util/props-util';\nimport VcSwitch from '../vc-switch';\nimport Wave from '../_util/wave';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider/configConsumerProps';\nimport Base from '../base';\nimport warning from '../_util/warning';\n\nconst Switch = {\n name: 'ASwitch',\n __ANT_SWITCH: true,\n model: {\n prop: 'checked',\n event: 'change',\n },\n props: {\n prefixCls: PropTypes.string,\n // size=default and size=large are the same\n size: PropTypes.oneOf(['small', 'default', 'large']),\n disabled: PropTypes.bool,\n checkedChildren: PropTypes.any,\n unCheckedChildren: PropTypes.any,\n tabIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n checked: PropTypes.bool,\n defaultChecked: PropTypes.bool,\n autoFocus: PropTypes.bool,\n loading: PropTypes.bool,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n focus() {\n this.$refs.refSwitchNode.focus();\n },\n blur() {\n this.$refs.refSwitchNode.blur();\n },\n },\n created() {\n warning(\n hasProp(this, 'checked') || !hasProp(this, 'value'),\n 'Switch',\n '`value` is not validate prop, do you mean `checked`?',\n );\n },\n\n render() {\n const { prefixCls: customizePrefixCls, size, loading, disabled, ...restProps } = getOptionProps(\n this,\n );\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('switch', customizePrefixCls);\n\n const classes = {\n [`${prefixCls}-small`]: size === 'small',\n [`${prefixCls}-loading`]: loading,\n };\n const loadingIcon = loading ? (\n <Icon type=\"loading\" class={`${prefixCls}-loading-icon`} />\n ) : null;\n const switchProps = {\n props: {\n ...restProps,\n prefixCls,\n loadingIcon,\n checkedChildren: getComponentFromProp(this, 'checkedChildren'),\n unCheckedChildren: getComponentFromProp(this, 'unCheckedChildren'),\n disabled: disabled || loading,\n },\n on: getListeners(this),\n class: classes,\n ref: 'refSwitchNode',\n };\n return (\n <Wave insertExtraNode>\n <VcSwitch {...switchProps} />\n </Wave>\n );\n },\n};\n\n/* istanbul ignore next */\nSwitch.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Switch.name, Switch);\n};\n\nexport default Switch;\n","let scrollbarVerticalSize;\nlet scrollbarHorizontalSize;\n\n// Measure scrollbar width for padding body during modal show/hide\nconst scrollbarMeasure = {\n position: 'absolute',\n top: '-9999px',\n width: '50px',\n height: '50px',\n};\n\nexport const INTERNAL_COL_DEFINE = 'RC_TABLE_INTERNAL_COL_DEFINE';\n\nexport function measureScrollbar({ direction = 'vertical', prefixCls }) {\n if (typeof document === 'undefined' || typeof window === 'undefined') {\n return 0;\n }\n const isVertical = direction === 'vertical';\n if (isVertical && scrollbarVerticalSize) {\n return scrollbarVerticalSize;\n }\n if (!isVertical && scrollbarHorizontalSize) {\n return scrollbarHorizontalSize;\n }\n const scrollDiv = document.createElement('div');\n Object.keys(scrollbarMeasure).forEach(scrollProp => {\n scrollDiv.style[scrollProp] = scrollbarMeasure[scrollProp];\n });\n // apply hide scrollbar className ahead\n scrollDiv.className = `${prefixCls}-hide-scrollbar scroll-div-append-to-body`;\n\n // Append related overflow style\n if (isVertical) {\n scrollDiv.style.overflowY = 'scroll';\n } else {\n scrollDiv.style.overflowX = 'scroll';\n }\n document.body.appendChild(scrollDiv);\n let size = 0;\n if (isVertical) {\n size = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n scrollbarVerticalSize = size;\n } else {\n size = scrollDiv.offsetHeight - scrollDiv.clientHeight;\n scrollbarHorizontalSize = size;\n }\n\n document.body.removeChild(scrollDiv);\n return size;\n}\n\nexport function debounce(func, wait, immediate) {\n let timeout;\n function debounceFunc(...args) {\n const context = this;\n // https://fb.me/react-event-pooling\n if (args[0] && args[0].persist) {\n args[0].persist();\n }\n const later = () => {\n timeout = null;\n if (!immediate) {\n func.apply(context, args);\n }\n };\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) {\n func.apply(context, args);\n }\n }\n debounceFunc.cancel = function cancel() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n };\n return debounceFunc;\n}\n\nexport function remove(array, item) {\n const index = array.indexOf(item);\n const front = array.slice(0, index);\n const last = array.slice(index + 1, array.length);\n return front.concat(last);\n}\n","export default class ColumnManager {\n constructor(columns) {\n this.columns = columns;\n this._cached = {};\n }\n\n isAnyColumnsFixed() {\n return this._cache('isAnyColumnsFixed', () => this.columns.some(column => !!column.fixed));\n }\n\n isAnyColumnsLeftFixed() {\n return this._cache('isAnyColumnsLeftFixed', () =>\n this.columns.some(column => column.fixed === 'left' || column.fixed === true),\n );\n }\n\n isAnyColumnsRightFixed() {\n return this._cache('isAnyColumnsRightFixed', () =>\n this.columns.some(column => column.fixed === 'right'),\n );\n }\n\n leftColumns() {\n return this._cache('leftColumns', () =>\n this.groupedColumns().filter(column => column.fixed === 'left' || column.fixed === true),\n );\n }\n\n rightColumns() {\n return this._cache('rightColumns', () =>\n this.groupedColumns().filter(column => column.fixed === 'right'),\n );\n }\n\n leafColumns() {\n return this._cache('leafColumns', () => this._leafColumns(this.columns));\n }\n\n leftLeafColumns() {\n return this._cache('leftLeafColumns', () => this._leafColumns(this.leftColumns()));\n }\n\n rightLeafColumns() {\n return this._cache('rightLeafColumns', () => this._leafColumns(this.rightColumns()));\n }\n\n // add appropriate rowspan and colspan to column\n groupedColumns() {\n return this._cache('groupedColumns', () => {\n const _groupColumns = (columns, currentRow = 0, parentColumn = {}, rows = []) => {\n // track how many rows we got\n rows[currentRow] = rows[currentRow] || [];\n const grouped = [];\n const setRowSpan = column => {\n const rowSpan = rows.length - currentRow;\n if (\n column &&\n !column.children && // parent columns are supposed to be one row\n rowSpan > 1 &&\n (!column.rowSpan || column.rowSpan < rowSpan)\n ) {\n column.rowSpan = rowSpan;\n }\n };\n columns.forEach((column, index) => {\n const newColumn = { ...column };\n rows[currentRow].push(newColumn);\n parentColumn.colSpan = parentColumn.colSpan || 0;\n if (newColumn.children && newColumn.children.length > 0) {\n newColumn.children = _groupColumns(newColumn.children, currentRow + 1, newColumn, rows);\n parentColumn.colSpan += newColumn.colSpan;\n } else {\n parentColumn.colSpan += 1;\n }\n // update rowspan to all same row columns\n for (let i = 0; i < rows[currentRow].length - 1; i += 1) {\n setRowSpan(rows[currentRow][i]);\n }\n // last column, update rowspan immediately\n if (index + 1 === columns.length) {\n setRowSpan(newColumn);\n }\n grouped.push(newColumn);\n });\n return grouped;\n };\n return _groupColumns(this.columns);\n });\n }\n\n reset(columns) {\n this.columns = columns;\n this._cached = {};\n }\n\n _cache(name, fn) {\n if (name in this._cached) {\n return this._cached[name];\n }\n this._cached[name] = fn();\n return this._cached[name];\n }\n\n _leafColumns(columns) {\n const leafColumns = [];\n columns.forEach(column => {\n if (!column.children) {\n leafColumns.push(column);\n } else {\n leafColumns.push(...this._leafColumns(column.children));\n }\n });\n return leafColumns;\n }\n}\n","import PropTypes from '../../_util/vue-types';\nimport { INTERNAL_COL_DEFINE } from './utils';\n\nexport default {\n name: 'ColGroup',\n props: {\n fixed: PropTypes.string,\n columns: PropTypes.array,\n },\n inject: {\n table: { default: () => ({}) },\n },\n render() {\n const { fixed, table } = this;\n const { prefixCls, expandIconAsCell, columnManager } = table;\n\n let cols = [];\n\n if (expandIconAsCell && fixed !== 'right') {\n cols.push(<col class={`${prefixCls}-expand-icon-col`} key=\"rc-table-expand-icon-col\" />);\n }\n\n let leafColumns;\n\n if (fixed === 'left') {\n leafColumns = columnManager.leftLeafColumns();\n } else if (fixed === 'right') {\n leafColumns = columnManager.rightLeafColumns();\n } else {\n leafColumns = columnManager.leafColumns();\n }\n cols = cols.concat(\n leafColumns.map(({ key, dataIndex, width, [INTERNAL_COL_DEFINE]: additionalProps }) => {\n const mergedKey = key !== undefined ? key : dataIndex;\n const w = typeof width === 'number' ? `${width}px` : width;\n return <col key={mergedKey} style={{ width: w, minWidth: w }} {...additionalProps} />;\n }),\n );\n return <colgroup>{cols}</colgroup>;\n },\n};\n","import classNames from 'classnames';\nimport PropTypes from '../../_util/vue-types';\nimport { mergeProps } from '../../_util/props-util';\n\nconst TableHeaderRow = {\n inject: {\n store: { from: 'table-store', default: () => ({}) },\n },\n props: {\n index: PropTypes.number,\n fixed: PropTypes.string,\n columns: PropTypes.array,\n rows: PropTypes.array,\n row: PropTypes.array,\n components: PropTypes.object,\n customHeaderRow: PropTypes.func,\n prefixCls: PropTypes.string,\n },\n name: 'TableHeaderRow',\n computed: {\n height() {\n const { fixedColumnsHeadRowsHeight } = this.store;\n const { columns, rows, fixed } = this.$props;\n const headerHeight = fixedColumnsHeadRowsHeight[0];\n\n if (!fixed) {\n return null;\n }\n\n if (headerHeight && columns) {\n if (headerHeight === 'auto') {\n return 'auto';\n }\n return `${headerHeight / rows.length}px`;\n }\n return null;\n },\n },\n render(h) {\n const { row, index, height, components, customHeaderRow, prefixCls } = this;\n const HeaderRow = components.header.row;\n const HeaderCell = components.header.cell;\n const rowProps = customHeaderRow(\n row.map(cell => cell.column),\n index,\n );\n const customStyle = rowProps ? rowProps.style : {};\n const style = { height, ...customStyle };\n if (style.height === null) {\n delete style.height;\n }\n return (\n <HeaderRow {...rowProps} style={style}>\n {row.map((cell, i) => {\n const { column, isLast, children, className, ...cellProps } = cell;\n const customProps = column.customHeaderCell ? column.customHeaderCell(column) : {};\n const headerCellProps = mergeProps(\n {\n attrs: {\n ...cellProps,\n },\n },\n {\n ...customProps,\n key: column.key || column.dataIndex || i,\n },\n );\n\n if (column.align) {\n headerCellProps.style = { ...customProps.style, textAlign: column.align };\n }\n\n headerCellProps.class = classNames(\n customProps.class,\n customProps.className,\n column.class,\n column.className,\n {\n [`${prefixCls}-align-${column.align}`]: !!column.align,\n [`${prefixCls}-row-cell-ellipsis`]: !!column.ellipsis,\n [`${prefixCls}-row-cell-break-word`]: !!column.width,\n [`${prefixCls}-row-cell-last`]: isLast,\n },\n );\n\n if (typeof HeaderCell === 'function') {\n return HeaderCell(h, headerCellProps, children);\n }\n return <HeaderCell {...headerCellProps}>{children}</HeaderCell>;\n })}\n </HeaderRow>\n );\n },\n};\n\nexport default TableHeaderRow;\n","import PropTypes from '../../_util/vue-types';\nimport TableHeaderRow from './TableHeaderRow';\n\nfunction getHeaderRows({ columns = [], currentRow = 0, rows = [], isLast = true }) {\n rows = rows || [];\n rows[currentRow] = rows[currentRow] || [];\n\n columns.forEach((column, i) => {\n if (column.rowSpan && rows.length < column.rowSpan) {\n while (rows.length < column.rowSpan) {\n rows.push([]);\n }\n }\n const cellIsLast = isLast && i === columns.length - 1;\n const cell = {\n key: column.key,\n className: column.className || column.class || '',\n children: column.title,\n isLast: cellIsLast,\n column,\n };\n if (column.children) {\n getHeaderRows({\n columns: column.children,\n currentRow: currentRow + 1,\n rows,\n isLast: cellIsLast,\n });\n }\n if ('colSpan' in column) {\n cell.colSpan = column.colSpan;\n }\n if ('rowSpan' in column) {\n cell.rowSpan = column.rowSpan;\n }\n if (cell.colSpan !== 0) {\n rows[currentRow].push(cell);\n }\n });\n return rows.filter(row => row.length > 0);\n}\n\nexport default {\n name: 'TableHeader',\n props: {\n fixed: PropTypes.string,\n columns: PropTypes.array.isRequired,\n expander: PropTypes.object.isRequired,\n },\n inject: {\n table: { default: () => ({}) },\n },\n\n render() {\n const { sComponents: components, prefixCls, showHeader, customHeaderRow } = this.table;\n const { expander, columns, fixed } = this;\n\n if (!showHeader) {\n return null;\n }\n\n const rows = getHeaderRows({ columns });\n\n expander.renderExpandIndentCell(rows, fixed);\n\n const HeaderWrapper = components.header.wrapper;\n\n return (\n <HeaderWrapper class={`${prefixCls}-thead`}>\n {rows.map((row, index) => (\n <TableHeaderRow\n prefixCls={prefixCls}\n key={index}\n index={index}\n fixed={fixed}\n columns={columns}\n rows={rows}\n row={row}\n components={components}\n customHeaderRow={customHeaderRow}\n />\n ))}\n </HeaderWrapper>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport get from 'lodash/get';\nimport classNames from 'classnames';\nimport { isValidElement, mergeProps } from '../../_util/props-util';\n\nfunction isInvalidRenderCellText(text) {\n return (\n text && !isValidElement(text) && Object.prototype.toString.call(text) === '[object Object]'\n );\n}\n\nexport default {\n name: 'TableCell',\n props: {\n record: PropTypes.object,\n prefixCls: PropTypes.string,\n index: PropTypes.number,\n indent: PropTypes.number,\n indentSize: PropTypes.number,\n column: PropTypes.object,\n expandIcon: PropTypes.any,\n component: PropTypes.any,\n },\n inject: {\n table: { default: () => ({}) },\n },\n methods: {\n handleClick(e) {\n const {\n record,\n column: { onCellClick },\n } = this;\n if (onCellClick) {\n onCellClick(record, e);\n }\n },\n },\n\n render() {\n const {\n record,\n indentSize,\n prefixCls,\n indent,\n index,\n expandIcon,\n column,\n component: BodyCell,\n } = this;\n const { dataIndex, customRender, className = '' } = column;\n const { transformCellText } = this.table;\n // We should return undefined if no dataIndex is specified, but in order to\n // be compatible with object-path's behavior, we return the record object instead.\n let text;\n if (typeof dataIndex === 'number') {\n text = get(record, dataIndex);\n } else if (!dataIndex || dataIndex.length === 0) {\n text = record;\n } else {\n text = get(record, dataIndex);\n }\n let tdProps = {\n props: {},\n attrs: {},\n on: {\n click: this.handleClick,\n },\n };\n let colSpan;\n let rowSpan;\n\n if (customRender) {\n text = customRender(text, record, index, column);\n if (isInvalidRenderCellText(text)) {\n tdProps.attrs = text.attrs || {};\n tdProps.props = text.props || {};\n tdProps.class = text.class;\n tdProps.style = text.style;\n colSpan = tdProps.attrs.colSpan;\n rowSpan = tdProps.attrs.rowSpan;\n text = text.children;\n }\n }\n\n if (column.customCell) {\n tdProps = mergeProps(tdProps, column.customCell(record, index));\n }\n\n // Fix https://github.com/ant-design/ant-design/issues/1202\n if (isInvalidRenderCellText(text)) {\n text = null;\n }\n\n if (transformCellText) {\n text = transformCellText({ text, column, record, index });\n }\n\n const indentText = expandIcon ? (\n <span\n style={{ paddingLeft: `${indentSize * indent}px` }}\n class={`${prefixCls}-indent indent-level-${indent}`}\n />\n ) : null;\n\n if (rowSpan === 0 || colSpan === 0) {\n return null;\n }\n if (column.align) {\n tdProps.style = { textAlign: column.align, ...tdProps.style };\n }\n\n const cellClassName = classNames(className, column.class, {\n [`${prefixCls}-cell-ellipsis`]: !!column.ellipsis,\n // 如果有宽度,增加断行处理\n // https://github.com/ant-design/ant-design/issues/13825#issuecomment-449889241\n [`${prefixCls}-cell-break-word`]: !!column.width,\n });\n\n if (column.ellipsis) {\n if (typeof text === 'string') {\n tdProps.attrs.title = text;\n } else if (text) {\n // const { props: textProps } = text;\n // if (textProps && textProps.children && typeof textProps.children === 'string') {\n // tdProps.attrs.title = textProps.children;\n // }\n }\n }\n\n return (\n <BodyCell class={cellClassName} {...tdProps}>\n {indentText}\n {expandIcon}\n {text}\n </BodyCell>\n );\n },\n};\n","import classNames from 'classnames';\nimport PropTypes from '../../_util/vue-types';\nimport TableCell from './TableCell';\nimport { initDefaultProps, mergeProps, getStyle } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport warning from '../../_util/warning';\nfunction noop() {}\nconst TableRow = {\n name: 'TableRow',\n mixins: [BaseMixin],\n inject: {\n store: { from: 'table-store', default: () => ({}) },\n },\n props: initDefaultProps(\n {\n customRow: PropTypes.func,\n // onRowClick: PropTypes.func,\n // onRowDoubleClick: PropTypes.func,\n // onRowContextMenu: PropTypes.func,\n // onRowMouseEnter: PropTypes.func,\n // onRowMouseLeave: PropTypes.func,\n record: PropTypes.object,\n prefixCls: PropTypes.string,\n // onHover: PropTypes.func,\n columns: PropTypes.array,\n index: PropTypes.number,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n className: PropTypes.string,\n indent: PropTypes.number,\n indentSize: PropTypes.number,\n hasExpandIcon: PropTypes.func,\n fixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n renderExpandIcon: PropTypes.func,\n renderExpandIconCell: PropTypes.func,\n components: PropTypes.any,\n expandedRow: PropTypes.bool,\n isAnyColumnsFixed: PropTypes.bool,\n ancestorKeys: PropTypes.array.isRequired,\n expandIconColumnIndex: PropTypes.number,\n expandRowByClick: PropTypes.bool,\n // visible: PropTypes.bool,\n // hovered: PropTypes.bool,\n // height: PropTypes.any,\n },\n {\n // expandIconColumnIndex: 0,\n // expandRowByClick: false,\n hasExpandIcon() {},\n renderExpandIcon() {},\n renderExpandIconCell() {},\n },\n ),\n\n computed: {\n visible() {\n const { expandedRowKeys } = this.store;\n const { ancestorKeys } = this.$props;\n return !!(ancestorKeys.length === 0 || ancestorKeys.every(k => expandedRowKeys.includes(k)));\n },\n height() {\n const { expandedRowsHeight, fixedColumnsBodyRowsHeight } = this.store;\n const { fixed, rowKey } = this.$props;\n\n if (!fixed) {\n return null;\n }\n\n if (expandedRowsHeight[rowKey]) {\n return expandedRowsHeight[rowKey];\n }\n\n if (fixedColumnsBodyRowsHeight[rowKey]) {\n return fixedColumnsBodyRowsHeight[rowKey];\n }\n\n return null;\n },\n hovered() {\n const { currentHoverKey } = this.store;\n const { rowKey } = this.$props;\n return currentHoverKey === rowKey;\n },\n },\n\n data() {\n // this.shouldRender = this.visible\n return {\n shouldRender: this.visible,\n };\n },\n\n mounted() {\n if (this.shouldRender) {\n this.$nextTick(() => {\n this.saveRowRef();\n });\n }\n },\n watch: {\n visible: {\n handler(val) {\n if (val) {\n this.shouldRender = true;\n }\n },\n immediate: true,\n },\n },\n\n updated() {\n if (this.shouldRender && !this.rowRef) {\n this.$nextTick(() => {\n this.saveRowRef();\n });\n }\n },\n methods: {\n onRowClick(event, rowPropFunc = noop) {\n const { record, index } = this;\n this.__emit('rowClick', record, index, event);\n rowPropFunc(event);\n },\n\n onRowDoubleClick(event, rowPropFunc = noop) {\n const { record, index } = this;\n this.__emit('rowDoubleClick', record, index, event);\n rowPropFunc(event);\n },\n\n onContextMenu(event, rowPropFunc = noop) {\n const { record, index } = this;\n this.__emit('rowContextmenu', record, index, event);\n rowPropFunc(event);\n },\n\n onMouseEnter(event, rowPropFunc = noop) {\n const { record, index, rowKey } = this;\n this.__emit('hover', true, rowKey);\n this.__emit('rowMouseenter', record, index, event);\n rowPropFunc(event);\n },\n\n onMouseLeave(event, rowPropFunc = noop) {\n const { record, index, rowKey } = this;\n this.__emit('hover', false, rowKey);\n this.__emit('rowMouseleave', record, index, event);\n rowPropFunc(event);\n },\n\n setExpandedRowHeight() {\n const { store, rowKey } = this;\n let { expandedRowsHeight } = store;\n const height = this.rowRef.getBoundingClientRect().height;\n expandedRowsHeight = {\n ...expandedRowsHeight,\n [rowKey]: height,\n };\n store.expandedRowsHeight = expandedRowsHeight;\n },\n\n setRowHeight() {\n const { store, rowKey } = this;\n const { fixedColumnsBodyRowsHeight } = store;\n const height = this.rowRef.getBoundingClientRect().height;\n store.fixedColumnsBodyRowsHeight = {\n ...fixedColumnsBodyRowsHeight,\n [rowKey]: height,\n };\n },\n\n getStyle() {\n const { height, visible } = this;\n let style = getStyle(this);\n if (height) {\n style = { ...style, height };\n }\n\n if (!visible && !style.display) {\n style = { ...style, display: 'none' };\n }\n\n return style;\n },\n\n saveRowRef() {\n this.rowRef = this.$el;\n\n const { isAnyColumnsFixed, fixed, expandedRow, ancestorKeys } = this;\n\n if (!isAnyColumnsFixed) {\n return;\n }\n\n if (!fixed && expandedRow) {\n this.setExpandedRowHeight();\n }\n\n if (!fixed && ancestorKeys.length >= 0) {\n this.setRowHeight();\n }\n },\n },\n\n render() {\n if (!this.shouldRender) {\n return null;\n }\n\n const {\n prefixCls,\n columns,\n record,\n rowKey,\n index,\n customRow = noop,\n indent,\n indentSize,\n hovered,\n height,\n visible,\n components,\n hasExpandIcon,\n renderExpandIcon,\n renderExpandIconCell,\n } = this;\n const BodyRow = components.body.row;\n const BodyCell = components.body.cell;\n\n let className = '';\n\n if (hovered) {\n className += ` ${prefixCls}-hover`;\n }\n\n const cells = [];\n\n renderExpandIconCell(cells);\n\n for (let i = 0; i < columns.length; i += 1) {\n const column = columns[i];\n\n warning(\n column.onCellClick === undefined,\n 'column[onCellClick] is deprecated, please use column[customCell] instead.',\n );\n\n cells.push(\n <TableCell\n prefixCls={prefixCls}\n record={record}\n indentSize={indentSize}\n indent={indent}\n index={index}\n column={column}\n key={column.key || column.dataIndex}\n expandIcon={hasExpandIcon(i) && renderExpandIcon()}\n component={BodyCell}\n />,\n );\n }\n\n const { class: customClass, className: customClassName, style: customStyle, ...rowProps } =\n customRow(record, index) || {};\n\n let style = { height: typeof height === 'number' ? `${height}px` : height };\n\n if (!visible) {\n style.display = 'none';\n }\n\n style = { ...style, ...customStyle };\n const rowClassName = classNames(\n prefixCls,\n className,\n `${prefixCls}-level-${indent}`,\n customClassName,\n customClass,\n );\n const rowPropEvents = rowProps.on || {};\n const bodyRowProps = mergeProps(\n { ...rowProps, style },\n {\n on: {\n click: e => {\n this.onRowClick(e, rowPropEvents.click);\n },\n dblclick: e => {\n this.onRowDoubleClick(e, rowPropEvents.dblclick);\n },\n mouseenter: e => {\n this.onMouseEnter(e, rowPropEvents.mouseenter);\n },\n mouseleave: e => {\n this.onMouseLeave(e, rowPropEvents.mouseleave);\n },\n contextmenu: e => {\n this.onContextMenu(e, rowPropEvents.contextmenu);\n },\n },\n class: rowClassName,\n },\n {\n attrs: {\n 'data-row-key': rowKey,\n },\n },\n );\n return <BodyRow {...bodyRowProps}>{cells}</BodyRow>;\n },\n};\n\nexport default TableRow;\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nexport default {\n name: 'ExpandIcon',\n mixins: [BaseMixin],\n props: {\n record: PropTypes.object,\n prefixCls: PropTypes.string,\n expandable: PropTypes.any,\n expanded: PropTypes.bool,\n needIndentSpaced: PropTypes.bool,\n },\n methods: {\n onExpand(e) {\n this.__emit('expand', this.record, e);\n },\n },\n\n render() {\n const { expandable, prefixCls, onExpand, needIndentSpaced, expanded } = this;\n if (expandable) {\n const expandClassName = expanded ? 'expanded' : 'collapsed';\n return (\n <span\n class={`${prefixCls}-expand-icon ${prefixCls}-${expandClassName}`}\n onClick={onExpand}\n />\n );\n }\n if (needIndentSpaced) {\n return <span class={`${prefixCls}-expand-icon ${prefixCls}-spaced`} />;\n }\n return null;\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport ExpandIcon from './ExpandIcon';\nimport BaseMixin from '../../_util/BaseMixin';\n\nconst ExpandableRow = {\n mixins: [BaseMixin],\n name: 'ExpandableRow',\n props: {\n prefixCls: PropTypes.string.isRequired,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n fixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n record: PropTypes.oneOfType([PropTypes.object, PropTypes.array]).isRequired,\n indentSize: PropTypes.number,\n needIndentSpaced: PropTypes.bool.isRequired,\n expandRowByClick: PropTypes.bool,\n expandIconAsCell: PropTypes.bool,\n expandIconColumnIndex: PropTypes.number,\n childrenColumnName: PropTypes.string,\n expandedRowRender: PropTypes.func,\n expandIcon: PropTypes.func,\n // onExpandedChange: PropTypes.func.isRequired,\n // onRowClick: PropTypes.func,\n // children: PropTypes.func.isRequired,\n },\n inject: {\n store: { from: 'table-store', default: () => ({}) },\n },\n computed: {\n expanded() {\n return this.store.expandedRowKeys.includes(this.$props.rowKey);\n },\n },\n beforeDestroy() {\n this.handleDestroy();\n },\n methods: {\n hasExpandIcon(columnIndex) {\n const { expandRowByClick, expandIcon } = this.$props;\n\n if (this.tempExpandIconAsCell || columnIndex !== this.tempExpandIconColumnIndex) {\n return false;\n }\n\n return !!expandIcon || !expandRowByClick;\n },\n\n handleExpandChange(record, event) {\n const { expanded, rowKey } = this;\n this.__emit('expandedChange', !expanded, record, event, rowKey);\n },\n\n handleDestroy() {\n const { rowKey, record } = this;\n this.__emit('expandedChange', false, record, null, rowKey, true);\n },\n\n handleRowClick(record, index, event) {\n const { expandRowByClick } = this;\n if (expandRowByClick) {\n this.handleExpandChange(record, event);\n }\n this.__emit('rowClick', record, index, event);\n },\n\n renderExpandIcon() {\n const { prefixCls, expanded, record, needIndentSpaced, expandIcon } = this;\n if (expandIcon) {\n return expandIcon({\n prefixCls,\n expanded,\n record,\n needIndentSpaced,\n expandable: this.expandable,\n onExpand: this.handleExpandChange,\n });\n }\n return (\n <ExpandIcon\n expandable={this.expandable}\n prefixCls={prefixCls}\n onExpand={this.handleExpandChange}\n needIndentSpaced={needIndentSpaced}\n expanded={expanded}\n record={record}\n />\n );\n },\n\n renderExpandIconCell(cells) {\n if (!this.tempExpandIconAsCell) {\n return;\n }\n const { prefixCls } = this;\n\n cells.push(\n <td class={`${prefixCls}-expand-icon-cell`} key=\"rc-table-expand-icon-cell\">\n {this.renderExpandIcon()}\n </td>,\n );\n },\n },\n\n render() {\n const {\n childrenColumnName,\n expandedRowRender,\n indentSize,\n record,\n fixed,\n $scopedSlots,\n expanded,\n } = this;\n\n this.tempExpandIconAsCell = fixed !== 'right' ? this.expandIconAsCell : false;\n this.tempExpandIconColumnIndex = fixed !== 'right' ? this.expandIconColumnIndex : -1;\n const childrenData = record[childrenColumnName];\n this.expandable = !!(childrenData || expandedRowRender);\n const expandableRowProps = {\n props: {\n indentSize,\n expanded, // not used in TableRow, but it's required to re-render TableRow when `expanded` changes\n hasExpandIcon: this.hasExpandIcon,\n renderExpandIcon: this.renderExpandIcon,\n renderExpandIconCell: this.renderExpandIconCell,\n },\n\n on: {\n rowClick: this.handleRowClick,\n },\n };\n\n return $scopedSlots.default && $scopedSlots.default(expandableRowProps);\n },\n};\n\nexport default ExpandableRow;\n","import PropTypes from '../../_util/vue-types';\nimport classNames from 'classnames';\nimport ColGroup from './ColGroup';\nimport TableHeader from './TableHeader';\nimport TableRow from './TableRow';\nimport ExpandableRow from './ExpandableRow';\nimport { mergeProps, getListeners } from '../../_util/props-util';\nfunction noop() {}\nconst BaseTable = {\n name: 'BaseTable',\n props: {\n fixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n columns: PropTypes.array.isRequired,\n tableClassName: PropTypes.string.isRequired,\n hasHead: PropTypes.bool.isRequired,\n hasBody: PropTypes.bool.isRequired,\n expander: PropTypes.object.isRequired,\n getRowKey: PropTypes.func,\n isAnyColumnsFixed: PropTypes.bool,\n },\n inject: {\n table: { default: () => ({}) },\n store: { from: 'table-store', default: () => ({}) },\n },\n methods: {\n getColumns(cols) {\n const { columns = [], fixed } = this.$props;\n const { table } = this;\n const { prefixCls } = table.$props;\n return (cols || columns).map(column => ({\n ...column,\n className:\n !!column.fixed && !fixed\n ? classNames(`${prefixCls}-fixed-columns-in-body`, column.className || column.class)\n : column.className || column.class,\n }));\n },\n handleRowHover(isHover, key) {\n this.store.currentHoverKey = isHover ? key : null;\n },\n\n renderRows(renderData, indent, ancestorKeys = []) {\n const {\n columnManager,\n sComponents: components,\n prefixCls,\n childrenColumnName,\n rowClassName,\n customRow = noop,\n } = this.table;\n const {\n rowClick: onRowClick = noop,\n rowDoubleclick: onRowDoubleClick = noop,\n rowContextmenu: onRowContextMenu = noop,\n rowMouseenter: onRowMouseEnter = noop,\n rowMouseleave: onRowMouseLeave = noop,\n } = getListeners(this.table);\n const { getRowKey, fixed, expander, isAnyColumnsFixed } = this;\n\n const rows = [];\n\n for (let i = 0; i < renderData.length; i += 1) {\n const record = renderData[i];\n const key = getRowKey(record, i);\n const className =\n typeof rowClassName === 'string' ? rowClassName : rowClassName(record, i, indent);\n\n const onHoverProps = {};\n if (columnManager.isAnyColumnsFixed()) {\n onHoverProps.hover = this.handleRowHover;\n }\n\n let leafColumns;\n if (fixed === 'left') {\n leafColumns = columnManager.leftLeafColumns();\n } else if (fixed === 'right') {\n leafColumns = columnManager.rightLeafColumns();\n } else {\n leafColumns = this.getColumns(columnManager.leafColumns());\n }\n\n const rowPrefixCls = `${prefixCls}-row`;\n\n const expandableRowProps = {\n props: {\n ...expander.props,\n fixed,\n index: i,\n prefixCls: rowPrefixCls,\n record,\n rowKey: key,\n needIndentSpaced: expander.needIndentSpaced,\n },\n key,\n on: {\n // ...expander.on,\n rowClick: onRowClick,\n expandedChange: expander.handleExpandChange,\n },\n scopedSlots: {\n default: expandableRow => {\n const tableRowProps = mergeProps(\n {\n props: {\n fixed,\n indent,\n record,\n index: i,\n prefixCls: rowPrefixCls,\n childrenColumnName,\n columns: leafColumns,\n rowKey: key,\n ancestorKeys,\n components,\n isAnyColumnsFixed,\n customRow,\n },\n on: {\n rowDoubleclick: onRowDoubleClick,\n rowContextmenu: onRowContextMenu,\n rowMouseenter: onRowMouseEnter,\n rowMouseleave: onRowMouseLeave,\n ...onHoverProps,\n },\n class: className,\n ref: `row_${i}_${indent}`,\n },\n expandableRow,\n );\n return <TableRow {...tableRowProps} />;\n },\n },\n };\n const row = <ExpandableRow {...expandableRowProps} />;\n\n rows.push(row);\n expander.renderRows(this.renderRows, rows, record, i, indent, fixed, key, ancestorKeys);\n }\n return rows;\n },\n },\n\n render() {\n const { sComponents: components, prefixCls, scroll, data, getBodyWrapper } = this.table;\n const { expander, tableClassName, hasHead, hasBody, fixed, isAnyColumnsFixed } = this.$props;\n const columns = this.getColumns();\n const tableStyle = {};\n\n if (!fixed && scroll.x) {\n // 当有固定列时,width auto 会导致 body table 的宽度撑不开,从而固定列无法对齐\n // 详情见:https://github.com/ant-design/ant-design/issues/22160\n const tableWidthScrollX = isAnyColumnsFixed ? 'max-content' : 'auto';\n // not set width, then use content fixed width\n tableStyle.width = scroll.x === true ? tableWidthScrollX : scroll.x;\n tableStyle.width =\n typeof tableStyle.width === 'number' ? `${tableStyle.width}px` : tableStyle.width;\n }\n if (fixed) {\n const width = columns.reduce((sum, { width: w }) => {\n return sum + parseFloat(w, 10);\n }, 0);\n if (width > 0) {\n tableStyle.width = width + 'px';\n }\n }\n\n const Table = hasBody ? components.table : 'table';\n const BodyWrapper = components.body.wrapper;\n\n let body;\n if (hasBody) {\n body = <BodyWrapper class={`${prefixCls}-tbody`}>{this.renderRows(data, 0)}</BodyWrapper>;\n if (getBodyWrapper) {\n body = getBodyWrapper(body);\n }\n }\n return (\n <Table class={tableClassName} style={tableStyle} key=\"table\">\n <ColGroup columns={columns} fixed={fixed} />\n {hasHead && <TableHeader expander={expander} columns={columns} fixed={fixed} />}\n {body}\n </Table>\n );\n },\n};\n\nexport default BaseTable;\n","import PropTypes from '../../_util/vue-types';\nimport { measureScrollbar } from './utils';\nimport BaseTable from './BaseTable';\nimport classNames from 'classnames';\n\nexport default {\n name: 'HeadTable',\n props: {\n fixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n columns: PropTypes.array.isRequired,\n tableClassName: PropTypes.string.isRequired,\n handleBodyScrollLeft: PropTypes.func.isRequired,\n expander: PropTypes.object.isRequired,\n },\n inject: {\n table: { default: () => ({}) },\n },\n render() {\n const { columns, fixed, tableClassName, handleBodyScrollLeft, expander, table } = this;\n const { prefixCls, scroll, showHeader, saveRef } = table;\n let { useFixedHeader } = table;\n const headStyle = {};\n\n const scrollbarWidth = measureScrollbar({ direction: 'vertical' });\n\n if (scroll.y) {\n useFixedHeader = true;\n // https://github.com/ant-design/ant-design/issues/17051\n const scrollbarWidthOfHeader = measureScrollbar({ direction: 'horizontal', prefixCls });\n // Add negative margin bottom for scroll bar overflow bug\n if (scrollbarWidthOfHeader > 0 && !fixed) {\n headStyle.marginBottom = `-${scrollbarWidthOfHeader}px`;\n headStyle.paddingBottom = '0px';\n // https://github.com/ant-design/ant-design/pull/19986\n headStyle.minWidth = `${scrollbarWidth}px`;\n // https://github.com/ant-design/ant-design/issues/17051\n headStyle.overflowX = 'scroll';\n headStyle.overflowY = scrollbarWidth === 0 ? 'hidden' : 'scroll';\n }\n }\n\n if (!useFixedHeader || !showHeader) {\n return null;\n }\n return (\n <div\n key=\"headTable\"\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: fixed ? () => {} : saveRef('headTable'),\n },\n ],\n }}\n class={classNames(`${prefixCls}-header`, {\n [`${prefixCls}-hide-scrollbar`]: scrollbarWidth > 0,\n })}\n style={headStyle}\n onScroll={handleBodyScrollLeft}\n >\n <BaseTable\n tableClassName={tableClassName}\n hasHead\n hasBody={false}\n fixed={fixed}\n columns={columns}\n expander={expander}\n />\n </div>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport { measureScrollbar } from './utils';\nimport BaseTable from './BaseTable';\n\nexport default {\n name: 'BodyTable',\n props: {\n fixed: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n columns: PropTypes.array.isRequired,\n tableClassName: PropTypes.string.isRequired,\n handleBodyScroll: PropTypes.func.isRequired,\n handleWheel: PropTypes.func.isRequired,\n getRowKey: PropTypes.func.isRequired,\n expander: PropTypes.object.isRequired,\n isAnyColumnsFixed: PropTypes.bool,\n },\n inject: {\n table: { default: () => ({}) },\n },\n render() {\n const { prefixCls, scroll } = this.table;\n const {\n columns,\n fixed,\n tableClassName,\n getRowKey,\n handleBodyScroll,\n handleWheel,\n expander,\n isAnyColumnsFixed,\n } = this;\n let { useFixedHeader, saveRef } = this.table;\n const bodyStyle = { ...this.table.bodyStyle };\n const innerBodyStyle = {};\n\n if (scroll.x || fixed) {\n bodyStyle.overflowX = bodyStyle.overflowX || 'scroll';\n // Fix weired webkit render bug\n // https://github.com/ant-design/ant-design/issues/7783\n bodyStyle.WebkitTransform = 'translate3d (0, 0, 0)';\n }\n\n if (scroll.y) {\n // maxHeight will make fixed-Table scrolling not working\n // so we only set maxHeight to body-Table here\n let maxHeight = bodyStyle.maxHeight || scroll.y;\n maxHeight = typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight;\n if (fixed) {\n innerBodyStyle.maxHeight = maxHeight;\n innerBodyStyle.overflowY = bodyStyle.overflowY || 'scroll';\n } else {\n bodyStyle.maxHeight = maxHeight;\n }\n bodyStyle.overflowY = bodyStyle.overflowY || 'scroll';\n useFixedHeader = true;\n\n // Add negative margin bottom for scroll bar overflow bug\n const scrollbarWidth = measureScrollbar({ direction: 'vertical' });\n if (scrollbarWidth > 0 && fixed) {\n bodyStyle.marginBottom = `-${scrollbarWidth}px`;\n bodyStyle.paddingBottom = '0px';\n }\n }\n\n const baseTable = (\n <BaseTable\n tableClassName={tableClassName}\n hasHead={!useFixedHeader}\n hasBody\n fixed={fixed}\n columns={columns}\n expander={expander}\n getRowKey={getRowKey}\n isAnyColumnsFixed={isAnyColumnsFixed}\n />\n );\n\n if (fixed && columns.length) {\n let refName;\n if (columns[0].fixed === 'left' || columns[0].fixed === true) {\n refName = 'fixedColumnsBodyLeft';\n } else if (columns[0].fixed === 'right') {\n refName = 'fixedColumnsBodyRight';\n }\n delete bodyStyle.overflowX;\n delete bodyStyle.overflowY;\n return (\n <div key=\"bodyTable\" class={`${prefixCls}-body-outer`} style={{ ...bodyStyle }}>\n <div\n class={`${prefixCls}-body-inner`}\n style={innerBodyStyle}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: saveRef(refName),\n },\n ],\n }}\n onWheel={handleWheel}\n onScroll={handleBodyScroll}\n >\n {baseTable}\n </div>\n </div>\n );\n }\n // Should provides `tabIndex` if use scroll to enable keyboard scroll\n const useTabIndex = scroll && (scroll.x || scroll.y);\n\n return (\n <div\n tabIndex={useTabIndex ? -1 : undefined}\n key=\"bodyTable\"\n class={`${prefixCls}-body`}\n style={bodyStyle}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: saveRef('bodyTable'),\n },\n ],\n }}\n onWheel={handleWheel}\n onScroll={handleBodyScroll}\n >\n {baseTable}\n </div>\n );\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport shallowEqual from 'shallowequal';\nimport TableRow from './TableRow';\nimport { remove } from './utils';\nimport { initDefaultProps, getOptionProps, getListeners } from '../../_util/props-util';\n\nexport const ExpandableTableProps = () => ({\n expandIconAsCell: PropTypes.bool,\n expandRowByClick: PropTypes.bool,\n expandedRowKeys: PropTypes.array,\n expandedRowClassName: PropTypes.func,\n defaultExpandAllRows: PropTypes.bool,\n defaultExpandedRowKeys: PropTypes.array,\n expandIconColumnIndex: PropTypes.number,\n expandedRowRender: PropTypes.func,\n expandIcon: PropTypes.func,\n childrenColumnName: PropTypes.string,\n indentSize: PropTypes.number,\n // onExpand: PropTypes.func,\n // onExpandedRowsChange: PropTypes.func,\n columnManager: PropTypes.object.isRequired,\n prefixCls: PropTypes.string.isRequired,\n data: PropTypes.array,\n getRowKey: PropTypes.func,\n});\n\nconst ExpandableTable = {\n name: 'ExpandableTable',\n mixins: [BaseMixin],\n props: initDefaultProps(ExpandableTableProps(), {\n expandIconAsCell: false,\n expandedRowClassName: () => '',\n expandIconColumnIndex: 0,\n defaultExpandAllRows: false,\n defaultExpandedRowKeys: [],\n childrenColumnName: 'children',\n indentSize: 15,\n }),\n inject: {\n store: { from: 'table-store', default: () => ({}) },\n },\n data() {\n const {\n data,\n childrenColumnName,\n defaultExpandAllRows,\n expandedRowKeys,\n defaultExpandedRowKeys,\n getRowKey,\n } = this;\n\n let finalExpandedRowKeys = [];\n let rows = [...data];\n\n if (defaultExpandAllRows) {\n for (let i = 0; i < rows.length; i += 1) {\n const row = rows[i];\n finalExpandedRowKeys.push(getRowKey(row, i));\n rows = rows.concat(row[childrenColumnName] || []);\n }\n } else {\n finalExpandedRowKeys = expandedRowKeys || defaultExpandedRowKeys;\n }\n\n // this.columnManager = props.columnManager\n // this.store = props.store\n\n this.store.expandedRowsHeight = {};\n this.store.expandedRowKeys = finalExpandedRowKeys;\n return {};\n },\n mounted() {\n this.handleUpdated();\n },\n updated() {\n this.handleUpdated();\n },\n watch: {\n expandedRowKeys(val) {\n this.$nextTick(() => {\n this.store.expandedRowKeys = val;\n });\n },\n },\n methods: {\n handleUpdated() {\n // We should record latest expanded rows to avoid multiple rows remove cause `onExpandedRowsChange` trigger many times\n this.latestExpandedRows = null;\n },\n handleExpandChange(expanded, record, event, rowKey, destroy = false) {\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n let { expandedRowKeys } = this.store;\n\n if (expanded) {\n // row was expaned\n expandedRowKeys = [...expandedRowKeys, rowKey];\n } else {\n // row was collapse\n const expandedRowIndex = expandedRowKeys.indexOf(rowKey);\n if (expandedRowIndex !== -1) {\n expandedRowKeys = remove(expandedRowKeys, rowKey);\n }\n }\n\n if (!this.expandedRowKeys) {\n this.store.expandedRowKeys = expandedRowKeys;\n }\n // De-dup of repeat call\n if (!this.latestExpandedRows || !shallowEqual(this.latestExpandedRows, expandedRowKeys)) {\n this.latestExpandedRows = expandedRowKeys;\n this.__emit('expandedRowsChange', expandedRowKeys);\n this.__emit('update:expandedRowKeys', expandedRowKeys);\n }\n\n if (!destroy) {\n this.__emit('expand', expanded, record);\n }\n },\n\n renderExpandIndentCell(rows, fixed) {\n const { prefixCls, expandIconAsCell } = this;\n if (!expandIconAsCell || fixed === 'right' || !rows.length) {\n return;\n }\n\n const iconColumn = {\n key: 'rc-table-expand-icon-cell',\n className: `${prefixCls}-expand-icon-th`,\n title: '',\n rowSpan: rows.length,\n };\n\n rows[0].unshift({ ...iconColumn, column: iconColumn });\n },\n\n renderExpandedRow(record, index, expandedRowRender, className, ancestorKeys, indent, fixed) {\n const { prefixCls, expandIconAsCell, indentSize } = this;\n const parentKey = ancestorKeys[ancestorKeys.length - 1];\n const rowKey = `${parentKey}-extra-row`;\n const components = {\n body: {\n row: 'tr',\n cell: 'td',\n },\n };\n let colCount;\n if (fixed === 'left') {\n colCount = this.columnManager.leftLeafColumns().length;\n } else if (fixed === 'right') {\n colCount = this.columnManager.rightLeafColumns().length;\n } else {\n colCount = this.columnManager.leafColumns().length;\n }\n const columns = [\n {\n key: 'extra-row',\n customRender: () => {\n const { expandedRowKeys } = this.store;\n const expanded = expandedRowKeys.includes(parentKey);\n return {\n attrs: {\n colSpan: colCount,\n },\n children:\n fixed !== 'right' ? expandedRowRender(record, index, indent, expanded) : ' ',\n };\n },\n },\n ];\n if (expandIconAsCell && fixed !== 'right') {\n columns.unshift({\n key: 'expand-icon-placeholder',\n customRender: () => null,\n });\n }\n\n return (\n <TableRow\n key={rowKey}\n columns={columns}\n class={className}\n rowKey={rowKey}\n ancestorKeys={ancestorKeys}\n prefixCls={`${prefixCls}-expanded-row`}\n indentSize={indentSize}\n indent={indent}\n fixed={fixed}\n components={components}\n expandedRow\n hasExpandIcon={() => {}}\n />\n );\n },\n\n renderRows(renderRows, rows, record, index, indent, fixed, parentKey, ancestorKeys) {\n const { expandedRowClassName, expandedRowRender, childrenColumnName } = this;\n const childrenData = record[childrenColumnName];\n const nextAncestorKeys = [...ancestorKeys, parentKey];\n const nextIndent = indent + 1;\n\n if (expandedRowRender) {\n rows.push(\n this.renderExpandedRow(\n record,\n index,\n expandedRowRender,\n expandedRowClassName(record, index, indent),\n nextAncestorKeys,\n nextIndent,\n fixed,\n ),\n );\n }\n\n if (childrenData) {\n rows.push(...renderRows(childrenData, nextIndent, nextAncestorKeys));\n }\n },\n },\n\n render() {\n const { data, childrenColumnName, $scopedSlots } = this;\n const props = getOptionProps(this);\n const needIndentSpaced = data.some(record => record[childrenColumnName]);\n\n return (\n $scopedSlots.default &&\n $scopedSlots.default({\n props,\n on: getListeners(this),\n needIndentSpaced,\n renderRows: this.renderRows,\n handleExpandChange: this.handleExpandChange,\n renderExpandIndentCell: this.renderExpandIndentCell,\n })\n );\n },\n};\n\nexport default ExpandableTable;\n","/* eslint-disable camelcase */\nimport shallowequal from 'shallowequal';\nimport merge from 'lodash/merge';\nimport classes from 'component-classes';\nimport classNames from 'classnames';\nimport PropTypes from '../../_util/vue-types';\nimport { debounce } from './utils';\nimport warning from '../../_util/warning';\nimport addEventListener from '../../vc-util/Dom/addEventListener';\nimport ColumnManager from './ColumnManager';\nimport HeadTable from './HeadTable';\nimport BodyTable from './BodyTable';\nimport ExpandableTable from './ExpandableTable';\nimport { initDefaultProps, getOptionProps, getListeners } from '../../_util/props-util';\nimport BaseMixin from '../../_util/BaseMixin';\nimport Vue from 'vue';\n\nexport default {\n name: 'Table',\n mixins: [BaseMixin],\n provide() {\n return { 'table-store': this.store, table: this };\n },\n props: initDefaultProps(\n {\n data: PropTypes.array,\n useFixedHeader: PropTypes.bool,\n columns: PropTypes.array,\n prefixCls: PropTypes.string,\n bodyStyle: PropTypes.object,\n rowKey: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n rowClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n customRow: PropTypes.func,\n customHeaderRow: PropTypes.func,\n // onRowClick: PropTypes.func,\n // onRowDoubleClick: PropTypes.func,\n // onRowContextMenu: PropTypes.func,\n // onRowMouseEnter: PropTypes.func,\n // onRowMouseLeave: PropTypes.func,\n showHeader: PropTypes.bool,\n title: PropTypes.func,\n id: PropTypes.string,\n footer: PropTypes.func,\n emptyText: PropTypes.any,\n scroll: PropTypes.object,\n rowRef: PropTypes.func,\n getBodyWrapper: PropTypes.func,\n components: PropTypes.shape({\n table: PropTypes.any,\n header: PropTypes.shape({\n wrapper: PropTypes.any,\n row: PropTypes.any,\n cell: PropTypes.any,\n }),\n body: PropTypes.shape({\n wrapper: PropTypes.any,\n row: PropTypes.any,\n cell: PropTypes.any,\n }),\n }),\n expandIconAsCell: PropTypes.bool,\n expandedRowKeys: PropTypes.array,\n expandedRowClassName: PropTypes.func,\n defaultExpandAllRows: PropTypes.bool,\n defaultExpandedRowKeys: PropTypes.array,\n expandIconColumnIndex: PropTypes.number,\n expandedRowRender: PropTypes.func,\n childrenColumnName: PropTypes.string,\n indentSize: PropTypes.number,\n expandRowByClick: PropTypes.bool,\n expandIcon: PropTypes.func,\n tableLayout: PropTypes.string,\n transformCellText: PropTypes.func,\n },\n {\n data: [],\n useFixedHeader: false,\n rowKey: 'key',\n rowClassName: () => '',\n prefixCls: 'rc-table',\n bodyStyle: {},\n showHeader: true,\n scroll: {},\n rowRef: () => null,\n emptyText: () => 'No Data',\n customHeaderRow: () => {},\n },\n ),\n data() {\n this.preData = [...this.data];\n this.store = (this.$root.constructor.observable || 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 = (this.$root.constructor.observable || 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, expandIcon, ...restProps } = getOptionProps(\n this,\n );\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: 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 expandIcon,\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 expandIcon: this.$props.expandIcon || expandIcon,\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,\n title: PropTypes.string,\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,\n title: PropTypes.string,\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 $scopedSlots.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 { showArrow = true } = this.$props;\n const props = {\n props: {\n ...getOptionProps(this),\n showArrow,\n renderSelection: this.renderSelection,\n },\n on: getListeners(this),\n directives: [\n {\n name: 'ant-ref',\n value: this.selectorRef,\n },\n ],\n };\n return <Selector {...props} />;\n },\n};\n\nexport default SingleSelector;\n","/**\n * Since search box is in different position with different mode.\n * - Single: in the popup box\n * - multiple: in the selector\n * Move the code as a SearchInput for easy management.\n */\n\nimport PropTypes from '../../_util/vue-types';\nimport { createRef } from './util';\n\nconst SearchInput = {\n name: 'SearchInput',\n props: {\n open: PropTypes.bool,\n searchValue: PropTypes.string,\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n renderPlaceholder: PropTypes.func,\n needAlign: PropTypes.bool,\n ariaId: PropTypes.string,\n },\n inject: {\n vcTreeSelect: { default: () => ({}) },\n },\n data() {\n return {\n mirrorSearchValue: this.searchValue,\n };\n },\n watch: {\n searchValue(val) {\n this.mirrorSearchValue = val;\n },\n },\n created() {\n this.inputRef = createRef();\n this.mirrorInputRef = createRef();\n this.prevProps = { ...this.$props };\n },\n mounted() {\n this.$nextTick(() => {\n const { open, needAlign } = this.$props;\n if (needAlign) {\n this.alignInputWidth();\n }\n\n if (open) {\n this.focus(true);\n }\n });\n },\n\n updated() {\n const { open, searchValue, needAlign } = this.$props;\n const { prevProps } = this;\n this.$nextTick(() => {\n if (open && prevProps.open !== open) {\n this.focus();\n }\n if (needAlign && searchValue !== prevProps.searchValue) {\n this.alignInputWidth();\n }\n this.prevProps = { ...this.$props };\n });\n },\n methods: {\n /**\n * `scrollWidth` is not correct in IE, do the workaround.\n * ref: https://github.com/react-component/tree-select/issues/65\n * clientWidth 0 when mounted in vue. why?\n */\n alignInputWidth() {\n this.inputRef.current.style.width = `${this.mirrorInputRef.current.clientWidth ||\n this.mirrorInputRef.current.offsetWidth}px`;\n },\n\n /**\n * Need additional timeout for focus cause parent dom is not ready when didMount trigger\n */\n focus(isDidMount) {\n if (this.inputRef.current) {\n if (isDidMount) {\n setTimeout(() => {\n this.inputRef.current.focus();\n }, 0);\n } else {\n // set it into else, Avoid scrolling when focus\n this.inputRef.current.focus();\n }\n }\n },\n\n blur() {\n if (this.inputRef.current) {\n this.inputRef.current.blur();\n }\n },\n handleInputChange(e) {\n const { value, composing } = e.target;\n const { searchValue = '' } = this;\n if (e.isComposing || composing || searchValue === value) {\n this.mirrorSearchValue = value;\n return;\n }\n this.vcTreeSelect.onSearchInputChange(e);\n },\n },\n\n render() {\n const { searchValue, prefixCls, disabled, renderPlaceholder, open, ariaId } = this.$props;\n const {\n vcTreeSelect: { onSearchInputKeyDown },\n handleInputChange,\n mirrorSearchValue,\n } = this;\n return (\n <span class={`${prefixCls}-search__field__wrap`}>\n <input\n type=\"text\"\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.inputRef,\n },\n {\n name: 'ant-input',\n },\n ],\n }}\n onInput={handleInputChange}\n onKeydown={onSearchInputKeyDown}\n value={searchValue}\n disabled={disabled}\n class={`${prefixCls}-search__field`}\n aria-label=\"filter select\"\n aria-autocomplete=\"list\"\n aria-controls={open ? ariaId : undefined}\n aria-multiline=\"false\"\n />\n <span\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.mirrorInputRef,\n },\n ],\n }}\n class={`${prefixCls}-search__field__mirror`}\n >\n {mirrorSearchValue} \n </span>\n {renderPlaceholder && !mirrorSearchValue ? renderPlaceholder() : null}\n </span>\n );\n },\n};\n\nexport default SearchInput;\n","import PropTypes from '../../../../_util/vue-types';\nimport { toTitle, UNSELECTABLE_ATTRIBUTE, UNSELECTABLE_STYLE } from '../../util';\nimport { getComponentFromProp, getListeners } from '../../../../_util/props-util';\nimport BaseMixin from '../../../../_util/BaseMixin';\n\nconst Selection = {\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n maxTagTextLength: PropTypes.number,\n // onRemove: PropTypes.func,\n\n label: PropTypes.any,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n removeIcon: PropTypes.any,\n },\n methods: {\n onRemove(event) {\n const { value } = this.$props;\n this.__emit('remove', event, value);\n event.stopPropagation();\n },\n },\n\n render() {\n const { prefixCls, maxTagTextLength, label, value } = this.$props;\n let content = label || value;\n if (maxTagTextLength && typeof content === 'string' && content.length > maxTagTextLength) {\n content = `${content.slice(0, maxTagTextLength)}...`;\n }\n\n return (\n <li\n style={UNSELECTABLE_STYLE}\n {...{ attrs: UNSELECTABLE_ATTRIBUTE }}\n role=\"menuitem\"\n class={`${prefixCls}-selection__choice`}\n title={toTitle(label)}\n >\n {getListeners(this).remove && (\n <span class={`${prefixCls}-selection__choice__remove`} onClick={this.onRemove}>\n {getComponentFromProp(this, 'removeIcon')}\n </span>\n )}\n <span class={`${prefixCls}-selection__choice__content`}>{content}</span>\n </li>\n );\n },\n};\n\nexport default Selection;\n","import PropTypes from '../../../../_util/vue-types';\nimport { createRef } from '../../util';\nimport generateSelector, { selectorPropTypes } from '../../Base/BaseSelector';\nimport SearchInput from '../../SearchInput';\nimport Selection from './Selection';\nimport { getComponentFromProp, getListeners } from '../../../../_util/props-util';\nimport getTransitionProps from '../../../../_util/getTransitionProps';\nimport BaseMixin from '../../../../_util/BaseMixin';\nconst TREE_SELECT_EMPTY_VALUE_KEY = 'RC_TREE_SELECT_EMPTY_VALUE_KEY';\n\nconst Selector = generateSelector('multiple');\n\n// export const multipleSelectorContextTypes = {\n// onMultipleSelectorRemove: PropTypes.func.isRequired,\n// }\n\nconst MultipleSelector = {\n mixins: [BaseMixin],\n props: {\n ...selectorPropTypes(),\n ...SearchInput.props,\n selectorValueList: PropTypes.array,\n disabled: PropTypes.bool,\n searchValue: PropTypes.string,\n labelInValue: PropTypes.bool,\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.any,\n\n // onChoiceAnimationLeave: PropTypes.func,\n },\n inject: {\n vcTreeSelect: { default: () => ({}) },\n },\n created() {\n this.inputRef = createRef();\n },\n methods: {\n onPlaceholderClick() {\n this.inputRef.current.focus();\n },\n\n focus() {\n this.inputRef.current.focus();\n },\n blur() {\n this.inputRef.current.blur();\n },\n\n _renderPlaceholder() {\n const {\n prefixCls,\n placeholder,\n searchPlaceholder,\n searchValue,\n selectorValueList,\n } = this.$props;\n\n const currentPlaceholder = placeholder || searchPlaceholder;\n\n if (!currentPlaceholder) return null;\n\n const hidden = searchValue || selectorValueList.length;\n\n // [Legacy] Not remove the placeholder\n return (\n <span\n style={{\n display: hidden ? 'none' : 'block',\n }}\n onClick={this.onPlaceholderClick}\n class={`${prefixCls}-search__field__placeholder`}\n >\n {currentPlaceholder}\n </span>\n );\n },\n onChoiceAnimationLeave(...args) {\n this.__emit('choiceAnimationLeave', ...args);\n },\n renderSelection() {\n const {\n selectorValueList,\n choiceTransitionName,\n prefixCls,\n labelInValue,\n maxTagCount,\n } = this.$props;\n const {\n vcTreeSelect: { onMultipleSelectorRemove },\n $slots,\n } = this;\n const listeners = getListeners(this);\n // Check if `maxTagCount` is set\n let myValueList = selectorValueList;\n if (maxTagCount >= 0) {\n myValueList = selectorValueList.slice(0, maxTagCount);\n }\n // Selector node list\n const selectedValueNodes = myValueList.map(({ label, value }) => (\n <Selection\n {...{\n props: {\n ...this.$props,\n label,\n value,\n },\n on: { ...listeners, remove: onMultipleSelectorRemove },\n }}\n key={value || TREE_SELECT_EMPTY_VALUE_KEY}\n >\n {$slots.default}\n </Selection>\n ));\n\n // Rest node count\n if (maxTagCount >= 0 && maxTagCount < selectorValueList.length) {\n let content = `+ ${selectorValueList.length - maxTagCount} ...`;\n const maxTagPlaceholder = getComponentFromProp(this, 'maxTagPlaceholder', {}, false);\n if (typeof maxTagPlaceholder === 'string') {\n content = maxTagPlaceholder;\n } else if (typeof maxTagPlaceholder === 'function') {\n const restValueList = selectorValueList.slice(maxTagCount);\n content = maxTagPlaceholder(\n labelInValue ? restValueList : restValueList.map(({ value }) => value),\n );\n }\n\n const restNodeSelect = (\n <Selection\n {...{\n props: {\n ...this.$props,\n label: content,\n value: null,\n },\n on: listeners,\n }}\n key=\"rc-tree-select-internal-max-tag-counter\"\n >\n {$slots.default}\n </Selection>\n );\n\n selectedValueNodes.push(restNodeSelect);\n }\n\n selectedValueNodes.push(\n <li class={`${prefixCls}-search ${prefixCls}-search--inline`} key=\"__input\">\n <SearchInput\n {...{\n props: {\n ...this.$props,\n needAlign: true,\n },\n on: listeners,\n directives: [\n {\n name: 'ant-ref',\n value: this.inputRef,\n },\n ],\n }}\n >\n {$slots.default}\n </SearchInput>\n </li>,\n );\n const className = `${prefixCls}-selection__rendered`;\n if (choiceTransitionName) {\n const transitionProps = getTransitionProps(choiceTransitionName, {\n tag: 'ul',\n afterLeave: this.onChoiceAnimationLeave,\n });\n return (\n <transition-group class={className} {...transitionProps}>\n {selectedValueNodes}\n </transition-group>\n );\n }\n return (\n <ul class={className} role=\"menubar\">\n {selectedValueNodes}\n </ul>\n );\n },\n },\n\n render() {\n const { $slots, $props } = this;\n const listeners = getListeners(this);\n const { showArrow = false } = $props;\n return (\n <Selector\n {...{\n props: {\n ...this.$props,\n showArrow,\n tabIndex: -1,\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 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":""}
|