UNPKG

4.3 MBSource Map (JSON)View Raw
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/renderEmpty.jsx","webpack://antd/./components/config-provider/index.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/./components/vc-tree/src/util.js","webpack://antd/external {\"root\":\"Vue\",\"commonjs2\":\"vue\",\"commonjs\":\"vue\",\"amd\":\"vue\"}","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/./components/_util/interopDefault.js","webpack://antd/./node_modules/shallowequal/index.js","webpack://antd/./node_modules/dom-align/dist-web/index.js","webpack://antd/./components/vc-align/util.js","webpack://antd/./components/vc-align/Align.jsx","webpack://antd/./components/vc-align/index.js","webpack://antd/./components/vc-trigger/LazyRenderBox.jsx","webpack://antd/./components/vc-trigger/PopupInner.jsx","webpack://antd/./components/vc-trigger/Popup.jsx","webpack://antd/./components/vc-trigger/utils.js","webpack://antd/./components/_util/ContainerRender.jsx","webpack://antd/./components/vc-trigger/Trigger.jsx","webpack://antd/./components/vc-trigger/index.js","webpack://antd/./node_modules/lodash/debounce.js","webpack://antd/./components/vc-tooltip/placements.js","webpack://antd/./components/vc-tooltip/Content.jsx","webpack://antd/./components/vc-tooltip/Tooltip.jsx","webpack://antd/./components/vc-tooltip/index.js","webpack://antd/./components/tooltip/placements.js","webpack://antd/./components/tooltip/Tooltip.jsx","webpack://antd/./components/tooltip/index.js","webpack://antd/./components/_util/getRequestAnimationFrame.js","webpack://antd/./components/_util/requestAnimationTimeout.js","webpack://antd/./node_modules/lodash/set.js","webpack://antd/./node_modules/lodash/isObject.js","webpack://antd/./node_modules/lodash/isArray.js","webpack://antd/./node_modules/lodash/isPlainObject.js","webpack://antd/./components/locale-provider/default.js","webpack://antd/./components/upload/utils.jsx","webpack://antd/./node_modules/core-js/library/modules/_wks.js","webpack://antd/./node_modules/lodash/_root.js","webpack://antd/./components/upload/interface.jsx","webpack://antd/./components/vc-util/Dom/contains.js","webpack://antd/./components/_util/css-animation/Event.js","webpack://antd/./node_modules/core-js/library/modules/_core.js","webpack://antd/./node_modules/lodash/isObjectLike.js","webpack://antd/./components/vc-calendar/src/locale/en_US.js","webpack://antd/./components/_util/css-animation/index.js","webpack://antd/./components/empty/empty.jsx","webpack://antd/./components/empty/index.jsx","webpack://antd/./components/empty/simple.jsx","webpack://antd/./node_modules/core-js/library/modules/_global.js","webpack://antd/./node_modules/core-js/library/modules/_object-dp.js","webpack://antd/./node_modules/core-js/library/modules/_descriptors.js","webpack://antd/./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://antd/./node_modules/babel-runtime/helpers/classCallCheck.js","webpack://antd/./components/tooltip/abstractTooltipProps.js","webpack://antd/./components/modal/locale.js","webpack://antd/./node_modules/component-classes/index.js","webpack://antd/./node_modules/lodash/get.js","webpack://antd/./components/vc-tree/index.js","webpack://antd/./node_modules/lodash/isNil.js","webpack://antd/./components/upload/Upload.jsx","webpack://antd/./node_modules/@ant-design/icons-vue/es/utils.js","webpack://antd/./node_modules/core-js/library/modules/_has.js","webpack://antd/./node_modules/lodash/_baseGetTag.js","webpack://antd/./node_modules/lodash/_getNative.js","webpack://antd/./node_modules/lodash/eq.js","webpack://antd/./components/date-picker/locale/en_US.js","webpack://antd/./components/time-picker/locale/en_US.js","webpack://antd/./node_modules/array-tree-filter/lib/index.js","webpack://antd/./node_modules/core-js/library/modules/_hide.js","webpack://antd/./node_modules/core-js/library/modules/_an-object.js","webpack://antd/./node_modules/core-js/library/modules/_to-iobject.js","webpack://antd/./node_modules/core-js/library/modules/_iterators.js","webpack://antd/./node_modules/lodash/_Symbol.js","webpack://antd/./node_modules/lodash/_copyObject.js","webpack://antd/./node_modules/lodash/keys.js","webpack://antd/./node_modules/lodash/isArrayLike.js","webpack://antd/./node_modules/lodash/_castPath.js","webpack://antd/./node_modules/lodash/_toKey.js","webpack://antd/./components/_util/FormDecoratorDirective.js","webpack://antd/./components/locale-provider/index.jsx","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/color-picker/locale/en_US.js","webpack://antd/./components/upload/Dragger.jsx","webpack://antd/./node_modules/core-js/library/modules/_export.js","webpack://antd/./node_modules/core-js/library/modules/_is-object.js","webpack://antd/./node_modules/core-js/library/modules/_fails.js","webpack://antd/./node_modules/core-js/library/modules/_property-desc.js","webpack://antd/./node_modules/lodash/keysIn.js","webpack://antd/./components/progress/utils.js","webpack://antd/./components/progress/line.jsx","webpack://antd/./components/vc-progress/src/enhancer.js","webpack://antd/./components/vc-progress/src/types.js","webpack://antd/./components/vc-progress/src/Circle.js","webpack://antd/./components/progress/circle.jsx","webpack://antd/./components/progress/progress.jsx","webpack://antd/./components/progress/index.jsx","webpack://antd/./components/vc-pagination/locale/en_US.js","webpack://antd/./components/calendar/locale/en_US.js","webpack://antd/./node_modules/core-js/library/modules/_object-keys.js","webpack://antd/./node_modules/core-js/library/modules/_library.js","webpack://antd/./node_modules/core-js/library/modules/_uid.js","webpack://antd/./node_modules/core-js/library/modules/_object-pie.js","webpack://antd/./node_modules/core-js/library/modules/_to-object.js","webpack://antd/./node_modules/core-js/library/modules/es6.string.iterator.js","webpack://antd/./node_modules/process/browser.js","webpack://antd/./node_modules/lodash/_Stack.js","webpack://antd/./node_modules/lodash/_ListCache.js","webpack://antd/./node_modules/lodash/_assocIndexOf.js","webpack://antd/./node_modules/lodash/_nativeCreate.js","webpack://antd/./node_modules/lodash/_getMapData.js","webpack://antd/./node_modules/lodash/isArguments.js","webpack://antd/./node_modules/lodash/isBuffer.js","webpack://antd/./node_modules/lodash/_isIndex.js","webpack://antd/./node_modules/lodash/_baseUnary.js","webpack://antd/./node_modules/lodash/_nodeUtil.js","webpack://antd/./node_modules/lodash/_getTag.js","webpack://antd/./node_modules/lodash/isSymbol.js","webpack://antd/./node_modules/lodash/_baseGet.js","webpack://antd/./node_modules/lodash/_baseIteratee.js","webpack://antd/./components/_util/antInputDirective.js","webpack://antd/./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/./node_modules/core-js/library/modules/_to-primitive.js","webpack://antd/./node_modules/core-js/library/modules/_cof.js","webpack://antd/./node_modules/core-js/library/modules/_defined.js","webpack://antd/./node_modules/core-js/library/modules/_to-integer.js","webpack://antd/./node_modules/core-js/library/modules/_shared-key.js","webpack://antd/./node_modules/core-js/library/modules/_shared.js","webpack://antd/./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack://antd/./node_modules/core-js/library/modules/_object-gops.js","webpack://antd/./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack://antd/./node_modules/core-js/library/modules/web.dom.iterable.js","webpack://antd/./node_modules/core-js/library/modules/_wks-ext.js","webpack://antd/./node_modules/core-js/library/modules/_wks-define.js","webpack://antd/(webpack)/buildin/global.js","webpack://antd/./node_modules/lodash/_getPrototype.js","webpack://antd/./node_modules/lodash/_Map.js","webpack://antd/./node_modules/lodash/isFunction.js","webpack://antd/./node_modules/lodash/_MapCache.js","webpack://antd/./node_modules/lodash/_assignValue.js","webpack://antd/./node_modules/lodash/_baseAssignValue.js","webpack://antd/(webpack)/buildin/module.js","webpack://antd/./node_modules/lodash/isTypedArray.js","webpack://antd/./node_modules/lodash/isLength.js","webpack://antd/./node_modules/lodash/_isPrototype.js","webpack://antd/./node_modules/lodash/_getSymbols.js","webpack://antd/./node_modules/lodash/_arrayPush.js","webpack://antd/./node_modules/lodash/_cloneArrayBuffer.js","webpack://antd/./node_modules/lodash/_isKey.js","webpack://antd/./node_modules/lodash/toString.js","webpack://antd/./node_modules/lodash/identity.js","webpack://antd/./node_modules/lodash/_setToArray.js","webpack://antd/./node_modules/lodash/toInteger.js","webpack://antd/./node_modules/lodash/_hasUnicode.js","webpack://antd/./node_modules/lodash/_stringSize.js","webpack://antd/./node_modules/lodash/findIndex.js","webpack://antd/./components/vc-pagination/locale/zh_CN.js","webpack://antd/./node_modules/@ant-design/icons/lib/dist.js","webpack://antd/./node_modules/lodash/merge.js","webpack://antd/./components/vc-upload/src/request.js","webpack://antd/./components/vc-upload/src/uid.js","webpack://antd/./components/vc-upload/src/attr-accept.js","webpack://antd/./components/vc-upload/src/traverseFileTree.js","webpack://antd/./components/vc-upload/src/AjaxUploader.jsx","webpack://antd/./components/vc-upload/src/IframeUploader.jsx","webpack://antd/./components/vc-upload/src/Upload.jsx","webpack://antd/./components/vc-upload/src/index.js","webpack://antd/./components/vc-upload/index.js","webpack://antd/./node_modules/babel-runtime/core-js/object/define-property.js","webpack://antd/./node_modules/core-js/library/modules/_ctx.js","webpack://antd/./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://antd/./node_modules/core-js/library/modules/_dom-create.js","webpack://antd/./node_modules/core-js/library/modules/_object-keys-internal.js","webpack://antd/./node_modules/core-js/library/modules/_iobject.js","webpack://antd/./node_modules/core-js/library/modules/_to-length.js","webpack://antd/./node_modules/core-js/library/modules/_iter-define.js","webpack://antd/./node_modules/core-js/library/modules/_redefine.js","webpack://antd/./node_modules/core-js/library/modules/_object-create.js","webpack://antd/./node_modules/core-js/library/modules/_object-gopn.js","webpack://antd/./node_modules/lodash/_freeGlobal.js","webpack://antd/./node_modules/lodash/_overArg.js","webpack://antd/./node_modules/core-js/library/modules/core.get-iterator-method.js","webpack://antd/./node_modules/core-js/library/modules/_classof.js","webpack://antd/./node_modules/component-indexof/index.js","webpack://antd/./node_modules/lodash/_baseClone.js","webpack://antd/./node_modules/lodash/_toSource.js","webpack://antd/./node_modules/lodash/_defineProperty.js","webpack://antd/./node_modules/lodash/_arrayLikeKeys.js","webpack://antd/./node_modules/lodash/_cloneBuffer.js","webpack://antd/./node_modules/lodash/_copyArray.js","webpack://antd/./node_modules/lodash/stubArray.js","webpack://antd/./node_modules/lodash/_getSymbolsIn.js","webpack://antd/./node_modules/lodash/_getAllKeys.js","webpack://antd/./node_modules/lodash/_baseGetAllKeys.js","webpack://antd/./node_modules/lodash/_getAllKeysIn.js","webpack://antd/./node_modules/lodash/_Set.js","webpack://antd/./node_modules/lodash/_Uint8Array.js","webpack://antd/./node_modules/lodash/_cloneTypedArray.js","webpack://antd/./node_modules/lodash/_initCloneObject.js","webpack://antd/./node_modules/lodash/toNumber.js","webpack://antd/./node_modules/enquire.js/src/index.js","webpack://antd/./node_modules/enquire.js/src/Util.js","webpack://antd/./node_modules/lodash/_arrayMap.js","webpack://antd/./node_modules/lodash/_baseToString.js","webpack://antd/./node_modules/lodash/_baseSlice.js","webpack://antd/./node_modules/lodash/_flatRest.js","webpack://antd/./node_modules/lodash/_overRest.js","webpack://antd/./node_modules/lodash/_setToString.js","webpack://antd/./node_modules/lodash/_baseIsEqual.js","webpack://antd/./node_modules/lodash/_equalArrays.js","webpack://antd/./node_modules/lodash/_SetCache.js","webpack://antd/./node_modules/lodash/_cacheHas.js","webpack://antd/./node_modules/lodash/_isStrictComparable.js","webpack://antd/./node_modules/lodash/_matchesStrictComparable.js","webpack://antd/./node_modules/lodash/hasIn.js","webpack://antd/./node_modules/lodash/_hasPath.js","webpack://antd/./node_modules/lodash/_baseProperty.js","webpack://antd/./node_modules/lodash/_baseFindIndex.js","webpack://antd/./node_modules/lodash/_baseSet.js","webpack://antd/./node_modules/lodash/_createPadding.js","webpack://antd/./node_modules/lodash/_assignMergeValue.js","webpack://antd/./node_modules/lodash/_baseFor.js","webpack://antd/./node_modules/lodash/_safeGet.js","webpack://antd/./node_modules/add-dom-event-listener/lib/index.js","webpack://antd/./node_modules/@ant-design/colors/lib/index.js","webpack://antd/./node_modules/is-mobile/index.js","webpack://antd/./node_modules/shallow-equal/arrays/index.js","webpack://antd/./node_modules/lodash/find.js","webpack://antd/./node_modules/lodash/has.js","webpack://antd/./node_modules/lodash/padEnd.js","webpack://antd/./node_modules/lodash/padStart.js","webpack://antd/./node_modules/dom-closest/index.js","webpack://antd/./node_modules/lodash/throttle.js","webpack://antd/./node_modules/lodash/uniqBy.js","webpack://antd/./node_modules/lodash/pick.js","webpack://antd/./components/upload/UploadList.jsx","webpack://antd/./node_modules/lodash/partition.js","webpack://antd/./node_modules/core-js/library/fn/object/define-property.js","webpack://antd/./node_modules/core-js/library/modules/es6.object.define-property.js","webpack://antd/./node_modules/core-js/library/modules/_a-function.js","webpack://antd/./node_modules/babel-runtime/core-js/object/assign.js","webpack://antd/./node_modules/core-js/library/fn/object/assign.js","webpack://antd/./node_modules/core-js/library/modules/es6.object.assign.js","webpack://antd/./node_modules/core-js/library/modules/_object-assign.js","webpack://antd/./node_modules/core-js/library/modules/_array-includes.js","webpack://antd/./node_modules/core-js/library/modules/_to-absolute-index.js","webpack://antd/./node_modules/babel-runtime/core-js/symbol/iterator.js","webpack://antd/./node_modules/core-js/library/fn/symbol/iterator.js","webpack://antd/./node_modules/core-js/library/modules/_string-at.js","webpack://antd/./node_modules/core-js/library/modules/_iter-create.js","webpack://antd/./node_modules/core-js/library/modules/_object-dps.js","webpack://antd/./node_modules/core-js/library/modules/_html.js","webpack://antd/./node_modules/core-js/library/modules/_object-gpo.js","webpack://antd/./node_modules/core-js/library/modules/es6.array.iterator.js","webpack://antd/./node_modules/core-js/library/modules/_add-to-unscopables.js","webpack://antd/./node_modules/core-js/library/modules/_iter-step.js","webpack://antd/./node_modules/babel-runtime/core-js/symbol.js","webpack://antd/./node_modules/core-js/library/fn/symbol/index.js","webpack://antd/./node_modules/core-js/library/modules/es6.symbol.js","webpack://antd/./node_modules/core-js/library/modules/_meta.js","webpack://antd/./node_modules/core-js/library/modules/_enum-keys.js","webpack://antd/./node_modules/core-js/library/modules/_is-array.js","webpack://antd/./node_modules/core-js/library/modules/_object-gopn-ext.js","webpack://antd/./node_modules/core-js/library/modules/_object-gopd.js","webpack://antd/./node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack://antd/./node_modules/core-js/library/modules/es7.symbol.observable.js","webpack://antd/./node_modules/lodash/_getRawTag.js","webpack://antd/./node_modules/lodash/_objectToString.js","webpack://antd/./node_modules/babel-runtime/core-js/array/from.js","webpack://antd/./node_modules/core-js/library/fn/array/from.js","webpack://antd/./node_modules/core-js/library/modules/es6.array.from.js","webpack://antd/./node_modules/core-js/library/modules/_iter-call.js","webpack://antd/./node_modules/core-js/library/modules/_is-array-iter.js","webpack://antd/./node_modules/core-js/library/modules/_create-property.js","webpack://antd/./node_modules/core-js/library/modules/_iter-detect.js","webpack://antd/./node_modules/babel-runtime/core-js/is-iterable.js","webpack://antd/./node_modules/core-js/library/fn/is-iterable.js","webpack://antd/./node_modules/core-js/library/modules/core.is-iterable.js","webpack://antd/./node_modules/babel-runtime/core-js/get-iterator.js","webpack://antd/./node_modules/core-js/library/fn/get-iterator.js","webpack://antd/./node_modules/core-js/library/modules/core.get-iterator.js","webpack://antd/./node_modules/performance-now/lib/performance-now.js","webpack://antd/./node_modules/add-dom-event-listener/lib/EventObject.js","webpack://antd/./node_modules/add-dom-event-listener/lib/EventBaseObject.js","webpack://antd/./node_modules/object-assign/index.js","webpack://antd/./node_modules/@ant-design/colors/lib/generate.js","webpack://antd/./node_modules/tinycolor2/tinycolor.js","webpack://antd/./node_modules/mutationobserver-shim/dist/mutationobserver.min.js","webpack://antd/./node_modules/lodash/_listCacheClear.js","webpack://antd/./node_modules/lodash/_listCacheDelete.js","webpack://antd/./node_modules/lodash/_listCacheGet.js","webpack://antd/./node_modules/lodash/_listCacheHas.js","webpack://antd/./node_modules/lodash/_listCacheSet.js","webpack://antd/./node_modules/lodash/_stackClear.js","webpack://antd/./node_modules/lodash/_stackDelete.js","webpack://antd/./node_modules/lodash/_stackGet.js","webpack://antd/./node_modules/lodash/_stackHas.js","webpack://antd/./node_modules/lodash/_stackSet.js","webpack://antd/./node_modules/lodash/_baseIsNative.js","webpack://antd/./node_modules/lodash/_isMasked.js","webpack://antd/./node_modules/lodash/_coreJsData.js","webpack://antd/./node_modules/lodash/_getValue.js","webpack://antd/./node_modules/lodash/_mapCacheClear.js","webpack://antd/./node_modules/lodash/_Hash.js","webpack://antd/./node_modules/lodash/_hashClear.js","webpack://antd/./node_modules/lodash/_hashDelete.js","webpack://antd/./node_modules/lodash/_hashGet.js","webpack://antd/./node_modules/lodash/_hashHas.js","webpack://antd/./node_modules/lodash/_hashSet.js","webpack://antd/./node_modules/lodash/_mapCacheDelete.js","webpack://antd/./node_modules/lodash/_isKeyable.js","webpack://antd/./node_modules/lodash/_mapCacheGet.js","webpack://antd/./node_modules/lodash/_mapCacheHas.js","webpack://antd/./node_modules/lodash/_mapCacheSet.js","webpack://antd/./node_modules/lodash/_arrayEach.js","webpack://antd/./node_modules/lodash/_baseAssign.js","webpack://antd/./node_modules/lodash/_baseTimes.js","webpack://antd/./node_modules/lodash/_baseIsArguments.js","webpack://antd/./node_modules/lodash/stubFalse.js","webpack://antd/./node_modules/lodash/_baseIsTypedArray.js","webpack://antd/./node_modules/lodash/_baseKeys.js","webpack://antd/./node_modules/lodash/_nativeKeys.js","webpack://antd/./node_modules/lodash/_baseAssignIn.js","webpack://antd/./node_modules/lodash/_baseKeysIn.js","webpack://antd/./node_modules/lodash/_nativeKeysIn.js","webpack://antd/./node_modules/lodash/_copySymbols.js","webpack://antd/./node_modules/lodash/_arrayFilter.js","webpack://antd/./node_modules/lodash/_copySymbolsIn.js","webpack://antd/./node_modules/lodash/_DataView.js","webpack://antd/./node_modules/lodash/_Promise.js","webpack://antd/./node_modules/lodash/_WeakMap.js","webpack://antd/./node_modules/lodash/_initCloneArray.js","webpack://antd/./node_modules/lodash/_initCloneByTag.js","webpack://antd/./node_modules/lodash/_cloneDataView.js","webpack://antd/./node_modules/lodash/_cloneRegExp.js","webpack://antd/./node_modules/lodash/_cloneSymbol.js","webpack://antd/./node_modules/lodash/_baseCreate.js","webpack://antd/./node_modules/lodash/isMap.js","webpack://antd/./node_modules/lodash/_baseIsMap.js","webpack://antd/./node_modules/lodash/isSet.js","webpack://antd/./node_modules/lodash/_baseIsSet.js","webpack://antd/./node_modules/lodash/now.js","webpack://antd/./node_modules/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/create.js","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/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/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/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/createStore.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/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/./index-with-locales.js","webpack://antd/__tests__).+_.+\\.js$","webpack://antd/./components/vc-pagination/locale/zh_TW.js","webpack://antd/./components/time-picker/locale/zh_TW.js","webpack://antd/./components/date-picker/locale/zh_TW.js","webpack://antd/./components/vc-calendar/src/locale/zh_TW.js","webpack://antd/./components/locale/zh_TW.js","webpack://antd/./components/color-picker/locale/zh_TW.js","webpack://antd/./components/locale-provider/zh_TW.js","webpack://antd/./components/vc-pagination/locale/ar_EG.js","webpack://antd/./components/time-picker/locale/ar_EG.js","webpack://antd/./components/date-picker/locale/ar_EG.js","webpack://antd/./components/vc-calendar/src/locale/ar_EG.js","webpack://antd/./components/locale/ar_EG.js","webpack://antd/./components/locale-provider/ar_EG.js","webpack://antd/./components/vc-pagination/locale/bg_BG.js","webpack://antd/./components/time-picker/locale/bg_BG.js","webpack://antd/./components/date-picker/locale/bg_BG.js","webpack://antd/./components/vc-calendar/src/locale/bg_BG.js","webpack://antd/./components/locale/bg_BG.js","webpack://antd/./components/locale-provider/bg_BG.js","webpack://antd/./components/vc-pagination/locale/ca_ES.js","webpack://antd/./components/time-picker/locale/ca_ES.js","webpack://antd/./components/date-picker/locale/ca_ES.js","webpack://antd/./components/vc-calendar/src/locale/ca_ES.js","webpack://antd/./components/locale/ca_ES.js","webpack://antd/./components/locale-provider/ca_ES.js","webpack://antd/./components/vc-pagination/locale/cs_CZ.js","webpack://antd/./components/time-picker/locale/cs_CZ.js","webpack://antd/./components/date-picker/locale/cs_CZ.js","webpack://antd/./components/vc-calendar/src/locale/cs_CZ.js","webpack://antd/./components/locale/cs_CZ.js","webpack://antd/./components/locale-provider/cs_CZ.js","webpack://antd/./components/vc-pagination/locale/da_DK.js","webpack://antd/./components/time-picker/locale/da_DK.js","webpack://antd/./components/date-picker/locale/da_DK.js","webpack://antd/./components/vc-calendar/src/locale/da_DK.js","webpack://antd/./components/locale/da_DK.js","webpack://antd/./components/locale-provider/da_DK.js","webpack://antd/./components/vc-pagination/locale/de_DE.js","webpack://antd/./components/time-picker/locale/de_DE.js","webpack://antd/./components/date-picker/locale/de_DE.js","webpack://antd/./components/vc-calendar/src/locale/de_DE.js","webpack://antd/./components/locale/de_DE.js","webpack://antd/./components/locale-provider/de_DE.js","webpack://antd/./components/vc-pagination/locale/el_GR.js","webpack://antd/./components/time-picker/locale/el_GR.js","webpack://antd/./components/date-picker/locale/el_GR.js","webpack://antd/./components/vc-calendar/src/locale/el_GR.js","webpack://antd/./components/locale/el_GR.js","webpack://antd/./components/locale-provider/el_GR.js","webpack://antd/./components/vc-pagination/locale/en_GB.js","webpack://antd/./components/time-picker/locale/en_GB.js","webpack://antd/./components/date-picker/locale/en_GB.js","webpack://antd/./components/vc-calendar/src/locale/en_GB.js","webpack://antd/./components/locale/en_GB.js","webpack://antd/./components/locale-provider/en_GB.js","webpack://antd/./components/vc-pagination/locale/es_ES.js","webpack://antd/./components/time-picker/locale/es_ES.js","webpack://antd/./components/date-picker/locale/es_ES.js","webpack://antd/./components/vc-calendar/src/locale/es_ES.js","webpack://antd/./components/locale/es_ES.js","webpack://antd/./components/locale-provider/es_ES.js","webpack://antd/./components/vc-pagination/locale/et_EE.js","webpack://antd/./components/time-picker/locale/et_EE.js","webpack://antd/./components/date-picker/locale/et_EE.js","webpack://antd/./components/vc-calendar/src/locale/et_EE.js","webpack://antd/./components/locale/et_EE.js","webpack://antd/./components/locale-provider/et_EE.js","webpack://antd/./components/vc-pagination/locale/fa_IR.js","webpack://antd/./components/time-picker/locale/fa_IR.js","webpack://antd/./components/date-picker/locale/fa_IR.js","webpack://antd/./components/vc-calendar/src/locale/fa_IR.js","webpack://antd/./components/locale/fa_IR.js","webpack://antd/./components/locale-provider/fa_IR.js","webpack://antd/./components/vc-pagination/locale/fi_FI.js","webpack://antd/./components/time-picker/locale/fi_FI.js","webpack://antd/./components/date-picker/locale/fi_FI.js","webpack://antd/./components/vc-calendar/src/locale/fi_FI.js","webpack://antd/./components/locale/fi_FI.js","webpack://antd/./components/locale-provider/fi_FI.js","webpack://antd/./components/vc-pagination/locale/fr_BE.js","webpack://antd/./components/time-picker/locale/fr_BE.js","webpack://antd/./components/date-picker/locale/fr_BE.js","webpack://antd/./components/vc-calendar/src/locale/fr_BE.js","webpack://antd/./components/locale/fr_BE.js","webpack://antd/./components/locale-provider/fr_BE.js","webpack://antd/./components/vc-pagination/locale/fr_FR.js","webpack://antd/./components/time-picker/locale/fr_FR.js","webpack://antd/./components/date-picker/locale/fr_FR.js","webpack://antd/./components/vc-calendar/src/locale/fr_FR.js","webpack://antd/./components/locale/fr_FR.js","webpack://antd/./components/locale-provider/fr_FR.js","webpack://antd/./components/vc-pagination/locale/ga_IE.js","webpack://antd/./components/time-picker/locale/ga_IE.js","webpack://antd/./components/date-picker/locale/ga_IE.js","webpack://antd/./components/vc-calendar/src/locale/ga_IE.js","webpack://antd/./components/locale/ga_IE.js","webpack://antd/./components/locale-provider/ga_IE.js","webpack://antd/./components/vc-pagination/locale/he_IL.js","webpack://antd/./components/time-picker/locale/he_IL.js","webpack://antd/./components/date-picker/locale/he_IL.js","webpack://antd/./components/vc-calendar/src/locale/he_IL.js","webpack://antd/./components/locale/he_IL.js","webpack://antd/./components/locale-provider/he_IL.js","webpack://antd/./components/vc-pagination/locale/hi_IN.js","webpack://antd/./components/time-picker/locale/hi_IN.js","webpack://antd/./components/date-picker/locale/hi_IN.js","webpack://antd/./components/vc-calendar/src/locale/hi_IN.js","webpack://antd/./components/locale/hi_IN.js","webpack://antd/./components/locale-provider/hi_IN.js","webpack://antd/./components/vc-pagination/locale/hr_HR.js","webpack://antd/./components/time-picker/locale/hr_HR.js","webpack://antd/./components/date-picker/locale/hr_HR.js","webpack://antd/./components/vc-calendar/src/locale/hr_HR.js","webpack://antd/./components/locale/hr_HR.js","webpack://antd/./components/locale-provider/hr_HR.js","webpack://antd/./components/vc-pagination/locale/hu_HU.js","webpack://antd/./components/time-picker/locale/hu_HU.js","webpack://antd/./components/date-picker/locale/hu_HU.js","webpack://antd/./components/vc-calendar/src/locale/hu_HU.js","webpack://antd/./components/locale/hu_HU.js","webpack://antd/./components/locale-provider/hu_HU.js","webpack://antd/./components/vc-pagination/locale/id_ID.js","webpack://antd/./components/time-picker/locale/id_ID.js","webpack://antd/./components/date-picker/locale/id_ID.js","webpack://antd/./components/vc-calendar/src/locale/id_ID.js","webpack://antd/./components/locale/id_ID.js","webpack://antd/./components/locale-provider/id_ID.js","webpack://antd/./components/vc-pagination/locale/is_IS.js","webpack://antd/./components/time-picker/locale/is_IS.js","webpack://antd/./components/date-picker/locale/is_IS.js","webpack://antd/./components/vc-calendar/src/locale/is_IS.js","webpack://antd/./components/locale/is_IS.js","webpack://antd/./components/locale-provider/is_IS.js","webpack://antd/./components/vc-pagination/locale/it_IT.js","webpack://antd/./components/time-picker/locale/it_IT.js","webpack://antd/./components/date-picker/locale/it_IT.js","webpack://antd/./components/vc-calendar/src/locale/it_IT.js","webpack://antd/./components/locale/it_IT.js","webpack://antd/./components/locale-provider/it_IT.js","webpack://antd/./components/vc-pagination/locale/ja_JP.js","webpack://antd/./components/time-picker/locale/ja_JP.js","webpack://antd/./components/date-picker/locale/ja_JP.js","webpack://antd/./components/vc-calendar/src/locale/ja_JP.js","webpack://antd/./components/locale/ja_JP.js","webpack://antd/./components/locale-provider/ja_JP.js","webpack://antd/./components/vc-pagination/locale/kn_IN.js","webpack://antd/./components/time-picker/locale/kn_IN.js","webpack://antd/./components/date-picker/locale/kn_IN.js","webpack://antd/./components/vc-calendar/src/locale/kn_IN.js","webpack://antd/./components/locale/kn_IN.js","webpack://antd/./components/locale-provider/kn_IN.js","webpack://antd/./components/vc-pagination/locale/ko_KR.js","webpack://antd/./components/time-picker/locale/ko_KR.js","webpack://antd/./components/date-picker/locale/ko_KR.js","webpack://antd/./components/vc-calendar/src/locale/ko_KR.js","webpack://antd/./components/locale/ko_KR.js","webpack://antd/./components/locale-provider/ko_KR.js","webpack://antd/./components/vc-pagination/locale/ku_IQ.js","webpack://antd/./components/time-picker/locale/ku_IQ.js","webpack://antd/./components/date-picker/locale/ku_IQ.js","webpack://antd/./components/vc-calendar/src/locale/ku_IQ.js","webpack://antd/./components/locale/ku_IQ.js","webpack://antd/./components/locale-provider/ku_IQ.js","webpack://antd/./components/vc-pagination/locale/lv_LV.js","webpack://antd/./components/time-picker/locale/lv_LV.js","webpack://antd/./components/date-picker/locale/lv_LV.js","webpack://antd/./components/vc-calendar/src/locale/lv_LV.js","webpack://antd/./components/locale/lv_LV.js","webpack://antd/./components/locale-provider/lv_LV.js","webpack://antd/./components/vc-pagination/locale/mk_MK.js","webpack://antd/./components/time-picker/locale/mk_MK.js","webpack://antd/./components/date-picker/locale/mk_MK.js","webpack://antd/./components/vc-calendar/src/locale/mk_MK.js","webpack://antd/./components/locale/mk_MK.js","webpack://antd/./components/locale-provider/mk_MK.js","webpack://antd/./components/vc-pagination/locale/mn_MN.js","webpack://antd/./components/time-picker/locale/mn_MN.js","webpack://antd/./components/date-picker/locale/mn_MN.js","webpack://antd/./components/vc-calendar/src/locale/mn_MN.js","webpack://antd/./components/locale/mn_MN.js","webpack://antd/./components/locale-provider/mn_MN.js","webpack://antd/./components/vc-pagination/locale/ms_MY.js","webpack://antd/./components/time-picker/locale/ms_MY.js","webpack://antd/./components/date-picker/locale/ms_MY.js","webpack://antd/./components/vc-calendar/src/locale/ms_MY.js","webpack://antd/./components/locale/ms_MY.js","webpack://antd/./components/locale-provider/ms_MY.js","webpack://antd/./components/vc-pagination/locale/nb_NO.js","webpack://antd/./components/time-picker/locale/nb_NO.js","webpack://antd/./components/date-picker/locale/nb_NO.js","webpack://antd/./components/vc-calendar/src/locale/nb_NO.js","webpack://antd/./components/locale/nb_NO.js","webpack://antd/./components/locale-provider/nb_NO.js","webpack://antd/./components/vc-pagination/locale/nl_BE.js","webpack://antd/./components/time-picker/locale/nl_BE.js","webpack://antd/./components/date-picker/locale/nl_BE.js","webpack://antd/./components/vc-calendar/src/locale/nl_BE.js","webpack://antd/./components/locale/nl_BE.js","webpack://antd/./components/locale-provider/nl_BE.js","webpack://antd/./components/vc-pagination/locale/nl_NL.js","webpack://antd/./components/time-picker/locale/nl_NL.js","webpack://antd/./components/date-picker/locale/nl_NL.js","webpack://antd/./components/vc-calendar/src/locale/nl_NL.js","webpack://antd/./components/locale/nl_NL.js","webpack://antd/./components/locale-provider/nl_NL.js","webpack://antd/./components/vc-pagination/locale/pl_PL.js","webpack://antd/./components/time-picker/locale/pl_PL.js","webpack://antd/./components/date-picker/locale/pl_PL.js","webpack://antd/./components/vc-calendar/src/locale/pl_PL.js","webpack://antd/./components/locale/pl_PL.js","webpack://antd/./components/locale-provider/pl_PL.js","webpack://antd/./components/vc-pagination/locale/pt_BR.js","webpack://antd/./components/time-picker/locale/pt_BR.js","webpack://antd/./components/date-picker/locale/pt_BR.js","webpack://antd/./components/vc-calendar/src/locale/pt_BR.js","webpack://antd/./components/locale/pt_BR.js","webpack://antd/./components/locale-provider/pt_BR.js","webpack://antd/./components/vc-pagination/locale/pt_PT.js","webpack://antd/./components/time-picker/locale/pt_PT.js","webpack://antd/./components/date-picker/locale/pt_PT.js","webpack://antd/./components/vc-calendar/src/locale/pt_PT.js","webpack://antd/./components/locale/pt_PT.js","webpack://antd/./components/locale-provider/pt_PT.js","webpack://antd/./components/vc-pagination/locale/ro_RO.js","webpack://antd/./components/time-picker/locale/ro_RO.js","webpack://antd/./components/date-picker/locale/ro_RO.js","webpack://antd/./components/vc-calendar/src/locale/ro_RO.js","webpack://antd/./components/locale/ro_RO.js","webpack://antd/./components/locale-provider/ro_RO.js","webpack://antd/./components/vc-pagination/locale/ru_RU.js","webpack://antd/./components/time-picker/locale/ru_RU.js","webpack://antd/./components/date-picker/locale/ru_RU.js","webpack://antd/./components/vc-calendar/src/locale/ru_RU.js","webpack://antd/./components/locale/ru_RU.js","webpack://antd/./components/locale-provider/ru_RU.js","webpack://antd/./components/vc-pagination/locale/sk_SK.js","webpack://antd/./components/time-picker/locale/sk_SK.js","webpack://antd/./components/date-picker/locale/sk_SK.js","webpack://antd/./components/vc-calendar/src/locale/sk_SK.js","webpack://antd/./components/locale/sk_SK.js","webpack://antd/./components/locale-provider/sk_SK.js","webpack://antd/./components/vc-pagination/locale/sr_RS.js","webpack://antd/./components/time-picker/locale/sr_RS.js","webpack://antd/./components/date-picker/locale/sr_RS.js","webpack://antd/./components/vc-calendar/src/locale/sr_RS.js","webpack://antd/./components/locale/sr_RS.js","webpack://antd/./components/locale-provider/sr_RS.js","webpack://antd/./components/vc-pagination/locale/sv_SE.js","webpack://antd/./components/time-picker/locale/sv_SE.js","webpack://antd/./components/date-picker/locale/sv_SE.js","webpack://antd/./components/vc-calendar/src/locale/sv_SE.js","webpack://antd/./components/locale/sv_SE.js","webpack://antd/./components/locale-provider/sv_SE.js","webpack://antd/./components/vc-pagination/locale/th_TH.js","webpack://antd/./components/time-picker/locale/th_TH.js","webpack://antd/./components/date-picker/locale/th_TH.js","webpack://antd/./components/vc-calendar/src/locale/th_TH.js","webpack://antd/./components/locale/th_TH.js","webpack://antd/./components/locale-provider/th_TH.js","webpack://antd/./components/vc-pagination/locale/tr_TR.js","webpack://antd/./components/time-picker/locale/tr_TR.js","webpack://antd/./components/date-picker/locale/tr_TR.js","webpack://antd/./components/vc-calendar/src/locale/tr_TR.js","webpack://antd/./components/locale/tr_TR.js","webpack://antd/./components/locale-provider/tr_TR.js","webpack://antd/./components/vc-pagination/locale/uk_UA.js","webpack://antd/./components/time-picker/locale/uk_UA.js","webpack://antd/./components/date-picker/locale/uk_UA.js","webpack://antd/./components/vc-calendar/src/locale/uk_UA.js","webpack://antd/./components/locale/uk_UA.js","webpack://antd/./components/locale-provider/uk_UA.js","webpack://antd/./components/vc-pagination/locale/vi_VN.js","webpack://antd/./components/time-picker/locale/vi_VN.js","webpack://antd/./components/date-picker/locale/vi_VN.js","webpack://antd/./components/vc-calendar/src/locale/vi_VN.js","webpack://antd/./components/locale/vi_VN.js","webpack://antd/./components/locale-provider/vi_VN.js","webpack://antd/./components/time-picker/locale/zh_CN.js","webpack://antd/./components/date-picker/locale/zh_CN.js","webpack://antd/./components/vc-calendar/src/locale/zh_CN.js","webpack://antd/./components/calendar/locale/zh_CN.js","webpack://antd/./components/locale/zh_CN.js","webpack://antd/./components/color-picker/locale/zh_CN.js","webpack://antd/./components/locale-provider/zh_CN.js","webpack://antd/./components/vc-pagination/locale/sl_SI.js","webpack://antd/./components/time-picker/locale/sl_SI.js","webpack://antd/./components/date-picker/locale/sl_SI.js","webpack://antd/./components/locale/sl_SI.js","webpack://antd/./components/locale-provider/sl_SI.js","webpack://antd/./components/vc-pagination/locale/ta_IN.js","webpack://antd/./components/time-picker/locale/ta_IN.js","webpack://antd/./components/date-picker/locale/ta_IN.js","webpack://antd/./components/vc-calendar/src/locale/ta_IN.js","webpack://antd/./components/calendar/locale/ta_IN.js","webpack://antd/./components/locale-provider/ta_IN.js","webpack://antd/./components/locale/en_US.js","webpack://antd/./components/locale-provider/en_US.js","webpack://antd/./components/locale/hy_AM.js","webpack://antd/./components/locale-provider/hy_AM.js","webpack://antd/./components/locale/ne_NP.js","webpack://antd/./components/locale-provider/ne_NP.js"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__15__","__WEBPACK_EXTERNAL_MODULE__18__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","ObjProto","toString","hasOwn","FN_MATCH_REGEXP","getType","fn","type","match","getNativeType","constructor","isInteger","Number","isFinite","Math","floor","isArray","Array","isFunction","toType","obj","writable","this","required","def","undefined","validateType","isPlainObject","warn","_vueTypes_name","withDefault","validator","silent","typeToCheck","valid","expectedType","namePrefix","some","map","join","VuePropTypes","Function","currentDefaults","func","Boolean","bool","String","string","number","array","integer","custom","validatorFn","warnMsg","TypeError","oneOf","arr","msg","allowedTypes","reduce","ret","v","indexOf","push","length","instanceOf","instanceConstructor","oneOfType","hasCustomValidators","nativeChecks","concat","typesStr","arrayOf","values","every","objectOf","keys","shape","requiredKeys","filter","valueKeys","req","_vueTypes_isLoose","set","camelizeRE","camelize","str","replace","_","toUpperCase","parseStyleText","cssText","camel","res","listDelimiter","propertyDelimiter","split","forEach","item","tmp","k","trim","hasProp","instance","prop","$options","propsData","getScopedSlots","ele","data","scopedSlots","getSlots","componentOptions","$vnode","children","slots","child","isEmptyElement","slot","getSlot","self","options","$scopedSlots","$slots","getAllChildren","getSlotOptions","fnOptions","Ctor","getOptionProps","props","entries","$props","filterProps","getComponentFromProp","execute","$createElement","h","temp","context","getPropsData","slotScope","slotsProp","attrs","tag","getValueByProp","getAttrs","getKey","getEvents","events","listeners","on","getDataEvents","getListeners","$listeners","getClass","tempCls","staticClass","cls","classNames","getStyle","style","staticStyle","text","isStringElement","filterEmpty","initDefaultProps","propTypes","defaultProps","Error","mergeProps","args","slice","arguments","isValidElement","element","_assign","_assign2","default","target","source","_defineProperty","_defineProperty2","configurable","methods","setState","state","callback","newState","$data","getDerivedStateFromProps","$forceUpdate","$nextTick","__emit","eventName","event","classes","arg","argType","inner","apply","nestRE","mergeFn","a","b","objs","aa","bb","nestedKey","test","RenderEmpty","functional","inject","configProvider","ConfigConsumerProps","componentName","PropTypes","render","createElement","injections","renderHtml","prefix","getPrefixCls","image","Empty","PRESENTED_IMAGE_SIMPLE","class","renderEmpty","ConfigProvider","getPopupContainer","prefixCls","csp","autoInsertSpaceInButton","locale","pageHeader","transformCellText","provide","_self","_proxyVm","Vue","renderEmptyComponent","_data","watch","getWatch","defaultRenderEmpty","suffixCls","customizePrefixCls","renderProvider","legacyLocale","_ANT_MARK__","ANT_MARK","LocaleReceiver","__","install","use","Base","component","twoToneColorPalette","primaryColor","secondaryColor","Icon","displayName","definitions","add","_len","icons","_key","icon","theme","clear","colors","setTwoToneColors","_ref","getTwoToneColors","_$props","width","height","fill","customCache","Set","svgBaseProps","focusable","fillTester","outlineTester","twoToneTester","setTwoToneColor","VueIcon","allIcons","renderIcon","Component","viewBox","spin","twoToneColor","rotate","tabIndex","warning","classString","svgClassString","svgStyle","msTransform","transform","innerSvgProps","iconTabIndex","iProps","computedType","themeInName","result","getThemeFromTypeName","withThemeSuffix","removeTypeTheme","newType","alias","renderInnerNode","any","role","scriptUrl","extraCommonProps","document","has","script","setAttribute","body","appendChild","restProps","slotsMap","content","iconProps","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","localeData","getLocale","defaultLocaleData","antLocale","localeFromContext","getLocaleCode","localeCode","exist","interopDefault","objA","objB","compare","compareContext","keysA","keysB","bHasOwnProperty","idx","valueA","valueB","vendorPrefix","iterator","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","jsCssMap","Webkit","Moz","ms","O","getVendorPrefix","getTransformName","setTransitionProperty","transitionProperty","setTransform","getComputedStyleX","matrix2d","matrix3d","forceRelayout","elem","originalStyle","display","offsetHeight","getScroll","w","documentElement","getScrollLeft","getScrollTop","getOffset","box","x","y","doc","ownerDocument","docElem","left","clientLeft","clientTop","getClientPosition","defaultView","parentWindow","isWindow","getDocument","nodeType","_RE_NUM_NO_PX","RegExp","RE_POS","LEFT","getOffsetDirection","dir","useCssRight","useCssBottom","oppositeOffsetDirection","setLeftTop","offset","position","presetH","presetV","horizontalProperty","verticalProperty","oppositeHorizontalProperty","oppositeVerticalProperty","originalTransition","originalOffset","old","preset","off","_dir","_off","setTransform$1","originalXY","getComputedStyle","getPropertyValue","matrix","parseFloat","getTransformXY","resultXY","xy","match2d","setTransformXY","each","isBorderBoxFn","cs","computedStyle","val","rsLeft","pixelLeft","BOX_MODELS","swap","getPBMWidth","which","j","cssProp","domUtils","getParent","host","getWH","ex","extra","viewportWidth","viewportHeight","docWidth","docHeight","borderBoxValue","isBorderBox","cssBoxValue","borderBoxValueOrIsBorderBox","refWin","win","documentElementProp","compatMode","cssShow","visibility","getWHIgnoreDisplay","_key2","offsetWidth","mix","to","from","first","charAt","includeMargin","utils","getWindow","ignoreShake","oriOffset","oLeft","toFixed","oTop","tLeft","tTop","useCssTransform","setOffset","overflow","getWindowScrollLeft","getWindowScrollTop","merge","getOffsetParent","positionStyle","nodeName","toLowerCase","getParent$1","getVisibleRectForElement","alwaysByViewport","visibleRect","right","Infinity","navigator","userAgent","clientWidth","min","clientHeight","originalPosition","scrollX","scrollY","documentWidth","scrollWidth","documentHeight","scrollHeight","bodyStyle","overflowX","innerWidth","overflowY","innerHeight","isAncestorFixed","maxVisibleWidth","maxVisibleHeight","getRegion","outerWidth","outerHeight","getAlignOffset","region","align","V","H","getElFuturePos","elRegion","refNodeRegion","points","targetOffset","p1","p2","diff","isFailX","elFuturePos","isFailY","flip","reg","flipOffset","convertOffset","offsetLen","parseInt","substring","normalizeOffset","doAlign","tgtRegion","isTgtRegionVisible","newOverflowCfg","fail","newElRegion","adjustX","adjustY","newPoints","newOffset","newTargetOffset","isCompleteFailX","_newPoints","_newOffset","_newTargetOffset","isCompleteFailY","isStillFailX","isStillFailY","_newPoints2","size","resizeWidth","resizeHeight","adjustForViewport","alignElement","refNode","targetRegion","isOutOfVisibleRect","tgtPoint","pageX","pageY","clientX","pointInView","getOwnPropertyDescriptors","defineProperties","_objectSpread2","__getOffsetParent","__getVisibleRectForElement","isSimilarValue","val1","val2","int1","int2","abs","getElement","getPoint","point","Align","childrenProps","isRequired","monitorBufferTime","monitorWindowResize","aligned","mounted","prevProps","forceAlign","startMonitorWindowResize","updated","prev","reAlign","$el","sourceRect","lastElement","currentElement","lastPoint","currentPoint","preRect","stopMonitorWindowResize","clonedeep","beforeDestroy","resizeHandler","bufferMonitor","timer","clearTimeout","bufferFn","buffer","addEventListener","remove","activeElement","alignPoint","container","contains","focus","restoreFocus","visible","hiddenClassName","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","maskClosable","popupAlign","popupVisible","defaultPopupVisible","vcTriggerContext","savePopupRef","dialogContext","fireEvents","prevPopupVisible","sPopupVisible","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","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","currTime","getTime","timeToCall","getRequestAnimationFrame","frame","start","timeout","baseSet","path","baseGetTag","getPrototype","isObjectLike","funcProto","objectProto","funcToString","objectCtorString","proto","T","fileToObject","file","lastModified","lastModifiedDate","uid","percent","originFileObj","genPercentAdd","getFileItem","fileList","matchKey","removeFileItem","removed","isImageFileType","isImageUrl","url","thumbUrl","extension","filename","filenameWithoutSuffix","exec","extname","previewImage","Promise","resolve","canvas","ctx","getContext","img","Image","onload","drawWidth","drawHeight","offsetX","offsetY","drawImage","dataURL","toDataURL","src","URL","createObjectURL","store","USE_SYMBOL","freeGlobal","freeSelf","PropsTypes","UploadFile","includes","ShowUploadListInterface","showRemoveIcon","showPreviewIcon","loose","UploadLocale","uploading","removeFile","downloadFile","uploadError","previewFile","UploadProps","defaultFileList","directory","headers","showUploadList","accept","beforeUpload","listType","supportServerRender","customRequest","withCredentials","openFileDialogOnClick","transformFile","UploadListProps","items","progressAttr","showDownloadIcon","START_EVENT_NAME_MAP","transitionstart","transition","WebkitTransition","MozTransition","OTransition","msTransition","animationstart","WebkitAnimation","MozAnimation","OAnimation","msAnimation","END_EVENT_NAME_MAP","transitionend","animationend","startEvents","endEvents","eventListener","removeEventListener","EVENT_NAME_MAP","baseEventName","baseEvents","styleName","detectEvents","TransitionEvents","addStartEventListener","startEvent","removeStartEventListener","addEndEventListener","endEvent","removeEndEventListener","core","version","__e","today","backToToday","ok","month","year","timeSelect","dateSelect","weekSelect","monthSelect","yearSelect","decadeSelect","yearFormat","dateFormat","dayFormat","dateTimeFormat","monthBeforeYear","previousMonth","nextMonth","previousYear","nextYear","previousDecade","nextDecade","previousCentury","nextCentury","isCssAnimationSupported","Event","capitalPrefixes","prefixes","getStyleProperty","fixBrowserByTimeout","transitionDelay","transitionDuration","animationDelay","animationDuration","rcEndAnimTimeout","rcEndListener","clearBrowserBugTimeout","cssAnimation","endCallback","nameIsObj","activeClassName","active","end","nodeClasses","rcAnimTimeout","stop","setTransition","PRESENTED_IMAGE_DEFAULT","xmlns","fillRule","fillOpacity","cx","cy","rx","ry","description","imageStyle","contentLocale","alt","imageNode","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","runtimeLocale","Modal","changeConfirmLocale","newLocale","getConfirmLocale","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","setMomentLocale","moment","LocaleProvider","created","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","ColorPicker","Table","filterTitle","filterConfirm","filterReset","selectAll","selectInvert","sortTitle","expand","collapse","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","gradientId","getStokeList","percentList","strokeColorList","stackPtg","ptg","color","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","baseClone","CLONE_DEEP_FLAG","arrayMap","baseUnset","copyObject","customOmitClone","flatRest","getAllKeysIn","isDeep","baseIsRegExp","baseUnary","nodeIsRegExp","isRegExp","_extends","assign","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","_construct","Parent","Class","_wrapNativeSuper","_cache","Wrapper","formatRegExp","convertFieldsError","errors","field","stringify","isEmptyValue","isNativeStringType","asyncSerialArray","arrLength","original","AsyncValidationError","_Error","subClass","superClass","asyncMap","objArr","_pending","flattenObjArr","firstFields","objArrKeys","objArrLength","total","results","pending","count","asyncParallelArray","complementError","rule","oe","fullField","deepMerge","messages","pattern","email","hex","regexp","date","getMonth","getYear","rules","whitespace","ruleType","range","num","lastIndex","mismatch","type$1","validators","dateObject","newMessages","invalid","Schema","_messages","z","validate","source_","oc","messages$1","series","getValidationMethod","errorFields","doIt","defaultField","addFullfield","schema","suppressWarning","fieldsSchema","fieldSchema","errs","finalErrors","asyncValidator","_errors","complete","messageIndex","register","camel2hyphen","obj2mq","mq","features","feature","isDimension","query","q","valueOf","ceil","shared","copyright","TAG","stat","Iterators","TO_STRING_TAG","DOMIterables","NAME","Collection","LIBRARY","wksExt","$Symbol","g","overArg","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","objValue","webpackPolyfill","deprecate","baseIsTypedArray","nodeIsTypedArray","isTypedArray","arrayFilter","stubArray","nativeGetSymbols","getSymbols","symbol","Uint8Array","arrayBuffer","byteLength","reIsDeepProp","reIsPlainProp","baseToString","toFinite","remainder","reHasUnicode","asciiSize","hasUnicode","unicodeSize","baseFindIndex","baseIteratee","toInteger","predicate","fromIndex","normalViewBox","newViewBox","outline","twotone","getNode","getIcon","AccountBookFill","AlertFill","AlipaySquareFill","AliwangwangFill","AlipayCircleFill","AmazonCircleFill","AndroidFill","AmazonSquareFill","ApiFill","AppstoreFill","AudioFill","AppleFill","BackwardFill","BankFill","BehanceCircleFill","BellFill","BehanceSquareFill","BookFill","BoxPlotFill","BugFill","CalculatorFill","BulbFill","BuildFill","CalendarFill","CameraFill","CarFill","CaretDownFill","CaretLeftFill","CaretRightFill","CarryOutFill","CaretUpFill","CheckCircleFill","CheckSquareFill","ChromeFill","CiCircleFill","ClockCircleFill","CloseCircleFill","CloudFill","CloseSquareFill","CodeSandboxSquareFill","CodeSandboxCircleFill","CodeFill","CompassFill","CodepenCircleFill","CodepenSquareFill","ContactsFill","ControlFill","ContainerFill","CopyFill","CopyrightCircleFill","CreditCardFill","CrownFill","CustomerServiceFill","DashboardFill","DeleteFill","DiffFill","DingtalkCircleFill","DatabaseFill","DingtalkSquareFill","DislikeFill","DollarCircleFill","DownCircleFill","DownSquareFill","DribbbleCircleFill","DribbbleSquareFill","DropboxCircleFill","DropboxSquareFill","EnvironmentFill","EditFill","ExclamationCircleFill","EuroCircleFill","ExperimentFill","EyeInvisibleFill","EyeFill","FacebookFill","FastBackwardFill","FastForwardFill","FileAddFill","FileExcelFill","FileExclamationFill","FileImageFill","FileMarkdownFill","FilePdfFill","FilePptFill","FileTextFill","FileWordFill","FileUnknownFill","FileZipFill","FileFill","FilterFill","FireFill","FlagFill","FolderAddFill","FolderFill","FolderOpenFill","ForwardFill","FrownFill","FundFill","FunnelPlotFill","GiftFill","GithubFill","GitlabFill","GoldenFill","GoogleCircleFill","GooglePlusCircleFill","GooglePlusSquareFill","GoogleSquareFill","HddFill","HeartFill","HighlightFill","HomeFill","HourglassFill","Html5Fill","IdcardFill","IeCircleFill","IeSquareFill","InfoCircleFill","InstagramFill","InsuranceFill","InteractionFill","InterationFill","LayoutFill","LeftCircleFill","LeftSquareFill","LikeFill","LockFill","LinkedinFill","MailFill","MedicineBoxFill","MediumCircleFill","MediumSquareFill","MehFill","MessageFill","MinusCircleFill","MinusSquareFill","MobileFill","MoneyCollectFill","PauseCircleFill","PayCircleFill","NotificationFill","PhoneFill","PictureFill","PieChartFill","PlayCircleFill","PlaySquareFill","PlusCircleFill","PlusSquareFill","PoundCircleFill","PrinterFill","ProfileFill","ProjectFill","PushpinFill","PropertySafetyFill","QqCircleFill","QqSquareFill","QuestionCircleFill","ReadFill","ReconciliationFill","RedEnvelopeFill","RedditCircleFill","RedditSquareFill","RestFill","RightCircleFill","RocketFill","RightSquareFill","SafetyCertificateFill","SaveFill","ScheduleFill","SecurityScanFill","SettingFill","ShopFill","ShoppingFill","SketchCircleFill","SketchSquareFill","SkinFill","SlackCircleFill","SlackSquareFill","SkypeFill","SlidersFill","SmileFill","SnippetsFill","SoundFill","StarFill","StepBackwardFill","StepForwardFill","StopFill","SwitcherFill","TabletFill","TagFill","TagsFill","TaobaoCircleFill","TaobaoSquareFill","ToolFill","ThunderboltFill","TrademarkCircleFill","TwitterCircleFill","TrophyFill","TwitterSquareFill","UnlockFill","UpCircleFill","UpSquareFill","UsbFill","WalletFill","VideoCameraFill","WarningFill","WeiboCircleFill","WechatFill","WindowsFill","YahooFill","WeiboSquareFill","YuqueFill","YoutubeFill","ZhihuSquareFill","ZhihuCircleFill","AccountBookOutline","AlertOutline","AlipayCircleOutline","AliwangwangOutline","AndroidOutline","ApiOutline","AppstoreOutline","AudioOutline","AppleOutline","BackwardOutline","BankOutline","BellOutline","BehanceSquareOutline","BookOutline","BoxPlotOutline","BulbOutline","BugOutline","CalculatorOutline","BuildOutline","CalendarOutline","CameraOutline","CarOutline","CaretDownOutline","CaretLeftOutline","CaretRightOutline","CarryOutOutline","CheckCircleOutline","CaretUpOutline","CheckSquareOutline","ChromeOutline","ClockCircleOutline","CloseCircleOutline","CloudOutline","CloseSquareOutline","CodeOutline","CodepenCircleOutline","CompassOutline","ContactsOutline","ContainerOutline","ControlOutline","CopyOutline","CreditCardOutline","CrownOutline","CustomerServiceOutline","DashboardOutline","DeleteOutline","DiffOutline","DatabaseOutline","DislikeOutline","DownCircleOutline","DownSquareOutline","DribbbleSquareOutline","EnvironmentOutline","EditOutline","ExclamationCircleOutline","ExperimentOutline","EyeInvisibleOutline","EyeOutline","FacebookOutline","FastBackwardOutline","FastForwardOutline","FileAddOutline","FileExcelOutline","FileExclamationOutline","FileImageOutline","FileMarkdownOutline","FilePptOutline","FileTextOutline","FilePdfOutline","FileZipOutline","FileOutline","FilterOutline","FileWordOutline","FireOutline","FileUnknownOutline","FlagOutline","FolderAddOutline","FolderOutline","FolderOpenOutline","ForwardOutline","FrownOutline","FundOutline","FunnelPlotOutline","GiftOutline","GithubOutline","GitlabOutline","HeartOutline","HddOutline","HighlightOutline","HomeOutline","HourglassOutline","Html5Outline","IdcardOutline","InfoCircleOutline","InstagramOutline","InsuranceOutline","InteractionOutline","InterationOutline","LayoutOutline","LeftCircleOutline","LeftSquareOutline","LikeOutline","LinkedinOutline","LockOutline","MedicineBoxOutline","MehOutline","MailOutline","MessageOutline","MinusCircleOutline","MinusSquareOutline","MobileOutline","MoneyCollectOutline","PauseCircleOutline","PayCircleOutline","NotificationOutline","PhoneOutline","PictureOutline","PieChartOutline","PlaySquareOutline","PlayCircleOutline","PlusCircleOutline","PrinterOutline","PlusSquareOutline","ProfileOutline","ProjectOutline","PushpinOutline","PropertySafetyOutline","QuestionCircleOutline","ReadOutline","ReconciliationOutline","RedEnvelopeOutline","RestOutline","RightCircleOutline","RocketOutline","RightSquareOutline","SafetyCertificateOutline","ScheduleOutline","SaveOutline","SecurityScanOutline","SettingOutline","ShoppingOutline","SkinOutline","SkypeOutline","SlackSquareOutline","SlidersOutline","SmileOutline","SnippetsOutline","SoundOutline","StarOutline","StepBackwardOutline","StepForwardOutline","StopOutline","SwitcherOutline","TagOutline","TabletOutline","ShopOutline","TagsOutline","TaobaoCircleOutline","ToolOutline","ThunderboltOutline","TrophyOutline","UnlockOutline","UpCircleOutline","UpSquareOutline","UsbOutline","VideoCameraOutline","WalletOutline","WarningOutline","WechatOutline","WeiboCircleOutline","WindowsOutline","YahooOutline","WeiboSquareOutline","YuqueOutline","YoutubeOutline","AlibabaOutline","AlignCenterOutline","AlignLeftOutline","AlignRightOutline","AlipayOutline","AliyunOutline","AmazonOutline","AntCloudOutline","ApartmentOutline","AntDesignOutline","AreaChartOutline","ArrowLeftOutline","ArrowDownOutline","ArrowUpOutline","ArrowsAltOutline","ArrowRightOutline","AuditOutline","BarChartOutline","BarcodeOutline","BarsOutline","BgColorsOutline","BehanceOutline","BlockOutline","BoldOutline","BorderBottomOutline","BorderLeftOutline","BorderOuterOutline","BorderInnerOutline","BorderRightOutline","BorderHorizontalOutline","BorderTopOutline","BorderVerticleOutline","BorderOutline","BranchesOutline","CheckOutline","CiOutline","CloseOutline","CloudDownloadOutline","CloudServerOutline","CloudSyncOutline","CloudUploadOutline","ClusterOutline","CodepenOutline","CodeSandboxOutline","ColumHeightOutline","ColumnWidthOutline","ColumnHeightOutline","CoffeeOutline","CopyrightOutline","DashOutline","DeploymentUnitOutline","DesktopOutline","DingdingOutline","DisconnectOutline","DollarOutline","DoubleRightOutline","DotChartOutline","DoubleLeftOutline","DownloadOutline","DribbbleOutline","DropboxOutline","EllipsisOutline","EnterOutline","EuroOutline","ExceptionOutline","ExclamationOutline","ExportOutline","FallOutline","FileDoneOutline","FileSyncOutline","FileProtectOutline","FileSearchOutline","FileJpgOutline","FontColorsOutline","FontSizeOutline","ForkOutline","FormOutline","FullscreenExitOutline","FullscreenOutline","GatewayOutline","DownOutline","DragOutline","GlobalOutline","GooglePlusOutline","GoogleOutline","HeatMapOutline","GoldOutline","HistoryOutline","IeOutline","InboxOutline","ImportOutline","InfoOutline","ItalicOutline","IssuesCloseOutline","KeyOutline","LaptopOutline","LeftOutline","LinkOutline","LineChartOutline","LineHeightOutline","LineOutline","Loading3QuartersOutline","LoadingOutline","LoginOutline","LogoutOutline","ManOutline","MediumOutline","MediumWorkmarkOutline","MenuUnfoldOutline","MenuFoldOutline","MenuOutline","MinusOutline","MonitorOutline","MoreOutline","OrderedListOutline","NumberOutline","PauseOutline","PercentageOutline","PaperClipOutline","PicCenterOutline","PicLeftOutline","PlusOutline","PicRightOutline","PoundOutline","PoweroffOutline","PullRequestOutline","QqOutline","QuestionOutline","RadarChartOutline","QrcodeOutline","RadiusBottomleftOutline","RadiusBottomrightOutline","RadiusUpleftOutline","RadiusUprightOutline","RadiusSettingOutline","RedditOutline","RedoOutline","ReloadOutline","RetweetOutline","RightOutline","RiseOutline","RollbackOutline","SafetyOutline","RobotOutline","SearchOutline","ScanOutline","ScissorOutline","SelectOutline","ShakeOutline","ShareAltOutline","ShoppingCartOutline","ShrinkOutline","SlackOutline","SmallDashOutline","SolutionOutline","SketchOutline","SortDescendingOutline","SortAscendingOutline","StockOutline","SwapLeftOutline","SwapRightOutline","StrikethroughOutline","SwapOutline","SyncOutline","TableOutline","TeamOutline","TaobaoOutline","ToTopOutline","TrademarkOutline","TransactionOutline","TwitterOutline","UnderlineOutline","UndoOutline","UnorderedListOutline","UpOutline","UploadOutline","UserAddOutline","UsergroupAddOutline","UserOutline","UserDeleteOutline","UsergroupDeleteOutline","VerticalAlignBottomOutline","VerticalAlignMiddleOutline","VerticalAlignTopOutline","VerticalRightOutline","VerticalLeftOutline","WifiOutline","ZhihuOutline","WeiboOutline","WomanOutline","ZoomInOutline","AccountBookTwoTone","ZoomOutOutline","AlertTwoTone","ApiTwoTone","AppstoreTwoTone","BankTwoTone","AudioTwoTone","BellTwoTone","BookTwoTone","BoxPlotTwoTone","BugTwoTone","BulbTwoTone","CalculatorTwoTone","BuildTwoTone","CalendarTwoTone","CameraTwoTone","CarTwoTone","CarryOutTwoTone","CheckCircleTwoTone","CheckSquareTwoTone","ClockCircleTwoTone","CloseCircleTwoTone","CloudTwoTone","CloseSquareTwoTone","CodeTwoTone","CompassTwoTone","ContactsTwoTone","ContainerTwoTone","ControlTwoTone","CopyTwoTone","CreditCardTwoTone","CrownTwoTone","CustomerServiceTwoTone","DashboardTwoTone","DeleteTwoTone","DiffTwoTone","DatabaseTwoTone","DislikeTwoTone","DownCircleTwoTone","DownSquareTwoTone","EnvironmentTwoTone","EditTwoTone","ExclamationCircleTwoTone","ExperimentTwoTone","EyeInvisibleTwoTone","EyeTwoTone","FileAddTwoTone","FileExclamationTwoTone","FileImageTwoTone","FileExcelTwoTone","FileMarkdownTwoTone","FilePdfTwoTone","FilePptTwoTone","FileTextTwoTone","FileUnknownTwoTone","FileZipTwoTone","FileWordTwoTone","FileTwoTone","FilterTwoTone","FireTwoTone","FolderAddTwoTone","FlagTwoTone","FolderTwoTone","FolderOpenTwoTone","FrownTwoTone","FundTwoTone","FunnelPlotTwoTone","GiftTwoTone","HddTwoTone","HeartTwoTone","HighlightTwoTone","HomeTwoTone","HourglassTwoTone","Html5TwoTone","IdcardTwoTone","InfoCircleTwoTone","InsuranceTwoTone","InteractionTwoTone","InterationTwoTone","LayoutTwoTone","LeftCircleTwoTone","LeftSquareTwoTone","LikeTwoTone","LockTwoTone","MailTwoTone","MedicineBoxTwoTone","MehTwoTone","MessageTwoTone","MinusCircleTwoTone","MinusSquareTwoTone","MobileTwoTone","PauseCircleTwoTone","MoneyCollectTwoTone","NotificationTwoTone","PhoneTwoTone","PictureTwoTone","PlayCircleTwoTone","PlaySquareTwoTone","PieChartTwoTone","PlusCircleTwoTone","PlusSquareTwoTone","PoundCircleTwoTone","PrinterTwoTone","ProfileTwoTone","ProjectTwoTone","PushpinTwoTone","PropertySafetyTwoTone","QuestionCircleTwoTone","ReconciliationTwoTone","RedEnvelopeTwoTone","RestTwoTone","RightCircleTwoTone","RocketTwoTone","RightSquareTwoTone","SafetyCertificateTwoTone","SaveTwoTone","ScheduleTwoTone","SecurityScanTwoTone","SettingTwoTone","ShopTwoTone","ShoppingTwoTone","SkinTwoTone","SlidersTwoTone","SmileTwoTone","SnippetsTwoTone","SoundTwoTone","StarTwoTone","StopTwoTone","SwitcherTwoTone","TabletTwoTone","TagTwoTone","TagsTwoTone","ToolTwoTone","TrademarkCircleTwoTone","UnlockTwoTone","TrophyTwoTone","UpCircleTwoTone","ThunderboltTwoTone","UpSquareTwoTone","UsbTwoTone","VideoCameraTwoTone","WalletTwoTone","WarningTwoTone","CiTwoTone","CopyrightTwoTone","DollarTwoTone","EuroTwoTone","GoldTwoTone","CanlendarTwoTone","baseMerge","createAssigner","srcIndex","getBody","responseText","XMLHttpRequest","onprogress","formData","FormData","append","onerror","getError","open","setRequestHeader","send","acceptedFiles","acceptedFilesArray","fileName","mimeType","baseMimeType","validType","traverseFileTree","files","isAccepted","_traverseFileTree","isFile","fullPath","webkitRelativePath","isDirectory","dirReader","createReader","sequence","readEntries","entryList","loopFiles","entryItem","webkitGetAsEntry","upLoadPropTypes","componentTag","AjaxUploader","reqs","getUid","_isMounted","uploadFiles","reset","fileInputRef","onKeyDown","_file","attrAccept","partition","successFiles","errorFiles","postFiles","post","before","processedFile","processedFileType","originFile","request","defaultRequest","transformedFile","requestOption","Tag","keydown","drop","dragover","tagProps","webkitdirectory","IFRAME_STYLE","opacity","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","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","isBinary","MediaQueryDispatch","iteratee","symbolProto","symbolToString","flatten","overRest","setToString","otherArgs","baseSetToString","shortOut","baseIsEqualDeep","baseIsEqual","SetCache","arraySome","cacheHas","equalFunc","isPartial","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","setCacheAdd","setCacheHas","cache","srcValue","baseHasIn","hasPath","hasFunc","fromRight","nested","baseRepeat","castSlice","stringSize","stringToArray","nativeCeil","chars","charsLength","baseFor","createBaseFor","wrapCallback","ne","_EventObject2","_ret","useCapture","capture","attachEvent","detachEvent","_EventObject","__importDefault","mod","generate_1","presetPrimaryColors","red","volcano","orange","gold","yellow","lime","green","cyan","blue","geekblue","purple","magenta","grey","presetPalettes","primary","isMobile","mobileRE","tabletRE","opts","ua","tablet","featureDetect","maxTouchPoints","arrA","arrB","createFind","baseHas","createPadding","strLength","matches","selector","debounce","baseUniq","basePick","FileReader","Blob","previewDataUrl","handlePreview","preview","handleDownload","download","handleClose","thumbnail","href","rel","loadingProgress","infoUploadingClass","linkProps","removeIcon","downloadIcon","downloadOrDelete","listItemNameClass","previewIcon","actions","statusText","iconAndPreview","dom","listContainerNameClass","listClassNames","animationDirection","transitionGroupProps","createAggregator","$Object","desc","DESCRIPTORS","getKeys","gOPS","pIE","toObject","$assign","A","K","aLen","isEnum","toLength","toAbsoluteIndex","IS_INCLUDES","$this","TO_STRING","charCodeAt","ObjectProto","addToUnscopables","step","_k","Arguments","META","KEY","$fails","wks","wksDefine","enumKeys","_create","gOPNExt","$GOPD","$GOPS","$DP","gOPD","gOPN","$JSON","_stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","D","protoDesc","wrap","$defineProperty","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","FAILS_ON_PRIMITIVES","replacer","$replacer","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","meta","NEED","fastKey","getWeak","onFreeze","windowNames","getWindowNames","nativeObjectToString","isOwn","unmasked","isArrayIter","createProperty","getIterFn","iter","arrayLike","mapfn","mapping","iterFn","ArrayProto","SAFE_CLOSING","riter","skipClosing","safe","isIterable","getIterator","getNanoSeconds","hrtime","loadTime","moduleLoadTime","nodeLoadTime","upTime","performance","hr","uptime","_EventBaseObject2","_objectAssign2","commonProps","isNullOrUndefined","eventNormalizers","fix","nativeEvent","charCode","keyCode","metaKey","ctrlKey","deltaX","deltaY","delta","wheelDelta","axis","wheelDeltaY","wheelDeltaX","detail","HORIZONTAL_AXIS","VERTICAL_AXIS","eventDoc","button","scrollLeft","scrollTop","fromElement","toElement","retTrue","retFalse","DomEventObject","isNative","cancelBubble","isDefaultPrevented","defaultPrevented","getPreventDefault","returnValue","fixFns","normalizer","srcElement","fixFn","EventBaseObjectProto","returnFalse","returnTrue","EventBaseObject","currentTarget","isEventObject","isPropagationStopped","isImmediatePropagationStopped","stopImmediatePropagation","halt","immediate","propIsEnumerable","test1","test2","fromCharCode","test3","letter","shouldUseNative","tinycolor2_1","getHue","hsv","light","hue","getSaturation","saturation","patterns","pColor","toHsv","colorString","toHexString","trimLeft","trimRight","tinyCounter","mathRound","mathMin","mathMax","mathRandom","tinycolor","rgb","named","matchers","rgba","hsl","hsla","hsva","hex8","parseIntFromHex","convertHexToDecimal","hex6","hex4","hex3","stringInputToObject","isValidCSSUnit","bound01","substr","convertToPercentage","hsvToRgb","hue2rgb","hslToRgb","boundAlpha","inputToRGB","_originalInput","_r","_g","_roundA","_format","_gradientType","gradientType","_ok","_tc_id","rgbToHsl","rgbToHsv","rgbToHex","allow3Char","pad2","rgbaToArgbHex","convertDecimalToHex","desaturate","amount","toHsl","clamp01","saturate","greyscale","lighten","brighten","toRgb","darken","complement","triad","tetrad","splitcomplement","analogous","slices","part","monochromatic","modification","isDark","getBrightness","isLight","isValid","getOriginalInput","getFormat","getAlpha","getLuminance","RsRGB","GsRGB","BsRGB","pow","setAlpha","toHsvString","toHslString","toHex","toHex8","allow4Char","rgbaToHex","toHex8String","toRgbString","toPercentageRgb","toPercentageRgbString","toName","hexNames","toFilter","secondColor","hex8String","secondHex8String","formatSet","formattedString","hasAlpha","_applyModification","_applyCombination","fromRatio","newColor","equals","color1","color2","rgb1","rgb2","readability","c1","c2","isReadable","wcag2","wcag2Parms","parms","validateWCAG2Parms","mostReadable","baseColor","colorList","includeFallbackColors","bestColor","bestScore","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","goldenrod","gray","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","limegreen","linen","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellowgreen","flipped","isOnePointZero","processPercent","isPercentage","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","addedNodes","removedNodes","previousSibling","nextSibling","attributeName","attributeNamespace","oldValue","L","nodeValue","pop","childNodes","u","M","namespaceURI","I","mo_id","J","_period","attributeFilter","attributeOldValue","characterDataOldValue","takeRecords","assocIndexOf","pairs","LARGE_ARRAY_SIZE","isMasked","reIsHostCtor","reIsNative","coreJsData","maskSrcKey","Hash","hashClear","hashDelete","hashGet","hashHas","hashSet","getMapData","typedArrayTags","nativeKeys","nativeKeysIn","isProto","resIndex","cloneDataView","cloneRegExp","cloneSymbol","cloneTypedArray","dataView","reFlags","symbolValueOf","objectCreate","baseIsMap","nodeIsMap","baseIsSet","nodeIsSet","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","initialState","partial","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","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","nonce","borderColor","onTransitionStart","onTransitionEnd","animationStart","resetEffect","tagName","animationStartId","htmlType","ghost","rxTwoCNChar","isTwoCNChar","buttonTypes","sizeMap","large","small","sLoading","hasTwoCNChar","autoInsertSpace","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","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","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","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","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","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","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","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","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","getMousePosition","zoom","visualViewport","getTouchPosition","getHandleCenterPosition","coords","ensureValueInRange","ensureValuePrecision","closestPoint","stepString","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","HeaderRow","HeaderCell","cell","rowProps","customStyle","cellProps","customProps","customHeaderCell","headerCellProps","textAlign","ellipsis","getRowHeight","fixedColumnsHeadRowsHeight","headerHeight","getHeaderRows","cellIsLast","expander","sComponents","renderExpandIndentCell","HeaderWrapper","isInvalidRenderCellText","record","indent","indentSize","onCellClick","BodyCell","customRender","tdProps","customCell","indentText","cellClassName","TableRow","customRow","hasExpandIcon","hovered","renderExpandIconCell","expandedRow","isAnyColumnsFixed","ancestorKeys","expandIconColumnIndex","expandRowByClick","saveRowRef","rowRef","onRowClick","rowPropFunc","onRowDoubleClick","setExpandedRowHeight","expandedRowsHeight","setRowHeight","fixedColumnsBodyRowsHeight","BodyRow","TableCell","customClass","customClassName","rowClassName","rowPropEvents","bodyRowProps","currentHoverKey","expandedRowKeys","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","_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","Store","createStore","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","getCheckState","selectionDirty","checkSelection","byDefaultChecked","getIndeterminateState","someCheckedNotByDefaultChecked","someCheckedByDefaultChecked","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","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","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","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","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","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","antd","locales","webpackContext","webpackContextResolve","code","weekFormat","zh_CN","ta_IN","datePickerLocale"],"mappings":"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","file":"antd-with-locales.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__18__) {\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 = 547);\n","import isPlainObject from 'lodash/isPlainObject';\n\nconst ObjProto = Object.prototype;\nconst toString = ObjProto.toString;\nexport const hasOwn = ObjProto.hasOwnProperty;\n\nconst FN_MATCH_REGEXP = /^\\s*function (\\w+)/;\n\n// https://github.com/vuejs/vue/blob/dev/src/core/util/props.js#L159\nexport const getType = fn => {\n const type = fn !== null && fn !== undefined ? (fn.type ? fn.type : fn) : null;\n const match = type && type.toString().match(FN_MATCH_REGEXP);\n return match && match[1];\n};\n\nexport const getNativeType = value => {\n if (value === null || value === undefined) return null;\n const match = value.constructor.toString().match(FN_MATCH_REGEXP);\n return match && match[1];\n};\n\n/**\n * No-op function\n */\nexport const noop = () => {};\n\n/**\n * Checks for a own property in an object\n *\n * @param {object} obj - Object\n * @param {string} prop - Property to check\n */\nexport const has = (obj, prop) => hasOwn.call(obj, prop);\n\n/**\n * Determines whether the passed value is an integer. Uses `Number.isInteger` if available\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger\n * @param {*} value - The value to be tested for being an integer.\n * @returns {boolean}\n */\nexport const isInteger =\n Number.isInteger ||\n function(value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n };\n\n/**\n * Determines whether the passed value is an Array.\n *\n * @param {*} value - The value to be tested for being an array.\n * @returns {boolean}\n */\nexport const isArray =\n Array.isArray ||\n function(value) {\n return toString.call(value) === '[object Array]';\n };\n\n/**\n * Checks if a value is a function\n *\n * @param {any} value - Value to check\n * @returns {boolean}\n */\nexport const isFunction = value => toString.call(value) === '[object Function]';\n\n/**\n * Adds a `def` method to the object returning a new object with passed in argument as `default` property\n *\n * @param {object} type - Object to enhance\n */\nexport const withDefault = function(type) {\n Object.defineProperty(type, 'def', {\n value(def) {\n if (def === undefined && this.default === undefined) {\n this.default = undefined;\n return this;\n }\n if (!isFunction(def) && !validateType(this, def)) {\n warn(`${this._vueTypes_name} - invalid default value: \"${def}\"`, def);\n return this;\n }\n this.default =\n isArray(def) || isPlainObject(def)\n ? function() {\n return def;\n }\n : def;\n\n return this;\n },\n enumerable: false,\n writable: false,\n });\n};\n\n/**\n * Adds a `isRequired` getter returning a new object with `required: true` key-value\n *\n * @param {object} type - Object to enhance\n */\nexport const withRequired = function(type) {\n Object.defineProperty(type, 'isRequired', {\n get() {\n this.required = true;\n return this;\n },\n enumerable: false,\n });\n};\n\n/**\n * Adds `isRequired` and `def` modifiers to an object\n *\n * @param {string} name - Type internal name\n * @param {object} obj - Object to enhance\n * @returns {object}\n */\nexport const toType = (name, obj) => {\n Object.defineProperty(obj, '_vueTypes_name', {\n enumerable: false,\n writable: false,\n value: name,\n });\n withRequired(obj);\n withDefault(obj);\n\n if (isFunction(obj.validator)) {\n obj.validator = obj.validator.bind(obj);\n }\n return obj;\n};\n\n/**\n * Validates a given value against a prop type object\n *\n * @param {Object|*} type - Type to use for validation. Either a type object or a constructor\n * @param {*} value - Value to check\n * @param {boolean} silent - Silence warnings\n * @returns {boolean}\n */\nexport const validateType = (type, value, silent = false) => {\n let typeToCheck = type;\n let valid = true;\n let expectedType;\n if (!isPlainObject(type)) {\n typeToCheck = { type };\n }\n const namePrefix = typeToCheck._vueTypes_name ? typeToCheck._vueTypes_name + ' - ' : '';\n\n if (hasOwn.call(typeToCheck, 'type') && typeToCheck.type !== null) {\n if (isArray(typeToCheck.type)) {\n valid = typeToCheck.type.some(type => validateType(type, value, true));\n expectedType = typeToCheck.type.map(type => getType(type)).join(' or ');\n } else {\n expectedType = getType(typeToCheck);\n\n if (expectedType === 'Array') {\n valid = isArray(value);\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (\n expectedType === 'String' ||\n expectedType === 'Number' ||\n expectedType === 'Boolean' ||\n expectedType === 'Function'\n ) {\n valid = getNativeType(value) === expectedType;\n } else {\n valid = value instanceof typeToCheck.type;\n }\n }\n }\n\n if (!valid) {\n silent === false && warn(`${namePrefix}value \"${value}\" should be of type \"${expectedType}\"`);\n return false;\n }\n\n if (hasOwn.call(typeToCheck, 'validator') && isFunction(typeToCheck.validator)) {\n valid = typeToCheck.validator(value);\n if (!valid && silent === false) warn(`${namePrefix}custom validation failed`);\n return valid;\n }\n return valid;\n};\n\nlet warn = noop;\n\nif (process.env.NODE_ENV !== 'production') {\n const hasConsole = typeof console !== 'undefined';\n warn = msg => {\n if (hasConsole) {\n console.warn(`[VueTypes warn]: ${msg}`);\n }\n };\n}\n\nexport { warn };\n","import isPlainObject from 'lodash/isPlainObject';\nimport { toType, getType, isFunction, validateType, isInteger, isArray, warn } from './utils';\n\nconst VuePropTypes = {\n get any() {\n return toType('any', {\n type: null,\n });\n },\n\n get func() {\n return toType('function', {\n type: Function,\n }).def(currentDefaults.func);\n },\n\n get bool() {\n return toType('boolean', {\n type: Boolean,\n }).def(currentDefaults.bool);\n },\n\n get string() {\n return toType('string', {\n type: String,\n }).def(currentDefaults.string);\n },\n\n get number() {\n return toType('number', {\n type: Number,\n }).def(currentDefaults.number);\n },\n\n get array() {\n return toType('array', {\n type: Array,\n }).def(currentDefaults.array);\n },\n\n get object() {\n return toType('object', {\n type: Object,\n }).def(currentDefaults.object);\n },\n\n get integer() {\n return toType('integer', {\n type: Number,\n validator(value) {\n return isInteger(value);\n },\n }).def(currentDefaults.integer);\n },\n\n get symbol() {\n return toType('symbol', {\n type: null,\n validator(value) {\n return typeof value === 'symbol';\n },\n });\n },\n\n custom(validatorFn, warnMsg = 'custom validation failed') {\n if (typeof validatorFn !== 'function') {\n throw new TypeError('[VueTypes error]: You must provide a function as argument');\n }\n\n return toType(validatorFn.name || '<<anonymous function>>', {\n validator(...args) {\n const valid = validatorFn(...args);\n if (!valid) warn(`${this._vueTypes_name} - ${warnMsg}`);\n return valid;\n },\n });\n },\n\n oneOf(arr) {\n if (!isArray(arr)) {\n throw new TypeError('[VueTypes error]: You must provide an array as argument');\n }\n const msg = `oneOf - value should be one of \"${arr.join('\", \"')}\"`;\n const allowedTypes = arr.reduce((ret, v) => {\n if (v !== null && v !== undefined) {\n ret.indexOf(v.constructor) === -1 && ret.push(v.constructor);\n }\n return ret;\n }, []);\n\n return toType('oneOf', {\n type: allowedTypes.length > 0 ? allowedTypes : null,\n validator(value) {\n const valid = arr.indexOf(value) !== -1;\n if (!valid) warn(msg);\n return valid;\n },\n });\n },\n\n instanceOf(instanceConstructor) {\n return toType('instanceOf', {\n type: instanceConstructor,\n });\n },\n\n oneOfType(arr) {\n if (!isArray(arr)) {\n throw new TypeError('[VueTypes error]: You must provide an array as argument');\n }\n\n let hasCustomValidators = false;\n\n const nativeChecks = arr.reduce((ret, type) => {\n if (isPlainObject(type)) {\n if (type._vueTypes_name === 'oneOf') {\n return ret.concat(type.type || []);\n }\n if (type.type && !isFunction(type.validator)) {\n if (isArray(type.type)) return ret.concat(type.type);\n ret.push(type.type);\n } else if (isFunction(type.validator)) {\n hasCustomValidators = true;\n }\n return ret;\n }\n ret.push(type);\n return ret;\n }, []);\n\n if (!hasCustomValidators) {\n // we got just native objects (ie: Array, Object)\n // delegate to Vue native prop check\n return toType('oneOfType', {\n type: nativeChecks,\n }).def(undefined);\n }\n\n const typesStr = arr\n .map(type => {\n if (type && isArray(type.type)) {\n return type.type.map(getType);\n }\n return getType(type);\n })\n .reduce((ret, type) => ret.concat(isArray(type) ? type : [type]), [])\n .join('\", \"');\n\n return this.custom(function oneOfType(value) {\n const valid = arr.some(type => {\n if (type._vueTypes_name === 'oneOf') {\n return type.type ? validateType(type.type, value, true) : true;\n }\n return validateType(type, value, true);\n });\n if (!valid) warn(`oneOfType - value type should be one of \"${typesStr}\"`);\n return valid;\n }).def(undefined);\n },\n\n arrayOf(type) {\n return toType('arrayOf', {\n type: Array,\n validator(values) {\n const valid = values.every(value => validateType(type, value));\n if (!valid) warn(`arrayOf - value must be an array of \"${getType(type)}\"`);\n return valid;\n },\n });\n },\n\n objectOf(type) {\n return toType('objectOf', {\n type: Object,\n validator(obj) {\n const valid = Object.keys(obj).every(key => validateType(type, obj[key]));\n if (!valid) warn(`objectOf - value must be an object of \"${getType(type)}\"`);\n return valid;\n },\n });\n },\n\n shape(obj) {\n const keys = Object.keys(obj);\n const requiredKeys = keys.filter(key => obj[key] && obj[key].required === true);\n\n const type = toType('shape', {\n type: Object,\n validator(value) {\n if (!isPlainObject(value)) {\n return false;\n }\n const valueKeys = Object.keys(value);\n\n // check for required keys (if any)\n if (requiredKeys.length > 0 && requiredKeys.some(req => valueKeys.indexOf(req) === -1)) {\n warn(\n `shape - at least one of required properties \"${requiredKeys.join(\n '\", \"',\n )}\" is not present`,\n );\n return false;\n }\n\n return valueKeys.every(key => {\n if (keys.indexOf(key) === -1) {\n if (this._vueTypes_isLoose === true) return true;\n warn(`shape - object is missing \"${key}\" property`);\n return false;\n }\n const type = obj[key];\n return validateType(type, value[key]);\n });\n },\n });\n\n Object.defineProperty(type, '_vueTypes_isLoose', {\n enumerable: false,\n writable: true,\n value: false,\n });\n\n Object.defineProperty(type, 'loose', {\n get() {\n this._vueTypes_isLoose = true;\n return this;\n },\n enumerable: false,\n });\n\n return type;\n },\n};\n\nconst typeDefaults = () => ({\n func: undefined,\n bool: undefined,\n string: undefined,\n number: undefined,\n array: undefined,\n object: undefined,\n integer: undefined,\n});\n\nlet currentDefaults = typeDefaults();\n\nObject.defineProperty(VuePropTypes, 'sensibleDefaults', {\n enumerable: false,\n set(value) {\n if (value === false) {\n currentDefaults = {};\n } else if (value === true) {\n currentDefaults = typeDefaults();\n } else if (isPlainObject(value)) {\n currentDefaults = value;\n }\n },\n get() {\n return currentDefaults;\n },\n});\n\nexport default VuePropTypes;\n","import isPlainObject from 'lodash/isPlainObject';\nimport classNames from 'classnames';\nfunction getType(fn) {\n const match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : '';\n}\n\nconst camelizeRE = /-(\\w)/g;\nconst camelize = str => {\n return str.replace(camelizeRE, (_, c) => (c ? c.toUpperCase() : ''));\n};\nconst parseStyleText = (cssText = '', camel) => {\n const res = {};\n const listDelimiter = /;(?![^(]*\\))/g;\n const propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function(item) {\n if (item) {\n const tmp = item.split(propertyDelimiter);\n if (tmp.length > 1) {\n const k = camel ? camelize(tmp[0].trim()) : tmp[0].trim();\n res[k] = tmp[1].trim();\n }\n }\n });\n return res;\n};\n\nconst hasProp = (instance, prop) => {\n const $options = instance.$options || {};\n const propsData = $options.propsData || {};\n return prop in propsData;\n};\nconst slotHasProp = (slot, prop) => {\n const $options = slot.componentOptions || {};\n const propsData = $options.propsData || {};\n return prop in propsData;\n};\nconst filterProps = (props, propsData = {}) => {\n const res = {};\n Object.keys(props).forEach(k => {\n if (k in propsData || props[k] !== undefined) {\n res[k] = props[k];\n }\n });\n return res;\n};\n\nconst getScopedSlots = ele => {\n return (ele.data && ele.data.scopedSlots) || {};\n};\n\nconst getSlots = ele => {\n let componentOptions = ele.componentOptions || {};\n if (ele.$vnode) {\n componentOptions = ele.$vnode.componentOptions || {};\n }\n const children = ele.children || componentOptions.children || [];\n const slots = {};\n children.forEach(child => {\n if (!isEmptyElement(child)) {\n const name = (child.data && child.data.slot) || 'default';\n slots[name] = slots[name] || [];\n slots[name].push(child);\n }\n });\n return { ...slots, ...getScopedSlots(ele) };\n};\nconst getSlot = (self, name = 'default', options = {}) => {\n return (\n (self.$scopedSlots && self.$scopedSlots[name] && self.$scopedSlots[name](options)) ||\n self.$slots[name] ||\n []\n );\n};\n\nconst getAllChildren = ele => {\n let componentOptions = ele.componentOptions || {};\n if (ele.$vnode) {\n componentOptions = ele.$vnode.componentOptions || {};\n }\n return ele.children || componentOptions.children || [];\n};\nconst getSlotOptions = ele => {\n if (ele.fnOptions) {\n // 函数式组件\n return ele.fnOptions;\n }\n let componentOptions = ele.componentOptions;\n if (ele.$vnode) {\n componentOptions = ele.$vnode.componentOptions;\n }\n return componentOptions ? componentOptions.Ctor.options || {} : {};\n};\nconst getOptionProps = instance => {\n if (instance.componentOptions) {\n const componentOptions = instance.componentOptions;\n const { propsData = {}, Ctor = {} } = componentOptions;\n const props = (Ctor.options || {}).props || {};\n const res = {};\n for (const [k, v] of Object.entries(props)) {\n const def = v.default;\n if (def !== undefined) {\n res[k] =\n typeof def === 'function' && getType(v.type) !== 'Function' ? def.call(instance) : def;\n }\n }\n return { ...res, ...propsData };\n }\n const { $options = {}, $props = {} } = instance;\n return filterProps($props, $options.propsData);\n};\n\nconst getComponentFromProp = (instance, prop, options = instance, execute = true) => {\n if (instance.$createElement) {\n const h = instance.$createElement;\n const temp = instance[prop];\n if (temp !== undefined) {\n return typeof temp === 'function' && execute ? temp(h, options) : temp;\n }\n return (\n (instance.$scopedSlots[prop] && execute && instance.$scopedSlots[prop](options)) ||\n instance.$scopedSlots[prop] ||\n instance.$slots[prop] ||\n undefined\n );\n } else {\n const h = instance.context.$createElement;\n const temp = getPropsData(instance)[prop];\n if (temp !== undefined) {\n return typeof temp === 'function' && execute ? temp(h, options) : temp;\n }\n const slotScope = getScopedSlots(instance)[prop];\n if (slotScope !== undefined) {\n return typeof slotScope === 'function' && execute ? slotScope(h, options) : slotScope;\n }\n const slotsProp = [];\n const componentOptions = instance.componentOptions || {};\n (componentOptions.children || []).forEach(child => {\n if (child.data && child.data.slot === prop) {\n if (child.data.attrs) {\n delete child.data.attrs.slot;\n }\n if (child.tag === 'template') {\n slotsProp.push(child.children);\n } else {\n slotsProp.push(child);\n }\n }\n });\n return slotsProp.length ? slotsProp : undefined;\n }\n};\n\nconst getAllProps = ele => {\n let data = ele.data || {};\n let componentOptions = ele.componentOptions || {};\n if (ele.$vnode) {\n data = ele.$vnode.data || {};\n componentOptions = ele.$vnode.componentOptions || {};\n }\n return { ...data.props, ...data.attrs, ...componentOptions.propsData };\n};\n\nconst getPropsData = ele => {\n let componentOptions = ele.componentOptions;\n if (ele.$vnode) {\n componentOptions = ele.$vnode.componentOptions;\n }\n return componentOptions ? componentOptions.propsData || {} : {};\n};\nconst getValueByProp = (ele, prop) => {\n return getPropsData(ele)[prop];\n};\n\nconst getAttrs = ele => {\n let data = ele.data;\n if (ele.$vnode) {\n data = ele.$vnode.data;\n }\n return data ? data.attrs || {} : {};\n};\n\nconst getKey = ele => {\n let key = ele.key;\n if (ele.$vnode) {\n key = ele.$vnode.key;\n }\n return key;\n};\n\nexport function getEvents(child) {\n let events = {};\n if (child.componentOptions && child.componentOptions.listeners) {\n events = child.componentOptions.listeners;\n } else if (child.data && child.data.on) {\n events = child.data.on;\n }\n return { ...events };\n}\n\n// 获取 xxx.native 或者 原生标签 事件\nexport function getDataEvents(child) {\n let events = {};\n if (child.data && child.data.on) {\n events = child.data.on;\n }\n return { ...events };\n}\n\n// use getListeners instead this.$listeners\n// https://github.com/vueComponent/ant-design-vue/issues/1705\nexport function getListeners(context) {\n return (context.$vnode ? context.$vnode.componentOptions.listeners : context.$listeners) || {};\n}\nexport function getClass(ele) {\n let data = {};\n if (ele.data) {\n data = ele.data;\n } else if (ele.$vnode && ele.$vnode.data) {\n data = ele.$vnode.data;\n }\n const tempCls = data.class || {};\n const staticClass = data.staticClass;\n let cls = {};\n staticClass &&\n staticClass.split(' ').forEach(c => {\n cls[c.trim()] = true;\n });\n if (typeof tempCls === 'string') {\n tempCls.split(' ').forEach(c => {\n cls[c.trim()] = true;\n });\n } else if (Array.isArray(tempCls)) {\n classNames(tempCls)\n .split(' ')\n .forEach(c => {\n cls[c.trim()] = true;\n });\n } else {\n cls = { ...cls, ...tempCls };\n }\n return cls;\n}\nexport function getStyle(ele, camel) {\n let data = {};\n if (ele.data) {\n data = ele.data;\n } else if (ele.$vnode && ele.$vnode.data) {\n data = ele.$vnode.data;\n }\n let style = data.style || data.staticStyle;\n if (typeof style === 'string') {\n style = parseStyleText(style, camel);\n } else if (camel && style) {\n // 驼峰化\n const res = {};\n Object.keys(style).forEach(k => (res[camelize(k)] = style[k]));\n return res;\n }\n return style;\n}\n\nexport function getComponentName(opts) {\n return opts && (opts.Ctor.options.name || opts.tag);\n}\n\nexport function isEmptyElement(c) {\n return !(c.tag || (c.text && c.text.trim() !== ''));\n}\n\nexport function isStringElement(c) {\n return !c.tag;\n}\n\nexport function filterEmpty(children = []) {\n return children.filter(c => !isEmptyElement(c));\n}\nconst initDefaultProps = (propTypes, defaultProps) => {\n Object.keys(defaultProps).forEach(k => {\n if (propTypes[k]) {\n propTypes[k].def && (propTypes[k] = propTypes[k].def(defaultProps[k]));\n } else {\n throw new Error(`not have ${k} prop`);\n }\n });\n return propTypes;\n};\n\nexport function mergeProps() {\n const args = [].slice.call(arguments, 0);\n const props = {};\n args.forEach((p = {}) => {\n for (const [k, v] of Object.entries(p)) {\n props[k] = props[k] || {};\n if (isPlainObject(v)) {\n Object.assign(props[k], v);\n } else {\n props[k] = v;\n }\n }\n });\n return props;\n}\n\nfunction isValidElement(element) {\n return (\n element &&\n typeof element === 'object' &&\n 'componentOptions' in element &&\n 'context' in element &&\n element.tag !== undefined\n ); // remove text node\n}\n\nexport {\n hasProp,\n filterProps,\n getOptionProps,\n getComponentFromProp,\n getSlotOptions,\n slotHasProp,\n getPropsData,\n getKey,\n getAttrs,\n getValueByProp,\n parseStyleText,\n initDefaultProps,\n isValidElement,\n camelize,\n getSlots,\n getSlot,\n getAllProps,\n getAllChildren,\n};\nexport default hasProp;\n","\"use strict\";\n\nexports.__esModule = true;\n\nvar _assign = require(\"../core-js/object/assign\");\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n if (key in obj) {\n (0, _defineProperty2.default)(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};","import { getOptionProps } from './props-util';\n\nexport default {\n methods: {\n setState(state = {}, callback) {\n let newState = typeof state === 'function' ? state(this.$data, this.$props) : state;\n if (this.getDerivedStateFromProps) {\n const s = this.getDerivedStateFromProps(getOptionProps(this), {\n ...this.$data,\n ...newState,\n });\n if (s === null) {\n return;\n } else {\n newState = { ...newState, ...(s || {}) };\n }\n }\n Object.assign(this.$data, newState);\n this.$forceUpdate();\n this.$nextTick(() => {\n callback && callback();\n });\n },\n __emit() {\n // 直接调用listeners,底层组件不需要vueTool记录events\n const args = [].slice.call(arguments, 0);\n const eventName = args[0];\n const event = this.$listeners[eventName];\n if (args.length && event) {\n if (Array.isArray(event)) {\n for (let i = 0, l = event.length; i < l; i++) {\n event[i](...args.slice(1));\n }\n } else {\n event(...args.slice(1));\n }\n }\n },\n },\n};\n","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\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 PropTypes from '../_util/vue-types';\nimport Empty from '../empty';\nimport { ConfigConsumerProps } from './';\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","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\nexport const ConfigConsumerProps = {\n getPrefixCls: (suffixCls, customizePrefixCls) => {\n if (customizePrefixCls) return customizePrefixCls;\n return `ant-${suffixCls}`;\n },\n renderEmpty: defaultRenderEmpty,\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 _extends from 'babel-runtime/helpers/extends';\nimport { generate, getSecondaryColor, isIconDefinition, log, MiniMap, withSuffix } from '../utils';\n\nvar twoToneColorPalette = {\n primaryColor: '#333',\n secondaryColor: '#E6E6E6'\n};\n\nvar Icon = {\n name: 'AntdIcon',\n props: ['type', 'primaryColor', 'secondaryColor'],\n displayName: 'IconVue',\n definitions: new MiniMap(),\n data: function data() {\n return {\n twoToneColorPalette: twoToneColorPalette\n };\n },\n add: function add() {\n for (var _len = arguments.length, icons = Array(_len), _key = 0; _key < _len; _key++) {\n icons[_key] = arguments[_key];\n }\n\n icons.forEach(function (icon) {\n Icon.definitions.set(withSuffix(icon.name, icon.theme), icon);\n });\n },\n clear: function clear() {\n Icon.definitions.clear();\n },\n get: function get(key) {\n var colors = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : twoToneColorPalette;\n\n if (key) {\n var target = Icon.definitions.get(key);\n if (target && typeof target.icon === 'function') {\n target = _extends({}, target, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n return target;\n }\n },\n setTwoToneColors: function setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || getSecondaryColor(primaryColor);\n },\n getTwoToneColors: function getTwoToneColors() {\n return _extends({}, twoToneColorPalette);\n },\n render: function render(h) {\n var _$props = this.$props,\n type = _$props.type,\n primaryColor = _$props.primaryColor,\n secondaryColor = _$props.secondaryColor;\n\n\n var target = void 0;\n var colors = twoToneColorPalette;\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || getSecondaryColor(primaryColor)\n };\n }\n if (isIconDefinition(type)) {\n target = type;\n } else if (typeof type === 'string') {\n target = Icon.get(type, colors);\n if (!target) {\n // log(`Could not find icon: ${type}`);\n return null;\n }\n }\n if (!target) {\n log('type should be string or icon definiton, but got ' + type);\n return null;\n }\n if (target && typeof target.icon === 'function') {\n target = _extends({}, target, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n return generate(h, target.icon, 'svg-' + target.name, {\n attrs: {\n 'data-icon': target.name,\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true'\n },\n on: this.$listeners\n });\n }\n};\n\n/* istanbul ignore next */\nIcon.install = function (Vue) {\n Vue.component(Icon.name, Icon);\n};\n\nexport default Icon;","import Icon from './components/Icon';\n\nexport default Icon;","import Icon from './index';\nimport { mergeProps } from '../_util/props-util';\n\nconst customCache = new Set();\n\nexport default function create(options) {\n const { scriptUrl, extraCommonProps = {} } = options;\n\n /**\n * DOM API required.\n * Make sure in browser environment.\n * The Custom Icon will create a <script/>\n * that loads SVG symbols and insert the SVG Element into the document body.\n */\n if (\n typeof document !== 'undefined' &&\n typeof window !== 'undefined' &&\n typeof document.createElement === 'function' &&\n typeof scriptUrl === 'string' &&\n scriptUrl.length &&\n !customCache.has(scriptUrl)\n ) {\n const script = document.createElement('script');\n script.setAttribute('src', scriptUrl);\n script.setAttribute('data-namespace', scriptUrl);\n customCache.add(scriptUrl);\n document.body.appendChild(script);\n }\n\n const Iconfont = {\n functional: true,\n name: 'AIconfont',\n props: Icon.props,\n render(h, context) {\n const { props, slots, listeners, data } = context;\n const { type, ...restProps } = props;\n const slotsMap = slots();\n const children = slotsMap.default;\n // component > children > type\n let content = null;\n if (type) {\n content = <use {...{ attrs: { 'xlink:href': `#${type}` } }} />;\n }\n if (children) {\n content = children;\n }\n const iconProps = mergeProps(extraCommonProps, data, { props: restProps, on: listeners });\n return <Icon {...iconProps}>{content}</Icon>;\n },\n };\n return Iconfont;\n}\n","import warning from '../_util/warning';\n\n// These props make sure that the SVG behaviours like general text.\n// Reference: https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\nexport const svgBaseProps = {\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true',\n focusable: 'false',\n};\n\nconst fillTester = /-fill$/;\nconst outlineTester = /-o$/;\nconst twoToneTester = /-twotone$/;\n\nexport function getThemeFromTypeName(type) {\n let result = null;\n if (fillTester.test(type)) {\n result = 'filled';\n } else if (outlineTester.test(type)) {\n result = 'outlined';\n } else if (twoToneTester.test(type)) {\n result = 'twoTone';\n }\n return result;\n}\n\nexport function removeTypeTheme(type) {\n return type\n .replace(fillTester, '')\n .replace(outlineTester, '')\n .replace(twoToneTester, '');\n}\n\nexport function withThemeSuffix(type, theme) {\n let result = type;\n if (theme === 'filled') {\n result += '-fill';\n } else if (theme === 'outlined') {\n result += '-o';\n } else if (theme === 'twoTone') {\n result += '-twotone';\n } else {\n warning(false, 'Icon', `This icon '${type}' has unknown theme '${theme}'`);\n }\n return result;\n}\n\n// For alias or compatibility\nexport function alias(type) {\n let newType = type;\n switch (type) {\n case 'cross':\n newType = 'close';\n break;\n // https://github.com/ant-design/ant-design/issues/13007\n case 'interation':\n newType = 'interaction';\n break;\n // https://github.com/ant-design/ant-design/issues/16810\n case 'canlendar':\n newType = 'calendar';\n break;\n // https://github.com/ant-design/ant-design/issues/17448\n case 'colum-height':\n newType = 'column-height';\n break;\n default:\n }\n warning(\n newType === type,\n 'Icon',\n `Icon '${type}' was a typo and is now deprecated, please use '${newType}' instead.`,\n );\n return newType;\n}\n","import VueIcon from '@ant-design/icons-vue';\n\nexport function setTwoToneColor(primaryColor) {\n return VueIcon.setTwoToneColors({\n primaryColor,\n });\n}\n\nexport function getTwoToneColor() {\n const colors = VueIcon.getTwoToneColors();\n return colors.primaryColor;\n}\n","import classNames from 'classnames';\nimport * as allIcons from '@ant-design/icons/lib/dist';\nimport VueIcon from '@ant-design/icons-vue';\nimport PropTypes from '../_util/vue-types';\nimport createFromIconfontCN from './IconFont';\nimport {\n svgBaseProps,\n withThemeSuffix,\n removeTypeTheme,\n getThemeFromTypeName,\n alias,\n} from './utils';\nimport warning from '../_util/warning';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport { getTwoToneColor, setTwoToneColor } from './twoTonePrimaryColor';\nimport { filterEmpty, getListeners } from '../_util/props-util';\nimport Base from '../base';\n\n// Initial setting\nVueIcon.add(...Object.keys(allIcons).map(key => allIcons[key]));\nsetTwoToneColor('#1890ff');\nconst defaultTheme = 'outlined';\nlet dangerousTheme;\n\nfunction renderIcon(h, locale, context) {\n const { $props: props, $slots } = context;\n const listeners = getListeners(context);\n const {\n // affect inner <svg>...</svg>\n type,\n component: Component,\n viewBox,\n spin,\n // other\n theme, // default to outlined\n twoToneColor,\n rotate,\n tabIndex,\n } = props;\n let children = filterEmpty($slots.default);\n children = children.length === 0 ? undefined : children;\n warning(\n Boolean(type || Component || children),\n 'Icon',\n 'Icon should have `type` prop or `component` prop or `children`.',\n );\n\n const classString = classNames({\n [`anticon`]: true,\n [`anticon-${type}`]: !!type,\n });\n\n const svgClassString = classNames({\n [`anticon-spin`]: !!spin || type === 'loading',\n });\n\n const svgStyle = rotate\n ? {\n msTransform: `rotate(${rotate}deg)`,\n transform: `rotate(${rotate}deg)`,\n }\n : undefined;\n\n const innerSvgProps = {\n attrs: {\n ...svgBaseProps,\n viewBox,\n },\n class: svgClassString,\n style: svgStyle,\n };\n if (!viewBox) {\n delete innerSvgProps.attrs.viewBox;\n }\n\n const renderInnerNode = () => {\n // component > children > type\n if (Component) {\n return <Component {...innerSvgProps}>{children}</Component>;\n }\n if (children) {\n warning(\n Boolean(viewBox) || (children.length === 1 && children[0].tag === 'use'),\n 'Icon',\n 'Make sure that you provide correct `viewBox`' +\n ' prop (default `0 0 1024 1024`) to the icon.',\n );\n const innerSvgProps = {\n attrs: {\n ...svgBaseProps,\n },\n class: svgClassString,\n style: svgStyle,\n };\n return (\n <svg {...innerSvgProps} viewBox={viewBox}>\n {children}\n </svg>\n );\n }\n\n if (typeof type === 'string') {\n let computedType = type;\n if (theme) {\n const themeInName = getThemeFromTypeName(type);\n warning(\n !themeInName || theme === themeInName,\n 'Icon',\n `The icon name '${type}' already specify a theme '${themeInName}',` +\n ` the 'theme' prop '${theme}' will be ignored.`,\n );\n }\n computedType = withThemeSuffix(\n removeTypeTheme(alias(computedType)),\n dangerousTheme || theme || defaultTheme,\n );\n\n return (\n <VueIcon\n focusable=\"false\"\n class={svgClassString}\n type={computedType}\n primaryColor={twoToneColor}\n style={svgStyle}\n />\n );\n }\n };\n let iconTabIndex = tabIndex;\n if (iconTabIndex === undefined && 'click' in listeners) {\n iconTabIndex = -1;\n }\n // functional component not support nativeOn,https://github.com/vuejs/vue/issues/7526\n const iProps = {\n attrs: {\n 'aria-label': type && `${locale.icon}: ${type}`,\n tabIndex: iconTabIndex,\n },\n on: listeners,\n class: classString,\n staticClass: '',\n };\n return <i {...iProps}>{renderInnerNode()}</i>;\n}\n\nconst Icon = {\n name: 'AIcon',\n props: {\n tabIndex: PropTypes.number,\n type: PropTypes.string,\n component: PropTypes.any,\n viewBox: PropTypes.any,\n spin: PropTypes.bool.def(false),\n rotate: PropTypes.number,\n theme: PropTypes.oneOf(['filled', 'outlined', 'twoTone']),\n twoToneColor: PropTypes.string,\n role: PropTypes.string,\n },\n render(h) {\n return (\n <LocaleReceiver\n componentName=\"Icon\"\n scopedSlots={{ default: locale => renderIcon(h, locale, this) }}\n />\n );\n },\n};\n\nIcon.createFromIconfontCN = createFromIconfontCN;\nIcon.getTwoToneColor = getTwoToneColor;\nIcon.setTwoToneColor = setTwoToneColor;\n\n/* istanbul ignore next */\nIcon.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Icon.name, Icon);\n};\n\nexport default Icon;\n","import { filterEmpty, parseStyleText } from './props-util';\nimport classNames from 'classnames';\n\nexport function cloneVNode(vnode, deep) {\n const componentOptions = vnode.componentOptions;\n const data = vnode.data;\n\n let listeners = {};\n if (componentOptions && componentOptions.listeners) {\n listeners = { ...componentOptions.listeners };\n }\n\n let on = {};\n if (data && data.on) {\n on = { ...data.on };\n }\n\n const cloned = new vnode.constructor(\n vnode.tag,\n data ? { ...data, on } : data,\n vnode.children,\n vnode.text,\n vnode.elm,\n vnode.context,\n componentOptions ? { ...componentOptions, listeners } : componentOptions,\n vnode.asyncFactory,\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.isCloned = true;\n if (deep) {\n if (vnode.children) {\n cloned.children = cloneVNodes(vnode.children, true);\n }\n if (componentOptions && componentOptions.children) {\n componentOptions.children = cloneVNodes(componentOptions.children, true);\n }\n }\n return cloned;\n}\n\nexport function cloneVNodes(vnodes, deep) {\n const len = vnodes.length;\n const res = new Array(len);\n for (let i = 0; i < len; i++) {\n res[i] = cloneVNode(vnodes[i], deep);\n }\n return res;\n}\n\nexport function cloneElement(n, nodeProps = {}, deep) {\n let ele = n;\n if (Array.isArray(n)) {\n ele = filterEmpty(n)[0];\n }\n if (!ele) {\n return null;\n }\n const node = cloneVNode(ele, deep);\n // // 函数式组件不支持clone https://github.com/vueComponent/ant-design-vue/pull/1947\n // warning(\n // !(node.fnOptions && node.fnOptions.functional),\n // `can not use cloneElement for functional component (${node.fnOptions && node.fnOptions.name})`,\n // );\n const { props = {}, key, on = {}, nativeOn = {}, children, directives = [] } = nodeProps;\n const data = node.data || {};\n let cls = {};\n let style = {};\n const {\n attrs = {},\n ref,\n domProps = {},\n style: tempStyle = {},\n class: tempCls = {},\n scopedSlots = {},\n } = nodeProps;\n\n if (typeof data.style === 'string') {\n style = parseStyleText(data.style);\n } else {\n style = { ...data.style, ...style };\n }\n if (typeof tempStyle === 'string') {\n style = { ...style, ...parseStyleText(style) };\n } else {\n style = { ...style, ...tempStyle };\n }\n\n if (typeof data.class === 'string' && data.class.trim() !== '') {\n data.class.split(' ').forEach(c => {\n cls[c.trim()] = true;\n });\n } else if (Array.isArray(data.class)) {\n classNames(data.class)\n .split(' ')\n .forEach(c => {\n cls[c.trim()] = true;\n });\n } else {\n cls = { ...data.class, ...cls };\n }\n if (typeof tempCls === 'string' && tempCls.trim() !== '') {\n tempCls.split(' ').forEach(c => {\n cls[c.trim()] = true;\n });\n } else {\n cls = { ...cls, ...tempCls };\n }\n node.data = Object.assign({}, data, {\n style,\n attrs: { ...data.attrs, ...attrs },\n class: cls,\n domProps: { ...data.domProps, ...domProps },\n scopedSlots: { ...data.scopedSlots, ...scopedSlots },\n directives: [...(data.directives || []), ...directives],\n });\n\n if (node.componentOptions) {\n node.componentOptions.propsData = node.componentOptions.propsData || {};\n node.componentOptions.listeners = node.componentOptions.listeners || {};\n node.componentOptions.propsData = { ...node.componentOptions.propsData, ...props };\n node.componentOptions.listeners = { ...node.componentOptions.listeners, ...on };\n if (children) {\n node.componentOptions.children = children;\n }\n } else {\n if (children) {\n node.children = children;\n }\n node.data.on = { ...(node.data.on || {}), ...on };\n }\n node.data.on = { ...(node.data.on || {}), ...nativeOn };\n\n if (key !== undefined) {\n node.key = key;\n node.data.key = key;\n }\n if (typeof ref === 'string') {\n node.data.ref = ref;\n }\n return node;\n}\n","export function antPortal(Vue) {\n return Vue.directive('ant-portal', {\n inserted(el, binding) {\n const { value } = binding;\n const parentNode = typeof value === 'function' ? value(el) : value;\n if (parentNode !== el.parentNode) {\n parentNode.appendChild(el);\n }\n },\n componentUpdated(el, binding) {\n const { value } = binding;\n const parentNode = typeof value === 'function' ? value(el) : value;\n if (parentNode !== el.parentNode) {\n parentNode.appendChild(el);\n }\n },\n });\n}\n\nexport default {\n install: Vue => {\n antPortal(Vue);\n },\n};\n","import ref from 'vue-ref';\nimport { antInput } from './antInputDirective';\nimport { antDecorator } from './FormDecoratorDirective';\nimport { antPortal } from './portalDirective';\n\nexport default {\n install: Vue => {\n Vue.use(ref, { name: 'ant-ref' });\n antInput(Vue);\n antDecorator(Vue);\n antPortal(Vue);\n },\n};\n","import antDirective from '../_util/antDirective';\nconst base = {};\nconst install = function(Vue) {\n base.Vue = Vue;\n Vue.use(antDirective);\n};\nbase.install = install;\n\nexport default base;\n","\"use strict\";\n\nexports.__esModule = true;\n\nvar _from = require(\"../core-js/array/from\");\n\nvar _from2 = _interopRequireDefault(_from);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n } else {\n return (0, _from2.default)(arr);\n }\n};","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};","/* eslint-disable no-console */\nlet warned = {};\n\nexport function warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error(`Warning: ${message}`);\n }\n}\n\nexport function note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn(`Note: ${message}`);\n }\n}\n\nexport function resetWarned() {\n warned = {};\n}\n\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\n\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\n\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\n\nexport default warningOnce;\n/* eslint-enable */\n","import warning, { resetWarned } from '../vc-util/warning';\n\nexport { resetWarned };\n\nexport default (valid, component, message = '') => {\n warning(valid, `[antdv: ${component}] ${message}`);\n};\n","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};","module.exports = __WEBPACK_EXTERNAL_MODULE__15__;","import _extends from \"babel-runtime/helpers/extends\";\nfunction omit(obj, fields) {\n var shallowCopy = _extends({}, obj);\n for (var i = 0; i < fields.length; i++) {\n var key = fields[i];\n delete shallowCopy[key];\n }\n return shallowCopy;\n}\n\nexport default omit;","/* 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","module.exports = __WEBPACK_EXTERNAL_MODULE__18__;","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","// https://github.com/moment/moment/issues/3650\nexport default function interopDefault(m) {\n return m.default || m;\n}\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar vendorPrefix;\nvar jsCssMap = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n // IE did it wrong again ...\n ms: '-ms-',\n O: '-o-'\n};\n\nfunction getVendorPrefix() {\n if (vendorPrefix !== undefined) {\n return vendorPrefix;\n }\n\n vendorPrefix = '';\n var style = document.createElement('p').style;\n var testProp = 'Transform';\n\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n\n return vendorPrefix;\n}\n\nfunction getTransitionName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"TransitionProperty\") : 'transitionProperty';\n}\n\nfunction getTransformName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"Transform\") : 'transform';\n}\nfunction setTransitionProperty(node, value) {\n var name = getTransitionName();\n\n if (name) {\n node.style[name] = value;\n\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\n\nfunction setTransform(node, value) {\n var name = getTransformName();\n\n if (name) {\n node.style[name] = value;\n\n if (name !== 'transform') {\n node.style.transform = value;\n }\n }\n}\n\nfunction getTransitionProperty(node) {\n return node.style.transitionProperty || node.style[getTransitionName()];\n}\nfunction getTransformXY(node) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n\n if (transform && transform !== 'none') {\n var matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n return {\n x: parseFloat(matrix[12] || matrix[4], 0),\n y: parseFloat(matrix[13] || matrix[5], 0)\n };\n }\n\n return {\n x: 0,\n y: 0\n };\n}\nvar matrix2d = /matrix\\((.*)\\)/;\nvar matrix3d = /matrix3d\\((.*)\\)/;\nfunction setTransformXY(node, xy) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n\n if (transform && transform !== 'none') {\n var arr;\n var match2d = transform.match(matrix2d);\n\n if (match2d) {\n match2d = match2d[1];\n arr = match2d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[4] = xy.x;\n arr[5] = xy.y;\n setTransform(node, \"matrix(\".concat(arr.join(','), \")\"));\n } else {\n var match3d = transform.match(matrix3d)[1];\n arr = match3d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[12] = xy.x;\n arr[13] = xy.y;\n setTransform(node, \"matrix3d(\".concat(arr.join(','), \")\"));\n }\n } else {\n setTransform(node, \"translateX(\".concat(xy.x, \"px) translateY(\").concat(xy.y, \"px) translateZ(0)\"));\n }\n}\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\nvar getComputedStyleX; // https://stackoverflow.com/a/3485654/3040605\n\nfunction forceRelayout(elem) {\n var originalStyle = elem.style.display;\n elem.style.display = 'none';\n elem.offsetHeight; // eslint-disable-line\n\n elem.style.display = originalStyle;\n}\n\nfunction css(el, name, v) {\n var value = v;\n\n if (_typeof(name) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n\n return undefined;\n }\n\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value = \"\".concat(value, \"px\");\n }\n\n el.style[name] = value;\n return undefined;\n }\n\n return getComputedStyleX(el, name);\n}\n\nfunction getClientPosition(elem) {\n var box;\n var x;\n var y;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement; // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n\n box = elem.getBoundingClientRect(); // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top; // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n var method = \"scroll\".concat(top ? 'Top' : 'Left');\n\n if (typeof ret !== 'number') {\n var d = w.document; // ie6,7,8 standard mode\n\n ret = d.documentElement[method];\n\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\n\n\nfunction isWindow(obj) {\n // must use == for ie8\n\n /* eslint eqeqeq:0 */\n return obj !== null && obj !== undefined && obj == obj.window;\n}\n\nfunction getDocument(node) {\n if (isWindow(node)) {\n return node.document;\n }\n\n if (node.nodeType === 9) {\n return node;\n }\n\n return node.ownerDocument;\n}\n\nfunction _getComputedStyle(elem, name, cs) {\n var computedStyle = cs;\n var val = '';\n var d = getDocument(elem);\n computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null); // https://github.com/kissyteam/kissy/issues/61\n\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp(\"^(\".concat(RE_NUM, \")(?!px)[a-z%]+$\"), 'i');\n\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name]; // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT]; // prevent flashing of content\n\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT]; // Put in the new values to get a computed value out\n\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX; // Revert the changed values\n\n style[LEFT] = left;\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n\n return ret === '' ? 'auto' : ret;\n}\n\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction getOffsetDirection(dir, option) {\n if (dir === 'left') {\n return option.useCssRight ? 'right' : dir;\n }\n\n return option.useCssBottom ? 'bottom' : dir;\n}\n\nfunction oppositeOffsetDirection(dir) {\n if (dir === 'left') {\n return 'right';\n } else if (dir === 'right') {\n return 'left';\n } else if (dir === 'top') {\n return 'bottom';\n } else if (dir === 'bottom') {\n return 'top';\n }\n} // 设置 elem 相对 elem.ownerDocument 的坐标\n\n\nfunction setLeftTop(elem, offset, option) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n\n var presetH = -999;\n var presetV = -999;\n var horizontalProperty = getOffsetDirection('left', option);\n var verticalProperty = getOffsetDirection('top', option);\n var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty);\n var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);\n\n if (horizontalProperty !== 'left') {\n presetH = 999;\n }\n\n if (verticalProperty !== 'top') {\n presetV = 999;\n }\n\n var originalTransition = '';\n var originalOffset = getOffset(elem);\n\n if ('left' in offset || 'top' in offset) {\n originalTransition = getTransitionProperty(elem) || '';\n setTransitionProperty(elem, 'none');\n }\n\n if ('left' in offset) {\n elem.style[oppositeHorizontalProperty] = '';\n elem.style[horizontalProperty] = \"\".concat(presetH, \"px\");\n }\n\n if ('top' in offset) {\n elem.style[oppositeVerticalProperty] = '';\n elem.style[verticalProperty] = \"\".concat(presetV, \"px\");\n } // force relayout\n\n\n forceRelayout(elem);\n var old = getOffset(elem);\n var originalStyle = {};\n\n for (var key in offset) {\n if (offset.hasOwnProperty(key)) {\n var dir = getOffsetDirection(key, option);\n var preset = key === 'left' ? presetH : presetV;\n var off = originalOffset[key] - old[key];\n\n if (dir === key) {\n originalStyle[dir] = preset + off;\n } else {\n originalStyle[dir] = preset - off;\n }\n }\n }\n\n css(elem, originalStyle); // force relayout\n\n forceRelayout(elem);\n\n if ('left' in offset || 'top' in offset) {\n setTransitionProperty(elem, originalTransition);\n }\n\n var ret = {};\n\n for (var _key in offset) {\n if (offset.hasOwnProperty(_key)) {\n var _dir = getOffsetDirection(_key, option);\n\n var _off = offset[_key] - originalOffset[_key];\n\n if (_key === _dir) {\n ret[_dir] = originalStyle[_dir] + _off;\n } else {\n ret[_dir] = originalStyle[_dir] - _off;\n }\n }\n }\n\n css(elem, ret);\n}\n\nfunction setTransform$1(elem, offset) {\n var originalOffset = getOffset(elem);\n var originalXY = getTransformXY(elem);\n var resultXY = {\n x: originalXY.x,\n y: originalXY.y\n };\n\n if ('left' in offset) {\n resultXY.x = originalXY.x + offset.left - originalOffset.left;\n }\n\n if ('top' in offset) {\n resultXY.y = originalXY.y + offset.top - originalOffset.top;\n }\n\n setTransformXY(elem, resultXY);\n}\n\nfunction setOffset(elem, offset, option) {\n if (option.ignoreShake) {\n var oriOffset = getOffset(elem);\n var oLeft = oriOffset.left.toFixed(0);\n var oTop = oriOffset.top.toFixed(0);\n var tLeft = offset.left.toFixed(0);\n var tTop = offset.top.toFixed(0);\n\n if (oLeft === tLeft && oTop === tTop) {\n return;\n }\n }\n\n if (option.useCssRight || option.useCssBottom) {\n setLeftTop(elem, offset, option);\n } else if (option.useCssTransform && getTransformName() in document.body.style) {\n setTransform$1(elem, offset);\n } else {\n setLeftTop(elem, offset, option);\n }\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name; // Remember the old values, and insert the new ones\n\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem); // Revert the old values\n\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop;\n var j;\n var i;\n\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = void 0;\n\n if (prop === 'border') {\n cssProp = \"\".concat(prop).concat(which[i], \"Width\");\n } else {\n cssProp = prop + which[i];\n }\n\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n\n return value;\n}\n\nvar domUtils = {\n getParent: function getParent(element) {\n var parent = element;\n\n do {\n if (parent.nodeType === 11 && parent.host) {\n parent = parent.host;\n } else {\n parent = parent.parentNode;\n }\n } while (parent && parent.nodeType !== 1 && parent.nodeType !== 9);\n\n return parent;\n }\n};\neach(['Width', 'Height'], function (name) {\n domUtils[\"doc\".concat(name)] = function (refWin) {\n var d = refWin.document;\n return Math.max( // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement[\"scroll\".concat(name)], // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body[\"scroll\".concat(name)], domUtils[\"viewport\".concat(name)](d));\n };\n\n domUtils[\"viewport\".concat(name)] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = \"client\".concat(name);\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop]; // 标准模式取 documentElement\n // backcompat 取 body\n\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\n\nfunction getWH(elem, name, ex) {\n var extra = ex;\n\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.getBoundingClientRect().width : elem.getBoundingClientRect().height;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n var cssBoxValue = 0;\n\n if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {\n borderBoxValue = undefined; // Fall back to computed then un computed css if necessary\n\n cssBoxValue = getComputedStyleX(elem, name);\n\n if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n } // Normalize '', auto, and prepare for extra\n\n\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which);\n }\n\n return cssBoxValue;\n } else if (borderBoxValueOrIsBorderBox) {\n if (extra === BORDER_INDEX) {\n return val;\n }\n\n return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which) : getPBMWidth(elem, ['margin'], which));\n }\n\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n}; // fix #119 : https://github.com/kissyteam/kissy/issues/119\n\nfunction getWHIgnoreDisplay() {\n for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var val;\n var elem = args[0]; // in case elem is window\n // elem.offsetWidth === undefined\n\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n\n return val;\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n\n domUtils[\"outer\".concat(first)] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, v) {\n var val = v;\n\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which);\n }\n\n return css(elem, name, val);\n }\n\n return undefined;\n }\n\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\nfunction mix(to, from) {\n for (var i in from) {\n if (from.hasOwnProperty(i)) {\n to[i] = from[i];\n }\n }\n\n return to;\n}\n\nvar utils = {\n getWindow: function getWindow(node) {\n if (node && node.document && node.setTimeout) {\n return node;\n }\n\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n getDocument: getDocument,\n offset: function offset(el, value, option) {\n if (typeof value !== 'undefined') {\n setOffset(el, value, option || {});\n } else {\n return getOffset(el);\n }\n },\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var i;\n var ret = {};\n\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n\n var overflow = obj.overflow;\n\n if (overflow) {\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n\n return ret;\n },\n mix: mix,\n getWindowScrollLeft: function getWindowScrollLeft(w) {\n return getScrollLeft(w);\n },\n getWindowScrollTop: function getWindowScrollTop(w) {\n return getScrollTop(w);\n },\n merge: function merge() {\n var ret = {};\n\n for (var i = 0; i < arguments.length; i++) {\n utils.mix(ret, i < 0 || arguments.length <= i ? undefined : arguments[i]);\n }\n\n return ret;\n },\n viewportWidth: 0,\n viewportHeight: 0\n};\nmix(utils, domUtils);\n\n/**\n * 得到会导致元素显示不全的祖先元素\n */\n\nvar getParent = utils.getParent;\n\nfunction getOffsetParent(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return null;\n } // ie 这个也不是完全可行\n\n /*\n <div style=\"width: 50px;height: 100px;overflow: hidden\">\n <div style=\"width: 50px;height: 100px;position: relative;\" id=\"d6\">\n 元素 6 高 100px 宽 50px<br/>\n </div>\n </div>\n */\n // element.offsetParent does the right thing in ie7 and below. Return parent with layout!\n // In other browsers it only includes elements with position absolute, relative or\n // fixed, not elements with overflow set to auto or scroll.\n // if (UA.ie && ieMode < 8) {\n // return element.offsetParent;\n // }\n // 统一的 offsetParent 方法\n\n\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent;\n var positionStyle = utils.css(element, 'position');\n var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';\n\n if (!skipStatic) {\n return element.nodeName.toLowerCase() === 'html' ? null : getParent(element);\n }\n\n for (parent = getParent(element); parent && parent !== body && parent.nodeType !== 9; parent = getParent(parent)) {\n positionStyle = utils.css(parent, 'position');\n\n if (positionStyle !== 'static') {\n return parent;\n }\n }\n\n return null;\n}\n\nvar getParent$1 = utils.getParent;\nfunction isAncestorFixed(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return false;\n }\n\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent = null;\n\n for (parent = getParent$1(element); parent && parent !== body; parent = getParent$1(parent)) {\n var positionStyle = utils.css(parent, 'position');\n\n if (positionStyle === 'fixed') {\n return true;\n }\n }\n\n return false;\n}\n\n/**\n * 获得元素的显示部分的区域\n */\n\nfunction getVisibleRectForElement(element, alwaysByViewport) {\n var visibleRect = {\n left: 0,\n right: Infinity,\n top: 0,\n bottom: Infinity\n };\n var el = getOffsetParent(element);\n var doc = utils.getDocument(element);\n var win = doc.defaultView || doc.parentWindow;\n var body = doc.body;\n var documentElement = doc.documentElement; // Determine the size of the visible rect by climbing the dom accounting for\n // all scrollable containers.\n\n while (el) {\n // clientWidth is zero for inline block elements in ie.\n if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) && // body may have overflow set on it, yet we still get the entire\n // viewport. In some browsers, el.offsetParent may be\n // document.documentElement, so check for that too.\n el !== body && el !== documentElement && utils.css(el, 'overflow') !== 'visible') {\n var pos = utils.offset(el); // add border\n\n pos.left += el.clientLeft;\n pos.top += el.clientTop;\n visibleRect.top = Math.max(visibleRect.top, pos.top);\n visibleRect.right = Math.min(visibleRect.right, // consider area without scrollBar\n pos.left + el.clientWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, pos.top + el.clientHeight);\n visibleRect.left = Math.max(visibleRect.left, pos.left);\n } else if (el === body || el === documentElement) {\n break;\n }\n\n el = getOffsetParent(el);\n } // Set element position to fixed\n // make sure absolute element itself don't affect it's visible area\n // https://github.com/ant-design/ant-design/issues/7601\n\n\n var originalPosition = null;\n\n if (!utils.isWindow(element) && element.nodeType !== 9) {\n originalPosition = element.style.position;\n var position = utils.css(element, 'position');\n\n if (position === 'absolute') {\n element.style.position = 'fixed';\n }\n }\n\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var viewportHeight = utils.viewportHeight(win);\n var documentWidth = documentElement.scrollWidth;\n var documentHeight = documentElement.scrollHeight; // scrollXXX on html is sync with body which means overflow: hidden on body gets wrong scrollXXX.\n // We should cut this ourself.\n\n var bodyStyle = window.getComputedStyle(body);\n\n if (bodyStyle.overflowX === 'hidden') {\n documentWidth = win.innerWidth;\n }\n\n if (bodyStyle.overflowY === 'hidden') {\n documentHeight = win.innerHeight;\n } // Reset element position after calculate the visible area\n\n\n if (element.style) {\n element.style.position = originalPosition;\n }\n\n if (alwaysByViewport || isAncestorFixed(element)) {\n // Clip by viewport's size.\n visibleRect.left = Math.max(visibleRect.left, scrollX);\n visibleRect.top = Math.max(visibleRect.top, scrollY);\n visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);\n } else {\n // Clip by document's size.\n var maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);\n visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);\n var maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);\n visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);\n }\n\n return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null;\n}\n\nfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n var pos = utils.clone(elFuturePos);\n var size = {\n width: elRegion.width,\n height: elRegion.height\n };\n\n if (overflow.adjustX && pos.left < visibleRect.left) {\n pos.left = visibleRect.left;\n } // Left edge inside and right edge outside viewport, try to resize it.\n\n\n if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {\n size.width -= pos.left + size.width - visibleRect.right;\n } // Right edge outside viewport, try to move it.\n\n\n if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n // 保证左边界和可视区域左边界对齐\n pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n } // Top edge outside viewport, try to move it.\n\n\n if (overflow.adjustY && pos.top < visibleRect.top) {\n pos.top = visibleRect.top;\n } // Top edge inside and bottom edge outside viewport, try to resize it.\n\n\n if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {\n size.height -= pos.top + size.height - visibleRect.bottom;\n } // Bottom edge outside viewport, try to move it.\n\n\n if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {\n // 保证上边界和可视区域上边界对齐\n pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);\n }\n\n return utils.mix(pos, size);\n}\n\nfunction getRegion(node) {\n var offset;\n var w;\n var h;\n\n if (!utils.isWindow(node) && node.nodeType !== 9) {\n offset = utils.offset(node);\n w = utils.outerWidth(node);\n h = utils.outerHeight(node);\n } else {\n var win = utils.getWindow(node);\n offset = {\n left: utils.getWindowScrollLeft(win),\n top: utils.getWindowScrollTop(win)\n };\n w = utils.viewportWidth(win);\n h = utils.viewportHeight(win);\n }\n\n offset.width = w;\n offset.height = h;\n return offset;\n}\n\n/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\n */\nfunction getAlignOffset(region, align) {\n var V = align.charAt(0);\n var H = align.charAt(1);\n var w = region.width;\n var h = region.height;\n var x = region.left;\n var y = region.top;\n\n if (V === 'c') {\n y += h / 2;\n } else if (V === 'b') {\n y += h;\n }\n\n if (H === 'c') {\n x += w / 2;\n } else if (H === 'r') {\n x += w;\n }\n\n return {\n left: x,\n top: y\n };\n}\n\nfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n var p1 = getAlignOffset(refNodeRegion, points[1]);\n var p2 = getAlignOffset(elRegion, points[0]);\n var diff = [p2.left - p1.left, p2.top - p1.top];\n return {\n left: Math.round(elRegion.left - diff[0] + offset[0] - targetOffset[0]),\n top: Math.round(elRegion.top - diff[1] + offset[1] - targetOffset[1])\n };\n}\n\n/**\n * align dom node flexibly\n * @author yiminghe@gmail.com\n */\n\nfunction isFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;\n}\n\nfunction isFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom;\n}\n\nfunction isCompleteFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left;\n}\n\nfunction isCompleteFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top;\n}\n\nfunction flip(points, reg, map) {\n var ret = [];\n utils.each(points, function (p) {\n ret.push(p.replace(reg, function (m) {\n return map[m];\n }));\n });\n return ret;\n}\n\nfunction flipOffset(offset, index) {\n offset[index] = -offset[index];\n return offset;\n}\n\nfunction convertOffset(str, offsetLen) {\n var n;\n\n if (/%$/.test(str)) {\n n = parseInt(str.substring(0, str.length - 1), 10) / 100 * offsetLen;\n } else {\n n = parseInt(str, 10);\n }\n\n return n || 0;\n}\n\nfunction normalizeOffset(offset, el) {\n offset[0] = convertOffset(offset[0], el.width);\n offset[1] = convertOffset(offset[1], el.height);\n}\n/**\n * @param el\n * @param tgtRegion 参照节点所占的区域: { left, top, width, height }\n * @param align\n */\n\n\nfunction doAlign(el, tgtRegion, align, isTgtRegionVisible) {\n var points = align.points;\n var offset = align.offset || [0, 0];\n var targetOffset = align.targetOffset || [0, 0];\n var overflow = align.overflow;\n var source = align.source || el;\n offset = [].concat(offset);\n targetOffset = [].concat(targetOffset);\n overflow = overflow || {};\n var newOverflowCfg = {};\n var fail = 0;\n var alwaysByViewport = !!(overflow && overflow.alwaysByViewport); // 当前节点可以被放置的显示区域\n\n var visibleRect = getVisibleRectForElement(source, alwaysByViewport); // 当前节点所占的区域, left/top/width/height\n\n var elRegion = getRegion(source); // 将 offset 转换成数值,支持百分比\n\n normalizeOffset(offset, elRegion);\n normalizeOffset(targetOffset, tgtRegion); // 当前节点将要被放置的位置\n\n var elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset); // 当前节点将要所处的区域\n\n var newElRegion = utils.merge(elRegion, elFuturePos); // 如果可视区域不能完全放置当前节点时允许调整\n\n if (visibleRect && (overflow.adjustX || overflow.adjustY) && isTgtRegionVisible) {\n if (overflow.adjustX) {\n // 如果横向不能放下\n if (isFailX(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var newPoints = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l'\n }); // 偏移量也反下\n\n var newOffset = flipOffset(offset, 0);\n var newTargetOffset = flipOffset(targetOffset, 0);\n var newElFuturePos = getElFuturePos(elRegion, tgtRegion, newPoints, newOffset, newTargetOffset);\n\n if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = newPoints;\n offset = newOffset;\n targetOffset = newTargetOffset;\n }\n }\n }\n\n if (overflow.adjustY) {\n // 如果纵向不能放下\n if (isFailY(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var _newPoints = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't'\n }); // 偏移量也反下\n\n\n var _newOffset = flipOffset(offset, 1);\n\n var _newTargetOffset = flipOffset(targetOffset, 1);\n\n var _newElFuturePos = getElFuturePos(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset);\n\n if (!isCompleteFailY(_newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = _newPoints;\n offset = _newOffset;\n targetOffset = _newTargetOffset;\n }\n }\n } // 如果失败,重新计算当前节点将要被放置的位置\n\n\n if (fail) {\n elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset);\n utils.mix(newElRegion, elFuturePos);\n }\n\n var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);\n var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect); // 检查反下后的位置是否可以放下了,如果仍然放不下:\n // 1. 复原修改过的定位参数\n\n if (isStillFailX || isStillFailY) {\n var _newPoints2 = points; // 重置对应部分的翻转逻辑\n\n if (isStillFailX) {\n _newPoints2 = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l'\n });\n }\n\n if (isStillFailY) {\n _newPoints2 = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't'\n });\n }\n\n points = _newPoints2;\n offset = align.offset || [0, 0];\n targetOffset = align.targetOffset || [0, 0];\n } // 2. 只有指定了可以调整当前方向才调整\n\n\n newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;\n newOverflowCfg.adjustY = overflow.adjustY && isStillFailY; // 确实要调整,甚至可能会调整高度宽度\n\n if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {\n newElRegion = adjustForViewport(elFuturePos, elRegion, visibleRect, newOverflowCfg);\n }\n } // need judge to in case set fixed with in css on height auto element\n\n\n if (newElRegion.width !== elRegion.width) {\n utils.css(source, 'width', utils.width(source) + newElRegion.width - elRegion.width);\n }\n\n if (newElRegion.height !== elRegion.height) {\n utils.css(source, 'height', utils.height(source) + newElRegion.height - elRegion.height);\n } // https://github.com/kissyteam/kissy/issues/190\n // 相对于屏幕位置没变,而 left/top 变了\n // 例如 <div 'relative'><el absolute></div>\n\n\n utils.offset(source, {\n left: newElRegion.left,\n top: newElRegion.top\n }, {\n useCssRight: align.useCssRight,\n useCssBottom: align.useCssBottom,\n useCssTransform: align.useCssTransform,\n ignoreShake: align.ignoreShake\n });\n return {\n points: points,\n offset: offset,\n targetOffset: targetOffset,\n overflow: newOverflowCfg\n };\n}\n/**\n * 2012-04-26 yiminghe@gmail.com\n * - 优化智能对齐算法\n * - 慎用 resizeXX\n *\n * 2011-07-13 yiminghe@gmail.com note:\n * - 增加智能对齐,以及大小调整选项\n **/\n\nfunction isOutOfVisibleRect(target, alwaysByViewport) {\n var visibleRect = getVisibleRectForElement(target, alwaysByViewport);\n var targetRegion = getRegion(target);\n return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;\n}\n\nfunction alignElement(el, refNode, align) {\n var target = align.target || refNode;\n var refNodeRegion = getRegion(target);\n var isTargetNotOutOfVisible = !isOutOfVisibleRect(target, align.overflow && align.overflow.alwaysByViewport);\n return doAlign(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\n\nalignElement.__getOffsetParent = getOffsetParent;\nalignElement.__getVisibleRectForElement = getVisibleRectForElement;\n\n/**\n * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.\n * If client position provided, will internal convert to page position.\n */\n\nfunction alignPoint(el, tgtPoint, align) {\n var pageX;\n var pageY;\n var doc = utils.getDocument(el);\n var win = doc.defaultView || doc.parentWindow;\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var viewportHeight = utils.viewportHeight(win);\n\n if ('pageX' in tgtPoint) {\n pageX = tgtPoint.pageX;\n } else {\n pageX = scrollX + tgtPoint.clientX;\n }\n\n if ('pageY' in tgtPoint) {\n pageY = tgtPoint.pageY;\n } else {\n pageY = scrollY + tgtPoint.clientY;\n }\n\n var tgtRegion = {\n left: pageX,\n top: pageY,\n width: 0,\n height: 0\n };\n var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight; // Provide default target point\n\n var points = [align.points[0], 'cc'];\n return doAlign(el, tgtRegion, _objectSpread2({}, align, {\n points: points\n }), pointInView);\n}\n\nexport default alignElement;\nexport { alignElement, alignPoint };\n//# sourceMappingURL=index.js.map\n","import contains from '../vc-util/Dom/contains';\nexport function buffer(fn, ms) {\n let timer;\n\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n\n function bufferFn() {\n clear();\n timer = setTimeout(fn, ms);\n }\n\n bufferFn.clear = clear;\n\n return bufferFn;\n}\n\nexport function isSamePoint(prev, next) {\n if (prev === next) return true;\n if (!prev || !next) return false;\n\n if ('pageX' in next && 'pageY' in next) {\n return prev.pageX === next.pageX && prev.pageY === next.pageY;\n }\n\n if ('clientX' in next && 'clientY' in next) {\n return prev.clientX === next.clientX && prev.clientY === next.clientY;\n }\n\n return false;\n}\n\nexport function isWindow(obj) {\n return obj && typeof obj === 'object' && obj.window === obj;\n}\n\nexport function isSimilarValue(val1, val2) {\n const int1 = Math.floor(val1);\n const int2 = Math.floor(val2);\n return Math.abs(int1 - int2) <= 1;\n}\n\nexport function restoreFocus(activeElement, container) {\n // Focus back if is in the container\n if (activeElement !== document.activeElement && contains(container, activeElement)) {\n activeElement.focus();\n }\n}\n","import PropTypes from '../_util/vue-types';\nimport { alignElement, alignPoint } from 'dom-align';\nimport addEventListener from '../vc-util/Dom/addEventListener';\nimport { isWindow, buffer, isSamePoint, isSimilarValue, restoreFocus } from './util';\nimport { cloneElement } from '../_util/vnode.js';\nimport clonedeep from 'lodash/cloneDeep';\nimport { getSlot, getListeners } from '../_util/props-util';\n\nfunction getElement(func) {\n if (typeof func !== 'function' || !func) return null;\n return func();\n}\n\nfunction getPoint(point) {\n if (typeof point !== 'object' || !point) return null;\n return point;\n}\n\nexport default {\n props: {\n childrenProps: PropTypes.object,\n align: PropTypes.object.isRequired,\n target: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).def(() => window),\n monitorBufferTime: PropTypes.number.def(50),\n monitorWindowResize: PropTypes.bool.def(false),\n disabled: PropTypes.bool.def(false),\n },\n data() {\n this.aligned = false;\n return {};\n },\n mounted() {\n this.$nextTick(() => {\n this.prevProps = { ...this.$props };\n const props = this.$props;\n // if parent ref not attached .... use document.getElementById\n !this.aligned && this.forceAlign();\n if (!props.disabled && props.monitorWindowResize) {\n this.startMonitorWindowResize();\n }\n });\n },\n updated() {\n this.$nextTick(() => {\n const prevProps = this.prevProps;\n const props = this.$props;\n let reAlign = false;\n if (!props.disabled) {\n const source = this.$el;\n const sourceRect = source ? source.getBoundingClientRect() : null;\n\n if (prevProps.disabled) {\n reAlign = true;\n } else {\n const lastElement = getElement(prevProps.target);\n const currentElement = getElement(props.target);\n const lastPoint = getPoint(prevProps.target);\n const currentPoint = getPoint(props.target);\n if (isWindow(lastElement) && isWindow(currentElement)) {\n // Skip if is window\n reAlign = false;\n } else if (\n lastElement !== currentElement || // Element change\n (lastElement && !currentElement && currentPoint) || // Change from element to point\n (lastPoint && currentPoint && currentElement) || // Change from point to element\n (currentPoint && !isSamePoint(lastPoint, currentPoint))\n ) {\n reAlign = true;\n }\n\n // If source element size changed\n const preRect = this.sourceRect || {};\n if (\n !reAlign &&\n source &&\n (!isSimilarValue(preRect.width, sourceRect.width) ||\n !isSimilarValue(preRect.height, sourceRect.height))\n ) {\n reAlign = true;\n }\n }\n this.sourceRect = sourceRect;\n }\n\n if (reAlign) {\n this.forceAlign();\n }\n\n if (props.monitorWindowResize && !props.disabled) {\n this.startMonitorWindowResize();\n } else {\n this.stopMonitorWindowResize();\n }\n this.prevProps = { ...this.$props, align: clonedeep(this.$props.align) };\n });\n },\n beforeDestroy() {\n this.stopMonitorWindowResize();\n },\n methods: {\n startMonitorWindowResize() {\n if (!this.resizeHandler) {\n this.bufferMonitor = buffer(this.forceAlign, this.$props.monitorBufferTime);\n this.resizeHandler = addEventListener(window, 'resize', this.bufferMonitor);\n }\n },\n\n stopMonitorWindowResize() {\n if (this.resizeHandler) {\n this.bufferMonitor.clear();\n this.resizeHandler.remove();\n this.resizeHandler = null;\n }\n },\n\n forceAlign() {\n const { disabled, target, align } = this.$props;\n if (!disabled && target) {\n const source = this.$el;\n const listeners = getListeners(this);\n let result;\n const element = getElement(target);\n const point = getPoint(target);\n\n // IE lose focus after element realign\n // We should record activeElement and restore later\n const activeElement = document.activeElement;\n\n if (element) {\n result = alignElement(source, element, align);\n } else if (point) {\n result = alignPoint(source, point, align);\n }\n restoreFocus(activeElement, source);\n this.aligned = true;\n listeners.align && listeners.align(source, result);\n }\n },\n },\n\n render() {\n const { childrenProps } = this.$props;\n const child = getSlot(this)[0];\n if (child && childrenProps) {\n return cloneElement(child, { props: childrenProps });\n }\n return child;\n },\n};\n","// based on vc-align 2.4.5\nimport Align from './Align';\nexport default Align;\n","import PropTypes from '../_util/vue-types';\n\nexport default {\n props: {\n visible: PropTypes.bool,\n hiddenClassName: PropTypes.string,\n },\n render() {\n const { hiddenClassName, visible } = this.$props;\n let children = null;\n if (hiddenClassName || !this.$slots.default || this.$slots.default.length > 1) {\n const cls = '';\n if (!visible && hiddenClassName) {\n // cls += ` ${hiddenClassName}`\n }\n children = <div class={cls}>{this.$slots.default}</div>;\n } else {\n children = this.$slots.default[0];\n }\n return children;\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport LazyRenderBox from './LazyRenderBox';\nimport { getListeners } from '../_util/props-util';\n\nexport default {\n props: {\n hiddenClassName: PropTypes.string.def(''),\n prefixCls: PropTypes.string,\n visible: PropTypes.bool,\n },\n render() {\n const { prefixCls, visible, hiddenClassName } = this.$props;\n const divProps = {\n on: getListeners(this),\n };\n\n return (\n <div {...divProps} class={!visible ? hiddenClassName : ''}>\n <LazyRenderBox class={`${prefixCls}-content`} visible={visible}>\n {this.$slots.default}\n </LazyRenderBox>\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport Align from '../vc-align';\nimport PopupInner from './PopupInner';\nimport LazyRenderBox from './LazyRenderBox';\nimport animate from '../_util/css-animation';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getListeners } from '../_util/props-util';\n\nexport default {\n name: 'VCTriggerPopup',\n mixins: [BaseMixin],\n props: {\n visible: PropTypes.bool,\n getClassNameFromAlign: PropTypes.func,\n getRootDomNode: PropTypes.func,\n align: PropTypes.any,\n destroyPopupOnHide: PropTypes.bool,\n prefixCls: PropTypes.string,\n getContainer: PropTypes.func,\n transitionName: PropTypes.string,\n animation: PropTypes.any,\n maskAnimation: PropTypes.string,\n maskTransitionName: PropTypes.string,\n mask: PropTypes.bool,\n zIndex: PropTypes.number,\n popupClassName: PropTypes.any,\n popupStyle: PropTypes.object.def(() => ({})),\n stretch: PropTypes.string,\n point: PropTypes.shape({\n pageX: PropTypes.number,\n pageY: PropTypes.number,\n }),\n },\n data() {\n this.domEl = null;\n return {\n // Used for stretch\n stretchChecked: false,\n targetWidth: undefined,\n targetHeight: undefined,\n };\n },\n mounted() {\n this.$nextTick(() => {\n this.rootNode = this.getPopupDomNode();\n this.setStretchSize();\n });\n },\n // 如添加会导致动画失效,如放开会导致快速输入时闪动 https://github.com/vueComponent/ant-design-vue/issues/1327,\n // 目前方案是保留动画,闪动问题(动画多次执行)进一步定位\n // beforeUpdate() {\n // if (this.domEl && this.domEl.rcEndListener) {\n // this.domEl.rcEndListener();\n // this.domEl = null;\n // }\n // },\n updated() {\n this.$nextTick(() => {\n this.setStretchSize();\n });\n },\n beforeDestroy() {\n if (this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n } else if (this.$el.remove) {\n this.$el.remove();\n }\n },\n methods: {\n onAlign(popupDomNode, align) {\n const props = this.$props;\n const currentAlignClassName = props.getClassNameFromAlign(align);\n // FIX: https://github.com/react-component/trigger/issues/56\n // FIX: https://github.com/react-component/tooltip/issues/79\n if (this.currentAlignClassName !== currentAlignClassName) {\n this.currentAlignClassName = currentAlignClassName;\n popupDomNode.className = this.getClassName(currentAlignClassName);\n }\n const listeners = getListeners(this);\n listeners.align && listeners.align(popupDomNode, align);\n },\n\n // Record size if stretch needed\n setStretchSize() {\n const { stretch, getRootDomNode, visible } = this.$props;\n const { stretchChecked, targetHeight, targetWidth } = this.$data;\n\n if (!stretch || !visible) {\n if (stretchChecked) {\n this.setState({ stretchChecked: false });\n }\n return;\n }\n\n const $ele = getRootDomNode();\n if (!$ele) return;\n\n const height = $ele.offsetHeight;\n const width = $ele.offsetWidth;\n\n if (targetHeight !== height || targetWidth !== width || !stretchChecked) {\n this.setState({\n stretchChecked: true,\n targetHeight: height,\n targetWidth: width,\n });\n }\n },\n\n getPopupDomNode() {\n return this.$refs.popupInstance ? this.$refs.popupInstance.$el : null;\n },\n\n getTargetElement() {\n return this.$props.getRootDomNode();\n },\n\n // `target` on `rc-align` can accept as a function to get the bind element or a point.\n // ref: https://www.npmjs.com/package/rc-align\n getAlignTarget() {\n const { point } = this.$props;\n if (point) {\n return point;\n }\n return this.getTargetElement;\n },\n\n getMaskTransitionName() {\n const props = this.$props;\n let transitionName = props.maskTransitionName;\n const animation = props.maskAnimation;\n if (!transitionName && animation) {\n transitionName = `${props.prefixCls}-${animation}`;\n }\n return transitionName;\n },\n\n getTransitionName() {\n const props = this.$props;\n let transitionName = props.transitionName;\n const animation = props.animation;\n if (!transitionName) {\n if (typeof animation === 'string') {\n transitionName = `${animation}`;\n } else if (animation && animation.props && animation.props.name) {\n transitionName = animation.props.name;\n }\n }\n return transitionName;\n },\n\n getClassName(currentAlignClassName) {\n return `${this.$props.prefixCls} ${this.$props.popupClassName} ${currentAlignClassName}`;\n },\n getPopupElement() {\n const { $props: props, $slots, getTransitionName } = this;\n const { stretchChecked, targetHeight, targetWidth } = this.$data;\n\n const {\n align,\n visible,\n prefixCls,\n animation,\n popupStyle,\n getClassNameFromAlign,\n destroyPopupOnHide,\n stretch,\n } = props;\n const className = this.getClassName(\n this.currentAlignClassName || getClassNameFromAlign(align),\n );\n // const hiddenClassName = `${prefixCls}-hidden`\n if (!visible) {\n this.currentAlignClassName = null;\n }\n const sizeStyle = {};\n if (stretch) {\n // Stretch with target\n if (stretch.indexOf('height') !== -1) {\n sizeStyle.height = typeof targetHeight === 'number' ? `${targetHeight}px` : targetHeight;\n } else if (stretch.indexOf('minHeight') !== -1) {\n sizeStyle.minHeight =\n typeof targetHeight === 'number' ? `${targetHeight}px` : targetHeight;\n }\n if (stretch.indexOf('width') !== -1) {\n sizeStyle.width = typeof targetWidth === 'number' ? `${targetWidth}px` : targetWidth;\n } else if (stretch.indexOf('minWidth') !== -1) {\n sizeStyle.minWidth = typeof targetWidth === 'number' ? `${targetWidth}px` : targetWidth;\n }\n // Delay force align to makes ui smooth\n if (!stretchChecked) {\n // sizeStyle.visibility = 'hidden'\n setTimeout(() => {\n if (this.$refs.alignInstance) {\n this.$refs.alignInstance.forceAlign();\n }\n }, 0);\n }\n }\n const popupInnerProps = {\n props: {\n prefixCls,\n visible,\n // hiddenClassName,\n },\n class: className,\n on: getListeners(this),\n ref: 'popupInstance',\n style: { ...sizeStyle, ...popupStyle, ...this.getZIndexStyle() },\n };\n let transitionProps = {\n props: {\n appear: true,\n css: false,\n },\n };\n const transitionName = getTransitionName();\n let useTransition = !!transitionName;\n const transitionEvent = {\n beforeEnter: () => {\n // el.style.display = el.__vOriginalDisplay\n // this.$refs.alignInstance.forceAlign();\n },\n enter: (el, done) => {\n // render 后 vue 会移除通过animate动态添加的 class导致动画闪动,延迟两帧添加动画class,可以进一步定位或者重写 transition 组件\n this.$nextTick(() => {\n if (this.$refs.alignInstance) {\n this.$refs.alignInstance.$nextTick(() => {\n this.domEl = el;\n animate(el, `${transitionName}-enter`, done);\n });\n } else {\n done();\n }\n });\n },\n beforeLeave: () => {\n this.domEl = null;\n },\n leave: (el, done) => {\n animate(el, `${transitionName}-leave`, done);\n },\n };\n\n if (typeof animation === 'object') {\n useTransition = true;\n const { on = {}, props = {} } = animation;\n transitionProps.props = { ...transitionProps.props, ...props };\n transitionProps.on = { ...transitionEvent, ...on };\n } else {\n transitionProps.on = transitionEvent;\n }\n if (!useTransition) {\n transitionProps = {};\n }\n if (destroyPopupOnHide) {\n return (\n <transition {...transitionProps}>\n {visible ? (\n <Align\n target={this.getAlignTarget()}\n key=\"popup\"\n ref=\"alignInstance\"\n monitorWindowResize\n align={align}\n onAlign={this.onAlign}\n >\n <PopupInner {...popupInnerProps}>{$slots.default}</PopupInner>\n </Align>\n ) : null}\n </transition>\n );\n }\n return (\n <transition {...transitionProps}>\n <Align\n v-show={visible}\n target={this.getAlignTarget()}\n key=\"popup\"\n ref=\"alignInstance\"\n monitorWindowResize\n disabled={!visible}\n align={align}\n onAlign={this.onAlign}\n >\n <PopupInner {...popupInnerProps}>{$slots.default}</PopupInner>\n </Align>\n </transition>\n );\n },\n\n getZIndexStyle() {\n const style = {};\n const props = this.$props;\n if (props.zIndex !== undefined) {\n style.zIndex = props.zIndex;\n }\n return style;\n },\n\n getMaskElement() {\n const props = this.$props;\n let maskElement = null;\n if (props.mask) {\n const maskTransition = this.getMaskTransitionName();\n maskElement = (\n <LazyRenderBox\n v-show={props.visible}\n style={this.getZIndexStyle()}\n key=\"mask\"\n class={`${props.prefixCls}-mask`}\n visible={props.visible}\n />\n );\n if (maskTransition) {\n maskElement = (\n <transition appear name={maskTransition}>\n {maskElement}\n </transition>\n );\n }\n }\n return maskElement;\n },\n },\n\n render() {\n const { getMaskElement, getPopupElement } = this;\n return (\n <div>\n {getMaskElement()}\n {getPopupElement()}\n </div>\n );\n },\n};\n","function isPointsEq(a1, a2, isAlignPoint) {\n if (isAlignPoint) {\n return a1[0] === a2[0];\n }\n return a1[0] === a2[0] && a1[1] === a2[1];\n}\n\nexport function getAlignFromPlacement(builtinPlacements, placementStr, align) {\n const baseAlign = builtinPlacements[placementStr] || {};\n return {\n ...baseAlign,\n ...align,\n };\n}\n\nexport function getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {\n const points = align.points;\n for (const placement in builtinPlacements) {\n if (builtinPlacements.hasOwnProperty(placement)) {\n if (isPointsEq(builtinPlacements[placement].points, points, isAlignPoint)) {\n return `${prefixCls}-placement-${placement}`;\n }\n }\n }\n return '';\n}\nexport function noop() {}\n","import PropTypes from './vue-types';\n\nexport default {\n props: {\n autoMount: PropTypes.bool.def(true),\n autoDestroy: PropTypes.bool.def(true),\n visible: PropTypes.bool,\n forceRender: PropTypes.bool.def(false),\n parent: PropTypes.any,\n getComponent: PropTypes.func.isRequired,\n getContainer: PropTypes.func.isRequired,\n children: PropTypes.func.isRequired,\n },\n\n mounted() {\n if (this.autoMount) {\n this.renderComponent();\n }\n },\n\n updated() {\n if (this.autoMount) {\n this.renderComponent();\n }\n },\n\n beforeDestroy() {\n if (this.autoDestroy) {\n this.removeContainer();\n }\n },\n methods: {\n removeContainer() {\n if (this.container) {\n this._component && this._component.$destroy();\n this.container.parentNode.removeChild(this.container);\n this.container = null;\n this._component = null;\n }\n },\n\n renderComponent(props = {}, ready) {\n const { visible, forceRender, getContainer, parent } = this;\n const self = this;\n if (visible || parent._component || parent.$refs._component || forceRender) {\n let el = this.componentEl;\n if (!this.container) {\n this.container = getContainer();\n el = document.createElement('div');\n this.componentEl = el;\n this.container.appendChild(el);\n }\n // self.getComponent 不要放在 render 中,会因为响应式数据问题导致,多次触发 render\n const com = { component: self.getComponent(props) };\n if (!this._component) {\n this._component = new this.$root.constructor({\n el,\n parent: self,\n data: {\n _com: com,\n },\n mounted() {\n this.$nextTick(() => {\n if (ready) {\n ready.call(self);\n }\n });\n },\n updated() {\n this.$nextTick(() => {\n if (ready) {\n ready.call(self);\n }\n });\n },\n methods: {\n setComponent(_com) {\n this.$data._com = _com;\n },\n },\n render() {\n return this.$data._com.component;\n },\n });\n } else {\n this._component.setComponent(com);\n }\n }\n },\n },\n\n render() {\n return this.children({\n renderComponent: this.renderComponent,\n removeContainer: this.removeContainer,\n });\n },\n};\n","import Vue from 'vue';\nimport ref from 'vue-ref';\nimport PropTypes from '../_util/vue-types';\nimport contains from '../vc-util/Dom/contains';\nimport {\n hasProp,\n getComponentFromProp,\n getDataEvents,\n filterEmpty,\n getListeners,\n} from '../_util/props-util';\nimport { requestAnimationTimeout, cancelAnimationTimeout } from '../_util/requestAnimationTimeout';\nimport addEventListener from '../vc-util/Dom/addEventListener';\nimport warning from '../_util/warning';\nimport Popup from './Popup';\nimport { getAlignFromPlacement, getAlignPopupClassName, noop } from './utils';\nimport BaseMixin from '../_util/BaseMixin';\nimport { cloneElement } from '../_util/vnode';\nimport ContainerRender from '../_util/ContainerRender';\n\nVue.use(ref, { name: 'ant-ref' });\n\nfunction returnEmptyString() {\n return '';\n}\n\nfunction returnDocument() {\n return window.document;\n}\nconst ALL_HANDLERS = [\n 'click',\n 'mousedown',\n 'touchstart',\n 'mouseenter',\n 'mouseleave',\n 'focus',\n 'blur',\n 'contextmenu',\n];\n\nexport default {\n name: 'Trigger',\n mixins: [BaseMixin],\n props: {\n action: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]).def([]),\n showAction: PropTypes.any.def([]),\n hideAction: PropTypes.any.def([]),\n getPopupClassNameFromAlign: PropTypes.any.def(returnEmptyString),\n // onPopupVisibleChange: PropTypes.func.def(noop),\n afterPopupVisibleChange: PropTypes.func.def(noop),\n popup: PropTypes.any,\n popupStyle: PropTypes.object.def(() => ({})),\n prefixCls: PropTypes.string.def('rc-trigger-popup'),\n popupClassName: PropTypes.string.def(''),\n popupPlacement: PropTypes.string,\n builtinPlacements: PropTypes.object,\n popupTransitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n popupAnimation: PropTypes.any,\n mouseEnterDelay: PropTypes.number.def(0),\n mouseLeaveDelay: PropTypes.number.def(0.1),\n zIndex: PropTypes.number,\n focusDelay: PropTypes.number.def(0),\n blurDelay: PropTypes.number.def(0.15),\n getPopupContainer: PropTypes.func,\n getDocument: PropTypes.func.def(returnDocument),\n forceRender: PropTypes.bool,\n destroyPopupOnHide: PropTypes.bool.def(false),\n mask: PropTypes.bool.def(false),\n maskClosable: PropTypes.bool.def(true),\n // onPopupAlign: PropTypes.func.def(noop),\n popupAlign: PropTypes.object.def(() => ({})),\n popupVisible: PropTypes.bool,\n defaultPopupVisible: PropTypes.bool.def(false),\n maskTransitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n maskAnimation: PropTypes.string,\n stretch: PropTypes.string,\n alignPoint: PropTypes.bool, // Maybe we can support user pass position in the future\n },\n provide() {\n return {\n vcTriggerContext: this,\n };\n },\n inject: {\n vcTriggerContext: { default: () => ({}) },\n savePopupRef: { default: () => noop },\n dialogContext: { default: () => null },\n },\n data() {\n const props = this.$props;\n let popupVisible;\n if (hasProp(this, 'popupVisible')) {\n popupVisible = !!props.popupVisible;\n } else {\n popupVisible = !!props.defaultPopupVisible;\n }\n ALL_HANDLERS.forEach(h => {\n this[`fire${h}`] = e => {\n this.fireEvents(h, e);\n };\n });\n return {\n prevPopupVisible: popupVisible,\n sPopupVisible: popupVisible,\n point: null,\n };\n },\n watch: {\n popupVisible(val) {\n if (val !== undefined) {\n this.prevPopupVisible = this.sPopupVisible;\n this.sPopupVisible = val;\n }\n },\n },\n deactivated() {\n this.setPopupVisible(false);\n },\n mounted() {\n this.$nextTick(() => {\n this.renderComponent(null);\n this.updatedCal();\n });\n },\n\n updated() {\n const triggerAfterPopupVisibleChange = () => {\n if (this.sPopupVisible !== this.prevPopupVisible) {\n this.afterPopupVisibleChange(this.sPopupVisible);\n }\n this.prevPopupVisible = this.sPopupVisible;\n };\n this.renderComponent(null, triggerAfterPopupVisibleChange);\n this.$nextTick(() => {\n this.updatedCal();\n });\n },\n\n beforeDestroy() {\n this.clearDelayTimer();\n this.clearOutsideHandler();\n clearTimeout(this.mouseDownTimeout);\n },\n methods: {\n updatedCal() {\n const props = this.$props;\n const state = this.$data;\n\n // We must listen to `mousedown` or `touchstart`, edge case:\n // https://github.com/ant-design/ant-design/issues/5804\n // https://github.com/react-component/calendar/issues/250\n // https://github.com/react-component/trigger/issues/50\n if (state.sPopupVisible) {\n let currentDocument;\n if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextmenuToShow())) {\n currentDocument = props.getDocument();\n this.clickOutsideHandler = addEventListener(\n currentDocument,\n 'mousedown',\n this.onDocumentClick,\n );\n }\n // always hide on mobile\n if (!this.touchOutsideHandler) {\n currentDocument = currentDocument || props.getDocument();\n this.touchOutsideHandler = addEventListener(\n currentDocument,\n 'touchstart',\n this.onDocumentClick,\n );\n }\n // close popup when trigger type contains 'onContextmenu' and document is scrolling.\n if (!this.contextmenuOutsideHandler1 && this.isContextmenuToShow()) {\n currentDocument = currentDocument || props.getDocument();\n this.contextmenuOutsideHandler1 = addEventListener(\n currentDocument,\n 'scroll',\n this.onContextmenuClose,\n );\n }\n // close popup when trigger type contains 'onContextmenu' and window is blur.\n if (!this.contextmenuOutsideHandler2 && this.isContextmenuToShow()) {\n this.contextmenuOutsideHandler2 = addEventListener(\n window,\n 'blur',\n this.onContextmenuClose,\n );\n }\n } else {\n this.clearOutsideHandler();\n }\n },\n onMouseenter(e) {\n const { mouseEnterDelay } = this.$props;\n this.fireEvents('mouseenter', e);\n this.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e);\n },\n\n onMouseMove(e) {\n this.fireEvents('mousemove', e);\n this.setPoint(e);\n },\n\n onMouseleave(e) {\n this.fireEvents('mouseleave', e);\n this.delaySetPopupVisible(false, this.$props.mouseLeaveDelay);\n },\n\n onPopupMouseenter() {\n this.clearDelayTimer();\n },\n\n onPopupMouseleave(e) {\n if (\n e &&\n e.relatedTarget &&\n !e.relatedTarget.setTimeout &&\n this._component &&\n this._component.getPopupDomNode &&\n contains(this._component.getPopupDomNode(), e.relatedTarget)\n ) {\n return;\n }\n this.delaySetPopupVisible(false, this.$props.mouseLeaveDelay);\n },\n\n onFocus(e) {\n this.fireEvents('focus', e);\n // incase focusin and focusout\n this.clearDelayTimer();\n if (this.isFocusToShow()) {\n this.focusTime = Date.now();\n this.delaySetPopupVisible(true, this.$props.focusDelay);\n }\n },\n\n onMousedown(e) {\n this.fireEvents('mousedown', e);\n this.preClickTime = Date.now();\n },\n\n onTouchstart(e) {\n this.fireEvents('touchstart', e);\n this.preTouchTime = Date.now();\n },\n\n onBlur(e) {\n if (!contains(e.target, e.relatedTarget || document.activeElement)) {\n this.fireEvents('blur', e);\n this.clearDelayTimer();\n if (this.isBlurToHide()) {\n this.delaySetPopupVisible(false, this.$props.blurDelay);\n }\n }\n },\n\n onContextmenu(e) {\n e.preventDefault();\n this.fireEvents('contextmenu', e);\n this.setPopupVisible(true, e);\n },\n\n onContextmenuClose() {\n if (this.isContextmenuToShow()) {\n this.close();\n }\n },\n\n onClick(event) {\n this.fireEvents('click', event);\n // focus will trigger click\n if (this.focusTime) {\n let preTime;\n if (this.preClickTime && this.preTouchTime) {\n preTime = Math.min(this.preClickTime, this.preTouchTime);\n } else if (this.preClickTime) {\n preTime = this.preClickTime;\n } else if (this.preTouchTime) {\n preTime = this.preTouchTime;\n }\n if (Math.abs(preTime - this.focusTime) < 20) {\n return;\n }\n this.focusTime = 0;\n }\n this.preClickTime = 0;\n this.preTouchTime = 0;\n // Only prevent default when all the action is click.\n // https://github.com/ant-design/ant-design/issues/17043\n // https://github.com/ant-design/ant-design/issues/17291\n if (\n this.isClickToShow() &&\n (this.isClickToHide() || this.isBlurToHide()) &&\n event &&\n event.preventDefault\n ) {\n event.preventDefault();\n }\n if (event && event.domEvent) {\n event.domEvent.preventDefault();\n }\n const nextVisible = !this.$data.sPopupVisible;\n if ((this.isClickToHide() && !nextVisible) || (nextVisible && this.isClickToShow())) {\n this.setPopupVisible(!this.$data.sPopupVisible, event);\n }\n },\n onPopupMouseDown(...args) {\n const { vcTriggerContext = {} } = this;\n this.hasPopupMouseDown = true;\n\n clearTimeout(this.mouseDownTimeout);\n this.mouseDownTimeout = setTimeout(() => {\n this.hasPopupMouseDown = false;\n }, 0);\n\n if (vcTriggerContext.onPopupMouseDown) {\n vcTriggerContext.onPopupMouseDown(...args);\n }\n },\n\n onDocumentClick(event) {\n if (this.$props.mask && !this.$props.maskClosable) {\n return;\n }\n const target = event.target;\n const root = this.$el;\n if (!contains(root, target) && !this.hasPopupMouseDown) {\n this.close();\n }\n },\n getPopupDomNode() {\n if (this._component && this._component.getPopupDomNode) {\n return this._component.getPopupDomNode();\n }\n return null;\n },\n\n getRootDomNode() {\n return this.$el;\n // return this.$el.children[0] || this.$el\n },\n\n handleGetPopupClassFromAlign(align) {\n const className = [];\n const props = this.$props;\n const {\n popupPlacement,\n builtinPlacements,\n prefixCls,\n alignPoint,\n getPopupClassNameFromAlign,\n } = props;\n if (popupPlacement && builtinPlacements) {\n className.push(getAlignPopupClassName(builtinPlacements, prefixCls, align, alignPoint));\n }\n if (getPopupClassNameFromAlign) {\n className.push(getPopupClassNameFromAlign(align));\n }\n return className.join(' ');\n },\n\n getPopupAlign() {\n const props = this.$props;\n const { popupPlacement, popupAlign, builtinPlacements } = props;\n if (popupPlacement && builtinPlacements) {\n return getAlignFromPlacement(builtinPlacements, popupPlacement, popupAlign);\n }\n return popupAlign;\n },\n savePopup(node) {\n this._component = node;\n this.savePopupRef(node);\n },\n getComponent() {\n const self = this;\n const mouseProps = {};\n if (this.isMouseEnterToShow()) {\n mouseProps.mouseenter = self.onPopupMouseenter;\n }\n if (this.isMouseLeaveToHide()) {\n mouseProps.mouseleave = self.onPopupMouseleave;\n }\n mouseProps.mousedown = this.onPopupMouseDown;\n mouseProps.touchstart = this.onPopupMouseDown;\n const { handleGetPopupClassFromAlign, getRootDomNode, getContainer } = self;\n const {\n prefixCls,\n destroyPopupOnHide,\n popupClassName,\n action,\n popupAnimation,\n popupTransitionName,\n popupStyle,\n mask,\n maskAnimation,\n maskTransitionName,\n zIndex,\n stretch,\n alignPoint,\n } = self.$props;\n const { sPopupVisible, point } = this.$data;\n const align = this.getPopupAlign();\n const popupProps = {\n props: {\n prefixCls,\n destroyPopupOnHide,\n visible: sPopupVisible,\n point: alignPoint && point,\n action,\n align,\n animation: popupAnimation,\n getClassNameFromAlign: handleGetPopupClassFromAlign,\n stretch,\n getRootDomNode,\n mask,\n zIndex,\n transitionName: popupTransitionName,\n maskAnimation,\n maskTransitionName,\n getContainer,\n popupClassName,\n popupStyle,\n },\n on: {\n align: getListeners(this).popupAlign || noop,\n ...mouseProps,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.savePopup,\n },\n ],\n };\n return <Popup {...popupProps}>{getComponentFromProp(self, 'popup')}</Popup>;\n },\n\n getContainer() {\n const { $props: props, dialogContext } = this;\n const popupContainer = document.createElement('div');\n // Make sure default popup container will never cause scrollbar appearing\n // https://github.com/react-component/trigger/issues/41\n popupContainer.style.position = 'absolute';\n popupContainer.style.top = '0';\n popupContainer.style.left = '0';\n popupContainer.style.width = '100%';\n const mountNode = props.getPopupContainer\n ? props.getPopupContainer(this.$el, dialogContext)\n : props.getDocument().body;\n mountNode.appendChild(popupContainer);\n this.popupContainer = popupContainer;\n return popupContainer;\n },\n\n setPopupVisible(sPopupVisible, event) {\n const { alignPoint, sPopupVisible: prevPopupVisible } = this;\n this.clearDelayTimer();\n if (prevPopupVisible !== sPopupVisible) {\n if (!hasProp(this, 'popupVisible')) {\n this.setState({\n sPopupVisible,\n prevPopupVisible,\n });\n }\n const listeners = getListeners(this);\n listeners.popupVisibleChange && listeners.popupVisibleChange(sPopupVisible);\n }\n // Always record the point position since mouseEnterDelay will delay the show\n if (alignPoint && event) {\n this.setPoint(event);\n }\n },\n\n setPoint(point) {\n const { alignPoint } = this.$props;\n if (!alignPoint || !point) return;\n\n this.setState({\n point: {\n pageX: point.pageX,\n pageY: point.pageY,\n },\n });\n },\n\n delaySetPopupVisible(visible, delayS, event) {\n const delay = delayS * 1000;\n this.clearDelayTimer();\n if (delay) {\n const point = event ? { pageX: event.pageX, pageY: event.pageY } : null;\n this.delayTimer = requestAnimationTimeout(() => {\n this.setPopupVisible(visible, point);\n this.clearDelayTimer();\n }, delay);\n } else {\n this.setPopupVisible(visible, event);\n }\n },\n\n clearDelayTimer() {\n if (this.delayTimer) {\n cancelAnimationTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n },\n\n clearOutsideHandler() {\n if (this.clickOutsideHandler) {\n this.clickOutsideHandler.remove();\n this.clickOutsideHandler = null;\n }\n\n if (this.contextmenuOutsideHandler1) {\n this.contextmenuOutsideHandler1.remove();\n this.contextmenuOutsideHandler1 = null;\n }\n\n if (this.contextmenuOutsideHandler2) {\n this.contextmenuOutsideHandler2.remove();\n this.contextmenuOutsideHandler2 = null;\n }\n\n if (this.touchOutsideHandler) {\n this.touchOutsideHandler.remove();\n this.touchOutsideHandler = null;\n }\n },\n\n createTwoChains(event) {\n let fn = () => {};\n const events = getListeners(this);\n if (this.childOriginEvents[event] && events[event]) {\n return this[`fire${event}`];\n }\n fn = this.childOriginEvents[event] || events[event] || fn;\n return fn;\n },\n\n isClickToShow() {\n const { action, showAction } = this.$props;\n return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1;\n },\n\n isContextmenuToShow() {\n const { action, showAction } = this.$props;\n return action.indexOf('contextmenu') !== -1 || showAction.indexOf('contextmenu') !== -1;\n },\n\n isClickToHide() {\n const { action, hideAction } = this.$props;\n return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1;\n },\n\n isMouseEnterToShow() {\n const { action, showAction } = this.$props;\n return action.indexOf('hover') !== -1 || showAction.indexOf('mouseenter') !== -1;\n },\n\n isMouseLeaveToHide() {\n const { action, hideAction } = this.$props;\n return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseleave') !== -1;\n },\n\n isFocusToShow() {\n const { action, showAction } = this.$props;\n return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1;\n },\n\n isBlurToHide() {\n const { action, hideAction } = this.$props;\n return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1;\n },\n forcePopupAlign() {\n if (this.$data.sPopupVisible && this._component && this._component.$refs.alignInstance) {\n this._component.$refs.alignInstance.forceAlign();\n }\n },\n fireEvents(type, e) {\n if (this.childOriginEvents[type]) {\n this.childOriginEvents[type](e);\n }\n this.__emit(type, e);\n },\n\n close() {\n this.setPopupVisible(false);\n },\n },\n render() {\n const { sPopupVisible } = this;\n const children = filterEmpty(this.$slots.default);\n const { forceRender, alignPoint } = this.$props;\n\n if (children.length > 1) {\n warning(false, 'Trigger $slots.default.length > 1, just support only one default', true);\n }\n const child = children[0];\n this.childOriginEvents = getDataEvents(child);\n const newChildProps = {\n props: {},\n nativeOn: {},\n key: 'trigger',\n };\n\n if (this.isContextmenuToShow()) {\n newChildProps.nativeOn.contextmenu = this.onContextmenu;\n } else {\n newChildProps.nativeOn.contextmenu = this.createTwoChains('contextmenu');\n }\n\n if (this.isClickToHide() || this.isClickToShow()) {\n newChildProps.nativeOn.click = this.onClick;\n newChildProps.nativeOn.mousedown = this.onMousedown;\n newChildProps.nativeOn.touchstart = this.onTouchstart;\n } else {\n newChildProps.nativeOn.click = this.createTwoChains('click');\n newChildProps.nativeOn.mousedown = this.createTwoChains('mousedown');\n newChildProps.nativeOn.touchstart = this.createTwoChains('onTouchstart');\n }\n if (this.isMouseEnterToShow()) {\n newChildProps.nativeOn.mouseenter = this.onMouseenter;\n if (alignPoint) {\n newChildProps.nativeOn.mousemove = this.onMouseMove;\n }\n } else {\n newChildProps.nativeOn.mouseenter = this.createTwoChains('mouseenter');\n }\n if (this.isMouseLeaveToHide()) {\n newChildProps.nativeOn.mouseleave = this.onMouseleave;\n } else {\n newChildProps.nativeOn.mouseleave = this.createTwoChains('mouseleave');\n }\n\n if (this.isFocusToShow() || this.isBlurToHide()) {\n newChildProps.nativeOn.focus = this.onFocus;\n newChildProps.nativeOn.blur = this.onBlur;\n } else {\n newChildProps.nativeOn.focus = this.createTwoChains('focus');\n newChildProps.nativeOn.blur = e => {\n if (e && (!e.relatedTarget || !contains(e.target, e.relatedTarget))) {\n this.createTwoChains('blur')(e);\n }\n };\n }\n\n this.trigger = cloneElement(child, newChildProps);\n\n return (\n <ContainerRender\n parent={this}\n visible={sPopupVisible}\n autoMount={false}\n forceRender={forceRender}\n getComponent={this.getComponent}\n getContainer={this.getContainer}\n children={({ renderComponent }) => {\n this.renderComponent = renderComponent;\n return this.trigger;\n }}\n />\n );\n },\n};\n","// based on rc-trigger 2.6.5\nimport Trigger from './Trigger';\nexport default Trigger;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","const autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1,\n};\n\nconst targetOffset = [0, 0];\n\nexport const placements = {\n left: {\n points: ['cr', 'cl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset,\n },\n right: {\n points: ['cl', 'cr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset,\n },\n top: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n bottom: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset,\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset,\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset,\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n rightBottom: {\n points: ['bl', 'br'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset,\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset,\n },\n leftBottom: {\n points: ['br', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset,\n },\n};\n\nexport default placements;\n","import PropTypes from '../_util/vue-types';\n\nexport default {\n props: {\n prefixCls: PropTypes.string,\n overlay: PropTypes.any,\n trigger: PropTypes.any,\n },\n updated() {\n const { trigger } = this;\n if (trigger) {\n trigger.forcePopupAlign();\n }\n },\n render() {\n const { overlay, prefixCls } = this;\n return (\n <div class={`${prefixCls}-inner`} role=\"tooltip\">\n {typeof overlay === 'function' ? overlay() : overlay}\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport Trigger from '../vc-trigger';\nimport { placements } from './placements';\nimport Content from './Content';\nimport { hasProp, getComponentFromProp, getOptionProps, getListeners } from '../_util/props-util';\nfunction noop() {}\nexport default {\n props: {\n trigger: PropTypes.any.def(['hover']),\n defaultVisible: PropTypes.bool,\n visible: PropTypes.bool,\n placement: PropTypes.string.def('right'),\n transitionName: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n animation: PropTypes.any,\n afterVisibleChange: PropTypes.func.def(() => {}),\n overlay: PropTypes.any,\n overlayStyle: PropTypes.object,\n overlayClassName: PropTypes.string,\n prefixCls: PropTypes.string.def('rc-tooltip'),\n mouseEnterDelay: PropTypes.number.def(0),\n mouseLeaveDelay: PropTypes.number.def(0.1),\n getTooltipContainer: PropTypes.func,\n destroyTooltipOnHide: PropTypes.bool.def(false),\n align: PropTypes.object.def(() => ({})),\n arrowContent: PropTypes.any.def(null),\n tipId: PropTypes.string,\n builtinPlacements: PropTypes.object,\n },\n methods: {\n getPopupElement() {\n const { prefixCls, tipId } = this.$props;\n return [\n <div class={`${prefixCls}-arrow`} key=\"arrow\">\n {getComponentFromProp(this, 'arrowContent')}\n </div>,\n <Content\n key=\"content\"\n trigger={this.$refs.trigger}\n prefixCls={prefixCls}\n id={tipId}\n overlay={getComponentFromProp(this, 'overlay')}\n />,\n ];\n },\n\n getPopupDomNode() {\n return this.$refs.trigger.getPopupDomNode();\n },\n },\n render(h) {\n const {\n overlayClassName,\n trigger,\n mouseEnterDelay,\n mouseLeaveDelay,\n overlayStyle,\n prefixCls,\n afterVisibleChange,\n transitionName,\n animation,\n placement,\n align,\n destroyTooltipOnHide,\n defaultVisible,\n getTooltipContainer,\n ...restProps\n } = getOptionProps(this);\n const extraProps = { ...restProps };\n if (hasProp(this, 'visible')) {\n extraProps.popupVisible = this.$props.visible;\n }\n const listeners = getListeners(this);\n const triggerProps = {\n props: {\n popupClassName: overlayClassName,\n prefixCls,\n action: trigger,\n builtinPlacements: placements,\n popupPlacement: placement,\n popupAlign: align,\n getPopupContainer: getTooltipContainer,\n afterPopupVisibleChange: afterVisibleChange,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n defaultPopupVisible: defaultVisible,\n destroyPopupOnHide: destroyTooltipOnHide,\n mouseLeaveDelay,\n popupStyle: overlayStyle,\n mouseEnterDelay,\n ...extraProps,\n },\n on: {\n ...listeners,\n popupVisibleChange: listeners.visibleChange || noop,\n popupAlign: listeners.popupAlign || noop,\n },\n ref: 'trigger',\n };\n return (\n <Trigger {...triggerProps}>\n <template slot=\"popup\">{this.getPopupElement(h)}</template>\n {this.$slots.default}\n </Trigger>\n );\n },\n};\n","// based on rc-tooltip 3.7.3\nimport Tooltip from './Tooltip';\n\nexport default Tooltip;\n","import { placements as rcPlacements } from '../vc-tooltip/placements';\n\nconst autoAdjustOverflowEnabled = {\n adjustX: 1,\n adjustY: 1,\n};\n\nconst autoAdjustOverflowDisabled = {\n adjustX: 0,\n adjustY: 0,\n};\n\nconst targetOffset = [0, 0];\n\nexport function getOverflowOptions(autoAdjustOverflow) {\n if (typeof autoAdjustOverflow === 'boolean') {\n return autoAdjustOverflow ? autoAdjustOverflowEnabled : autoAdjustOverflowDisabled;\n }\n return {\n ...autoAdjustOverflowDisabled,\n ...autoAdjustOverflow,\n };\n}\n\nexport default function getPlacements(config) {\n const {\n arrowWidth = 5,\n horizontalArrowShift = 16,\n verticalArrowShift = 12,\n autoAdjustOverflow = true,\n } = config;\n const placementMap = {\n left: {\n points: ['cr', 'cl'],\n offset: [-4, 0],\n },\n right: {\n points: ['cl', 'cr'],\n offset: [4, 0],\n },\n top: {\n points: ['bc', 'tc'],\n offset: [0, -4],\n },\n bottom: {\n points: ['tc', 'bc'],\n offset: [0, 4],\n },\n topLeft: {\n points: ['bl', 'tc'],\n offset: [-(horizontalArrowShift + arrowWidth), -4],\n },\n leftTop: {\n points: ['tr', 'cl'],\n offset: [-4, -(verticalArrowShift + arrowWidth)],\n },\n topRight: {\n points: ['br', 'tc'],\n offset: [horizontalArrowShift + arrowWidth, -4],\n },\n rightTop: {\n points: ['tl', 'cr'],\n offset: [4, -(verticalArrowShift + arrowWidth)],\n },\n bottomRight: {\n points: ['tr', 'bc'],\n offset: [horizontalArrowShift + arrowWidth, 4],\n },\n rightBottom: {\n points: ['bl', 'cr'],\n offset: [4, verticalArrowShift + arrowWidth],\n },\n bottomLeft: {\n points: ['tl', 'bc'],\n offset: [-(horizontalArrowShift + arrowWidth), 4],\n },\n leftBottom: {\n points: ['br', 'cl'],\n offset: [-4, verticalArrowShift + arrowWidth],\n },\n };\n Object.keys(placementMap).forEach(key => {\n placementMap[key] = config.arrowPointAtCenter\n ? {\n ...placementMap[key],\n overflow: getOverflowOptions(autoAdjustOverflow),\n targetOffset,\n }\n : {\n ...rcPlacements[key],\n overflow: getOverflowOptions(autoAdjustOverflow),\n };\n placementMap[key].ignoreShake = true;\n });\n return placementMap;\n}\n","import { cloneElement } from '../_util/vnode';\nimport VcTooltip from '../vc-tooltip';\nimport getPlacements from './placements';\nimport PropTypes from '../_util/vue-types';\nimport {\n hasProp,\n getComponentFromProp,\n getClass,\n getStyle,\n isValidElement,\n getListeners,\n} from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\nimport abstractTooltipProps from './abstractTooltipProps';\n\nconst splitObject = (obj, keys) => {\n const picked = {};\n const omitted = { ...obj };\n keys.forEach(key => {\n if (obj && key in obj) {\n picked[key] = obj[key];\n delete omitted[key];\n }\n });\n return { picked, omitted };\n};\nconst props = abstractTooltipProps();\nexport default {\n name: 'ATooltip',\n model: {\n prop: 'visible',\n event: 'visibleChange',\n },\n props: {\n ...props,\n title: PropTypes.any,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n return {\n sVisible: !!this.$props.visible || !!this.$props.defaultVisible,\n };\n },\n watch: {\n visible(val) {\n this.sVisible = val;\n },\n },\n methods: {\n onVisibleChange(visible) {\n if (!hasProp(this, 'visible')) {\n this.sVisible = this.isNoTitle() ? false : visible;\n }\n if (!this.isNoTitle()) {\n this.$emit('visibleChange', visible);\n }\n },\n\n getPopupDomNode() {\n return this.$refs.tooltip.getPopupDomNode();\n },\n\n getPlacements() {\n const { builtinPlacements, arrowPointAtCenter, autoAdjustOverflow } = this.$props;\n return (\n builtinPlacements ||\n getPlacements({\n arrowPointAtCenter,\n verticalArrowShift: 8,\n autoAdjustOverflow,\n })\n );\n },\n\n // Fix Tooltip won't hide at disabled button\n // mouse events don't trigger at disabled button in Chrome\n // https://github.com/react-component/tooltip/issues/18\n getDisabledCompatibleChildren(ele) {\n const options = (ele.componentOptions && ele.componentOptions.Ctor.options) || {};\n\n if (\n ((options.__ANT_BUTTON === true ||\n options.__ANT_SWITCH === true ||\n options.__ANT_CHECKBOX === true) &&\n (ele.componentOptions.propsData.disabled ||\n ele.componentOptions.propsData.disabled === '')) ||\n (ele.tag === 'button' &&\n ele.data &&\n ele.data.attrs &&\n ele.data.attrs.disabled !== undefined)\n ) {\n // Pick some layout related style properties up to span\n // Prevent layout bugs like https://github.com/ant-design/ant-design/issues/5254\n const { picked, omitted } = splitObject(getStyle(ele), [\n 'position',\n 'left',\n 'right',\n 'top',\n 'bottom',\n 'float',\n 'display',\n 'zIndex',\n ]);\n const spanStyle = {\n display: 'inline-block', // default inline-block is important\n ...picked,\n cursor: 'not-allowed',\n width: ele.componentOptions.propsData.block ? '100%' : null,\n };\n const buttonStyle = {\n ...omitted,\n pointerEvents: 'none',\n };\n const spanCls = getClass(ele);\n const child = cloneElement(ele, {\n style: buttonStyle,\n class: null,\n });\n return (\n <span style={spanStyle} class={spanCls}>\n {child}\n </span>\n );\n }\n return ele;\n },\n\n isNoTitle() {\n const title = getComponentFromProp(this, 'title');\n return !title && title !== 0;\n },\n\n getOverlay() {\n const title = getComponentFromProp(this, 'title');\n if (title === 0) {\n return title;\n }\n return title || '';\n },\n\n // 动态设置动画点\n onPopupAlign(domNode, align) {\n const placements = this.getPlacements();\n // 当前返回的位置\n const placement = Object.keys(placements).filter(\n key =>\n placements[key].points[0] === align.points[0] &&\n placements[key].points[1] === align.points[1],\n )[0];\n if (!placement) {\n return;\n }\n // 根据当前坐标设置动画点\n const rect = domNode.getBoundingClientRect();\n const transformOrigin = {\n top: '50%',\n left: '50%',\n };\n if (placement.indexOf('top') >= 0 || placement.indexOf('Bottom') >= 0) {\n transformOrigin.top = `${rect.height - align.offset[1]}px`;\n } else if (placement.indexOf('Top') >= 0 || placement.indexOf('bottom') >= 0) {\n transformOrigin.top = `${-align.offset[1]}px`;\n }\n if (placement.indexOf('left') >= 0 || placement.indexOf('Right') >= 0) {\n transformOrigin.left = `${rect.width - align.offset[0]}px`;\n } else if (placement.indexOf('right') >= 0 || placement.indexOf('Left') >= 0) {\n transformOrigin.left = `${-align.offset[0]}px`;\n }\n domNode.style.transformOrigin = `${transformOrigin.left} ${transformOrigin.top}`;\n },\n },\n\n render() {\n const { $props, $data, $slots } = this;\n const { prefixCls: customizePrefixCls, openClassName, getPopupContainer } = $props;\n const { getPopupContainer: getContextPopupContainer } = this.configProvider;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('tooltip', customizePrefixCls);\n let children = ($slots.default || []).filter(c => c.tag || c.text.trim() !== '');\n children = children.length === 1 ? children[0] : children;\n let sVisible = $data.sVisible;\n // Hide tooltip when there is no title\n if (!hasProp(this, 'visible') && this.isNoTitle()) {\n sVisible = false;\n }\n if (!children) {\n return null;\n }\n const child = this.getDisabledCompatibleChildren(\n isValidElement(children) ? children : <span>{children}</span>,\n );\n const childCls = {\n [openClassName || `${prefixCls}-open`]: true,\n };\n const tooltipProps = {\n props: {\n ...$props,\n prefixCls,\n getTooltipContainer: getPopupContainer || getContextPopupContainer,\n builtinPlacements: this.getPlacements(),\n overlay: this.getOverlay(),\n visible: sVisible,\n },\n ref: 'tooltip',\n on: {\n ...getListeners(this),\n visibleChange: this.onVisibleChange,\n popupAlign: this.onPopupAlign,\n },\n };\n return (\n <VcTooltip {...tooltipProps}>\n {sVisible ? cloneElement(child, { class: childCls }) : child}\n </VcTooltip>\n );\n },\n};\n","import ToolTip from './Tooltip';\nimport Base from '../base';\n\n/* istanbul ignore next */\nToolTip.install = function(Vue) {\n Vue.use(Base);\n Vue.component(ToolTip.name, ToolTip);\n};\n\nexport default ToolTip;\n","const availablePrefixs = ['moz', 'ms', 'webkit'];\n\nfunction requestAnimationFramePolyfill() {\n let lastTime = 0;\n return function(callback) {\n const currTime = new Date().getTime();\n const timeToCall = Math.max(0, 16 - (currTime - lastTime));\n const id = window.setTimeout(function() {\n callback(currTime + timeToCall);\n }, timeToCall);\n lastTime = currTime + timeToCall;\n return id;\n };\n}\n\nexport default function getRequestAnimationFrame() {\n if (typeof window === 'undefined') {\n return () => {};\n }\n if (window.requestAnimationFrame) {\n // https://github.com/vuejs/vue/issues/4465\n return window.requestAnimationFrame.bind(window);\n }\n\n const prefix = availablePrefixs.filter(key => `${key}RequestAnimationFrame` in window)[0];\n\n return prefix ? window[`${prefix}RequestAnimationFrame`] : requestAnimationFramePolyfill();\n}\n\nexport function cancelRequestAnimationFrame(id) {\n if (typeof window === 'undefined') {\n return null;\n }\n if (window.cancelAnimationFrame) {\n return window.cancelAnimationFrame(id);\n }\n const prefix = availablePrefixs.filter(\n key => `${key}CancelAnimationFrame` in window || `${key}CancelRequestAnimationFrame` in window,\n )[0];\n\n return prefix\n ? (\n window[`${prefix}CancelAnimationFrame`] || window[`${prefix}CancelRequestAnimationFrame`]\n ).call(this, id)\n : clearTimeout(id);\n}\n","import getRequestAnimationFrame, {\n cancelRequestAnimationFrame as caf,\n} from './getRequestAnimationFrame';\nconst raf = getRequestAnimationFrame();\n\nexport const cancelAnimationTimeout = frame => caf(frame.id);\n\nexport const requestAnimationTimeout = (callback, delay) => {\n const start = Date.now();\n function timeout() {\n if (Date.now() - start >= delay) {\n callback.call();\n } else {\n frame.id = raf(timeout);\n }\n }\n\n const frame = {\n id: raf(timeout),\n };\n\n return frame;\n};\n","var baseSet = require('./_baseSet');\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n}\n\nmodule.exports = set;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","import locale from '../locale/default';\n\nexport default locale;\n","export function T() {\n return true;\n}\n\n// Fix IE file.status problem\n// via coping a new Object\nexport function fileToObject(file) {\n return {\n ...file,\n lastModified: file.lastModified,\n lastModifiedDate: file.lastModifiedDate,\n name: file.name,\n size: file.size,\n type: file.type,\n uid: file.uid,\n percent: 0,\n originFileObj: file,\n };\n}\n\n/**\n * 生成Progress percent: 0.1 -> 0.98\n * - for ie\n */\nexport function genPercentAdd() {\n let k = 0.1;\n const i = 0.01;\n const end = 0.98;\n return function(s) {\n let start = s;\n if (start >= end) {\n return start;\n }\n\n start += k;\n k = k - i;\n if (k < 0.001) {\n k = 0.001;\n }\n return start;\n };\n}\n\nexport function getFileItem(file, fileList) {\n const matchKey = file.uid !== undefined ? 'uid' : 'name';\n return fileList.filter(item => item[matchKey] === file[matchKey])[0];\n}\n\nexport function removeFileItem(file, fileList) {\n const matchKey = file.uid !== undefined ? 'uid' : 'name';\n const removed = fileList.filter(item => item[matchKey] !== file[matchKey]);\n if (removed.length === fileList.length) {\n return null;\n }\n return removed;\n}\n\n// ==================== Default Image Preview ====================\nconst extname = (url = '') => {\n const temp = url.split('/');\n const filename = temp[temp.length - 1];\n const filenameWithoutSuffix = filename.split(/#|\\?/)[0];\n return (/\\.[^./\\\\]*$/.exec(filenameWithoutSuffix) || [''])[0];\n};\n\nconst isImageFileType = type => !!type && type.indexOf('image/') === 0;\n\nexport const isImageUrl = file => {\n if (isImageFileType(file.type)) {\n return true;\n }\n const url = file.thumbUrl || file.url;\n const extension = extname(url);\n if (\n /^data:image\\//.test(url) ||\n /(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico)$/i.test(extension)\n ) {\n return true;\n }\n if (/^data:/.test(url)) {\n // other file types of base64\n return false;\n }\n if (extension) {\n // other file types which have extension\n return false;\n }\n return true;\n};\n\nconst MEASURE_SIZE = 200;\nexport function previewImage(file) {\n return new Promise(resolve => {\n if (!isImageFileType(file.type)) {\n resolve('');\n return;\n }\n\n const canvas = document.createElement('canvas');\n canvas.width = MEASURE_SIZE;\n canvas.height = MEASURE_SIZE;\n canvas.style.cssText = `position: fixed; left: 0; top: 0; width: ${MEASURE_SIZE}px; height: ${MEASURE_SIZE}px; z-index: 9999; display: none;`;\n document.body.appendChild(canvas);\n const ctx = canvas.getContext('2d');\n const img = new Image();\n img.onload = () => {\n const { width, height } = img;\n\n let drawWidth = MEASURE_SIZE;\n let drawHeight = MEASURE_SIZE;\n let offsetX = 0;\n let offsetY = 0;\n\n if (width < height) {\n drawHeight = height * (MEASURE_SIZE / width);\n offsetY = -(drawHeight - drawWidth) / 2;\n } else {\n drawWidth = width * (MEASURE_SIZE / height);\n offsetX = -(drawWidth - drawHeight) / 2;\n }\n\n ctx.drawImage(img, offsetX, offsetY, drawWidth, drawHeight);\n const dataURL = canvas.toDataURL();\n document.body.removeChild(canvas);\n\n resolve(dataURL);\n };\n img.src = window.URL.createObjectURL(file);\n });\n}\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","import PropsTypes from '../_util/vue-types';\n\nexport const UploadFileStatus = PropsTypes.oneOf([\n 'error',\n 'success',\n 'done',\n 'uploading',\n 'removed',\n]);\n\n// export const HttpRequestHeader {\n// [key: string]: string;\n// }\n\n// export const UploadFile = PropsTypes.shape({\n// uid: PropsTypes.oneOfType([\n// PropsTypes.string,\n// PropsTypes.number,\n// ]),\n// size: PropsTypes.number,\n// name: PropsTypes.string,\n// filename: PropsTypes.string,\n// lastModified: PropsTypes.number,\n// lastModifiedDate: PropsTypes.any,\n// url: PropsTypes.string,\n// status: UploadFileStatus,\n// percent: PropsTypes.number,\n// thumbUrl: PropsTypes.string,\n// originFileObj: PropsTypes.any,\n// response: PropsTypes.any,\n// error: PropsTypes.any,\n// linkProps: PropsTypes.any,\n// type: PropsTypes.string,\n// }).loose\n\nfunction UploadFile({ uid, name }) {\n if (!uid && uid !== 0) return false;\n if (!['string', 'number'].includes(typeof uid)) return false;\n if (name === '' || typeof name !== 'string') return false;\n return true;\n}\n\nexport const UploadChangeParam = {\n file: PropsTypes.custom(UploadFile),\n fileList: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),\n event: PropsTypes.object,\n};\n\nexport const ShowUploadListInterface = PropsTypes.shape({\n showRemoveIcon: PropsTypes.bool,\n showPreviewIcon: PropsTypes.bool,\n}).loose;\n\nexport const UploadLocale = PropsTypes.shape({\n uploading: PropsTypes.string,\n removeFile: PropsTypes.string,\n downloadFile: PropsTypes.string,\n uploadError: PropsTypes.string,\n previewFile: PropsTypes.string,\n}).loose;\n\nexport const UploadProps = {\n type: PropsTypes.oneOf(['drag', 'select']),\n name: PropsTypes.string,\n defaultFileList: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),\n fileList: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),\n action: PropsTypes.oneOfType([PropsTypes.string, PropsTypes.func]),\n directory: PropsTypes.bool,\n data: PropsTypes.oneOfType([PropsTypes.object, PropsTypes.func]),\n method: PropsTypes.oneOf(['POST', 'PUT', 'post', 'put']),\n headers: PropsTypes.object,\n showUploadList: PropsTypes.oneOfType([PropsTypes.bool, ShowUploadListInterface]),\n multiple: PropsTypes.bool,\n accept: PropsTypes.string,\n beforeUpload: PropsTypes.func,\n // onChange: PropsTypes.func,\n listType: PropsTypes.oneOf(['text', 'picture', 'picture-card']),\n // className: PropsTypes.string,\n // onPreview: PropsTypes.func,\n remove: PropsTypes.func,\n supportServerRender: PropsTypes.bool,\n // style: PropsTypes.object,\n disabled: PropsTypes.bool,\n prefixCls: PropsTypes.string,\n customRequest: PropsTypes.func,\n withCredentials: PropsTypes.bool,\n openFileDialogOnClick: PropsTypes.bool,\n locale: UploadLocale,\n height: PropsTypes.number,\n id: PropsTypes.string,\n previewFile: PropsTypes.func,\n transformFile: PropsTypes.func,\n};\n\nexport const UploadState = {\n fileList: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),\n dragState: PropsTypes.string,\n};\n\nexport const UploadListProps = {\n listType: PropsTypes.oneOf(['text', 'picture', 'picture-card']),\n // onPreview: PropsTypes.func,\n // onRemove: PropsTypes.func,\n // items: PropsTypes.arrayOf(UploadFile),\n items: PropsTypes.arrayOf(PropsTypes.custom(UploadFile)),\n // items: PropsTypes.any,\n progressAttr: PropsTypes.object,\n prefixCls: PropsTypes.string,\n showRemoveIcon: PropsTypes.bool,\n showDownloadIcon: PropsTypes.bool,\n showPreviewIcon: PropsTypes.bool,\n locale: UploadLocale,\n previewFile: PropsTypes.func,\n};\n","export default function contains(root, n) {\n let node = n;\n while (node) {\n if (node === root) {\n return true;\n }\n node = node.parentNode;\n }\n\n return false;\n}\n","const START_EVENT_NAME_MAP = {\n transitionstart: {\n transition: 'transitionstart',\n WebkitTransition: 'webkitTransitionStart',\n MozTransition: 'mozTransitionStart',\n OTransition: 'oTransitionStart',\n msTransition: 'MSTransitionStart',\n },\n\n animationstart: {\n animation: 'animationstart',\n WebkitAnimation: 'webkitAnimationStart',\n MozAnimation: 'mozAnimationStart',\n OAnimation: 'oAnimationStart',\n msAnimation: 'MSAnimationStart',\n },\n};\n\nconst END_EVENT_NAME_MAP = {\n transitionend: {\n transition: 'transitionend',\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'mozTransitionEnd',\n OTransition: 'oTransitionEnd',\n msTransition: 'MSTransitionEnd',\n },\n\n animationend: {\n animation: 'animationend',\n WebkitAnimation: 'webkitAnimationEnd',\n MozAnimation: 'mozAnimationEnd',\n OAnimation: 'oAnimationEnd',\n msAnimation: 'MSAnimationEnd',\n },\n};\n\nconst startEvents = [];\nconst endEvents = [];\n\nfunction detectEvents() {\n const testEl = document.createElement('div');\n const style = testEl.style;\n\n if (!('AnimationEvent' in window)) {\n delete START_EVENT_NAME_MAP.animationstart.animation;\n delete END_EVENT_NAME_MAP.animationend.animation;\n }\n\n if (!('TransitionEvent' in window)) {\n delete START_EVENT_NAME_MAP.transitionstart.transition;\n delete END_EVENT_NAME_MAP.transitionend.transition;\n }\n\n function process(EVENT_NAME_MAP, events) {\n for (const baseEventName in EVENT_NAME_MAP) {\n if (EVENT_NAME_MAP.hasOwnProperty(baseEventName)) {\n const baseEvents = EVENT_NAME_MAP[baseEventName];\n for (const styleName in baseEvents) {\n if (styleName in style) {\n events.push(baseEvents[styleName]);\n break;\n }\n }\n }\n }\n }\n\n process(START_EVENT_NAME_MAP, startEvents);\n process(END_EVENT_NAME_MAP, endEvents);\n}\n\nif (typeof window !== 'undefined' && typeof document !== 'undefined') {\n detectEvents();\n}\n\nfunction addEventListener(node, eventName, eventListener) {\n node.addEventListener(eventName, eventListener, false);\n}\n\nfunction removeEventListener(node, eventName, eventListener) {\n node.removeEventListener(eventName, eventListener, false);\n}\n\nconst TransitionEvents = {\n // Start events\n startEvents,\n\n addStartEventListener(node, eventListener) {\n if (startEvents.length === 0) {\n window.setTimeout(eventListener, 0);\n return;\n }\n startEvents.forEach(startEvent => {\n addEventListener(node, startEvent, eventListener);\n });\n },\n\n removeStartEventListener(node, eventListener) {\n if (startEvents.length === 0) {\n return;\n }\n startEvents.forEach(startEvent => {\n removeEventListener(node, startEvent, eventListener);\n });\n },\n\n // End events\n endEvents,\n\n addEndEventListener(node, eventListener) {\n if (endEvents.length === 0) {\n window.setTimeout(eventListener, 0);\n return;\n }\n endEvents.forEach(endEvent => {\n addEventListener(node, endEvent, eventListener);\n });\n },\n\n removeEndEventListener(node, eventListener) {\n if (endEvents.length === 0) {\n return;\n }\n endEvents.forEach(endEvent => {\n removeEventListener(node, endEvent, eventListener);\n });\n },\n};\n\nexport default TransitionEvents;\n","var core = module.exports = { version: '2.6.11' };\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';\nimport { getComponentFromProp, getListeners } from '../_util/props-util';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport DefaultEmptyImg from './empty';\nimport SimpleEmptyImg from './simple';\nimport Base from '../base';\n\nexport const TransferLocale = () => {\n return {\n description: PropTypes.string,\n };\n};\n\nexport const EmptyProps = () => {\n return {\n prefixCls: PropTypes.string,\n image: PropTypes.any,\n description: PropTypes.any,\n imageStyle: PropTypes.object,\n };\n};\n\nconst Empty = {\n name: 'AEmpty',\n props: {\n ...EmptyProps(),\n },\n methods: {\n renderEmpty(contentLocale) {\n const { prefixCls: customizePrefixCls, imageStyle } = this.$props;\n const prefixCls = ConfigConsumerProps.getPrefixCls('empty', customizePrefixCls);\n const image = getComponentFromProp(this, 'image') || <DefaultEmptyImg />;\n const description = getComponentFromProp(this, 'description');\n\n const des = typeof description !== 'undefined' ? description : contentLocale.description;\n const alt = typeof des === 'string' ? des : 'empty';\n const cls = { [prefixCls]: true };\n let imageNode = null;\n if (typeof image === 'string') {\n imageNode = <img alt={alt} src={image} />;\n } else if (typeof image === 'object' && image.PRESENTED_IMAGE_SIMPLE) {\n const Image = image;\n imageNode = <Image />;\n cls[`${prefixCls}-normal`] = true;\n } else {\n imageNode = image;\n }\n return (\n <div class={cls} {...{ on: getListeners(this) }}>\n <div class={`${prefixCls}-image`} style={imageStyle}>\n {imageNode}\n </div>\n {des && <p class={`${prefixCls}-description`}>{des}</p>}\n {this.$slots.default && <div class={`${prefixCls}-footer`}>{this.$slots.default}</div>}\n </div>\n );\n },\n },\n render() {\n return <LocaleReceiver componentName=\"Empty\" scopedSlots={{ default: this.renderEmpty }} />;\n },\n};\n\nEmpty.PRESENTED_IMAGE_DEFAULT = DefaultEmptyImg;\nEmpty.PRESENTED_IMAGE_SIMPLE = SimpleEmptyImg;\n\n/* istanbul ignore next */\nEmpty.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Empty.name, Empty);\n};\n\nexport default Empty;\n","export default {\n functional: true,\n PRESENTED_IMAGE_SIMPLE: true,\n render() {\n return (\n <svg width=\"64\" height=\"41\" viewBox=\"0 0 64 41\" xmlns=\"http://www.w3.org/2000/svg\">\n <g transform=\"translate(0 1)\" fill=\"none\" fillRule=\"evenodd\">\n <ellipse fill=\"#F5F5F5\" cx=\"32\" cy=\"33\" rx=\"32\" ry=\"7\" />\n <g fillRule=\"nonzero\" stroke=\"#D9D9D9\">\n <path d=\"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z\" />\n <path\n d=\"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z\"\n fill=\"#FAFAFA\"\n />\n </g>\n </g>\n </svg>\n );\n },\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array<Array>} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array<ResizeObserverSPI>}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the <html> itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array<ResizeObservation>}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map<Element, ResizeObservation>}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};","import PropTypes from '../_util/vue-types';\nconst triggerType = PropTypes.oneOf(['hover', 'focus', 'click', 'contextmenu']);\nexport default () => ({\n trigger: PropTypes.oneOfType([triggerType, PropTypes.arrayOf(triggerType)]).def('hover'),\n visible: PropTypes.bool,\n defaultVisible: PropTypes.bool,\n placement: PropTypes.oneOf([\n 'top',\n 'left',\n 'right',\n 'bottom',\n 'topLeft',\n 'topRight',\n 'bottomLeft',\n 'bottomRight',\n 'leftTop',\n 'leftBottom',\n 'rightTop',\n 'rightBottom',\n ]).def('top'),\n transitionName: PropTypes.string.def('zoom-big-fast'),\n // onVisibleChange: PropTypes.func,\n overlayStyle: PropTypes.object.def(() => ({})),\n overlayClassName: PropTypes.string,\n prefixCls: PropTypes.string,\n mouseEnterDelay: PropTypes.number.def(0.1),\n mouseLeaveDelay: PropTypes.number.def(0.1),\n getPopupContainer: PropTypes.func,\n arrowPointAtCenter: PropTypes.bool.def(false),\n autoAdjustOverflow: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]).def(true),\n destroyTooltipOnHide: PropTypes.bool.def(false),\n align: PropTypes.object.def(() => ({})),\n builtinPlacements: PropTypes.object,\n});\n","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","/**\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';\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","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","\"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';\nimport ColorPicker from '../color-picker/locale/en_US';\n\nexport default {\n locale: 'en',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n ColorPicker,\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","export default {\n 'btn:save': 'Save',\n 'btn:cancel': 'Cancel',\n 'btn:clear': 'Clear',\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', // 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': ptg === 0 ? 0 : strokeWidth,\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';\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","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","var arrayMap = require('./_arrayMap'),\n baseClone = require('./_baseClone'),\n baseUnset = require('./_baseUnset'),\n castPath = require('./_castPath'),\n copyObject = require('./_copyObject'),\n customOmitClone = require('./_customOmitClone'),\n flatRest = require('./_flatRest'),\n getAllKeysIn = require('./_getAllKeysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\nvar omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n});\n\nmodule.exports = omit;\n","var baseIsRegExp = require('./_baseIsRegExp'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsRegExp = nodeUtil && nodeUtil.isRegExp;\n\n/**\n * Checks if `value` is classified as a `RegExp` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\nvar isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\nmodule.exports = isRegExp;\n","function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\n/* eslint no-console:0 */\nvar formatRegExp = /%[sdj%]/g;\nvar warning = function warning() {}; // don't print warning message when in production env or node runtime\n\nif (typeof process !== 'undefined' && process.env && process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && typeof document !== 'undefined') {\n warning = function warning(type, errors) {\n if (typeof console !== 'undefined' && console.warn) {\n if (errors.every(function (e) {\n return typeof e === 'string';\n })) {\n console.warn(type, errors);\n }\n }\n };\n}\n\nfunction convertFieldsError(errors) {\n if (!errors || !errors.length) return null;\n var fields = {};\n errors.forEach(function (error) {\n var field = error.field;\n fields[field] = fields[field] || [];\n fields[field].push(error);\n });\n return fields;\n}\nfunction format() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var i = 1;\n var f = args[0];\n var len = args.length;\n\n if (typeof f === 'function') {\n return f.apply(null, args.slice(1));\n }\n\n if (typeof f === 'string') {\n var str = String(f).replace(formatRegExp, function (x) {\n if (x === '%%') {\n return '%';\n }\n\n if (i >= len) {\n return x;\n }\n\n switch (x) {\n case '%s':\n return String(args[i++]);\n\n case '%d':\n return Number(args[i++]);\n\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n\n break;\n\n default:\n return x;\n }\n });\n return str;\n }\n\n return f;\n}\n\nfunction isNativeStringType(type) {\n return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'date' || type === 'pattern';\n}\n\nfunction isEmptyValue(value, type) {\n if (value === undefined || value === null) {\n return true;\n }\n\n if (type === 'array' && Array.isArray(value) && !value.length) {\n return true;\n }\n\n if (isNativeStringType(type) && typeof value === 'string' && !value) {\n return true;\n }\n\n return false;\n}\n\nfunction asyncParallelArray(arr, func, callback) {\n var results = [];\n var total = 0;\n var arrLength = arr.length;\n\n function count(errors) {\n results.push.apply(results, errors);\n total++;\n\n if (total === arrLength) {\n callback(results);\n }\n }\n\n arr.forEach(function (a) {\n func(a, count);\n });\n}\n\nfunction asyncSerialArray(arr, func, callback) {\n var index = 0;\n var arrLength = arr.length;\n\n function next(errors) {\n if (errors && errors.length) {\n callback(errors);\n return;\n }\n\n var original = index;\n index = index + 1;\n\n if (original < arrLength) {\n func(arr[original], next);\n } else {\n callback([]);\n }\n }\n\n next([]);\n}\n\nfunction flattenObjArr(objArr) {\n var ret = [];\n Object.keys(objArr).forEach(function (k) {\n ret.push.apply(ret, objArr[k]);\n });\n return ret;\n}\n\nvar AsyncValidationError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(AsyncValidationError, _Error);\n\n function AsyncValidationError(errors, fields) {\n var _this;\n\n _this = _Error.call(this, 'Async Validation Error') || this;\n _this.errors = errors;\n _this.fields = fields;\n return _this;\n }\n\n return AsyncValidationError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\nfunction asyncMap(objArr, option, func, callback) {\n if (option.first) {\n var _pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n callback(errors);\n return errors.length ? reject(new AsyncValidationError(errors, convertFieldsError(errors))) : resolve();\n };\n\n var flattenArr = flattenObjArr(objArr);\n asyncSerialArray(flattenArr, func, next);\n });\n\n _pending[\"catch\"](function (e) {\n return e;\n });\n\n return _pending;\n }\n\n var firstFields = option.firstFields || [];\n\n if (firstFields === true) {\n firstFields = Object.keys(objArr);\n }\n\n var objArrKeys = Object.keys(objArr);\n var objArrLength = objArrKeys.length;\n var total = 0;\n var results = [];\n var pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n results.push.apply(results, errors);\n total++;\n\n if (total === objArrLength) {\n callback(results);\n return results.length ? reject(new AsyncValidationError(results, convertFieldsError(results))) : resolve();\n }\n };\n\n if (!objArrKeys.length) {\n callback(results);\n resolve();\n }\n\n objArrKeys.forEach(function (key) {\n var arr = objArr[key];\n\n if (firstFields.indexOf(key) !== -1) {\n asyncSerialArray(arr, func, next);\n } else {\n asyncParallelArray(arr, func, next);\n }\n });\n });\n pending[\"catch\"](function (e) {\n return e;\n });\n return pending;\n}\nfunction complementError(rule) {\n return function (oe) {\n if (oe && oe.message) {\n oe.field = oe.field || rule.fullField;\n return oe;\n }\n\n return {\n message: typeof oe === 'function' ? oe() : oe,\n field: oe.field || rule.fullField\n };\n };\n}\nfunction deepMerge(target, source) {\n if (source) {\n for (var s in source) {\n if (source.hasOwnProperty(s)) {\n var value = source[s];\n\n if (typeof value === 'object' && typeof target[s] === 'object') {\n target[s] = _extends(_extends({}, target[s]), value);\n } else {\n target[s] = value;\n }\n }\n }\n }\n\n return target;\n}\n\n/**\n * Rule for validating required fields.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction required(rule, value, source, errors, options, type) {\n if (rule.required && (!source.hasOwnProperty(rule.field) || isEmptyValue(value, type || rule.type))) {\n errors.push(format(options.messages.required, rule.fullField));\n }\n}\n\n/**\n * Rule for validating whitespace.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction whitespace(rule, value, source, errors, options) {\n if (/^\\s+$/.test(value) || value === '') {\n errors.push(format(options.messages.whitespace, rule.fullField));\n }\n}\n\n/* eslint max-len:0 */\n\nvar pattern = {\n // http://emailregex.com/\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n url: new RegExp(\"^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[0-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))|localhost)(?::\\\\d{2,5})?(?:(/|\\\\?|#)[^\\\\s]*)?$\", 'i'),\n hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i\n};\nvar types = {\n integer: function integer(value) {\n return types.number(value) && parseInt(value, 10) === value;\n },\n \"float\": function float(value) {\n return types.number(value) && !types.integer(value);\n },\n array: function array(value) {\n return Array.isArray(value);\n },\n regexp: function regexp(value) {\n if (value instanceof RegExp) {\n return true;\n }\n\n try {\n return !!new RegExp(value);\n } catch (e) {\n return false;\n }\n },\n date: function date(value) {\n return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function' && !isNaN(value.getTime());\n },\n number: function number(value) {\n if (isNaN(value)) {\n return false;\n }\n\n return typeof value === 'number';\n },\n object: function object(value) {\n return typeof value === 'object' && !types.array(value);\n },\n method: function method(value) {\n return typeof value === 'function';\n },\n email: function email(value) {\n return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255;\n },\n url: function url(value) {\n return typeof value === 'string' && !!value.match(pattern.url);\n },\n hex: function hex(value) {\n return typeof value === 'string' && !!value.match(pattern.hex);\n }\n};\n/**\n * Rule for validating the type of a value.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction type(rule, value, source, errors, options) {\n if (rule.required && value === undefined) {\n required(rule, value, source, errors, options);\n return;\n }\n\n var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];\n var ruleType = rule.type;\n\n if (custom.indexOf(ruleType) > -1) {\n if (!types[ruleType](value)) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n } // straight typeof check\n\n } else if (ruleType && typeof value !== rule.type) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n }\n}\n\n/**\n * Rule for validating minimum and maximum allowed values.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction range(rule, value, source, errors, options) {\n var len = typeof rule.len === 'number';\n var min = typeof rule.min === 'number';\n var max = typeof rule.max === 'number'; // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n\n var spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n var val = value;\n var key = null;\n var num = typeof value === 'number';\n var str = typeof value === 'string';\n var arr = Array.isArray(value);\n\n if (num) {\n key = 'number';\n } else if (str) {\n key = 'string';\n } else if (arr) {\n key = 'array';\n } // if the value is not of a supported type for range validation\n // the validation rule rule should use the\n // type property to also test for a particular type\n\n\n if (!key) {\n return false;\n }\n\n if (arr) {\n val = value.length;\n }\n\n if (str) {\n // 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".lenght !== 3\n val = value.replace(spRegexp, '_').length;\n }\n\n if (len) {\n if (val !== rule.len) {\n errors.push(format(options.messages[key].len, rule.fullField, rule.len));\n }\n } else if (min && !max && val < rule.min) {\n errors.push(format(options.messages[key].min, rule.fullField, rule.min));\n } else if (max && !min && val > rule.max) {\n errors.push(format(options.messages[key].max, rule.fullField, rule.max));\n } else if (min && max && (val < rule.min || val > rule.max)) {\n errors.push(format(options.messages[key].range, rule.fullField, rule.min, rule.max));\n }\n}\n\nvar ENUM = 'enum';\n/**\n * Rule for validating a value exists in an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction enumerable(rule, value, source, errors, options) {\n rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];\n\n if (rule[ENUM].indexOf(value) === -1) {\n errors.push(format(options.messages[ENUM], rule.fullField, rule[ENUM].join(', ')));\n }\n}\n\n/**\n * Rule for validating a regular expression pattern.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction pattern$1(rule, value, source, errors, options) {\n if (rule.pattern) {\n if (rule.pattern instanceof RegExp) {\n // if a RegExp instance is passed, reset `lastIndex` in case its `global`\n // flag is accidentally set to `true`, which in a validation scenario\n // is not necessary and the result might be misleading\n rule.pattern.lastIndex = 0;\n\n if (!rule.pattern.test(value)) {\n errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n } else if (typeof rule.pattern === 'string') {\n var _pattern = new RegExp(rule.pattern);\n\n if (!_pattern.test(value)) {\n errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n }\n }\n}\n\nvar rules = {\n required: required,\n whitespace: whitespace,\n type: type,\n range: range,\n \"enum\": enumerable,\n pattern: pattern$1\n};\n\n/**\n * Performs validation for string types.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction string(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, 'string');\n\n if (!isEmptyValue(value, 'string')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n rules.pattern(rule, value, source, errors, options);\n\n if (rule.whitespace === true) {\n rules.whitespace(rule, value, source, errors, options);\n }\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a function.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction method(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction number(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (value === '') {\n value = undefined;\n }\n\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a boolean.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction _boolean(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates the regular expression type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction regexp(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a number is an integer.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction integer(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a number is a floating point number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction floatFn(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates an array.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction array(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'array') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, 'array');\n\n if (!isEmptyValue(value, 'array')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates an object.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction object(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\nvar ENUM$1 = 'enum';\n/**\n * Validates an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction enumerable$1(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules[ENUM$1](rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Validates a regular expression pattern.\n *\n * Performs validation when a rule only contains\n * a pattern property but is not declared as a string type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction pattern$2(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value, 'string')) {\n rules.pattern(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\nfunction date(rule, value, callback, source, options) {\n // console.log('integer rule called %j', rule);\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); // console.log('validate on %s value', value);\n\n if (validate) {\n if (isEmptyValue(value, 'date') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value, 'date')) {\n var dateObject;\n\n if (value instanceof Date) {\n dateObject = value;\n } else {\n dateObject = new Date(value);\n }\n\n rules.type(rule, dateObject, source, errors, options);\n\n if (dateObject) {\n rules.range(rule, dateObject.getTime(), source, errors, options);\n }\n }\n }\n\n callback(errors);\n}\n\nfunction required$1(rule, value, callback, source, options) {\n var errors = [];\n var type = Array.isArray(value) ? 'array' : typeof value;\n rules.required(rule, value, source, errors, options, type);\n callback(errors);\n}\n\nfunction type$1(rule, value, callback, source, options) {\n var ruleType = rule.type;\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, ruleType) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, ruleType);\n\n if (!isEmptyValue(value, ruleType)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n}\n\n/**\n * Performs validation for any type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nfunction any(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n }\n\n callback(errors);\n}\n\nvar validators = {\n string: string,\n method: method,\n number: number,\n \"boolean\": _boolean,\n regexp: regexp,\n integer: integer,\n \"float\": floatFn,\n array: array,\n object: object,\n \"enum\": enumerable$1,\n pattern: pattern$2,\n date: date,\n url: type$1,\n hex: type$1,\n email: type$1,\n required: required$1,\n any: any\n};\n\nfunction newMessages() {\n return {\n \"default\": 'Validation error on field %s',\n required: '%s is required',\n \"enum\": '%s must be one of %s',\n whitespace: '%s cannot be empty',\n date: {\n format: '%s date %s is invalid for format %s',\n parse: '%s date could not be parsed, %s is invalid ',\n invalid: '%s date %s is invalid'\n },\n types: {\n string: '%s is not a %s',\n method: '%s is not a %s (function)',\n array: '%s is not an %s',\n object: '%s is not an %s',\n number: '%s is not a %s',\n date: '%s is not a %s',\n \"boolean\": '%s is not a %s',\n integer: '%s is not an %s',\n \"float\": '%s is not a %s',\n regexp: '%s is not a valid %s',\n email: '%s is not a valid %s',\n url: '%s is not a valid %s',\n hex: '%s is not a valid %s'\n },\n string: {\n len: '%s must be exactly %s characters',\n min: '%s must be at least %s characters',\n max: '%s cannot be longer than %s characters',\n range: '%s must be between %s and %s characters'\n },\n number: {\n len: '%s must equal %s',\n min: '%s cannot be less than %s',\n max: '%s cannot be greater than %s',\n range: '%s must be between %s and %s'\n },\n array: {\n len: '%s must be exactly %s in length',\n min: '%s cannot be less than %s in length',\n max: '%s cannot be greater than %s in length',\n range: '%s must be between %s and %s in length'\n },\n pattern: {\n mismatch: '%s value %s does not match pattern %s'\n },\n clone: function clone() {\n var cloned = JSON.parse(JSON.stringify(this));\n cloned.clone = this.clone;\n return cloned;\n }\n };\n}\nvar messages = newMessages();\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\n\nfunction Schema(descriptor) {\n this.rules = null;\n this._messages = messages;\n this.define(descriptor);\n}\n\nSchema.prototype = {\n messages: function messages(_messages) {\n if (_messages) {\n this._messages = deepMerge(newMessages(), _messages);\n }\n\n return this._messages;\n },\n define: function define(rules) {\n if (!rules) {\n throw new Error('Cannot configure a schema with no rules');\n }\n\n if (typeof rules !== 'object' || Array.isArray(rules)) {\n throw new Error('Rules must be an object');\n }\n\n this.rules = {};\n var z;\n var item;\n\n for (z in rules) {\n if (rules.hasOwnProperty(z)) {\n item = rules[z];\n this.rules[z] = Array.isArray(item) ? item : [item];\n }\n }\n },\n validate: function validate(source_, o, oc) {\n var _this = this;\n\n if (o === void 0) {\n o = {};\n }\n\n if (oc === void 0) {\n oc = function oc() {};\n }\n\n var source = source_;\n var options = o;\n var callback = oc;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (!this.rules || Object.keys(this.rules).length === 0) {\n if (callback) {\n callback();\n }\n\n return Promise.resolve();\n }\n\n function complete(results) {\n var i;\n var errors = [];\n var fields = {};\n\n function add(e) {\n if (Array.isArray(e)) {\n var _errors;\n\n errors = (_errors = errors).concat.apply(_errors, e);\n } else {\n errors.push(e);\n }\n }\n\n for (i = 0; i < results.length; i++) {\n add(results[i]);\n }\n\n if (!errors.length) {\n errors = null;\n fields = null;\n } else {\n fields = convertFieldsError(errors);\n }\n\n callback(errors, fields);\n }\n\n if (options.messages) {\n var messages$1 = this.messages();\n\n if (messages$1 === messages) {\n messages$1 = newMessages();\n }\n\n deepMerge(messages$1, options.messages);\n options.messages = messages$1;\n } else {\n options.messages = this.messages();\n }\n\n var arr;\n var value;\n var series = {};\n var keys = options.keys || Object.keys(this.rules);\n keys.forEach(function (z) {\n arr = _this.rules[z];\n value = source[z];\n arr.forEach(function (r) {\n var rule = r;\n\n if (typeof rule.transform === 'function') {\n if (source === source_) {\n source = _extends({}, source);\n }\n\n value = source[z] = rule.transform(value);\n }\n\n if (typeof rule === 'function') {\n rule = {\n validator: rule\n };\n } else {\n rule = _extends({}, rule);\n }\n\n rule.validator = _this.getValidationMethod(rule);\n rule.field = z;\n rule.fullField = rule.fullField || z;\n rule.type = _this.getType(rule);\n\n if (!rule.validator) {\n return;\n }\n\n series[z] = series[z] || [];\n series[z].push({\n rule: rule,\n value: value,\n source: source,\n field: z\n });\n });\n });\n var errorFields = {};\n return asyncMap(series, options, function (data, doIt) {\n var rule = data.rule;\n var deep = (rule.type === 'object' || rule.type === 'array') && (typeof rule.fields === 'object' || typeof rule.defaultField === 'object');\n deep = deep && (rule.required || !rule.required && data.value);\n rule.field = data.field;\n\n function addFullfield(key, schema) {\n return _extends(_extends({}, schema), {}, {\n fullField: rule.fullField + \".\" + key\n });\n }\n\n function cb(e) {\n if (e === void 0) {\n e = [];\n }\n\n var errors = e;\n\n if (!Array.isArray(errors)) {\n errors = [errors];\n }\n\n if (!options.suppressWarning && errors.length) {\n Schema.warning('async-validator:', errors);\n }\n\n if (errors.length && rule.message) {\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) {\n errors = [].concat(rule.message).map(complementError(rule));\n } else if (options.error) {\n errors = [options.error(rule, format(options.messages.required, rule.field))];\n }\n\n return doIt(errors);\n }\n\n var fieldsSchema = {};\n\n if (rule.defaultField) {\n for (var k in data.value) {\n if (data.value.hasOwnProperty(k)) {\n fieldsSchema[k] = rule.defaultField;\n }\n }\n }\n\n fieldsSchema = _extends(_extends({}, fieldsSchema), data.rule.fields);\n\n for (var f in fieldsSchema) {\n if (fieldsSchema.hasOwnProperty(f)) {\n var fieldSchema = Array.isArray(fieldsSchema[f]) ? fieldsSchema[f] : [fieldsSchema[f]];\n fieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f));\n }\n }\n\n var schema = new Schema(fieldsSchema);\n schema.messages(options.messages);\n\n if (data.rule.options) {\n data.rule.options.messages = options.messages;\n data.rule.options.error = options.error;\n }\n\n schema.validate(data.value, data.rule.options || options, function (errs) {\n var finalErrors = [];\n\n if (errors && errors.length) {\n finalErrors.push.apply(finalErrors, errors);\n }\n\n if (errs && errs.length) {\n finalErrors.push.apply(finalErrors, errs);\n }\n\n doIt(finalErrors.length ? finalErrors : null);\n });\n }\n }\n\n var res;\n\n if (rule.asyncValidator) {\n res = rule.asyncValidator(rule, data.value, cb, data.source, options);\n } else if (rule.validator) {\n res = rule.validator(rule, data.value, cb, data.source, options);\n\n if (res === true) {\n cb();\n } else if (res === false) {\n cb(rule.message || rule.field + \" fails\");\n } else if (res instanceof Array) {\n cb(res);\n } else if (res instanceof Error) {\n cb(res.message);\n }\n }\n\n if (res && res.then) {\n res.then(function () {\n return cb();\n }, function (e) {\n return cb(e);\n });\n }\n }, function (results) {\n complete(results);\n });\n },\n getType: function getType(rule) {\n if (rule.type === undefined && rule.pattern instanceof RegExp) {\n rule.type = 'pattern';\n }\n\n if (typeof rule.validator !== 'function' && rule.type && !validators.hasOwnProperty(rule.type)) {\n throw new Error(format('Unknown rule type %s', rule.type));\n }\n\n return rule.type || 'string';\n },\n getValidationMethod: function getValidationMethod(rule) {\n if (typeof rule.validator === 'function') {\n return rule.validator;\n }\n\n var keys = Object.keys(rule);\n var messageIndex = keys.indexOf('message');\n\n if (messageIndex !== -1) {\n keys.splice(messageIndex, 1);\n }\n\n if (keys.length === 1 && keys[0] === 'required') {\n return validators.required;\n }\n\n return validators[this.getType(rule)] || false;\n }\n};\n\nSchema.register = function register(type, validator) {\n if (typeof validator !== 'function') {\n throw new Error('Cannot register a validator by type, validator is not a function');\n }\n\n validators[type] = validator;\n};\n\nSchema.warning = warning;\nSchema.messages = messages;\nSchema.validators = validators;\n\nexport default Schema;\n//# sourceMappingURL=index.js.map\n","var camel2hyphen = require('string-convert/camel2hyphen');\n\nvar isDimension = function (feature) {\n var re = /[height|width]$/;\n return re.test(feature);\n};\n\nvar obj2mq = function (obj) {\n var mq = '';\n var features = Object.keys(obj);\n features.forEach(function (feature, index) {\n var value = obj[feature];\n feature = camel2hyphen(feature);\n // Add px to dimension features\n if (isDimension(feature) && typeof value === 'number') {\n value = value + 'px';\n }\n if (value === true) {\n mq += feature;\n } else if (value === false) {\n mq += 'not ' + feature;\n } else {\n mq += '(' + feature + ': ' + value + ')';\n }\n if (index < features.length-1) {\n mq += ' and '\n }\n });\n return mq;\n};\n\nvar json2mq = function (query) {\n var mq = '';\n if (typeof query === 'string') {\n return query;\n }\n // Handling array of media queries\n if (query instanceof Array) {\n query.forEach(function (q, index) {\n mq += obj2mq(q);\n if (index < query.length-1) {\n mq += ', '\n }\n });\n return mq;\n }\n // Handling single media query\n return obj2mq(query);\n};\n\nmodule.exports = json2mq;","// 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: '© 2019 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 withCredentials: PropTypes.bool,\n supportServerRender: PropTypes.bool,\n openFileDialogOnClick: PropTypes.bool,\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","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 isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\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 = value.replace(reTrim, '');\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';\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","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","module.exports = function () { /* empty */ };\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","require('./_wks-define')('asyncIterator');\n","require('./_wks-define')('observable');\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","module.exports = { \"default\": require(\"core-js/library/fn/array/from\"), __esModule: true };","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/is-iterable\"), __esModule: true };","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.is-iterable');\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').isIterable = function (it) {\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n // eslint-disable-next-line no-prototype-builtins\n || Iterators.hasOwnProperty(classof(O));\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/get-iterator\"), __esModule: true };","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.get-iterator');\n","var anObject = require('./_an-object');\nvar get = require('./core.get-iterator-method');\nmodule.exports = require('./_core').getIterator = function (it) {\n var iterFn = get(it);\n if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n","// Generated by CoffeeScript 1.12.2\n(function() {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n module.exports = function() {\n return performance.now();\n };\n } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n module.exports = function() {\n return (getNanoSeconds() - nodeLoadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\n } else if (Date.now) {\n module.exports = function() {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function() {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n\n}).call(this);\n\n//# sourceMappingURL=performance-now.js.map\n","/**\n * @ignore\n * event object for dom\n * @author yiminghe@gmail.com\n */\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _EventBaseObject = require('./EventBaseObject');\n\nvar _EventBaseObject2 = _interopRequireDefault(_EventBaseObject);\n\nvar _objectAssign = require('object-assign');\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar TRUE = true;\nvar FALSE = false;\nvar commonProps = ['altKey', 'bubbles', 'cancelable', 'ctrlKey', 'currentTarget', 'eventPhase', 'metaKey', 'shiftKey', 'target', 'timeStamp', 'view', 'type'];\n\nfunction isNullOrUndefined(w) {\n return w === null || w === undefined;\n}\n\nvar eventNormalizers = [{\n reg: /^key/,\n props: ['char', 'charCode', 'key', 'keyCode', 'which'],\n fix: function fix(event, nativeEvent) {\n if (isNullOrUndefined(event.which)) {\n event.which = !isNullOrUndefined(nativeEvent.charCode) ? nativeEvent.charCode : nativeEvent.keyCode;\n }\n\n // add metaKey to non-Mac browsers (use ctrl for PC 's and Meta for Macs)\n if (event.metaKey === undefined) {\n event.metaKey = event.ctrlKey;\n }\n }\n}, {\n reg: /^touch/,\n props: ['touches', 'changedTouches', 'targetTouches']\n}, {\n reg: /^hashchange$/,\n props: ['newURL', 'oldURL']\n}, {\n reg: /^gesturechange$/i,\n props: ['rotation', 'scale']\n}, {\n reg: /^(mousewheel|DOMMouseScroll)$/,\n props: [],\n fix: function fix(event, nativeEvent) {\n var deltaX = undefined;\n var deltaY = undefined;\n var delta = undefined;\n var wheelDelta = nativeEvent.wheelDelta;\n var axis = nativeEvent.axis;\n var wheelDeltaY = nativeEvent.wheelDeltaY;\n var wheelDeltaX = nativeEvent.wheelDeltaX;\n var detail = nativeEvent.detail;\n\n // ie/webkit\n if (wheelDelta) {\n delta = wheelDelta / 120;\n }\n\n // gecko\n if (detail) {\n // press control e.detail == 1 else e.detail == 3\n delta = 0 - (detail % 3 === 0 ? detail / 3 : detail);\n }\n\n // Gecko\n if (axis !== undefined) {\n if (axis === event.HORIZONTAL_AXIS) {\n deltaY = 0;\n deltaX = 0 - delta;\n } else if (axis === event.VERTICAL_AXIS) {\n deltaX = 0;\n deltaY = delta;\n }\n }\n\n // Webkit\n if (wheelDeltaY !== undefined) {\n deltaY = wheelDeltaY / 120;\n }\n if (wheelDeltaX !== undefined) {\n deltaX = -1 * wheelDeltaX / 120;\n }\n\n // 默认 deltaY (ie)\n if (!deltaX && !deltaY) {\n deltaY = delta;\n }\n\n if (deltaX !== undefined) {\n /**\n * deltaX of mousewheel event\n * @property deltaX\n * @member Event.DomEvent.Object\n */\n event.deltaX = deltaX;\n }\n\n if (deltaY !== undefined) {\n /**\n * deltaY of mousewheel event\n * @property deltaY\n * @member Event.DomEvent.Object\n */\n event.deltaY = deltaY;\n }\n\n if (delta !== undefined) {\n /**\n * delta of mousewheel event\n * @property delta\n * @member Event.DomEvent.Object\n */\n event.delta = delta;\n }\n }\n}, {\n reg: /^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i,\n props: ['buttons', 'clientX', 'clientY', 'button', 'offsetX', 'relatedTarget', 'which', 'fromElement', 'toElement', 'offsetY', 'pageX', 'pageY', 'screenX', 'screenY'],\n fix: function fix(event, nativeEvent) {\n var eventDoc = undefined;\n var doc = undefined;\n var body = undefined;\n var target = event.target;\n var button = nativeEvent.button;\n\n // Calculate pageX/Y if missing and clientX/Y available\n if (target && isNullOrUndefined(event.pageX) && !isNullOrUndefined(nativeEvent.clientX)) {\n eventDoc = target.ownerDocument || document;\n doc = eventDoc.documentElement;\n body = eventDoc.body;\n event.pageX = nativeEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n event.pageY = nativeEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n }\n\n // which for click: 1 === left; 2 === middle; 3 === right\n // do not use button\n if (!event.which && button !== undefined) {\n if (button & 1) {\n event.which = 1;\n } else if (button & 2) {\n event.which = 3;\n } else if (button & 4) {\n event.which = 2;\n } else {\n event.which = 0;\n }\n }\n\n // add relatedTarget, if necessary\n if (!event.relatedTarget && event.fromElement) {\n event.relatedTarget = event.fromElement === target ? event.toElement : event.fromElement;\n }\n\n return event;\n }\n}];\n\nfunction retTrue() {\n return TRUE;\n}\n\nfunction retFalse() {\n return FALSE;\n}\n\nfunction DomEventObject(nativeEvent) {\n var type = nativeEvent.type;\n\n var isNative = typeof nativeEvent.stopPropagation === 'function' || typeof nativeEvent.cancelBubble === 'boolean';\n\n _EventBaseObject2['default'].call(this);\n\n this.nativeEvent = nativeEvent;\n\n // in case dom event has been mark as default prevented by lower dom node\n var isDefaultPrevented = retFalse;\n if ('defaultPrevented' in nativeEvent) {\n isDefaultPrevented = nativeEvent.defaultPrevented ? retTrue : retFalse;\n } else if ('getPreventDefault' in nativeEvent) {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=691151\n isDefaultPrevented = nativeEvent.getPreventDefault() ? retTrue : retFalse;\n } else if ('returnValue' in nativeEvent) {\n isDefaultPrevented = nativeEvent.returnValue === FALSE ? retTrue : retFalse;\n }\n\n this.isDefaultPrevented = isDefaultPrevented;\n\n var fixFns = [];\n var fixFn = undefined;\n var l = undefined;\n var prop = undefined;\n var props = commonProps.concat();\n\n eventNormalizers.forEach(function (normalizer) {\n if (type.match(normalizer.reg)) {\n props = props.concat(normalizer.props);\n if (normalizer.fix) {\n fixFns.push(normalizer.fix);\n }\n }\n });\n\n l = props.length;\n\n // clone properties of the original event object\n while (l) {\n prop = props[--l];\n this[prop] = nativeEvent[prop];\n }\n\n // fix target property, if necessary\n if (!this.target && isNative) {\n this.target = nativeEvent.srcElement || document; // srcElement might not be defined either\n }\n\n // check if target is a text node (safari)\n if (this.target && this.target.nodeType === 3) {\n this.target = this.target.parentNode;\n }\n\n l = fixFns.length;\n\n while (l) {\n fixFn = fixFns[--l];\n fixFn(this, nativeEvent);\n }\n\n this.timeStamp = nativeEvent.timeStamp || Date.now();\n}\n\nvar EventBaseObjectProto = _EventBaseObject2['default'].prototype;\n\n(0, _objectAssign2['default'])(DomEventObject.prototype, EventBaseObjectProto, {\n constructor: DomEventObject,\n\n preventDefault: function preventDefault() {\n var e = this.nativeEvent;\n\n // if preventDefault exists run it on the original event\n if (e.preventDefault) {\n e.preventDefault();\n } else {\n // otherwise set the returnValue property of the original event to FALSE (IE)\n e.returnValue = FALSE;\n }\n\n EventBaseObjectProto.preventDefault.call(this);\n },\n\n stopPropagation: function stopPropagation() {\n var e = this.nativeEvent;\n\n // if stopPropagation exists run it on the original event\n if (e.stopPropagation) {\n e.stopPropagation();\n } else {\n // otherwise set the cancelBubble property of the original event to TRUE (IE)\n e.cancelBubble = TRUE;\n }\n\n EventBaseObjectProto.stopPropagation.call(this);\n }\n});\n\nexports['default'] = DomEventObject;\nmodule.exports = exports['default'];","/**\n * @ignore\n * base event object for custom and dom event.\n * @author yiminghe@gmail.com\n */\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction returnFalse() {\n return false;\n}\n\nfunction returnTrue() {\n return true;\n}\n\nfunction EventBaseObject() {\n this.timeStamp = Date.now();\n this.target = undefined;\n this.currentTarget = undefined;\n}\n\nEventBaseObject.prototype = {\n isEventObject: 1,\n\n constructor: EventBaseObject,\n\n isDefaultPrevented: returnFalse,\n\n isPropagationStopped: returnFalse,\n\n isImmediatePropagationStopped: returnFalse,\n\n preventDefault: function preventDefault() {\n this.isDefaultPrevented = returnTrue;\n },\n\n stopPropagation: function stopPropagation() {\n this.isPropagationStopped = returnTrue;\n },\n\n stopImmediatePropagation: function stopImmediatePropagation() {\n this.isImmediatePropagationStopped = returnTrue;\n // fixed 1.2\n // call stopPropagation implicitly\n this.stopPropagation();\n },\n\n halt: function halt(immediate) {\n if (immediate) {\n this.stopImmediatePropagation();\n } else {\n this.stopPropagation();\n }\n this.preventDefault();\n }\n};\n\nexports[\"default\"] = EventBaseObject;\nmodule.exports = exports[\"default\"];","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tinycolor2_1 = __importDefault(require(\"tinycolor2\"));\nvar hueStep = 2; // 色相阶梯\nvar saturationStep = 16; // 饱和度阶梯,浅色部分\nvar saturationStep2 = 5; // 饱和度阶梯,深色部分\nvar brightnessStep1 = 5; // 亮度阶梯,浅色部分\nvar brightnessStep2 = 15; // 亮度阶梯,深色部分\nvar lightColorCount = 5; // 浅色数量,主色上\nvar darkColorCount = 4; // 深色数量,主色下\nfunction getHue(hsv, i, light) {\n var hue;\n // 根据色相不同,色相转向不同\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n }\n else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n if (hue < 0) {\n hue += 360;\n }\n else if (hue >= 360) {\n hue -= 360;\n }\n return hue;\n}\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n var saturation;\n if (light) {\n saturation = Math.round(hsv.s * 100) - saturationStep * i;\n }\n else if (i === darkColorCount) {\n saturation = Math.round(hsv.s * 100) + saturationStep;\n }\n else {\n saturation = Math.round(hsv.s * 100) + saturationStep2 * i;\n }\n // 边界值修正\n if (saturation > 100) {\n saturation = 100;\n }\n // 第一格的 s 限制在 6-10 之间\n if (light && i === lightColorCount && saturation > 10) {\n saturation = 10;\n }\n if (saturation < 6) {\n saturation = 6;\n }\n return saturation;\n}\nfunction getValue(hsv, i, light) {\n if (light) {\n return Math.round(hsv.v * 100) + brightnessStep1 * i;\n }\n return Math.round(hsv.v * 100) - brightnessStep2 * i;\n}\nfunction generate(color) {\n var patterns = [];\n var pColor = tinycolor2_1.default(color);\n for (var i = lightColorCount; i > 0; i -= 1) {\n var hsv = pColor.toHsv();\n var colorString = tinycolor2_1.default({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true),\n }).toHexString();\n patterns.push(colorString);\n }\n patterns.push(pColor.toHexString());\n for (var i = 1; i <= darkColorCount; i += 1) {\n var hsv = pColor.toHsv();\n var colorString = tinycolor2_1.default({\n h: getHue(hsv, i),\n s: getSaturation(hsv, i),\n v: getValue(hsv, i),\n }).toHexString();\n patterns.push(colorString);\n }\n return patterns;\n}\nexports.default = generate;\n","// TinyColor v1.4.2\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\n(function(Math) {\n\nvar trimLeft = /^\\s+/,\n trimRight = /\\s+$/,\n tinyCounter = 0,\n mathRound = Math.round,\n mathMin = Math.min,\n mathMax = Math.max,\n mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n color = (color) ? color : '';\n opts = opts || { };\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n\n var rgb = inputToRGB(color);\n this._originalInput = color,\n this._r = rgb.r,\n this._g = rgb.g,\n this._b = rgb.b,\n this._a = rgb.a,\n this._roundA = mathRound(100*this._a) / 100,\n this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) { this._r = mathRound(this._r); }\n if (this._g < 1) { this._g = mathRound(this._g); }\n if (this._b < 1) { this._b = mathRound(this._b); }\n\n this._ok = rgb.ok;\n this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n getBrightness: function() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r/255;\n GsRGB = rgb.g/255;\n BsRGB = rgb.b/255;\n\n if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n },\n setAlpha: function(value) {\n this._a = boundAlpha(value);\n this._roundA = mathRound(100*this._a) / 100;\n return this;\n },\n toHsv: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n },\n toHsvString: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n return (this._a == 1) ?\n \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" :\n \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n },\n toHsl: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n },\n toHslString: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n return (this._a == 1) ?\n \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" :\n \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n },\n toHex: function(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function(allow3Char) {\n return '#' + this.toHex(allow3Char);\n },\n toHex8: function(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function(allow4Char) {\n return '#' + this.toHex8(allow4Char);\n },\n toRgb: function() {\n return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n },\n toRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n },\n toPercentageRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n if (this._a === 0) {\n return \"transparent\";\n }\n\n if (this._a < 1) {\n return false;\n }\n\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function(secondColor) {\n var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n\n return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n },\n toString: function(format) {\n var formatSet = !!format;\n format = format || this._format;\n\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// <http://www.w3.org/TR/css3-color/>\n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>\n\nfunction desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>\n\nfunction complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\n\nfunction triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n}\n\nfunction analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\n\nfunction monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\n var rgba = {\n r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n };\n\n return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)\n\n// `contrast`\n// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)\ntinycolor.readability = function(color1, color2) {\n var c1 = tinycolor(color1);\n var c2 = tinycolor(color2);\n return (Math.max(c1.getLuminance(),c2.getLuminance())+0.05) / (Math.min(c1.getLuminance(),c2.getLuminance())+0.05);\n};\n\n// `isReadable`\n// Ensure that foreground and background color combinations meet WCAG2 guidelines.\n// The third argument is an optional Object.\n// the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';\n// the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.\n// If the entire object is absent, isReadable defaults to {level:\"AA\",size:\"small\"}.\n\n// *Example*\n// tinycolor.isReadable(\"#000\", \"#111\") => false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n};\n\n\n// Big List of Colors\n// ------------------\n// <http://www.w3.org/TR/css3-color/#svg-color>\nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n // <http://www.w3.org/TR/css3-values/#integers>\n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // <http://www.w3.org/TR/css3-values/#number-value>\n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color == 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex6.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if ((match = matchers.hex4.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n a: convertHexToDecimal(match[4] + '' + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex3.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n\n return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (typeof define === 'function' && define.amd) {\n define(function () {return tinycolor;});\n}\n// Browser: Expose to window\nelse {\n window.tinycolor = tinycolor;\n}\n\n})(Math);\n","// mutationobserver-shim v0.3.3 (github.com/megawac/MutationObserver.js)\n// Authors: Graeme Yeates (github.com/megawac) \n/*\n Shim for MutationObserver interface\n Author: Graeme Yeates (github.com/megawac)\n Repository: https://github.com/megawac/MutationObserver.js\n License: WTFPL V2, 2004 (wtfpl.net).\n Though credit and staring the repo will make me feel pretty, you can modify and redistribute as you please.\n Attempts to follow spec (https://www.w3.org/TR/dom/#mutation-observers) as closely as possible for native javascript\n See https://github.com/WebKit/webkit/blob/master/Source/WebCore/dom/MutationObserver.cpp for current webkit source c++ implementation\n*/\nwindow.MutationObserver||(window.MutationObserver=function(y){function z(a){this.i=[];this.m=a}function K(a){(function c(){var d=a.takeRecords();d.length&&a.m(d,a);a.h=setTimeout(c,z._period)})()}function r(a){var b={type:null,target:null,addedNodes:[],removedNodes:[],previousSibling:null,nextSibling:null,attributeName:null,attributeNamespace:null,oldValue:null},c;for(c in a)b[c]!==y&&a[c]!==y&&(b[c]=a[c]);return b}function L(a,b){var c=E(a,b);return function(d){var f=d.length;b.a&&3===a.nodeType&&\na.nodeValue!==c.a&&d.push(new r({type:\"characterData\",target:a,oldValue:c.a}));b.b&&c.b&&C(d,a,c.b,b.f);if(b.c||b.g)var m=M(d,a,c,b);if(m||d.length!==f)c=E(a,b)}}function N(a,b){return b.value}function O(a,b){return\"style\"!==b.name?b.value:a.style.cssText}function C(a,b,c,d){for(var f={},m=b.attributes,k,g,p=m.length;p--;)k=m[p],g=k.name,d&&d[g]===y||(F(b,k)!==c[g]&&a.push(r({type:\"attributes\",target:b,attributeName:g,oldValue:c[g],attributeNamespace:k.namespaceURI})),f[g]=!0);for(g in c)f[g]||a.push(r({target:b,\ntype:\"attributes\",attributeName:g,oldValue:c[g]}))}function M(a,b,c,d){function f(g,p,t,q,x){var A=g.length-1;x=-~((A-x)/2);for(var h,l,e;e=g.pop();)h=t[e.j],l=q[e.l],d.c&&x&&Math.abs(e.j-e.l)>=A&&(a.push(r({type:\"childList\",target:p,addedNodes:[h],removedNodes:[h],nextSibling:h.nextSibling,previousSibling:h.previousSibling})),x--),d.b&&l.b&&C(a,h,l.b,d.f),d.a&&3===h.nodeType&&h.nodeValue!==l.a&&a.push(r({type:\"characterData\",target:h,oldValue:l.a})),d.g&&m(h,l)}function m(g,p){for(var t=g.childNodes,\nq=p.c,x=t.length,A=q?q.length:0,h,l,e,n,v,B=0,w=0,u=0;w<x||u<A;)n=t[w],v=(e=q[u])&&e.node,n===v?(d.b&&e.b&&C(a,n,e.b,d.f),d.a&&e.a!==y&&n.nodeValue!==e.a&&a.push(r({type:\"characterData\",target:n,oldValue:e.a})),l&&f(l,g,t,q,B),d.g&&(n.childNodes.length||e.c&&e.c.length)&&m(n,e),w++,u++):(k=!0,h||(h={},l=[]),n&&(h[e=G(n)]||(h[e]=!0,-1===(e=H(q,n,u,\"node\"))?d.c&&(a.push(r({type:\"childList\",target:g,addedNodes:[n],nextSibling:n.nextSibling,previousSibling:n.previousSibling})),B++):l.push({j:w,l:e})),\nw++),v&&v!==t[w]&&(h[e=G(v)]||(h[e]=!0,-1===(e=H(t,v,w))?d.c&&(a.push(r({type:\"childList\",target:p.node,removedNodes:[v],nextSibling:q[u+1],previousSibling:q[u-1]})),B--):l.push({j:e,l:u})),u++));l&&f(l,g,t,q,B)}var k;m(b,c);return k}function E(a,b){var c=!0;return function m(f){var k={node:f};!b.a||3!==f.nodeType&&8!==f.nodeType?(b.b&&c&&1===f.nodeType&&(k.b=I(f.attributes,function(g,p){if(!b.f||b.f[p.name])g[p.name]=F(f,p);return g},{})),c&&(b.c||b.a||b.b&&b.g)&&(k.c=P(f.childNodes,m)),c=b.g):k.a=\nf.nodeValue;return k}(a)}function G(a){try{return a.id||(a.mo_id=a.mo_id||J++)}catch(b){try{return a.nodeValue}catch(c){return J++}}}function P(a,b){for(var c=[],d=0;d<a.length;d++)c[d]=b(a[d],d,a);return c}function I(a,b,c){for(var d=0;d<a.length;d++)c=b(c,a[d],d,a);return c}function H(a,b,c,d){for(;c<a.length;c++)if((d?a[c][d]:a[c])===b)return c;return-1}z._period=30;z.prototype={observe:function(a,b){for(var c={b:!!(b.attributes||b.attributeFilter||b.attributeOldValue),c:!!b.childList,g:!!b.subtree,\na:!(!b.characterData&&!b.characterDataOldValue)},d=this.i,f=0;f<d.length;f++)d[f].s===a&&d.splice(f,1);b.attributeFilter&&(c.f=I(b.attributeFilter,function(m,k){m[k]=!0;return m},{}));d.push({s:a,o:L(a,c)});this.h||K(this)},takeRecords:function(){for(var a=[],b=this.i,c=0;c<b.length;c++)b[c].o(a);return a},disconnect:function(){this.i=[];clearTimeout(this.h);this.h=null}};var D=document.createElement(\"i\");D.style.top=0;var F=(D=\"null\"!=D.attributes.style.value)?N:O,J=1;return z}(void 0));\n//# sourceMappingURL=mutationobserver.map\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var 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';\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';\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';\n\nexport const AnchorLinkProps = {\n prefixCls: PropTypes.string,\n href: PropTypes.string,\n title: PropTypes.any,\n target: PropTypes.string,\n};\n\nexport default {\n name: 'AAnchorLink',\n props: initDefaultProps(AnchorLinkProps, {\n href: '#',\n }),\n inject: {\n antAnchor: { default: () => ({}) },\n antAnchorContext: { default: () => ({}) },\n configProvider: { default: () => ConfigConsumerProps },\n },\n watch: {\n href(val, oldVal) {\n this.$nextTick(() => {\n this.antAnchor.unregisterLink(oldVal);\n this.antAnchor.registerLink(val);\n });\n },\n },\n\n mounted() {\n this.antAnchor.registerLink(this.href);\n },\n\n beforeDestroy() {\n this.antAnchor.unregisterLink(this.href);\n },\n methods: {\n handleClick(e) {\n this.antAnchor.scrollTo(this.href);\n const { scrollTo } = this.antAnchor;\n const { href, title } = this.$props;\n if (this.antAnchorContext.$emit) {\n this.antAnchorContext.$emit('click', e, { title, href });\n }\n scrollTo(href);\n },\n },\n render() {\n const { prefixCls: customizePrefixCls, href, $slots, target } = this;\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('anchor', customizePrefixCls);\n\n const title = getComponentFromProp(this, 'title');\n const active = this.antAnchor.$data.activeLink === href;\n const wrapperClassName = classNames(`${prefixCls}-link`, {\n [`${prefixCls}-link-active`]: active,\n });\n const titleClassName = classNames(`${prefixCls}-link-title`, {\n [`${prefixCls}-link-title-active`]: active,\n });\n return (\n <div class={wrapperClassName}>\n <a\n class={titleClassName}\n href={href}\n title={typeof title === 'string' ? title : ''}\n target={target}\n onClick={this.handleClick}\n >\n {title}\n </a>\n {$slots.default}\n </div>\n );\n },\n};\n","import Anchor from './Anchor';\nimport AnchorLink from './AnchorLink';\nimport Base from '../base';\n\nAnchor.Link = AnchorLink;\n\n/* istanbul ignore next */\nAnchor.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Anchor.name, Anchor);\n Vue.component(Anchor.Link.name, Anchor.Link);\n};\nexport { AnchorProps } from './Anchor';\nexport { AnchorLinkProps } from './AnchorLink';\nexport default Anchor;\n","import PropTypes from '../_util/vue-types';\n\nexport default {\n props: {\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disabled: PropTypes.bool,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n },\n isSelectOption: true,\n};\n","import PropTypes from '../_util/vue-types';\nexport default {\n props: {\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n },\n isSelectOptGroup: true,\n};\n","/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\n\nconst KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n /**\n * TAB\n */\n TAB: 9,\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12, // NUMLOCK on FF/Safari Mac\n /**\n * ENTER\n */\n ENTER: 13,\n /**\n * SHIFT\n */\n SHIFT: 16,\n /**\n * CTRL\n */\n CTRL: 17,\n /**\n * ALT\n */\n ALT: 18,\n /**\n * PAUSE\n */\n PAUSE: 19,\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n /**\n * ESC\n */\n ESC: 27,\n /**\n * SPACE\n */\n SPACE: 32,\n /**\n * PAGE_UP\n */\n PAGE_UP: 33, // also NUM_NORTH_EAST\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34, // also NUM_SOUTH_EAST\n /**\n * END\n */\n END: 35, // also NUM_SOUTH_WEST\n /**\n * HOME\n */\n HOME: 36, // also NUM_NORTH_WEST\n /**\n * LEFT\n */\n LEFT: 37, // also NUM_WEST\n /**\n * UP\n */\n UP: 38, // also NUM_NORTH\n /**\n * RIGHT\n */\n RIGHT: 39, // also NUM_EAST\n /**\n * DOWN\n */\n DOWN: 40, // also NUM_SOUTH\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n /**\n * INSERT\n */\n INSERT: 45, // also NUM_INSERT\n /**\n * DELETE\n */\n DELETE: 46, // also NUM_DELETE\n /**\n * ZERO\n */\n ZERO: 48,\n /**\n * ONE\n */\n ONE: 49,\n /**\n * TWO\n */\n TWO: 50,\n /**\n * THREE\n */\n THREE: 51,\n /**\n * FOUR\n */\n FOUR: 52,\n /**\n * FIVE\n */\n FIVE: 53,\n /**\n * SIX\n */\n SIX: 54,\n /**\n * SEVEN\n */\n SEVEN: 55,\n /**\n * EIGHT\n */\n EIGHT: 56,\n /**\n * NINE\n */\n NINE: 57,\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63, // needs localization\n /**\n * A\n */\n A: 65,\n /**\n * B\n */\n B: 66,\n /**\n * C\n */\n C: 67,\n /**\n * D\n */\n D: 68,\n /**\n * E\n */\n E: 69,\n /**\n * F\n */\n F: 70,\n /**\n * G\n */\n G: 71,\n /**\n * H\n */\n H: 72,\n /**\n * I\n */\n I: 73,\n /**\n * J\n */\n J: 74,\n /**\n * K\n */\n K: 75,\n /**\n * L\n */\n L: 76,\n /**\n * M\n */\n M: 77,\n /**\n * N\n */\n N: 78,\n /**\n * O\n */\n O: 79,\n /**\n * P\n */\n P: 80,\n /**\n * Q\n */\n Q: 81,\n /**\n * R\n */\n R: 82,\n /**\n * S\n */\n S: 83,\n /**\n * T\n */\n T: 84,\n /**\n * U\n */\n U: 85,\n /**\n * V\n */\n V: 86,\n /**\n * W\n */\n W: 87,\n /**\n * X\n */\n X: 88,\n /**\n * Y\n */\n Y: 89,\n /**\n * Z\n */\n Z: 90,\n /**\n * META\n */\n META: 91, // WIN_KEY_LEFT\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n /**\n * F1\n */\n F1: 112,\n /**\n * F2\n */\n F2: 113,\n /**\n * F3\n */\n F3: 114,\n /**\n * F4\n */\n F4: 115,\n /**\n * F5\n */\n F5: 116,\n /**\n * F6\n */\n F6: 117,\n /**\n * F7\n */\n F7: 118,\n /**\n * F8\n */\n F8: 119,\n /**\n * F9\n */\n F9: 120,\n /**\n * F10\n */\n F10: 121,\n /**\n * F11\n */\n F11: 122,\n /**\n * F12\n */\n F12: 123,\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n /**\n * SEMICOLON\n */\n SEMICOLON: 186, // needs localization\n /**\n * DASH\n */\n DASH: 189, // needs localization\n /**\n * EQUALS\n */\n EQUALS: 187, // needs localization\n /**\n * COMMA\n */\n COMMA: 188, // needs localization\n /**\n * PERIOD\n */\n PERIOD: 190, // needs localization\n /**\n * SLASH\n */\n SLASH: 191, // needs localization\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192, // needs localization\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222, // needs localization\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219, // needs localization\n /**\n * BACKSLASH\n */\n BACKSLASH: 220, // needs localization\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221, // needs localization\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224, // Firefox (Gecko) fires this for the meta key instead of 91\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n};\n\n/*\n whether text and modified key is entered at the same time.\n */\nKeyCode.isTextModifyingKeyEvent = function isTextModifyingKeyEvent(e) {\n const keyCode = e.keyCode;\n if (\n (e.altKey && !e.ctrlKey) ||\n e.metaKey ||\n // Function keys don't generate text\n (keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12)\n ) {\n return false;\n }\n\n // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n switch (keyCode) {\n case KeyCode.ALT:\n case KeyCode.CAPS_LOCK:\n case KeyCode.CONTEXT_MENU:\n case KeyCode.CTRL:\n case KeyCode.DOWN:\n case KeyCode.END:\n case KeyCode.ESC:\n case KeyCode.HOME:\n case KeyCode.INSERT:\n case KeyCode.LEFT:\n case KeyCode.MAC_FF_META:\n case KeyCode.META:\n case KeyCode.NUMLOCK:\n case KeyCode.NUM_CENTER:\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAUSE:\n case KeyCode.PRINT_SCREEN:\n case KeyCode.RIGHT:\n case KeyCode.SHIFT:\n case KeyCode.UP:\n case KeyCode.WIN_KEY:\n case KeyCode.WIN_KEY_RIGHT:\n return false;\n default:\n return true;\n }\n};\n\n/*\n whether character is entered.\n */\nKeyCode.isCharacterKey = function isCharacterKey(keyCode) {\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n return true;\n }\n\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n }\n\n // Safari sends zero key code for non-latin characters.\n if (window.navigation.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\n\n switch (keyCode) {\n case KeyCode.SPACE:\n case KeyCode.QUESTION_MARK:\n case KeyCode.NUM_PLUS:\n case KeyCode.NUM_MINUS:\n case KeyCode.NUM_PERIOD:\n case KeyCode.NUM_DIVISION:\n case KeyCode.SEMICOLON:\n case KeyCode.DASH:\n case KeyCode.EQUALS:\n case KeyCode.COMMA:\n case KeyCode.PERIOD:\n case KeyCode.SLASH:\n case KeyCode.APOSTROPHE:\n case KeyCode.SINGLE_QUOTE:\n case KeyCode.OPEN_SQUARE_BRACKET:\n case KeyCode.BACKSLASH:\n case KeyCode.CLOSE_SQUARE_BRACKET:\n return true;\n default:\n return false;\n }\n};\n\nexport default KeyCode;\n","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nfunction getClientPosition(elem) {\n var box;\n var x;\n var y;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement; // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n\n box = elem.getBoundingClientRect(); // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top; // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n var method = \"scroll\".concat(top ? 'Top' : 'Left');\n\n if (typeof ret !== 'number') {\n var d = w.document; // ie6,7,8 standard mode\n\n ret = d.documentElement[method];\n\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\n\nfunction _getComputedStyle(elem, name, computedStyle_) {\n var val = '';\n var d = elem.ownerDocument;\n var computedStyle = computedStyle_ || d.defaultView.getComputedStyle(elem, null); // https://github.com/kissyteam/kissy/issues/61\n\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp(\"^(\".concat(RE_NUM, \")(?!px)[a-z%]+$\"), 'i');\n\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name]; // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT]; // prevent flashing of content\n\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT]; // Put in the new values to get a computed value out\n\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX; // Revert the changed values\n\n style[LEFT] = left;\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n\n return ret === '' ? 'auto' : ret;\n}\n\nvar getComputedStyleX;\n\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name; // Remember the old values, and insert the new ones\n\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem); // Revert the old values\n\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop;\n var j;\n var i;\n\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = void 0;\n\n if (prop === 'border') {\n cssProp = \"\".concat(prop + which[i], \"Width\");\n } else {\n cssProp = prop + which[i];\n }\n\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n\n return value;\n}\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\n\n\nfunction isWindow(obj) {\n // must use == for ie8\n\n /* eslint eqeqeq:0 */\n return obj != null && obj == obj.window;\n}\n\nvar domUtils = {};\neach(['Width', 'Height'], function (name) {\n domUtils[\"doc\".concat(name)] = function (refWin) {\n var d = refWin.document;\n return Math.max( // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement[\"scroll\".concat(name)], // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body[\"scroll\".concat(name)], domUtils[\"viewport\".concat(name)](d));\n };\n\n domUtils[\"viewport\".concat(name)] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = \"client\".concat(name);\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop]; // 标准模式取 documentElement\n // backcompat 取 body\n\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\n\nfunction getWH(elem, name, extra) {\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.offsetWidth : elem.offsetHeight;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n var cssBoxValue = 0;\n\n if (borderBoxValue == null || borderBoxValue <= 0) {\n borderBoxValue = undefined; // Fall back to computed then un computed css if necessary\n\n cssBoxValue = getComputedStyleX(elem, name);\n\n if (cssBoxValue == null || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n } // Normalize '', auto, and prepare for extra\n\n\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which);\n }\n\n return cssBoxValue;\n }\n\n if (borderBoxValueOrIsBorderBox) {\n var padding = extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which) : getPBMWidth(elem, ['margin'], which);\n return val + (extra === BORDER_INDEX ? 0 : padding);\n }\n\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n}; // fix #119 : https://github.com/kissyteam/kissy/issues/119\n\nfunction getWHIgnoreDisplay(elem) {\n var val;\n var args = arguments; // in case elem is window\n // elem.offsetWidth === undefined\n\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n\n return val;\n}\n\nfunction css(el, name, v) {\n var value = v;\n\n if (_typeof(name) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n\n return undefined;\n }\n\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value += 'px';\n }\n\n el.style[name] = value;\n return undefined;\n }\n\n return getComputedStyleX(el, name);\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n\n domUtils[\"outer\".concat(first)] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, val) {\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which);\n }\n\n return css(elem, name, val);\n }\n\n return undefined;\n }\n\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n}); // 设置 elem 相对 elem.ownerDocument 的坐标\n\nfunction setOffset(elem, offset) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n\n var old = getOffset(elem);\n var ret = {};\n var current;\n var key;\n\n for (key in offset) {\n if (offset.hasOwnProperty(key)) {\n current = parseFloat(css(elem, key)) || 0;\n ret[key] = current + offset[key] - old[key];\n }\n }\n\n css(elem, ret);\n}\n\nvar util = _objectSpread2({\n getWindow: function getWindow(node) {\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n offset: function offset(el, value) {\n if (typeof value !== 'undefined') {\n setOffset(el, value);\n } else {\n return getOffset(el);\n }\n },\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var ret = {};\n\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n\n var overflow = obj.overflow;\n\n if (overflow) {\n for (var _i in obj) {\n if (obj.hasOwnProperty(_i)) {\n ret.overflow[_i] = obj.overflow[_i];\n }\n }\n }\n\n return ret;\n },\n scrollLeft: function scrollLeft(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollLeft(w);\n }\n\n window.scrollTo(v, getScrollTop(w));\n } else {\n if (v === undefined) {\n return w.scrollLeft;\n }\n\n w.scrollLeft = v;\n }\n },\n scrollTop: function scrollTop(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollTop(w);\n }\n\n window.scrollTo(getScrollLeft(w), v);\n } else {\n if (v === undefined) {\n return w.scrollTop;\n }\n\n w.scrollTop = v;\n }\n },\n viewportWidth: 0,\n viewportHeight: 0\n}, domUtils);\n\nfunction scrollIntoView(elem, container, config) {\n config = config || {}; // document 归一化到 window\n\n if (container.nodeType === 9) {\n container = util.getWindow(container);\n }\n\n var allowHorizontalScroll = config.allowHorizontalScroll;\n var onlyScrollIfNeeded = config.onlyScrollIfNeeded;\n var alignWithTop = config.alignWithTop;\n var alignWithLeft = config.alignWithLeft;\n var offsetTop = config.offsetTop || 0;\n var offsetLeft = config.offsetLeft || 0;\n var offsetBottom = config.offsetBottom || 0;\n var offsetRight = config.offsetRight || 0;\n allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll;\n var isWin = util.isWindow(container);\n var elemOffset = util.offset(elem);\n var eh = util.outerHeight(elem);\n var ew = util.outerWidth(elem);\n var containerOffset;\n var ch;\n var cw;\n var containerScroll;\n var diffTop;\n var diffBottom;\n var win;\n var winScroll;\n var ww;\n var wh;\n\n if (isWin) {\n win = container;\n wh = util.height(win);\n ww = util.width(win);\n winScroll = {\n left: util.scrollLeft(win),\n top: util.scrollTop(win)\n }; // elem 相对 container 可视视窗的距离\n\n diffTop = {\n left: elemOffset.left - winScroll.left - offsetLeft,\n top: elemOffset.top - winScroll.top - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (winScroll.left + ww) + offsetRight,\n top: elemOffset.top + eh - (winScroll.top + wh) + offsetBottom\n };\n containerScroll = winScroll;\n } else {\n containerOffset = util.offset(container);\n ch = container.clientHeight;\n cw = container.clientWidth;\n containerScroll = {\n left: container.scrollLeft,\n top: container.scrollTop\n }; // elem 相对 container 可视视窗的距离\n // 注意边框, offset 是边框到根节点\n\n diffTop = {\n left: elemOffset.left - (containerOffset.left + (parseFloat(util.css(container, 'borderLeftWidth')) || 0)) - offsetLeft,\n top: elemOffset.top - (containerOffset.top + (parseFloat(util.css(container, 'borderTopWidth')) || 0)) - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (containerOffset.left + cw + (parseFloat(util.css(container, 'borderRightWidth')) || 0)) + offsetRight,\n top: elemOffset.top + eh - (containerOffset.top + ch + (parseFloat(util.css(container, 'borderBottomWidth')) || 0)) + offsetBottom\n };\n }\n\n if (diffTop.top < 0 || diffBottom.top > 0) {\n // 强制向上\n if (alignWithTop === true) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else if (alignWithTop === false) {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n } else {\n // 自动调整\n if (diffTop.top < 0) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithTop = alignWithTop === undefined ? true : !!alignWithTop;\n\n if (alignWithTop) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n }\n\n if (allowHorizontalScroll) {\n if (diffTop.left < 0 || diffBottom.left > 0) {\n // 强制向上\n if (alignWithLeft === true) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else if (alignWithLeft === false) {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n } else {\n // 自动调整\n if (diffTop.left < 0) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft;\n\n if (alignWithLeft) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n }\n }\n}\n\nexport default scrollIntoView;\n//# sourceMappingURL=index.js.map\n","import shallowEqual from 'shallowequal';\nimport omit from 'omit.js';\nimport { getOptionProps, getListeners } from '../props-util';\nimport PropTypes from '../vue-types';\nimport proxyComponent from '../proxyComponent';\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.name || 'Component';\n}\n\nconst defaultMapStateToProps = () => ({});\nexport default function connect(mapStateToProps) {\n const shouldSubscribe = !!mapStateToProps;\n const finalMapStateToProps = mapStateToProps || defaultMapStateToProps;\n return function wrapWithConnect(WrappedComponent) {\n const tempProps = omit(WrappedComponent.props || {}, ['store']);\n const props = {\n __propsSymbol__: PropTypes.any,\n };\n Object.keys(tempProps).forEach(k => {\n props[k] = { ...tempProps[k], required: false };\n });\n const Connect = {\n name: `Connect_${getDisplayName(WrappedComponent)}`,\n props,\n inject: {\n storeContext: { default: () => ({}) },\n },\n data() {\n this.store = this.storeContext.store;\n this.preProps = omit(getOptionProps(this), ['__propsSymbol__']);\n return {\n subscribed: finalMapStateToProps(this.store.getState(), this.$props),\n };\n },\n watch: {\n __propsSymbol__() {\n if (mapStateToProps && mapStateToProps.length === 2) {\n this.subscribed = finalMapStateToProps(this.store.getState(), this.$props);\n }\n },\n },\n mounted() {\n this.trySubscribe();\n },\n\n beforeDestroy() {\n this.tryUnsubscribe();\n },\n methods: {\n handleChange() {\n if (!this.unsubscribe) {\n return;\n }\n const props = omit(getOptionProps(this), ['__propsSymbol__']);\n const nextSubscribed = finalMapStateToProps(this.store.getState(), props);\n if (\n !shallowEqual(this.preProps, props) ||\n !shallowEqual(this.subscribed, nextSubscribed)\n ) {\n this.subscribed = nextSubscribed;\n }\n },\n\n trySubscribe() {\n if (shouldSubscribe) {\n this.unsubscribe = this.store.subscribe(this.handleChange);\n this.handleChange();\n }\n },\n\n tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n },\n getWrappedInstance() {\n return this.$refs.wrappedInstance;\n },\n },\n render() {\n const { $slots = {}, $scopedSlots, subscribed, store } = this;\n const props = getOptionProps(this);\n this.preProps = { ...omit(props, ['__propsSymbol__']) };\n const wrapProps = {\n props: {\n ...props,\n ...subscribed,\n store,\n },\n on: getListeners(this),\n scopedSlots: $scopedSlots,\n };\n return (\n <WrappedComponent {...wrapProps} ref=\"wrappedInstance\">\n {Object.keys($slots).map(name => {\n return <template slot={name}>{$slots[name]}</template>;\n })}\n </WrappedComponent>\n );\n },\n };\n return proxyComponent(Connect);\n };\n}\n","// MIT License from https://github.com/kaimallea/isMobile\n\nconst applePhone = /iPhone/i;\nconst appleIpod = /iPod/i;\nconst appleTablet = /iPad/i;\nconst androidPhone = /\\bAndroid(?:.+)Mobile\\b/i; // Match 'Android' AND 'Mobile'\nconst androidTablet = /Android/i;\nconst amazonPhone = /\\bAndroid(?:.+)SD4930UR\\b/i;\nconst amazonTablet = /\\bAndroid(?:.+)(?:KF[A-Z]{2,4})\\b/i;\nconst windowsPhone = /Windows Phone/i;\nconst windowsTablet = /\\bWindows(?:.+)ARM\\b/i; // Match 'Windows' AND 'ARM'\nconst otherBlackberry = /BlackBerry/i;\nconst otherBlackberry10 = /BB10/i;\nconst otherOpera = /Opera Mini/i;\nconst otherChrome = /\\b(CriOS|Chrome)(?:.+)Mobile/i;\nconst otherFirefox = /Mobile(?:.+)Firefox\\b/i; // Match 'Mobile' AND 'Firefox'\n\nfunction match(regex, userAgent) {\n return regex.test(userAgent);\n}\n\nfunction isMobile(userAgent) {\n let ua = userAgent || (typeof navigator !== 'undefined' ? navigator.userAgent : '');\n\n // Facebook mobile app's integrated browser adds a bunch of strings that\n // match everything. Strip it out if it exists.\n let tmp = ua.split('[FBAN');\n if (typeof tmp[1] !== 'undefined') {\n [ua] = tmp;\n }\n\n // Twitter mobile app's integrated browser on iPad adds a \"Twitter for\n // iPhone\" string. Same probably happens on other tablet platforms.\n // This will confuse detection so strip it out if it exists.\n tmp = ua.split('Twitter');\n if (typeof tmp[1] !== 'undefined') {\n [ua] = tmp;\n }\n\n const result = {\n apple: {\n phone: match(applePhone, ua) && !match(windowsPhone, ua),\n ipod: match(appleIpod, ua),\n tablet: !match(applePhone, ua) && match(appleTablet, ua) && !match(windowsPhone, ua),\n device:\n (match(applePhone, ua) || match(appleIpod, ua) || match(appleTablet, ua)) &&\n !match(windowsPhone, ua),\n },\n amazon: {\n phone: match(amazonPhone, ua),\n tablet: !match(amazonPhone, ua) && match(amazonTablet, ua),\n device: match(amazonPhone, ua) || match(amazonTablet, ua),\n },\n android: {\n phone:\n (!match(windowsPhone, ua) && match(amazonPhone, ua)) ||\n (!match(windowsPhone, ua) && match(androidPhone, ua)),\n tablet:\n !match(windowsPhone, ua) &&\n !match(amazonPhone, ua) &&\n !match(androidPhone, ua) &&\n (match(amazonTablet, ua) || match(androidTablet, ua)),\n device:\n (!match(windowsPhone, ua) &&\n (match(amazonPhone, ua) ||\n match(amazonTablet, ua) ||\n match(androidPhone, ua) ||\n match(androidTablet, ua))) ||\n match(/\\bokhttp\\b/i, ua),\n },\n windows: {\n phone: match(windowsPhone, ua),\n tablet: match(windowsTablet, ua),\n device: match(windowsPhone, ua) || match(windowsTablet, ua),\n },\n other: {\n blackberry: match(otherBlackberry, ua),\n blackberry10: match(otherBlackberry10, ua),\n opera: match(otherOpera, ua),\n firefox: match(otherFirefox, ua),\n chrome: match(otherChrome, ua),\n device:\n match(otherBlackberry, ua) ||\n match(otherBlackberry10, ua) ||\n match(otherOpera, ua) ||\n match(otherFirefox, ua) ||\n match(otherChrome, ua),\n },\n\n // Additional\n any: null,\n phone: null,\n tablet: null,\n };\n result.any =\n result.apple.device || result.android.device || result.windows.device || result.other.device;\n\n // excludes 'other' devices and ipods, targeting touchscreen phones\n result.phone = result.apple.phone || result.android.phone || result.windows.phone;\n result.tablet = result.apple.tablet || result.android.tablet || result.windows.tablet;\n\n return result;\n}\n\nconst defaultResult = {\n ...isMobile(),\n isMobile,\n};\n\nexport default defaultResult;\n","import isMobile from './utils/isMobile';\n\nexport function noop() {}\n\nexport function getKeyFromChildrenIndex(child, menuEventKey, index) {\n const prefix = menuEventKey || '';\n return child.key === undefined ? `${prefix}item_${index}` : child.key;\n}\n\nexport function getMenuIdFromSubMenuEventKey(eventKey) {\n return `${eventKey}-menu-`;\n}\n\nexport function loopMenuItem(children, cb) {\n let index = -1;\n children.forEach(c => {\n index++;\n if (c && c.type && c.type.isMenuItemGroup) {\n c.$slots.default.forEach(c2 => {\n index++;\n c.componentOptions && cb(c2, index);\n });\n } else {\n c.componentOptions && cb(c, index);\n }\n });\n}\n\nexport function loopMenuItemRecursively(children, keys, ret) {\n if (!children || ret.find) {\n return;\n }\n children.forEach(c => {\n if (ret.find) {\n return;\n }\n if (c.data && c.data.slot && c.data.slot !== 'default') {\n return;\n }\n if (c && c.componentOptions) {\n const options = c.componentOptions.Ctor.options;\n if (!options || !(options.isSubMenu || options.isMenuItem || options.isMenuItemGroup)) {\n return;\n }\n if (keys.indexOf(c.key) !== -1) {\n ret.find = true;\n } else if (c.componentOptions.children) {\n loopMenuItemRecursively(c.componentOptions.children, keys, ret);\n }\n }\n });\n}\n\nexport const menuAllProps = {\n props: [\n 'defaultSelectedKeys',\n 'selectedKeys',\n 'defaultOpenKeys',\n 'openKeys',\n 'mode',\n 'getPopupContainer',\n 'openTransitionName',\n 'openAnimation',\n 'subMenuOpenDelay',\n 'subMenuCloseDelay',\n 'forceSubMenuRender',\n 'triggerSubMenuAction',\n 'level',\n 'selectable',\n 'multiple',\n 'visible',\n 'focusable',\n 'defaultActiveFirst',\n 'prefixCls',\n 'inlineIndent',\n 'parentMenu',\n 'title',\n 'rootPrefixCls',\n 'eventKey',\n 'active',\n 'popupAlign',\n 'popupOffset',\n 'isOpen',\n 'renderMenuItem',\n 'manualRef',\n 'subMenuKey',\n 'disabled',\n 'index',\n 'isSelected',\n 'store',\n 'activeKey',\n 'builtinPlacements',\n 'overflowedIndicator',\n\n // the following keys found need to be removed from test regression\n 'attribute',\n 'value',\n 'popupClassName',\n 'inlineCollapsed',\n 'menu',\n 'theme',\n 'itemIcon',\n 'expandIcon',\n ],\n on: [\n 'select',\n 'deselect',\n 'destroy',\n 'openChange',\n 'itemHover',\n 'titleMouseenter',\n 'titleMouseleave',\n 'titleClick',\n ],\n};\n\n// ref: https://github.com/ant-design/ant-design/issues/14007\n// ref: https://bugs.chromium.org/p/chromium/issues/detail?id=360889\n// getBoundingClientRect return the full precision value, which is\n// not the same behavior as on chrome. Set the precision to 6 to\n// unify their behavior\nexport const getWidth = elem => {\n let width =\n elem && typeof elem.getBoundingClientRect === 'function' && elem.getBoundingClientRect().width;\n if (width) {\n width = +width.toFixed(6);\n }\n return width || 0;\n};\n\nexport const setStyle = (elem, styleProperty, value) => {\n if (elem && typeof elem.style === 'object') {\n elem.style[styleProperty] = value;\n }\n};\n\nexport const isMobileDevice = () => {\n return isMobile.any;\n};\n","import PropTypes from '../_util/vue-types';\nimport KeyCode from '../_util/KeyCode';\nimport BaseMixin from '../_util/BaseMixin';\nimport scrollIntoView from 'dom-scroll-into-view';\nimport { connect } from '../_util/store';\nimport { noop, menuAllProps } from './util';\nimport { getComponentFromProp, getListeners } from '../_util/props-util';\n\nconst props = {\n attribute: PropTypes.object,\n rootPrefixCls: PropTypes.string,\n eventKey: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n active: PropTypes.bool,\n selectedKeys: PropTypes.array,\n disabled: PropTypes.bool,\n title: PropTypes.any,\n index: PropTypes.number,\n inlineIndent: PropTypes.number.def(24),\n level: PropTypes.number.def(1),\n mode: PropTypes.oneOf([\n 'horizontal',\n 'vertical',\n 'vertical-left',\n 'vertical-right',\n 'inline',\n ]).def('vertical'),\n parentMenu: PropTypes.object,\n multiple: PropTypes.bool,\n value: PropTypes.any,\n isSelected: PropTypes.bool,\n manualRef: PropTypes.func.def(noop),\n role: PropTypes.any,\n subMenuKey: PropTypes.string,\n itemIcon: PropTypes.any,\n // clearSubMenuTimers: PropTypes.func.def(noop),\n};\nconst MenuItem = {\n name: 'MenuItem',\n props,\n mixins: [BaseMixin],\n isMenuItem: true,\n created() {\n this.prevActive = this.active;\n // invoke customized ref to expose component to mixin\n this.callRef();\n },\n updated() {\n this.$nextTick(() => {\n const { active, parentMenu, eventKey } = this.$props;\n if (!this.prevActive && active && (!parentMenu || !parentMenu[`scrolled-${eventKey}`])) {\n scrollIntoView(this.$el, this.parentMenu.$el, {\n onlyScrollIfNeeded: true,\n });\n parentMenu[`scrolled-${eventKey}`] = true;\n } else if (parentMenu && parentMenu[`scrolled-${eventKey}`]) {\n delete parentMenu[`scrolled-${eventKey}`];\n }\n this.prevActive = active;\n });\n this.callRef();\n },\n beforeDestroy() {\n const props = this.$props;\n this.__emit('destroy', props.eventKey);\n },\n methods: {\n onKeyDown(e) {\n const keyCode = e.keyCode;\n if (keyCode === KeyCode.ENTER) {\n this.onClick(e);\n return true;\n }\n },\n\n onMouseLeave(e) {\n const { eventKey } = this.$props;\n this.__emit('itemHover', {\n key: eventKey,\n hover: false,\n });\n this.__emit('mouseleave', {\n key: eventKey,\n domEvent: e,\n });\n },\n\n onMouseEnter(e) {\n const { eventKey } = this;\n this.__emit('itemHover', {\n key: eventKey,\n hover: true,\n });\n this.__emit('mouseenter', {\n key: eventKey,\n domEvent: e,\n });\n },\n\n onClick(e) {\n const { eventKey, multiple, isSelected } = this.$props;\n const info = {\n key: eventKey,\n keyPath: [eventKey],\n item: this,\n domEvent: e,\n };\n\n this.__emit('click', info);\n if (multiple) {\n if (isSelected) {\n this.__emit('deselect', info);\n } else {\n this.__emit('select', info);\n }\n } else if (!isSelected) {\n this.__emit('select', info);\n }\n },\n\n getPrefixCls() {\n return `${this.$props.rootPrefixCls}-item`;\n },\n\n getActiveClassName() {\n return `${this.getPrefixCls()}-active`;\n },\n\n getSelectedClassName() {\n return `${this.getPrefixCls()}-selected`;\n },\n\n getDisabledClassName() {\n return `${this.getPrefixCls()}-disabled`;\n },\n\n callRef() {\n if (this.manualRef) {\n this.manualRef(this);\n }\n },\n },\n\n render() {\n const props = { ...this.$props };\n const className = {\n [this.getPrefixCls()]: true,\n [this.getActiveClassName()]: !props.disabled && props.active,\n [this.getSelectedClassName()]: props.isSelected,\n [this.getDisabledClassName()]: props.disabled,\n };\n let attrs = {\n ...props.attribute,\n title: props.title,\n role: props.role || 'menuitem',\n 'aria-disabled': props.disabled,\n };\n if (props.role === 'option') {\n // overwrite to option\n attrs = {\n ...attrs,\n role: 'option',\n 'aria-selected': props.isSelected,\n };\n } else if (props.role === null || props.role === 'none') {\n // sometimes we want to specify role inside <li/> element\n // <li><a role='menuitem'>Link</a></li> would be a good example\n // in this case the role on <li/> should be \"none\" to\n // remove the implied listitem role.\n // https://www.w3.org/TR/wai-aria-practices-1.1/examples/menubar/menubar-1/menubar-1.html\n attrs.role = 'none';\n }\n // In case that onClick/onMouseLeave/onMouseEnter is passed down from owner\n const mouseEvent = {\n click: props.disabled ? noop : this.onClick,\n mouseleave: props.disabled ? noop : this.onMouseLeave,\n mouseenter: props.disabled ? noop : this.onMouseEnter,\n };\n\n const style = {};\n if (props.mode === 'inline') {\n style.paddingLeft = `${props.inlineIndent * props.level}px`;\n }\n const listeners = { ...getListeners(this) };\n menuAllProps.props.forEach(key => delete props[key]);\n menuAllProps.on.forEach(key => delete listeners[key]);\n const liProps = {\n attrs: {\n ...props,\n ...attrs,\n },\n on: {\n ...listeners,\n ...mouseEvent,\n },\n };\n return (\n <li {...liProps} style={style} class={className}>\n {this.$slots.default}\n {getComponentFromProp(this, 'itemIcon', props)}\n </li>\n );\n },\n};\n\nconst connected = connect(({ activeKey, selectedKeys }, { eventKey, subMenuKey }) => ({\n active: activeKey[subMenuKey] === eventKey,\n isSelected: selectedKeys.indexOf(eventKey) !== -1,\n}))(MenuItem);\n\nexport default connected;\nexport { props as menuItemProps };\n","import PropTypes from '../_util/vue-types';\nimport { getComponentFromProp, getListeners } from '../_util/props-util';\n\n// import { menuAllProps } from './util'\n\nconst MenuItemGroup = {\n name: 'MenuItemGroup',\n\n props: {\n renderMenuItem: PropTypes.func,\n index: PropTypes.number,\n className: PropTypes.string,\n subMenuKey: PropTypes.string,\n rootPrefixCls: PropTypes.string,\n disabled: PropTypes.bool.def(true),\n title: PropTypes.any,\n },\n isMenuItemGroup: true,\n methods: {\n renderInnerMenuItem(item) {\n const { renderMenuItem, index, subMenuKey } = this.$props;\n return renderMenuItem(item, index, subMenuKey);\n },\n },\n render() {\n const props = { ...this.$props };\n const { rootPrefixCls, title } = props;\n const titleClassName = `${rootPrefixCls}-item-group-title`;\n const listClassName = `${rootPrefixCls}-item-group-list`;\n // menuAllProps.props.forEach(key => delete props[key])\n const listeners = { ...getListeners(this) };\n delete listeners.click;\n\n return (\n <li {...{ on: listeners, class: `${rootPrefixCls}-item-group` }}>\n <div class={titleClassName} title={typeof title === 'string' ? title : undefined}>\n {getComponentFromProp(this, 'title')}\n </div>\n <ul class={listClassName}>\n {this.$slots.default && this.$slots.default.map(this.renderInnerMenuItem)}\n </ul>\n </li>\n );\n },\n};\n\nexport default MenuItemGroup;\n","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 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\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","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) {\n return child;\n }\n }\n return null;\n}\n\nexport function includesSeparators(str, separators) {\n for (let i = 0; i < separators.length; ++i) {\n if (str.lastIndexOf(separators[i]) > 0) {\n return true;\n }\n }\n return false;\n}\n\nexport function splitBySeparators(str, separators) {\n const reg = new RegExp(`[${separators.join()}]`);\n return str.split(reg).filter(token => token);\n}\n\nexport function defaultFilterFn(input, child) {\n const props = getPropsData(child);\n if (props.disabled) {\n return false;\n }\n let value = getPropValue(child, this.optionFilterProp);\n if (value.length && value[0].text) {\n value = value[0].text;\n } else {\n value = String(value);\n }\n return value.toLowerCase().indexOf(input.toLowerCase()) > -1;\n}\n\nexport function validateOptionValue(value, props) {\n if (isSingleMode(props) || isMultiple(props)) {\n return;\n }\n if (typeof value !== 'string') {\n throw new Error(\n `Invalid \\`value\\` of type \\`${typeof value}\\` supplied to Option, ` +\n `expected \\`string\\` when \\`tags/combobox\\` is \\`true\\`.`,\n );\n }\n}\n\nexport function saveRef(instance, name) {\n return node => {\n instance[name] = node;\n };\n}\n\nexport function generateUUID() {\n if (process.env.NODE_ENV === 'test') {\n return 'test-uuid';\n }\n let d = new Date().getTime();\n const uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\n const r = (d + Math.random() * 16) % 16 | 0;\n d = Math.floor(d / 16);\n return (c === 'x' ? r : (r & 0x7) | 0x8).toString(16);\n });\n return uuid;\n}\n","import raf from 'raf';\nimport PropTypes from '../_util/vue-types';\nimport Menu from '../vc-menu';\nimport scrollIntoView from 'dom-scroll-into-view';\nimport { getSelectKeys, preventDefaultEvent } from './util';\nimport { cloneElement } from '../_util/vnode';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getSlotOptions, getComponentFromProp, getListeners } from '../_util/props-util';\n\nexport default {\n name: 'DropdownMenu',\n mixins: [BaseMixin],\n props: {\n ariaId: PropTypes.string,\n defaultActiveFirstOption: PropTypes.bool,\n value: PropTypes.any,\n dropdownMenuStyle: PropTypes.object,\n multiple: PropTypes.bool,\n // onPopupFocus: PropTypes.func,\n // onPopupScroll: PropTypes.func,\n // onMenuDeSelect: PropTypes.func,\n // onMenuSelect: PropTypes.func,\n prefixCls: PropTypes.string,\n menuItems: PropTypes.any,\n inputValue: PropTypes.string,\n visible: PropTypes.bool,\n backfillValue: PropTypes.any,\n firstActiveValue: PropTypes.string,\n menuItemSelectedIcon: PropTypes.any,\n },\n watch: {\n visible(val) {\n if (!val) {\n this.lastVisible = val;\n } else {\n this.$nextTick(() => {\n this.scrollActiveItemToView();\n });\n }\n },\n },\n\n created() {\n this.rafInstance = null;\n this.lastInputValue = this.$props.inputValue;\n this.lastVisible = false;\n },\n\n mounted() {\n this.$nextTick(() => {\n this.scrollActiveItemToView();\n });\n this.lastVisible = this.$props.visible;\n },\n updated() {\n const props = this.$props;\n // if (!this.prevVisible && props.visible) {\n // this.$nextTick(() => {\n // this.scrollActiveItemToView();\n // });\n // }\n this.lastVisible = props.visible;\n this.lastInputValue = props.inputValue;\n this.prevVisible = this.visible;\n },\n beforeDestroy() {\n if (this.rafInstance) {\n raf.cancel(this.rafInstance);\n }\n },\n methods: {\n scrollActiveItemToView() {\n // scroll into view\n const itemComponent = this.firstActiveItem && this.firstActiveItem.$el;\n const props = this.$props;\n const { value, visible, firstActiveValue } = props;\n if (!itemComponent || !visible) {\n return;\n }\n const scrollIntoViewOpts = {\n onlyScrollIfNeeded: true,\n };\n if ((!value || value.length === 0) && firstActiveValue) {\n scrollIntoViewOpts.alignWithTop = true;\n }\n // Delay to scroll since current frame item position is not ready when pre view is by filter\n // https://github.com/ant-design/ant-design/issues/11268#issuecomment-406634462\n this.rafInstance = raf(() => {\n scrollIntoView(itemComponent, this.$refs.menuRef.$el, scrollIntoViewOpts);\n });\n },\n\n renderMenu() {\n const props = this.$props;\n const {\n menuItems,\n defaultActiveFirstOption,\n value,\n prefixCls,\n multiple,\n inputValue,\n firstActiveValue,\n dropdownMenuStyle,\n backfillValue,\n visible,\n } = props;\n const menuItemSelectedIcon = getComponentFromProp(this, 'menuItemSelectedIcon');\n const { menuDeselect, menuSelect, popupScroll } = getListeners(this);\n if (menuItems && menuItems.length) {\n const selectedKeys = getSelectKeys(menuItems, value);\n const menuProps = {\n props: {\n multiple,\n itemIcon: multiple ? menuItemSelectedIcon : null,\n selectedKeys,\n prefixCls: `${prefixCls}-menu`,\n },\n on: {},\n style: dropdownMenuStyle,\n ref: 'menuRef',\n attrs: {\n role: 'listbox',\n },\n };\n if (popupScroll) {\n menuProps.on.scroll = popupScroll;\n }\n if (multiple) {\n menuProps.on.deselect = menuDeselect;\n menuProps.on.select = menuSelect;\n } else {\n menuProps.on.click = menuSelect;\n }\n const activeKeyProps = {};\n\n let defaultActiveFirst = defaultActiveFirstOption;\n let clonedMenuItems = menuItems;\n if (selectedKeys.length || firstActiveValue) {\n if (props.visible && !this.lastVisible) {\n activeKeyProps.activeKey = selectedKeys[0] || firstActiveValue;\n } else if (!visible) {\n // Do not trigger auto active since we already have selectedKeys\n if (selectedKeys[0]) {\n defaultActiveFirst = false;\n }\n activeKeyProps.activeKey = undefined;\n }\n let foundFirst = false;\n // set firstActiveItem via cloning menus\n // for scroll into view\n const clone = item => {\n if (\n (!foundFirst && selectedKeys.indexOf(item.key) !== -1) ||\n (!foundFirst && !selectedKeys.length && firstActiveValue.indexOf(item.key) !== -1)\n ) {\n foundFirst = true;\n return cloneElement(item, {\n directives: [\n {\n name: 'ant-ref',\n value: ref => {\n this.firstActiveItem = ref;\n },\n },\n ],\n });\n }\n return item;\n };\n\n clonedMenuItems = menuItems.map(item => {\n if (getSlotOptions(item).isMenuItemGroup) {\n const children = item.componentOptions.children.map(clone);\n return cloneElement(item, { children });\n }\n return clone(item);\n });\n } else {\n // Clear firstActiveItem when dropdown menu items was empty\n // Avoid `Unable to find node on an unmounted component`\n // https://github.com/ant-design/ant-design/issues/10774\n this.firstActiveItem = null;\n }\n\n // clear activeKey when inputValue change\n const lastValue = value && value[value.length - 1];\n if (inputValue !== this.lastInputValue && (!lastValue || lastValue !== backfillValue)) {\n activeKeyProps.activeKey = '';\n }\n menuProps.props = { ...activeKeyProps, ...menuProps.props, defaultActiveFirst };\n return <Menu {...menuProps}>{clonedMenuItems}</Menu>;\n }\n return null;\n },\n },\n render() {\n const renderMenu = this.renderMenu();\n const { popupFocus, popupScroll } = getListeners(this);\n return renderMenu ? (\n <div\n style={{\n overflow: 'auto',\n transform: 'translateZ(0)',\n }}\n id={this.$props.ariaId}\n tabIndex=\"-1\"\n onFocus={popupFocus}\n onMousedown={preventDefaultEvent}\n onScroll={popupScroll}\n ref=\"menuContainer\"\n >\n {renderMenu}\n </div>\n ) : null;\n },\n};\n","import classnames from 'classnames';\nimport raf from 'raf';\nimport Trigger from '../vc-trigger';\nimport PropTypes from '../_util/vue-types';\nimport DropdownMenu from './DropdownMenu';\nimport { isSingleMode, saveRef } from './util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { getListeners } from '../_util/props-util';\n\nconst BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n },\n};\n\nexport default {\n name: 'SelectTrigger',\n mixins: [BaseMixin],\n props: {\n // onPopupFocus: PropTypes.func,\n // onPopupScroll: PropTypes.func,\n dropdownMatchSelectWidth: PropTypes.bool,\n defaultActiveFirstOption: PropTypes.bool,\n dropdownAlign: PropTypes.object,\n visible: PropTypes.bool,\n disabled: PropTypes.bool,\n showSearch: PropTypes.bool,\n dropdownClassName: PropTypes.string,\n dropdownStyle: PropTypes.object,\n dropdownMenuStyle: PropTypes.object,\n multiple: PropTypes.bool,\n inputValue: PropTypes.string,\n filterOption: PropTypes.any,\n empty: PropTypes.bool,\n options: PropTypes.any,\n prefixCls: PropTypes.string,\n popupClassName: PropTypes.string,\n value: PropTypes.array,\n // children: PropTypes.any,\n showAction: PropTypes.arrayOf(PropTypes.string),\n combobox: PropTypes.bool,\n animation: PropTypes.string,\n transitionName: PropTypes.string,\n getPopupContainer: PropTypes.func,\n backfillValue: PropTypes.any,\n menuItemSelectedIcon: PropTypes.any,\n dropdownRender: PropTypes.func,\n ariaId: PropTypes.string,\n },\n data() {\n return {\n dropdownWidth: 0,\n };\n },\n created() {\n this.rafInstance = null;\n this.saveDropdownMenuRef = saveRef(this, 'dropdownMenuRef');\n this.saveTriggerRef = saveRef(this, 'triggerRef');\n },\n\n mounted() {\n this.$nextTick(() => {\n this.setDropdownWidth();\n });\n },\n\n updated() {\n this.$nextTick(() => {\n this.setDropdownWidth();\n });\n },\n beforeDestroy() {\n this.cancelRafInstance();\n },\n methods: {\n setDropdownWidth() {\n this.cancelRafInstance();\n this.rafInstance = raf(() => {\n const width = this.$el.offsetWidth;\n if (width !== this.dropdownWidth) {\n this.setState({ dropdownWidth: width });\n }\n });\n },\n cancelRafInstance() {\n if (this.rafInstance) {\n raf.cancel(this.rafInstance);\n }\n },\n getInnerMenu() {\n return this.dropdownMenuRef && this.dropdownMenuRef.$refs.menuRef;\n },\n\n getPopupDOMNode() {\n return this.triggerRef.getPopupDomNode();\n },\n\n getDropdownElement(newProps) {\n const {\n value,\n firstActiveValue,\n defaultActiveFirstOption,\n dropdownMenuStyle,\n getDropdownPrefixCls,\n backfillValue,\n menuItemSelectedIcon,\n } = this;\n const { menuSelect, menuDeselect, popupScroll } = getListeners(this);\n const props = this.$props;\n\n const { dropdownRender, ariaId } = props;\n const dropdownMenuProps = {\n props: {\n ...newProps.props,\n ariaId,\n prefixCls: getDropdownPrefixCls(),\n value,\n firstActiveValue,\n defaultActiveFirstOption,\n dropdownMenuStyle,\n backfillValue,\n menuItemSelectedIcon,\n },\n on: {\n ...newProps.on,\n menuSelect,\n menuDeselect,\n popupScroll,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.saveDropdownMenuRef,\n },\n ],\n };\n const menuNode = <DropdownMenu {...dropdownMenuProps} />;\n\n if (dropdownRender) {\n return dropdownRender(menuNode, props);\n }\n return null;\n },\n\n getDropdownTransitionName() {\n const props = this.$props;\n let transitionName = props.transitionName;\n if (!transitionName && props.animation) {\n transitionName = `${this.getDropdownPrefixCls()}-${props.animation}`;\n }\n return transitionName;\n },\n\n getDropdownPrefixCls() {\n return `${this.prefixCls}-dropdown`;\n },\n },\n\n render() {\n const { $props, $slots } = this;\n const {\n multiple,\n visible,\n inputValue,\n dropdownAlign,\n disabled,\n showSearch,\n dropdownClassName,\n dropdownStyle,\n dropdownMatchSelectWidth,\n options,\n getPopupContainer,\n showAction,\n empty,\n } = $props;\n const { mouseenter, mouseleave, popupFocus, dropdownVisibleChange } = getListeners(this);\n const dropdownPrefixCls = this.getDropdownPrefixCls();\n const popupClassName = {\n [dropdownClassName]: !!dropdownClassName,\n [`${dropdownPrefixCls}--${multiple ? 'multiple' : 'single'}`]: 1,\n [`${dropdownPrefixCls}--empty`]: empty,\n };\n const popupElement = this.getDropdownElement({\n props: {\n menuItems: options,\n multiple,\n inputValue,\n visible,\n },\n on: {\n popupFocus,\n },\n });\n let hideAction;\n if (disabled) {\n hideAction = [];\n } else if (isSingleMode($props) && !showSearch) {\n hideAction = ['click'];\n } else {\n hideAction = ['blur'];\n }\n const popupStyle = { ...dropdownStyle };\n const widthProp = dropdownMatchSelectWidth ? 'width' : 'minWidth';\n if (this.dropdownWidth) {\n popupStyle[widthProp] = `${this.dropdownWidth}px`;\n }\n const triggerProps = {\n props: {\n ...$props,\n showAction: disabled ? [] : showAction,\n hideAction,\n ref: 'triggerRef',\n popupPlacement: 'bottomLeft',\n builtinPlacements: BUILT_IN_PLACEMENTS,\n prefixCls: dropdownPrefixCls,\n popupTransitionName: this.getDropdownTransitionName(),\n popupAlign: dropdownAlign,\n popupVisible: visible,\n getPopupContainer,\n popupClassName: classnames(popupClassName),\n popupStyle,\n },\n on: {\n popupVisibleChange: dropdownVisibleChange,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.saveTriggerRef,\n },\n ],\n };\n if (mouseenter) {\n triggerProps.on.mouseenter = mouseenter;\n }\n if (mouseleave) {\n triggerProps.on.mouseleave = mouseleave;\n }\n return (\n <Trigger {...triggerProps}>\n {$slots.default}\n <template slot=\"popup\">{popupElement}</template>\n </Trigger>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\n\nexport const SelectPropTypes = {\n defaultActiveFirstOption: PropTypes.bool,\n multiple: PropTypes.bool,\n filterOption: PropTypes.any,\n // children: PropTypes.any,\n showSearch: PropTypes.bool,\n disabled: PropTypes.bool,\n allowClear: PropTypes.bool,\n showArrow: PropTypes.bool,\n tags: PropTypes.bool,\n prefixCls: PropTypes.string,\n // className: PropTypes.string,\n transitionName: PropTypes.string,\n optionLabelProp: PropTypes.string,\n optionFilterProp: PropTypes.string,\n animation: PropTypes.string,\n choiceTransitionName: PropTypes.string,\n open: PropTypes.bool,\n defaultOpen: PropTypes.bool,\n // onChange: PropTypes.func,\n // onBlur: PropTypes.func,\n // onFocus: PropTypes.func,\n // onSelect: PropTypes.func,\n // onSearch: PropTypes.func,\n // onPopupScroll: PropTypes.func,\n // onMouseEnter: PropTypes.func,\n // onMouseLeave: PropTypes.func,\n // onInputKeyDown: PropTypes.func,\n placeholder: PropTypes.any,\n // onDeselect: PropTypes.func,\n labelInValue: PropTypes.bool,\n loading: PropTypes.bool,\n value: PropTypes.any,\n defaultValue: PropTypes.any,\n dropdownStyle: PropTypes.object,\n dropdownClassName: PropTypes.string,\n maxTagTextLength: PropTypes.number,\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.any,\n tokenSeparators: PropTypes.arrayOf(PropTypes.string),\n getInputElement: PropTypes.func,\n showAction: PropTypes.arrayOf(PropTypes.string),\n autoFocus: PropTypes.bool,\n getPopupContainer: PropTypes.func,\n clearIcon: PropTypes.any,\n inputIcon: PropTypes.any,\n removeIcon: PropTypes.any,\n menuItemSelectedIcon: PropTypes.any,\n dropdownRender: PropTypes.func,\n mode: PropTypes.oneOf(['multiple', 'tags']),\n backfill: PropTypes.bool,\n dropdownAlign: PropTypes.any,\n dropdownMatchSelectWidth: PropTypes.bool,\n dropdownMenuStyle: PropTypes.object,\n notFoundContent: PropTypes.oneOfType([String, Number]),\n tabIndex: PropTypes.oneOfType([String, Number]),\n};\n","/* eslint-disable no-undef */\n// Browser environment sniffing\nexport const inBrowser = typeof window !== 'undefined';\nexport const inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nexport const weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nexport const UA = inBrowser && window.navigator.userAgent.toLowerCase();\nexport const isIE = UA && /msie|trident/.test(UA);\nexport const isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nexport const isEdge = UA && UA.indexOf('edge/') > 0;\nexport const isAndroid = (UA && UA.indexOf('android') > 0) || weexPlatform === 'android';\nexport const isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || weexPlatform === 'ios';\nexport const isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nexport const isPhantomJS = UA && /phantomjs/.test(UA);\nexport const isFF = UA && UA.match(/firefox\\/(\\d+)/);\n","import KeyCode from '../_util/KeyCode';\nimport PropTypes from '../_util/vue-types';\nimport classnames from 'classnames';\nimport classes from 'component-classes';\nimport { Item as MenuItem, ItemGroup as MenuItemGroup } from '../vc-menu';\nimport warning from 'warning';\nimport Vue from 'vue';\nimport Option from './Option';\nimport OptGroup from './OptGroup';\nimport {\n hasProp,\n getSlotOptions,\n getPropsData,\n getValueByProp as getValue,\n getComponentFromProp,\n getEvents,\n getClass,\n getStyle,\n getAttrs,\n getOptionProps,\n getSlots,\n getListeners,\n} from '../_util/props-util';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport { cloneElement } from '../_util/vnode';\nimport BaseMixin from '../_util/BaseMixin';\nimport proxyComponent from '../_util/proxyComponent';\nimport ref from 'vue-ref';\nimport SelectTrigger from './SelectTrigger';\nimport {\n defaultFilterFn,\n findFirstMenuItem,\n findIndexInValueBySingleValue,\n generateUUID,\n getLabelFromPropsValue,\n getMapKey,\n getPropValue,\n getValuePropValue,\n includesSeparators,\n isCombobox,\n isMultipleOrTags,\n isMultipleOrTagsOrCombobox,\n isSingleMode,\n preventDefaultEvent,\n saveRef,\n splitBySeparators,\n toArray,\n toTitle,\n UNSELECTABLE_ATTRIBUTE,\n UNSELECTABLE_STYLE,\n validateOptionValue,\n} from './util';\nimport { SelectPropTypes } from './PropTypes';\nimport contains from '../vc-util/Dom/contains';\nimport { isIE, isEdge } from '../_util/env';\n\nVue.use(ref, { name: 'ant-ref' });\nconst SELECT_EMPTY_VALUE_KEY = 'RC_SELECT_EMPTY_VALUE_KEY';\n\nconst noop = () => null;\n\n// Where el is the DOM element you'd like to test for visibility\nfunction isHidden(node) {\n return !node || node.offsetParent === null;\n}\n\nfunction chaining(...fns) {\n return function(...args) {\n // eslint-disable-line\n // eslint-disable-line\n for (let i = 0; i < fns.length; i++) {\n if (fns[i] && typeof fns[i] === 'function') {\n fns[i].apply(chaining, args);\n }\n }\n };\n}\nconst Select = {\n inheritAttrs: false,\n Option,\n OptGroup,\n name: 'Select',\n mixins: [BaseMixin],\n props: {\n ...SelectPropTypes,\n prefixCls: SelectPropTypes.prefixCls.def('rc-select'),\n defaultOpen: PropTypes.bool.def(false),\n labelInValue: SelectPropTypes.labelInValue.def(false),\n defaultActiveFirstOption: SelectPropTypes.defaultActiveFirstOption.def(true),\n showSearch: SelectPropTypes.showSearch.def(true),\n allowClear: SelectPropTypes.allowClear.def(false),\n placeholder: SelectPropTypes.placeholder.def(''),\n // showArrow: SelectPropTypes.showArrow.def(true),\n dropdownMatchSelectWidth: PropTypes.bool.def(true),\n dropdownStyle: SelectPropTypes.dropdownStyle.def(() => ({})),\n dropdownMenuStyle: PropTypes.object.def(() => ({})),\n optionFilterProp: SelectPropTypes.optionFilterProp.def('value'),\n optionLabelProp: SelectPropTypes.optionLabelProp.def('value'),\n notFoundContent: PropTypes.any.def('Not Found'),\n backfill: PropTypes.bool.def(false),\n showAction: SelectPropTypes.showAction.def(['click']),\n combobox: PropTypes.bool.def(false),\n tokenSeparators: PropTypes.arrayOf(PropTypes.string).def([]),\n autoClearSearchValue: PropTypes.bool.def(true),\n tabIndex: PropTypes.any.def(0),\n dropdownRender: PropTypes.func.def(menu => menu),\n // onChange: noop,\n // onFocus: noop,\n // onBlur: noop,\n // onSelect: noop,\n // onSearch: noop,\n // onDeselect: noop,\n // onInputKeydown: noop,\n },\n model: {\n prop: 'value',\n event: 'change',\n },\n created() {\n this.saveInputRef = saveRef(this, 'inputRef');\n this.saveInputMirrorRef = saveRef(this, 'inputMirrorRef');\n this.saveTopCtrlRef = saveRef(this, 'topCtrlRef');\n this.saveSelectTriggerRef = saveRef(this, 'selectTriggerRef');\n this.saveRootRef = saveRef(this, 'rootRef');\n this.saveSelectionRef = saveRef(this, 'selectionRef');\n this._focused = false;\n this._mouseDown = false;\n this._options = [];\n this._empty = false;\n },\n data() {\n const props = getOptionProps(this);\n const optionsInfo = this.getOptionsInfoFromProps(props);\n warning(\n this.__propsSymbol__,\n 'Replace slots.default with props.children and pass props.__propsSymbol__',\n );\n if (props.tags && typeof props.filterOption !== 'function') {\n const isDisabledExist = Object.keys(optionsInfo).some(key => optionsInfo[key].disabled);\n warning(\n !isDisabledExist,\n 'Please avoid setting option to disabled in tags mode since user can always type text as tag.',\n );\n }\n const state = {\n _value: this.getValueFromProps(props, true), // true: use default value\n _inputValue: props.combobox\n ? this.getInputValueForCombobox(\n props,\n optionsInfo,\n true, // use default value\n )\n : '',\n _open: props.defaultOpen,\n _optionsInfo: optionsInfo,\n _backfillValue: '',\n // a flag for aviod redundant getOptionsInfoFromProps call\n _skipBuildOptionsInfo: true,\n _ariaId: generateUUID(),\n };\n return {\n ...state,\n _mirrorInputValue: state._inputValue, // https://github.com/vueComponent/ant-design-vue/issues/1458\n ...this.getDerivedState(props, state),\n };\n },\n\n mounted() {\n this.$nextTick(() => {\n // when defaultOpen is true, we should auto focus search input\n // https://github.com/ant-design/ant-design/issues/14254\n if (this.autoFocus || this._open) {\n this.focus();\n }\n // this.setState({\n // _ariaId: generateUUID(),\n // });\n });\n },\n watch: {\n __propsSymbol__() {\n Object.assign(this.$data, this.getDerivedState(getOptionProps(this), this.$data));\n },\n '$data._inputValue'(val) {\n this.$data._mirrorInputValue = val;\n },\n },\n updated() {\n this.$nextTick(() => {\n if (isMultipleOrTags(this.$props)) {\n const inputNode = this.getInputDOMNode();\n const mirrorNode = this.getInputMirrorDOMNode();\n if (inputNode && inputNode.value && mirrorNode) {\n inputNode.style.width = '';\n inputNode.style.width = `${mirrorNode.clientWidth + 10}px`;\n } else if (inputNode) {\n inputNode.style.width = '';\n }\n }\n this.forcePopupAlign();\n });\n },\n beforeDestroy() {\n this.clearFocusTime();\n this.clearBlurTime();\n this.clearComboboxTime();\n if (this.dropdownContainer) {\n document.body.removeChild(this.dropdownContainer);\n this.dropdownContainer = null;\n }\n },\n methods: {\n getDerivedState(nextProps, prevState) {\n const optionsInfo = prevState._skipBuildOptionsInfo\n ? prevState._optionsInfo\n : this.getOptionsInfoFromProps(nextProps, prevState);\n\n const newState = {\n _optionsInfo: optionsInfo,\n _skipBuildOptionsInfo: false,\n };\n\n if ('open' in nextProps) {\n newState._open = nextProps.open;\n }\n\n if ('value' in nextProps) {\n const value = this.getValueFromProps(nextProps);\n newState._value = value;\n if (nextProps.combobox) {\n newState._inputValue = this.getInputValueForCombobox(nextProps, optionsInfo);\n }\n }\n return newState;\n },\n getOptionsFromChildren(children = [], options = []) {\n children.forEach(child => {\n if (!child.data || child.data.slot !== undefined) {\n return;\n }\n if (getSlotOptions(child).isSelectOptGroup) {\n this.getOptionsFromChildren(child.componentOptions.children, options);\n } else {\n options.push(child);\n }\n });\n return options;\n },\n getInputValueForCombobox(props, optionsInfo, useDefaultValue) {\n let value = [];\n if ('value' in props && !useDefaultValue) {\n value = toArray(props.value);\n }\n if ('defaultValue' in props && useDefaultValue) {\n value = toArray(props.defaultValue);\n }\n if (value.length) {\n value = value[0];\n } else {\n return '';\n }\n let label = value;\n if (props.labelInValue) {\n label = value.label;\n } else if (optionsInfo[getMapKey(value)]) {\n label = optionsInfo[getMapKey(value)].label;\n }\n if (label === undefined) {\n label = '';\n }\n return label;\n },\n\n getLabelFromOption(props, option) {\n return getPropValue(option, props.optionLabelProp);\n },\n\n getOptionsInfoFromProps(props, preState) {\n const options = this.getOptionsFromChildren(this.$props.children);\n const optionsInfo = {};\n options.forEach(option => {\n const singleValue = getValuePropValue(option);\n optionsInfo[getMapKey(singleValue)] = {\n option,\n value: singleValue,\n label: this.getLabelFromOption(props, option),\n title: getValue(option, 'title'),\n disabled: getValue(option, 'disabled'),\n };\n });\n if (preState) {\n // keep option info in pre state value.\n const oldOptionsInfo = preState._optionsInfo;\n const value = preState._value;\n if (value) {\n value.forEach(v => {\n const key = getMapKey(v);\n if (!optionsInfo[key] && oldOptionsInfo[key] !== undefined) {\n optionsInfo[key] = oldOptionsInfo[key];\n }\n });\n }\n }\n return optionsInfo;\n },\n\n getValueFromProps(props, useDefaultValue) {\n let value = [];\n if ('value' in props && !useDefaultValue) {\n value = toArray(props.value);\n }\n if ('defaultValue' in props && useDefaultValue) {\n value = toArray(props.defaultValue);\n }\n if (props.labelInValue) {\n value = value.map(v => {\n return v.key;\n });\n }\n return value;\n },\n\n onInputChange(e) {\n const { value: val, composing } = e.target;\n const { _inputValue = '' } = this.$data;\n if (e.isComposing || composing || _inputValue === val) {\n this.setState({\n _mirrorInputValue: val,\n });\n return;\n }\n const { tokenSeparators } = this.$props;\n if (\n isMultipleOrTags(this.$props) &&\n tokenSeparators.length &&\n includesSeparators(val, tokenSeparators)\n ) {\n const nextValue = this.getValueByInput(val);\n if (nextValue !== undefined) {\n this.fireChange(nextValue);\n }\n this.setOpenState(false, { needFocus: true });\n this.setInputValue('', false);\n return;\n }\n this.setInputValue(val);\n this.setState({\n _open: true,\n });\n if (isCombobox(this.$props)) {\n this.fireChange([val]);\n }\n },\n\n onDropdownVisibleChange(open) {\n if (open && !this._focused) {\n this.clearBlurTime();\n this.timeoutFocus();\n this._focused = true;\n this.updateFocusClassName();\n }\n this.setOpenState(open);\n },\n\n // combobox ignore\n onKeyDown(event) {\n const { _open: open } = this.$data;\n const { disabled } = this.$props;\n if (disabled) {\n return;\n }\n const keyCode = event.keyCode;\n if (open && !this.getInputDOMNode()) {\n this.onInputKeydown(event);\n } else if (keyCode === KeyCode.ENTER || keyCode === KeyCode.DOWN) {\n // vue state是同步更新,onKeyDown在onMenuSelect后会再次调用,单选时不在调用setOpenState\n // https://github.com/vueComponent/ant-design-vue/issues/1142\n if (keyCode === KeyCode.ENTER && !isMultipleOrTags(this.$props)) {\n this.maybeFocus(true);\n } else if (!open) {\n this.setOpenState(true);\n }\n event.preventDefault();\n } else if (keyCode === KeyCode.SPACE) {\n // Not block space if popup is shown\n if (!open) {\n this.setOpenState(true);\n event.preventDefault();\n }\n }\n },\n\n onInputKeydown(event) {\n const { disabled, combobox, defaultActiveFirstOption } = this.$props;\n if (disabled) {\n return;\n }\n const state = this.$data;\n const isRealOpen = this.getRealOpenState(state);\n const keyCode = event.keyCode;\n if (isMultipleOrTags(this.$props) && !event.target.value && keyCode === KeyCode.BACKSPACE) {\n event.preventDefault();\n const { _value: value } = state;\n if (value.length) {\n this.removeSelected(value[value.length - 1]);\n }\n return;\n }\n if (keyCode === KeyCode.DOWN) {\n if (!state._open) {\n this.openIfHasChildren();\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n } else if (keyCode === KeyCode.ENTER && state._open) {\n // Aviod trigger form submit when select item\n // https://github.com/ant-design/ant-design/issues/10861\n // https://github.com/ant-design/ant-design/issues/14544\n if (isRealOpen || !combobox) {\n event.preventDefault();\n }\n // Hard close popup to avoid lock of non option in combobox mode\n if (isRealOpen && combobox && defaultActiveFirstOption === false) {\n this.comboboxTimer = setTimeout(() => {\n this.setOpenState(false);\n });\n }\n } else if (keyCode === KeyCode.ESC) {\n if (state._open) {\n this.setOpenState(false);\n event.preventDefault();\n event.stopPropagation();\n }\n return;\n }\n\n if (isRealOpen && this.selectTriggerRef) {\n const menu = this.selectTriggerRef.getInnerMenu();\n if (menu && menu.onKeyDown(event, this.handleBackfill)) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n },\n\n onMenuSelect({ item }) {\n if (!item) {\n return;\n }\n let value = this.$data._value;\n const props = this.$props;\n const selectedValue = getValuePropValue(item);\n const lastValue = value[value.length - 1];\n let skipTrigger = false;\n\n if (isMultipleOrTags(props)) {\n if (findIndexInValueBySingleValue(value, selectedValue) !== -1) {\n skipTrigger = true;\n } else {\n value = value.concat([selectedValue]);\n }\n } else {\n if (\n !isCombobox(props) &&\n lastValue !== undefined &&\n lastValue === selectedValue &&\n selectedValue !== this.$data._backfillValue\n ) {\n this.setOpenState(false, { needFocus: true, fireSearch: false });\n skipTrigger = true;\n } else {\n value = [selectedValue];\n this.setOpenState(false, { needFocus: true, fireSearch: false });\n }\n }\n if (!skipTrigger) {\n this.fireChange(value);\n }\n if (!skipTrigger) {\n this.fireSelect(selectedValue);\n const inputValue = isCombobox(props) ? getPropValue(item, props.optionLabelProp) : '';\n\n if (props.autoClearSearchValue) {\n this.setInputValue(inputValue, false);\n }\n }\n },\n\n onMenuDeselect({ item, domEvent }) {\n if (domEvent.type === 'keydown' && domEvent.keyCode === KeyCode.ENTER) {\n const menuItemDomNode = item.$el;\n // https://github.com/ant-design/ant-design/issues/20465#issuecomment-569033796\n if (!isHidden(menuItemDomNode)) {\n this.removeSelected(getValuePropValue(item));\n }\n return;\n }\n if (domEvent.type === 'click') {\n this.removeSelected(getValuePropValue(item));\n }\n if (this.autoClearSearchValue) {\n this.setInputValue('');\n }\n },\n\n onArrowClick(e) {\n e.stopPropagation();\n e.preventDefault();\n this.clearBlurTime();\n if (!this.disabled) {\n this.setOpenState(!this.$data._open, { needFocus: !this.$data._open });\n }\n },\n\n onPlaceholderClick() {\n if (this.getInputDOMNode() && this.getInputDOMNode()) {\n this.getInputDOMNode().focus();\n }\n },\n\n onPopupFocus() {\n // fix ie scrollbar, focus element again\n this.maybeFocus(true, true);\n },\n\n onClearSelection(event) {\n const props = this.$props;\n const state = this.$data;\n if (props.disabled) {\n return;\n }\n const { _inputValue: inputValue, _value: value } = state;\n event.stopPropagation();\n if (inputValue || value.length) {\n if (value.length) {\n this.fireChange([]);\n }\n this.setOpenState(false, { needFocus: true });\n if (inputValue) {\n this.setInputValue('');\n }\n }\n },\n\n onChoiceAnimationLeave() {\n this.forcePopupAlign();\n },\n\n getOptionInfoBySingleValue(value, optionsInfo) {\n let info;\n optionsInfo = optionsInfo || this.$data._optionsInfo;\n if (optionsInfo[getMapKey(value)]) {\n info = optionsInfo[getMapKey(value)];\n }\n if (info) {\n return info;\n }\n let defaultLabel = value;\n if (this.$props.labelInValue) {\n const valueLabel = getLabelFromPropsValue(this.$props.value, value);\n const defaultValueLabel = getLabelFromPropsValue(this.$props.defaultValue, value);\n if (valueLabel !== undefined) {\n defaultLabel = valueLabel;\n } else if (defaultValueLabel !== undefined) {\n defaultLabel = defaultValueLabel;\n }\n }\n const defaultInfo = {\n option: (\n <Option value={value} key={value}>\n {value}\n </Option>\n ),\n value,\n label: defaultLabel,\n };\n return defaultInfo;\n },\n\n getOptionBySingleValue(value) {\n const { option } = this.getOptionInfoBySingleValue(value);\n return option;\n },\n\n getOptionsBySingleValue(values) {\n return values.map(value => {\n return this.getOptionBySingleValue(value);\n });\n },\n\n getValueByLabel(label) {\n if (label === undefined) {\n return null;\n }\n let value = null;\n Object.keys(this.$data._optionsInfo).forEach(key => {\n const info = this.$data._optionsInfo[key];\n const { disabled } = info;\n if (disabled) {\n return;\n }\n const oldLable = toArray(info.label);\n if (oldLable && oldLable.join('') === label) {\n value = info.value;\n }\n });\n return value;\n },\n\n getVLBySingleValue(value) {\n if (this.$props.labelInValue) {\n return {\n key: value,\n label: this.getLabelBySingleValue(value),\n };\n }\n return value;\n },\n\n getVLForOnChange(vlsS) {\n let vls = vlsS;\n if (vls !== undefined) {\n if (!this.labelInValue) {\n vls = vls.map(v => v);\n } else {\n vls = vls.map(vl => ({\n key: vl,\n label: this.getLabelBySingleValue(vl),\n }));\n }\n return isMultipleOrTags(this.$props) ? vls : vls[0];\n }\n return vls;\n },\n\n getLabelBySingleValue(value, optionsInfo) {\n const { label } = this.getOptionInfoBySingleValue(value, optionsInfo);\n return label;\n },\n\n getDropdownContainer() {\n if (!this.dropdownContainer) {\n this.dropdownContainer = document.createElement('div');\n document.body.appendChild(this.dropdownContainer);\n }\n return this.dropdownContainer;\n },\n\n getPlaceholderElement() {\n const { $props: props, $data: state } = this;\n let hidden = false;\n if (state._mirrorInputValue) {\n hidden = true;\n }\n const value = state._value;\n if (value.length) {\n hidden = true;\n }\n if (\n !state._mirrorInputValue &&\n isCombobox(props) &&\n value.length === 1 &&\n state._value &&\n !state._value[0]\n ) {\n hidden = false;\n }\n const placeholder = props.placeholder;\n if (placeholder) {\n const p = {\n on: {\n mousedown: preventDefaultEvent,\n click: this.onPlaceholderClick,\n },\n attrs: UNSELECTABLE_ATTRIBUTE,\n style: {\n display: hidden ? 'none' : 'block',\n ...UNSELECTABLE_STYLE,\n },\n class: `${props.prefixCls}-selection__placeholder`,\n };\n return <div {...p}>{placeholder}</div>;\n }\n return null;\n },\n inputClick(e) {\n if (this.$data._open) {\n this.clearBlurTime();\n e.stopPropagation();\n } else {\n this._focused = false;\n }\n },\n inputBlur(e) {\n const target = e.relatedTarget || document.activeElement;\n\n // https://github.com/vueComponent/ant-design-vue/issues/999\n // https://github.com/vueComponent/ant-design-vue/issues/1223\n if (\n (isIE || isEdge) &&\n (e.relatedTarget === this.$refs.arrow ||\n (target &&\n this.selectTriggerRef &&\n this.selectTriggerRef.getInnerMenu() &&\n this.selectTriggerRef.getInnerMenu().$el === target) ||\n contains(e.target, target))\n ) {\n e.target.focus();\n e.preventDefault();\n return;\n }\n this.clearBlurTime();\n if (this.disabled) {\n e.preventDefault();\n return;\n }\n this.blurTimer = setTimeout(() => {\n this._focused = false;\n this.updateFocusClassName();\n const props = this.$props;\n let { _value: value } = this.$data;\n const { _inputValue: inputValue } = this.$data;\n if (\n isSingleMode(props) &&\n props.showSearch &&\n inputValue &&\n props.defaultActiveFirstOption\n ) {\n const options = this._options || [];\n if (options.length) {\n const firstOption = findFirstMenuItem(options);\n if (firstOption) {\n value = [getValuePropValue(firstOption)];\n this.fireChange(value);\n }\n }\n } else if (isMultipleOrTags(props) && inputValue) {\n if (this._mouseDown) {\n // need update dropmenu when not blur\n this.setInputValue('');\n } else {\n // why not use setState?\n this.$data._inputValue = '';\n if (this.getInputDOMNode && this.getInputDOMNode()) {\n this.getInputDOMNode().value = '';\n }\n }\n const tmpValue = this.getValueByInput(inputValue);\n if (tmpValue !== undefined) {\n value = tmpValue;\n this.fireChange(value);\n }\n }\n // if click the rest space of Select in multiple mode\n if (isMultipleOrTags(props) && this._mouseDown) {\n this.maybeFocus(true, true);\n this._mouseDown = false;\n return;\n }\n this.setOpenState(false);\n this.$emit('blur', this.getVLForOnChange(value));\n }, 200);\n },\n inputFocus(e) {\n if (this.$props.disabled) {\n e.preventDefault();\n return;\n }\n this.clearBlurTime();\n\n // In IE11, onOuterFocus will be trigger twice when focus input\n // First one: e.target is div\n // Second one: e.target is input\n // other browser only trigger second one\n // https://github.com/ant-design/ant-design/issues/15942\n // Here we ignore the first one when e.target is div\n const inputNode = this.getInputDOMNode();\n if (inputNode && e.target === this.rootRef) {\n return;\n }\n if (!isMultipleOrTagsOrCombobox(this.$props) && e.target === inputNode) {\n return;\n }\n if (this._focused) {\n return;\n }\n this._focused = true;\n this.updateFocusClassName();\n // only effect multiple or tag mode\n if (!isMultipleOrTags(this.$props) || !this._mouseDown) {\n this.timeoutFocus();\n }\n },\n _getInputElement() {\n const props = this.$props;\n const { _inputValue: inputValue, _mirrorInputValue } = this.$data;\n const attrs = getAttrs(this);\n const defaultInput = <input id={attrs.id} autoComplete=\"off\" />;\n\n const inputElement = props.getInputElement ? props.getInputElement() : defaultInput;\n const inputCls = classnames(getClass(inputElement), {\n [`${props.prefixCls}-search__field`]: true,\n });\n const inputEvents = getEvents(inputElement);\n // https://github.com/ant-design/ant-design/issues/4992#issuecomment-281542159\n // Add space to the end of the inputValue as the width measurement tolerance\n inputElement.data = inputElement.data || {};\n return (\n <div class={`${props.prefixCls}-search__field__wrap`} onClick={this.inputClick}>\n {cloneElement(inputElement, {\n props: {\n disabled: props.disabled,\n value: inputValue,\n },\n attrs: {\n ...(inputElement.data.attrs || {}),\n disabled: props.disabled,\n value: inputValue,\n },\n domProps: {\n value: inputValue,\n },\n class: inputCls,\n directives: [\n {\n name: 'ant-ref',\n value: this.saveInputRef,\n },\n {\n name: 'ant-input',\n },\n ],\n on: {\n input: this.onInputChange,\n keydown: chaining(\n this.onInputKeydown,\n inputEvents.keydown,\n getListeners(this).inputKeydown,\n ),\n focus: chaining(this.inputFocus, inputEvents.focus),\n blur: chaining(this.inputBlur, inputEvents.blur),\n },\n })}\n <span\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveInputMirrorRef,\n },\n ],\n }}\n // ref='inputMirrorRef'\n class={`${props.prefixCls}-search__field__mirror`}\n >\n {_mirrorInputValue}&nbsp;\n </span>\n </div>\n );\n },\n\n getInputDOMNode() {\n return this.topCtrlRef\n ? this.topCtrlRef.querySelector('input,textarea,div[contentEditable]')\n : this.inputRef;\n },\n\n getInputMirrorDOMNode() {\n return this.inputMirrorRef;\n },\n\n getPopupDOMNode() {\n if (this.selectTriggerRef) {\n return this.selectTriggerRef.getPopupDOMNode();\n }\n },\n\n getPopupMenuComponent() {\n if (this.selectTriggerRef) {\n return this.selectTriggerRef.getInnerMenu();\n }\n },\n\n setOpenState(open, config = {}) {\n const { $props: props, $data: state } = this;\n const { needFocus, fireSearch } = config;\n if (state._open === open) {\n this.maybeFocus(open, !!needFocus);\n return;\n }\n this.__emit('dropdownVisibleChange', open);\n const nextState = {\n _open: open,\n _backfillValue: '',\n };\n // clear search input value when open is false in singleMode.\n if (!open && isSingleMode(props) && props.showSearch) {\n this.setInputValue('', fireSearch);\n }\n if (!open) {\n this.maybeFocus(open, !!needFocus);\n }\n this.setState(nextState, () => {\n if (open) {\n this.maybeFocus(open, !!needFocus);\n }\n });\n },\n\n setInputValue(inputValue, fireSearch = true) {\n if (inputValue !== this.$data._inputValue) {\n this.setState(\n {\n _inputValue: inputValue,\n },\n this.forcePopupAlign,\n );\n if (fireSearch) {\n this.$emit('search', inputValue);\n }\n }\n },\n getValueByInput(str) {\n const { multiple, tokenSeparators } = this.$props;\n let nextValue = this.$data._value;\n let hasNewValue = false;\n splitBySeparators(str, tokenSeparators).forEach(label => {\n const selectedValue = [label];\n if (multiple) {\n const value = this.getValueByLabel(label);\n if (value && findIndexInValueBySingleValue(nextValue, value) === -1) {\n nextValue = nextValue.concat(value);\n hasNewValue = true;\n this.fireSelect(value);\n }\n } else if (findIndexInValueBySingleValue(nextValue, label) === -1) {\n nextValue = nextValue.concat(selectedValue);\n hasNewValue = true;\n this.fireSelect(label);\n }\n });\n return hasNewValue ? nextValue : undefined;\n },\n\n getRealOpenState(state) {\n const { open: _open } = this.$props;\n if (typeof _open === 'boolean') {\n return _open;\n }\n\n let open = (state || this.$data)._open;\n const options = this._options || [];\n if (isMultipleOrTagsOrCombobox(this.$props) || !this.$props.showSearch) {\n if (open && !options.length) {\n open = false;\n }\n }\n return open;\n },\n\n focus() {\n if (isSingleMode(this.$props) && this.selectionRef) {\n this.selectionRef.focus();\n } else if (this.getInputDOMNode()) {\n this.getInputDOMNode().focus();\n }\n },\n\n blur() {\n if (isSingleMode(this.$props) && this.selectionRef) {\n this.selectionRef.blur();\n } else if (this.getInputDOMNode()) {\n this.getInputDOMNode().blur();\n }\n },\n markMouseDown() {\n this._mouseDown = true;\n },\n\n markMouseLeave() {\n this._mouseDown = false;\n },\n\n handleBackfill(item) {\n if (!this.backfill || !(isSingleMode(this.$props) || isCombobox(this.$props))) {\n return;\n }\n\n const key = getValuePropValue(item);\n\n if (isCombobox(this.$props)) {\n this.setInputValue(key, false);\n }\n\n this.setState({\n _value: [key],\n _backfillValue: key,\n });\n },\n\n _filterOption(input, child, defaultFilter = defaultFilterFn) {\n const { _value: value, _backfillValue: backfillValue } = this.$data;\n const lastValue = value[value.length - 1];\n if (!input || (lastValue && lastValue === backfillValue)) {\n return true;\n }\n let filterFn = this.$props.filterOption;\n if (hasProp(this, 'filterOption')) {\n if (filterFn === true) {\n filterFn = defaultFilter.bind(this);\n }\n } else {\n filterFn = defaultFilter.bind(this);\n }\n if (!filterFn) {\n return true;\n } else if (typeof filterFn === 'function') {\n return filterFn.call(this, input, child);\n } else if (getValue(child, 'disabled')) {\n return false;\n }\n return true;\n },\n\n timeoutFocus() {\n if (this.focusTimer) {\n this.clearFocusTime();\n }\n this.focusTimer = window.setTimeout(() => {\n // this._focused = true\n // this.updateFocusClassName()\n this.$emit('focus');\n }, 10);\n },\n\n clearFocusTime() {\n if (this.focusTimer) {\n clearTimeout(this.focusTimer);\n this.focusTimer = null;\n }\n },\n\n clearBlurTime() {\n if (this.blurTimer) {\n clearTimeout(this.blurTimer);\n this.blurTimer = null;\n }\n },\n\n clearComboboxTime() {\n if (this.comboboxTimer) {\n clearTimeout(this.comboboxTimer);\n this.comboboxTimer = null;\n }\n },\n\n updateFocusClassName() {\n const { rootRef, prefixCls } = this;\n // avoid setState and its side effect\n if (this._focused) {\n classes(rootRef).add(`${prefixCls}-focused`);\n } else {\n classes(rootRef).remove(`${prefixCls}-focused`);\n }\n },\n\n maybeFocus(open, needFocus) {\n if (needFocus || open) {\n const input = this.getInputDOMNode();\n const { activeElement } = document;\n if (input && (open || isMultipleOrTagsOrCombobox(this.$props))) {\n if (activeElement !== input) {\n input.focus();\n this._focused = true;\n }\n } else if (activeElement !== this.selectionRef && this.selectionRef) {\n this.selectionRef.focus();\n this._focused = true;\n }\n }\n },\n\n removeSelected(selectedKey, e) {\n const props = this.$props;\n if (props.disabled || this.isChildDisabled(selectedKey)) {\n return;\n }\n // Do not trigger Trigger popup\n if (e && e.stopPropagation) {\n e.stopPropagation();\n }\n const oldValue = this.$data._value;\n const value = oldValue.filter(singleValue => {\n return singleValue !== selectedKey;\n });\n const canMultiple = isMultipleOrTags(props);\n\n if (canMultiple) {\n let event = selectedKey;\n if (props.labelInValue) {\n event = {\n key: selectedKey,\n label: this.getLabelBySingleValue(selectedKey),\n };\n }\n this.$emit('deselect', event, this.getOptionBySingleValue(selectedKey));\n }\n this.fireChange(value);\n },\n\n openIfHasChildren() {\n const { $props } = this;\n if (($props.children && $props.children.length) || isSingleMode($props)) {\n this.setOpenState(true);\n }\n },\n fireSelect(value) {\n this.$emit('select', this.getVLBySingleValue(value), this.getOptionBySingleValue(value));\n },\n fireChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState(\n {\n _value: value,\n },\n this.forcePopupAlign,\n );\n }\n const vls = this.getVLForOnChange(value);\n const options = this.getOptionsBySingleValue(value);\n this._valueOptions = options;\n this.$emit('change', vls, isMultipleOrTags(this.$props) ? options : options[0]);\n },\n\n isChildDisabled(key) {\n return (this.$props.children || []).some(child => {\n const childValue = getValuePropValue(child);\n return childValue === key && getValue(child, 'disabled');\n });\n },\n forcePopupAlign() {\n if (!this.$data._open) {\n return;\n }\n if (this.selectTriggerRef && this.selectTriggerRef.triggerRef) {\n this.selectTriggerRef.triggerRef.forcePopupAlign();\n }\n },\n renderFilterOptions() {\n const { _inputValue: inputValue } = this.$data;\n const { children, tags, notFoundContent } = this.$props;\n const menuItems = [];\n const childrenKeys = [];\n let empty = false;\n let options = this.renderFilterOptionsFromChildren(children, childrenKeys, menuItems);\n if (tags) {\n // tags value must be string\n let value = this.$data._value;\n value = value.filter(singleValue => {\n return (\n childrenKeys.indexOf(singleValue) === -1 &&\n (!inputValue || String(singleValue).indexOf(String(inputValue)) > -1)\n );\n });\n\n // sort by length\n value.sort((val1, val2) => {\n return val1.length - val2.length;\n });\n\n value.forEach(singleValue => {\n const key = singleValue;\n const attrs = {\n ...UNSELECTABLE_ATTRIBUTE,\n role: 'option',\n };\n const menuItem = (\n <MenuItem style={UNSELECTABLE_STYLE} {...{ attrs }} value={key} key={key}>\n {key}\n </MenuItem>\n );\n options.push(menuItem);\n menuItems.push(menuItem);\n });\n // ref: https://github.com/ant-design/ant-design/issues/14090\n if (inputValue && menuItems.every(option => getValuePropValue(option) !== inputValue)) {\n const p = {\n attrs: UNSELECTABLE_ATTRIBUTE,\n key: inputValue,\n props: {\n value: inputValue,\n role: 'option',\n },\n style: UNSELECTABLE_STYLE,\n };\n options.unshift(<MenuItem {...p}>{inputValue}</MenuItem>);\n }\n }\n\n if (!options.length && notFoundContent) {\n empty = true;\n const p = {\n attrs: UNSELECTABLE_ATTRIBUTE,\n key: 'NOT_FOUND',\n props: {\n value: 'NOT_FOUND',\n disabled: true,\n role: 'option',\n },\n style: UNSELECTABLE_STYLE,\n };\n options = [<MenuItem {...p}>{notFoundContent}</MenuItem>];\n }\n return { empty, options };\n },\n\n renderFilterOptionsFromChildren(children = [], childrenKeys, menuItems) {\n const sel = [];\n const props = this.$props;\n const { _inputValue: inputValue } = this.$data;\n const tags = props.tags;\n children.forEach(child => {\n if (!child.data || child.data.slot !== undefined) {\n return;\n }\n if (getSlotOptions(child).isSelectOptGroup) {\n let label = getComponentFromProp(child, 'label');\n let key = child.key;\n if (!key && typeof label === 'string') {\n key = label;\n } else if (!label && key) {\n label = key;\n }\n let childChildren = getSlots(child).default;\n childChildren = typeof childChildren === 'function' ? childChildren() : childChildren;\n // Match option group label\n if (inputValue && this._filterOption(inputValue, child)) {\n const innerItems = childChildren.map(subChild => {\n const childValueSub = getValuePropValue(subChild) || subChild.key;\n return (\n <MenuItem key={childValueSub} value={childValueSub} {...subChild.data}>\n {subChild.componentOptions.children}\n </MenuItem>\n );\n });\n\n sel.push(\n <MenuItemGroup key={key} title={label} class={getClass(child)}>\n {innerItems}\n </MenuItemGroup>,\n );\n\n // Not match\n } else {\n const innerItems = this.renderFilterOptionsFromChildren(\n childChildren,\n childrenKeys,\n menuItems,\n );\n if (innerItems.length) {\n sel.push(\n <MenuItemGroup key={key} title={label} {...child.data}>\n {innerItems}\n </MenuItemGroup>,\n );\n }\n }\n\n return;\n }\n warning(\n getSlotOptions(child).isSelectOption,\n 'the children of `Select` should be `Select.Option` or `Select.OptGroup`, ' +\n `instead of \\`${getSlotOptions(child).name || getSlotOptions(child)}\\`.`,\n );\n\n const childValue = getValuePropValue(child);\n\n validateOptionValue(childValue, this.$props);\n if (this._filterOption(inputValue, child)) {\n const p = {\n attrs: {\n ...UNSELECTABLE_ATTRIBUTE,\n ...getAttrs(child),\n },\n key: childValue,\n props: {\n value: childValue,\n ...getPropsData(child),\n role: 'option',\n },\n style: UNSELECTABLE_STYLE,\n on: getEvents(child),\n class: getClass(child),\n };\n const menuItem = <MenuItem {...p}>{child.componentOptions.children}</MenuItem>;\n sel.push(menuItem);\n menuItems.push(menuItem);\n }\n if (tags) {\n childrenKeys.push(childValue);\n }\n });\n\n return sel;\n },\n\n renderTopControlNode() {\n const { $props: props } = this;\n const { _value: value, _inputValue: inputValue, _open: open } = this.$data;\n const {\n choiceTransitionName,\n prefixCls,\n maxTagTextLength,\n maxTagCount,\n maxTagPlaceholder,\n showSearch,\n } = props;\n const removeIcon = getComponentFromProp(this, 'removeIcon');\n const className = `${prefixCls}-selection__rendered`;\n // search input is inside topControlNode in single, multiple & combobox. 2016/04/13\n let innerNode = null;\n if (isSingleMode(props)) {\n let selectedValue = null;\n if (value.length) {\n let showSelectedValue = false;\n let opacity = 1;\n if (!showSearch) {\n showSelectedValue = true;\n } else if (open) {\n showSelectedValue = !inputValue;\n if (showSelectedValue) {\n opacity = 0.4;\n }\n } else {\n showSelectedValue = true;\n }\n const singleValue = value[0];\n const { label, title } = this.getOptionInfoBySingleValue(singleValue);\n selectedValue = (\n <div\n key=\"value\"\n class={`${prefixCls}-selection-selected-value`}\n title={toTitle(title || label)}\n style={{\n display: showSelectedValue ? 'block' : 'none',\n opacity,\n }}\n >\n {label}\n </div>\n );\n }\n if (!showSearch) {\n innerNode = [selectedValue];\n } else {\n innerNode = [\n selectedValue,\n <div\n class={`${prefixCls}-search ${prefixCls}-search--inline`}\n key=\"input\"\n style={{\n display: open ? 'block' : 'none',\n }}\n >\n {this._getInputElement()}\n </div>,\n ];\n }\n } else {\n let selectedValueNodes = [];\n let limitedCountValue = value;\n let maxTagPlaceholderEl;\n if (maxTagCount !== undefined && value.length > maxTagCount) {\n limitedCountValue = limitedCountValue.slice(0, maxTagCount);\n const omittedValues = this.getVLForOnChange(value.slice(maxTagCount, value.length));\n let content = `+ ${value.length - maxTagCount} ...`;\n if (maxTagPlaceholder) {\n content =\n typeof maxTagPlaceholder === 'function'\n ? maxTagPlaceholder(omittedValues)\n : maxTagPlaceholder;\n }\n const attrs = {\n ...UNSELECTABLE_ATTRIBUTE,\n role: 'presentation',\n title: toTitle(content),\n };\n maxTagPlaceholderEl = (\n <li\n style={UNSELECTABLE_STYLE}\n {...{ attrs }}\n onMousedown={preventDefaultEvent}\n class={`${prefixCls}-selection__choice ${prefixCls}-selection__choice__disabled`}\n key=\"maxTagPlaceholder\"\n >\n <div class={`${prefixCls}-selection__choice__content`}>{content}</div>\n </li>\n );\n }\n if (isMultipleOrTags(props)) {\n selectedValueNodes = limitedCountValue.map(singleValue => {\n const info = this.getOptionInfoBySingleValue(singleValue);\n let content = info.label;\n const title = info.title || content;\n if (\n maxTagTextLength &&\n typeof content === 'string' &&\n content.length > maxTagTextLength\n ) {\n content = `${content.slice(0, maxTagTextLength)}...`;\n }\n const disabled = this.isChildDisabled(singleValue);\n const choiceClassName = disabled\n ? `${prefixCls}-selection__choice ${prefixCls}-selection__choice__disabled`\n : `${prefixCls}-selection__choice`;\n // attrs 放在一起,避免动态title混乱问题,很奇怪的问题 https://github.com/vueComponent/ant-design-vue/issues/588\n const attrs = {\n ...UNSELECTABLE_ATTRIBUTE,\n role: 'presentation',\n title: toTitle(title),\n };\n return (\n <li\n style={UNSELECTABLE_STYLE}\n {...{ attrs }}\n onMousedown={preventDefaultEvent}\n class={choiceClassName}\n key={singleValue || SELECT_EMPTY_VALUE_KEY}\n >\n <div class={`${prefixCls}-selection__choice__content`}>{content}</div>\n {disabled ? null : (\n <span\n onClick={event => {\n this.removeSelected(singleValue, event);\n }}\n class={`${prefixCls}-selection__choice__remove`}\n >\n {removeIcon || <i class={`${prefixCls}-selection__choice__remove-icon`}>×</i>}\n </span>\n )}\n </li>\n );\n });\n }\n if (maxTagPlaceholderEl) {\n selectedValueNodes.push(maxTagPlaceholderEl);\n }\n selectedValueNodes.push(\n <li class={`${prefixCls}-search ${prefixCls}-search--inline`} key=\"__input\">\n {this._getInputElement()}\n </li>,\n );\n\n if (isMultipleOrTags(props) && choiceTransitionName) {\n const transitionProps = getTransitionProps(choiceTransitionName, {\n tag: 'ul',\n afterLeave: this.onChoiceAnimationLeave,\n });\n innerNode = (\n <transition-group {...transitionProps}>{selectedValueNodes}</transition-group>\n );\n } else {\n innerNode = <ul>{selectedValueNodes}</ul>;\n }\n }\n return (\n <div\n class={className}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveTopCtrlRef,\n },\n ],\n }}\n onClick={this.topCtrlContainerClick}\n >\n {this.getPlaceholderElement()}\n {innerNode}\n </div>\n );\n },\n renderArrow(multiple) {\n // showArrow : Set to true if not multiple by default but keep set value.\n const { showArrow = !multiple, loading, prefixCls } = this.$props;\n const inputIcon = getComponentFromProp(this, 'inputIcon');\n if (!showArrow && !loading) {\n return null;\n }\n // if loading have loading icon\n const defaultIcon = loading ? (\n <i class={`${prefixCls}-arrow-loading`} />\n ) : (\n <i class={`${prefixCls}-arrow-icon`} />\n );\n return (\n <span\n key=\"arrow\"\n class={`${prefixCls}-arrow`}\n style={UNSELECTABLE_STYLE}\n {...{ attrs: UNSELECTABLE_ATTRIBUTE }}\n onClick={this.onArrowClick}\n ref=\"arrow\"\n >\n {inputIcon || defaultIcon}\n </span>\n );\n },\n topCtrlContainerClick(e) {\n if (this.$data._open && !isSingleMode(this.$props)) {\n e.stopPropagation();\n }\n },\n renderClear() {\n const { prefixCls, allowClear } = this.$props;\n const { _value: value, _inputValue: inputValue } = this.$data;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const clear = (\n <span\n key=\"clear\"\n class={`${prefixCls}-selection__clear`}\n onMousedown={preventDefaultEvent}\n style={UNSELECTABLE_STYLE}\n {...{ attrs: UNSELECTABLE_ATTRIBUTE }}\n onClick={this.onClearSelection}\n >\n {clearIcon || <i class={`${prefixCls}-selection__clear-icon`}>×</i>}\n </span>\n );\n if (!allowClear) {\n return null;\n }\n if (isCombobox(this.$props)) {\n if (inputValue) {\n return clear;\n }\n return null;\n }\n if (inputValue || value.length) {\n return clear;\n }\n return null;\n },\n\n selectionRefClick() {\n //e.stopPropagation();\n if (!this.disabled) {\n const input = this.getInputDOMNode();\n if (this._focused && this.$data._open) {\n // this._focused = false;\n this.setOpenState(false, false);\n input && input.blur();\n } else {\n this.clearBlurTime();\n //this._focused = true;\n this.setOpenState(true, true);\n input && input.focus();\n }\n }\n },\n selectionRefFocus(e) {\n if (this._focused || this.disabled || isMultipleOrTagsOrCombobox(this.$props)) {\n e.preventDefault();\n return;\n }\n this._focused = true;\n this.updateFocusClassName();\n this.$emit('focus');\n },\n selectionRefBlur(e) {\n if (isMultipleOrTagsOrCombobox(this.$props)) {\n e.preventDefault();\n return;\n }\n this.inputBlur(e);\n },\n },\n\n render() {\n const props = this.$props;\n const multiple = isMultipleOrTags(props);\n // Default set showArrow to true if not set (not set directly in defaultProps to handle multiple case)\n const { showArrow = true } = props;\n const state = this.$data;\n const { disabled, prefixCls, loading } = props;\n const ctrlNode = this.renderTopControlNode();\n const { _open: open, _inputValue: inputValue, _value: value } = this.$data;\n if (open) {\n const filterOptions = this.renderFilterOptions();\n this._empty = filterOptions.empty;\n this._options = filterOptions.options;\n }\n const realOpen = this.getRealOpenState();\n const empty = this._empty;\n const options = this._options || [];\n const { mouseenter = noop, mouseleave = noop, popupScroll = noop } = getListeners(this);\n const selectionProps = {\n props: {},\n attrs: {\n role: 'combobox',\n 'aria-autocomplete': 'list',\n 'aria-haspopup': 'true',\n 'aria-expanded': realOpen,\n 'aria-controls': this.$data._ariaId,\n },\n on: {\n // click: this.selectionRefClick,\n },\n class: `${prefixCls}-selection ${prefixCls}-selection--${multiple ? 'multiple' : 'single'}`,\n // directives: [\n // {\n // name: 'ant-ref',\n // value: this.saveSelectionRef,\n // },\n // ],\n key: 'selection',\n };\n //if (!isMultipleOrTagsOrCombobox(props)) {\n // selectionProps.on.keydown = this.onKeyDown;\n // selectionProps.on.focus = this.selectionRefFocus;\n // selectionProps.on.blur = this.selectionRefBlur;\n // selectionProps.attrs.tabIndex = props.disabled ? -1 : props.tabIndex;\n //}\n let extraSelectionProps = { attrs: { tabIndex: -1 } };\n if (!isMultipleOrTagsOrCombobox(props)) {\n extraSelectionProps.attrs.tabIndex = props.disabled ? -1 : props.tabIndex;\n }\n const rootCls = {\n [prefixCls]: true,\n [`${prefixCls}-open`]: open,\n [`${prefixCls}-focused`]: open || !!this._focused,\n [`${prefixCls}-combobox`]: isCombobox(props),\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-enabled`]: !disabled,\n [`${prefixCls}-allow-clear`]: !!props.allowClear,\n [`${prefixCls}-no-arrow`]: !showArrow,\n [`${prefixCls}-loading`]: !!loading,\n };\n return (\n <SelectTrigger\n dropdownAlign={props.dropdownAlign}\n dropdownClassName={props.dropdownClassName}\n dropdownMatchSelectWidth={props.dropdownMatchSelectWidth}\n defaultActiveFirstOption={props.defaultActiveFirstOption}\n dropdownMenuStyle={props.dropdownMenuStyle}\n transitionName={props.transitionName}\n animation={props.animation}\n prefixCls={props.prefixCls}\n dropdownStyle={props.dropdownStyle}\n combobox={props.combobox}\n showSearch={props.showSearch}\n options={options}\n empty={empty}\n multiple={multiple}\n disabled={disabled}\n visible={realOpen}\n inputValue={inputValue}\n value={value}\n backfillValue={state._backfillValue}\n firstActiveValue={props.firstActiveValue}\n onDropdownVisibleChange={this.onDropdownVisibleChange}\n getPopupContainer={props.getPopupContainer}\n onMenuSelect={this.onMenuSelect}\n onMenuDeselect={this.onMenuDeselect}\n onPopupScroll={popupScroll}\n onPopupFocus={this.onPopupFocus}\n onMouseenter={mouseenter}\n onMouseleave={mouseleave}\n showAction={props.showAction}\n menuItemSelectedIcon={getComponentFromProp(this, 'menuItemSelectedIcon')}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.saveSelectTriggerRef,\n },\n ],\n }}\n dropdownRender={props.dropdownRender}\n ariaId={this.$data._ariaId}\n >\n <div\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: chaining(this.saveRootRef, this.saveSelectionRef),\n },\n ],\n }}\n style={getStyle(this)}\n class={classnames(rootCls)}\n onMousedown={this.markMouseDown}\n onMouseup={this.markMouseLeave}\n onMouseout={this.markMouseLeave}\n {...extraSelectionProps}\n onBlur={this.selectionRefBlur}\n onFocus={this.selectionRefFocus}\n onClick={this.selectionRefClick}\n onKeydown={isMultipleOrTagsOrCombobox(props) ? noop : this.onKeyDown}\n >\n <div {...selectionProps}>\n {ctrlNode}\n {this.renderClear()}\n {this.renderArrow(!!multiple)}\n </div>\n </div>\n </SelectTrigger>\n );\n },\n};\nexport { Select };\nexport default proxyComponent(Select);\n","import warning from '../_util/warning';\nimport omit from 'omit.js';\nimport PropTypes from '../_util/vue-types';\nimport { Select as VcSelect, Option, OptGroup } from '../vc-select';\nimport { ConfigConsumerProps } from '../config-provider';\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';\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';\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 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 },\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 },\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';\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';\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';\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';\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';\n\nexport default {\n name: 'AInputSearch',\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'change.value',\n },\n props: {\n ...inputProps,\n // 不能设置默认值 https://github.com/vueComponent/ant-design-vue/issues/1916\n enterButton: PropTypes.any,\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n methods: {\n onChange(e) {\n if (e && e.target && e.type === 'click') {\n this.$emit('search', e.target.value, e);\n }\n this.$emit('change', e);\n },\n onSearch(e) {\n if (this.loading || this.disabled) {\n return;\n }\n this.$emit('search', this.$refs.input.stateValue, e);\n if (!isMobile({ tablet: true })) {\n this.$refs.input.focus();\n }\n },\n focus() {\n this.$refs.input.focus();\n },\n\n blur() {\n this.$refs.input.blur();\n },\n renderLoading(prefixCls) {\n const { size } = this.$props;\n let enterButton = getComponentFromProp(this, 'enterButton');\n // 兼容 <a-input-search enterButton />, 因enterButton类型为 any,此类写法 enterButton 为空字符串\n enterButton = enterButton || enterButton === '';\n if (enterButton) {\n return (\n <Button class={`${prefixCls}-button`} type=\"primary\" size={size} key=\"enterButton\">\n <Icon type=\"loading\" />\n </Button>\n );\n }\n return <Icon class={`${prefixCls}-icon`} type=\"loading\" key=\"loadingIcon\" />;\n },\n renderSuffix(prefixCls) {\n const { loading } = this;\n const suffix = getComponentFromProp(this, 'suffix');\n let enterButton = getComponentFromProp(this, 'enterButton');\n // 兼容 <a-input-search enterButton />, 因enterButton类型为 any,此类写法 enterButton 为空字符串\n enterButton = enterButton || enterButton === '';\n if (loading && !enterButton) {\n return [suffix, this.renderLoading(prefixCls)];\n }\n\n if (enterButton) return suffix;\n\n const icon = (\n <Icon class={`${prefixCls}-icon`} type=\"search\" key=\"searchIcon\" onClick={this.onSearch} />\n );\n\n if (suffix) {\n // let cloneSuffix = suffix;\n // if (isValidElement(cloneSuffix) && !cloneSuffix.key) {\n // cloneSuffix = cloneElement(cloneSuffix, {\n // key: 'originSuffix',\n // });\n // }\n return [suffix, icon];\n }\n\n return icon;\n },\n renderAddonAfter(prefixCls) {\n const { size, disabled, loading } = this;\n const btnClassName = `${prefixCls}-button`;\n let enterButton = getComponentFromProp(this, 'enterButton');\n enterButton = enterButton || enterButton === '';\n const addonAfter = getComponentFromProp(this, 'addonAfter');\n if (loading && enterButton) {\n return [this.renderLoading(prefixCls), addonAfter];\n }\n if (!enterButton) return addonAfter;\n const enterButtonAsElement = Array.isArray(enterButton) ? enterButton[0] : enterButton;\n let button;\n const isAntdButton =\n enterButtonAsElement.componentOptions &&\n enterButtonAsElement.componentOptions.Ctor.extendOptions.__ANT_BUTTON;\n if (enterButtonAsElement.tag === 'button' || isAntdButton) {\n button = cloneElement(enterButtonAsElement, {\n key: 'enterButton',\n class: isAntdButton ? btnClassName : '',\n props: isAntdButton ? { size } : {},\n on: {\n click: this.onSearch,\n },\n });\n } else {\n button = (\n <Button\n class={btnClassName}\n type=\"primary\"\n size={size}\n disabled={disabled}\n key=\"enterButton\"\n onClick={this.onSearch}\n >\n {enterButton === true || enterButton === '' ? <Icon type=\"search\" /> : enterButton}\n </Button>\n );\n }\n if (addonAfter) {\n return [button, addonAfter];\n }\n\n return button;\n },\n },\n render() {\n const {\n prefixCls: customizePrefixCls,\n inputPrefixCls: customizeInputPrefixCls,\n size,\n loading,\n ...others\n } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('input-search', customizePrefixCls);\n const inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n\n let enterButton = getComponentFromProp(this, 'enterButton');\n const addonBefore = getComponentFromProp(this, 'addonBefore');\n enterButton = enterButton || enterButton === '';\n let inputClassName;\n if (enterButton) {\n inputClassName = classNames(prefixCls, {\n [`${prefixCls}-enter-button`]: !!enterButton,\n [`${prefixCls}-${size}`]: !!size,\n });\n } else {\n inputClassName = prefixCls;\n }\n\n const on = { ...getListeners(this) };\n delete on.search;\n const inputProps = {\n props: {\n ...others,\n prefixCls: inputPrefixCls,\n size,\n suffix: this.renderSuffix(prefixCls),\n prefix: getComponentFromProp(this, 'prefix'),\n addonAfter: this.renderAddonAfter(prefixCls),\n addonBefore,\n className: inputClassName,\n },\n attrs: this.$attrs,\n ref: 'input',\n on: {\n pressEnter: this.onSearch,\n ...on,\n change: this.onChange,\n },\n };\n return <Input {...inputProps} />;\n },\n};\n","import classNames from 'classnames';\nimport { getComponentFromProp, getOptionProps, getListeners } from '../_util/props-util';\nimport Input from './Input';\nimport Icon from '../icon';\nimport inputProps from './inputProps';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\n\nconst ActionMap = {\n click: 'click',\n hover: 'mouseover',\n};\n\nexport default {\n name: 'AInputPassword',\n mixins: [BaseMixin],\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'change.value',\n },\n props: {\n ...inputProps,\n prefixCls: PropTypes.string.def('ant-input-password'),\n inputPrefixCls: PropTypes.string.def('ant-input'),\n action: PropTypes.string.def('click'),\n visibilityToggle: PropTypes.bool.def(true),\n },\n data() {\n return {\n visible: false,\n };\n },\n methods: {\n focus() {\n this.$refs.input.focus();\n },\n blur() {\n this.$refs.input.blur();\n },\n onVisibleChange() {\n if (this.disabled) {\n return;\n }\n this.setState({\n visible: !this.visible,\n });\n },\n getIcon() {\n const { prefixCls, action } = this.$props;\n const iconTrigger = ActionMap[action] || '';\n const iconProps = {\n props: {\n type: this.visible ? 'eye' : 'eye-invisible',\n },\n on: {\n [iconTrigger]: this.onVisibleChange,\n mousedown: e => {\n // Prevent focused state lost\n // https://github.com/ant-design/ant-design/issues/15173\n e.preventDefault();\n },\n mouseup: e => {\n // Prevent focused state lost\n // https://github.com/ant-design/ant-design/pull/23633/files\n e.preventDefault();\n },\n },\n class: `${prefixCls}-icon`,\n key: 'passwordIcon',\n };\n return <Icon {...iconProps} />;\n },\n },\n render() {\n const {\n prefixCls,\n inputPrefixCls,\n size,\n suffix,\n visibilityToggle,\n ...restProps\n } = getOptionProps(this);\n const suffixIcon = visibilityToggle && this.getIcon();\n const inputClassName = classNames(prefixCls, {\n [`${prefixCls}-${size}`]: !!size,\n });\n const inputProps = {\n props: {\n ...restProps,\n prefixCls: inputPrefixCls,\n size,\n suffix: suffixIcon,\n prefix: getComponentFromProp(this, 'prefix'),\n addonAfter: getComponentFromProp(this, 'addonAfter'),\n addonBefore: getComponentFromProp(this, 'addonBefore'),\n },\n attrs: {\n ...this.$attrs,\n type: this.visible ? 'text' : 'password',\n },\n class: inputClassName,\n ref: 'input',\n on: getListeners(this),\n };\n return <Input {...inputProps} />;\n },\n};\n","import Vue from 'vue';\nimport Input from './Input';\nimport Group from './Group';\nimport Search from './Search';\nimport TextArea from './TextArea';\nimport Password from './Password';\nimport antInputDirective from '../_util/antInputDirective';\nimport Base from '../base';\n\nVue.use(antInputDirective);\n\nInput.Group = Group;\nInput.Search = Search;\nInput.TextArea = TextArea;\nInput.Password = Password;\n\n/* istanbul ignore next */\nInput.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Input.name, Input);\n Vue.component(Input.Group.name, Input.Group);\n Vue.component(Input.Search.name, Input.Search);\n Vue.component(Input.TextArea.name, Input.TextArea);\n Vue.component(Input.Password.name, Input.Password);\n};\n\nexport default Input;\n","import PropTypes from '../_util/vue-types';\nimport { cloneElement } from '../_util/vnode';\nimport { getOptionProps, getListeners } from '../_util/props-util';\nfunction chaining(...fns) {\n return function(...args) {\n // eslint-disable-line\n // eslint-disable-line\n for (let i = 0; i < fns.length; i++) {\n if (fns[i] && typeof fns[i] === 'function') {\n fns[i].apply(this, args);\n }\n }\n };\n}\nexport default {\n name: 'InputElement',\n inheritAttrs: false,\n props: {\n value: PropTypes.any,\n disabled: PropTypes.bool,\n placeholder: PropTypes.string,\n },\n render() {\n const { $slots = {}, $attrs = {}, placeholder } = this;\n const listeners = getListeners(this);\n const props = getOptionProps(this);\n const value = props.value === undefined ? '' : props.value;\n const children = $slots.default[0];\n const { componentOptions = {} } = $slots.default[0];\n const { listeners: events = {} } = componentOptions;\n const newEvent = { ...events };\n\n for (const [eventName, event] of Object.entries(listeners)) {\n newEvent[eventName] = chaining(event, events[eventName]);\n }\n const attrs = { ...$attrs, value };\n // https://github.com/vueComponent/ant-design-vue/issues/1761\n delete props.placeholder;\n if (placeholder) {\n props.placeholder = placeholder;\n attrs.placeholder = placeholder;\n }\n return cloneElement(children, {\n domProps: {\n value,\n },\n props,\n on: newEvent,\n attrs,\n ref: 'ele',\n });\n },\n};\n","import { Option, OptGroup } from '../vc-select';\nimport Select, { AbstractSelectProps, SelectValue } from '../select';\nimport Input from '../input';\nimport InputElement from './InputElement';\nimport PropTypes from '../_util/vue-types';\nimport { ConfigConsumerProps } from '../config-provider';\nimport {\n getComponentFromProp,\n getOptionProps,\n filterEmpty,\n isValidElement,\n getListeners,\n} from '../_util/props-util';\nimport Base from '../base';\n\n// const DataSourceItemObject = PropTypes.shape({\n// value: String,\n// text: String,\n// }).loose\n// const DataSourceItemType = PropTypes.oneOfType([\n// PropTypes.string,\n// DataSourceItemObject,\n// ]).isRequired\n\n// export interface AutoCompleteInputProps {\n// onChange?: React.FormEventHandler<any>;\n// value: any;\n// }\n\nconst AutoCompleteProps = {\n ...AbstractSelectProps(),\n value: SelectValue,\n defaultValue: SelectValue,\n dataSource: PropTypes.array,\n dropdownMenuStyle: PropTypes.object,\n optionLabelProp: String,\n dropdownMatchSelectWidth: PropTypes.bool,\n // onChange?: (value: SelectValue) => void;\n // onSelect?: (value: SelectValue, option: Object) => any;\n};\n\nconst AutoComplete = {\n name: 'AAutoComplete',\n props: {\n ...AutoCompleteProps,\n prefixCls: PropTypes.string.def('ant-select'),\n showSearch: PropTypes.bool.def(false),\n transitionName: PropTypes.string.def('slide-up'),\n choiceTransitionName: PropTypes.string.def('zoom'),\n autoFocus: PropTypes.bool,\n backfill: PropTypes.bool,\n optionLabelProp: PropTypes.string.def('children'),\n filterOption: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]).def(false),\n defaultActiveFirstOption: PropTypes.bool.def(true),\n },\n Option: { ...Option, name: 'AAutoCompleteOption' },\n OptGroup: { ...OptGroup, name: 'AAutoCompleteOptGroup' },\n model: {\n prop: 'value',\n event: 'change',\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n provide() {\n return {\n savePopupRef: this.savePopupRef,\n };\n },\n methods: {\n savePopupRef(ref) {\n this.popupRef = ref;\n },\n\n getInputElement() {\n const { $slots, placeholder } = this;\n const children = filterEmpty($slots.default);\n const element = children.length ? children[0] : <Input lazy={false} />;\n return <InputElement placeholder={placeholder}>{element}</InputElement>;\n },\n\n focus() {\n if (this.$refs.select) {\n this.$refs.select.focus();\n }\n },\n\n blur() {\n if (this.$refs.select) {\n this.$refs.select.blur();\n }\n },\n },\n\n render() {\n const { size, prefixCls: customizePrefixCls, optionLabelProp, dataSource, $slots } = this;\n\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('select', customizePrefixCls);\n\n const cls = {\n [`${prefixCls}-lg`]: size === 'large',\n [`${prefixCls}-sm`]: size === 'small',\n [`${prefixCls}-show-search`]: true,\n [`${prefixCls}-auto-complete`]: true,\n };\n\n let options;\n const childArray = filterEmpty($slots.dataSource);\n if (childArray.length) {\n options = childArray;\n } else {\n options = dataSource\n ? dataSource.map(item => {\n if (isValidElement(item)) {\n return item;\n }\n switch (typeof item) {\n case 'string':\n return <Option key={item}>{item}</Option>;\n case 'object':\n return <Option key={item.value}>{item.text}</Option>;\n default:\n throw new Error(\n 'AutoComplete[dataSource] only supports type `string[] | Object[]`.',\n );\n }\n })\n : [];\n }\n const selectProps = {\n props: {\n ...getOptionProps(this),\n mode: Select.SECRET_COMBOBOX_MODE_DO_NOT_USE,\n optionLabelProp,\n getInputElement: this.getInputElement,\n notFoundContent: getComponentFromProp(this, 'notFoundContent'),\n placeholder: '',\n },\n class: cls,\n ref: 'select',\n on: getListeners(this),\n };\n return <Select {...selectProps}>{options}</Select>;\n },\n};\n\n/* istanbul ignore next */\nAutoComplete.install = function(Vue) {\n Vue.use(Base);\n Vue.component(AutoComplete.name, AutoComplete);\n Vue.component(AutoComplete.Option.name, AutoComplete.Option);\n Vue.component(AutoComplete.OptGroup.name, AutoComplete.OptGroup);\n};\n\nexport default AutoComplete;\n","import Icon from '../icon';\nimport classNames from 'classnames';\nimport BaseMixin from '../_util/BaseMixin';\nimport PropTypes from '../_util/vue-types';\nimport getTransitionProps from '../_util/getTransitionProps';\nimport { getComponentFromProp, isValidElement } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport { ConfigConsumerProps } from '../config-provider';\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 <a type=\"button\" onClick={this.handleClose} class={`${prefixCls}-close-icon`} tabIndex={0}>\n {closeText ? (\n <span class={`${prefixCls}-close-text`}>{closeText}</span>\n ) : (\n <Icon type=\"close\" />\n )}\n </a>\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';\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';\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 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';\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';\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';\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';\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';\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';\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';\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';\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 },\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';\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';\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';\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';\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","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';\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 } 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 if (c && !c.disabled && c.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';\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';\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';\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';\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 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 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 [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';\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';\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';\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';\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';\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';\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';\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';\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 },\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 } = 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\n const yeasEls = years.map((row, index) => {\n const tds = row.map(yearData => {\n const classNameMap = {\n [`${prefixCls}-cell`]: 1,\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={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 />\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 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';\nimport interopDefault from '../_util/interopDefault';\nimport BaseMixin from '../_util/BaseMixin';\nimport {\n hasProp,\n getOptionProps,\n initDefaultProps,\n mergeProps,\n getComponentFromProp,\n isValidElement,\n getListeners,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport { formatDate } from './utils';\n\n// export const PickerProps = {\n// value?: moment.Moment;\n// prefixCls: string;\n// }\nfunction noop() {}\nexport default function createPicker(TheCalendar, props) {\n return {\n props: initDefaultProps(props, {\n allowClear: true,\n showToday: true,\n }),\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change',\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const value = this.value || this.defaultValue;\n if (value && !interopDefault(moment).isMoment(value)) {\n throw new Error(\n 'The value/defaultValue of DatePicker or MonthPicker must be ' + 'a moment object',\n );\n }\n return {\n sValue: value,\n showDate: value,\n _open: !!this.open,\n };\n },\n watch: {\n open(val) {\n const props = getOptionProps(this);\n const state = {};\n state._open = val;\n if ('value' in props && !val && props.value !== this.showDate) {\n state.showDate = props.value;\n }\n this.setState(state);\n },\n value(val) {\n const state = {};\n state.sValue = val;\n if (val !== this.sValue) {\n state.showDate = val;\n }\n this.setState(state);\n },\n _open(val, oldVal) {\n this.$nextTick(() => {\n if (!hasProp(this, 'open') && oldVal && !val) {\n this.focus();\n }\n });\n },\n },\n methods: {\n clearSelection(e) {\n e.preventDefault();\n e.stopPropagation();\n this.handleChange(null);\n },\n\n handleChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n showDate: value,\n });\n }\n this.$emit('change', value, formatDate(value, this.format));\n },\n\n handleCalendarChange(value) {\n this.setState({ showDate: value });\n },\n handleOpenChange(open) {\n const props = getOptionProps(this);\n if (!('open' in props)) {\n this.setState({ _open: open });\n }\n this.$emit('openChange', open);\n },\n focus() {\n this.$refs.input.focus();\n },\n\n blur() {\n this.$refs.input.blur();\n },\n renderFooter(...args) {\n const { $scopedSlots, $slots, _prefixCls: prefixCls } = this;\n const renderExtraFooter =\n this.renderExtraFooter || $scopedSlots.renderExtraFooter || $slots.renderExtraFooter;\n return renderExtraFooter ? (\n <div class={`${prefixCls}-footer-extra`}>\n {typeof renderExtraFooter === 'function'\n ? renderExtraFooter(...args)\n : renderExtraFooter}\n </div>\n ) : null;\n },\n onMouseEnter(e) {\n this.$emit('mouseenter', e);\n },\n onMouseLeave(e) {\n this.$emit('mouseleave', e);\n },\n },\n\n render() {\n const { $scopedSlots } = this;\n const { sValue: value, showDate, _open: open } = this.$data;\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n const listeners = getListeners(this);\n const { panelChange = noop, focus = noop, blur = noop, ok = noop } = listeners;\n const props = getOptionProps(this);\n\n const { prefixCls: customizePrefixCls, locale, localeCode, inputReadOnly } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('calendar', customizePrefixCls);\n this._prefixCls = prefixCls;\n\n const dateRender = props.dateRender || $scopedSlots.dateRender;\n const monthCellContentRender =\n props.monthCellContentRender || $scopedSlots.monthCellContentRender;\n const placeholder = 'placeholder' in props ? props.placeholder : locale.lang.placeholder;\n\n const disabledTime = props.showTime ? props.disabledTime : null;\n\n const calendarClassName = classNames({\n [`${prefixCls}-time`]: props.showTime,\n [`${prefixCls}-month`]: MonthCalendar === TheCalendar,\n });\n\n if (value && localeCode) {\n value.locale(localeCode);\n }\n\n const pickerProps = { props: {}, on: {} };\n const calendarProps = { props: {}, on: {} };\n const pickerStyle = {};\n if (props.showTime) {\n // fix https://github.com/ant-design/ant-design/issues/1902\n calendarProps.on.select = this.handleChange;\n pickerStyle.minWidth = '195px';\n } else {\n pickerProps.on.change = this.handleChange;\n }\n if ('mode' in props) {\n calendarProps.props.mode = props.mode;\n }\n const theCalendarProps = mergeProps(calendarProps, {\n props: {\n disabledDate: props.disabledDate,\n disabledTime,\n locale: locale.lang,\n timePicker: props.timePicker,\n defaultValue: props.defaultPickerValue || interopDefault(moment)(),\n dateInputPlaceholder: placeholder,\n prefixCls,\n dateRender,\n format: props.format,\n showToday: props.showToday,\n monthCellContentRender,\n renderFooter: this.renderFooter,\n value: showDate,\n inputReadOnly,\n },\n on: {\n ok,\n panelChange,\n change: this.handleCalendarChange,\n },\n class: calendarClassName,\n scopedSlots: $scopedSlots,\n });\n const calendar = <TheCalendar {...theCalendarProps} />;\n\n const clearIcon =\n !props.disabled && props.allowClear && value ? (\n <Icon\n type=\"close-circle\"\n class={`${prefixCls}-picker-clear`}\n onClick={this.clearSelection}\n theme=\"filled\"\n />\n ) : null;\n\n const inputIcon = (suffixIcon &&\n (isValidElement(suffixIcon) ? (\n cloneElement(suffixIcon, {\n class: `${prefixCls}-picker-icon`,\n })\n ) : (\n <span class={`${prefixCls}-picker-icon`}>{suffixIcon}</span>\n ))) || <Icon type=\"calendar\" class={`${prefixCls}-picker-icon`} />;\n\n const input = ({ value: inputValue }) => (\n <div>\n <input\n ref=\"input\"\n disabled={props.disabled}\n onFocus={focus}\n onBlur={blur}\n readOnly\n value={formatDate(inputValue, this.format)}\n placeholder={placeholder}\n class={props.pickerInputClass}\n tabIndex={props.tabIndex}\n name={this.name}\n />\n {clearIcon}\n {inputIcon}\n </div>\n );\n const vcDatePickerProps = {\n props: {\n ...props,\n ...pickerProps.props,\n calendar,\n value,\n prefixCls: `${prefixCls}-picker-container`,\n },\n on: {\n ...omit(listeners, 'change'),\n ...pickerProps.on,\n open,\n onOpenChange: this.handleOpenChange,\n },\n style: props.popupStyle,\n scopedSlots: { default: input, ...$scopedSlots },\n };\n return (\n <span\n class={props.pickerClass}\n style={pickerStyle}\n // tabIndex={props.disabled ? -1 : 0}\n // onFocus={focus}\n // onBlur={blur}\n onMouseenter={this.onMouseEnter}\n onMouseleave={this.onMouseLeave}\n >\n <VcDatePicker {...vcDatePickerProps} />\n </span>\n );\n },\n };\n}\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport moment from 'moment';\n\nconst Header = {\n mixins: [BaseMixin],\n props: {\n format: PropTypes.string,\n prefixCls: PropTypes.string,\n disabledDate: PropTypes.func,\n placeholder: PropTypes.string,\n clearText: PropTypes.string,\n value: PropTypes.object,\n inputReadOnly: PropTypes.bool.def(false),\n hourOptions: PropTypes.array,\n minuteOptions: PropTypes.array,\n secondOptions: PropTypes.array,\n disabledHours: PropTypes.func,\n disabledMinutes: PropTypes.func,\n disabledSeconds: PropTypes.func,\n // onChange: PropTypes.func,\n // onClear: PropTypes.func,\n // onEsc: PropTypes.func,\n allowEmpty: PropTypes.bool,\n defaultOpenValue: PropTypes.object,\n currentSelectPanel: PropTypes.string,\n focusOnOpen: PropTypes.bool,\n // onKeyDown: PropTypes.func,\n clearIcon: PropTypes.any,\n },\n data() {\n const { value, format } = this;\n return {\n str: (value && value.format(format)) || '',\n invalid: false,\n };\n },\n\n mounted() {\n if (this.focusOnOpen) {\n // Wait one frame for the panel to be positioned before focusing\n const requestAnimationFrame = window.requestAnimationFrame || window.setTimeout;\n requestAnimationFrame(() => {\n this.$refs.input.focus();\n this.$refs.input.select();\n });\n }\n },\n watch: {\n value(val) {\n this.$nextTick(() => {\n this.setState({\n str: (val && val.format(this.format)) || '',\n invalid: false,\n });\n });\n },\n },\n\n methods: {\n onInputChange(e) {\n const { value: str, composing } = e.target;\n const { str: oldStr = '' } = this;\n if (e.isComposing || composing || oldStr === str) return;\n\n this.setState({\n str,\n });\n const {\n format,\n hourOptions,\n minuteOptions,\n secondOptions,\n disabledHours,\n disabledMinutes,\n disabledSeconds,\n value: originalValue,\n } = this;\n\n if (str) {\n const value = this.getProtoValue().clone();\n const parsed = moment(str, format, true);\n if (!parsed.isValid()) {\n this.setState({\n invalid: true,\n });\n return;\n }\n value\n .hour(parsed.hour())\n .minute(parsed.minute())\n .second(parsed.second());\n\n // if time value not allowed, response warning.\n if (\n hourOptions.indexOf(value.hour()) < 0 ||\n minuteOptions.indexOf(value.minute()) < 0 ||\n secondOptions.indexOf(value.second()) < 0\n ) {\n this.setState({\n invalid: true,\n });\n return;\n }\n\n // if time value is disabled, response warning.\n const disabledHourOptions = disabledHours();\n const disabledMinuteOptions = disabledMinutes(value.hour());\n const disabledSecondOptions = disabledSeconds(value.hour(), value.minute());\n if (\n (disabledHourOptions && disabledHourOptions.indexOf(value.hour()) >= 0) ||\n (disabledMinuteOptions && disabledMinuteOptions.indexOf(value.minute()) >= 0) ||\n (disabledSecondOptions && disabledSecondOptions.indexOf(value.second()) >= 0)\n ) {\n this.setState({\n invalid: true,\n });\n return;\n }\n\n if (originalValue) {\n if (\n originalValue.hour() !== value.hour() ||\n originalValue.minute() !== value.minute() ||\n originalValue.second() !== value.second()\n ) {\n // keep other fields for rc-calendar\n const changedValue = originalValue.clone();\n changedValue.hour(value.hour());\n changedValue.minute(value.minute());\n changedValue.second(value.second());\n this.__emit('change', changedValue);\n }\n } else if (originalValue !== value) {\n this.__emit('change', value);\n }\n } else {\n this.__emit('change', null);\n }\n\n this.setState({\n invalid: false,\n });\n },\n\n onKeyDown(e) {\n if (e.keyCode === 27) {\n this.__emit('esc');\n }\n this.__emit('keydown', e);\n },\n\n getProtoValue() {\n return this.value || this.defaultOpenValue;\n },\n\n getInput() {\n const { prefixCls, placeholder, inputReadOnly, invalid, str } = this;\n const invalidClass = invalid ? `${prefixCls}-input-invalid` : '';\n return (\n <input\n class={`${prefixCls}-input ${invalidClass}`}\n ref=\"input\"\n onKeydown={this.onKeyDown}\n value={str}\n placeholder={placeholder}\n onInput={this.onInputChange}\n readOnly={!!inputReadOnly}\n {...{\n directives: [\n {\n name: 'ant-input',\n },\n ],\n }}\n />\n );\n },\n },\n\n render() {\n const { prefixCls } = this;\n return <div class={`${prefixCls}-input-wrap`}>{this.getInput()}</div>;\n },\n};\n\nexport default Header;\n","import PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport classnames from 'classnames';\nimport raf from 'raf';\n\nfunction noop() {}\nconst scrollTo = (element, to, duration) => {\n // jump to target if duration zero\n if (duration <= 0) {\n raf(() => {\n element.scrollTop = to;\n });\n return;\n }\n const difference = to - element.scrollTop;\n const perTick = (difference / duration) * 10;\n\n raf(() => {\n element.scrollTop += perTick;\n if (element.scrollTop === to) return;\n scrollTo(element, to, duration - 10);\n });\n};\n\nconst Select = {\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n options: PropTypes.array,\n selectedIndex: PropTypes.number,\n type: PropTypes.string,\n // onSelect: PropTypes.func,\n // onMouseEnter: PropTypes.func,\n },\n data() {\n return {\n active: false,\n };\n },\n\n mounted() {\n this.$nextTick(() => {\n // jump to selected option\n this.scrollToSelected(0);\n });\n },\n watch: {\n selectedIndex() {\n this.$nextTick(() => {\n // smooth scroll to selected option\n this.scrollToSelected(120);\n });\n },\n },\n methods: {\n onSelect(value) {\n const { type } = this;\n this.__emit('select', type, value);\n },\n onEsc(e) {\n this.__emit('esc', e);\n },\n getOptions() {\n const { options, selectedIndex, prefixCls } = this;\n return options.map((item, index) => {\n const cls = classnames({\n [`${prefixCls}-select-option-selected`]: selectedIndex === index,\n [`${prefixCls}-select-option-disabled`]: item.disabled,\n });\n const onClick = item.disabled\n ? noop\n : () => {\n this.onSelect(item.value);\n };\n const onKeyDown = e => {\n if (e.keyCode === 13) onClick();\n else if (e.keyCode === 27) this.onEsc();\n };\n return (\n <li\n role=\"button\"\n onClick={onClick}\n class={cls}\n key={index}\n disabled={item.disabled}\n tabIndex=\"0\"\n onKeydown={onKeyDown}\n >\n {item.value}\n </li>\n );\n });\n },\n\n handleMouseEnter(e) {\n this.setState({ active: true });\n this.__emit('mouseenter', e);\n },\n\n handleMouseLeave() {\n this.setState({ active: false });\n },\n\n scrollToSelected(duration) {\n // move to selected item\n const select = this.$el;\n const list = this.$refs.list;\n if (!list) {\n return;\n }\n let index = this.selectedIndex;\n if (index < 0) {\n index = 0;\n }\n const topOption = list.children[index];\n const to = topOption.offsetTop;\n scrollTo(select, to, duration);\n },\n },\n\n render() {\n const { prefixCls, options, active } = this;\n if (options.length === 0) {\n return null;\n }\n\n const cls = {\n [`${prefixCls}-select`]: 1,\n [`${prefixCls}-select-active`]: active,\n };\n\n return (\n <div class={cls} onMouseenter={this.handleMouseEnter} onMouseleave={this.handleMouseLeave}>\n <ul ref=\"list\">{this.getOptions()}</ul>\n </div>\n );\n },\n};\n\nexport default Select;\n","import PropTypes from '../_util/vue-types';\nimport Select from './Select';\nimport BaseMixin from '../_util/BaseMixin';\n\nconst formatOption = (option, disabledOptions) => {\n let value = `${option}`;\n if (option < 10) {\n value = `0${option}`;\n }\n\n let disabled = false;\n if (disabledOptions && disabledOptions.indexOf(option) >= 0) {\n disabled = true;\n }\n\n return {\n value,\n disabled,\n };\n};\n\nconst Combobox = {\n mixins: [BaseMixin],\n name: 'Combobox',\n props: {\n format: PropTypes.string,\n defaultOpenValue: PropTypes.object,\n prefixCls: PropTypes.string,\n value: PropTypes.object,\n // onChange: PropTypes.func,\n // onAmPmChange: PropTypes.func,\n showHour: PropTypes.bool,\n showMinute: PropTypes.bool,\n showSecond: PropTypes.bool,\n hourOptions: PropTypes.array,\n minuteOptions: PropTypes.array,\n secondOptions: PropTypes.array,\n disabledHours: PropTypes.func,\n disabledMinutes: PropTypes.func,\n disabledSeconds: PropTypes.func,\n // onCurrentSelectPanelChange: PropTypes.func,\n use12Hours: PropTypes.bool,\n isAM: PropTypes.bool,\n },\n methods: {\n onItemChange(type, itemValue) {\n const { defaultOpenValue, use12Hours, value: propValue, isAM } = this;\n const value = (propValue || defaultOpenValue).clone();\n\n if (type === 'hour') {\n if (use12Hours) {\n if (isAM) {\n value.hour(+itemValue % 12);\n } else {\n value.hour((+itemValue % 12) + 12);\n }\n } else {\n value.hour(+itemValue);\n }\n } else if (type === 'minute') {\n value.minute(+itemValue);\n } else if (type === 'ampm') {\n const ampm = itemValue.toUpperCase();\n if (use12Hours) {\n if (ampm === 'PM' && value.hour() < 12) {\n value.hour((value.hour() % 12) + 12);\n }\n\n if (ampm === 'AM') {\n if (value.hour() >= 12) {\n value.hour(value.hour() - 12);\n }\n }\n }\n this.__emit('amPmChange', ampm);\n } else {\n value.second(+itemValue);\n }\n this.__emit('change', value);\n },\n\n onEnterSelectPanel(range) {\n this.__emit('currentSelectPanelChange', range);\n },\n onEsc(e) {\n this.__emit('esc', e);\n },\n\n getHourSelect(hour) {\n const { prefixCls, hourOptions, disabledHours, showHour, use12Hours } = this;\n if (!showHour) {\n return null;\n }\n const disabledOptions = disabledHours();\n let hourOptionsAdj;\n let hourAdj;\n if (use12Hours) {\n hourOptionsAdj = [12].concat(hourOptions.filter(h => h < 12 && h > 0));\n hourAdj = hour % 12 || 12;\n } else {\n hourOptionsAdj = hourOptions;\n hourAdj = hour;\n }\n\n return (\n <Select\n prefixCls={prefixCls}\n options={hourOptionsAdj.map(option => formatOption(option, disabledOptions))}\n selectedIndex={hourOptionsAdj.indexOf(hourAdj)}\n type=\"hour\"\n onSelect={this.onItemChange}\n onMouseenter={() => this.onEnterSelectPanel('hour')}\n onEsc={this.onEsc}\n />\n );\n },\n\n getMinuteSelect(minute) {\n const {\n prefixCls,\n minuteOptions,\n disabledMinutes,\n defaultOpenValue,\n showMinute,\n value: propValue,\n } = this;\n if (!showMinute) {\n return null;\n }\n const value = propValue || defaultOpenValue;\n const disabledOptions = disabledMinutes(value.hour());\n\n return (\n <Select\n prefixCls={prefixCls}\n options={minuteOptions.map(option => formatOption(option, disabledOptions))}\n selectedIndex={minuteOptions.indexOf(minute)}\n type=\"minute\"\n onSelect={this.onItemChange}\n onMouseenter={() => this.onEnterSelectPanel('minute')}\n onEsc={this.onEsc}\n />\n );\n },\n\n getSecondSelect(second) {\n const {\n prefixCls,\n secondOptions,\n disabledSeconds,\n showSecond,\n defaultOpenValue,\n value: propValue,\n } = this;\n if (!showSecond) {\n return null;\n }\n const value = propValue || defaultOpenValue;\n const disabledOptions = disabledSeconds(value.hour(), value.minute());\n\n return (\n <Select\n prefixCls={prefixCls}\n options={secondOptions.map(option => formatOption(option, disabledOptions))}\n selectedIndex={secondOptions.indexOf(second)}\n type=\"second\"\n onSelect={this.onItemChange}\n onMouseenter={() => this.onEnterSelectPanel('second')}\n onEsc={this.onEsc}\n />\n );\n },\n\n getAMPMSelect() {\n const { prefixCls, use12Hours, format, isAM } = this;\n if (!use12Hours) {\n return null;\n }\n\n const AMPMOptions = ['am', 'pm'] // If format has A char, then we should uppercase AM/PM\n .map(c => (format.match(/\\sA/) ? c.toUpperCase() : c))\n .map(c => ({ value: c }));\n\n const selected = isAM ? 0 : 1;\n\n return (\n <Select\n prefixCls={prefixCls}\n options={AMPMOptions}\n selectedIndex={selected}\n type=\"ampm\"\n onSelect={this.onItemChange}\n onMouseenter={() => this.onEnterSelectPanel('ampm')}\n onEsc={this.onEsc}\n />\n );\n },\n },\n\n render() {\n const { prefixCls, defaultOpenValue, value: propValue } = this;\n const value = propValue || defaultOpenValue;\n return (\n <div class={`${prefixCls}-combobox`}>\n {this.getHourSelect(value.hour())}\n {this.getMinuteSelect(value.minute())}\n {this.getSecondSelect(value.second())}\n {this.getAMPMSelect(value.hour())}\n </div>\n );\n },\n};\n\nexport default Combobox;\n","import moment from 'moment';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport Header from './Header';\nimport Combobox from './Combobox';\nimport { getComponentFromProp, getListeners } from '../_util/props-util';\n\nfunction noop() {}\n\nfunction generateOptions(length, disabledOptions, hideDisabledOptions, step = 1) {\n const arr = [];\n for (let value = 0; value < length; value += step) {\n if (!disabledOptions || disabledOptions.indexOf(value) < 0 || !hideDisabledOptions) {\n arr.push(value);\n }\n }\n return arr;\n}\n\nfunction toNearestValidTime(time, hourOptions, minuteOptions, secondOptions) {\n const hour = hourOptions\n .slice()\n .sort((a, b) => Math.abs(time.hour() - a) - Math.abs(time.hour() - b))[0];\n const minute = minuteOptions\n .slice()\n .sort((a, b) => Math.abs(time.minute() - a) - Math.abs(time.minute() - b))[0];\n const second = secondOptions\n .slice()\n .sort((a, b) => Math.abs(time.second() - a) - Math.abs(time.second() - b))[0];\n return moment(`${hour}:${minute}:${second}`, 'HH:mm:ss');\n}\n\nconst Panel = {\n mixins: [BaseMixin],\n props: {\n clearText: PropTypes.string,\n prefixCls: PropTypes.string.def('rc-time-picker-panel'),\n defaultOpenValue: {\n type: Object,\n default: () => {\n return moment();\n },\n },\n value: PropTypes.any,\n defaultValue: PropTypes.any,\n placeholder: PropTypes.string,\n format: PropTypes.string,\n inputReadOnly: PropTypes.bool.def(false),\n disabledHours: PropTypes.func.def(noop),\n disabledMinutes: PropTypes.func.def(noop),\n disabledSeconds: PropTypes.func.def(noop),\n hideDisabledOptions: PropTypes.bool,\n // onChange: PropTypes.func,\n // onEsc: PropTypes.func,\n allowEmpty: PropTypes.bool,\n showHour: PropTypes.bool,\n showMinute: PropTypes.bool,\n showSecond: PropTypes.bool,\n // onClear: PropTypes.func,\n use12Hours: PropTypes.bool.def(false),\n hourStep: PropTypes.number,\n minuteStep: PropTypes.number,\n secondStep: PropTypes.number,\n addon: PropTypes.func.def(noop),\n focusOnOpen: PropTypes.bool,\n // onKeydown: PropTypes.func,\n clearIcon: PropTypes.any,\n },\n data() {\n return {\n sValue: this.value,\n selectionRange: [],\n currentSelectPanel: '',\n };\n },\n watch: {\n value(val) {\n this.setState({\n sValue: val,\n });\n },\n },\n\n methods: {\n onChange(newValue) {\n this.setState({ sValue: newValue });\n this.__emit('change', newValue);\n },\n\n onAmPmChange(ampm) {\n this.__emit('amPmChange', ampm);\n },\n\n onCurrentSelectPanelChange(currentSelectPanel) {\n this.setState({ currentSelectPanel });\n },\n\n // https://github.com/ant-design/ant-design/issues/5829\n close() {\n this.__emit('esc');\n },\n onEsc(e) {\n this.__emit('esc', e);\n },\n disabledHours2() {\n const { use12Hours, disabledHours } = this;\n let disabledOptions = disabledHours();\n if (use12Hours && Array.isArray(disabledOptions)) {\n if (this.isAM()) {\n disabledOptions = disabledOptions.filter(h => h < 12).map(h => (h === 0 ? 12 : h));\n } else {\n disabledOptions = disabledOptions.map(h => (h === 12 ? 12 : h - 12));\n }\n }\n return disabledOptions;\n },\n\n isAM() {\n const value = this.sValue || this.defaultOpenValue;\n return value.hour() >= 0 && value.hour() < 12;\n },\n },\n\n render() {\n const {\n prefixCls,\n placeholder,\n disabledMinutes,\n addon,\n disabledSeconds,\n hideDisabledOptions,\n showHour,\n showMinute,\n showSecond,\n format,\n defaultOpenValue,\n clearText,\n use12Hours,\n focusOnOpen,\n hourStep,\n minuteStep,\n secondStep,\n inputReadOnly,\n sValue,\n currentSelectPanel,\n } = this;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n const { esc = noop, keydown = noop } = getListeners(this);\n\n const disabledHourOptions = this.disabledHours2();\n const disabledMinuteOptions = disabledMinutes(sValue ? sValue.hour() : null);\n const disabledSecondOptions = disabledSeconds(\n sValue ? sValue.hour() : null,\n sValue ? sValue.minute() : null,\n );\n const hourOptions = generateOptions(24, disabledHourOptions, hideDisabledOptions, hourStep);\n const minuteOptions = generateOptions(\n 60,\n disabledMinuteOptions,\n hideDisabledOptions,\n minuteStep,\n );\n const secondOptions = generateOptions(\n 60,\n disabledSecondOptions,\n hideDisabledOptions,\n secondStep,\n );\n const validDefaultOpenValue = toNearestValidTime(\n defaultOpenValue,\n hourOptions,\n minuteOptions,\n secondOptions,\n );\n return (\n <div class={`${prefixCls}-inner`}>\n <Header\n clearText={clearText}\n prefixCls={prefixCls}\n defaultOpenValue={validDefaultOpenValue}\n value={sValue}\n currentSelectPanel={currentSelectPanel}\n onEsc={esc}\n format={format}\n placeholder={placeholder}\n hourOptions={hourOptions}\n minuteOptions={minuteOptions}\n secondOptions={secondOptions}\n disabledHours={this.disabledHours2}\n disabledMinutes={disabledMinutes}\n disabledSeconds={disabledSeconds}\n onChange={this.onChange}\n focusOnOpen={focusOnOpen}\n onKeydown={keydown}\n inputReadOnly={inputReadOnly}\n clearIcon={clearIcon}\n />\n <Combobox\n prefixCls={prefixCls}\n value={sValue}\n defaultOpenValue={validDefaultOpenValue}\n format={format}\n onChange={this.onChange}\n onAmPmChange={this.onAmPmChange}\n showHour={showHour}\n showMinute={showMinute}\n showSecond={showSecond}\n hourOptions={hourOptions}\n minuteOptions={minuteOptions}\n secondOptions={secondOptions}\n disabledHours={this.disabledHours2}\n disabledMinutes={disabledMinutes}\n disabledSeconds={disabledSeconds}\n onCurrentSelectPanelChange={this.onCurrentSelectPanelChange}\n use12Hours={use12Hours}\n onEsc={this.onEsc}\n isAM={this.isAM()}\n />\n {addon(this)}\n </div>\n );\n },\n};\n\nexport default Panel;\n","const autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1,\n};\n\nconst targetOffset = [0, 0];\n\nconst placements = {\n bottomLeft: {\n points: ['tl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -3],\n targetOffset,\n },\n bottomRight: {\n points: ['tr', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -3],\n targetOffset,\n },\n topRight: {\n points: ['br', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 3],\n targetOffset,\n },\n topLeft: {\n points: ['bl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 3],\n targetOffset,\n },\n};\n\nexport default placements;\n","import moment from 'moment';\nimport classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport BaseMixin from '../_util/BaseMixin';\nimport {\n initDefaultProps,\n hasProp,\n getComponentFromProp,\n isValidElement,\n getEvents,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport Trigger from '../vc-trigger';\nimport Panel from './Panel';\nimport placements from './placements';\n\nfunction noop() {}\n\nexport default {\n name: 'VcTimePicker',\n mixins: [BaseMixin],\n props: initDefaultProps(\n {\n prefixCls: PropTypes.string,\n clearText: PropTypes.string,\n value: PropTypes.any,\n defaultOpenValue: {\n type: Object,\n default: () => {\n return moment();\n },\n },\n inputReadOnly: PropTypes.bool,\n disabled: PropTypes.bool,\n allowEmpty: PropTypes.bool,\n defaultValue: PropTypes.any,\n open: PropTypes.bool,\n defaultOpen: PropTypes.bool,\n align: PropTypes.object,\n placement: PropTypes.any,\n transitionName: PropTypes.string,\n getPopupContainer: PropTypes.func,\n placeholder: PropTypes.string,\n format: PropTypes.string,\n showHour: PropTypes.bool,\n showMinute: PropTypes.bool,\n showSecond: PropTypes.bool,\n popupClassName: PropTypes.string,\n popupStyle: PropTypes.object,\n disabledHours: PropTypes.func,\n disabledMinutes: PropTypes.func,\n disabledSeconds: PropTypes.func,\n hideDisabledOptions: PropTypes.bool,\n // onChange: PropTypes.func,\n // onAmPmChange: PropTypes.func,\n // onOpen: PropTypes.func,\n // onClose: PropTypes.func,\n // onFocus: PropTypes.func,\n // onBlur: PropTypes.func,\n name: PropTypes.string,\n autoComplete: PropTypes.string,\n use12Hours: PropTypes.bool,\n hourStep: PropTypes.number,\n minuteStep: PropTypes.number,\n secondStep: PropTypes.number,\n focusOnOpen: PropTypes.bool,\n // onKeyDown: PropTypes.func,\n autoFocus: PropTypes.bool,\n id: PropTypes.string,\n inputIcon: PropTypes.any,\n clearIcon: PropTypes.any,\n addon: PropTypes.func,\n },\n {\n clearText: 'clear',\n prefixCls: 'rc-time-picker',\n defaultOpen: false,\n inputReadOnly: false,\n popupClassName: '',\n popupStyle: {},\n align: {},\n allowEmpty: true,\n showHour: true,\n showMinute: true,\n showSecond: true,\n disabledHours: noop,\n disabledMinutes: noop,\n disabledSeconds: noop,\n hideDisabledOptions: false,\n placement: 'bottomLeft',\n use12Hours: false,\n focusOnOpen: false,\n },\n ),\n data() {\n const { defaultOpen, defaultValue, open = defaultOpen, value = defaultValue } = this;\n return {\n sOpen: open,\n sValue: value,\n };\n },\n\n watch: {\n value(val) {\n this.setState({\n sValue: val,\n });\n },\n open(val) {\n if (val !== undefined) {\n this.setState({\n sOpen: val,\n });\n }\n },\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus) {\n this.focus();\n }\n });\n },\n methods: {\n onPanelChange(value) {\n this.setValue(value);\n },\n\n onAmPmChange(ampm) {\n this.__emit('amPmChange', ampm);\n },\n\n onClear(event) {\n event.stopPropagation();\n this.setValue(null);\n this.setOpen(false);\n },\n\n onVisibleChange(open) {\n this.setOpen(open);\n },\n\n onEsc() {\n this.setOpen(false);\n this.focus();\n },\n\n onKeyDown(e) {\n if (e.keyCode === 40) {\n this.setOpen(true);\n }\n },\n onKeyDown2(e) {\n this.__emit('keydown', e);\n },\n\n setValue(value) {\n if (!hasProp(this, 'value')) {\n this.setState({\n sValue: value,\n });\n }\n this.__emit('change', value);\n },\n\n getFormat() {\n const { format, showHour, showMinute, showSecond, use12Hours } = this;\n if (format) {\n return format;\n }\n\n if (use12Hours) {\n const fmtString = [showHour ? 'h' : '', showMinute ? 'mm' : '', showSecond ? 'ss' : '']\n .filter(item => !!item)\n .join(':');\n\n return fmtString.concat(' a');\n }\n\n return [showHour ? 'HH' : '', showMinute ? 'mm' : '', showSecond ? 'ss' : '']\n .filter(item => !!item)\n .join(':');\n },\n\n getPanelElement() {\n const {\n prefixCls,\n placeholder,\n disabledHours,\n addon,\n disabledMinutes,\n disabledSeconds,\n hideDisabledOptions,\n inputReadOnly,\n showHour,\n showMinute,\n showSecond,\n defaultOpenValue,\n clearText,\n use12Hours,\n focusOnOpen,\n onKeyDown2,\n hourStep,\n minuteStep,\n secondStep,\n sValue,\n } = this;\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n return (\n <Panel\n clearText={clearText}\n prefixCls={`${prefixCls}-panel`}\n ref=\"panel\"\n value={sValue}\n inputReadOnly={inputReadOnly}\n onChange={this.onPanelChange}\n onAmPmChange={this.onAmPmChange}\n defaultOpenValue={defaultOpenValue}\n showHour={showHour}\n showMinute={showMinute}\n showSecond={showSecond}\n onEsc={this.onEsc}\n format={this.getFormat()}\n placeholder={placeholder}\n disabledHours={disabledHours}\n disabledMinutes={disabledMinutes}\n disabledSeconds={disabledSeconds}\n hideDisabledOptions={hideDisabledOptions}\n use12Hours={use12Hours}\n hourStep={hourStep}\n minuteStep={minuteStep}\n secondStep={secondStep}\n focusOnOpen={focusOnOpen}\n onKeydown={onKeyDown2}\n clearIcon={clearIcon}\n addon={addon}\n />\n );\n },\n\n getPopupClassName() {\n const { showHour, showMinute, showSecond, use12Hours, prefixCls, popupClassName } = this;\n\n let selectColumnCount = 0;\n if (showHour) {\n selectColumnCount += 1;\n }\n if (showMinute) {\n selectColumnCount += 1;\n }\n if (showSecond) {\n selectColumnCount += 1;\n }\n if (use12Hours) {\n selectColumnCount += 1;\n }\n // Keep it for old compatibility\n return classNames(\n popupClassName,\n {\n [`${prefixCls}-panel-narrow`]: (!showHour || !showMinute || !showSecond) && !use12Hours,\n },\n `${prefixCls}-panel-column-${selectColumnCount}`,\n );\n },\n\n setOpen(open) {\n if (this.sOpen !== open) {\n if (!hasProp(this, 'open')) {\n this.setState({ sOpen: open });\n }\n if (open) {\n this.__emit('open', { open });\n } else {\n this.__emit('close', { open });\n }\n }\n },\n\n focus() {\n this.$refs.picker.focus();\n },\n\n blur() {\n this.$refs.picker.blur();\n },\n onFocus(e) {\n this.__emit('focus', e);\n },\n onBlur(e) {\n this.__emit('blur', e);\n },\n renderClearButton() {\n const { sValue } = this;\n const { prefixCls, allowEmpty, clearText, disabled } = this.$props;\n if (!allowEmpty || !sValue || disabled) {\n return null;\n }\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n if (isValidElement(clearIcon)) {\n const { click } = getEvents(clearIcon) || {};\n return cloneElement(clearIcon, {\n on: {\n click: (...args) => {\n if (click) click(...args);\n this.onClear(...args);\n },\n },\n });\n }\n\n return (\n <a\n role=\"button\"\n class={`${prefixCls}-clear`}\n title={clearText}\n onClick={this.onClear}\n tabIndex={0}\n >\n {clearIcon || <i class={`${prefixCls}-clear-icon`} />}\n </a>\n );\n },\n },\n\n render() {\n const {\n prefixCls,\n placeholder,\n placement,\n align,\n id,\n disabled,\n transitionName,\n getPopupContainer,\n name,\n autoComplete,\n autoFocus,\n inputReadOnly,\n sOpen,\n sValue,\n onFocus,\n onBlur,\n popupStyle,\n } = this;\n const popupClassName = this.getPopupClassName();\n const inputIcon = getComponentFromProp(this, 'inputIcon');\n return (\n <Trigger\n prefixCls={`${prefixCls}-panel`}\n popupClassName={popupClassName}\n popupStyle={popupStyle}\n popupAlign={align}\n builtinPlacements={placements}\n popupPlacement={placement}\n action={disabled ? [] : ['click']}\n destroyPopupOnHide\n getPopupContainer={getPopupContainer}\n popupTransitionName={transitionName}\n popupVisible={sOpen}\n onPopupVisibleChange={this.onVisibleChange}\n >\n <template slot=\"popup\">{this.getPanelElement()}</template>\n <span class={`${prefixCls}`}>\n <input\n class={`${prefixCls}-input`}\n ref=\"picker\"\n type=\"text\"\n placeholder={placeholder}\n name={name}\n onKeydown={this.onKeyDown}\n disabled={disabled}\n value={(sValue && sValue.format(this.getFormat())) || ''}\n autoComplete={autoComplete}\n onFocus={onFocus}\n onBlur={onBlur}\n autoFocus={autoFocus}\n readOnly={!!inputReadOnly}\n id={id}\n />\n {inputIcon || <span class={`${prefixCls}-icon`} />}\n {this.renderClearButton()}\n </span>\n </Trigger>\n );\n },\n};\n","import omit from 'omit.js';\nimport VcTimePicker from '../vc-time-picker';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport BaseMixin from '../_util/BaseMixin';\nimport PropTypes from '../_util/vue-types';\nimport warning from '../_util/warning';\nimport Icon from '../icon';\nimport enUS from './locale/en_US';\nimport {\n initDefaultProps,\n hasProp,\n getOptionProps,\n getComponentFromProp,\n isValidElement,\n getListeners,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport { ConfigConsumerProps } from '../config-provider';\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';\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';\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';\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']),\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';\nimport interopDefault from '../_util/interopDefault';\nimport { RangePickerProps } from './interface';\nimport {\n hasProp,\n getOptionProps,\n initDefaultProps,\n mergeProps,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport { formatDate } from './utils';\nimport InputIcon from './InputIcon';\n\nfunction noop() {}\nfunction getShowDateFromValue(value, mode) {\n const [start, end] = value;\n // value could be an empty array, then we should not reset showDate\n if (!start && !end) {\n return;\n }\n if (mode && mode[0] === 'month') {\n return [start, end];\n }\n const newEnd = end && end.isSame(start, 'month') ? end.clone().add(1, 'month') : end;\n return [start, newEnd];\n}\n\nfunction pickerValueAdapter(value) {\n if (!value) {\n return;\n }\n if (Array.isArray(value)) {\n return value;\n }\n return [value, value.clone().add(1, 'month')];\n}\n\nfunction isEmptyArray(arr) {\n if (Array.isArray(arr)) {\n return arr.length === 0 || arr.every(i => !i);\n }\n return false;\n}\n\nfunction fixLocale(value, localeCode) {\n if (!localeCode) {\n return;\n }\n if (!value || value.length === 0) {\n return;\n }\n const [start, end] = value;\n if (start) {\n start.locale(localeCode);\n }\n if (end) {\n end.locale(localeCode);\n }\n}\n\nexport default {\n name: 'ARangePicker',\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(RangePickerProps(), {\n allowClear: true,\n showToday: false,\n separator: '~',\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n const value = this.value || this.defaultValue || [];\n const [start, end] = value;\n if (\n (start && !interopDefault(moment).isMoment(start)) ||\n (end && !interopDefault(moment).isMoment(end))\n ) {\n throw new Error(\n 'The value/defaultValue of RangePicker must be a moment object array after `antd@2.0`, ' +\n 'see: https://u.ant.design/date-picker-value',\n );\n }\n const pickerValue = !value || isEmptyArray(value) ? this.defaultPickerValue : value;\n return {\n sValue: value,\n sShowDate: pickerValueAdapter(pickerValue || interopDefault(moment)()),\n sOpen: this.open,\n sHoverValue: [],\n };\n },\n watch: {\n value(val) {\n const value = val || [];\n let state = { sValue: value };\n if (!shallowequal(val, this.sValue)) {\n state = {\n ...state,\n sShowDate: getShowDateFromValue(value, this.mode) || this.sShowDate,\n };\n }\n this.setState(state);\n },\n open(val) {\n const state = { sOpen: val };\n this.setState(state);\n },\n sOpen(val, oldVal) {\n this.$nextTick(() => {\n if (!hasProp(this, 'open') && oldVal && !val) {\n this.focus();\n }\n });\n },\n },\n methods: {\n setValue(value, hidePanel) {\n this.handleChange(value);\n if ((hidePanel || !this.showTime) && !hasProp(this, 'open')) {\n this.setState({ sOpen: false });\n }\n },\n clearSelection(e) {\n e.preventDefault();\n e.stopPropagation();\n this.setState({ sValue: [] });\n this.handleChange([]);\n },\n\n clearHoverValue() {\n this.setState({ sHoverValue: [] });\n },\n\n handleChange(value) {\n if (!hasProp(this, 'value')) {\n this.setState(({ sShowDate }) => ({\n sValue: value,\n sShowDate: getShowDateFromValue(value) || sShowDate,\n }));\n }\n if (value[0] && value[1] && value[0].diff(value[1]) > 0) {\n value[1] = undefined;\n }\n const [start, end] = value;\n this.$emit('change', value, [formatDate(start, this.format), formatDate(end, this.format)]);\n },\n\n handleOpenChange(open) {\n if (!hasProp(this, 'open')) {\n this.setState({ sOpen: open });\n }\n\n if (open === false) {\n this.clearHoverValue();\n }\n this.$emit('openChange', open);\n },\n\n handleShowDateChange(showDate) {\n this.setState({ sShowDate: showDate });\n },\n\n handleHoverChange(hoverValue) {\n this.setState({ sHoverValue: hoverValue });\n },\n\n handleRangeMouseLeave() {\n if (this.sOpen) {\n this.clearHoverValue();\n }\n },\n\n handleCalendarInputSelect(value) {\n const [start] = value;\n if (!start) {\n return;\n }\n this.setState(({ sShowDate }) => ({\n sValue: value,\n sShowDate: getShowDateFromValue(value) || sShowDate,\n }));\n },\n\n handleRangeClick(value) {\n if (typeof value === 'function') {\n value = value();\n }\n\n this.setValue(value, true);\n this.$emit('ok', value);\n this.$emit('openChange', false);\n },\n\n onMouseEnter(e) {\n this.$emit('mouseenter', e);\n },\n onMouseLeave(e) {\n this.$emit('mouseleave', e);\n },\n\n focus() {\n this.$refs.picker.focus();\n },\n\n blur() {\n this.$refs.picker.blur();\n },\n\n renderFooter() {\n const { ranges, $scopedSlots, $slots } = this;\n const { _prefixCls: prefixCls, _tagPrefixCls: tagPrefixCls } = this;\n const renderExtraFooter =\n this.renderExtraFooter || $scopedSlots.renderExtraFooter || $slots.renderExtraFooter;\n if (!ranges && !renderExtraFooter) {\n return null;\n }\n const customFooter = renderExtraFooter ? (\n <div class={`${prefixCls}-footer-extra`} key=\"extra\">\n {typeof renderExtraFooter === 'function' ? renderExtraFooter() : renderExtraFooter}\n </div>\n ) : null;\n const operations =\n ranges &&\n Object.keys(ranges).map(range => {\n const value = ranges[range];\n const hoverValue = typeof value === 'function' ? value.call(this) : value;\n return (\n <Tag\n key={range}\n prefixCls={tagPrefixCls}\n color=\"blue\"\n onClick={() => this.handleRangeClick(value)}\n onMouseenter={() => this.setState({ sHoverValue: hoverValue })}\n onMouseleave={this.handleRangeMouseLeave}\n >\n {range}\n </Tag>\n );\n });\n const rangeNode =\n operations && operations.length > 0 ? (\n <div class={`${prefixCls}-footer-extra ${prefixCls}-range-quick-selector`} key=\"range\">\n {operations}\n </div>\n ) : null;\n return [rangeNode, customFooter];\n },\n },\n\n render() {\n const props = getOptionProps(this);\n let suffixIcon = getComponentFromProp(this, 'suffixIcon');\n suffixIcon = Array.isArray(suffixIcon) ? suffixIcon[0] : suffixIcon;\n const {\n sValue: value,\n sShowDate: showDate,\n sHoverValue: hoverValue,\n sOpen: open,\n $scopedSlots,\n } = this;\n const listeners = getListeners(this);\n const {\n calendarChange = noop,\n ok = noop,\n focus = noop,\n blur = noop,\n panelChange = noop,\n } = listeners;\n const {\n prefixCls: customizePrefixCls,\n tagPrefixCls: customizeTagPrefixCls,\n popupStyle,\n disabledDate,\n disabledTime,\n showTime,\n showToday,\n ranges,\n locale,\n localeCode,\n format,\n separator,\n inputReadOnly,\n } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('calendar', customizePrefixCls);\n const tagPrefixCls = getPrefixCls('tag', customizeTagPrefixCls);\n this._prefixCls = prefixCls;\n this._tagPrefixCls = tagPrefixCls;\n\n const dateRender = props.dateRender || $scopedSlots.dateRender;\n fixLocale(value, localeCode);\n fixLocale(showDate, localeCode);\n\n const calendarClassName = classNames({\n [`${prefixCls}-time`]: showTime,\n [`${prefixCls}-range-with-ranges`]: ranges,\n });\n\n // 需要选择时间时,点击 ok 时才触发 onChange\n const pickerChangeHandler = {\n on: {\n change: this.handleChange,\n },\n };\n let calendarProps = {\n on: {\n ok: this.handleChange,\n },\n props: {},\n };\n if (props.timePicker) {\n pickerChangeHandler.on.change = changedValue => this.handleChange(changedValue);\n } else {\n calendarProps = { on: {}, props: {} };\n }\n if ('mode' in props) {\n calendarProps.props.mode = props.mode;\n }\n\n const startPlaceholder = Array.isArray(props.placeholder)\n ? props.placeholder[0]\n : locale.lang.rangePlaceholder[0];\n const endPlaceholder = Array.isArray(props.placeholder)\n ? props.placeholder[1]\n : locale.lang.rangePlaceholder[1];\n\n const rangeCalendarProps = mergeProps(calendarProps, {\n props: {\n separator,\n format,\n prefixCls,\n renderFooter: this.renderFooter,\n timePicker: props.timePicker,\n disabledDate,\n disabledTime,\n dateInputPlaceholder: [startPlaceholder, endPlaceholder],\n locale: locale.lang,\n dateRender,\n value: showDate,\n hoverValue,\n showToday,\n inputReadOnly,\n },\n on: {\n change: calendarChange,\n ok,\n valueChange: this.handleShowDateChange,\n hoverChange: this.handleHoverChange,\n panelChange,\n inputSelect: this.handleCalendarInputSelect,\n },\n class: calendarClassName,\n scopedSlots: $scopedSlots,\n });\n const calendar = <RangeCalendar {...rangeCalendarProps} />;\n\n // default width for showTime\n const pickerStyle = {};\n if (props.showTime) {\n pickerStyle.width = '350px';\n }\n const [startValue, endValue] = value;\n const clearIcon =\n !props.disabled && props.allowClear && value && (startValue || endValue) ? (\n <Icon\n type=\"close-circle\"\n class={`${prefixCls}-picker-clear`}\n onClick={this.clearSelection}\n theme=\"filled\"\n />\n ) : null;\n\n const inputIcon = <InputIcon suffixIcon={suffixIcon} prefixCls={prefixCls} />;\n\n const input = ({ value: inputValue }) => {\n const [start, end] = inputValue;\n return (\n <span class={props.pickerInputClass}>\n <input\n disabled={props.disabled}\n readOnly\n value={formatDate(start, props.format)}\n placeholder={startPlaceholder}\n class={`${prefixCls}-range-picker-input`}\n tabIndex={-1}\n />\n <span class={`${prefixCls}-range-picker-separator`}> {separator} </span>\n <input\n disabled={props.disabled}\n readOnly\n value={formatDate(end, props.format)}\n placeholder={endPlaceholder}\n class={`${prefixCls}-range-picker-input`}\n tabIndex={-1}\n />\n {clearIcon}\n {inputIcon}\n </span>\n );\n };\n const vcDatePickerProps = mergeProps(\n {\n props,\n on: listeners,\n },\n pickerChangeHandler,\n {\n props: {\n calendar,\n value,\n open,\n prefixCls: `${prefixCls}-picker-container`,\n },\n on: {\n openChange: this.handleOpenChange,\n },\n style: popupStyle,\n scopedSlots: { default: input, ...$scopedSlots },\n },\n );\n return (\n <span\n ref=\"picker\"\n class={props.pickerClass}\n style={pickerStyle}\n tabIndex={props.disabled ? -1 : 0}\n onFocus={focus}\n onBlur={blur}\n onMouseenter={this.onMouseEnter}\n onMouseleave={this.onMouseLeave}\n >\n <VcDatePicker {...vcDatePickerProps} />\n </span>\n );\n },\n};\n","import * as moment from 'moment';\nimport Calendar from '../vc-calendar';\nimport VcDatePicker from '../vc-calendar/src/Picker';\nimport Icon from '../icon';\nimport { ConfigConsumerProps } from '../config-provider';\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';\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';\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';\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.string,\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';\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';\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.string,\n /** built-in validation type, available options: https://github.com/yiminghe/async-validator#type */\n type: PropTypes.string,\n /** indicates whether field is required */\n required: PropTypes.boolean,\n /** treat required fields that only contain whitespace as errors */\n whitespace: PropTypes.boolean,\n /** validate the exact length of a field */\n len: PropTypes.number,\n /** validate the min length of a field */\n min: PropTypes.number,\n /** validate the max length of a field */\n max: PropTypes.number,\n /** validate the value from a list of possible values */\n enum: PropTypes.oneOfType([String, PropTypes.arrayOf(String)]),\n /** validate from a regular expression */\n pattern: PropTypes.custom(isRegExp),\n /** transform a value before validation */\n transform: PropTypes.func,\n /** custom validate function (Note: callback must be called) */\n validator: PropTypes.func,\n};\n\nconst Form = {\n name: 'AFormModel',\n props: initDefaultProps(FormProps, {\n layout: 'horizontal',\n hideRequiredMark: false,\n colon: true,\n }),\n Item: FormItem,\n created() {\n this.fields = [];\n },\n provide() {\n return {\n FormContext: this,\n };\n },\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n watch: {\n rules() {\n if (this.validateOnRuleChange) {\n this.validate(() => {});\n }\n },\n },\n computed: {\n vertical() {\n return this.layout === 'vertical';\n },\n },\n methods: {\n addField(field) {\n if (field) {\n this.fields.push(field);\n }\n },\n removeField(field) {\n if (field.prop) {\n this.fields.splice(this.fields.indexOf(field), 1);\n }\n },\n onSubmit(e) {\n if (!getListeners(this).submit) {\n e.preventDefault();\n } else {\n this.$emit('submit', e);\n }\n },\n resetFields() {\n if (!this.model) {\n warning(false, 'FormModel', 'model is required for resetFields to work.');\n return;\n }\n this.fields.forEach(field => {\n field.resetField();\n });\n },\n clearValidate(props = []) {\n const fields = props.length\n ? typeof props === 'string'\n ? this.fields.filter(field => props === field.prop)\n : this.fields.filter(field => props.indexOf(field.prop) > -1)\n : this.fields;\n fields.forEach(field => {\n field.clearValidate();\n });\n },\n validate(callback) {\n if (!this.model) {\n warning(false, 'FormModel', 'model is required for resetFields to work.');\n return;\n }\n let promise;\n // if no callback, return promise\n if (typeof callback !== 'function' && window.Promise) {\n promise = new window.Promise((resolve, reject) => {\n callback = function(valid) {\n valid ? resolve(valid) : reject(valid);\n };\n });\n }\n let valid = true;\n let count = 0;\n // 如果需要验证的fields为空,调用验证时立刻返回callback\n if (this.fields.length === 0 && callback) {\n callback(true);\n }\n let invalidFields = {};\n this.fields.forEach(field => {\n field.validate('', (message, field) => {\n if (message) {\n valid = false;\n }\n invalidFields = Object.assign({}, invalidFields, field);\n if (typeof callback === 'function' && ++count === this.fields.length) {\n callback(valid, invalidFields);\n }\n });\n });\n if (promise) {\n return promise;\n }\n },\n validateField(props, cb) {\n props = [].concat(props);\n const fields = this.fields.filter(field => props.indexOf(field.prop) !== -1);\n if (!fields.length) {\n warning(false, 'FormModel', 'please pass correct props!');\n return;\n }\n fields.forEach(field => {\n field.validate('', cb);\n });\n },\n },\n\n render() {\n const { prefixCls: customizePrefixCls, hideRequiredMark, layout, onSubmit, $slots } = this;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('form', customizePrefixCls);\n\n const formClassName = classNames(prefixCls, {\n [`${prefixCls}-horizontal`]: layout === 'horizontal',\n [`${prefixCls}-vertical`]: layout === 'vertical',\n [`${prefixCls}-inline`]: layout === 'inline',\n [`${prefixCls}-hide-required-mark`]: hideRequiredMark,\n });\n return (\n <form onSubmit={onSubmit} class={formClassName}>\n {$slots.default}\n </form>\n );\n },\n};\n\nexport default Form;\n","import Vue from 'vue';\nimport Form from './Form';\nimport ref from 'vue-ref';\nimport FormDecoratorDirective from '../_util/FormDecoratorDirective';\nimport Base from '../base';\n\nVue.use(ref, { name: 'ant-ref' });\nVue.use(FormDecoratorDirective);\n\nexport { FormProps, ValidationRule } from './Form';\nexport { FormItemProps } from './FormItem';\n\n/* istanbul ignore next */\nForm.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Form.name, Form);\n Vue.component(Form.Item.name, Form.Item);\n};\n\nexport default Form;\n","import PropTypes from '../../_util/vue-types';\n\nexport const ITouchProps = {\n disabled: PropTypes.bool,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.any,\n // onTouchStart: PropTypes.func,\n // onTouchEnd: PropTypes.func,\n // onTouchCancel: PropTypes.func,\n // onMouseDown: PropTypes.func,\n // onMouseUp: PropTypes.func,\n // onMouseLeave: PropTypes.func,\n};\n","// based on 2.0.0\nimport TouchFeedback from './src/TouchFeedback';\nexport default TouchFeedback;\n","import { initDefaultProps } from '../../_util/props-util';\nimport { cloneElement } from '../../_util/vnode';\nimport warning from '../../_util/warning';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { ITouchProps } from './PropTypes';\n\nexport default {\n name: 'TouchFeedback',\n mixins: [BaseMixin],\n props: initDefaultProps(ITouchProps, {\n disabled: false,\n }),\n data() {\n return {\n active: false,\n };\n },\n mounted() {\n this.$nextTick(() => {\n if (this.disabled && this.active) {\n this.setState({\n active: false,\n });\n }\n });\n },\n methods: {\n triggerEvent(type, isActive, ev) {\n // 暂时仅有input-number用到,事件直接到挂载到Touchable上,不需要像antd那样从子组件触发\n this.$emit(type, ev);\n if (isActive !== this.active) {\n this.setState({\n active: isActive,\n });\n }\n },\n onTouchStart(e) {\n this.triggerEvent('touchstart', true, e);\n },\n onTouchMove(e) {\n this.triggerEvent('touchmove', false, e);\n },\n onTouchEnd(e) {\n this.triggerEvent('touchend', false, e);\n },\n onTouchCancel(e) {\n this.triggerEvent('touchcancel', false, e);\n },\n onMouseDown(e) {\n // pc simulate mobile\n this.triggerEvent('mousedown', true, e);\n },\n onMouseUp(e) {\n this.triggerEvent('mouseup', false, e);\n },\n onMouseLeave(e) {\n this.triggerEvent('mouseleave', false, e);\n },\n },\n render() {\n const { disabled, activeClassName = '', activeStyle = {} } = this.$props;\n\n const child = this.$slots.default;\n if (child.length !== 1) {\n warning(false, 'm-feedback组件只能包含一个子元素');\n return null;\n }\n let childProps = {\n on: disabled\n ? {}\n : {\n touchstart: this.onTouchStart,\n touchmove: this.onTouchMove,\n touchend: this.onTouchEnd,\n touchcancel: this.onTouchCancel,\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp,\n mouseleave: this.onMouseLeave,\n },\n };\n\n if (!disabled && this.active) {\n childProps = {\n ...childProps,\n ...{\n style: activeStyle,\n class: activeClassName,\n },\n };\n }\n\n return cloneElement(child, childProps);\n },\n};\n","import PropTypes from '../../_util/vue-types';\nimport Touchable from '../../vc-m-feedback';\nimport { getListeners } from '../../_util/props-util';\n\nconst InputHandler = {\n name: 'InputHandler',\n props: {\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n },\n render() {\n const { prefixCls, disabled } = this.$props;\n const touchableProps = {\n props: {\n disabled,\n activeClassName: `${prefixCls}-handler-active`,\n },\n on: getListeners(this),\n };\n return (\n <Touchable {...touchableProps}>\n <span>{this.$slots.default}</span>\n </Touchable>\n );\n },\n};\n\nexport default InputHandler;\n","// based on rc-input-number 4.5.5\nimport PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport { initDefaultProps, hasProp, getOptionProps, getListeners } from '../../_util/props-util';\nimport classNames from 'classnames';\nimport KeyCode from '../../_util/KeyCode';\nimport InputHandler from './InputHandler';\n\nfunction noop() {}\n\nfunction preventDefault(e) {\n e.preventDefault();\n}\n\nfunction defaultParser(input) {\n return input.replace(/[^\\w\\.-]+/g, '');\n}\n\n/**\n * When click and hold on a button - the speed of auto changin the value.\n */\nconst SPEED = 200;\n\n/**\n * When click and hold on a button - the delay before auto changin the value.\n */\nconst DELAY = 600;\n\n/**\n * Max Safe Integer -- on IE this is not available, so manually set the number in that case.\n * The reason this is used, instead of Infinity is because numbers above the MSI are unstable\n */\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || Math.pow(2, 53) - 1;\n\nconst isValidProps = value => value !== undefined && value !== null;\n\nconst isEqual = (oldValue, newValue) =>\n newValue === oldValue ||\n (typeof newValue === 'number' &&\n typeof oldValue === 'number' &&\n isNaN(newValue) &&\n isNaN(oldValue));\n\nconst inputNumberProps = {\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n defaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n focusOnUpDown: PropTypes.bool,\n autoFocus: PropTypes.bool,\n // onChange: PropTypes.func,\n // onKeyDown: PropTypes.func,\n // onKeyUp: PropTypes.func,\n prefixCls: PropTypes.string,\n tabIndex: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n placeholder: PropTypes.string,\n disabled: PropTypes.bool,\n // onFocus: PropTypes.func,\n // onBlur: PropTypes.func,\n readOnly: PropTypes.bool,\n max: PropTypes.number,\n min: PropTypes.number,\n step: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n upHandler: PropTypes.any,\n downHandler: PropTypes.any,\n useTouch: PropTypes.bool,\n formatter: PropTypes.func,\n parser: PropTypes.func,\n // onMouseEnter: PropTypes.func,\n // onMouseLeave: PropTypes.func,\n // onMouseOver: PropTypes.func,\n // onMouseOut: PropTypes.func,\n precision: PropTypes.number,\n required: PropTypes.bool,\n pattern: PropTypes.string,\n decimalSeparator: PropTypes.string,\n autoComplete: PropTypes.string,\n title: PropTypes.string,\n name: PropTypes.string,\n id: PropTypes.string,\n};\n\nexport default {\n name: 'VCInputNumber',\n mixins: [BaseMixin],\n model: {\n prop: 'value',\n event: 'change',\n },\n props: initDefaultProps(inputNumberProps, {\n focusOnUpDown: true,\n useTouch: false,\n prefixCls: 'rc-input-number',\n min: -MAX_SAFE_INTEGER,\n step: 1,\n parser: defaultParser,\n required: false,\n autoComplete: 'off',\n }),\n data() {\n const props = getOptionProps(this);\n this.prevProps = { ...props };\n let value;\n if ('value' in props) {\n value = this.value;\n } else {\n value = this.defaultValue;\n }\n const validValue = this.getValidValue(this.toNumber(value));\n return {\n inputValue: this.toPrecisionAsStep(validValue),\n sValue: validValue,\n focused: this.autoFocus,\n };\n },\n mounted() {\n this.$nextTick(() => {\n if (this.autoFocus && !this.disabled) {\n this.focus();\n }\n this.updatedFunc();\n });\n },\n updated() {\n const { value, max, min } = this.$props;\n const { focused } = this.$data;\n const { prevProps } = this;\n const props = getOptionProps(this);\n // Don't trigger in componentDidMount\n if (prevProps) {\n if (\n !isEqual(prevProps.value, value) ||\n !isEqual(prevProps.max, max) ||\n !isEqual(prevProps.min, min)\n ) {\n const validValue = focused ? value : this.getValidValue(value);\n let nextInputValue;\n if (this.pressingUpOrDown) {\n nextInputValue = validValue;\n } else if (this.inputting) {\n nextInputValue = this.rawInput;\n } else {\n nextInputValue = this.toPrecisionAsStep(validValue);\n }\n this.setState({\n // eslint-disable-line\n sValue: validValue,\n inputValue: nextInputValue,\n });\n }\n\n // Trigger onChange when max or min change\n // https://github.com/ant-design/ant-design/issues/11574\n const nextValue = 'value' in props ? value : this.sValue;\n // ref: null < 20 === true\n // https://github.com/ant-design/ant-design/issues/14277\n if (\n 'max' in props &&\n prevProps.max !== max &&\n typeof nextValue === 'number' &&\n nextValue > max\n ) {\n this.$emit('change', max);\n }\n if (\n 'min' in props &&\n prevProps.min !== min &&\n typeof nextValue === 'number' &&\n nextValue < min\n ) {\n this.$emit('change', min);\n }\n }\n this.prevProps = { ...props };\n this.$nextTick(() => {\n this.updatedFunc();\n });\n },\n beforeDestroy() {\n this.stop();\n },\n methods: {\n updatedFunc() {\n const inputElem = this.$refs.inputRef;\n // Restore cursor\n try {\n // Firefox set the input cursor after it get focused.\n // This caused that if an input didn't init with the selection,\n // set will cause cursor not correct when first focus.\n // Safari will focus input if set selection. We need skip this.\n if (this.cursorStart !== undefined && this.focused) {\n // In most cases, the string after cursor is stable.\n // We can move the cursor before it\n\n if (\n // If not match full str, try to match part of str\n !this.partRestoreByAfter(this.cursorAfter) &&\n this.sValue !== this.value\n ) {\n // If not match any of then, let's just keep the position\n // TODO: Logic should not reach here, need check if happens\n let pos = this.cursorStart + 1;\n\n // If not have last string, just position to the end\n if (!this.cursorAfter) {\n pos = inputElem.value.length;\n } else if (this.lastKeyCode === KeyCode.BACKSPACE) {\n pos = this.cursorStart - 1;\n } else if (this.lastKeyCode === KeyCode.DELETE) {\n pos = this.cursorStart;\n }\n this.fixCaret(pos, pos);\n } else if (this.currentValue === inputElem.value) {\n // Handle some special key code\n switch (this.lastKeyCode) {\n case KeyCode.BACKSPACE:\n this.fixCaret(this.cursorStart - 1, this.cursorStart - 1);\n break;\n case KeyCode.DELETE:\n this.fixCaret(this.cursorStart + 1, this.cursorStart + 1);\n break;\n default:\n // Do nothing\n }\n }\n }\n } catch (e) {\n // Do nothing\n }\n // Reset last key\n this.lastKeyCode = null;\n\n // pressingUpOrDown is true means that someone just click up or down button\n if (!this.pressingUpOrDown) {\n return;\n }\n if (this.focusOnUpDown && this.focused) {\n if (document.activeElement !== inputElem) {\n this.focus();\n }\n }\n\n this.pressingUpOrDown = false;\n },\n onKeyDown(e, ...args) {\n if (e.keyCode === KeyCode.UP) {\n const ratio = this.getRatio(e);\n this.up(e, ratio);\n this.stop();\n } else if (e.keyCode === KeyCode.DOWN) {\n const ratio = this.getRatio(e);\n this.down(e, ratio);\n this.stop();\n } else if (e.keyCode === KeyCode.ENTER) {\n this.$emit('pressEnter', e);\n }\n // Trigger user key down\n this.recordCursorPosition();\n this.lastKeyCode = e.keyCode;\n this.$emit('keydown', e, ...args);\n },\n onKeyUp(e, ...args) {\n this.stop();\n\n this.recordCursorPosition();\n\n this.$emit('keyup', e, ...args);\n },\n 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 },\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.onChange}\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';\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 } = getOptionProps(this);\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';\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';\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';\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';\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';\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';\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 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';\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';\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 };\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';\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';\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';\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 maxSteps = Math.floor((max - min) / step);\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';\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';\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';\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';\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 { connect } from '../../_util/store';\nimport { mergeProps } from '../../_util/props-util';\n\nconst TableHeaderRow = {\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 height: PropTypes.any,\n customHeaderRow: PropTypes.func,\n prefixCls: PropTypes.prefixCls,\n },\n name: 'TableHeaderRow',\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\nfunction getRowHeight(state, props) {\n const { fixedColumnsHeadRowsHeight } = state;\n const { columns, rows, fixed } = 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\nexport default connect((state, props) => {\n return {\n height: getRowHeight(state, props),\n };\n})(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 { connect } from '../../_util/store';\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 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 height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\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 hovered: PropTypes.bool.isRequired,\n visible: PropTypes.bool.isRequired,\n store: PropTypes.object.isRequired,\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 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(val) {\n if (val) {\n this.shouldRender = true;\n }\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.getState();\n const height = this.rowRef.getBoundingClientRect().height;\n expandedRowsHeight = {\n ...expandedRowsHeight,\n [rowKey]: height,\n };\n store.setState({ expandedRowsHeight });\n },\n\n setRowHeight() {\n const { store, rowKey } = this;\n const { fixedColumnsBodyRowsHeight } = store.getState();\n const height = this.rowRef.getBoundingClientRect().height;\n store.setState({\n fixedColumnsBodyRowsHeight: {\n ...fixedColumnsBodyRowsHeight,\n [rowKey]: height,\n },\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\nfunction getRowHeight(state, props) {\n const { expandedRowsHeight, fixedColumnsBodyRowsHeight } = state;\n const { fixed, rowKey } = 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\nexport default connect((state, props) => {\n const { currentHoverKey, expandedRowKeys } = state;\n const { rowKey, ancestorKeys } = props;\n const visible = ancestorKeys.length === 0 || ancestorKeys.every(k => expandedRowKeys.includes(k));\n\n return {\n visible,\n hovered: currentHoverKey === rowKey,\n height: getRowHeight(state, props),\n };\n})(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';\nimport { connect } from '../../_util/store';\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 expanded: PropTypes.bool.isRequired,\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\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 connect(({ expandedRowKeys }, { rowKey }) => ({\n expanded: expandedRowKeys.includes(rowKey),\n}))(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';\nimport { connect } from '../../_util/store';\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 store: PropTypes.object.isRequired,\n expander: PropTypes.object.isRequired,\n getRowKey: PropTypes.func,\n isAnyColumnsFixed: PropTypes.bool,\n },\n inject: {\n table: { 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.setState({\n currentHoverKey: isHover ? key : null,\n });\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 connect()(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 { connect } from '../../_util/store';\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 store: 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\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.setState({\n expandedRowsHeight: {},\n expandedRowKeys: finalExpandedRowKeys,\n });\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.setState({\n expandedRowKeys: val,\n });\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.getState();\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.setState({ 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 }\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.getState();\n const expanded = expandedRowKeys.includes(parentKey);\n return {\n attrs: {\n colSpan: colCount,\n },\n children:\n fixed !== 'right' ? expandedRowRender(record, index, indent, expanded) : '&nbsp;',\n };\n },\n },\n ];\n if (expandIconAsCell && fixed !== 'right') {\n columns.unshift({\n key: 'expand-icon-placeholder',\n customRender: () => null,\n });\n }\n\n return (\n <TableRow\n key={rowKey}\n columns={columns}\n class={className}\n rowKey={rowKey}\n ancestorKeys={ancestorKeys}\n prefixCls={`${prefixCls}-expanded-row`}\n indentSize={indentSize}\n indent={indent}\n fixed={fixed}\n components={components}\n expandedRow\n hasExpandIcon={() => {}}\n />\n );\n },\n\n renderRows(renderRows, rows, record, index, indent, fixed, parentKey, ancestorKeys) {\n const { expandedRowClassName, expandedRowRender, childrenColumnName } = this;\n const childrenData = record[childrenColumnName];\n const nextAncestorKeys = [...ancestorKeys, parentKey];\n const nextIndent = indent + 1;\n\n if (expandedRowRender) {\n rows.push(\n this.renderExpandedRow(\n record,\n index,\n expandedRowRender,\n expandedRowClassName(record, index, indent),\n nextAncestorKeys,\n nextIndent,\n fixed,\n ),\n );\n }\n\n if (childrenData) {\n rows.push(...renderRows(childrenData, nextIndent, nextAncestorKeys));\n }\n },\n },\n\n render() {\n const { data, childrenColumnName, $scopedSlots } = this;\n const props = getOptionProps(this);\n const needIndentSpaced = data.some(record => record[childrenColumnName]);\n\n return (\n $scopedSlots.default &&\n $scopedSlots.default({\n props,\n on: getListeners(this),\n needIndentSpaced,\n renderRows: this.renderRows,\n handleExpandChange: this.handleExpandChange,\n renderExpandIndentCell: this.renderExpandIndentCell,\n })\n );\n },\n};\n\nexport default connect()(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 { Provider, create } from '../../_util/store';\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';\n\nexport default {\n name: 'Table',\n mixins: [BaseMixin],\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 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.columnManager = new ColumnManager(this.columns, this.$slots.default)\n\n this.store = create({\n currentHoverKey: null,\n fixedColumnsHeadRowsHeight: [],\n fixedColumnsBodyRowsHeight: {},\n });\n\n this.setScrollPosition('left');\n\n this.debouncedWindowResize = debounce(this.handleWindowResize, 150);\n },\n provide() {\n return {\n table: this,\n };\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.getState();\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.setState({\n fixedColumnsHeadRowsHeight,\n fixedColumnsBodyRowsHeight,\n });\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 (\n <Provider store={this.store}>\n <ExpandableTable {...expandableTableProps} />\n </Provider>\n );\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';\nexport const Store = PropTypes.shape({\n setState: PropTypes.func,\n getState: PropTypes.func,\n subscribe: PropTypes.func,\n}).loose;\n\nimport create from '../_util/store/create';\nconst createStore = create;\n\nexport default createStore;\n","import PropTypes from '../_util/vue-types';\nimport { PaginationProps as getPaginationProps } from '../pagination';\nimport { SpinProps as getSpinProps } from '../spin';\nimport { Store } from './createStore';\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: Store,\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: Store,\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 data() {\n return {\n checked: this.getCheckState(this.$props),\n };\n },\n\n mounted() {\n this.subscribe();\n },\n\n beforeDestroy() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n },\n methods: {\n getCheckState(props) {\n const { store, defaultSelection, rowIndex } = props;\n let checked = false;\n if (store.getState().selectionDirty) {\n checked = store.getState().selectedRowKeys.indexOf(rowIndex) >= 0;\n } else {\n checked =\n store.getState().selectedRowKeys.indexOf(rowIndex) >= 0 ||\n defaultSelection.indexOf(rowIndex) >= 0;\n }\n return checked;\n },\n subscribe() {\n const { store } = this;\n this.unsubscribe = store.subscribe(() => {\n const checked = this.getCheckState(this.$props);\n this.setState({ checked });\n });\n },\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.getState().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.getState().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.getState().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\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 },\n },\n\n mounted() {\n this.subscribe();\n },\n\n beforeDestroy() {\n if (this.unsubscribe) {\n this.unsubscribe();\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](\n (item, i) => store.getState().selectedRowKeys.indexOf(getRecordKey(item, i)) >= 0,\n );\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 subscribe() {\n const { store } = this;\n this.unsubscribe = store.subscribe(() => {\n this.setCheckState(this.$props);\n });\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 title: PropTypes.any,\n },\n __ANT_TABLE_COLUMN_GROUP: true,\n};\n","import PropTypes from '../_util/vue-types';\n\nimport { Store } from './createStore';\nimport { getListeners } from '../_util/props-util';\n\nconst BodyRowProps = {\n store: Store,\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 data() {\n const { selectedRowKeys } = this.store.getState();\n\n return {\n selected: selectedRowKeys.indexOf(this.rowKey) >= 0,\n };\n },\n\n mounted() {\n this.subscribe();\n },\n\n beforeDestroy() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n },\n methods: {\n subscribe() {\n const { store, rowKey } = this;\n this.unsubscribe = store.subscribe(() => {\n const { selectedRowKeys } = this.store.getState();\n const selected = selectedRowKeys.indexOf(rowKey) >= 0;\n if (selected !== this.selected) {\n this.selected = selected;\n }\n });\n },\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 createStore from './createStore';\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';\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';\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 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 inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n // CheckboxPropsCache: {\n // [key: string]: any;\n // };\n // store: Store;\n // columns: ColumnProps<T>[];\n // components: TableComponents;\n\n data() {\n // this.columns = props.columns || normalizeColumns(props.children)\n const props = getOptionProps(this);\n warning(\n !props.expandedRowRender || !('scroll' in props),\n '`expandedRowRender` and `scroll` are not compatible. Please use one of them at one time.',\n );\n this.CheckboxPropsCache = {};\n\n this.store = createStore({\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.setState({\n selectedRowKeys: val.selectedRowKeys || [],\n });\n const { rowSelection } = this;\n if (rowSelection && val.getCheckboxProps !== rowSelection.getCheckboxProps) {\n this.CheckboxPropsCache = {};\n }\n } else if (oldVal && !val) {\n this.store.setState({\n selectedRowKeys: [],\n });\n }\n },\n deep: true,\n },\n\n dataSource() {\n this.store.setState({\n selectionDirty: false,\n });\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 },\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.setState({ 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.setState({\n selectionDirty: false,\n });\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.getState().selectionDirty\n ? []\n : this.getDefaultSelection();\n let selectedRowKeys = this.store.getState().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.setState({\n selectionDirty: true,\n });\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.setState({\n selectionDirty: true,\n });\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.setState({\n selectionDirty: true,\n });\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.getState().selectionDirty\n ? []\n : this.getDefaultSelection();\n const selectedRowKeys = this.store.getState().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.setState({\n selectionDirty: true,\n });\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.setState({\n selectionDirty: false,\n });\n this.$emit(\n 'change',\n ...this.prepareParamsArguments({\n ...this.$data,\n sSelectionDirty: false,\n sPagination: pagination,\n }),\n );\n },\n\n handleShowSizeChange(current, pageSize) {\n const pagination = this.sPagination;\n pagination.onShowSizeChange(current, pageSize);\n const nextPagination = {\n ...pagination,\n pageSize,\n current,\n };\n this.setState({ sPagination: nextPagination }, this.scrollToFirstRow);\n this.$emit(\n 'change',\n ...this.prepareParamsArguments({\n ...this.$data,\n sPagination: nextPagination,\n }),\n );\n },\n\n toggleSortOrder(column) {\n const sortDirections = column.sortDirections || this.sortDirections;\n const { sSortOrder: sortOrder, sSortColumn: sortColumn } = this;\n // 只同时允许一列进行排序,否则会导致排序顺序的逻辑问题\n let newSortOrder;\n // 切换另一列时,丢弃 sortOrder 的状态\n if (isSameColumn(sortColumn, column) && sortOrder !== undefined) {\n // 按照sortDirections的内容依次切换排序状态\n const methodIndex = sortDirections.indexOf(sortOrder) + 1;\n newSortOrder =\n methodIndex === sortDirections.length ? undefined : sortDirections[methodIndex];\n } else {\n newSortOrder = sortDirections[0];\n }\n const newState = {\n sSortOrder: newSortOrder,\n sSortColumn: newSortOrder ? column : null,\n };\n\n // Controlled\n if (this.getSortOrderColumns().length === 0) {\n this.setState(newState, this.scrollToFirstRow);\n }\n this.$emit(\n 'change',\n ...this.prepareParamsArguments(\n {\n ...this.$data,\n ...newState,\n },\n column,\n ),\n );\n },\n\n hasPagination(props) {\n return (props || this.$props).pagination !== false;\n },\n\n isSortColumn(column) {\n const { sSortColumn: sortColumn } = this;\n if (!column || !sortColumn) {\n return false;\n }\n return getColumnKey(sortColumn) === getColumnKey(column);\n },\n\n // Get pagination, filters, sorter\n prepareParamsArguments(state, column) {\n const pagination = { ...state.sPagination };\n // remove useless handle function in Table.onChange\n delete pagination.onChange;\n delete pagination.onShowSizeChange;\n const filters = state.sFilters;\n const sorter = {};\n let currentColumn = column;\n if (state.sSortColumn && state.sSortOrder) {\n currentColumn = state.sSortColumn;\n sorter.column = state.sSortColumn;\n sorter.order = state.sSortOrder;\n }\n\n if (currentColumn) {\n sorter.field = currentColumn.dataIndex;\n sorter.columnKey = getColumnKey(currentColumn);\n }\n\n const extra = {\n currentDataSource: this.getLocalData(state),\n };\n\n return [pagination, filters, sorter, extra];\n },\n\n findColumn(myKey) {\n let column;\n treeMap(this.columns, c => {\n if (getColumnKey(c) === myKey) {\n column = c;\n }\n });\n return column;\n },\n\n recursiveSort(data, sorterFn) {\n const { childrenColumnName = 'children' } = this;\n return data.sort(sorterFn).map(item =>\n item[childrenColumnName]\n ? {\n ...item,\n [childrenColumnName]: this.recursiveSort([...item[childrenColumnName]], sorterFn),\n }\n : item,\n );\n },\n renderExpandIcon(prefixCls) {\n return ({ expandable, expanded, needIndentSpaced, record, onExpand }) => {\n if (expandable) {\n return (\n <LocaleReceiver componentName=\"Table\" defaultLocale={defaultLocale.Table}>\n {locale => (\n <TransButton\n class={classNames(`${prefixCls}-row-expand-icon`, {\n [`${prefixCls}-row-collapsed`]: !expanded,\n [`${prefixCls}-row-expanded`]: expanded,\n })}\n onClick={event => {\n onExpand(record, event);\n }}\n aria-label={expanded ? locale.collapse : locale.expand}\n noStyle\n />\n )}\n </LocaleReceiver>\n );\n }\n\n if (needIndentSpaced) {\n return <span class={`${prefixCls}-row-expand-icon ${prefixCls}-row-spaced`} />;\n }\n\n return null;\n };\n },\n renderPagination(prefixCls, paginationPosition) {\n // 强制不需要分页\n if (!this.hasPagination()) {\n return null;\n }\n let size = 'default';\n const { sPagination: pagination } = this;\n if (pagination.size) {\n size = pagination.size;\n } else if (this.size === 'middle' || this.size === 'small') {\n size = 'small';\n }\n const position = pagination.position || 'bottom';\n const total = pagination.total || this.filterDataCnt;\n const { class: cls, style, onChange, onShowSizeChange, ...restProps } = pagination; // eslint-disable-line\n const paginationProps = mergeProps({\n key: `pagination-${paginationPosition}`,\n class: classNames(cls, `${prefixCls}-pagination`),\n props: {\n ...restProps,\n total,\n size,\n current: this.getMaxCurrent(total),\n },\n style,\n on: {\n change: this.handlePageChange,\n showSizeChange: this.handleShowSizeChange,\n },\n });\n return total > 0 && (position === paginationPosition || position === 'both') ? (\n <Pagination {...paginationProps} />\n ) : null;\n },\n renderSelectionBox(type) {\n return (_, record, index) => {\n const rowKey = this.getRecordKey(record, index); // 从 1 开始\n const props = this.getCheckboxPropsByItem(record, index);\n const handleChange = e => {\n type === 'radio'\n ? this.handleRadioSelect(record, index, e)\n : this.handleSelect(record, index, e);\n };\n const selectionBoxProps = mergeProps(\n {\n props: {\n type,\n store: this.store,\n rowIndex: rowKey,\n defaultSelection: this.getDefaultSelection(),\n },\n on: {\n change: handleChange,\n },\n },\n props,\n );\n\n return (\n <span onClick={stopPropagation}>\n <SelectionBox {...selectionBoxProps} />\n </span>\n );\n };\n },\n\n renderRowSelection({ prefixCls, locale, getPopupContainer }) {\n const { rowSelection } = this;\n const columns = this.columns.concat();\n if (rowSelection) {\n const data = this.getFlatCurrentPageData().filter((item, index) => {\n if (rowSelection.getCheckboxProps) {\n return !this.getCheckboxPropsByItem(item, index).props.disabled;\n }\n return true;\n });\n const selectionColumnClass = classNames(`${prefixCls}-selection-column`, {\n [`${prefixCls}-selection-column-custom`]: rowSelection.selections,\n });\n const selectionColumn = {\n key: 'selection-column',\n customRender: this.renderSelectionBox(rowSelection.type),\n className: selectionColumnClass,\n fixed: rowSelection.fixed,\n width: rowSelection.columnWidth,\n title: rowSelection.columnTitle,\n [INTERNAL_COL_DEFINE]: {\n class: `${prefixCls}-selection-col`,\n },\n };\n if (rowSelection.type !== 'radio') {\n const checkboxAllDisabled = data.every(\n (item, index) => this.getCheckboxPropsByItem(item, index).props.disabled,\n );\n selectionColumn.title = selectionColumn.title || (\n <SelectionCheckboxAll\n store={this.store}\n locale={locale}\n data={data}\n getCheckboxPropsByItem={this.getCheckboxPropsByItem}\n getRecordKey={this.getRecordKey}\n disabled={checkboxAllDisabled}\n prefixCls={prefixCls}\n onSelect={this.handleSelectRow}\n selections={rowSelection.selections}\n hideDefaultSelections={rowSelection.hideDefaultSelections}\n getPopupContainer={this.generatePopupContainerFunc(getPopupContainer)}\n />\n );\n }\n if ('fixed' in rowSelection) {\n selectionColumn.fixed = rowSelection.fixed;\n } else if (columns.some(column => column.fixed === 'left' || column.fixed === true)) {\n selectionColumn.fixed = 'left';\n }\n if (columns[0] && columns[0].key === 'selection-column') {\n columns[0] = selectionColumn;\n } else {\n columns.unshift(selectionColumn);\n }\n }\n return columns;\n },\n\n renderColumnsDropdown({ prefixCls, dropdownPrefixCls, columns, locale, getPopupContainer }) {\n const { sSortOrder: sortOrder, sFilters: filters } = this;\n return treeMap(columns, (column, i) => {\n const key = getColumnKey(column, i);\n let filterDropdown;\n let sortButton;\n let customHeaderCell = column.customHeaderCell;\n const isSortColumn = this.isSortColumn(column);\n if ((column.filters && column.filters.length > 0) || column.filterDropdown) {\n const colFilters = key in filters ? filters[key] : [];\n filterDropdown = (\n <FilterDropdown\n _propsSymbol={Symbol()}\n locale={locale}\n column={column}\n selectedKeys={colFilters}\n confirmFilter={this.handleFilter}\n prefixCls={`${prefixCls}-filter`}\n dropdownPrefixCls={dropdownPrefixCls || 'ant-dropdown'}\n getPopupContainer={this.generatePopupContainerFunc(getPopupContainer)}\n key=\"filter-dropdown\"\n />\n );\n }\n if (column.sorter) {\n const sortDirections = column.sortDirections || this.sortDirections;\n const isAscend = isSortColumn && sortOrder === 'ascend';\n const isDescend = isSortColumn && sortOrder === 'descend';\n const ascend = sortDirections.indexOf('ascend') !== -1 && (\n <Icon\n class={`${prefixCls}-column-sorter-up ${isAscend ? 'on' : 'off'}`}\n type=\"caret-up\"\n theme=\"filled\"\n key=\"caret-up\"\n />\n );\n\n const descend = sortDirections.indexOf('descend') !== -1 && (\n <Icon\n class={`${prefixCls}-column-sorter-down ${isDescend ? 'on' : 'off'}`}\n type=\"caret-down\"\n theme=\"filled\"\n key=\"caret-down\"\n />\n );\n\n sortButton = (\n <div\n title={locale.sortTitle}\n class={classNames(\n `${prefixCls}-column-sorter-inner`,\n ascend && descend && `${prefixCls}-column-sorter-inner-full`,\n )}\n key=\"sorter\"\n >\n {ascend}\n {descend}\n </div>\n );\n customHeaderCell = col => {\n let colProps = {};\n // Get original first\n if (column.customHeaderCell) {\n colProps = {\n ...column.customHeaderCell(col),\n };\n }\n colProps.on = colProps.on || {};\n // Add sorter logic\n const onHeaderCellClick = colProps.on.click;\n colProps.on.click = (...args) => {\n this.toggleSortOrder(column);\n if (onHeaderCellClick) {\n onHeaderCellClick(...args);\n }\n };\n return colProps;\n };\n }\n return {\n ...column,\n className: classNames(column.className, {\n [`${prefixCls}-column-has-actions`]: sortButton || filterDropdown,\n [`${prefixCls}-column-has-filters`]: filterDropdown,\n [`${prefixCls}-column-has-sorters`]: sortButton,\n [`${prefixCls}-column-sort`]: isSortColumn && sortOrder,\n }),\n title: [\n <span key=\"title\" class={`${prefixCls}-header-column`}>\n <div class={sortButton ? `${prefixCls}-column-sorters` : undefined}>\n <span class={`${prefixCls}-column-title`}>\n {this.renderColumnTitle(column.title)}\n </span>\n <span class={`${prefixCls}-column-sorter`}>{sortButton}</span>\n </div>\n </span>,\n filterDropdown,\n ],\n customHeaderCell,\n };\n });\n },\n renderColumnTitle(title) {\n const { sFilters: filters, sSortOrder: sortOrder, sSortColumn: sortColumn } = this.$data;\n // https://github.com/ant-design/ant-design/issues/11246#issuecomment-405009167\n if (title instanceof Function) {\n return title({\n filters,\n sortOrder,\n sortColumn,\n });\n }\n return title;\n },\n\n renderTable({\n prefixCls,\n renderEmpty,\n dropdownPrefixCls,\n contextLocale,\n getPopupContainer: contextGetPopupContainer,\n transformCellText,\n }) {\n const { showHeader, locale, getPopupContainer, ...restProps } = getOptionProps(this);\n const data = this.getCurrentPageData();\n const expandIconAsCell = this.expandedRowRender && this.expandIconAsCell !== false;\n\n // use props.getPopupContainer first\n const realGetPopupContainer = getPopupContainer || contextGetPopupContainer;\n\n // Merge too locales\n const mergedLocale = { ...contextLocale, ...locale };\n if (!locale || !locale.emptyText) {\n mergedLocale.emptyText = renderEmpty(h, 'Table');\n }\n\n const classString = classNames({\n [`${prefixCls}-${this.size}`]: true,\n [`${prefixCls}-bordered`]: this.bordered,\n [`${prefixCls}-empty`]: !data.length,\n [`${prefixCls}-without-column-header`]: !showHeader,\n });\n\n const columnsWithRowSelection = this.renderRowSelection({\n prefixCls,\n locale: mergedLocale,\n getPopupContainer: realGetPopupContainer,\n });\n const columns = this.renderColumnsDropdown({\n columns: columnsWithRowSelection,\n prefixCls,\n dropdownPrefixCls,\n locale: mergedLocale,\n getPopupContainer: realGetPopupContainer,\n }).map((column, i) => {\n const newColumn = { ...column };\n newColumn.key = getColumnKey(newColumn, i);\n return newColumn;\n });\n\n let expandIconColumnIndex = columns[0] && columns[0].key === 'selection-column' ? 1 : 0;\n if ('expandIconColumnIndex' in restProps) {\n expandIconColumnIndex = restProps.expandIconColumnIndex;\n }\n const vcTableProps = {\n key: 'table',\n props: {\n expandIcon: this.renderExpandIcon(prefixCls),\n ...restProps,\n customRow: (record, index) => this.onRow(prefixCls, record, index),\n components: this.sComponents,\n prefixCls,\n data,\n columns,\n showHeader,\n expandIconColumnIndex,\n expandIconAsCell,\n emptyText: mergedLocale.emptyText,\n transformCellText,\n },\n on: getListeners(this),\n class: classString,\n ref: 'vcTable',\n };\n return <VcTable {...vcTableProps} />;\n },\n },\n\n render() {\n const {\n prefixCls: customizePrefixCls,\n dropdownPrefixCls: customizeDropdownPrefixCls,\n transformCellText: customizeTransformCellText,\n } = this;\n const data = this.getCurrentPageData();\n const {\n getPopupContainer: getContextPopupContainer,\n transformCellText: tct,\n } = this.configProvider;\n const getPopupContainer = this.getPopupContainer || getContextPopupContainer;\n const transformCellText = customizeTransformCellText || tct;\n let loading = this.loading;\n if (typeof loading === 'boolean') {\n loading = {\n props: {\n spinning: loading,\n },\n };\n } else {\n loading = {\n props: { ...loading },\n };\n }\n const getPrefixCls = this.configProvider.getPrefixCls;\n const renderEmpty = this.configProvider.renderEmpty;\n\n const prefixCls = getPrefixCls('table', customizePrefixCls);\n const dropdownPrefixCls = getPrefixCls('dropdown', customizeDropdownPrefixCls);\n\n const table = (\n <LocaleReceiver\n componentName=\"Table\"\n defaultLocale={defaultLocale.Table}\n children={locale =>\n this.renderTable({\n prefixCls,\n renderEmpty,\n dropdownPrefixCls,\n contextLocale: locale,\n getPopupContainer,\n transformCellText,\n })\n }\n />\n );\n\n // if there is no pagination or no data,\n // the height of spin should decrease by half of pagination\n const paginationPatchClass =\n this.hasPagination() && data && data.length !== 0\n ? `${prefixCls}-with-pagination`\n : `${prefixCls}-without-pagination`;\n const spinProps = {\n ...loading,\n class:\n loading.props && loading.props.spinning\n ? `${paginationPatchClass} ${prefixCls}-spin-holder`\n : '',\n };\n return (\n <div class={classNames(`${prefixCls}-wrapper`)}>\n <Spin {...spinProps}>\n {this.renderPagination(prefixCls, 'top')}\n {table}\n {this.renderPagination(prefixCls, 'bottom')}\n </Spin>\n </div>\n );\n },\n};\n","import T from './Table';\nimport ref from 'vue-ref';\nimport Vue from 'vue';\nimport {\n getOptionProps,\n getKey,\n getClass,\n getStyle,\n getEvents,\n getSlotOptions,\n camelize,\n getSlots,\n getListeners,\n} from '../_util/props-util';\nimport Base from '../base';\n\nVue.use(ref, { name: 'ant-ref' });\n\nconst Table = {\n name: 'ATable',\n Column: T.Column,\n ColumnGroup: T.ColumnGroup,\n props: T.props,\n methods: {\n normalize(elements = []) {\n const columns = [];\n elements.forEach(element => {\n if (!element.tag) {\n return;\n }\n const key = getKey(element);\n const style = getStyle(element);\n const cls = getClass(element);\n const props = getOptionProps(element);\n const events = getEvents(element);\n const listeners = {};\n Object.keys(events).forEach(e => {\n const k = `on-${e}`;\n listeners[camelize(k)] = events[e];\n });\n const { default: children, ...restSlots } = getSlots(element);\n const column = { ...restSlots, ...props, style, class: cls, ...listeners };\n if (key) {\n column.key = key;\n }\n if (getSlotOptions(element).__ANT_TABLE_COLUMN_GROUP) {\n column.children = this.normalize(typeof children === 'function' ? children() : children);\n } else {\n const customRender =\n element.data && element.data.scopedSlots && element.data.scopedSlots.default;\n column.customRender = column.customRender || customRender;\n }\n columns.push(column);\n });\n return columns;\n },\n updateColumns(cols = []) {\n const columns = [];\n const { $slots, $scopedSlots } = this;\n cols.forEach(col => {\n const { slots = {}, scopedSlots = {}, ...restProps } = col;\n const column = {\n ...restProps,\n };\n Object.keys(slots).forEach(key => {\n const name = slots[key];\n if (column[key] === undefined && $slots[name]) {\n column[key] = $slots[name].length === 1 ? $slots[name][0] : $slots[name];\n }\n });\n Object.keys(scopedSlots).forEach(key => {\n const name = scopedSlots[key];\n if (column[key] === undefined && $scopedSlots[name]) {\n column[key] = $scopedSlots[name];\n }\n });\n // if (slotScopeName && $scopedSlots[slotScopeName]) {\n // column.customRender = column.customRender || $scopedSlots[slotScopeName]\n // }\n if (col.children) {\n column.children = this.updateColumns(column.children);\n }\n columns.push(column);\n });\n return columns;\n },\n },\n render() {\n const { $slots, normalize, $scopedSlots } = this;\n const props = getOptionProps(this);\n const columns = props.columns ? this.updateColumns(props.columns) : normalize($slots.default);\n let { title, footer } = props;\n const {\n title: slotTitle,\n footer: slotFooter,\n expandedRowRender = props.expandedRowRender,\n } = $scopedSlots;\n title = title || slotTitle;\n footer = footer || slotFooter;\n const tProps = {\n props: {\n ...props,\n columns,\n title,\n footer,\n expandedRowRender,\n },\n on: getListeners(this),\n };\n return <T {...tProps} />;\n },\n};\n/* istanbul ignore next */\nTable.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Table.name, Table);\n Vue.component(Table.Column.name, Table.Column);\n Vue.component(Table.ColumnGroup.name, Table.ColumnGroup);\n};\n\nexport default Table;\n","import PropTypes from '../_util/vue-types';\nimport { initDefaultProps, getOptionProps } from '../_util/props-util';\nimport Icon from '../icon';\nimport Input from '../input';\n\nexport const TransferSearchProps = {\n prefixCls: PropTypes.string,\n placeholder: PropTypes.string,\n value: PropTypes.any,\n handleClear: PropTypes.func,\n disabled: PropTypes.bool,\n};\n\nexport default {\n name: 'Search',\n props: initDefaultProps(TransferSearchProps, {\n placeholder: '',\n }),\n methods: {\n handleChange(e) {\n this.$emit('change', e);\n },\n handleClear2(e) {\n e.preventDefault();\n const { handleClear, disabled } = this.$props;\n if (!disabled && handleClear) {\n handleClear(e);\n }\n },\n },\n render() {\n const { placeholder, value, prefixCls, disabled } = getOptionProps(this);\n const icon =\n value && value.length > 0 ? (\n <a href=\"#\" class={`${prefixCls}-action`} onClick={this.handleClear2}>\n <Icon type=\"close-circle\" theme=\"filled\" />\n </a>\n ) : (\n <span class={`${prefixCls}-action`}>\n <Icon type=\"search\" />\n </span>\n );\n\n return (\n <div>\n <Input\n placeholder={placeholder}\n class={prefixCls}\n value={value}\n onChange={this.handleChange}\n disabled={disabled}\n />\n {icon}\n </div>\n );\n },\n};\n","const style = (element, prop) => {\n let styleVal = '';\n if (typeof getComputedStyle !== 'undefined') {\n styleVal = window.getComputedStyle(element, null).getPropertyValue(prop);\n } else {\n styleVal = element.style[prop];\n }\n return styleVal;\n};\n\nconst overflow = element =>\n style(element, 'overflow') + style(element, 'overflow-y') + style(element, 'overflow-x');\n\nconst scrollParent = element => {\n if (!(element instanceof window.HTMLElement)) {\n return window;\n }\n\n let parent = element;\n\n while (parent) {\n if (parent === document.body || parent === document.documentElement) {\n break;\n }\n\n if (!parent.parentNode) {\n break;\n }\n if (/(scroll|auto)/.test(overflow(parent))) {\n return parent;\n }\n\n parent = parent.parentNode;\n }\n\n return window;\n};\n\nexport default scrollParent;\n","/*\n * Finds element's position relative to the whole document,\n * rather than to the viewport as it is the case with .getBoundingClientRect().\n */\nexport default function getElementPosition(element) {\n const rect = element.getBoundingClientRect();\n\n return {\n top: rect.top + window.pageYOffset,\n left: rect.left + window.pageXOffset,\n };\n}\n","import PropTypes from '../../_util/vue-types';\nimport BaseMixin from '../../_util/BaseMixin';\nimport addEventListener from '../../vc-util/Dom/addEventListener';\nimport { initDefaultProps } from '../../_util/props-util';\nimport warning from '../../_util/warning';\nimport debounce from 'lodash/debounce';\nimport throttle from 'lodash/throttle';\nimport parentScroll from './utils/parentScroll';\nimport inViewport from './utils/inViewport';\n\nconst lazyLoadProps = {\n debounce: PropTypes.bool,\n elementType: PropTypes.string,\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n offset: PropTypes.number,\n offsetBottom: PropTypes.number,\n offsetHorizontal: PropTypes.number,\n offsetLeft: PropTypes.number,\n offsetRight: PropTypes.number,\n offsetTop: PropTypes.number,\n offsetVertical: PropTypes.number,\n threshold: PropTypes.number,\n throttle: PropTypes.number,\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n _propsSymbol: PropTypes.any,\n};\n\nexport default {\n name: 'LazyLoad',\n mixins: [BaseMixin],\n props: initDefaultProps(lazyLoadProps, {\n elementType: 'div',\n debounce: true,\n offset: 0,\n offsetBottom: 0,\n offsetHorizontal: 0,\n offsetLeft: 0,\n offsetRight: 0,\n offsetTop: 0,\n offsetVertical: 0,\n throttle: 250,\n }),\n data() {\n if (this.throttle > 0) {\n if (this.debounce) {\n this.lazyLoadHandler = debounce(this.lazyLoadHandler, this.throttle);\n } else {\n this.lazyLoadHandler = throttle(this.lazyLoadHandler, this.throttle);\n }\n }\n return {\n visible: false,\n };\n },\n watch: {\n _propsSymbol() {\n if (!this.visible) {\n this.lazyLoadHandler();\n }\n },\n },\n mounted() {\n this.$nextTick(() => {\n this._mounted = true;\n const eventNode = this.getEventNode();\n\n this.lazyLoadHandler();\n\n if (this.lazyLoadHandler.flush) {\n this.lazyLoadHandler.flush();\n }\n this.resizeHander = addEventListener(window, 'resize', this.lazyLoadHandler);\n this.scrollHander = addEventListener(eventNode, 'scroll', this.lazyLoadHandler);\n });\n },\n beforeDestroy() {\n this._mounted = false;\n if (this.lazyLoadHandler.cancel) {\n this.lazyLoadHandler.cancel();\n }\n\n this.detachListeners();\n },\n methods: {\n getEventNode() {\n return parentScroll(this.$el);\n },\n getOffset() {\n const {\n offset,\n offsetVertical,\n offsetHorizontal,\n offsetTop,\n offsetBottom,\n offsetLeft,\n offsetRight,\n threshold,\n } = this.$props;\n\n const _offsetAll = threshold || offset;\n const _offsetVertical = offsetVertical || _offsetAll;\n const _offsetHorizontal = offsetHorizontal || _offsetAll;\n\n return {\n top: offsetTop || _offsetVertical,\n bottom: offsetBottom || _offsetVertical,\n left: offsetLeft || _offsetHorizontal,\n right: offsetRight || _offsetHorizontal,\n };\n },\n lazyLoadHandler() {\n if (!this._mounted) {\n return;\n }\n const offset = this.getOffset();\n const node = this.$el;\n const eventNode = this.getEventNode();\n\n if (inViewport(node, eventNode, offset)) {\n this.setState({ visible: true }, () => {\n this.__emit('contentVisible');\n });\n this.detachListeners();\n }\n },\n detachListeners() {\n this.resizeHander && this.resizeHander.remove();\n this.scrollHander && this.scrollHander.remove();\n },\n },\n render(createElement) {\n const children = this.$slots.default;\n if (children.length !== 1) {\n warning(false, 'lazyLoad组件只能包含一个子元素');\n return null;\n }\n const { height, width, elementType } = this.$props;\n const { visible } = this;\n\n const elStyles = {\n height: typeof height === 'number' ? height + 'px' : height,\n width: typeof width === 'number' ? width + 'px' : width,\n };\n const elClasses = {\n LazyLoad: true,\n 'is-visible': visible,\n };\n\n return createElement(\n elementType,\n {\n class: elClasses,\n style: elStyles,\n },\n [visible ? children[0] : null],\n );\n },\n};\n","import LazyLoad from './src/LazyLoad';\nexport default LazyLoad;\n","import getElementPosition from './getElementPosition';\n\nconst isHidden = element => element.offsetParent === null;\n\nexport default function inViewport(element, container, customOffset) {\n if (isHidden(element)) {\n return false;\n }\n\n let top;\n let bottom;\n let left;\n let right;\n\n if (typeof container === 'undefined' || container === window) {\n top = window.pageYOffset;\n left = window.pageXOffset;\n bottom = top + window.innerHeight;\n right = left + window.innerWidth;\n } else {\n const containerPosition = getElementPosition(container);\n\n top = containerPosition.top;\n left = containerPosition.left;\n bottom = top + container.offsetHeight;\n right = left + container.offsetWidth;\n }\n\n const elementPosition = getElementPosition(element);\n\n return (\n top <= elementPosition.top + element.offsetHeight + customOffset.top &&\n bottom >= elementPosition.top - customOffset.bottom &&\n left <= elementPosition.left + element.offsetWidth + customOffset.left &&\n right >= elementPosition.left - customOffset.right\n );\n}\n","import PropTypes from '../_util/vue-types';\nimport classNames from 'classnames';\nimport Lazyload from '../vc-lazy-load';\nimport Checkbox from '../checkbox';\n\nfunction noop() {}\n\nexport default {\n name: 'ListItem',\n props: {\n renderedText: PropTypes.any,\n renderedEl: PropTypes.any,\n item: PropTypes.any,\n lazy: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n checked: PropTypes.bool,\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n },\n render() {\n const { renderedText, renderedEl, item, lazy, checked, disabled, prefixCls } = this.$props;\n\n const className = classNames({\n [`${prefixCls}-content-item`]: true,\n [`${prefixCls}-content-item-disabled`]: disabled || item.disabled,\n });\n\n let title;\n if (typeof renderedText === 'string' || typeof renderedText === 'number') {\n title = String(renderedText);\n }\n\n const listItem = (\n <li\n class={className}\n title={title}\n onClick={\n disabled || item.disabled\n ? noop\n : () => {\n this.$emit('click', item);\n }\n }\n >\n <Checkbox checked={checked} disabled={disabled || item.disabled} />\n <span class={`${prefixCls}-content-item-text`}>{renderedEl}</span>\n </li>\n );\n let children = null;\n if (lazy) {\n const lazyProps = {\n props: {\n height: 32,\n offset: 500,\n throttle: 0,\n debounce: false,\n ...lazy,\n _propsSymbol: Symbol(),\n },\n };\n children = <Lazyload {...lazyProps}>{listItem}</Lazyload>;\n } else {\n children = listItem;\n }\n return children;\n },\n};\n","import raf from '../_util/raf';\nimport ListItem from './ListItem';\nimport PropTypes from '../_util/vue-types';\nimport getTransitionProps from '../_util/getTransitionProps';\nfunction noop() {}\nconst ListBody = {\n name: 'ListBody',\n inheritAttrs: false,\n props: {\n prefixCls: PropTypes.string,\n filteredRenderItems: PropTypes.array.def([]),\n lazy: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n selectedKeys: PropTypes.array,\n disabled: PropTypes.bool,\n },\n data() {\n return {\n mounted: false,\n };\n },\n computed: {\n itemsLength() {\n return this.filteredRenderItems ? this.filteredRenderItems.length : 0;\n },\n },\n watch: {\n itemsLength() {\n this.$nextTick(() => {\n const { lazy } = this.$props;\n if (lazy !== false) {\n const container = this.$el;\n raf.cancel(this.lazyId);\n this.lazyId = raf(() => {\n if (container) {\n const scrollEvent = new Event('scroll', { bubbles: true });\n container.dispatchEvent(scrollEvent);\n }\n });\n }\n });\n },\n },\n mounted() {\n this.mountId = raf(() => {\n this.mounted = true;\n });\n },\n\n beforeDestroy() {\n raf.cancel(this.mountId);\n raf.cancel(this.lazyId);\n },\n methods: {\n onItemSelect(item) {\n const { selectedKeys } = this.$props;\n const checked = selectedKeys.indexOf(item.key) >= 0;\n this.$emit('itemSelect', item.key, !checked);\n },\n onScroll(e) {\n this.$emit('scroll', e);\n },\n },\n render() {\n const { mounted } = this.$data;\n const {\n prefixCls,\n filteredRenderItems,\n lazy,\n selectedKeys,\n disabled: globalDisabled,\n } = this.$props;\n const items = filteredRenderItems.map(({ renderedEl, renderedText, item }) => {\n const { disabled } = item;\n const checked = selectedKeys.indexOf(item.key) >= 0;\n\n return (\n <ListItem\n disabled={globalDisabled || disabled}\n key={item.key}\n item={item}\n lazy={lazy}\n renderedText={renderedText}\n renderedEl={renderedEl}\n checked={checked}\n prefixCls={prefixCls}\n onClick={this.onItemSelect}\n />\n );\n });\n const transitionProps = getTransitionProps(\n mounted ? `${prefixCls}-content-item-highlight` : '',\n {\n tag: 'ul',\n nativeOn: {\n scroll: this.onScroll,\n },\n leave: noop,\n },\n );\n return (\n <transition-group class={`${prefixCls}-content`} {...transitionProps}>\n {items}\n </transition-group>\n );\n },\n};\n\nexport default (h, props) => <ListBody {...props} />;\n","import classNames from 'classnames';\nimport PropTypes from '../_util/vue-types';\nimport { isValidElement, initDefaultProps, getListeners } from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport Checkbox from '../checkbox';\nimport Search from './search';\nimport defaultRenderList from './renderListBody';\nimport triggerEvent from '../_util/triggerEvent';\nimport addEventListener from '../vc-util/Dom/addEventListener';\n\nconst defaultRender = () => null;\n\nconst TransferItem = {\n key: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n description: PropTypes.string,\n disabled: PropTypes.bool,\n};\n\nfunction isRenderResultPlainObject(result) {\n return (\n result &&\n !isValidElement(result) &&\n Object.prototype.toString.call(result) === '[object Object]'\n );\n}\n\nexport const TransferListProps = {\n prefixCls: PropTypes.string,\n titleText: PropTypes.string,\n dataSource: PropTypes.arrayOf(PropTypes.shape(TransferItem).loose),\n filter: PropTypes.string,\n filterOption: PropTypes.func,\n checkedKeys: PropTypes.arrayOf(PropTypes.string),\n handleFilter: PropTypes.func,\n handleSelect: PropTypes.func,\n handleSelectAll: PropTypes.func,\n handleClear: PropTypes.func,\n renderItem: PropTypes.func,\n showSearch: PropTypes.bool,\n searchPlaceholder: PropTypes.string,\n notFoundContent: PropTypes.any,\n itemUnit: PropTypes.string,\n itemsUnit: PropTypes.string,\n body: PropTypes.any,\n renderList: PropTypes.any,\n footer: PropTypes.any,\n lazy: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n disabled: PropTypes.bool,\n direction: PropTypes.string,\n showSelectAll: PropTypes.bool,\n};\n\nfunction renderListNode(h, renderList, props) {\n let bodyContent = renderList ? renderList(props) : null;\n const customize = !!bodyContent;\n if (!customize) {\n bodyContent = defaultRenderList(h, props);\n }\n return {\n customize,\n bodyContent,\n };\n}\n\nexport default {\n name: 'TransferList',\n mixins: [BaseMixin],\n props: initDefaultProps(TransferListProps, {\n dataSource: [],\n titleText: '',\n showSearch: false,\n lazy: {},\n }),\n data() {\n this.timer = null;\n this.triggerScrollTimer = null;\n return {\n filterValue: '',\n };\n },\n // mounted() {\n // this.timer = setTimeout(() => {\n // this.setState({\n // mounted: true,\n // });\n // }, 0);\n // this.$nextTick(() => {\n // if (this.$refs.listContentWrapper) {\n // const listContentWrapperDom = this.$refs.listContentWrapper.$el;\n // this.scrollEvent = addEventListener(listContentWrapperDom, 'scroll', this.handleScroll);\n // }\n // });\n // },\n beforeDestroy() {\n clearTimeout(this.triggerScrollTimer);\n // if (this.scrollEvent) {\n // this.scrollEvent.remove();\n // }\n },\n updated() {\n this.$nextTick(() => {\n if (this.scrollEvent) {\n this.scrollEvent.remove();\n }\n if (this.$refs.listContentWrapper) {\n const listContentWrapperDom = this.$refs.listContentWrapper.$el;\n this.scrollEvent = addEventListener(listContentWrapperDom, 'scroll', this.handleScroll);\n }\n });\n },\n methods: {\n handleScroll(e) {\n this.$emit('scroll', e);\n },\n getCheckStatus(filteredItems) {\n const { checkedKeys } = this.$props;\n if (checkedKeys.length === 0) {\n return 'none';\n }\n if (filteredItems.every(item => checkedKeys.indexOf(item.key) >= 0 || !!item.disabled)) {\n return 'all';\n }\n return 'part';\n },\n\n getFilteredItems(dataSource, filterValue) {\n const filteredItems = [];\n const filteredRenderItems = [];\n\n dataSource.forEach(item => {\n const renderedItem = this.renderItemHtml(item);\n const { renderedText } = renderedItem;\n\n // Filter skip\n if (filterValue && filterValue.trim() && !this.matchFilter(renderedText, item)) {\n return null;\n }\n\n filteredItems.push(item);\n filteredRenderItems.push(renderedItem);\n });\n\n return { filteredItems, filteredRenderItems };\n },\n\n getListBody(\n prefixCls,\n searchPlaceholder,\n filterValue,\n filteredItems,\n notFoundContent,\n bodyDom,\n filteredRenderItems,\n checkedKeys,\n renderList,\n showSearch,\n disabled,\n ) {\n const search = showSearch ? (\n <div class={`${prefixCls}-body-search-wrapper`}>\n <Search\n prefixCls={`${prefixCls}-search`}\n onChange={this._handleFilter}\n handleClear={this._handleClear}\n placeholder={searchPlaceholder}\n value={filterValue}\n disabled={disabled}\n />\n </div>\n ) : null;\n\n let listBody = bodyDom;\n if (!listBody) {\n let bodyNode;\n\n const { bodyContent, customize } = renderListNode(this.$createElement, renderList, {\n props: { ...this.$props, filteredItems, filteredRenderItems, selectedKeys: checkedKeys },\n on: getListeners(this),\n });\n\n // We should wrap customize list body in a classNamed div to use flex layout.\n if (customize) {\n bodyNode = <div class={`${prefixCls}-body-customize-wrapper`}>{bodyContent}</div>;\n } else {\n bodyNode = filteredItems.length ? (\n bodyContent\n ) : (\n <div class={`${prefixCls}-body-not-found`}>{notFoundContent}</div>\n );\n }\n\n listBody = (\n <div\n class={classNames(\n showSearch ? `${prefixCls}-body ${prefixCls}-body-with-search` : `${prefixCls}-body`,\n )}\n >\n {search}\n {bodyNode}\n </div>\n );\n }\n return listBody;\n },\n\n getCheckBox(filteredItems, showSelectAll, disabled) {\n const checkStatus = this.getCheckStatus(filteredItems);\n const checkedAll = checkStatus === 'all';\n const checkAllCheckbox = showSelectAll !== false && (\n <Checkbox\n disabled={disabled}\n checked={checkedAll}\n indeterminate={checkStatus === 'part'}\n onChange={() => {\n // Only select enabled items\n this.$emit(\n 'itemSelectAll',\n filteredItems.filter(item => !item.disabled).map(({ key }) => key),\n !checkedAll,\n );\n }}\n />\n );\n\n return checkAllCheckbox;\n },\n\n _handleSelect(selectedItem) {\n const { checkedKeys } = this.$props;\n const result = checkedKeys.some(key => key === selectedItem.key);\n this.handleSelect(selectedItem, !result);\n },\n _handleFilter(e) {\n const { handleFilter } = this.$props;\n const {\n target: { value: filterValue },\n } = e;\n this.setState({ filterValue });\n handleFilter(e);\n if (!filterValue) {\n return;\n }\n // Manually trigger scroll event for lazy search bug\n // https://github.com/ant-design/ant-design/issues/5631\n this.triggerScrollTimer = setTimeout(() => {\n const transferNode = this.$el;\n const listNode = transferNode.querySelectorAll('.ant-transfer-list-content')[0];\n if (listNode) {\n triggerEvent(listNode, 'scroll');\n }\n }, 0);\n },\n _handleClear(e) {\n this.setState({ filterValue: '' });\n this.handleClear(e);\n },\n matchFilter(text, item) {\n const { filterValue } = this.$data;\n const { filterOption } = this.$props;\n if (filterOption) {\n return filterOption(filterValue, item);\n }\n return text.indexOf(filterValue) >= 0;\n },\n renderItemHtml(item) {\n const { renderItem = defaultRender } = this.$props;\n const renderResult = renderItem(item);\n const isRenderResultPlain = isRenderResultPlainObject(renderResult);\n return {\n renderedText: isRenderResultPlain ? renderResult.value : renderResult,\n renderedEl: isRenderResultPlain ? renderResult.label : renderResult,\n item,\n };\n },\n filterNull(arr) {\n return arr.filter(item => {\n return item !== null;\n });\n },\n },\n\n render() {\n const { filterValue } = this.$data;\n const {\n prefixCls,\n dataSource,\n titleText,\n checkedKeys,\n disabled,\n body,\n footer,\n showSearch,\n searchPlaceholder,\n notFoundContent,\n itemUnit,\n itemsUnit,\n renderList,\n showSelectAll,\n } = this.$props;\n\n // Custom Layout\n const footerDom = footer && footer({ ...this.$props });\n const bodyDom = body && body({ ...this.$props });\n\n const listCls = classNames(prefixCls, {\n [`${prefixCls}-with-footer`]: !!footerDom,\n });\n\n // ====================== Get filtered, checked item list ======================\n\n const { filteredItems, filteredRenderItems } = this.getFilteredItems(dataSource, filterValue);\n\n // ================================= List Body =================================\n\n const unit = dataSource.length > 1 ? itemsUnit : itemUnit;\n\n const listBody = this.getListBody(\n prefixCls,\n searchPlaceholder,\n filterValue,\n filteredItems,\n notFoundContent,\n bodyDom,\n filteredRenderItems,\n checkedKeys,\n renderList,\n showSearch,\n disabled,\n );\n\n const listFooter = footerDom ? <div class={`${prefixCls}-footer`}>{footerDom}</div> : null;\n\n const checkAllCheckbox = this.getCheckBox(filteredItems, showSelectAll, disabled);\n\n return (\n <div class={listCls}>\n <div class={`${prefixCls}-header`}>\n {checkAllCheckbox}\n <span class={`${prefixCls}-header-selected`}>\n <span>\n {(checkedKeys.length > 0 ? `${checkedKeys.length}/` : '') + filteredItems.length}{' '}\n {unit}\n </span>\n <span class={`${prefixCls}-header-title`}>{titleText}</span>\n </span>\n </div>\n {listBody}\n {listFooter}\n </div>\n );\n },\n};\n","export default function triggerEvent(el, type) {\n if ('createEvent' in document) {\n // modern browsers, IE9+\n const e = document.createEvent('HTMLEvents');\n e.initEvent(type, false, true);\n el.dispatchEvent(e);\n }\n}\n","import PropTypes from '../_util/vue-types';\nimport { getOptionProps } from '../_util/props-util';\nimport Button from '../button';\n\nfunction noop() {}\n\nexport const TransferOperationProps = {\n className: PropTypes.string,\n leftArrowText: PropTypes.string,\n rightArrowText: PropTypes.string,\n moveToLeft: PropTypes.any,\n moveToRight: PropTypes.any,\n leftActive: PropTypes.bool,\n rightActive: PropTypes.bool,\n disabled: PropTypes.bool,\n};\n\nexport default {\n name: 'Operation',\n props: { ...TransferOperationProps },\n render() {\n const {\n disabled,\n moveToLeft = noop,\n moveToRight = noop,\n leftArrowText = '',\n rightArrowText = '',\n leftActive,\n rightActive,\n } = getOptionProps(this);\n return (\n <div>\n <Button\n type=\"primary\"\n size=\"small\"\n disabled={disabled || !rightActive}\n onClick={moveToRight}\n icon=\"right\"\n >\n {rightArrowText}\n </Button>\n <Button\n type=\"primary\"\n size=\"small\"\n disabled={disabled || !leftActive}\n onClick={moveToLeft}\n icon=\"left\"\n >\n {leftArrowText}\n </Button>\n </div>\n );\n },\n};\n","import PropTypes from '../_util/vue-types';\nimport {\n hasProp,\n initDefaultProps,\n getOptionProps,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport BaseMixin from '../_util/BaseMixin';\nimport classNames from 'classnames';\nimport List from './list';\nimport Operation from './operation';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport defaultLocale from '../locale-provider/default';\nimport { ConfigConsumerProps } from '../config-provider';\nimport warning from '../_util/warning';\nimport Base from '../base';\n\nexport const TransferDirection = 'left' | 'right';\n\nexport const TransferItem = {\n key: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n description: PropTypes.string,\n disabled: PropTypes.bool,\n};\n\nexport const TransferProps = {\n prefixCls: PropTypes.string,\n dataSource: PropTypes.arrayOf(PropTypes.shape(TransferItem).loose),\n disabled: PropTypes.boolean,\n targetKeys: PropTypes.arrayOf(PropTypes.string),\n selectedKeys: PropTypes.arrayOf(PropTypes.string),\n render: PropTypes.func,\n listStyle: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n operationStyle: PropTypes.object,\n titles: PropTypes.arrayOf(PropTypes.string),\n operations: PropTypes.arrayOf(PropTypes.string),\n showSearch: PropTypes.bool,\n filterOption: PropTypes.func,\n searchPlaceholder: PropTypes.string,\n notFoundContent: PropTypes.any,\n locale: PropTypes.object,\n rowKey: PropTypes.func,\n lazy: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),\n showSelectAll: PropTypes.bool,\n};\n\nexport const TransferLocale = {\n titles: PropTypes.arrayOf(PropTypes.string),\n notFoundContent: PropTypes.string,\n itemUnit: PropTypes.string,\n itemsUnit: PropTypes.string,\n};\n\nconst Transfer = {\n name: 'ATransfer',\n mixins: [BaseMixin],\n props: initDefaultProps(TransferProps, {\n dataSource: [],\n locale: {},\n showSearch: false,\n listStyle: () => {},\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n data() {\n // vue 中 通过slot,不方便传递,保留notFoundContent及searchPlaceholder\n // warning(\n // !(getComponentFromProp(this, 'notFoundContent') || hasProp(this, 'searchPlaceholder')),\n // 'Transfer[notFoundContent] and Transfer[searchPlaceholder] will be removed, ' +\n // 'please use Transfer[locale] instead.',\n // )\n const { selectedKeys = [], targetKeys = [] } = this;\n return {\n leftFilter: '',\n rightFilter: '',\n sourceSelectedKeys: selectedKeys.filter(key => targetKeys.indexOf(key) === -1),\n targetSelectedKeys: selectedKeys.filter(key => targetKeys.indexOf(key) > -1),\n };\n },\n mounted() {\n // this.currentProps = { ...this.$props }\n },\n watch: {\n targetKeys() {\n this.updateState();\n if (this.selectedKeys) {\n const targetKeys = this.targetKeys || [];\n this.setState({\n sourceSelectedKeys: this.selectedKeys.filter(key => !targetKeys.includes(key)),\n targetSelectedKeys: this.selectedKeys.filter(key => targetKeys.includes(key)),\n });\n }\n },\n dataSource() {\n this.updateState();\n },\n selectedKeys() {\n if (this.selectedKeys) {\n const targetKeys = this.targetKeys || [];\n this.setState({\n sourceSelectedKeys: this.selectedKeys.filter(key => !targetKeys.includes(key)),\n targetSelectedKeys: this.selectedKeys.filter(key => targetKeys.includes(key)),\n });\n }\n },\n },\n methods: {\n getSelectedKeysName(direction) {\n return direction === 'left' ? 'sourceSelectedKeys' : 'targetSelectedKeys';\n },\n\n getTitles(transferLocale) {\n if (this.titles) {\n return this.titles;\n }\n return transferLocale.titles || ['', ''];\n },\n\n getLocale(transferLocale, renderEmpty) {\n const h = this.$createElement;\n // Keep old locale props still working.\n const oldLocale = {\n notFoundContent: renderEmpty(h, 'Transfer'),\n };\n const notFoundContent = getComponentFromProp(this, 'notFoundContent');\n if (notFoundContent) {\n oldLocale.notFoundContent = notFoundContent;\n }\n if (hasProp(this, 'searchPlaceholder')) {\n oldLocale.searchPlaceholder = this.$props.searchPlaceholder;\n }\n\n return { ...transferLocale, ...oldLocale, ...this.$props.locale };\n },\n updateState() {\n const { sourceSelectedKeys, targetSelectedKeys } = this;\n this.separatedDataSource = null;\n if (!this.selectedKeys) {\n // clear key nolonger existed\n // clear checkedKeys according to targetKeys\n const { dataSource, targetKeys = [] } = this;\n\n const newSourceSelectedKeys = [];\n const newTargetSelectedKeys = [];\n dataSource.forEach(({ key }) => {\n if (sourceSelectedKeys.includes(key) && !targetKeys.includes(key)) {\n newSourceSelectedKeys.push(key);\n }\n if (targetSelectedKeys.includes(key) && targetKeys.includes(key)) {\n newTargetSelectedKeys.push(key);\n }\n });\n this.setState({\n sourceSelectedKeys: newSourceSelectedKeys,\n targetSelectedKeys: newTargetSelectedKeys,\n });\n }\n },\n\n moveTo(direction) {\n const { targetKeys = [], dataSource = [] } = this.$props;\n const { sourceSelectedKeys, targetSelectedKeys } = this;\n const moveKeys = direction === 'right' ? sourceSelectedKeys : targetSelectedKeys;\n // filter the disabled options\n const newMoveKeys = moveKeys.filter(\n key => !dataSource.some(data => !!(key === data.key && data.disabled)),\n );\n // move items to target box\n const newTargetKeys =\n direction === 'right'\n ? newMoveKeys.concat(targetKeys)\n : targetKeys.filter(targetKey => newMoveKeys.indexOf(targetKey) === -1);\n\n // empty checked keys\n const oppositeDirection = direction === 'right' ? 'left' : 'right';\n this.setState({\n [this.getSelectedKeysName(oppositeDirection)]: [],\n });\n this.handleSelectChange(oppositeDirection, []);\n\n this.$emit('change', newTargetKeys, direction, newMoveKeys);\n },\n moveToLeft() {\n this.moveTo('left');\n },\n moveToRight() {\n this.moveTo('right');\n },\n\n onItemSelectAll(direction, selectedKeys, checkAll) {\n const originalSelectedKeys = this.$data[this.getSelectedKeysName(direction)] || [];\n\n let mergedCheckedKeys = [];\n if (checkAll) {\n // Merge current keys with origin key\n mergedCheckedKeys = Array.from(new Set([...originalSelectedKeys, ...selectedKeys]));\n } else {\n // Remove current keys from origin keys\n mergedCheckedKeys = originalSelectedKeys.filter(key => selectedKeys.indexOf(key) === -1);\n }\n\n this.handleSelectChange(direction, mergedCheckedKeys);\n\n if (!this.$props.selectedKeys) {\n this.setState({\n [this.getSelectedKeysName(direction)]: mergedCheckedKeys,\n });\n }\n },\n\n handleSelectAll(direction, filteredDataSource, checkAll) {\n this.onItemSelectAll(\n direction,\n filteredDataSource.map(({ key }) => key),\n !checkAll,\n );\n },\n\n // [Legacy] Old prop `body` pass origin check as arg. It's confusing.\n // TODO: Remove this in next version.\n handleLeftSelectAll(filteredDataSource, checkAll) {\n return this.handleSelectAll('left', filteredDataSource, !checkAll);\n },\n\n handleRightSelectAll(filteredDataSource, checkAll) {\n return this.handleSelectAll('right', filteredDataSource, !checkAll);\n },\n\n onLeftItemSelectAll(selectedKeys, checkAll) {\n return this.onItemSelectAll('left', selectedKeys, checkAll);\n },\n\n onRightItemSelectAll(selectedKeys, checkAll) {\n return this.onItemSelectAll('right', selectedKeys, checkAll);\n },\n\n handleFilter(direction, e) {\n const value = e.target.value;\n if (getListeners(this).searchChange) {\n warning(\n false,\n 'Transfer',\n '`searchChange` in Transfer is deprecated. Please use `search` instead.',\n );\n this.$emit('searchChange', direction, e);\n }\n this.$emit('search', direction, value);\n },\n\n handleLeftFilter(e) {\n this.handleFilter('left', e);\n },\n handleRightFilter(e) {\n this.handleFilter('right', e);\n },\n\n handleClear(direction) {\n this.$emit('search', direction, '');\n },\n\n handleLeftClear() {\n this.handleClear('left');\n },\n handleRightClear() {\n this.handleClear('right');\n },\n\n onItemSelect(direction, selectedKey, checked) {\n const { sourceSelectedKeys, targetSelectedKeys } = this;\n const holder = direction === 'left' ? [...sourceSelectedKeys] : [...targetSelectedKeys];\n const index = holder.indexOf(selectedKey);\n if (index > -1) {\n holder.splice(index, 1);\n }\n if (checked) {\n holder.push(selectedKey);\n }\n this.handleSelectChange(direction, holder);\n\n if (!this.selectedKeys) {\n this.setState({\n [this.getSelectedKeysName(direction)]: holder,\n });\n }\n },\n\n handleSelect(direction, selectedItem, checked) {\n warning(false, 'Transfer', '`handleSelect` will be removed, please use `onSelect` instead.');\n this.onItemSelect(direction, selectedItem.key, checked);\n },\n\n handleLeftSelect(selectedItem, checked) {\n return this.handleSelect('left', selectedItem, checked);\n },\n\n handleRightSelect(selectedItem, checked) {\n return this.handleSelect('right', selectedItem, checked);\n },\n\n onLeftItemSelect(selectedKey, checked) {\n return this.onItemSelect('left', selectedKey, checked);\n },\n onRightItemSelect(selectedKey, checked) {\n return this.onItemSelect('right', selectedKey, checked);\n },\n\n handleScroll(direction, e) {\n this.$emit('scroll', direction, e);\n },\n\n handleLeftScroll(e) {\n this.handleScroll('left', e);\n },\n handleRightScroll(e) {\n this.handleScroll('right', e);\n },\n\n handleSelectChange(direction, holder) {\n const { sourceSelectedKeys, targetSelectedKeys } = this;\n\n if (direction === 'left') {\n this.$emit('selectChange', holder, targetSelectedKeys);\n } else {\n this.$emit('selectChange', sourceSelectedKeys, holder);\n }\n },\n handleListStyle(listStyle, direction) {\n if (typeof listStyle === 'function') {\n return listStyle({ direction });\n }\n return listStyle;\n },\n\n separateDataSource() {\n const { dataSource, rowKey, targetKeys = [] } = this.$props;\n\n const leftDataSource = [];\n const rightDataSource = new Array(targetKeys.length);\n dataSource.forEach(record => {\n if (rowKey) {\n record.key = rowKey(record);\n }\n\n // rightDataSource should be ordered by targetKeys\n // leftDataSource should be ordered by dataSource\n const indexOfKey = targetKeys.indexOf(record.key);\n if (indexOfKey !== -1) {\n rightDataSource[indexOfKey] = record;\n } else {\n leftDataSource.push(record);\n }\n });\n\n return {\n leftDataSource,\n rightDataSource,\n };\n },\n\n renderTransfer(transferLocale) {\n const props = getOptionProps(this);\n const {\n prefixCls: customizePrefixCls,\n disabled,\n operations = [],\n showSearch,\n listStyle,\n operationStyle,\n filterOption,\n lazy,\n showSelectAll,\n } = props;\n const children = getComponentFromProp(this, 'children', {}, false);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('transfer', customizePrefixCls);\n\n const renderEmpty = this.configProvider.renderEmpty;\n const locale = this.getLocale(transferLocale, renderEmpty);\n const { sourceSelectedKeys, targetSelectedKeys, $scopedSlots } = this;\n const { body, footer } = $scopedSlots;\n const renderItem = props.render;\n const { leftDataSource, rightDataSource } = this.separateDataSource();\n const leftActive = targetSelectedKeys.length > 0;\n const rightActive = sourceSelectedKeys.length > 0;\n\n const cls = classNames(prefixCls, {\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-customize-list`]: !!children,\n });\n const titles = this.getTitles(locale);\n return (\n <div class={cls}>\n <List\n key=\"leftList\"\n prefixCls={`${prefixCls}-list`}\n titleText={titles[0]}\n dataSource={leftDataSource}\n filterOption={filterOption}\n style={this.handleListStyle(listStyle, 'left')}\n checkedKeys={sourceSelectedKeys}\n handleFilter={this.handleLeftFilter}\n handleClear={this.handleLeftClear}\n handleSelect={this.handleLeftSelect}\n handleSelectAll={this.handleLeftSelectAll}\n onItemSelect={this.onLeftItemSelect}\n onItemSelectAll={this.onLeftItemSelectAll}\n renderItem={renderItem}\n showSearch={showSearch}\n body={body}\n renderList={children}\n footer={footer}\n lazy={lazy}\n onScroll={this.handleLeftScroll}\n disabled={disabled}\n direction=\"left\"\n showSelectAll={showSelectAll}\n itemUnit={locale.itemUnit}\n itemsUnit={locale.itemsUnit}\n notFoundContent={locale.notFoundContent}\n searchPlaceholder={locale.searchPlaceholder}\n />\n <Operation\n key=\"operation\"\n class={`${prefixCls}-operation`}\n rightActive={rightActive}\n rightArrowText={operations[0]}\n moveToRight={this.moveToRight}\n leftActive={leftActive}\n leftArrowText={operations[1]}\n moveToLeft={this.moveToLeft}\n style={operationStyle}\n disabled={disabled}\n />\n <List\n key=\"rightList\"\n prefixCls={`${prefixCls}-list`}\n titleText={titles[1]}\n dataSource={rightDataSource}\n filterOption={filterOption}\n style={this.handleListStyle(listStyle, 'right')}\n checkedKeys={targetSelectedKeys}\n handleFilter={this.handleRightFilter}\n handleClear={this.handleRightClear}\n handleSelect={this.handleRightSelect}\n handleSelectAll={this.handleRightSelectAll}\n onItemSelect={this.onRightItemSelect}\n onItemSelectAll={this.onRightItemSelectAll}\n renderItem={renderItem}\n showSearch={showSearch}\n body={body}\n renderList={children}\n footer={footer}\n lazy={lazy}\n onScroll={this.handleRightScroll}\n disabled={disabled}\n direction=\"right\"\n showSelectAll={showSelectAll}\n itemUnit={locale.itemUnit}\n itemsUnit={locale.itemsUnit}\n notFoundContent={locale.notFoundContent}\n searchPlaceholder={locale.searchPlaceholder}\n />\n </div>\n );\n },\n },\n render() {\n return (\n <LocaleReceiver\n componentName=\"Transfer\"\n defaultLocale={defaultLocale.Transfer}\n scopedSlots={{ default: this.renderTransfer }}\n />\n );\n },\n};\n\n/* istanbul ignore next */\nTransfer.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Transfer.name, Transfer);\n};\n\nexport default Transfer;\n","import warning from 'warning';\nimport { Tree as VcTree, TreeNode } from '../vc-tree';\nimport animation from '../_util/openAnimation';\nimport PropTypes from '../_util/vue-types';\nimport {\n initDefaultProps,\n getOptionProps,\n filterEmpty,\n getComponentFromProp,\n getListeners,\n} from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport { ConfigConsumerProps } from '../config-provider';\nimport Icon from '../icon';\n\nfunction TreeProps() {\n return {\n showLine: PropTypes.bool,\n /** 是否支持多选 */\n multiple: PropTypes.bool,\n /** 是否自动展开父节点 */\n autoExpandParent: PropTypes.bool,\n /** checkable状态下节点选择完全受控(父子节点选中状态不再关联)*/\n checkStrictly: PropTypes.bool,\n /** 是否支持选中 */\n checkable: PropTypes.bool,\n /** 是否禁用树 */\n disabled: PropTypes.bool,\n /** 默认展开所有树节点 */\n defaultExpandAll: PropTypes.bool,\n /** 默认展开对应树节点 */\n defaultExpandParent: PropTypes.bool,\n /** 默认展开指定的树节点 */\n defaultExpandedKeys: PropTypes.array,\n /** (受控)展开指定的树节点 */\n expandedKeys: PropTypes.array,\n /** (受控)选中复选框的树节点 */\n checkedKeys: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.shape({\n checked: PropTypes.array,\n halfChecked: PropTypes.array,\n }).loose,\n ]),\n /** 默认选中复选框的树节点 */\n defaultCheckedKeys: PropTypes.array,\n /** (受控)设置选中的树节点 */\n selectedKeys: PropTypes.array,\n /** 默认选中的树节点 */\n defaultSelectedKeys: PropTypes.array,\n selectable: PropTypes.bool,\n /** 展开/收起节点时触发 */\n // onExpand: (expandedKeys: string[], info: AntTreeNodeExpandedEvent) => void | PromiseLike<any>,\n /** 点击复选框触发 */\n // onCheck: (checkedKeys: string[] | { checked: string[]; halfChecked: string[] }, e: AntTreeNodeCheckedEvent) => void,\n /** 点击树节点触发 */\n // onSelect: (selectedKeys: string[], e: AntTreeNodeSelectedEvent) => void,\n /** 单击树节点触发 */\n // onClick: (e: React.MouseEvent<HTMLElement>, node: AntTreeNode) => void,\n /** 双击树节点触发 */\n // onDoubleClick: (e: React.MouseEvent<HTMLElement>, node: AntTreeNode) => void,\n /** filter some AntTreeNodes as you need. it should return true */\n filterAntTreeNode: PropTypes.func,\n /** 异步加载数据 */\n loadData: PropTypes.func,\n loadedKeys: PropTypes.array,\n // onLoaded: (loadedKeys: string[], info: { event: 'load', node: AntTreeNode; }) => void,\n /** 响应右键点击 */\n // onRightClick: (options: AntTreeNodeMouseEvent) => void,\n /** 设置节点可拖拽(IE>8)*/\n draggable: PropTypes.bool,\n // /** 开始拖拽时调用 */\n // onDragStart: (options: AntTreeNodeMouseEvent) => void,\n // /** dragenter 触发时调用 */\n // onDragEnter: (options: AntTreeNodeMouseEvent) => void,\n // /** dragover 触发时调用 */\n // onDragOver: (options: AntTreeNodeMouseEvent) => void,\n // /** dragleave 触发时调用 */\n // onDragLeave: (options: AntTreeNodeMouseEvent) => void,\n // /** drop 触发时调用 */\n // onDrop: (options: AntTreeNodeMouseEvent) => void,\n showIcon: PropTypes.bool,\n icon: PropTypes.func,\n switcherIcon: PropTypes.any,\n prefixCls: PropTypes.string,\n filterTreeNode: PropTypes.func,\n openAnimation: PropTypes.any,\n treeNodes: PropTypes.array,\n treeData: PropTypes.array,\n /**\n * @default{title,key,children}\n * 替换treeNode中 title,key,children字段为treeData中对应的字段\n */\n replaceFields: PropTypes.object,\n blockNode: PropTypes.bool,\n };\n}\n\nexport { TreeProps };\n\nexport default {\n name: 'ATree',\n model: {\n prop: 'checkedKeys',\n event: 'check',\n },\n props: initDefaultProps(TreeProps(), {\n checkable: false,\n showIcon: false,\n openAnimation: {\n on: animation,\n props: { appear: null },\n },\n blockNode: false,\n }),\n inject: {\n configProvider: { default: () => ConfigConsumerProps },\n },\n created() {\n warning(\n !('treeNodes' in getOptionProps(this)),\n '`treeNodes` is deprecated. please use treeData instead.',\n );\n },\n TreeNode,\n methods: {\n renderSwitcherIcon(prefixCls, switcherIcon, { isLeaf, expanded, loading }) {\n const { showLine } = this.$props;\n if (loading) {\n return <Icon type=\"loading\" class={`${prefixCls}-switcher-loading-icon`} />;\n }\n\n if (isLeaf) {\n return showLine ? <Icon type=\"file\" class={`${prefixCls}-switcher-line-icon`} /> : null;\n }\n const switcherCls = `${prefixCls}-switcher-icon`;\n if (switcherIcon) {\n return cloneElement(switcherIcon, {\n class: {\n [switcherCls]: true,\n },\n });\n }\n return showLine ? (\n <Icon\n type={expanded ? 'minus-square' : 'plus-square'}\n class={`${prefixCls}-switcher-line-icon`}\n theme=\"outlined\"\n />\n ) : (\n <Icon type=\"caret-down\" class={switcherCls} theme=\"filled\" />\n );\n },\n updateTreeData(treeData) {\n const { $slots, $scopedSlots } = this;\n const defaultFields = { children: 'children', title: 'title', key: 'key' };\n const replaceFields = { ...defaultFields, ...this.$props.replaceFields };\n return treeData.map(item => {\n const key = item[replaceFields.key];\n const children = item[replaceFields.children];\n const { on = {}, slots = {}, scopedSlots = {}, class: cls, style, ...restProps } = item;\n const treeNodeProps = {\n ...restProps,\n icon: $scopedSlots[scopedSlots.icon] || $slots[slots.icon] || restProps.icon,\n switcherIcon:\n $scopedSlots[scopedSlots.switcherIcon] ||\n $slots[slots.switcherIcon] ||\n restProps.switcherIcon,\n title:\n $scopedSlots[scopedSlots.title] ||\n $slots[slots.title] ||\n restProps[replaceFields.title],\n dataRef: item,\n on,\n key,\n class: cls,\n style,\n };\n if (children) {\n return { ...treeNodeProps, children: this.updateTreeData(children) };\n }\n return treeNodeProps;\n });\n },\n },\n render() {\n const props = getOptionProps(this);\n const { $slots, $scopedSlots } = this;\n const { prefixCls: customizePrefixCls, showIcon, treeNodes, blockNode } = props;\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('tree', customizePrefixCls);\n const switcherIcon = getComponentFromProp(this, 'switcherIcon');\n const checkable = props.checkable;\n let treeData = props.treeData || treeNodes;\n if (treeData) {\n treeData = this.updateTreeData(treeData);\n }\n const vcTreeProps = {\n props: {\n ...props,\n prefixCls,\n checkable: checkable ? <span class={`${prefixCls}-checkbox-inner`} /> : checkable,\n children: filterEmpty($scopedSlots.default ? $scopedSlots.default() : $slots.default),\n __propsSymbol__: Symbol(),\n switcherIcon: nodeProps => this.renderSwitcherIcon(prefixCls, switcherIcon, nodeProps),\n },\n on: getListeners(this),\n ref: 'tree',\n class: {\n [`${prefixCls}-icon-hide`]: !showIcon,\n [`${prefixCls}-block-node`]: blockNode,\n },\n };\n if (treeData) {\n vcTreeProps.props.treeData = treeData;\n }\n return <VcTree {...vcTreeProps} />;\n },\n};\n","import { getNodeChildren, convertTreeToEntities } from '../vc-tree/src/util';\nimport { getSlots } from '../_util/props-util';\n\nconst Record = {\n None: 'node',\n Start: 'start',\n End: 'end',\n};\n\n// TODO: Move this logic into `rc-tree`\nfunction traverseNodesKey(rootChildren, callback) {\n const nodeList = getNodeChildren(rootChildren) || [];\n\n function processNode(node) {\n const { key } = node;\n const children = getSlots(node).default;\n if (callback(key, node) !== false) {\n traverseNodesKey(typeof children === 'function' ? children() : children, callback);\n }\n }\n\n nodeList.forEach(processNode);\n}\n\nexport function getFullKeyList(children) {\n const { keyEntities } = convertTreeToEntities(children);\n return [...keyEntities.keys()];\n}\n\n/** 计算选中范围,只考虑expanded情况以优化性能 */\nexport function calcRangeKeys(rootChildren, expandedKeys, startKey, endKey) {\n const keys = [];\n let record = Record.None;\n\n if (startKey && startKey === endKey) {\n return [startKey];\n }\n if (!startKey || !endKey) {\n return [];\n }\n\n function matchKey(key) {\n return key === startKey || key === endKey;\n }\n\n traverseNodesKey(rootChildren, key => {\n if (record === Record.End) {\n return false;\n }\n\n if (matchKey(key)) {\n // Match test\n keys.push(key);\n\n if (record === Record.None) {\n record = Record.Start;\n } else if (record === Record.Start) {\n record = Record.End;\n return false;\n }\n } else if (record === Record.Start) {\n // Append selection\n keys.push(key);\n }\n\n if (expandedKeys.indexOf(key) === -1) {\n return false;\n }\n\n return true;\n });\n\n return keys;\n}\n\nexport function convertDirectoryKeysToNodes(rootChildren, keys) {\n const restKeys = [...keys];\n const nodes = [];\n traverseNodesKey(rootChildren, (key, node) => {\n const index = restKeys.indexOf(key);\n if (index !== -1) {\n nodes.push(node);\n restKeys.splice(index, 1);\n }\n\n return !!restKeys.length;\n });\n return nodes;\n}\n\nexport function getFullKeyListByTreeData(treeData) {\n let keys = [];\n\n (treeData || []).forEach(item => {\n keys.push(item.key);\n if (item.children) {\n keys = [...keys, ...getFullKeyListByTreeData(item.children)];\n }\n });\n return keys;\n}\n","import omit from 'omit.js';\nimport debounce from 'lodash/debounce';\nimport PropTypes from '../_util/vue-types';\nimport warning from '../_util/warning';\nimport { conductExpandParent, convertTreeToEntities } from '../vc-tree/src/util';\nimport Tree, { TreeProps } from './Tree';\nimport {\n calcRangeKeys,\n getFullKeyList,\n convertDirectoryKeysToNodes,\n getFullKeyListByTreeData,\n} from './util';\nimport Icon from '../icon';\nimport BaseMixin from '../_util/BaseMixin';\nimport {\n initDefaultProps,\n getOptionProps,\n getListeners,\n getComponentFromProp,\n} from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\n\n// export type ExpandAction = false | 'click' | 'dblclick'; export interface\n// DirectoryTreeProps extends TreeProps { expandAction?: ExpandAction; }\n// export interface DirectoryTreeState { expandedKeys?: string[];\n// selectedKeys?: string[]; }\n\nfunction getIcon(props, h) {\n const { isLeaf, expanded } = props;\n if (isLeaf) {\n return <Icon type=\"file\" />;\n }\n return <Icon type={expanded ? 'folder-open' : 'folder'} />;\n}\n\nexport default {\n name: 'ADirectoryTree',\n mixins: [BaseMixin],\n model: {\n prop: 'checkedKeys',\n event: 'check',\n },\n props: initDefaultProps(\n {\n ...TreeProps(),\n expandAction: PropTypes.oneOf([false, 'click', 'doubleclick', 'dblclick']),\n },\n {\n showIcon: true,\n expandAction: 'click',\n },\n ),\n\n // state: DirectoryTreeState; onDebounceExpand: (event, node: AntTreeNode) =>\n // void; // Shift click usage lastSelectedKey?: string; cachedSelectedKeys?:\n // string[];\n inject: {\n configProvider: {\n default: () => ConfigConsumerProps,\n },\n },\n data() {\n const props = getOptionProps(this);\n const { defaultExpandAll, defaultExpandParent, expandedKeys, defaultExpandedKeys } = props;\n const { keyEntities } = convertTreeToEntities(this.$slots.default);\n const state = {};\n // Selected keys\n state._selectedKeys = props.selectedKeys || props.defaultSelectedKeys || [];\n\n // Expanded keys\n if (defaultExpandAll) {\n if (props.treeData) {\n state._expandedKeys = getFullKeyListByTreeData(props.treeData);\n } else {\n state._expandedKeys = getFullKeyList(this.$slots.default);\n }\n } else if (defaultExpandParent) {\n state._expandedKeys = conductExpandParent(expandedKeys || defaultExpandedKeys, keyEntities);\n } else {\n state._expandedKeys = expandedKeys || defaultExpandedKeys;\n }\n\n this.onDebounceExpand = debounce(this.expandFolderNode, 200, { leading: true });\n return {\n _selectedKeys: [],\n _expandedKeys: [],\n ...state,\n };\n },\n watch: {\n expandedKeys(val) {\n this.setState({ _expandedKeys: val });\n },\n selectedKeys(val) {\n this.setState({ _selectedKeys: val });\n },\n },\n methods: {\n onExpand(expandedKeys, info) {\n this.setUncontrolledState({ _expandedKeys: expandedKeys });\n\n this.$emit('expand', expandedKeys, info);\n\n return undefined;\n },\n\n onClick(event, node) {\n const { expandAction } = this.$props;\n\n // Expand the tree\n if (expandAction === 'click') {\n this.onDebounceExpand(event, node);\n }\n this.$emit('click', event, node);\n },\n\n onDoubleClick(event, node) {\n const { expandAction } = this.$props;\n\n // Expand the tree\n if (expandAction === 'dblclick' || expandAction === 'doubleclick') {\n this.onDebounceExpand(event, node);\n }\n\n this.$emit('doubleclick', event, node);\n this.$emit('dblclick', event, node);\n },\n\n onSelect(keys, event) {\n const { multiple } = this.$props;\n const children = this.$slots.default || [];\n const { _expandedKeys: expandedKeys = [] } = this.$data;\n const { node, nativeEvent } = event;\n const { eventKey = '' } = node;\n\n const newState = {};\n\n // We need wrap this event since some value is not same\n const newEvent = {\n ...event,\n selected: true, // Directory selected always true\n };\n\n // Windows / Mac single pick\n const ctrlPick = nativeEvent.ctrlKey || nativeEvent.metaKey;\n const shiftPick = nativeEvent.shiftKey;\n\n // Generate new selected keys\n let newSelectedKeys;\n if (multiple && ctrlPick) {\n // Control click\n newSelectedKeys = keys;\n this.lastSelectedKey = eventKey;\n this.cachedSelectedKeys = newSelectedKeys;\n newEvent.selectedNodes = convertDirectoryKeysToNodes(children, newSelectedKeys);\n } else if (multiple && shiftPick) {\n // Shift click\n newSelectedKeys = Array.from(\n new Set([\n ...(this.cachedSelectedKeys || []),\n ...calcRangeKeys(children, expandedKeys, eventKey, this.lastSelectedKey),\n ]),\n );\n newEvent.selectedNodes = convertDirectoryKeysToNodes(children, newSelectedKeys);\n } else {\n // Single click\n newSelectedKeys = [eventKey];\n this.lastSelectedKey = eventKey;\n this.cachedSelectedKeys = newSelectedKeys;\n newEvent.selectedNodes = [event.node];\n }\n newState._selectedKeys = newSelectedKeys;\n\n this.$emit('update:selectedKeys', newSelectedKeys);\n this.$emit('select', newSelectedKeys, newEvent);\n\n this.setUncontrolledState(newState);\n },\n\n expandFolderNode(event, node) {\n const { isLeaf } = node;\n\n if (isLeaf || event.shiftKey || event.metaKey || event.ctrlKey) {\n return;\n }\n\n if (this.$refs.tree.$refs.tree) {\n // Get internal vc-tree\n const internalTree = this.$refs.tree.$refs.tree;\n\n // Call internal rc-tree expand function\n // https://github.com/ant-design/ant-design/issues/12567\n internalTree.onNodeExpand(event, node);\n }\n },\n\n setUncontrolledState(state) {\n const newState = omit(\n state,\n Object.keys(getOptionProps(this)).map(p => `_${p}`),\n );\n if (Object.keys(newState).length) {\n this.setState(newState);\n }\n },\n },\n\n render() {\n const { prefixCls: customizePrefixCls, ...props } = getOptionProps(this);\n const getPrefixCls = this.configProvider.getPrefixCls;\n const prefixCls = getPrefixCls('tree', customizePrefixCls);\n const { _expandedKeys: expandedKeys, _selectedKeys: selectedKeys } = this.$data;\n const listeners = getListeners(this);\n warning(!listeners.doubleclick, '`doubleclick` is deprecated. please use `dblclick` instead.');\n const treeProps = {\n props: {\n icon: getIcon,\n ...props,\n prefixCls,\n expandedKeys,\n selectedKeys,\n switcherIcon: getComponentFromProp(this, 'switcherIcon'),\n },\n ref: 'tree',\n class: `${prefixCls}-directory`,\n on: {\n ...omit(listeners, ['update:selectedKeys']),\n select: this.onSelect,\n click: this.onClick,\n dblclick: this.onDoubleClick,\n expand: this.onExpand,\n },\n };\n return <Tree {...treeProps}>{this.$slots.default}</Tree>;\n },\n};\n","import Tree from './Tree';\nimport DirectoryTree from './DirectoryTree';\nimport Base from '../base';\n\nTree.TreeNode.name = 'ATreeNode';\nTree.DirectoryTree = DirectoryTree;\n/* istanbul ignore next */\nTree.install = function(Vue) {\n Vue.use(Base);\n Vue.component(Tree.name, Tree);\n Vue.component(Tree.TreeNode.name, Tree.TreeNode);\n Vue.component(DirectoryTree.name, DirectoryTree);\n};\n\nexport default Tree;\n","export function hasClass(node, className) {\n if (node.classList) {\n return node.classList.contains(className);\n }\n const originClass = node.className;\n return ` ${originClass} `.indexOf(` ${className} `) > -1;\n}\n\nexport function addClass(node, className) {\n if (node.classList) {\n node.classList.add(className);\n } else {\n if (!hasClass(node, className)) {\n node.className = `${node.className} ${className}`;\n }\n }\n}\n\nexport function removeClass(node, className) {\n if (node.classList) {\n node.classList.remove(className);\n } else {\n if (hasClass(node, className)) {\n const originClass = node.className;\n node.className = ` ${originClass} `.replace(` ${className} `, ' ');\n }\n }\n}\n","export const SHOW_ALL = 'SHOW_ALL';\nexport const SHOW_PARENT = 'SHOW_PARENT';\nexport const SHOW_CHILD = 'SHOW_CHILD';\n","import warning from 'warning';\nimport omit from 'omit.js';\nimport {\n convertDataToTree as vcConvertDataToTree,\n convertTreeToEntities as vcConvertTreeToEntities,\n conductCheck as rcConductCheck,\n} from '../../vc-tree/src/util';\nimport { hasClass } from '../../vc-util/Dom/class';\nimport { SHOW_CHILD, SHOW_PARENT } from './strategies';\nimport { getSlots, getPropsData, isEmptyElement } from '../../_util/props-util';\n\nlet warnDeprecatedLabel = false;\n\n// =================== DOM =====================\nexport function findPopupContainer(node, prefixClass) {\n let current = node;\n while (current) {\n if (hasClass(current, prefixClass)) {\n return current;\n }\n current = current.parentNode;\n }\n\n return null;\n}\n\n// =================== MISC ====================\nexport function toTitle(title) {\n if (typeof title === 'string') {\n return title;\n }\n return null;\n}\n\nexport function toArray(data) {\n if (data === undefined || data === null) return [];\n\n return Array.isArray(data) ? data : [data];\n}\n\nexport function createRef() {\n const func = function setRef(node) {\n func.current = node;\n };\n return func;\n}\n\n// =============== Legacy ===============\nexport const UNSELECTABLE_STYLE = {\n userSelect: 'none',\n WebkitUserSelect: 'none',\n};\n\nexport const UNSELECTABLE_ATTRIBUTE = {\n unselectable: 'unselectable',\n};\n\n/**\n * Convert position list to hierarchy structure.\n * This is little hack since use '-' to split the position.\n */\nexport function flatToHierarchy(positionList) {\n if (!positionList.length) {\n return [];\n }\n\n const entrances = {};\n\n // Prepare the position map\n const posMap = {};\n const parsedList = positionList.slice().map(entity => {\n const clone = {\n ...entity,\n fields: entity.pos.split('-'),\n };\n delete clone.children;\n return clone;\n });\n\n parsedList.forEach(entity => {\n posMap[entity.pos] = entity;\n });\n\n parsedList.sort((a, b) => {\n return a.fields.length - b.fields.length;\n });\n\n // Create the hierarchy\n parsedList.forEach(entity => {\n const parentPos = entity.fields.slice(0, -1).join('-');\n const parentEntity = posMap[parentPos];\n\n if (!parentEntity) {\n entrances[entity.pos] = entity;\n } else {\n parentEntity.children = parentEntity.children || [];\n parentEntity.children.push(entity);\n }\n\n // Some time position list provide `key`, we don't need it\n delete entity.key;\n delete entity.fields;\n });\n\n return Object.keys(entrances).map(key => entrances[key]);\n}\n\n// =============== Accessibility ===============\nlet ariaId = 0;\n\nexport function resetAriaId() {\n ariaId = 0;\n}\n\nexport function generateAriaId(prefix) {\n ariaId += 1;\n return `${prefix}_${ariaId}`;\n}\n\nexport function isLabelInValue(props) {\n const { treeCheckable, treeCheckStrictly, labelInValue } = props;\n if (treeCheckable && treeCheckStrictly) {\n return true;\n }\n return labelInValue || false;\n}\n\n// =================== Tree ====================\nexport function parseSimpleTreeData(treeData, { id, pId, rootPId }) {\n const keyNodes = {};\n const rootNodeList = [];\n\n // Fill in the map\n const nodeList = treeData.map(node => {\n const clone = { ...node };\n const key = clone[id];\n keyNodes[key] = clone;\n clone.key = clone.key || key;\n return clone;\n });\n\n // Connect tree\n nodeList.forEach(node => {\n const parentKey = node[pId];\n const parent = keyNodes[parentKey];\n\n // Fill parent\n if (parent) {\n parent.children = parent.children || [];\n parent.children.push(node);\n }\n\n // Fill root tree node\n if (parentKey === rootPId || (!parent && rootPId === null)) {\n rootNodeList.push(node);\n }\n });\n\n return rootNodeList;\n}\n\n/**\n * Detect if position has relation.\n * e.g. 1-2 related with 1-2-3\n * e.g. 1-3-2 related with 1\n * e.g. 1-2 not related with 1-21\n */\nexport function isPosRelated(pos1, pos2) {\n const fields1 = pos1.split('-');\n const fields2 = pos2.split('-');\n\n const minLen = Math.min(fields1.length, fields2.length);\n for (let i = 0; i < minLen; i += 1) {\n if (fields1[i] !== fields2[i]) {\n return false;\n }\n }\n return true;\n}\n\n/**\n * This function is only used on treeNode check (none treeCheckStrictly but has searchInput).\n * We convert entity to { node, pos, children } format.\n * This is legacy bug but we still need to do with it.\n * @param entity\n */\nexport function cleanEntity({ node, pos, children }) {\n const instance = {\n node,\n pos,\n };\n\n if (children) {\n instance.children = children.map(cleanEntity);\n }\n\n return instance;\n}\n\n/**\n * Get a filtered TreeNode list by provided treeNodes.\n * [Legacy] Since `Tree` use `key` as map but `key` will changed by React,\n * we have to convert `treeNodes > data > treeNodes` to keep the key.\n * Such performance hungry!\n */\nexport function getFilterTree(h, treeNodes, searchValue, filterFunc, valueEntities, Component) {\n if (!searchValue) {\n return null;\n }\n\n function mapFilteredNodeToData(node) {\n if (!node || isEmptyElement(node)) return null;\n\n let match = false;\n if (filterFunc(searchValue, node)) {\n match = true;\n }\n let children = getSlots(node).default;\n children = ((typeof children === 'function' ? children() : children) || [])\n .map(mapFilteredNodeToData)\n .filter(n => n);\n if (children.length || match) {\n return (\n <Component {...node.data} key={valueEntities[getPropsData(node).value].key}>\n {children}\n </Component>\n );\n }\n\n return null;\n }\n return treeNodes.map(mapFilteredNodeToData).filter(node => node);\n}\n\n// =================== Value ===================\n/**\n * Convert value to array format to make logic simplify.\n */\nexport function formatInternalValue(value, props) {\n const valueList = toArray(value);\n\n // Parse label in value\n if (isLabelInValue(props)) {\n return valueList.map(val => {\n if (typeof val !== 'object' || !val) {\n return {\n value: '',\n label: '',\n };\n }\n\n return val;\n });\n }\n\n return valueList.map(val => ({\n value: val,\n }));\n}\n\nexport function getLabel(wrappedValue, entity, treeNodeLabelProp) {\n if (wrappedValue.label) {\n return wrappedValue.label;\n }\n\n if (entity) {\n const props = getPropsData(entity.node);\n if (Object.keys(props).length) {\n return props[treeNodeLabelProp];\n }\n }\n\n // Since value without entity will be in missValueList.\n // This code will never reached, but we still need this in case.\n return wrappedValue.value;\n}\n\n/**\n * Convert internal state `valueList` to user needed value list.\n * This will return an array list. You need check if is not multiple when return.\n *\n * `allCheckedNodes` is used for `treeCheckStrictly`\n */\nexport function formatSelectorValue(valueList, props, valueEntities) {\n const { treeNodeLabelProp, treeCheckable, treeCheckStrictly, showCheckedStrategy } = props;\n\n // Will hide some value if `showCheckedStrategy` is set\n if (treeCheckable && !treeCheckStrictly) {\n const values = {};\n valueList.forEach(wrappedValue => {\n values[wrappedValue.value] = wrappedValue;\n });\n const hierarchyList = flatToHierarchy(valueList.map(({ value }) => valueEntities[value]));\n\n if (showCheckedStrategy === SHOW_PARENT) {\n // Only get the parent checked value\n return hierarchyList.map(({ node }) => {\n const value = getPropsData(node).value;\n return {\n label: getLabel(values[value], valueEntities[value], treeNodeLabelProp),\n value,\n };\n });\n }\n if (showCheckedStrategy === SHOW_CHILD) {\n // Only get the children checked value\n const targetValueList = [];\n\n // Find the leaf children\n const traverse = ({ node, children }) => {\n const value = getPropsData(node).value;\n if (!children || children.length === 0) {\n targetValueList.push({\n label: getLabel(values[value], valueEntities[value], treeNodeLabelProp),\n value,\n });\n return;\n }\n\n children.forEach(entity => {\n traverse(entity);\n });\n };\n\n hierarchyList.forEach(entity => {\n traverse(entity);\n });\n\n return targetValueList;\n }\n }\n\n return valueList.map(wrappedValue => ({\n label: getLabel(wrappedValue, valueEntities[wrappedValue.value], treeNodeLabelProp),\n value: wrappedValue.value,\n }));\n}\n\n/**\n * Use `rc-tree` convertDataToTree to convert treeData to TreeNodes.\n * This will change the label to title value\n */\nfunction processProps(props) {\n const { title, label, value, class: cls, style, on = {} } = props;\n let key = props.key;\n if (!key && (key === undefined || key === null)) {\n key = value;\n }\n const p = {\n props: omit(props, ['on', 'key', 'class', 'className', 'style']),\n on,\n class: cls || props.className,\n style,\n key,\n };\n // Warning user not to use deprecated label prop.\n if (label && !title) {\n if (!warnDeprecatedLabel) {\n warning(false, \"'label' in treeData is deprecated. Please use 'title' instead.\");\n warnDeprecatedLabel = true;\n }\n\n p.props.title = label;\n }\n\n return p;\n}\n\nexport function convertDataToTree(h, treeData) {\n return vcConvertDataToTree(h, treeData, { processProps });\n}\n\n/**\n * Use `rc-tree` convertTreeToEntities for entities calculation.\n * We have additional entities of `valueEntities`\n */\nfunction initWrapper(wrapper) {\n return {\n ...wrapper,\n valueEntities: {},\n };\n}\n\nfunction processEntity(entity, wrapper) {\n const value = getPropsData(entity.node).value;\n entity.value = value;\n\n // This should be empty, or will get error message.\n const currentEntity = wrapper.valueEntities[value];\n if (currentEntity) {\n warning(\n false,\n `Conflict! value of node '${entity.key}' (${value}) has already used by node '${currentEntity.key}'.`,\n );\n }\n wrapper.valueEntities[value] = entity;\n}\n\nexport function convertTreeToEntities(treeNodes) {\n return vcConvertTreeToEntities(treeNodes, {\n initWrapper,\n processEntity,\n });\n}\n\n/**\n * https://github.com/ant-design/ant-design/issues/13328\n * We need calculate the half check key when searchValue is set.\n */\n// TODO: This logic may better move to rc-tree\nexport function getHalfCheckedKeys(valueList, valueEntities) {\n const values = {};\n\n // Fill checked keys\n valueList.forEach(({ value }) => {\n values[value] = false;\n });\n\n // Fill half checked keys\n valueList.forEach(({ value }) => {\n let current = valueEntities[value];\n\n while (current && current.parent) {\n const parentValue = current.parent.value;\n if (parentValue in values) break;\n values[parentValue] = true;\n\n current = current.parent;\n }\n });\n\n // Get half keys\n return Object.keys(values)\n .filter(value => values[value])\n .map(value => valueEntities[value].key);\n}\n\nexport const conductCheck = rcConductCheck;\n","import PropTypes from '../../_util/vue-types';\n\nimport Trigger from '../../vc-trigger';\nimport { createRef } from './util';\nimport classNames from 'classnames';\n\nconst BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n ignoreShake: true,\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1,\n },\n ignoreShake: true,\n },\n};\n\nconst SelectTrigger = {\n name: 'SelectTrigger',\n props: {\n // Pass by outside user props\n disabled: PropTypes.bool,\n showSearch: PropTypes.bool,\n prefixCls: PropTypes.string,\n dropdownPopupAlign: PropTypes.object,\n dropdownClassName: PropTypes.string,\n dropdownStyle: PropTypes.object,\n transitionName: PropTypes.string,\n animation: PropTypes.string,\n getPopupContainer: PropTypes.func,\n\n dropdownMatchSelectWidth: PropTypes.bool,\n\n // Pass by Select\n isMultiple: PropTypes.bool,\n dropdownPrefixCls: PropTypes.string,\n dropdownVisibleChange: PropTypes.func,\n popupElement: PropTypes.node,\n open: PropTypes.bool,\n },\n created() {\n this.triggerRef = createRef();\n },\n methods: {\n getDropdownTransitionName() {\n const { transitionName, animation, dropdownPrefixCls } = this.$props;\n if (!transitionName && animation) {\n return `${dropdownPrefixCls}-${animation}`;\n }\n return transitionName;\n },\n\n forcePopupAlign() {\n const $trigger = this.triggerRef.current;\n if ($trigger) {\n $trigger.forcePopupAlign();\n }\n },\n },\n\n render() {\n const {\n disabled,\n isMultiple,\n dropdownPopupAlign,\n dropdownMatchSelectWidth,\n dropdownClassName,\n dropdownStyle,\n dropdownVisibleChange,\n getPopupContainer,\n dropdownPrefixCls,\n popupElement,\n open,\n } = this.$props;\n\n // TODO: [Legacy] Use new action when trigger fixed: https://github.com/react-component/trigger/pull/86\n\n // When false do nothing with the width\n // ref: https://github.com/ant-design/ant-design/issues/10927\n let stretch;\n if (dropdownMatchSelectWidth !== false) {\n stretch = dropdownMatchSelectWidth ? 'width' : 'minWidth';\n }\n return (\n <Trigger\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.triggerRef,\n },\n ],\n }}\n action={disabled ? [] : ['click']}\n popupPlacement=\"bottomLeft\"\n builtinPlacements={BUILT_IN_PLACEMENTS}\n popupAlign={dropdownPopupAlign}\n prefixCls={dropdownPrefixCls}\n popupTransitionName={this.getDropdownTransitionName()}\n onPopupVisibleChange={dropdownVisibleChange}\n popup={popupElement}\n popupVisible={open}\n getPopupContainer={getPopupContainer}\n stretch={stretch}\n popupClassName={classNames(dropdownClassName, {\n [`${dropdownPrefixCls}--multiple`]: isMultiple,\n [`${dropdownPrefixCls}--single`]: !isMultiple,\n })}\n popupStyle={dropdownStyle}\n >\n {this.$slots.default}\n </Trigger>\n );\n },\n};\n\nexport default SelectTrigger;\n","/**\n * Input Box is in different position for different mode.\n * This not the same design as `Select` cause it's followed by antd 0.x `Select`.\n * We will not follow the new design immediately since antd 3.x is already released.\n *\n * So this file named as Selector to avoid confuse.\n */\nimport { createRef } from '../util';\nimport PropTypes from '../../../_util/vue-types';\nimport classNames from 'classnames';\nimport { initDefaultProps, getComponentFromProp, getListeners } from '../../../_util/props-util';\nimport BaseMixin from '../../../_util/BaseMixin';\nexport const selectorPropTypes = () => ({\n prefixCls: PropTypes.string,\n className: PropTypes.string,\n open: PropTypes.bool,\n selectorValueList: PropTypes.array,\n allowClear: PropTypes.bool,\n showArrow: PropTypes.bool,\n // onClick: PropTypes.func,\n // onBlur: PropTypes.func,\n // onFocus: PropTypes.func,\n removeSelected: PropTypes.func,\n choiceTransitionName: PropTypes.string,\n // Pass by component\n ariaId: PropTypes.string,\n inputIcon: PropTypes.any,\n clearIcon: PropTypes.any,\n removeIcon: PropTypes.any,\n placeholder: PropTypes.any,\n disabled: PropTypes.bool,\n focused: PropTypes.bool,\n});\n\nfunction noop() {}\nexport default function(modeName) {\n const BaseSelector = {\n name: 'BaseSelector',\n mixins: [BaseMixin],\n props: initDefaultProps(\n {\n ...selectorPropTypes(),\n\n // Pass by HOC\n renderSelection: PropTypes.func.isRequired,\n renderPlaceholder: PropTypes.func,\n tabIndex: PropTypes.number,\n },\n {\n tabIndex: 0,\n },\n ),\n inject: {\n vcTreeSelect: { default: () => ({}) },\n },\n created() {\n this.domRef = createRef();\n },\n methods: {\n onFocus(e) {\n const { focused } = this.$props;\n const {\n vcTreeSelect: { onSelectorFocus },\n } = this;\n\n if (!focused) {\n onSelectorFocus();\n }\n this.__emit('focus', e);\n },\n\n onBlur(e) {\n const {\n vcTreeSelect: { onSelectorBlur },\n } = this;\n\n // TODO: Not trigger when is inner component get focused\n onSelectorBlur();\n this.__emit('blur', e);\n },\n\n focus() {\n this.domRef.current.focus();\n },\n\n blur() {\n this.domRef.current.blur();\n },\n\n renderClear() {\n const { prefixCls, allowClear, selectorValueList } = this.$props;\n const {\n vcTreeSelect: { onSelectorClear },\n } = this;\n\n if (!allowClear || !selectorValueList.length || !selectorValueList[0].value) {\n return null;\n }\n const clearIcon = getComponentFromProp(this, 'clearIcon');\n return (\n <span key=\"clear\" class={`${prefixCls}-selection__clear`} onClick={onSelectorClear}>\n {clearIcon}\n </span>\n );\n },\n\n renderArrow() {\n const { prefixCls, showArrow } = this.$props;\n if (!showArrow) {\n return null;\n }\n const inputIcon = getComponentFromProp(this, 'inputIcon');\n return (\n <span key=\"arrow\" class={`${prefixCls}-arrow`} style={{ outline: 'none' }}>\n {inputIcon}\n </span>\n );\n },\n },\n\n render() {\n const {\n prefixCls,\n className,\n style,\n open,\n focused,\n disabled,\n allowClear,\n ariaId,\n renderSelection,\n renderPlaceholder,\n tabIndex,\n } = this.$props;\n const {\n vcTreeSelect: { onSelectorKeyDown },\n } = this;\n\n let myTabIndex = tabIndex;\n if (disabled) {\n myTabIndex = null;\n }\n\n return (\n <span\n style={style}\n onClick={getListeners(this).click || noop}\n class={classNames(className, prefixCls, {\n [`${prefixCls}-open`]: open,\n [`${prefixCls}-focused`]: open || focused,\n [`${prefixCls}-disabled`]: disabled,\n [`${prefixCls}-enabled`]: !disabled,\n [`${prefixCls}-allow-clear`]: allowClear,\n })}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.domRef,\n },\n ],\n }}\n role=\"combobox\"\n aria-expanded={open}\n aria-owns={open ? ariaId : undefined}\n aria-controls={open ? ariaId : undefined}\n aria-haspopup=\"listbox\"\n aria-disabled={disabled}\n tabIndex={myTabIndex}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onKeydown={onSelectorKeyDown}\n >\n <span\n key=\"selection\"\n class={classNames(`${prefixCls}-selection`, `${prefixCls}-selection--${modeName}`)}\n >\n {renderSelection()}\n {this.renderClear()}\n {this.renderArrow()}\n\n {renderPlaceholder && renderPlaceholder()}\n </span>\n </span>\n );\n },\n };\n\n return BaseSelector;\n}\n","import generateSelector, { selectorPropTypes } from '../Base/BaseSelector';\nimport { toTitle } from '../util';\nimport { getOptionProps, getListeners } from '../../../_util/props-util';\nimport { createRef } from '../util';\nconst Selector = generateSelector('single');\n\nconst SingleSelector = {\n name: 'SingleSelector',\n props: selectorPropTypes(),\n created() {\n this.selectorRef = createRef();\n },\n methods: {\n focus() {\n this.selectorRef.current.focus();\n },\n blur() {\n this.selectorRef.current.blur();\n },\n renderSelection() {\n const { selectorValueList, placeholder, prefixCls } = this.$props;\n\n let innerNode;\n\n if (selectorValueList.length) {\n const { label, value } = selectorValueList[0];\n innerNode = (\n <span key=\"value\" title={toTitle(label)} class={`${prefixCls}-selection-selected-value`}>\n {label || value}\n </span>\n );\n } else {\n innerNode = (\n <span key=\"placeholder\" class={`${prefixCls}-selection__placeholder`}>\n {placeholder}\n </span>\n );\n }\n\n return <span class={`${prefixCls}-selection__rendered`}>{innerNode}</span>;\n },\n },\n\n render() {\n const props = {\n props: {\n ...getOptionProps(this),\n renderSelection: this.renderSelection,\n },\n on: getListeners(this),\n directives: [\n {\n name: 'ant-ref',\n value: this.selectorRef,\n },\n ],\n };\n return <Selector {...props} />;\n },\n};\n\nexport default SingleSelector;\n","/**\n * Since search box is in different position with different mode.\n * - Single: in the popup box\n * - multiple: in the selector\n * Move the code as a SearchInput for easy management.\n */\n\nimport PropTypes from '../../_util/vue-types';\nimport { createRef } from './util';\n\nconst SearchInput = {\n name: 'SearchInput',\n props: {\n open: PropTypes.bool,\n searchValue: PropTypes.string,\n prefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n renderPlaceholder: PropTypes.func,\n needAlign: PropTypes.bool,\n ariaId: PropTypes.string,\n },\n inject: {\n vcTreeSelect: { default: () => ({}) },\n },\n data() {\n return {\n mirrorSearchValue: this.searchValue,\n };\n },\n watch: {\n searchValue(val) {\n this.mirrorSearchValue = val;\n },\n },\n created() {\n this.inputRef = createRef();\n this.mirrorInputRef = createRef();\n this.prevProps = { ...this.$props };\n },\n mounted() {\n this.$nextTick(() => {\n const { open, needAlign } = this.$props;\n if (needAlign) {\n this.alignInputWidth();\n }\n\n if (open) {\n this.focus(true);\n }\n });\n },\n\n updated() {\n const { open, searchValue, needAlign } = this.$props;\n const { prevProps } = this;\n this.$nextTick(() => {\n if (open && prevProps.open !== open) {\n this.focus();\n }\n if (needAlign && searchValue !== prevProps.searchValue) {\n this.alignInputWidth();\n }\n this.prevProps = { ...this.$props };\n });\n },\n methods: {\n /**\n * `scrollWidth` is not correct in IE, do the workaround.\n * ref: https://github.com/react-component/tree-select/issues/65\n * clientWidth 0 when mounted in vue. why?\n */\n alignInputWidth() {\n this.inputRef.current.style.width = `${this.mirrorInputRef.current.clientWidth ||\n this.mirrorInputRef.current.offsetWidth}px`;\n },\n\n /**\n * Need additional timeout for focus cause parent dom is not ready when didMount trigger\n */\n focus(isDidMount) {\n if (this.inputRef.current) {\n if (isDidMount) {\n setTimeout(() => {\n this.inputRef.current.focus();\n }, 0);\n } else {\n // set it into else, Avoid scrolling when focus\n this.inputRef.current.focus();\n }\n }\n },\n\n blur() {\n if (this.inputRef.current) {\n this.inputRef.current.blur();\n }\n },\n handleInputChange(e) {\n const { value, composing } = e.target;\n const { searchValue = '' } = this;\n if (e.isComposing || composing || searchValue === value) {\n this.mirrorSearchValue = value;\n return;\n }\n this.vcTreeSelect.onSearchInputChange(e);\n },\n },\n\n render() {\n const { searchValue, prefixCls, disabled, renderPlaceholder, open, ariaId } = this.$props;\n const {\n vcTreeSelect: { onSearchInputKeyDown },\n handleInputChange,\n mirrorSearchValue,\n } = this;\n return (\n <span class={`${prefixCls}-search__field__wrap`}>\n <input\n type=\"text\"\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.inputRef,\n },\n {\n name: 'ant-input',\n },\n ],\n }}\n onInput={handleInputChange}\n onKeydown={onSearchInputKeyDown}\n value={searchValue}\n disabled={disabled}\n class={`${prefixCls}-search__field`}\n aria-label=\"filter select\"\n aria-autocomplete=\"list\"\n aria-controls={open ? ariaId : undefined}\n aria-multiline=\"false\"\n />\n <span\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.mirrorInputRef,\n },\n ],\n }}\n class={`${prefixCls}-search__field__mirror`}\n >\n {mirrorSearchValue}&nbsp;\n </span>\n {renderPlaceholder && !mirrorSearchValue ? renderPlaceholder() : null}\n </span>\n );\n },\n};\n\nexport default SearchInput;\n","import PropTypes from '../../../../_util/vue-types';\nimport { toTitle, UNSELECTABLE_ATTRIBUTE, UNSELECTABLE_STYLE } from '../../util';\nimport { getComponentFromProp, getListeners } from '../../../../_util/props-util';\nimport BaseMixin from '../../../../_util/BaseMixin';\n\nconst Selection = {\n mixins: [BaseMixin],\n props: {\n prefixCls: PropTypes.string,\n maxTagTextLength: PropTypes.number,\n // onRemove: PropTypes.func,\n\n label: PropTypes.any,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n removeIcon: PropTypes.any,\n },\n methods: {\n onRemove(event) {\n const { value } = this.$props;\n this.__emit('remove', event, value);\n event.stopPropagation();\n },\n },\n\n render() {\n const { prefixCls, maxTagTextLength, label, value } = this.$props;\n let content = label || value;\n if (maxTagTextLength && typeof content === 'string' && content.length > maxTagTextLength) {\n content = `${content.slice(0, maxTagTextLength)}...`;\n }\n\n return (\n <li\n style={UNSELECTABLE_STYLE}\n {...{ attrs: UNSELECTABLE_ATTRIBUTE }}\n role=\"menuitem\"\n class={`${prefixCls}-selection__choice`}\n title={toTitle(label)}\n >\n {getListeners(this).remove && (\n <span class={`${prefixCls}-selection__choice__remove`} onClick={this.onRemove}>\n {getComponentFromProp(this, 'removeIcon')}\n </span>\n )}\n <span class={`${prefixCls}-selection__choice__content`}>{content}</span>\n </li>\n );\n },\n};\n\nexport default Selection;\n","import PropTypes from '../../../../_util/vue-types';\nimport { createRef } from '../../util';\nimport generateSelector, { selectorPropTypes } from '../../Base/BaseSelector';\nimport SearchInput from '../../SearchInput';\nimport Selection from './Selection';\nimport { getComponentFromProp, getListeners } from '../../../../_util/props-util';\nimport getTransitionProps from '../../../../_util/getTransitionProps';\nimport BaseMixin from '../../../../_util/BaseMixin';\nconst TREE_SELECT_EMPTY_VALUE_KEY = 'RC_TREE_SELECT_EMPTY_VALUE_KEY';\n\nconst Selector = generateSelector('multiple');\n\n// export const multipleSelectorContextTypes = {\n// onMultipleSelectorRemove: PropTypes.func.isRequired,\n// }\n\nconst MultipleSelector = {\n mixins: [BaseMixin],\n props: {\n ...selectorPropTypes(),\n ...SearchInput.props,\n selectorValueList: PropTypes.array,\n disabled: PropTypes.bool,\n searchValue: PropTypes.string,\n labelInValue: PropTypes.bool,\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.any,\n\n // onChoiceAnimationLeave: PropTypes.func,\n },\n inject: {\n vcTreeSelect: { default: () => ({}) },\n },\n created() {\n this.inputRef = createRef();\n },\n methods: {\n onPlaceholderClick() {\n this.inputRef.current.focus();\n },\n\n focus() {\n this.inputRef.current.focus();\n },\n blur() {\n this.inputRef.current.blur();\n },\n\n _renderPlaceholder() {\n const {\n prefixCls,\n placeholder,\n searchPlaceholder,\n searchValue,\n selectorValueList,\n } = this.$props;\n\n const currentPlaceholder = placeholder || searchPlaceholder;\n\n if (!currentPlaceholder) return null;\n\n const hidden = searchValue || selectorValueList.length;\n\n // [Legacy] Not remove the placeholder\n return (\n <span\n style={{\n display: hidden ? 'none' : 'block',\n }}\n onClick={this.onPlaceholderClick}\n class={`${prefixCls}-search__field__placeholder`}\n >\n {currentPlaceholder}\n </span>\n );\n },\n onChoiceAnimationLeave(...args) {\n this.__emit('choiceAnimationLeave', ...args);\n },\n renderSelection() {\n const {\n selectorValueList,\n choiceTransitionName,\n prefixCls,\n labelInValue,\n maxTagCount,\n } = this.$props;\n const {\n vcTreeSelect: { onMultipleSelectorRemove },\n $slots,\n } = this;\n const listeners = getListeners(this);\n // Check if `maxTagCount` is set\n let myValueList = selectorValueList;\n if (maxTagCount >= 0) {\n myValueList = selectorValueList.slice(0, maxTagCount);\n }\n // Selector node list\n const selectedValueNodes = myValueList.map(({ label, value }) => (\n <Selection\n {...{\n props: {\n ...this.$props,\n label,\n value,\n },\n on: { ...listeners, remove: onMultipleSelectorRemove },\n }}\n key={value || TREE_SELECT_EMPTY_VALUE_KEY}\n >\n {$slots.default}\n </Selection>\n ));\n\n // Rest node count\n if (maxTagCount >= 0 && maxTagCount < selectorValueList.length) {\n let content = `+ ${selectorValueList.length - maxTagCount} ...`;\n const maxTagPlaceholder = getComponentFromProp(this, 'maxTagPlaceholder', {}, false);\n if (typeof maxTagPlaceholder === 'string') {\n content = maxTagPlaceholder;\n } else if (typeof maxTagPlaceholder === 'function') {\n const restValueList = selectorValueList.slice(maxTagCount);\n content = maxTagPlaceholder(\n labelInValue ? restValueList : restValueList.map(({ value }) => value),\n );\n }\n\n const restNodeSelect = (\n <Selection\n {...{\n props: {\n ...this.$props,\n label: content,\n value: null,\n },\n on: listeners,\n }}\n key=\"rc-tree-select-internal-max-tag-counter\"\n >\n {$slots.default}\n </Selection>\n );\n\n selectedValueNodes.push(restNodeSelect);\n }\n\n selectedValueNodes.push(\n <li class={`${prefixCls}-search ${prefixCls}-search--inline`} key=\"__input\">\n <SearchInput\n {...{\n props: {\n ...this.$props,\n needAlign: true,\n },\n on: listeners,\n directives: [\n {\n name: 'ant-ref',\n value: this.inputRef,\n },\n ],\n }}\n >\n {$slots.default}\n </SearchInput>\n </li>,\n );\n const className = `${prefixCls}-selection__rendered`;\n if (choiceTransitionName) {\n const transitionProps = getTransitionProps(choiceTransitionName, {\n tag: 'ul',\n afterLeave: this.onChoiceAnimationLeave,\n });\n return (\n <transition-group class={className} {...transitionProps}>\n {selectedValueNodes}\n </transition-group>\n );\n }\n return (\n <ul class={className} role=\"menubar\">\n {selectedValueNodes}\n </ul>\n );\n },\n },\n\n render() {\n const { $slots } = this;\n const listeners = getListeners(this);\n return (\n <Selector\n {...{\n props: {\n ...this.$props,\n tabIndex: -1,\n showArrow: false,\n renderSelection: this.renderSelection,\n renderPlaceholder: this._renderPlaceholder,\n },\n on: listeners,\n }}\n >\n {$slots.default}\n </Selector>\n );\n },\n};\n\nexport default MultipleSelector;\n","import warning from 'warning';\nimport PropTypes from '../../../_util/vue-types';\nimport { Tree } from '../../../vc-tree';\nimport BaseMixin from '../../../_util/BaseMixin';\nimport { createRef } from '../util';\n\n// export const popupContextTypes = {\n// onPopupKeyDown: PropTypes.func.isRequired,\n// onTreeNodeSelect: PropTypes.func.isRequired,\n// onTreeNodeCheck: PropTypes.func.isRequired,\n// }\nfunction getDerivedState(nextProps, prevState) {\n const {\n _prevProps: prevProps = {},\n _loadedKeys: loadedKeys,\n _expandedKeyList: expandedKeyList,\n _cachedExpandedKeyList: cachedExpandedKeyList,\n } = prevState || {};\n const {\n valueList,\n valueEntities,\n keyEntities,\n treeExpandedKeys,\n filteredTreeNodes,\n upperSearchValue,\n } = nextProps;\n\n const newState = {\n _prevProps: { ...nextProps },\n };\n\n // Check value update\n if (valueList !== prevProps.valueList) {\n newState._keyList = valueList\n .map(({ value }) => valueEntities[value])\n .filter(entity => entity)\n .map(({ key }) => key);\n }\n\n // Show all when tree is in filter mode\n if (\n !treeExpandedKeys &&\n filteredTreeNodes &&\n filteredTreeNodes.length &&\n filteredTreeNodes !== prevProps.filteredTreeNodes\n ) {\n newState._expandedKeyList = [...keyEntities.keys()];\n }\n\n // Cache `expandedKeyList` when filter set\n if (upperSearchValue && !prevProps.upperSearchValue) {\n newState._cachedExpandedKeyList = expandedKeyList;\n } else if (!upperSearchValue && prevProps.upperSearchValue && !treeExpandedKeys) {\n newState._expandedKeyList = cachedExpandedKeyList || [];\n newState._cachedExpandedKeyList = [];\n }\n\n // Use expandedKeys if provided\n if (prevProps.treeExpandedKeys !== treeExpandedKeys) {\n newState._expandedKeyList = treeExpandedKeys;\n }\n\n // Clean loadedKeys if key not exist in keyEntities anymore\n if (nextProps.loadData) {\n newState._loadedKeys = loadedKeys.filter(key => keyEntities.has(key));\n }\n\n return newState;\n}\nconst BasePopup = {\n mixins: [BaseMixin],\n name: 'BasePopup',\n props: {\n prefixCls: PropTypes.string,\n upperSearchValue: PropTypes.string,\n valueList: PropTypes.array,\n searchHalfCheckedKeys: PropTypes.array,\n valueEntities: PropTypes.object,\n keyEntities: Map,\n treeIcon: PropTypes.bool,\n treeLine: PropTypes.bool,\n treeNodeFilterProp: PropTypes.string,\n treeCheckable: PropTypes.any,\n treeCheckStrictly: PropTypes.bool,\n treeDefaultExpandAll: PropTypes.bool,\n treeDefaultExpandedKeys: PropTypes.array,\n treeExpandedKeys: PropTypes.array,\n loadData: PropTypes.func,\n multiple: PropTypes.bool,\n // onTreeExpand: PropTypes.func,\n searchValue: PropTypes.string,\n treeNodes: PropTypes.any,\n filteredTreeNodes: PropTypes.any,\n notFoundContent: PropTypes.any,\n\n ariaId: PropTypes.string,\n switcherIcon: PropTypes.any,\n // HOC\n renderSearch: PropTypes.func,\n // onTreeExpanded: PropTypes.func,\n\n __propsSymbol__: PropTypes.any,\n },\n inject: {\n vcTreeSelect: { default: () => ({}) },\n },\n watch: {\n __propsSymbol__() {\n const state = getDerivedState(this.$props, this.$data);\n this.setState(state);\n },\n },\n data() {\n this.treeRef = createRef();\n warning(this.$props.__propsSymbol__, 'must pass __propsSymbol__');\n const { treeDefaultExpandAll, treeDefaultExpandedKeys, keyEntities } = this.$props;\n\n // TODO: make `expandedKeyList` control\n let expandedKeyList = treeDefaultExpandedKeys;\n if (treeDefaultExpandAll) {\n expandedKeyList = [...keyEntities.keys()];\n }\n\n const state = {\n _keyList: [],\n _expandedKeyList: expandedKeyList,\n // Cache `expandedKeyList` when tree is in filter. This is used in `getDerivedState`\n _cachedExpandedKeyList: [],\n _loadedKeys: [],\n _prevProps: {},\n };\n return {\n ...state,\n ...getDerivedState(this.$props, state),\n };\n },\n methods: {\n onTreeExpand(expandedKeyList) {\n const { treeExpandedKeys } = this.$props;\n\n // Set uncontrolled state\n if (!treeExpandedKeys) {\n this.setState({ _expandedKeyList: expandedKeyList }, () => {\n this.__emit('treeExpanded');\n });\n }\n this.__emit('update:treeExpandedKeys', expandedKeyList);\n this.__emit('treeExpand', expandedKeyList);\n },\n\n onLoad(loadedKeys) {\n this.setState({ _loadedKeys: loadedKeys });\n },\n\n getTree() {\n return this.treeRef.current;\n },\n\n /**\n * Not pass `loadData` when searching. To avoid loop ajax call makes browser crash.\n */\n getLoadData() {\n const { loadData, upperSearchValue } = this.$props;\n if (upperSearchValue) return null;\n return loadData;\n },\n\n /**\n * This method pass to Tree component which is used for add filtered class\n * in TreeNode > li\n */\n filterTreeNode(treeNode) {\n const { upperSearchValue, treeNodeFilterProp } = this.$props;\n\n const filterVal = treeNode[treeNodeFilterProp];\n if (typeof filterVal === 'string') {\n return upperSearchValue && filterVal.toUpperCase().indexOf(upperSearchValue) !== -1;\n }\n\n return false;\n },\n\n renderNotFound() {\n const { prefixCls, notFoundContent } = this.$props;\n\n return <span class={`${prefixCls}-not-found`}>{notFoundContent}</span>;\n },\n },\n\n render() {\n const {\n _keyList: keyList,\n _expandedKeyList: expandedKeyList,\n _loadedKeys: loadedKeys,\n } = this.$data;\n const {\n prefixCls,\n treeNodes,\n filteredTreeNodes,\n treeIcon,\n treeLine,\n treeCheckable,\n treeCheckStrictly,\n multiple,\n ariaId,\n renderSearch,\n switcherIcon,\n searchHalfCheckedKeys,\n } = this.$props;\n const {\n vcTreeSelect: { onPopupKeyDown, onTreeNodeSelect, onTreeNodeCheck },\n } = this;\n\n const loadData = this.getLoadData();\n\n const treeProps = {};\n\n if (treeCheckable) {\n treeProps.checkedKeys = keyList;\n } else {\n treeProps.selectedKeys = keyList;\n }\n let $notFound;\n let $treeNodes;\n if (filteredTreeNodes) {\n if (filteredTreeNodes.length) {\n treeProps.checkStrictly = true;\n $treeNodes = filteredTreeNodes;\n\n // Fill halfCheckedKeys\n if (treeCheckable && !treeCheckStrictly) {\n treeProps.checkedKeys = {\n checked: keyList,\n halfChecked: searchHalfCheckedKeys,\n };\n }\n } else {\n $notFound = this.renderNotFound();\n }\n } else if (!treeNodes || !treeNodes.length) {\n $notFound = this.renderNotFound();\n } else {\n $treeNodes = treeNodes;\n }\n\n let $tree;\n if ($notFound) {\n $tree = $notFound;\n } else {\n const treeAllProps = {\n props: {\n prefixCls: `${prefixCls}-tree`,\n showIcon: treeIcon,\n showLine: treeLine,\n selectable: !treeCheckable,\n checkable: treeCheckable,\n checkStrictly: treeCheckStrictly,\n multiple,\n loadData,\n loadedKeys,\n expandedKeys: expandedKeyList,\n filterTreeNode: this.filterTreeNode,\n switcherIcon,\n ...treeProps,\n __propsSymbol__: Symbol(),\n children: $treeNodes,\n },\n on: {\n select: onTreeNodeSelect,\n check: onTreeNodeCheck,\n expand: this.onTreeExpand,\n load: this.onLoad,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.treeRef,\n },\n ],\n };\n $tree = <Tree {...treeAllProps} />;\n }\n\n return (\n <div role=\"listbox\" id={ariaId} onKeydown={onPopupKeyDown} tabIndex={-1}>\n {renderSearch ? renderSearch() : null}\n {$tree}\n </div>\n );\n },\n};\n\nexport default BasePopup;\n","import PropTypes from '../../../_util/vue-types';\nimport BasePopup from '../Base/BasePopup';\nimport SearchInput from '../SearchInput';\nimport { createRef } from '../util';\nimport { getListeners } from '../../../_util/props-util';\n\nconst SinglePopup = {\n name: 'SinglePopup',\n props: {\n ...BasePopup.props,\n ...SearchInput.props,\n searchValue: PropTypes.string,\n showSearch: PropTypes.bool,\n dropdownPrefixCls: PropTypes.string,\n disabled: PropTypes.bool,\n searchPlaceholder: PropTypes.string,\n },\n created() {\n this.inputRef = createRef();\n this.searchRef = createRef();\n this.popupRef = createRef();\n },\n methods: {\n onPlaceholderClick() {\n this.inputRef.current.focus();\n },\n getTree() {\n return this.popupRef.current && this.popupRef.current.getTree();\n },\n _renderPlaceholder() {\n const { searchPlaceholder, searchValue, prefixCls } = this.$props;\n\n if (!searchPlaceholder) {\n return null;\n }\n\n return (\n <span\n style={{\n display: searchValue ? 'none' : 'block',\n }}\n onClick={this.onPlaceholderClick}\n class={`${prefixCls}-search__field__placeholder`}\n >\n {searchPlaceholder}\n </span>\n );\n },\n\n _renderSearch() {\n const { showSearch, dropdownPrefixCls } = this.$props;\n\n if (!showSearch) {\n return null;\n }\n\n return (\n <span\n class={`${dropdownPrefixCls}-search`}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.searchRef,\n },\n ],\n }}\n >\n <SearchInput\n {...{\n props: { ...this.$props, renderPlaceholder: this._renderPlaceholder },\n on: getListeners(this),\n directives: [\n {\n name: 'ant-ref',\n value: this.inputRef,\n },\n ],\n }}\n />\n </span>\n );\n },\n },\n render() {\n return (\n <BasePopup\n {...{\n props: { ...this.$props, renderSearch: this._renderSearch, __propsSymbol__: Symbol() },\n on: getListeners(this),\n directives: [\n {\n name: 'ant-ref',\n value: this.popupRef,\n },\n ],\n }}\n />\n );\n },\n};\n\nexport default SinglePopup;\n","import BasePopup from '../Base/BasePopup';\n\nexport default BasePopup;\n","import { TreeNode } from '../../vc-tree';\n/**\n * SelectNode wrapped the tree node.\n * Let's use SelectNode instead of TreeNode\n * since TreeNode is so confuse here.\n */\nexport default {\n name: 'SelectNode',\n functional: true,\n isTreeNode: true,\n props: TreeNode.props,\n render(h, context) {\n const { props, slots, listeners, data, scopedSlots } = context;\n const $slots = slots() || {};\n const children = $slots.default;\n const slotsKey = Object.keys($slots);\n const scopedSlotsTemp = {}; // for vue 2.5.x\n slotsKey.forEach(name => {\n scopedSlotsTemp[name] = () => $slots[name];\n });\n const treeNodeProps = {\n ...data,\n on: { ...listeners, ...data.nativeOn },\n props,\n scopedSlots: {\n ...scopedSlotsTemp,\n ...scopedSlots,\n },\n };\n return <TreeNode {...treeNodeProps}>{children}</TreeNode>;\n },\n};\n","/**\n * ARIA: https://www.w3.org/TR/wai-aria/#combobox\n * Sample 1: https://www.w3.org/TR/2017/NOTE-wai-aria-practices-1.1-20171214/examples/combobox/aria1.1pattern/listbox-combo.html\n * Sample 2: https://www.w3.org/blog/wai-components-gallery/widget/combobox-with-aria-autocompleteinline/\n *\n * Tab logic:\n * Popup is close\n * 1. Focus input (mark component as focused)\n * 2. Press enter to show the popup\n * 3. If popup has input, focus it\n *\n * Popup is open\n * 1. press tab to close the popup\n * 2. Focus back to the selection input box\n * 3. Let the native tab going on\n *\n * TreeSelect use 2 design type.\n * In single mode, we should focus on the `span`\n * In multiple mode, we should focus on the `input`\n */\n\nimport shallowEqual from 'shallowequal';\nimport raf from 'raf';\nimport scrollIntoView from 'dom-scroll-into-view';\nimport warning from 'warning';\nimport PropTypes from '../../_util/vue-types';\nimport KeyCode from '../../_util/KeyCode';\n\nimport SelectTrigger from './SelectTrigger';\nimport SingleSelector from './Selector/SingleSelector';\nimport MultipleSelector from './Selector/MultipleSelector';\nimport SinglePopup from './Popup/SinglePopup';\nimport MultiplePopup from './Popup/MultiplePopup';\n\nimport { SHOW_ALL, SHOW_PARENT, SHOW_CHILD } from './strategies';\nimport BaseMixin from '../../_util/BaseMixin';\nimport {\n createRef,\n generateAriaId,\n formatInternalValue,\n formatSelectorValue,\n parseSimpleTreeData,\n convertDataToTree,\n convertTreeToEntities,\n conductCheck,\n getHalfCheckedKeys,\n flatToHierarchy,\n isPosRelated,\n isLabelInValue,\n getFilterTree,\n cleanEntity,\n findPopupContainer,\n} from './util';\nimport SelectNode from './SelectNode';\nimport {\n initDefaultProps,\n getOptionProps,\n mergeProps,\n getPropsData,\n filterEmpty,\n getListeners,\n} from '../../_util/props-util';\nfunction getWatch(keys = []) {\n const watch = {};\n keys.forEach(k => {\n watch[k] = function() {\n this.needSyncKeys[k] = true;\n };\n });\n return watch;\n}\nconst Select = {\n name: 'Select',\n mixins: [BaseMixin],\n props: initDefaultProps(\n {\n prefixCls: PropTypes.string,\n prefixAria: PropTypes.string,\n multiple: PropTypes.bool,\n showArrow: PropTypes.bool,\n open: PropTypes.bool,\n value: PropTypes.any,\n\n autoFocus: PropTypes.bool,\n\n defaultOpen: PropTypes.bool,\n defaultValue: PropTypes.any,\n\n showSearch: PropTypes.bool,\n placeholder: PropTypes.any,\n inputValue: PropTypes.string, // [Legacy] Deprecated. Use `searchValue` instead.\n searchValue: PropTypes.string,\n autoClearSearchValue: PropTypes.bool,\n searchPlaceholder: PropTypes.any, // [Legacy] Confuse with placeholder\n disabled: PropTypes.bool,\n children: PropTypes.any,\n labelInValue: PropTypes.bool,\n maxTagCount: PropTypes.number,\n maxTagPlaceholder: PropTypes.oneOfType([PropTypes.any, PropTypes.func]),\n maxTagTextLength: PropTypes.number,\n showCheckedStrategy: PropTypes.oneOf([SHOW_ALL, SHOW_PARENT, SHOW_CHILD]),\n dropdownClassName: PropTypes.string,\n dropdownStyle: PropTypes.object,\n dropdownVisibleChange: PropTypes.func,\n dropdownMatchSelectWidth: PropTypes.bool,\n treeData: PropTypes.array,\n treeDataSimpleMode: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n treeNodeFilterProp: PropTypes.string,\n treeNodeLabelProp: PropTypes.string,\n treeCheckable: PropTypes.oneOfType([PropTypes.any, PropTypes.object, PropTypes.bool]),\n // treeCheckable: PropTypes.any,\n treeCheckStrictly: PropTypes.bool,\n treeIcon: PropTypes.bool,\n treeLine: PropTypes.bool,\n treeDefaultExpandAll: PropTypes.bool,\n treeDefaultExpandedKeys: PropTypes.array,\n treeExpandedKeys: PropTypes.array,\n loadData: PropTypes.func,\n filterTreeNode: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),\n\n notFoundContent: PropTypes.any,\n getPopupContainer: PropTypes.func,\n\n // onSearch: PropTypes.func,\n // onSelect: PropTypes.func,\n // onDeselect: PropTypes.func,\n // onChange: PropTypes.func,\n // onDropdownVisibleChange: PropTypes.func,\n\n // onTreeExpand: PropTypes.func,\n allowClear: PropTypes.bool,\n transitionName: PropTypes.string,\n animation: PropTypes.string,\n choiceTransitionName: PropTypes.string,\n inputIcon: PropTypes.any,\n clearIcon: PropTypes.any,\n removeIcon: PropTypes.any,\n switcherIcon: PropTypes.any,\n __propsSymbol__: PropTypes.any,\n },\n {\n prefixCls: 'rc-tree-select',\n prefixAria: 'rc-tree-select',\n showArrow: true,\n showSearch: true,\n autoClearSearchValue: true,\n showCheckedStrategy: SHOW_CHILD,\n\n // dropdownMatchSelectWidth change the origin design, set to false now\n // ref: https://github.com/react-component/select/blob/4cad95e098a341a09de239ad6981067188842020/src/Select.jsx#L344\n // ref: https://github.com/react-component/select/pull/71\n treeNodeFilterProp: 'value',\n treeNodeLabelProp: 'title',\n treeIcon: false,\n notFoundContent: 'Not Found',\n dropdownStyle: {},\n dropdownVisibleChange: () => {\n return true;\n },\n },\n ),\n\n data() {\n warning(this.$props.__propsSymbol__, 'must pass __propsSymbol__');\n const { prefixAria, defaultOpen, open } = this.$props;\n this.needSyncKeys = {};\n this.selectorRef = createRef();\n this.selectTriggerRef = createRef();\n\n // ARIA need `aria-controls` props mapping\n // Since this need user input. Let's generate ourselves\n this.ariaId = generateAriaId(`${prefixAria}-list`);\n\n const state = {\n _open: open || defaultOpen,\n _valueList: [],\n _searchHalfCheckedKeys: [],\n _missValueList: [], // Contains the value not in the tree\n _selectorValueList: [], // Used for multiple selector\n _valueEntities: {},\n _posEntities: new Map(),\n _keyEntities: new Map(),\n _searchValue: '',\n _prevProps: {},\n _init: true,\n _focused: undefined,\n _treeNodes: undefined,\n _filteredTreeNodes: undefined,\n };\n const newState = this.getDerivedState(this.$props, state);\n return {\n ...state,\n ...newState,\n };\n },\n\n provide() {\n return {\n vcTreeSelect: {\n onSelectorFocus: this.onSelectorFocus,\n onSelectorBlur: this.onSelectorBlur,\n onSelectorKeyDown: this.onComponentKeyDown,\n onSelectorClear: this.onSelectorClear,\n onMultipleSelectorRemove: this.onMultipleSelectorRemove,\n\n onTreeNodeSelect: this.onTreeNodeSelect,\n onTreeNodeCheck: this.onTreeNodeCheck,\n onPopupKeyDown: this.onComponentKeyDown,\n\n onSearchInputChange: this.onSearchInputChange,\n onSearchInputKeyDown: this.onSearchInputKeyDown,\n },\n };\n },\n watch: {\n ...getWatch(['treeData', 'defaultValue', 'value']),\n __propsSymbol__() {\n const state = this.getDerivedState(this.$props, this.$data);\n this.setState(state);\n this.needSyncKeys = {};\n },\n '$data._valueList'() {\n this.$nextTick(() => {\n this.forcePopupAlign();\n });\n },\n '$data._open'(open) {\n setTimeout(() => {\n const { prefixCls } = this.$props;\n const { _selectorValueList: selectorValueList, _valueEntities: valueEntities } = this.$data;\n const isMultiple = this.isMultiple();\n\n // Scroll to value position, only need sync on single mode\n if (!isMultiple && selectorValueList.length && open && this.popup) {\n const { value } = selectorValueList[0];\n const { domTreeNodes } = this.popup.getTree();\n const { key } = valueEntities[value] || {};\n const treeNode = domTreeNodes[key];\n\n if (treeNode) {\n const domNode = treeNode.$el;\n raf(() => {\n const popupNode = this.popup.$el;\n const triggerContainer = findPopupContainer(popupNode, `${prefixCls}-dropdown`);\n const searchNode = this.popup.searchRef.current;\n\n if (domNode && triggerContainer && searchNode) {\n scrollIntoView(domNode, triggerContainer, {\n onlyScrollIfNeeded: true,\n offsetTop: searchNode.offsetHeight,\n });\n }\n });\n }\n }\n });\n },\n },\n mounted() {\n this.$nextTick(() => {\n const { autoFocus, disabled } = this.$props;\n if (autoFocus && !disabled) {\n this.focus();\n }\n });\n },\n\n methods: {\n getDerivedState(nextProps, prevState) {\n const h = this.$createElement;\n const { _prevProps: prevProps = {} } = prevState;\n const {\n treeCheckable,\n treeCheckStrictly,\n filterTreeNode,\n treeNodeFilterProp,\n treeDataSimpleMode,\n } = nextProps;\n const newState = {\n _prevProps: { ...nextProps },\n _init: false,\n };\n const self = this;\n // Process the state when props updated\n function processState(propName, updater) {\n if (prevProps[propName] !== nextProps[propName] || self.needSyncKeys[propName]) {\n updater(nextProps[propName], prevProps[propName]);\n return true;\n }\n return false;\n }\n\n let valueRefresh = false;\n\n // Open\n processState('open', propValue => {\n newState._open = propValue;\n });\n\n // Tree Nodes\n let treeNodes;\n let treeDataChanged = false;\n let treeDataModeChanged = false;\n processState('treeData', propValue => {\n treeNodes = convertDataToTree(h, propValue);\n treeDataChanged = true;\n });\n\n processState('treeDataSimpleMode', (propValue, prevValue) => {\n if (!propValue) return;\n\n const prev = !prevValue || prevValue === true ? {} : prevValue;\n\n // Shallow equal to avoid dynamic prop object\n if (!shallowEqual(propValue, prev)) {\n treeDataModeChanged = true;\n }\n });\n\n // Parse by `treeDataSimpleMode`\n if (treeDataSimpleMode && (treeDataChanged || treeDataModeChanged)) {\n const simpleMapper = {\n id: 'id',\n pId: 'pId',\n rootPId: null,\n ...(treeDataSimpleMode !== true ? treeDataSimpleMode : {}),\n };\n treeNodes = convertDataToTree(h, parseSimpleTreeData(nextProps.treeData, simpleMapper));\n }\n\n // If `treeData` not provide, use children TreeNodes\n if (!nextProps.treeData) {\n // processState('children', (propValue) => {\n // treeNodes = Array.isArray(propValue) ? propValue : [propValue]\n // })\n treeNodes = filterEmpty(this.$slots.default);\n }\n\n // Convert `treeData` to entities\n if (treeNodes) {\n const entitiesMap = convertTreeToEntities(treeNodes);\n newState._treeNodes = treeNodes;\n newState._posEntities = entitiesMap.posEntities;\n newState._valueEntities = entitiesMap.valueEntities;\n newState._keyEntities = entitiesMap.keyEntities;\n\n valueRefresh = true;\n }\n\n // Value List\n if (prevState._init) {\n processState('defaultValue', propValue => {\n newState._valueList = formatInternalValue(propValue, nextProps);\n valueRefresh = true;\n });\n }\n\n processState('value', propValue => {\n newState._valueList = formatInternalValue(propValue, nextProps);\n valueRefresh = true;\n });\n\n // Selector Value List\n if (valueRefresh) {\n // Find out that value not exist in the tree\n const missValueList = [];\n const filteredValueList = [];\n const keyList = [];\n\n // Get latest value list\n let latestValueList = newState._valueList;\n if (!latestValueList) {\n // Also need add prev missValueList to avoid new treeNodes contains the value\n latestValueList = [...prevState._valueList, ...prevState._missValueList];\n }\n\n // Get key by value\n const valueLabels = {};\n latestValueList.forEach(wrapperValue => {\n const { value, label } = wrapperValue;\n const entity = (newState._valueEntities || prevState._valueEntities)[value];\n valueLabels[value] = label;\n\n if (entity) {\n keyList.push(entity.key);\n filteredValueList.push(wrapperValue);\n return;\n }\n\n // If not match, it may caused by ajax load. We need keep this\n missValueList.push(wrapperValue);\n });\n\n // We need calculate the value when tree is checked tree\n if (treeCheckable && !treeCheckStrictly) {\n // Calculate the keys need to be checked\n const { checkedKeys } = conductCheck(\n keyList,\n true,\n newState._keyEntities || prevState._keyEntities,\n );\n\n // Format value list again for internal usage\n newState._valueList = checkedKeys.map(key => {\n const val = (newState._keyEntities || prevState._keyEntities).get(key).value;\n\n const wrappedValue = {\n value: val,\n };\n\n if (valueLabels[val] !== undefined) {\n wrappedValue.label = valueLabels[val];\n }\n\n return wrappedValue;\n });\n } else {\n newState._valueList = filteredValueList;\n }\n\n // Fill the missValueList, we still need display in the selector\n newState._missValueList = missValueList;\n\n // Calculate the value list for `Selector` usage\n newState._selectorValueList = formatSelectorValue(\n newState._valueList,\n nextProps,\n newState._valueEntities || prevState._valueEntities,\n );\n }\n\n // [Legacy] To align with `Select` component,\n // We use `searchValue` instead of `inputValue` but still keep the api\n // `inputValue` support `null` to work as `autoClearSearchValue`\n processState('inputValue', propValue => {\n if (propValue !== null) {\n newState._searchValue = propValue;\n }\n });\n\n // Search value\n processState('searchValue', propValue => {\n newState._searchValue = propValue;\n });\n\n // Do the search logic\n if (newState._searchValue !== undefined || (prevState._searchValue && treeNodes)) {\n const searchValue =\n newState._searchValue !== undefined ? newState._searchValue : prevState._searchValue;\n const upperSearchValue = String(searchValue).toUpperCase();\n\n let filterTreeNodeFn = filterTreeNode;\n if (filterTreeNode === false) {\n // Don't filter if is false\n filterTreeNodeFn = () => true;\n } else if (typeof filterTreeNodeFn !== 'function') {\n // When is not function (true or undefined), use inner filter\n filterTreeNodeFn = (_, node) => {\n const nodeValue = String(getPropsData(node)[treeNodeFilterProp]).toUpperCase();\n return nodeValue.indexOf(upperSearchValue) !== -1;\n };\n }\n\n newState._filteredTreeNodes = getFilterTree(\n this.$createElement,\n newState._treeNodes || prevState._treeNodes,\n searchValue,\n filterTreeNodeFn,\n newState._valueEntities || prevState._valueEntities,\n SelectNode,\n );\n }\n\n // We should re-calculate the halfCheckedKeys when in search mode\n if (\n valueRefresh &&\n treeCheckable &&\n !treeCheckStrictly &&\n (newState._searchValue || prevState._searchValue)\n ) {\n newState._searchHalfCheckedKeys = getHalfCheckedKeys(\n newState._valueList,\n newState._valueEntities || prevState._valueEntities,\n );\n }\n\n // Checked Strategy\n processState('showCheckedStrategy', () => {\n newState._selectorValueList =\n newState._selectorValueList ||\n formatSelectorValue(\n newState._valueList || prevState._valueList,\n nextProps,\n newState._valueEntities || prevState._valueEntities,\n );\n });\n\n return newState;\n },\n // ==================== Selector ====================\n onSelectorFocus() {\n this.setState({ _focused: true });\n },\n\n onSelectorBlur() {\n this.setState({ _focused: false });\n\n // TODO: Close when Popup is also not focused\n // this.setState({ open: false });\n },\n\n // Handle key board event in both Selector and Popup\n onComponentKeyDown(event) {\n const { _open: open } = this.$data;\n const { keyCode } = event;\n\n if (!open) {\n if ([KeyCode.ENTER, KeyCode.DOWN].indexOf(keyCode) !== -1) {\n this.setOpenState(true);\n }\n } else if (KeyCode.ESC === keyCode) {\n this.setOpenState(false);\n } else if ([KeyCode.UP, KeyCode.DOWN, KeyCode.LEFT, KeyCode.RIGHT].indexOf(keyCode) !== -1) {\n // TODO: Handle `open` state\n event.stopPropagation();\n }\n },\n\n onDeselect(wrappedValue, node, nodeEventInfo) {\n this.__emit('deselect', wrappedValue, node, nodeEventInfo);\n },\n\n onSelectorClear(event) {\n const { disabled } = this.$props;\n if (disabled) return;\n\n this.triggerChange([], []);\n\n if (!this.isSearchValueControlled()) {\n this.setUncontrolledState({\n _searchValue: '',\n _filteredTreeNodes: null,\n });\n }\n\n event.stopPropagation();\n },\n\n onMultipleSelectorRemove(event, removeValue) {\n event.stopPropagation();\n\n const {\n _valueList: valueList,\n _missValueList: missValueList,\n _valueEntities: valueEntities,\n } = this.$data;\n\n const { treeCheckable, treeCheckStrictly, treeNodeLabelProp, disabled } = this.$props;\n if (disabled) return;\n\n // Find trigger entity\n const triggerEntity = valueEntities[removeValue];\n\n // Clean up value\n let newValueList = valueList;\n if (triggerEntity) {\n // If value is in tree\n if (treeCheckable && !treeCheckStrictly) {\n newValueList = valueList.filter(({ value }) => {\n const entity = valueEntities[value];\n return !isPosRelated(entity.pos, triggerEntity.pos);\n });\n } else {\n newValueList = valueList.filter(({ value }) => value !== removeValue);\n }\n }\n\n const triggerNode = triggerEntity ? triggerEntity.node : null;\n\n const extraInfo = {\n triggerValue: removeValue,\n triggerNode,\n };\n const deselectInfo = {\n node: triggerNode,\n };\n\n // [Legacy] Little hack on this to make same action as `onCheck` event.\n if (treeCheckable) {\n const filteredEntityList = newValueList.map(({ value }) => valueEntities[value]);\n\n deselectInfo.event = 'check';\n deselectInfo.checked = false;\n deselectInfo.checkedNodes = filteredEntityList.map(({ node }) => node);\n deselectInfo.checkedNodesPositions = filteredEntityList.map(({ node, pos }) => ({\n node,\n pos,\n }));\n\n if (treeCheckStrictly) {\n extraInfo.allCheckedNodes = deselectInfo.checkedNodes;\n } else {\n // TODO: It's too expansive to get `halfCheckedKeys` in onDeselect. Not pass this.\n extraInfo.allCheckedNodes = flatToHierarchy(filteredEntityList).map(({ node }) => node);\n }\n } else {\n deselectInfo.event = 'select';\n deselectInfo.selected = false;\n deselectInfo.selectedNodes = newValueList.map(\n ({ value }) => (valueEntities[value] || {}).node,\n );\n }\n\n // Some value user pass prop is not in the tree, we also need clean it\n const newMissValueList = missValueList.filter(({ value }) => value !== removeValue);\n let wrappedValue;\n if (this.isLabelInValue()) {\n wrappedValue = {\n label: triggerNode ? getPropsData(triggerNode)[treeNodeLabelProp] : null,\n value: removeValue,\n };\n } else {\n wrappedValue = removeValue;\n }\n\n this.onDeselect(wrappedValue, triggerNode, deselectInfo);\n\n this.triggerChange(newMissValueList, newValueList, extraInfo);\n },\n\n // ===================== Popup ======================\n onValueTrigger(isAdd, nodeList, nodeEventInfo, nodeExtraInfo) {\n const { node } = nodeEventInfo;\n const { value } = node.$props;\n const {\n _missValueList: missValueList,\n _valueEntities: valueEntities,\n _keyEntities: keyEntities,\n _searchValue: searchValue,\n } = this.$data;\n const {\n disabled,\n inputValue,\n treeNodeLabelProp,\n multiple,\n treeCheckable,\n treeCheckStrictly,\n autoClearSearchValue,\n } = this.$props;\n const label = node.$props[treeNodeLabelProp];\n\n if (disabled) return;\n\n // Wrap the return value for user\n let wrappedValue;\n if (this.isLabelInValue()) {\n wrappedValue = {\n value,\n label,\n };\n } else {\n wrappedValue = value;\n }\n\n // [Legacy] Origin code not trigger `onDeselect` every time. Let's align the behaviour.\n if (isAdd) {\n this.__emit('select', wrappedValue, node, nodeEventInfo);\n } else {\n this.__emit('deselect', wrappedValue, node, nodeEventInfo);\n }\n\n // Get wrapped value list.\n // This is a bit hack cause we use key to match the value.\n let newValueList = nodeList.map(node => {\n const props = getPropsData(node);\n return {\n value: props.value,\n label: props[treeNodeLabelProp],\n };\n });\n\n // When is `treeCheckable` and with `searchValue`, `valueList` is not full filled.\n // We need calculate the missing nodes.\n if (treeCheckable && !treeCheckStrictly) {\n let keyList = newValueList.map(({ value: val }) => valueEntities[val].key);\n if (isAdd) {\n keyList = conductCheck(keyList, true, keyEntities).checkedKeys;\n } else {\n keyList = conductCheck([valueEntities[value].key], false, keyEntities, {\n checkedKeys: keyList,\n }).checkedKeys;\n }\n newValueList = keyList.map(key => {\n const props = getPropsData(keyEntities.get(key).node);\n return {\n value: props.value,\n label: props[treeNodeLabelProp],\n };\n });\n }\n\n // Clean up `searchValue` when this prop is set\n if (autoClearSearchValue || inputValue === null) {\n // Clean state `searchValue` if uncontrolled\n if (!this.isSearchValueControlled() && (multiple || treeCheckable)) {\n this.setUncontrolledState({\n _searchValue: '',\n _filteredTreeNodes: null,\n });\n }\n\n // Trigger onSearch if `searchValue` to be empty.\n // We should also trigger onSearch with empty string here\n // since if user use `treeExpandedKeys`, it need user have the ability to reset it.\n if (searchValue && searchValue.length) {\n this.__emit('update:searchValue', '');\n this.__emit('search', '');\n }\n }\n\n // [Legacy] Provide extra info\n const extraInfo = {\n ...nodeExtraInfo,\n triggerValue: value,\n triggerNode: node,\n };\n\n this.triggerChange(missValueList, newValueList, extraInfo);\n },\n\n onTreeNodeSelect(_, nodeEventInfo) {\n const { _valueList: valueList, _valueEntities: valueEntities } = this.$data;\n const { treeCheckable, multiple } = this.$props;\n if (treeCheckable) return;\n\n if (!multiple) {\n this.setOpenState(false);\n }\n\n const isAdd = nodeEventInfo.selected;\n const {\n $props: { value: selectedValue },\n } = nodeEventInfo.node;\n\n let newValueList;\n\n if (!multiple) {\n newValueList = [{ value: selectedValue }];\n } else {\n newValueList = valueList.filter(({ value }) => value !== selectedValue);\n if (isAdd) {\n newValueList.push({ value: selectedValue });\n }\n }\n\n const selectedNodes = newValueList\n .map(({ value }) => valueEntities[value])\n .filter(entity => entity)\n .map(({ node }) => node);\n\n this.onValueTrigger(isAdd, selectedNodes, nodeEventInfo, { selected: isAdd });\n },\n\n onTreeNodeCheck(_, nodeEventInfo) {\n const {\n _searchValue: searchValue,\n _keyEntities: keyEntities,\n _valueEntities: valueEntities,\n _valueList: valueList,\n } = this.$data;\n const { treeCheckStrictly } = this.$props;\n\n const { checkedNodes, checkedNodesPositions } = nodeEventInfo;\n const isAdd = nodeEventInfo.checked;\n\n const extraInfo = {\n checked: isAdd,\n };\n\n let checkedNodeList = checkedNodes;\n\n // [Legacy] Check event provide `allCheckedNodes`.\n // When `treeCheckStrictly` or internal `searchValue` is set, TreeNode will be unrelated:\n // - Related: Show the top checked nodes and has children prop.\n // - Unrelated: Show all the checked nodes.\n if (searchValue) {\n const oriKeyList = valueList\n .map(({ value }) => valueEntities[value])\n .filter(entity => entity)\n .map(({ key }) => key);\n\n let keyList;\n if (isAdd) {\n keyList = Array.from(\n new Set([\n ...oriKeyList,\n ...checkedNodeList.map(node => {\n const { value } = getPropsData(node);\n return valueEntities[value].key;\n }),\n ]),\n );\n } else {\n keyList = conductCheck([getPropsData(nodeEventInfo.node).eventKey], false, keyEntities, {\n checkedKeys: oriKeyList,\n }).checkedKeys;\n }\n\n checkedNodeList = keyList.map(key => keyEntities.get(key).node);\n\n // Let's follow as not `treeCheckStrictly` format\n extraInfo.allCheckedNodes = keyList.map(key => cleanEntity(keyEntities.get(key)));\n } else if (treeCheckStrictly) {\n extraInfo.allCheckedNodes = nodeEventInfo.checkedNodes;\n } else {\n extraInfo.allCheckedNodes = flatToHierarchy(checkedNodesPositions);\n }\n\n this.onValueTrigger(isAdd, checkedNodeList, nodeEventInfo, extraInfo);\n },\n\n // ==================== Trigger =====================\n\n onDropdownVisibleChange(open) {\n const { multiple, treeCheckable } = this.$props;\n const { _searchValue } = this.$data;\n\n // When set open success and single mode,\n // we will reset the input content.\n if (open && !multiple && !treeCheckable && _searchValue) {\n this.setUncontrolledState({\n _searchValue: '',\n _filteredTreeNodes: null,\n });\n }\n this.setOpenState(open, true);\n },\n\n onSearchInputChange(event) {\n const value = event.target.value;\n const { _treeNodes: treeNodes, _valueEntities: valueEntities } = this.$data;\n const { filterTreeNode, treeNodeFilterProp } = this.$props;\n this.__emit('update:searchValue', value);\n this.__emit('search', value);\n\n let isSet = false;\n\n if (!this.isSearchValueControlled()) {\n isSet = this.setUncontrolledState({\n _searchValue: value,\n });\n this.setOpenState(true);\n }\n\n if (isSet) {\n // Do the search logic\n const upperSearchValue = String(value).toUpperCase();\n\n let filterTreeNodeFn = filterTreeNode;\n if (filterTreeNode === false) {\n filterTreeNodeFn = () => true;\n } else if (!filterTreeNodeFn) {\n filterTreeNodeFn = (_, node) => {\n const nodeValue = String(getPropsData(node)[treeNodeFilterProp]).toUpperCase();\n return nodeValue.indexOf(upperSearchValue) !== -1;\n };\n }\n\n this.setState({\n _filteredTreeNodes: getFilterTree(\n this.$createElement,\n treeNodes,\n value,\n filterTreeNodeFn,\n valueEntities,\n SelectNode,\n ),\n });\n }\n },\n\n onSearchInputKeyDown(event) {\n const { _searchValue: searchValue, _valueList: valueList } = this.$data;\n\n const { keyCode } = event;\n\n if (KeyCode.BACKSPACE === keyCode && this.isMultiple() && !searchValue && valueList.length) {\n const lastValue = valueList[valueList.length - 1].value;\n this.onMultipleSelectorRemove(event, lastValue);\n }\n },\n\n onChoiceAnimationLeave() {\n raf(() => {\n this.forcePopupAlign();\n });\n },\n\n setPopupRef(popup) {\n this.popup = popup;\n },\n\n /**\n * Only update the value which is not in props\n */\n setUncontrolledState(state) {\n let needSync = false;\n const newState = {};\n const props = getOptionProps(this);\n Object.keys(state).forEach(name => {\n if (name.slice(1) in props) return;\n\n needSync = true;\n newState[name] = state[name];\n });\n\n if (needSync) {\n this.setState(newState);\n }\n\n return needSync;\n },\n\n // [Legacy] Origin provide `documentClickClose` which triggered by `Trigger`\n // Currently `TreeSelect` align the hide popup logic as `Select` which blur to hide.\n // `documentClickClose` is not accurate anymore. Let's just keep the key word.\n setOpenState(open, byTrigger = false) {\n const { dropdownVisibleChange } = this.$props;\n\n if (\n dropdownVisibleChange &&\n dropdownVisibleChange(open, { documentClickClose: !open && byTrigger }) === false\n ) {\n return;\n }\n\n this.setUncontrolledState({ _open: open });\n },\n\n // Tree checkable is also a multiple case\n isMultiple() {\n const { multiple, treeCheckable } = this.$props;\n return !!(multiple || treeCheckable);\n },\n\n isLabelInValue() {\n return isLabelInValue(this.$props);\n },\n\n // [Legacy] To align with `Select` component,\n // We use `searchValue` instead of `inputValue`\n // but currently still need support that.\n // Add this method the check if is controlled\n isSearchValueControlled() {\n const props = getOptionProps(this);\n const { inputValue } = props;\n if ('searchValue' in props) return true;\n return 'inputValue' in props && inputValue !== null;\n },\n\n forcePopupAlign() {\n const $trigger = this.selectTriggerRef.current;\n if ($trigger) {\n $trigger.forcePopupAlign();\n }\n },\n\n delayForcePopupAlign() {\n // Wait 2 frame to avoid dom update & dom algin in the same time\n // https://github.com/ant-design/ant-design/issues/12031\n raf(() => {\n raf(this.forcePopupAlign);\n });\n },\n\n /**\n * 1. Update state valueList.\n * 2. Fire `onChange` event to user.\n */\n triggerChange(missValueList, valueList, extraInfo = {}) {\n const {\n _valueEntities: valueEntities,\n _searchValue: searchValue,\n _selectorValueList: prevSelectorValueList,\n } = this.$data;\n const props = getOptionProps(this);\n const { disabled, treeCheckable, treeCheckStrictly } = props;\n if (disabled) return;\n\n // Trigger\n const extra = {\n // [Legacy] Always return as array contains label & value\n preValue: prevSelectorValueList.map(({ label, value }) => ({ label, value })),\n ...extraInfo,\n };\n\n // Format value by `treeCheckStrictly`\n const selectorValueList = formatSelectorValue(valueList, props, valueEntities);\n\n if (!('value' in props)) {\n const newState = {\n _missValueList: missValueList,\n _valueList: valueList,\n _selectorValueList: selectorValueList,\n };\n\n if (searchValue && treeCheckable && !treeCheckStrictly) {\n newState._searchHalfCheckedKeys = getHalfCheckedKeys(valueList, valueEntities);\n }\n\n this.setState(newState);\n }\n\n // Only do the logic when `onChange` function provided\n if (getListeners(this).change) {\n let connectValueList;\n\n // Get value by mode\n if (this.isMultiple()) {\n connectValueList = [...missValueList, ...selectorValueList];\n } else {\n connectValueList = selectorValueList.slice(0, 1);\n }\n\n let labelList = null;\n let returnValue;\n\n if (this.isLabelInValue()) {\n returnValue = connectValueList.map(({ label, value }) => ({ label, value }));\n } else {\n labelList = [];\n returnValue = connectValueList.map(({ label, value }) => {\n labelList.push(label);\n return value;\n });\n }\n\n if (!this.isMultiple()) {\n returnValue = returnValue[0];\n }\n this.__emit('change', returnValue, labelList, extra);\n }\n },\n\n focus() {\n this.selectorRef.current.focus();\n },\n\n blur() {\n this.selectorRef.current.blur();\n },\n },\n\n // ===================== Render =====================\n\n render() {\n const {\n _valueList: valueList,\n _missValueList: missValueList,\n _selectorValueList: selectorValueList,\n _searchHalfCheckedKeys: searchHalfCheckedKeys,\n _valueEntities: valueEntities,\n _keyEntities: keyEntities,\n _searchValue: searchValue,\n _open: open,\n _focused: focused,\n _treeNodes: treeNodes,\n _filteredTreeNodes: filteredTreeNodes,\n } = this.$data;\n const props = getOptionProps(this);\n const { prefixCls, treeExpandedKeys } = props;\n const isMultiple = this.isMultiple();\n\n const passProps = {\n props: {\n ...props,\n isMultiple,\n valueList,\n searchHalfCheckedKeys,\n selectorValueList: [...missValueList, ...selectorValueList],\n valueEntities,\n keyEntities,\n searchValue,\n upperSearchValue: (searchValue || '').toUpperCase(), // Perf save\n open,\n focused,\n dropdownPrefixCls: `${prefixCls}-dropdown`,\n ariaId: this.ariaId,\n },\n on: {\n ...getListeners(this),\n choiceAnimationLeave: this.onChoiceAnimationLeave,\n },\n scopedSlots: this.$scopedSlots,\n };\n const popupProps = mergeProps(passProps, {\n props: {\n treeNodes,\n filteredTreeNodes,\n // Tree expanded control\n treeExpandedKeys,\n __propsSymbol__: Symbol(),\n },\n on: {\n treeExpanded: this.delayForcePopupAlign,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.setPopupRef,\n },\n ],\n });\n\n const Popup = isMultiple ? MultiplePopup : SinglePopup;\n const $popup = <Popup {...popupProps} />;\n\n const Selector = isMultiple ? MultipleSelector : SingleSelector;\n const $selector = (\n <Selector\n {...passProps}\n {...{\n directives: [\n {\n name: 'ant-ref',\n value: this.selectorRef,\n },\n ],\n }}\n />\n );\n const selectTriggerProps = mergeProps(passProps, {\n props: {\n popupElement: $popup,\n dropdownVisibleChange: this.onDropdownVisibleChange,\n },\n directives: [\n {\n name: 'ant-ref',\n value: this.selectTriggerRef,\n },\n ],\n });\n return <SelectTrigger {...selectTriggerProps}>{$selector}</SelectTrigger>;\n },\n};\n\nSelect.TreeNode = SelectNode;\nSelect.SHOW_ALL = SHOW_ALL;\nSelect.SHOW_PARENT = SHOW_PARENT;\nSelect.SHOW_CHILD = SHOW_CHILD;\n\n// Let warning show correct component name\nSelect.name = 'TreeSelect';\n\nexport default Select;\n","import Select from './Select';\nimport SelectNode from './SelectNode';\n\nexport { SHOW_ALL, SHOW_CHILD, SHOW_PARENT } from './strategies';\nexport const TreeNode = SelectNode;\n\nexport default Select;\n","// export this package's api\n// base 2.9.3\nimport Vue from 'vue';\nimport TreeSelect from './src';\nimport ref from 'vue-ref';\n\nVue.use(ref, { name: 'ant-ref' });\nexport default TreeSelect;\n\nexport { TreeNode, SHOW_ALL, SHOW_PARENT, SHOW_CHILD } from './src';\n","import VcTreeSelect, { TreeNode, SHOW_ALL, SHOW_PARENT, SHOW_CHILD } from '../vc-tree-select';\nimport classNames from 'classnames';\nimport { TreeSelectProps } from './interface';\nimport warning from '../_util/warning';\nimport {\n initDefaultProps,\n getOptionProps,\n getComponentFromProp,\n filterEmpty,\n getListeners,\n} from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\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';\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';\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 }\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 },\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 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';\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 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 _push: false,\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 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';\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';\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 PropTypes from '../_util/vue-types';\nimport { getComponentFromProp } from '../_util/props-util';\nimport { ConfigConsumerProps } from '../config-provider';\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';\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';\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';\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\n// import { default as Mention } from './mention'\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\n// import { default as ColorPicker } from './color-picker';\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","const antd = require('./components');\nconst req = require.context('./components', true, /^\\.\\/locale-provider\\/(?!__tests__).+_.+\\.js$/);\n\nantd.locales = {};\n\nreq.keys().forEach(mod => {\n const match = mod.match(/\\/([^/]+).js$/);\n antd.locales[match[1]] = req(mod).default;\n});\n\nmodule.exports = antd;\n","var map = {\n\t\"./locale-provider/ar_EG.js\": 550,\n\t\"./locale-provider/bg_BG.js\": 551,\n\t\"./locale-provider/ca_ES.js\": 552,\n\t\"./locale-provider/cs_CZ.js\": 553,\n\t\"./locale-provider/da_DK.js\": 554,\n\t\"./locale-provider/de_DE.js\": 555,\n\t\"./locale-provider/el_GR.js\": 556,\n\t\"./locale-provider/en_GB.js\": 557,\n\t\"./locale-provider/en_US.js\": 598,\n\t\"./locale-provider/es_ES.js\": 558,\n\t\"./locale-provider/et_EE.js\": 559,\n\t\"./locale-provider/fa_IR.js\": 560,\n\t\"./locale-provider/fi_FI.js\": 561,\n\t\"./locale-provider/fr_BE.js\": 562,\n\t\"./locale-provider/fr_FR.js\": 563,\n\t\"./locale-provider/ga_IE.js\": 564,\n\t\"./locale-provider/he_IL.js\": 565,\n\t\"./locale-provider/hi_IN.js\": 566,\n\t\"./locale-provider/hr_HR.js\": 567,\n\t\"./locale-provider/hu_HU.js\": 568,\n\t\"./locale-provider/hy_AM.js\": 599,\n\t\"./locale-provider/id_ID.js\": 569,\n\t\"./locale-provider/is_IS.js\": 570,\n\t\"./locale-provider/it_IT.js\": 571,\n\t\"./locale-provider/ja_JP.js\": 572,\n\t\"./locale-provider/kn_IN.js\": 573,\n\t\"./locale-provider/ko_KR.js\": 574,\n\t\"./locale-provider/ku_IQ.js\": 575,\n\t\"./locale-provider/lv_LV.js\": 576,\n\t\"./locale-provider/mk_MK.js\": 577,\n\t\"./locale-provider/mn_MN.js\": 578,\n\t\"./locale-provider/ms_MY.js\": 579,\n\t\"./locale-provider/nb_NO.js\": 580,\n\t\"./locale-provider/ne_NP.js\": 600,\n\t\"./locale-provider/nl_BE.js\": 581,\n\t\"./locale-provider/nl_NL.js\": 582,\n\t\"./locale-provider/pl_PL.js\": 583,\n\t\"./locale-provider/pt_BR.js\": 584,\n\t\"./locale-provider/pt_PT.js\": 585,\n\t\"./locale-provider/ro_RO.js\": 586,\n\t\"./locale-provider/ru_RU.js\": 587,\n\t\"./locale-provider/sk_SK.js\": 588,\n\t\"./locale-provider/sl_SI.js\": 596,\n\t\"./locale-provider/sr_RS.js\": 589,\n\t\"./locale-provider/sv_SE.js\": 590,\n\t\"./locale-provider/ta_IN.js\": 597,\n\t\"./locale-provider/th_TH.js\": 591,\n\t\"./locale-provider/tr_TR.js\": 592,\n\t\"./locale-provider/uk_UA.js\": 593,\n\t\"./locale-provider/vi_VN.js\": 594,\n\t\"./locale-provider/zh_CN.js\": 595,\n\t\"./locale-provider/zh_TW.js\": 549\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 = 548;","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","const locale = {\n placeholder: '請選擇時間',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/zh_TW';\nimport TimePickerLocale from '../../time-picker/locale/zh_TW';\n\nconst locale = {\n lang: {\n placeholder: '請選擇日期',\n rangePlaceholder: ['開始日期', '結束日期'],\n ...CalendarLocale,\n },\n timePickerLocale: {\n ...TimePickerLocale,\n },\n};\n\nlocale.lang.ok = '確 定';\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","export default {\n today: '今天',\n now: '此刻',\n backToToday: '返回今天',\n ok: '確定',\n timeSelect: '選擇時間',\n dateSelect: '選擇日期',\n clear: '清除',\n month: '月',\n year: '年',\n previousMonth: '上個月 (翻頁上鍵)',\n nextMonth: '下個月 (翻頁下鍵)',\n monthSelect: '選擇月份',\n yearSelect: '選擇年份',\n decadeSelect: '選擇年代',\n yearFormat: 'YYYY年',\n dayFormat: 'D日',\n dateFormat: 'YYYY年M月D日',\n dateTimeFormat: 'YYYY年M月D日 HH時mm分ss秒',\n previousYear: '上一年 (Control鍵加左方向鍵)',\n nextYear: '下一年 (Control鍵加右方向鍵)',\n previousDecade: '上一年代',\n nextDecade: '下一年代',\n previousCentury: '上一世紀',\n nextCentury: '下一世紀',\n};\n","import Pagination from '../vc-pagination/locale/zh_TW';\nimport DatePicker from '../date-picker/locale/zh_TW';\nimport TimePicker from '../time-picker/locale/zh_TW';\nimport Calendar from '../calendar/locale/zh_TW';\nimport ColorPicker from '../color-picker/locale/zh_TW';\n\nexport default {\n locale: 'zh-tw',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n ColorPicker,\n Table: {\n filterTitle: '篩選器',\n filterConfirm: '確定',\n filterReset: '重置',\n selectAll: '全部選取',\n selectInvert: '反向選取',\n sortTitle: '排序',\n expand: '展開行',\n collapse: '關閉行',\n },\n Modal: {\n okText: '確定',\n cancelText: '取消',\n justOkText: '知道了',\n },\n Popconfirm: {\n okText: '確定',\n cancelText: '取消',\n },\n Transfer: {\n searchPlaceholder: '搜尋資料',\n itemUnit: '項目',\n itemsUnit: '項目',\n },\n Upload: {\n uploading: '正在上傳...',\n removeFile: '刪除檔案',\n uploadError: '上傳失敗',\n previewFile: '檔案預覽',\n downloadFile: '下载文件',\n },\n Empty: {\n description: '無此資料',\n },\n PageHeader: {\n back: '返回',\n },\n};\n","export default {\n 'btn:save': '保存',\n 'btn:cancel': '取消',\n 'btn:clear': '清除',\n};\n","import locale from '../locale/zh_TW';\n\nexport default locale;\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: 'خمس صفحات سابقة',\n next_5: 'خمس صفحات تالية',\n prev_3: 'ثلاث صفحات سابقة',\n next_3: 'ثلاث صفحات تالية',\n};\n","const locale = {\n placeholder: 'اختيار الوقت',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/ar_EG';\nimport TimePickerLocale from '../../time-picker/locale/ar_EG';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'اختيار التاريخ',\n rangePlaceholder: ['البداية', 'النهاية'],\n ...CalendarLocale,\n },\n timePickerLocale: {\n ...TimePickerLocale,\n },\n dateFormat: 'DD-MM-YYYY',\n monthFormat: 'MM-YYYY',\n dateTimeFormat: 'DD-MM-YYYY HH:mm:ss',\n weekFormat: 'wo-YYYY',\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","export default {\n today: 'اليوم',\n now: 'الأن',\n backToToday: 'العودة إلى اليوم',\n ok: 'تأكيد',\n clear: 'مسح',\n month: 'الشهر',\n year: 'السنة',\n timeSelect: 'اختيار الوقت',\n dateSelect: 'اختيار التاريخ',\n monthSelect: 'اختيار الشهر',\n yearSelect: 'اختيار السنة',\n decadeSelect: 'اختيار العقد',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'الشهر السابق (PageUp)',\n nextMonth: 'الشهر التالى(PageDown)',\n previousYear: 'العام السابق (Control + left)',\n nextYear: 'العام التالى (Control + right)',\n previousDecade: 'العقد السابق',\n nextDecade: 'العقد التالى',\n previousCentury: 'القرن السابق',\n nextCentury: 'القرن التالى',\n};\n","import Pagination from '../vc-pagination/locale/ar_EG';\nimport DatePicker from '../date-picker/locale/ar_EG';\nimport TimePicker from '../time-picker/locale/ar_EG';\nimport Calendar from '../calendar/locale/ar_EG';\n\nexport default {\n locale: 'ar',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'الفلاتر',\n filterConfirm: 'تأكيد',\n filterReset: 'إعادة ضبط',\n selectAll: 'اختيار الكل',\n selectInvert: 'إلغاء الاختيار',\n },\n Modal: {\n okText: 'تأكيد',\n cancelText: 'إلغاء',\n justOkText: 'تأكيد',\n },\n Popconfirm: {\n okText: 'تأكيد',\n cancelText: 'إلغاء',\n },\n Transfer: {\n searchPlaceholder: 'ابحث هنا',\n itemUnit: 'عنصر',\n itemsUnit: 'عناصر',\n },\n Upload: {\n uploading: 'جاري الرفع...',\n removeFile: 'احذف الملف',\n uploadError: 'مشكلة فى الرفع',\n previewFile: 'استعرض الملف',\n downloadFile: 'تحميل الملف',\n },\n Empty: {\n description: 'لا توجد بيانات',\n },\n};\n","import locale from '../locale/ar_EG';\n\nexport default locale;\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","const locale = {\n placeholder: 'Избор на час',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/bg_BG';\nimport TimePickerLocale from '../../time-picker/locale/bg_BG';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Избор на дата',\n rangePlaceholder: ['Начална', 'Крайна'],\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","export default {\n today: 'Днес',\n now: 'Сега',\n backToToday: 'Към днес',\n ok: 'Добре',\n clear: 'Изчистване',\n month: 'Месец',\n year: 'Година',\n timeSelect: 'Избор на час',\n dateSelect: 'Избор на дата',\n monthSelect: 'Избор на месец',\n yearSelect: 'Избор на година',\n decadeSelect: 'Десетилетие',\n yearFormat: 'YYYY',\n dateFormat: 'D M YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D M YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Предишен месец (PageUp)',\n nextMonth: 'Следващ месец (PageDown)',\n previousYear: 'Последна година (Control + left)',\n nextYear: 'Следваща година (Control + right)',\n previousDecade: 'Предишно десетилетие',\n nextDecade: 'Следващо десетилетие',\n previousCentury: 'Последен век',\n nextCentury: 'Следващ век',\n};\n","import Pagination from '../vc-pagination/locale/bg_BG';\nimport DatePicker from '../date-picker/locale/bg_BG';\nimport TimePicker from '../time-picker/locale/bg_BG';\nimport Calendar from '../calendar/locale/bg_BG';\n\nexport default {\n locale: 'bg',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Филтриране',\n filterConfirm: 'Добре',\n filterReset: 'Нулиране',\n selectAll: 'Избор на текуща страница',\n selectInvert: 'Обръщане',\n },\n Modal: {\n okText: 'Добре',\n cancelText: 'Отказ',\n justOkText: 'Добре',\n },\n Popconfirm: {\n okText: 'Добре',\n cancelText: 'Отказ',\n },\n Transfer: {\n searchPlaceholder: 'Търсене',\n itemUnit: 'избор',\n itemsUnit: 'избори',\n },\n Upload: {\n uploading: 'Качване...',\n removeFile: 'Премахване',\n uploadError: 'Грешка при качването',\n previewFile: 'Преглед',\n downloadFile: 'Свали файл',\n },\n Empty: {\n description: 'Няма данни',\n },\n};\n","import locale from '../locale/bg_BG';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ pàgina',\n jump_to: 'Anar a',\n jump_to_confirm: 'Confirma',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Pàgina prèvia',\n next_page: 'Pàgina següent',\n prev_5: '5 pàgines prèvies',\n next_5: '5 pàgines següents',\n prev_3: '3 pàgines prèvies',\n next_3: '3 pàgines següents',\n};\n","const locale = {\n placeholder: 'Seleccionar hora',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/ca_ES';\nimport TimePickerLocale from '../../time-picker/locale/ca_ES';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Seleccionar data',\n rangePlaceholder: ['Data inicial', 'Data final'],\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","export default {\n today: 'Avui',\n now: 'Ara',\n backToToday: 'Tornar a avui',\n ok: 'Acceptar',\n clear: 'Netejar',\n month: 'Mes',\n year: 'Any',\n timeSelect: 'Seleccionar hora',\n dateSelect: 'Seleccionar data',\n monthSelect: 'Escollir un mes',\n yearSelect: 'Escollir un any',\n decadeSelect: 'Escollir una dècada',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Mes anterior (PageUp)',\n nextMonth: 'Mes següent (PageDown)',\n previousYear: 'Any anterior (Control + left)',\n nextYear: 'Mes següent (Control + right)',\n previousDecade: 'Dècada anterior',\n nextDecade: 'Dècada següent',\n previousCentury: 'Segle anterior',\n nextCentury: 'Segle següent',\n};\n","import Pagination from '../vc-pagination/locale/ca_ES';\nimport DatePicker from '../date-picker/locale/ca_ES';\nimport TimePicker from '../time-picker/locale/ca_ES';\nimport Calendar from '../calendar/locale/ca_ES';\n\nexport default {\n locale: 'ca',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Filtrar Menu',\n filterConfirm: 'OK',\n filterReset: 'Restablir',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Cancel·lar',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Cancel·lar',\n },\n Transfer: {\n searchPlaceholder: 'Cercar aquí',\n itemUnit: 'item',\n itemsUnit: 'items',\n },\n Upload: {\n uploading: 'Carregant...',\n removeFile: 'Elimina el fitxer',\n uploadError: 'Error de càrrega',\n previewFile: 'Vista prèvia del fitxer',\n downloadFile: \"Descarrega l'arxiu\",\n },\n Empty: {\n description: 'Sense dades',\n },\n};\n","import locale from '../locale/ca_ES';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ strana',\n jump_to: 'Přejít',\n jump_to_confirm: 'potvrdit',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Předchozí strana',\n next_page: 'Následující strana',\n prev_5: 'Předchozích 5 stran',\n next_5: 'Následujících 5 stran',\n prev_3: 'Předchozí 3 strany',\n next_3: 'Následující 3 strany',\n};\n","const locale = {\n placeholder: 'Vybrat čas',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/cs_CZ';\nimport TimePickerLocale from '../../time-picker/locale/cs_CZ';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Vybrat datum',\n rangePlaceholder: ['Od', 'Do'],\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","export default {\n today: 'Dnes',\n now: 'Nyní',\n backToToday: 'Zpět na dnešek',\n ok: 'Ok',\n clear: 'Vymazat',\n month: 'Měsíc',\n year: 'Rok',\n timeSelect: 'Vybrat čas',\n dateSelect: 'Vybrat datum',\n monthSelect: 'Vyberte měsíc',\n yearSelect: 'Vyberte rok',\n decadeSelect: 'Vyberte dekádu',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Předchozí měsíc (PageUp)',\n nextMonth: 'Následující (PageDown)',\n previousYear: 'Předchozí rok (Control + left)',\n nextYear: 'Následující rok (Control + right)',\n previousDecade: 'Předchozí dekáda',\n nextDecade: 'Následující dekáda',\n previousCentury: 'Předchozí století',\n nextCentury: 'Následující století',\n};\n","import Pagination from '../vc-pagination/locale/cs_CZ';\nimport DatePicker from '../date-picker/locale/cs_CZ';\nimport TimePicker from '../time-picker/locale/cs_CZ';\nimport Calendar from '../calendar/locale/cs_CZ';\n\nexport default {\n locale: 'cs',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Filtr',\n filterConfirm: 'Potvrdit',\n filterReset: 'Obnovit',\n },\n Modal: {\n okText: 'Ok',\n cancelText: 'Storno',\n justOkText: 'Ok',\n },\n Popconfirm: {\n okText: 'Ok',\n cancelText: 'Storno',\n },\n Transfer: {\n searchPlaceholder: 'Vyhledávání',\n itemUnit: 'položka',\n itemsUnit: 'položek',\n },\n Upload: {\n uploading: 'Nahrávání...',\n removeFile: 'Odstranit soubor',\n uploadError: 'Chyba při nahrávání',\n previewFile: 'Zobrazit soubor',\n downloadFile: 'Stáhnout soubor',\n },\n Empty: {\n description: 'Žádná data',\n },\n};\n","import locale from '../locale/cs_CZ';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ side',\n jump_to: 'Gå til',\n jump_to_confirm: 'bekræft',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Forrige Side',\n next_page: 'Næste Side',\n prev_5: 'Forrige 5 Sider',\n next_5: 'Næste 5 Sider',\n prev_3: 'Forrige 3 Sider',\n next_3: 'Næste 3 Sider',\n};\n","const locale = {\n placeholder: 'Vælg tid',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/da_DK';\nimport TimePickerLocale from '../../time-picker/locale/da_DK';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Vælg dato',\n rangePlaceholder: ['Startdato', 'Slutdato'],\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","export default {\n today: 'I dag',\n now: 'Nu',\n backToToday: 'Gå til i dag',\n ok: 'Ok',\n clear: 'Annuller',\n month: 'Måned',\n year: 'År',\n timeSelect: 'Vælg tidspunkt',\n dateSelect: 'Vælg dato',\n monthSelect: 'Vælg måned',\n yearSelect: 'Vælg år',\n decadeSelect: 'Vælg årti',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Forrige måned(PageUp)',\n nextMonth: 'Næste måned (PageDown)',\n previousYear: 'Forrige år (Control + left)',\n nextYear: 'Næste r (Control + right)',\n previousDecade: 'Forrige årti',\n nextDecade: 'Næste årti',\n previousCentury: 'Forrige århundrede',\n nextCentury: 'Næste århundrede',\n};\n","import Pagination from '../vc-pagination/locale/da_DK';\nimport DatePicker from '../date-picker/locale/da_DK';\nimport TimePicker from '../time-picker/locale/da_DK';\nimport Calendar from '../calendar/locale/da_DK';\n\nexport default {\n locale: 'da',\n DatePicker,\n TimePicker,\n Calendar,\n Pagination,\n Table: {\n filterTitle: 'Filtermenu',\n filterConfirm: 'OK',\n filterReset: 'Nulstil',\n selectAll: 'Vælg alle',\n selectInvert: 'Inverter valg',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Afbryd',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Afbryd',\n },\n Transfer: {\n searchPlaceholder: 'Søg her',\n itemUnit: 'element',\n itemsUnit: 'elementer',\n },\n Upload: {\n uploading: 'Uploader...',\n removeFile: 'Fjern fil',\n uploadError: 'Fejl ved upload',\n previewFile: 'Forhåndsvisning',\n downloadFile: 'Download fil',\n },\n Empty: {\n description: 'Ingen data',\n },\n};\n","import locale from '../locale/da_DK';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ Seite',\n jump_to: 'Gehe zu',\n jump_to_confirm: 'bestätigen',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Vorherige Seite',\n next_page: 'Nächste Seite',\n prev_5: '5 Seiten zurück',\n next_5: '5 Seiten vor',\n prev_3: '3 Seiten zurück',\n next_3: '3 Seiten vor',\n};\n","const locale = {\n placeholder: 'Zeit auswählen',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/de_DE';\nimport TimePickerLocale from '../../time-picker/locale/de_DE';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Datum auswählen',\n rangePlaceholder: ['Startdatum', 'Enddatum'],\n ...CalendarLocale,\n },\n timePickerLocale: {\n ...TimePickerLocale,\n },\n};\n\n// All settings at:\n// https://github.com/ant-design/ant-design/issues/424\n\nexport default locale;\n","export default {\n today: 'Heute',\n now: 'Jetzt',\n backToToday: 'Zurück zu Heute',\n ok: 'OK',\n clear: 'Zurücksetzen',\n month: 'Monat',\n year: 'Jahr',\n timeSelect: 'Zeit wählen',\n dateSelect: 'Datum wählen',\n monthSelect: 'Wähle einen Monat',\n yearSelect: 'Wähle ein Jahr',\n decadeSelect: 'Wähle ein Jahrzehnt',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Vorheriger Monat (PageUp)',\n nextMonth: 'Nächster Monat (PageDown)',\n previousYear: 'Vorheriges Jahr (Ctrl + left)',\n nextYear: 'Nächstes Jahr (Ctrl + right)',\n previousDecade: 'Vorheriges Jahrzehnt',\n nextDecade: 'Nächstes Jahrzehnt',\n previousCentury: 'Vorheriges Jahrhundert',\n nextCentury: 'Nächstes Jahrhundert',\n};\n","import Pagination from '../vc-pagination/locale/de_DE';\nimport DatePicker from '../date-picker/locale/de_DE';\nimport TimePicker from '../time-picker/locale/de_DE';\nimport Calendar from '../calendar/locale/de_DE';\n\nexport default {\n locale: 'de',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Filter-Menü',\n filterConfirm: 'OK',\n filterReset: 'Zurücksetzen',\n selectAll: 'Selektiere Alle',\n selectInvert: 'Selektion Invertieren',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Abbrechen',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Abbrechen',\n },\n Transfer: {\n searchPlaceholder: 'Suchen',\n itemUnit: 'Eintrag',\n itemsUnit: 'Einträge',\n },\n Upload: {\n uploading: 'Hochladen...',\n removeFile: 'Datei entfernen',\n uploadError: 'Fehler beim Hochladen',\n previewFile: 'Dateivorschau',\n downloadFile: 'Download-Datei',\n },\n Empty: {\n description: 'Keine Daten',\n },\n};\n","import locale from '../locale/de_DE';\n\nexport default locale;\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","const locale = {\n placeholder: 'Επιλέξτε ώρα',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/el_GR';\nimport TimePickerLocale from '../../time-picker/locale/el_GR';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Επιλέξτε ημερομηνία',\n rangePlaceholder: ['Αρχική ημερομηνία', 'Τελική ημερομηνία'],\n ...CalendarLocale,\n },\n timePickerLocale: {\n ...TimePickerLocale,\n },\n};\n\n// All settings at:\n// https://github.com/ant-design/ant-design/issues/424\n\nexport default locale;\n","export default {\n today: 'Σήμερα',\n now: 'Τώρα',\n backToToday: 'Πίσω στη σημερινή μέρα',\n ok: 'Ok',\n clear: 'Καθαρισμός',\n month: 'Μήνας',\n year: 'Έτος',\n timeSelect: 'Επιλογή ώρας',\n dateSelect: 'Επιλογή ημερομηνίας',\n monthSelect: 'Επιλογή μήνα',\n yearSelect: 'Επιλογή έτους',\n decadeSelect: 'Επιλογή δεκαετίας',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Προηγούμενος μήνας (PageUp)',\n nextMonth: 'Επόμενος μήνας (PageDown)',\n previousYear: 'Προηγούμενο έτος (Control + αριστερά)',\n nextYear: 'Επόμενο έτος (Control + δεξιά)',\n previousDecade: 'Προηγούμενη δεκαετία',\n nextDecade: 'Επόμενη δεκαετία',\n previousCentury: 'Προηγούμενος αιώνας',\n nextCentury: 'Επόμενος αιώνας',\n};\n","import Pagination from '../vc-pagination/locale/el_GR';\nimport DatePicker from '../date-picker/locale/el_GR';\nimport TimePicker from '../time-picker/locale/el_GR';\nimport Calendar from '../calendar/locale/el_GR';\n\nexport default {\n locale: 'el',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Μενού φίλτρων',\n filterConfirm: 'ΟΚ',\n filterReset: 'Επαναφορά',\n selectAll: 'Επιλογή τρέχουσας σελίδας',\n selectInvert: 'Αντιστροφή τρέχουσας σελίδας',\n },\n Modal: {\n okText: 'ΟΚ',\n cancelText: 'Άκυρο',\n justOkText: 'ΟΚ',\n },\n Popconfirm: {\n okText: 'ΟΚ',\n cancelText: 'Άκυρο',\n },\n Transfer: {\n searchPlaceholder: 'Αναζήτηση',\n itemUnit: 'αντικείμενο',\n itemsUnit: 'αντικείμενα',\n },\n Upload: {\n uploading: 'Μεταφόρτωση...',\n removeFile: 'Αφαίρεση αρχείου',\n uploadError: 'Σφάλμα μεταφόρτωσης',\n previewFile: 'Προεπισκόπηση αρχείου',\n downloadFile: 'Λήψη αρχείου',\n },\n Empty: {\n description: 'Δεν υπάρχουν δεδομένα',\n },\n};\n","import locale from '../locale/el_GR';\n\nexport default locale;\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","const locale = {\n placeholder: 'Select time',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/en_GB';\nimport TimePickerLocale from '../../time-picker/locale/en_GB';\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","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 monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/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","import Pagination from '../vc-pagination/locale/en_GB';\nimport DatePicker from '../date-picker/locale/en_GB';\nimport TimePicker from '../time-picker/locale/en_GB';\nimport Calendar from '../calendar/locale/en_GB';\n\nexport default {\n locale: 'en-gb',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Filter menu',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n selectAll: 'Select current page',\n selectInvert: 'Invert current page',\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 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};\n","import locale from '../locale/en_GB';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ página',\n jump_to: 'Ir a',\n jump_to_confirm: 'confirmar',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Página anterior',\n next_page: 'Página siguiente',\n prev_5: '5 páginas previas',\n next_5: '5 páginas siguientes',\n prev_3: '3 páginas previas',\n next_3: '3 páginas siguientes',\n};\n","const locale = {\n placeholder: 'Seleccionar hora',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/es_ES';\nimport TimePickerLocale from '../../time-picker/locale/es_ES';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Seleccionar fecha',\n rangePlaceholder: ['Fecha inicial', 'Fecha final'],\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","export default {\n today: 'Hoy',\n now: 'Ahora',\n backToToday: 'Volver a hoy',\n ok: 'Aceptar',\n clear: 'Limpiar',\n month: 'Mes',\n year: 'Año',\n timeSelect: 'Seleccionar hora',\n dateSelect: 'Seleccionar fecha',\n monthSelect: 'Elegir un mes',\n yearSelect: 'Elegir un año',\n decadeSelect: 'Elegir una década',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Mes anterior (PageUp)',\n nextMonth: 'Mes siguiente (PageDown)',\n previousYear: 'Año anterior (Control + left)',\n nextYear: 'Año siguiente (Control + right)',\n previousDecade: 'Década anterior',\n nextDecade: 'Década siguiente',\n previousCentury: 'Siglo anterior',\n nextCentury: 'Siglo siguiente',\n};\n","import Pagination from '../vc-pagination/locale/es_ES';\nimport DatePicker from '../date-picker/locale/es_ES';\nimport TimePicker from '../time-picker/locale/es_ES';\nimport Calendar from '../calendar/locale/es_ES';\n\nexport default {\n locale: 'es',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n global: {\n placeholder: 'Seleccione',\n },\n Table: {\n filterTitle: 'Filtrar menú',\n filterConfirm: 'Aceptar',\n filterReset: 'Reiniciar',\n selectAll: 'Seleccionar todo',\n selectInvert: 'Invertir selección',\n sortTitle: 'Ordenar',\n },\n Modal: {\n okText: 'Aceptar',\n cancelText: 'Cancelar',\n justOkText: 'Aceptar',\n },\n Popconfirm: {\n okText: 'Aceptar',\n cancelText: 'Cancelar',\n },\n Transfer: {\n searchPlaceholder: 'Buscar aquí',\n itemUnit: 'elemento',\n itemsUnit: 'elementos',\n },\n Upload: {\n uploading: 'Subiendo...',\n removeFile: 'Eliminar archivo',\n uploadError: 'Error al subir el archivo',\n previewFile: 'Vista previa',\n downloadFile: 'Descargar archivo',\n },\n Empty: {\n description: 'No hay datos',\n },\n Icon: {\n icon: 'ícono',\n },\n Text: {\n edit: 'editar',\n copy: 'copiar',\n copied: 'copiado',\n expand: 'expandir',\n },\n PageHeader: {\n back: 'volver',\n },\n};\n","import locale from '../locale/es_ES';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ leheküljel',\n jump_to: 'Hüppa',\n jump_to_confirm: 'Kinnitage',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Eelmine leht',\n next_page: 'Järgmine leht',\n prev_5: 'Eelmised 5 lehekülge',\n next_5: 'Järgmised 5 lehekülge',\n prev_3: 'Eelmised 3 lehekülge',\n next_3: 'Järgmised 3 lehekülge',\n};\n","const locale = {\n placeholder: 'Vali aeg',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/et_EE';\nimport TimePickerLocale from '../../time-picker/locale/et_EE';\n\n// 统一合并为完整的 Locale\nconst locale = {\n lang: {\n placeholder: 'Vali kuupäev',\n rangePlaceholder: ['Algus kuupäev', 'Lõpu kuupäev'],\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","export default {\n today: 'Täna',\n now: 'Praegu',\n backToToday: 'Tagasi tänase juurde',\n ok: 'Ok',\n clear: 'Tühista',\n month: 'Kuu',\n year: 'Aasta',\n timeSelect: 'Vali aeg',\n dateSelect: 'Vali kuupäev',\n monthSelect: 'Vali kuu',\n yearSelect: 'Vali aasta',\n decadeSelect: 'Vali dekaad',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Eelmine kuu (PageUp)',\n nextMonth: 'Järgmine kuu (PageDown)',\n previousYear: 'Eelmine aasta (Control + left)',\n nextYear: 'Järgmine aasta (Control + right)',\n previousDecade: 'Eelmine dekaad',\n nextDecade: 'Järgmine dekaad',\n previousCentury: 'Eelmine sajand',\n nextCentury: 'Järgmine sajand',\n};\n","import Pagination from '../vc-pagination/locale/et_EE';\nimport DatePicker from '../date-picker/locale/et_EE';\nimport TimePicker from '../time-picker/locale/et_EE';\nimport Calendar from '../calendar/locale/et_EE';\n\nexport default {\n locale: 'et',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Filtri menüü',\n filterConfirm: 'OK',\n filterReset: 'Nulli',\n selectAll: 'Vali kõik',\n selectInvert: 'Inverteeri valik',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Tühista',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Tühista',\n },\n Transfer: {\n searchPlaceholder: 'Otsi siit',\n itemUnit: 'kogus',\n itemsUnit: 'kogus',\n },\n Upload: {\n uploading: 'Üleslaadimine...',\n removeFile: 'Eemalda fail',\n uploadError: 'Üleslaadimise tõrge',\n previewFile: 'Faili eelvaade',\n downloadFile: 'Laadige fail alla',\n },\n Empty: {\n description: 'Andmed puuduvad',\n },\n};\n","import locale from '../locale/et_EE';\n\nexport default locale;\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: '۵ صفحه قبلی',\n next_5: '۵ صفحه بعدی',\n prev_3: '۳ صفحه قبلی',\n next_3: '۳ صفحه بعدی',\n};\n","const locale = {\n placeholder: 'انتخاب زمان',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/fa_IR';\nimport TimePickerLocale from '../../time-picker/locale/fa_IR';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'انتخاب تاریخ',\n rangePlaceholder: ['تاریخ شروع', 'تاریخ پایان'],\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","export default {\n today: 'امروز',\n now: 'اکنون',\n backToToday: 'بازگشت به روز',\n ok: 'باشه',\n clear: 'پاک کردن',\n month: 'ماه',\n year: 'سال',\n timeSelect: 'انتخاب زمان',\n dateSelect: 'انتخاب تاریخ',\n monthSelect: 'یک ماه را انتخاب کنید',\n yearSelect: 'یک سال را انتخاب کنید',\n decadeSelect: 'یک دهه را انتخاب کنید',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'ماه قبل (PageUp)',\n nextMonth: 'ماه بعد (PageDown)',\n previousYear: 'سال قبل (Control + left)',\n nextYear: 'سال بعد (Control + right)',\n previousDecade: 'دهه قبل',\n nextDecade: 'دهه بعد',\n previousCentury: 'قرن قبل',\n nextCentury: 'قرن بعد',\n};\n","import Pagination from '../vc-pagination/locale/fa_IR';\nimport DatePicker from '../date-picker/locale/fa_IR';\nimport TimePicker from '../time-picker/locale/fa_IR';\nimport Calendar from '../calendar/locale/fa_IR';\n\nexport default {\n locale: 'fa',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'منوی فیلتر',\n filterConfirm: 'تایید',\n filterReset: 'پاک کردن',\n selectAll: 'انتخاب صفحه‌ی کنونی',\n selectInvert: 'معکوس کردن انتخاب‌ها در صفحه ی کنونی',\n },\n Modal: {\n okText: 'تایید',\n cancelText: 'لغو',\n justOkText: 'تایید',\n },\n Popconfirm: {\n okText: 'تایید',\n cancelText: 'لغو',\n },\n Transfer: {\n searchPlaceholder: 'جستجو',\n itemUnit: '',\n itemsUnit: '',\n },\n Upload: {\n uploading: 'در حال آپلود...',\n removeFile: 'حذف فایل',\n uploadError: 'خطا در آپلود',\n previewFile: 'مشاهده‌ی فایل',\n downloadFile: 'دریافت فایل',\n },\n Empty: {\n description: 'داده‌ای موجود نیست',\n },\n};\n","import locale from '../locale/fa_IR';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ sivu',\n jump_to: 'Mene',\n jump_to_confirm: 'Potvrdite',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Edellinen sivu',\n next_page: 'Seuraava sivu',\n prev_5: 'Edelliset 5 sivua',\n next_5: 'Seuraavat 5 sivua',\n prev_3: 'Edelliset 3 sivua',\n next_3: 'Seuraavat 3 sivua',\n};\n","const locale = {\n placeholder: 'Valitse aika',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/fi_FI';\nimport TimePickerLocale from '../../time-picker/locale/fi_FI';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Valitse päivä',\n rangePlaceholder: ['Alku päivä', 'Loppu päivä'],\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","export default {\n today: 'Tänään',\n now: 'Nyt',\n backToToday: 'Tämä päivä',\n ok: 'Ok',\n clear: 'Tyhjennä',\n month: 'Kuukausi',\n year: 'Vuosi',\n timeSelect: 'Valise aika',\n dateSelect: 'Valitse päivä',\n monthSelect: 'Valitse kuukausi',\n yearSelect: 'Valitse vuosi',\n decadeSelect: 'Valitse vuosikymmen',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Edellinen kuukausi (PageUp)',\n nextMonth: 'Seuraava kuukausi (PageDown)',\n previousYear: 'Edellinen vuosi (Control + left)',\n nextYear: 'Seuraava vuosi (Control + right)',\n previousDecade: 'Edellinen vuosikymmen',\n nextDecade: 'Seuraava vuosikymmen',\n previousCentury: 'Edellinen vuosisata',\n nextCentury: 'Seuraava vuosisata',\n};\n","import Pagination from '../vc-pagination/locale/fi_FI';\nimport DatePicker from '../date-picker/locale/fi_FI';\nimport TimePicker from '../time-picker/locale/fi_FI';\nimport Calendar from '../calendar/locale/fi_FI';\n\nexport default {\n locale: 'fi',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Suodatus valikko',\n filterConfirm: 'OK',\n filterReset: 'Tyhjennä',\n selectAll: 'Valitse kaikki',\n selectInvert: 'Valitse päinvastoin',\n sortTitle: 'Lajittele',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Peruuta',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Peruuta',\n },\n Transfer: {\n searchPlaceholder: 'Etsi täältä',\n itemUnit: 'kohde',\n itemsUnit: 'kohdetta',\n },\n Upload: {\n uploading: 'Lähetetään...',\n removeFile: 'Poista tiedosto',\n uploadError: 'Virhe lähetyksessä',\n previewFile: 'Esikatsele tiedostoa',\n downloadFile: 'Lataa tiedosto',\n },\n Empty: {\n description: 'Ei kohteita',\n },\n};\n","import locale from '../locale/fi_FI';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ page',\n jump_to: 'Aller à',\n jump_to_confirm: 'confirmer',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Page précédente',\n next_page: 'Page suivante',\n prev_5: '5 Pages précédentes',\n next_5: '5 Pages suivantes',\n prev_3: '3 Pages précédentes',\n next_3: '3 Pages suivantes',\n};\n","const locale = {\n placeholder: \"Sélectionner l'heure\",\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/fr_BE';\nimport TimePickerLocale from '../../time-picker/locale/fr_BE';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Sélectionner une date',\n rangePlaceholder: ['Date de début', 'Date de fin'],\n ...CalendarLocale,\n },\n timePickerLocale: {\n ...TimePickerLocale,\n },\n};\n\n// All settings at:\n// https://github.com/ant-design/ant-design/issues/424\n\nexport default locale;\n","export default {\n today: \"Aujourd'hui\",\n now: 'Maintenant',\n backToToday: \"Aujourd'hui\",\n ok: 'Ok',\n clear: 'Rétablir',\n month: 'Mois',\n year: 'Année',\n timeSelect: \"Sélectionner l'heure\",\n dateSelect: \"Sélectionner l'heure\",\n monthSelect: 'Choisissez un mois',\n yearSelect: 'Choisissez une année',\n decadeSelect: 'Choisissez une décennie',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Mois précédent (PageUp)',\n nextMonth: 'Mois suivant (PageDown)',\n previousYear: 'Année précédente (Ctrl + gauche)',\n nextYear: 'Année prochaine (Ctrl + droite)',\n previousDecade: 'Décennie précédente',\n nextDecade: 'Décennie suivante',\n previousCentury: 'Siècle précédent',\n nextCentury: 'Siècle suivant',\n};\n","import Pagination from '../vc-pagination/locale/fr_BE';\nimport DatePicker from '../date-picker/locale/fr_BE';\nimport TimePicker from '../time-picker/locale/fr_BE';\nimport Calendar from '../calendar/locale/fr_BE';\n\nexport default {\n locale: 'fr',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Filtrer',\n filterConfirm: 'OK',\n filterReset: 'Réinitialiser',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Annuler',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Annuler',\n },\n Transfer: {\n searchPlaceholder: 'Recherche',\n itemUnit: 'élément',\n itemsUnit: 'éléments',\n },\n Upload: {\n uploading: 'Téléchargement...',\n removeFile: 'Effacer le fichier',\n uploadError: 'Erreur de téléchargement',\n previewFile: 'Fichier de prévisualisation',\n downloadFile: 'Télécharger un fichier',\n },\n Empty: {\n description: 'Aucune donnée',\n },\n Text: {\n edit: 'éditer',\n copy: 'copier',\n copied: 'copie effectuée',\n expand: 'développer',\n },\n};\n","import locale from '../locale/fr_BE';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ page',\n jump_to: 'Aller à',\n jump_to_confirm: 'confirmer',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Page précédente',\n next_page: 'Page suivante',\n prev_5: '5 Pages précédentes',\n next_5: '5 Pages suivantes',\n prev_3: '3 Pages précédentes',\n next_3: '3 Pages suivantes',\n};\n","const locale = {\n placeholder: \"Sélectionner l'heure\",\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/fr_FR';\nimport TimePickerLocale from '../../time-picker/locale/fr_FR';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Sélectionner une date',\n rangePlaceholder: ['Date de début', 'Date de fin'],\n ...CalendarLocale,\n },\n timePickerLocale: {\n ...TimePickerLocale,\n },\n};\n\n// All settings at:\n// https://github.com/ant-design/ant-design/issues/424\n\nexport default locale;\n","export default {\n today: \"Aujourd'hui\",\n now: 'Maintenant',\n backToToday: \"Aujourd'hui\",\n ok: 'Ok',\n clear: 'Rétablir',\n month: 'Mois',\n year: 'Année',\n timeSelect: \"Sélectionner l'heure\",\n dateSelect: 'Sélectionner la date',\n monthSelect: 'Choisissez un mois',\n yearSelect: 'Choisissez une année',\n decadeSelect: 'Choisissez une décennie',\n yearFormat: 'YYYY',\n dateFormat: 'DD/MM/YYYY',\n dayFormat: 'DD',\n dateTimeFormat: 'DD/MM/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Mois précédent (PageUp)',\n nextMonth: 'Mois suivant (PageDown)',\n previousYear: 'Année précédente (Ctrl + gauche)',\n nextYear: 'Année prochaine (Ctrl + droite)',\n previousDecade: 'Décennie précédente',\n nextDecade: 'Décennie suivante',\n previousCentury: 'Siècle précédent',\n nextCentury: 'Siècle suivant',\n};\n","import Pagination from '../vc-pagination/locale/fr_FR';\nimport DatePicker from '../date-picker/locale/fr_FR';\nimport TimePicker from '../time-picker/locale/fr_FR';\nimport Calendar from '../calendar/locale/fr_FR';\n\nexport default {\n locale: 'fr',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Filtrer',\n filterConfirm: 'OK',\n filterReset: 'Réinitialiser',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Annuler',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Annuler',\n },\n Transfer: {\n searchPlaceholder: 'Recherche',\n itemUnit: 'élément',\n itemsUnit: 'éléments',\n },\n Empty: {\n description: 'Aucune donnée',\n },\n Upload: {\n uploading: 'Téléchargement...',\n removeFile: 'Effacer le fichier',\n uploadError: 'Erreur de téléchargement',\n previewFile: 'Fichier de prévisualisation',\n downloadFile: 'Télécharger un fichier',\n },\n Text: {\n edit: 'éditer',\n copy: 'copier',\n copied: 'copie effectuée',\n expand: 'développer',\n },\n};\n","import locale from '../locale/fr_FR';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ leathanach',\n jump_to: 'Téigh',\n jump_to_confirm: 'dheimhnigh',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Leathanach Roimhe Seo',\n next_page: 'An chéad leathanach eile',\n prev_5: '5 leathanach roimhe seo',\n next_5: 'Ar Aghaidh 5 Leathanaigh',\n prev_3: '3 leathanach roimhe seo',\n next_3: 'Ar Aghaidh 3 Leathanaigh',\n};\n","const locale = {\n placeholder: 'Roghnaigh am',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/ga_IE';\nimport TimePickerLocale from '../../time-picker/locale/ga_IE';\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","export default {\n today: 'inniu',\n now: 'anois',\n backToToday: 'Ar ais inniu',\n ok: 'ceart go leor',\n clear: 'soiléir',\n month: 'mhí',\n year: 'bhliain',\n timeSelect: 'roghnaigh am',\n dateSelect: 'roghnaigh dáta',\n weekSelect: 'Roghnaigh seachtain',\n monthSelect: 'Roghnaigh mí',\n yearSelect: 'Roghnaigh bliain',\n decadeSelect: 'Roghnaigh deich mbliana',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'An mhí roimhe seo (PageUp)',\n nextMonth: 'An mhí seo chugainn (PageDown)',\n previousYear: 'Anuraidh (Control + left)',\n nextYear: 'An bhliain seo chugainn (Control + right)',\n previousDecade: 'Le deich mbliana anuas',\n nextDecade: 'Deich mbliana amach romhainn',\n previousCentury: 'An chéid seo caite',\n nextCentury: 'An chéad aois eile',\n};\n","import Pagination from '../vc-pagination/locale/ga_IE';\nimport DatePicker from '../date-picker/locale/ga_IE';\nimport TimePicker from '../time-picker/locale/ga_IE';\nimport Calendar from '../calendar/locale/ga_IE';\n\nexport default {\n locale: 'ga_IE',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Scagaire roghchlár',\n filterConfirm: 'Ceart go leor',\n filterReset: 'Athshocraigh',\n selectAll: 'Roghnaigh an leathanach reatha',\n selectInvert: 'Inbhéartaigh an leathanach reatha',\n },\n Modal: {\n okText: 'Ceart go leor',\n cancelText: 'Cealaigh',\n justOkText: 'Ceart go leor',\n },\n Popconfirm: {\n okText: 'Ceart go leor',\n cancelText: 'Cealaigh',\n },\n Transfer: {\n searchPlaceholder: 'Cuardaigh anseo',\n itemUnit: 'mír',\n itemsUnit: 'míreanna',\n },\n Upload: {\n uploading: 'Uaslódáil ...',\n removeFile: 'Bain comhad',\n uploadError: 'Earráid uaslódáil',\n previewFile: 'Comhad réamhamhairc',\n downloadFile: 'Íoslódáil an comhad',\n },\n Empty: {\n description: 'Gan aon sonraí',\n },\n};\n","import locale from '../locale/ga_IE';\n\nexport default locale;\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","const locale = {\n placeholder: 'בחר שעה',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/he_IL';\nimport TimePickerLocale from '../../time-picker/locale/he_IL';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'בחר תאריך',\n rangePlaceholder: ['תאריך התחלה', 'תאריך סיום'],\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","export default {\n today: 'היום',\n now: 'עכשיו',\n backToToday: 'חזור להיום',\n ok: 'אישור',\n clear: 'איפוס',\n month: 'חודש',\n year: 'שנה',\n timeSelect: 'בחר שעה',\n dateSelect: 'בחר תאריך',\n weekSelect: 'בחר שבוע',\n monthSelect: 'בחר חודש',\n yearSelect: 'בחר שנה',\n decadeSelect: 'בחר עשור',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'חודש קודם (PageUp)',\n nextMonth: 'חודש הבא (PageDown)',\n previousYear: 'שנה שעברה (Control + left)',\n nextYear: 'שנה הבאה (Control + right)',\n previousDecade: 'העשור הקודם',\n nextDecade: 'העשור הבא',\n previousCentury: 'המאה הקודמת',\n nextCentury: 'המאה הבאה',\n};\n","import Pagination from '../vc-pagination/locale/he_IL';\nimport DatePicker from '../date-picker/locale/he_IL';\nimport TimePicker from '../time-picker/locale/he_IL';\nimport Calendar from '../calendar/locale/he_IL';\n\nexport default {\n locale: 'he',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'תפריט סינון',\n filterConfirm: 'אישור',\n filterReset: 'איפוס',\n selectAll: 'בחר הכל',\n selectInvert: 'הפוך בחירה',\n },\n Modal: {\n okText: 'אישור',\n cancelText: 'ביטול',\n justOkText: 'אישור',\n },\n Popconfirm: {\n okText: 'אישור',\n cancelText: 'ביטול',\n },\n Transfer: {\n searchPlaceholder: 'חפש כאן',\n itemUnit: 'פריט',\n itemsUnit: 'פריטים',\n },\n Upload: {\n uploading: 'מעלה...',\n removeFile: 'הסר קובץ',\n uploadError: 'שגיאת העלאה',\n previewFile: 'הצג קובץ',\n downloadFile: 'הורד קובץ',\n },\n Empty: {\n description: 'אין מידע',\n },\n};\n","import locale from '../locale/he_IL';\n\nexport default locale;\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","const locale = {\n placeholder: 'समय का चयन करें',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/hi_IN';\nimport TimePickerLocale from '../../time-picker/locale/hi_IN';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'तारीख़ चुनें',\n rangePlaceholder: ['प्रारंभ तिथि', 'समाप्ति तिथि'],\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","export default {\n today: 'आज',\n now: 'अभी',\n backToToday: 'आज तक',\n ok: 'ठीक',\n clear: 'स्पष्ट',\n month: 'महीना',\n year: 'साल',\n timeSelect: 'समय का चयन करें',\n dateSelect: 'तारीख़ चुनें',\n weekSelect: 'एक सप्ताह चुनें',\n monthSelect: 'एक महीना चुनें',\n yearSelect: 'एक वर्ष चुनें',\n decadeSelect: 'एक दशक चुनें',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'पिछला महीना (पेजअप)',\n nextMonth: 'अगले महीने (पेजडाउन)',\n previousYear: 'पिछले साल (Ctrl + बाएं)',\n nextYear: 'अगले साल (Ctrl + दाहिना)',\n previousDecade: 'पिछला दशक',\n nextDecade: 'अगले दशक',\n previousCentury: 'पीछ्ली शताब्दी',\n nextCentury: 'अगली सदी',\n};\n","import Pagination from '../vc-pagination/locale/hi_IN';\nimport DatePicker from '../date-picker/locale/hi_IN';\nimport TimePicker from '../time-picker/locale/hi_IN';\nimport Calendar from '../calendar/locale/hi_IN';\n\nexport default {\n locale: 'hi',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n // locales for all comoponents\n global: {\n placeholder: 'कृपया चुनें',\n },\n Table: {\n filterTitle: 'सूची बंद करें',\n filterConfirm: 'अच्छी तरह से',\n filterReset: 'रीसेट',\n emptyText: 'कोई जानकारी नहीं',\n selectAll: 'वर्तमान पृष्ठ का चयन करें',\n selectInvert: 'वर्तमान पृष्ठ घुमाएं',\n sortTitle: 'द्वारा क्रमबद्ध करें',\n },\n Modal: {\n okText: 'अच्छी तरह से',\n cancelText: 'रद्द करना',\n justOkText: 'अच्छी तरह से',\n },\n Popconfirm: {\n okText: 'अच्छी तरह से',\n cancelText: 'रद्द करना',\n },\n Transfer: {\n titles: ['', ''],\n notFoundContent: 'नहीं मिला',\n searchPlaceholder: 'यहां खोजें',\n itemUnit: 'तत्त्व',\n itemsUnit: 'विषय-वस्तु',\n },\n Select: {\n notFoundContent: 'नहीं मिला',\n },\n Upload: {\n uploading: 'अपलोडिंग...',\n removeFile: 'फ़ाइल निकालें',\n uploadError: 'अपलोड में त्रुटि',\n previewFile: 'फ़ाइल पूर्वावलोकन',\n downloadFile: 'फ़ाइल डाउनलोड करें',\n },\n};\n","import locale from '../locale/hi_IN';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ str',\n jump_to: 'Idi na',\n jump_to_confirm: 'potvrdi',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Prijašnja stranica',\n next_page: 'Sljedeća stranica',\n prev_5: 'Prijašnjih 5 stranica',\n next_5: 'Sljedećih 5 stranica',\n prev_3: 'Prijašnje 3 stranice',\n next_3: 'Sljedeće 3 stranice',\n};\n","const locale = {\n placeholder: 'Odaberite vrijeme',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/hr_HR';\nimport TimePickerLocale from '../../time-picker/locale/hr_HR';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Odaberite datum',\n rangePlaceholder: ['Početni datum', 'Završni datum'],\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","export default {\n today: 'Danas',\n now: 'Sad',\n backToToday: 'Natrag na danas',\n ok: 'Ok',\n clear: 'Očisti',\n month: 'Mjesec',\n year: 'Godina',\n timeSelect: 'odaberite vrijeme',\n dateSelect: 'odaberite datum',\n weekSelect: 'Odaberite tjedan',\n monthSelect: 'Odaberite mjesec',\n yearSelect: 'Odaberite godinu',\n decadeSelect: 'Odaberite desetljeće',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Prošli mjesec (PageUp)',\n nextMonth: 'Sljedeći mjesec (PageDown)',\n previousYear: 'Prošla godina (Control + left)',\n nextYear: 'Sljedeća godina (Control + right)',\n previousDecade: 'Prošlo desetljeće',\n nextDecade: 'Sljedeće desetljeće',\n previousCentury: 'Prošlo stoljeće',\n nextCentury: 'Sljedeće stoljeće',\n};\n","import Pagination from '../vc-pagination/locale/hr_HR';\nimport DatePicker from '../date-picker/locale/hr_HR';\nimport TimePicker from '../time-picker/locale/hr_HR';\nimport Calendar from '../calendar/locale/hr_HR';\n\nexport default {\n locale: 'hr',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n global: {\n placeholder: 'Molimo označite',\n },\n Table: {\n filterTitle: 'Filter meni',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n selectAll: 'Označi trenutnu stranicu',\n selectInvert: 'Invertiraj trenutnu stranicu',\n sortTitle: 'Sortiraj',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Odustani',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Odustani',\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Pretraži ovdje',\n itemUnit: 'stavka',\n itemsUnit: 'stavke',\n },\n Upload: {\n uploading: 'Upload u tijeku...',\n removeFile: 'Makni datoteku',\n uploadError: 'Greška kod uploada',\n previewFile: 'Pogledaj datoteku',\n downloadFile: 'Preuzmi datoteku',\n },\n Empty: {\n description: 'Nema podataka',\n },\n Icon: {\n icon: 'ikona',\n },\n Text: {\n edit: 'uredi',\n copy: 'kopiraj',\n copied: 'kopiranje uspješno',\n expand: 'proširi',\n },\n};\n","import locale from '../locale/hr_HR';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ oldal', // '/ page',\n jump_to: 'Ugrás', // 'Goto',\n jump_to_confirm: 'megerősít', // 'confirm',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Előző oldal', // 'Previous Page',\n next_page: 'Következő oldal', // 'Next Page',\n prev_5: 'Előző 5 oldal', // 'Previous 5 Pages',\n next_5: 'Következő 5 oldal', // 'Next 5 Pages',\n prev_3: 'Előző 3 oldal', // 'Previous 3 Pages',\n next_3: 'Következő 3 oldal', // 'Next 3 Pages',\n};\n","const locale = {\n placeholder: 'Válasszon időt',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/hu_HU';\nimport TimePickerLocale from '../../time-picker/locale/hu_HU';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Válasszon dátumot',\n rangePlaceholder: ['Kezdő dátum', 'Befejezés dátuma'],\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","export default {\n today: 'Ma', // 'Today',\n now: 'Most', // 'Now',\n backToToday: 'Vissza a mai napra', // 'Back to today',\n ok: 'Ok',\n clear: 'Törlés', // 'Clear',\n month: 'Hónap', // 'Month',\n year: 'Év', // 'Year',\n timeSelect: 'Időpont kiválasztása', // 'Select time',\n dateSelect: 'Dátum kiválasztása', // 'Select date',\n monthSelect: 'Hónap kiválasztása', // 'Choose a month',\n yearSelect: 'Év kiválasztása', // 'Choose a year',\n decadeSelect: 'Évtized kiválasztása', // 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'YYYY/MM/DD', // 'M/D/YYYY',\n dayFormat: 'DD', // 'D',\n dateTimeFormat: 'YYYY/MM/DD HH:mm:ss', // 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Előző hónap (PageUp)', // 'Previous month (PageUp)',\n nextMonth: 'Következő hónap (PageDown)', // 'Next month (PageDown)',\n previousYear: 'Múlt év (Control + left)', // 'Last year (Control + left)',\n nextYear: 'Jövő év (Control + right)', // 'Next year (Control + right)',\n previousDecade: 'Előző évtized', // 'Last decade',\n nextDecade: 'Következő évtized', // 'Next decade',\n previousCentury: 'Múlt évszázad', // 'Last century',\n nextCentury: 'Jövő évszázad', // 'Next century',\n};\n","import Pagination from '../vc-pagination/locale/hu_HU';\nimport DatePicker from '../date-picker/locale/hu_HU';\nimport TimePicker from '../time-picker/locale/hu_HU';\nimport Calendar from '../calendar/locale/hu_HU';\n\nexport default {\n locale: 'hu',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Szűrők',\n filterConfirm: 'Alkalmazás',\n filterReset: 'Visszaállítás',\n selectAll: 'Jelenlegi oldal kiválasztása',\n selectInvert: 'Jelenlegi oldal inverze',\n sortTitle: 'Rendezés',\n },\n Modal: {\n okText: 'Alkalmazás',\n cancelText: 'Visszavonás',\n justOkText: 'Alkalmazás',\n },\n Popconfirm: {\n okText: 'Alkalmazás',\n cancelText: 'Visszavonás',\n },\n Transfer: {\n searchPlaceholder: 'Keresés',\n itemUnit: 'elem',\n itemsUnit: 'elemek',\n },\n Upload: {\n uploading: 'Feltöltés...',\n removeFile: 'Fájl eltávolítása',\n uploadError: 'Feltöltési hiba',\n previewFile: 'Fájl előnézet',\n downloadFile: 'Fájl letöltése',\n },\n Empty: {\n description: 'Nincs adat',\n },\n};\n","import locale from '../locale/hu_HU';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ halaman',\n jump_to: 'Menuju',\n jump_to_confirm: 'konfirmasi',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Halaman Sebelumnya',\n next_page: 'Halaman Berikutnya',\n prev_5: '5 Halaman Sebelumnya',\n next_5: '5 Halaman Berikutnya',\n prev_3: '3 Halaman Sebelumnya',\n next_3: '3 Halaman Berikutnya',\n};\n","const locale = {\n placeholder: 'Pilih waktu',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/id_ID';\nimport TimePickerLocale from '../../time-picker/locale/id_ID';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Pilih tanggal',\n rangePlaceholder: ['Mulai tanggal', 'Tanggal akhir'],\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","export default {\n today: 'Hari ini',\n now: 'Sekarang',\n backToToday: 'Kembali ke hari ini',\n ok: 'Baik',\n clear: 'Bersih',\n month: 'Bulan',\n year: 'Tahun',\n timeSelect: 'pilih waktu',\n dateSelect: 'pilih tanggal',\n weekSelect: 'Pilih satu minggu',\n monthSelect: 'Pilih satu bulan',\n yearSelect: 'Pilih satu tahun',\n decadeSelect: 'Pilih satu dekade',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Bulan sebelumnya (PageUp)',\n nextMonth: 'Bulan selanjutnya (PageDown)',\n previousYear: 'Tahun lalu (Control + kiri)',\n nextYear: 'Tahun selanjutnya (Kontrol + kanan)',\n previousDecade: 'Dekade terakhir',\n nextDecade: 'Dekade berikutnya',\n previousCentury: 'Abad terakhir',\n nextCentury: 'Abad berikutnya',\n};\n","import Pagination from '../vc-pagination/locale/id_ID';\nimport DatePicker from '../date-picker/locale/id_ID';\nimport TimePicker from '../time-picker/locale/id_ID';\nimport Calendar from '../calendar/locale/id_ID';\n\nexport default {\n locale: 'id',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Saring',\n filterConfirm: 'OK',\n filterReset: 'Hapus',\n selectAll: 'Pilih semua di halaman ini',\n selectInvert: 'Balikkan pilihan di halaman ini',\n sortTitle: 'Urutkan',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Batal',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Batal',\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Cari',\n itemUnit: 'item',\n itemsUnit: 'item',\n },\n Upload: {\n uploading: 'Mengunggah...',\n removeFile: 'Hapus file',\n uploadError: 'Kesalahan pengunggahan',\n previewFile: 'File pratinjau',\n downloadFile: 'Unduh berkas',\n },\n Empty: {\n description: 'Tidak ada data',\n },\n};\n","import locale from '../locale/id_ID';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ síðu',\n jump_to: 'Síða',\n jump_to_confirm: 'staðfest',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Fyrri síða',\n next_page: 'Næsta síða',\n prev_5: 'Til baka 5 síður',\n next_5: 'Áfram 5 síður',\n prev_3: 'Til baka 3 síður',\n next_3: 'Áfram 3 síður',\n};\n","const locale = {\n placeholder: 'Velja tíma',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/is_IS';\nimport TimePickerLocale from '../../time-picker/locale/is_IS';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Veldu dag',\n rangePlaceholder: ['Upphafsdagur', 'Lokadagur'],\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","export default {\n today: 'Í dag',\n now: 'Núna',\n backToToday: 'Til baka til dagsins í dag',\n ok: 'Í lagi',\n clear: 'Hreinsa',\n month: 'Mánuður',\n year: 'Ár',\n timeSelect: 'Velja tíma',\n dateSelect: 'Velja dag',\n monthSelect: 'Velja mánuð',\n yearSelect: 'Velja ár',\n decadeSelect: 'Velja áratug',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Fyrri mánuður (PageUp)',\n nextMonth: 'Næsti mánuður (PageDown)',\n previousYear: 'Fyrra ár (Control + left)',\n nextYear: 'Næsta ár (Control + right)',\n previousDecade: 'Fyrri áratugur',\n nextDecade: 'Næsti áratugur',\n previousCentury: 'Fyrri öld',\n nextCentury: 'Næsta öld',\n};\n","import Pagination from '../vc-pagination/locale/is_IS';\nimport DatePicker from '../date-picker/locale/is_IS';\nimport TimePicker from '../time-picker/locale/is_IS';\nimport Calendar from '../calendar/locale/is_IS';\n\nexport default {\n locale: 'is',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Afmarkanir',\n filterConfirm: 'Staðfesta',\n filterReset: 'Núllstilla',\n selectAll: 'Velja allt',\n selectInvert: 'Viðsnúa vali',\n },\n Modal: {\n okText: 'Áfram',\n cancelText: 'Hætta við',\n justOkText: 'Í lagi',\n },\n Popconfirm: {\n okText: 'Áfram',\n cancelText: 'Hætta við',\n },\n Transfer: {\n searchPlaceholder: 'Leita hér',\n itemUnit: 'færsla',\n itemsUnit: 'færslur',\n },\n Upload: {\n uploading: 'Hleð upp...',\n removeFile: 'Fjarlægja skrá',\n uploadError: 'Villa við að hlaða upp',\n previewFile: 'Forskoða skrá',\n downloadFile: 'Hlaða niður skrá',\n },\n Empty: {\n description: 'Engin gögn',\n },\n};\n","import locale from '../locale/is_IS';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ pagina',\n jump_to: 'vai a',\n jump_to_confirm: 'Conferma',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Pagina precedente',\n next_page: 'Pagina successiva',\n prev_5: 'Precedente 5 pagine',\n next_5: 'Prossime 5 pagine',\n prev_3: 'Precedente 3 pagine',\n next_3: 'Prossime 3 pagine',\n};\n","const locale = {\n placeholder: \"Selezionare l'orario\",\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/it_IT';\nimport TimePickerLocale from '../../time-picker/locale/it_IT';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Selezionare la data',\n rangePlaceholder: [\"Data d'inizio\", 'Data di fine'],\n ...CalendarLocale,\n },\n timePickerLocale: {\n ...TimePickerLocale,\n },\n};\n\n// All settings at:\n// https://github.com/ant-design/ant-design/issues/424\n\nexport default locale;\n","export default {\n today: 'Oggi',\n now: 'Adesso',\n backToToday: 'Torna ad oggi',\n ok: 'Ok',\n clear: 'Cancella',\n month: 'Mese',\n year: 'Anno',\n timeSelect: \"Seleziona l'ora\",\n dateSelect: 'Seleziona la data',\n monthSelect: 'Seleziona il mese',\n yearSelect: \"Seleziona l'anno\",\n decadeSelect: 'Seleziona il decennio',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Il mese scorso (PageUp)',\n nextMonth: 'Il prossimo mese (PageDown)',\n previousYear: \"L'anno scorso (Control + sinistra)\",\n nextYear: \"L'anno prossimo (Control + destra)\",\n previousDecade: 'Ultimo decennio',\n nextDecade: 'Prossimo decennio',\n previousCentury: 'Secolo precedente',\n nextCentury: 'Prossimo secolo',\n};\n","import Pagination from '../vc-pagination/locale/it_IT';\nimport DatePicker from '../date-picker/locale/it_IT';\nimport TimePicker from '../time-picker/locale/it_IT';\nimport Calendar from '../calendar/locale/it_IT';\n\nexport default {\n locale: 'it',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n global: {\n placeholder: 'Selezionare',\n },\n Table: {\n filterTitle: 'Menù Filtro',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n selectAll: 'Seleziona pagina corrente',\n selectInvert: 'Inverti selezione nella pagina corrente',\n sortTitle: 'Ordina',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Annulla',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Annulla',\n },\n Transfer: {\n searchPlaceholder: 'Cerca qui',\n itemUnit: 'elemento',\n itemsUnit: 'elementi',\n },\n Upload: {\n uploading: 'Caricamento...',\n removeFile: 'Rimuovi il file',\n uploadError: 'Errore di caricamento',\n previewFile: 'Anteprima file',\n downloadFile: 'Download file',\n },\n Empty: {\n description: 'Nessun dato',\n },\n Icon: {\n icon: 'icona',\n },\n Text: {\n edit: 'modifica',\n copy: 'copia',\n copied: 'copia effettuata',\n expand: 'espandi',\n },\n};\n","import locale from '../locale/it_IT';\n\nexport default locale;\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","const locale = {\n placeholder: '時刻を選択',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/ja_JP';\nimport TimePickerLocale from '../../time-picker/locale/ja_JP';\n\nconst locale = {\n lang: {\n placeholder: '日付を選択',\n rangePlaceholder: ['開始日付', '終了日付'],\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","export default {\n today: '今日',\n now: '現在時刻',\n backToToday: '今日に戻る',\n ok: '決定',\n timeSelect: '時間を選択',\n dateSelect: '日時を選択',\n clear: 'クリア',\n month: '月',\n year: '年',\n previousMonth: '前月 (ページアップキー)',\n nextMonth: '翌月 (ページダウンキー)',\n monthSelect: '月を選択',\n yearSelect: '年を選択',\n decadeSelect: '年代を選択',\n yearFormat: 'YYYY年',\n dayFormat: 'D日',\n dateFormat: 'YYYY年M月D日',\n dateTimeFormat: 'YYYY年M月D日 HH時mm分ss秒',\n previousYear: '前年 (Controlを押しながら左キー)',\n nextYear: '翌年 (Controlを押しながら右キー)',\n previousDecade: '前の年代',\n nextDecade: '次の年代',\n previousCentury: '前の世紀',\n nextCentury: '次の世紀',\n};\n","import Pagination from '../vc-pagination/locale/ja_JP';\nimport DatePicker from '../date-picker/locale/ja_JP';\nimport TimePicker from '../time-picker/locale/ja_JP';\nimport Calendar from '../calendar/locale/ja_JP';\n\nexport default {\n locale: 'ja',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'メニューをフィルター',\n filterConfirm: 'OK',\n filterReset: 'リセット',\n selectAll: 'すべてを選択',\n selectInvert: '選択を反転',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'キャンセル',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'キャンセル',\n },\n Transfer: {\n searchPlaceholder: 'ここを検索',\n itemUnit: 'アイテム',\n itemsUnit: 'アイテム',\n },\n Upload: {\n uploading: 'アップロード中...',\n removeFile: 'ファイルを削除',\n uploadError: 'アップロードエラー',\n previewFile: 'ファイルをプレビュー',\n downloadFile: 'ダウンロードファイル',\n },\n Empty: {\n description: 'データがありません',\n },\n};\n","import locale from '../locale/ja_JP';\n\nexport default locale;\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","const locale = {\n placeholder: 'ಸಮಯ ಆಯ್ಕೆಮಾಡಿ',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/kn_IN';\nimport TimePickerLocale from '../../time-picker/locale/kn_IN';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'ದಿನಾಂಕ ಆಯ್ಕೆಮಾಡಿ',\n rangePlaceholder: ['ಪ್ರಾರಂಭ ದಿನಾಂಕ', 'ಅಂತಿಮ ದಿನಾಂಕ'],\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","export default {\n today: 'ಇಂದು',\n now: 'ಈಗ',\n backToToday: 'ಇಂದು ಹಿಂದಿರುಗಿ',\n ok: 'ಸರಿ',\n clear: 'ಸ್ಪಷ್ಟ',\n month: 'ತಿಂಗಳು',\n year: 'ವರ್ಷ',\n timeSelect: 'ಸಮಯ ಆಯ್ಕೆಮಾಡಿ',\n dateSelect: 'ದಿನಾಂಕವನ್ನು ಆಯ್ಕೆ ಮಾಡಿ',\n weekSelect: 'ಒಂದು ವಾರದ ಆರಿಸಿ',\n monthSelect: 'ಒಂದು ತಿಂಗಳು ಆಯ್ಕೆಮಾಡಿ',\n yearSelect: 'ಒಂದು ವರ್ಷ ಆರಿಸಿ',\n decadeSelect: 'ಒಂದು ದಶಕದ ಆಯ್ಕೆಮಾಡಿ',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'ಹಿಂದಿನ ತಿಂಗಳು (ಪೇಜ್ಅಪ್)',\n nextMonth: 'ಮುಂದಿನ ತಿಂಗಳು (ಪೇಜ್ಡೌನ್)',\n previousYear: 'ಕಳೆದ ವರ್ಷ (Ctrl + ಎಡ)',\n nextYear: 'ಮುಂದಿನ ವರ್ಷ (Ctrl + ಬಲ)',\n previousDecade: 'ಕಳೆದ ದಶಕ',\n nextDecade: 'ಮುಂದಿನ ದಶಕ',\n previousCentury: 'ಕಳೆದ ಶತಮಾನ',\n nextCentury: 'ಮುಂದಿನ ಶತಮಾನ',\n};\n","import Pagination from '../vc-pagination/locale/kn_IN';\nimport DatePicker from '../date-picker/locale/kn_IN';\nimport TimePicker from '../time-picker/locale/kn_IN';\nimport Calendar from '../calendar/locale/kn_IN';\n\nexport default {\n locale: 'kn',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n // locales for all comoponents\n global: {\n placeholder: 'ದಯವಿಟ್ಟು ಆರಿಸಿ',\n },\n Table: {\n filterTitle: 'ಪಟ್ಟಿ ಸೋಸಿ',\n filterConfirm: 'ಸರಿ',\n filterReset: 'ಮರುಹೊಂದಿಸಿ',\n emptyText: 'ಮಾಹಿತಿ ಇಲ್ಲ',\n selectAll: 'ಪ್ರಸ್ತುತ ಪುಟವನ್ನು ಆಯ್ಕೆಮಾಡಿ',\n selectInvert: 'ಪ್ರಸ್ತುತ ಪುಟವನ್ನು ತಿರುಗಿಸಿ',\n sortTitle: 'ವಿಂಗಡಿಸಿ',\n },\n Modal: {\n okText: 'ಸರಿ',\n cancelText: 'ರದ್ದು',\n justOkText: 'ಸರಿ',\n },\n Popconfirm: {\n okText: 'ಸರಿ',\n cancelText: 'ರದ್ದು',\n },\n Transfer: {\n titles: ['', ''],\n notFoundContent: 'ದೊರೆತಿಲ್ಲ',\n searchPlaceholder: 'ಇಲ್ಲಿ ಹುಡುಕಿ',\n itemUnit: 'ವಿಷಯ',\n itemsUnit: 'ವಿಷಯಗಳು',\n },\n Select: {\n notFoundContent: 'ದೊರೆತಿಲ್ಲ',\n },\n Upload: {\n uploading: 'ಏರಿಸಿ...',\n removeFile: 'ಫೈಲ್ ತೆಗೆದುಹಾಕಿ',\n uploadError: 'ಏರಿಸುವ ದೋಷ',\n previewFile: 'ಫೈಲ್ ಮುನ್ನೋಟ',\n downloadFile: 'ಫೈಲ್ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ',\n },\n};\n","import locale from '../locale/kn_IN';\n\nexport default locale;\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","const locale = {\n placeholder: '날짜 선택',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/ko_KR';\nimport TimePickerLocale from '../../time-picker/locale/ko_KR';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: '날짜 선택',\n rangePlaceholder: ['시작일', '종료일'],\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","export default {\n today: '오늘',\n now: '현재 시각',\n backToToday: '오늘로 돌아가기',\n ok: '확인',\n clear: '지우기',\n month: '월',\n year: '년',\n timeSelect: '시간 선택',\n dateSelect: '날짜 선택',\n monthSelect: '달 선택',\n yearSelect: '연 선택',\n decadeSelect: '연대 선택',\n yearFormat: 'YYYY년',\n dateFormat: 'YYYY-MM-DD',\n dayFormat: 'Do',\n dateTimeFormat: 'YYYY-MM-DD HH:mm:ss',\n monthBeforeYear: false,\n previousMonth: '이전 달 (PageUp)',\n nextMonth: '다음 달 (PageDown)',\n previousYear: '이전 해 (Control + left)',\n nextYear: '다음 해 (Control + right)',\n previousDecade: '이전 연대',\n nextDecade: '다음 연대',\n previousCentury: '이전 세기',\n nextCentury: '다음 세기',\n};\n","import Pagination from '../vc-pagination/locale/ko_KR';\nimport DatePicker from '../date-picker/locale/ko_KR';\nimport TimePicker from '../time-picker/locale/ko_KR';\nimport Calendar from '../calendar/locale/ko_KR';\n\nexport default {\n locale: 'ko',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: '필터 메뉴',\n filterConfirm: '확인',\n filterReset: '초기화',\n selectAll: '모두 선택',\n selectInvert: '선택 반전',\n },\n Modal: {\n okText: '확인',\n cancelText: '취소',\n justOkText: '확인',\n },\n Popconfirm: {\n okText: '확인',\n cancelText: '취소',\n },\n Transfer: {\n searchPlaceholder: '여기에 검색하세요',\n itemUnit: '개',\n itemsUnit: '개',\n },\n Upload: {\n uploading: '업로드 중...',\n removeFile: '파일 삭제',\n uploadError: '업로드 실패',\n previewFile: '파일 미리보기',\n downloadFile: '파일 다운로드',\n },\n Empty: {\n description: '데이터 없음',\n },\n};\n","import locale from '../locale/ko_KR';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ rûpel',\n jump_to: 'Biçe',\n jump_to_confirm: 'piştrast bike',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Rûpelê Pêş',\n next_page: 'Rûpelê Paş',\n prev_5: '5 Rûpelên Pêş',\n next_5: '5 Rûpelên Paş',\n prev_3: '3 Rûpelên Pêş',\n next_3: '3 Rûpelên Paş',\n};\n","const locale = {\n placeholder: 'Demê hilbijêre',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/ku_IQ';\nimport TimePickerLocale from '../../time-picker/locale/ku_IQ';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Dîrok hilbijêre',\n rangePlaceholder: ['Dîroka destpêkê', 'Dîroka dawîn'],\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\nexport default locale;\n","export default {\n today: 'Îro',\n now: 'Niha',\n backToToday: 'Vegere îro',\n ok: 'Temam',\n clear: 'Paqij bike',\n month: 'Meh',\n year: 'Sal',\n timeSelect: 'Demê hilbijêre',\n dateSelect: 'Dîrok hilbijêre',\n monthSelect: 'Meh hilbijêre',\n yearSelect: 'Sal hilbijêre',\n decadeSelect: 'Dehsal hilbijêre',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Meha peş (PageUp))',\n nextMonth: 'Meha paş (PageDown)',\n previousYear: 'Sala peş (Control + şep)',\n nextYear: 'Sala paş (Control + rast)',\n previousDecade: 'Dehsalen peş',\n nextDecade: 'Dehsalen paş',\n previousCentury: 'Sedsalen peş',\n nextCentury: 'Sedsalen paş',\n};\n","import Pagination from '../vc-pagination/locale/ku_IQ';\nimport DatePicker from '../date-picker/locale/ku_IQ';\nimport TimePicker from '../time-picker/locale/ku_IQ';\nimport Calendar from '../calendar/locale/ku_IQ';\n\nexport default {\n locale: 'ku-iq',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Menuê peldanka',\n filterConfirm: 'Temam',\n filterReset: 'Jê bibe',\n selectAll: 'Hemî hilbijêre',\n selectInvert: 'Hilbijartinan veguhere',\n },\n Modal: {\n okText: 'Temam',\n cancelText: 'Betal ke',\n justOkText: 'Temam',\n },\n Popconfirm: {\n okText: 'Temam',\n cancelText: 'Betal ke',\n },\n Transfer: {\n searchPlaceholder: 'Lêgerîn',\n itemUnit: 'tişt',\n itemsUnit: 'tişt',\n },\n Upload: {\n uploading: 'Bardike...',\n removeFile: 'Pelê rabike',\n uploadError: 'Xeta barkirine',\n previewFile: 'Pelê pêşbibîne',\n downloadFile: 'Pelê dakêşin',\n },\n Empty: {\n description: 'Agahî tune',\n },\n};\n","import locale from '../locale/ku_IQ';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ lappuse',\n jump_to: 'iet uz',\n jump_to_confirm: 'apstiprināt',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Iepriekšējā lapa',\n next_page: 'Nākamā lapaspuse',\n prev_5: 'Iepriekšējās 5 lapas',\n next_5: 'Nākamās 5 lapas',\n prev_3: 'Iepriekšējās 3 lapas',\n next_3: 'Nākamās 3 lapas',\n};\n","const locale = {\n placeholder: 'Izvēlieties laiku',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/lv_LV';\nimport TimePickerLocale from '../../time-picker/locale/lv_LV';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Izvēlieties datumu',\n rangePlaceholder: ['Sākuma datums', 'Beigu datums'],\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","export default {\n today: 'Šodien',\n now: 'Tagad',\n backToToday: 'Atpakaļ pie šodienas',\n ok: 'Ok',\n clear: 'Skaidrs',\n month: 'Mēnesis',\n year: 'Gads',\n timeSelect: 'Izvēlieties laiku',\n dateSelect: 'Izvēlieties datumu',\n monthSelect: 'Izvēlieties mēnesi',\n yearSelect: 'Izvēlieties gadu',\n decadeSelect: 'Izvēlieties desmit gadus',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Iepriekšējais mēnesis (PageUp)',\n nextMonth: 'Nākammēnes (PageDown)',\n previousYear: 'Pagājušais gads (Control + left)',\n nextYear: 'Nākamgad (Control + right)',\n previousDecade: 'Pēdējā desmitgadē',\n nextDecade: 'Nākamā desmitgade',\n previousCentury: 'Pagājušajā gadsimtā',\n nextCentury: 'Nākamajā gadsimtā',\n};\n","import Pagination from '../vc-pagination/locale/lv_LV';\nimport DatePicker from '../date-picker/locale/lv_LV';\nimport TimePicker from '../time-picker/locale/lv_LV';\nimport Calendar from '../calendar/locale/lv_LV';\n\nexport default {\n locale: 'lv',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Filtrēšanas izvēlne',\n filterConfirm: 'OK',\n filterReset: 'Atiestatīt',\n selectAll: 'Atlasiet pašreizējo lapu',\n selectInvert: 'Pārvērst pašreizējo lapu',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Atcelt',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Atcelt',\n },\n Transfer: {\n searchPlaceholder: 'Meklēt šeit',\n itemUnit: 'vienumu',\n itemsUnit: 'vienumus',\n },\n Upload: {\n uploading: 'Augšupielāde...',\n removeFile: 'Noņemt failu',\n uploadError: 'Augšupielādes kļūda',\n previewFile: 'Priekšskatiet failu',\n downloadFile: 'Lejupielādēt failu',\n },\n Empty: {\n description: 'Nav datu',\n },\n};\n","import locale from '../locale/lv_LV';\n\nexport default locale;\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","const locale = {\n placeholder: 'Избери време',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/mk_MK';\nimport TimePickerLocale from '../../time-picker/locale/mk_MK';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Избери датум',\n rangePlaceholder: ['Од датум', 'До датум'],\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","export default {\n today: 'Денес',\n now: 'Сега',\n backToToday: 'Назад до денес',\n ok: 'ОК',\n clear: 'Избриши',\n month: 'Месец',\n year: 'Година',\n timeSelect: 'Избери време',\n dateSelect: 'Избери датум',\n monthSelect: 'Избери месец',\n yearSelect: 'Избери година',\n decadeSelect: 'Избери деценија',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Претходен месец (PageUp)',\n nextMonth: 'Нареден месец (PageDown)',\n previousYear: 'Претходна година (Control + left)',\n nextYear: 'Наредна година (Control + right)',\n previousDecade: 'Претходна деценија',\n nextDecade: 'Наредна деценија',\n previousCentury: 'Претходен век',\n nextCentury: 'Нареден век',\n};\n","import Pagination from '../vc-pagination/locale/mk_MK';\nimport DatePicker from '../date-picker/locale/mk_MK';\nimport TimePicker from '../time-picker/locale/mk_MK';\nimport Calendar from '../calendar/locale/mk_MK';\n\nexport default {\n locale: 'mk',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n global: {\n placeholder: 'Ве молиме означете',\n },\n Table: {\n filterTitle: 'Мени за филтрирање',\n filterConfirm: 'ОК',\n filterReset: 'Избриши',\n selectAll: 'Одбери страница',\n selectInvert: 'Инвертирај страница',\n },\n Modal: {\n okText: 'ОК',\n cancelText: 'Откажи',\n justOkText: 'ОК',\n },\n Popconfirm: {\n okText: 'ОК',\n cancelText: 'Откажи',\n },\n Transfer: {\n searchPlaceholder: 'Пребарај тука',\n itemUnit: 'предмет',\n itemsUnit: 'предмети',\n },\n Upload: {\n uploading: 'Се прикачува...',\n removeFile: 'Избриши фајл',\n uploadError: 'Грешка при прикачување',\n previewFile: 'Прикажи фајл',\n downloadFile: 'Преземи фајл',\n },\n Empty: {\n description: 'Нема податоци',\n },\n Icon: {\n icon: 'Икона',\n },\n Text: {\n edit: 'Уреди',\n copy: 'Копирај',\n copied: 'Копирано',\n expand: 'Зголеми',\n },\n PageHeader: {\n back: 'Назад',\n },\n};\n","import locale from '../locale/mk_MK';\n\nexport default locale;\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","const locale = {\n placeholder: 'Цаг сонгох',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/mn_MN';\nimport TimePickerLocale from '../../time-picker/locale/mn_MN';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Огноо сонгох',\n rangePlaceholder: ['Эхлэх огноо', 'Дуусах огноо'],\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","export default {\n today: 'Өнөөдөр',\n now: 'Одоо',\n backToToday: 'Өнөөдөрлүү буцах',\n ok: 'Ok',\n clear: 'Цэвэрлэх',\n month: 'Сар',\n year: 'Жил',\n timeSelect: 'Цаг сонгох',\n dateSelect: 'Огноо сонгох',\n weekSelect: '7 хоног сонгох',\n monthSelect: 'Сар сонгох',\n yearSelect: 'Жил сонгох',\n decadeSelect: 'Арван сонгох',\n yearFormat: 'YYYY',\n dateFormat: 'YYYY/MM/DD',\n dayFormat: 'DD',\n dateTimeFormat: 'YYYY/MM/DD HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Өмнөх сар (PageUp)',\n nextMonth: 'Дараа сар (PageDown)',\n previousYear: 'Өмнөх жил (Control + left)',\n nextYear: 'Дараа жил (Control + right)',\n previousDecade: 'Өмнөх арван',\n nextDecade: 'Дараа арван',\n previousCentury: 'Өмнөх зуун',\n nextCentury: 'Дараа зуун',\n};\n","import Pagination from '../vc-pagination/locale/mn_MN';\nimport DatePicker from '../date-picker/locale/mn_MN';\nimport TimePicker from '../time-picker/locale/mn_MN';\nimport Calendar from '../calendar/locale/mn_MN';\n\nexport default {\n locale: 'mn-mn',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Хайх цэс',\n filterConfirm: 'OK',\n filterReset: 'Цэвэрлэх',\n selectAll: 'Бүгдийг сонгох',\n selectInvert: 'Бусдыг сонгох',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Цуцлах',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Цуцлах',\n },\n Transfer: {\n searchPlaceholder: 'Хайх',\n itemUnit: 'Зүйл',\n itemsUnit: 'Зүйлүүд',\n },\n Upload: {\n uploading: 'Хуулж байна...',\n removeFile: 'Файл устгах',\n uploadError: 'Хуулахад алдаа гарлаа',\n previewFile: 'Файлыг түргэн үзэх',\n downloadFile: 'Файлыг татах',\n },\n Empty: {\n description: 'Мэдээлэл байхгүй байна',\n },\n};\n","import locale from '../locale/mn_MN';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ halaman',\n jump_to: 'Lompat ke',\n jump_to_confirm: 'Sahkan',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Halaman sebelumnya',\n next_page: 'Halam seterusnya',\n prev_5: '5 halaman sebelum',\n next_5: '5 halaman seterusnya',\n prev_3: '3 halaman sebelumnya',\n next_3: '3 halaman seterusnya',\n};\n","const locale = {\n placeholder: 'Sila pilih masa',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/ms_MY';\nimport TimePickerLocale from '../../time-picker/locale/ms_MY';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Pilih tarikh',\n rangePlaceholder: ['Tarikh mula', 'Tarikh akhir'],\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","export default {\n today: 'Hari ini',\n now: 'Sekarang',\n backToToday: 'Kembali ke hari ini',\n ok: 'Ok',\n timeSelect: 'Pilih masa',\n dateSelect: 'Pilih tarikh',\n weekSelect: 'Pilih minggu',\n clear: 'Padam',\n month: 'Bulan',\n year: 'Tahun',\n previousMonth: 'Bulan lepas',\n nextMonth: 'Bulan depan',\n monthSelect: 'Pilih bulan',\n yearSelect: 'Pilih tahun',\n decadeSelect: 'Pilih dekad',\n yearFormat: 'YYYY',\n dayFormat: 'D',\n dateFormat: 'M/D/YYYY',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n previousYear: 'Tahun lepas (Ctrl+left)',\n nextYear: 'Tahun depan (Ctrl+right)',\n previousDecade: 'Dekad lepas',\n nextDecade: 'Dekad depan',\n previousCentury: 'Abad lepas',\n nextCentury: 'Abad depan',\n};\n","import Pagination from '../vc-pagination/locale/ms_MY';\nimport DatePicker from '../date-picker/locale/ms_MY';\nimport TimePicker from '../time-picker/locale/ms_MY';\nimport Calendar from '../calendar/locale/ms_MY';\n\nexport default {\n locale: 'ms-my',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n global: {\n placeholder: 'Sila pilih',\n },\n PageHeader: {\n back: 'Kembali',\n },\n Text: {\n edit: 'Sunting',\n copy: 'Salin',\n copied: 'Berjaya menyalin',\n expand: 'Kembang',\n },\n Empty: {\n description: 'Tiada data',\n },\n Table: {\n filterTitle: 'Cari dengan tajuk',\n filterConfirm: 'Ok',\n filterReset: 'Menetapkan semula',\n emptyText: 'Tiada data',\n selectAll: 'Pilih semua',\n selectInvert: 'Terbalikkan',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Batal',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Batal',\n },\n Transfer: {\n notFoundContent: 'Tidak dijumpai',\n searchPlaceholder: 'Carian di sini',\n itemUnit: 'item',\n itemsUnit: 'item',\n },\n Icon: {\n icon: 'ikon',\n },\n Select: {\n notFoundContent: 'Tidak Dijumpai',\n },\n Upload: {\n uploading: 'Sedang memuat naik...',\n removeFile: 'Buang fail',\n uploadError: 'Masalah muat naik',\n previewFile: 'Tengok fail',\n downloadFile: 'Muat turun fail',\n },\n};\n","import locale from '../locale/ms_MY';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ side',\n jump_to: 'Gå til side',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Forrige side',\n next_page: 'Neste side',\n prev_5: '5 forrige',\n next_5: '5 neste',\n prev_3: '3 forrige',\n next_3: '3 neste',\n};\n","const locale = {\n placeholder: 'Velg tid',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/nb_NO';\nimport TimePickerLocale from '../../time-picker/locale/nb_NO';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Velg dato',\n rangePlaceholder: ['Startdato', 'Sluttdato'],\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","export default {\n today: 'I dag',\n now: 'Nå',\n backToToday: 'Gå til i dag',\n ok: 'Ok',\n clear: 'Annuller',\n month: 'Måned',\n year: 'År',\n timeSelect: 'Velg tidspunkt',\n dateSelect: 'Velg dato',\n monthSelect: 'Velg måned',\n yearSelect: 'Velg år',\n decadeSelect: 'Velg årti',\n yearFormat: 'YYYY',\n dateFormat: 'DD.MM.YYYY',\n dayFormat: 'DD',\n dateTimeFormat: 'DD.MM.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Forrige måned(PageUp)',\n nextMonth: 'Neste måned (PageDown)',\n previousYear: 'Forrige år (Control + left)',\n nextYear: 'Neste år (Control + right)',\n previousDecade: 'Forrige tiår',\n nextDecade: 'Neste tiår',\n previousCentury: 'Forrige århundre',\n nextCentury: 'Neste århundre',\n};\n","import Pagination from '../vc-pagination/locale/nb_NO';\nimport DatePicker from '../date-picker/locale/nb_NO';\nimport TimePicker from '../time-picker/locale/nb_NO';\nimport Calendar from '../calendar/locale/nb_NO';\n\nexport default {\n locale: 'nb',\n DatePicker,\n TimePicker,\n Calendar,\n Pagination,\n Table: {\n filterTitle: 'Filtermeny',\n filterConfirm: 'OK',\n filterReset: 'Nullstill',\n selectAll: 'Velg alle',\n selectInvert: 'Inverter valg',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Avbryt',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Avbryt',\n },\n Transfer: {\n searchPlaceholder: 'Søk her',\n itemUnit: 'element',\n itemsUnit: 'elementer',\n },\n Upload: {\n uploading: 'Laster opp...',\n removeFile: 'Fjern fil',\n uploadError: 'Feil ved opplastning',\n previewFile: 'Forhåndsvisning',\n downloadFile: 'Last ned fil',\n },\n Empty: {\n description: 'Ingen data',\n },\n};\n","import locale from '../locale/nb_NO';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ pagina',\n jump_to: 'Ga naar',\n jump_to_confirm: 'bevestigen',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Vorige pagina',\n next_page: 'Volgende pagina',\n prev_5: \"Vorige 5 pagina's\",\n next_5: \"Volgende 5 pagina's\",\n prev_3: \"Vorige 3 pagina's\",\n next_3: \"Volgende 3 pagina's\",\n};\n","const locale = {\n placeholder: 'Selecteer tijd',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/nl_BE';\nimport TimePickerLocale from '../../time-picker/locale/nl_BE';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Selecteer datum',\n rangePlaceholder: ['Begin datum', 'Eind datum'],\n ...CalendarLocale,\n },\n timePickerLocale: {\n ...TimePickerLocale,\n },\n};\n\n// All settings at:\n// https://github.com/ant-design/ant-design/issues/424\n\nexport default locale;\n","export default {\n today: 'Vandaag',\n now: 'Nu',\n backToToday: 'Terug naar vandaag',\n ok: 'Ok',\n clear: 'Reset',\n month: 'Maand',\n year: 'Jaar',\n timeSelect: 'Selecteer tijd',\n dateSelect: 'Selecteer datum',\n monthSelect: 'Kies een maand',\n yearSelect: 'Kies een jaar',\n decadeSelect: 'Kies een decennium',\n yearFormat: 'YYYY',\n dateFormat: 'D-M-YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D-M-YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Vorige maand (PageUp)',\n nextMonth: 'Volgende maand (PageDown)',\n previousYear: 'Vorig jaar (Control + left)',\n nextYear: 'Volgend jaar (Control + right)',\n previousDecade: 'Vorig decennium',\n nextDecade: 'Volgend decennium',\n previousCentury: 'Vorige eeuw',\n nextCentury: 'Volgende eeuw',\n};\n","import Pagination from '../vc-pagination/locale/nl_BE';\nimport DatePicker from '../date-picker/locale/nl_BE';\nimport TimePicker from '../time-picker/locale/nl_BE';\nimport Calendar from '../calendar/locale/nl_BE';\n\nexport default {\n locale: 'nl-be',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'FilterMenu',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n selectAll: 'Selecteer huidige pagina',\n selectInvert: 'Selecteer huidige pagina',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Annuleer',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Annuleer',\n },\n Transfer: {\n searchPlaceholder: 'Zoek hier',\n itemUnit: 'item',\n itemsUnit: 'items',\n },\n Upload: {\n uploading: 'Uploaden...',\n removeFile: 'Bestand verwijderen',\n uploadError: 'Upload fout',\n previewFile: 'Preview bestand',\n downloadFile: 'Download bestand',\n },\n Empty: {\n description: 'Geen gegevens',\n },\n};\n","import locale from '../locale/nl_BE';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ pagina',\n jump_to: 'Ga naar',\n jump_to_confirm: 'bevestigen',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Vorige pagina',\n next_page: 'Volgende pagina',\n prev_5: \"Vorige 5 pagina's\",\n next_5: \"Volgende 5 pagina's\",\n prev_3: \"Vorige 3 pagina's\",\n next_3: \"Volgende 3 pagina's\",\n};\n","const locale = {\n placeholder: 'Selecteer tijd',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/nl_NL';\nimport TimePickerLocale from '../../time-picker/locale/nl_NL';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Selecteer datum',\n rangePlaceholder: ['Begin datum', 'Eind datum'],\n ...CalendarLocale,\n },\n timePickerLocale: {\n ...TimePickerLocale,\n },\n};\n\n// All settings at:\n// https://github.com/ant-design/ant-design/issues/424\n\nexport default locale;\n","export default {\n today: 'Vandaag',\n now: 'Nu',\n backToToday: 'Terug naar vandaag',\n ok: 'Ok',\n clear: 'Reset',\n month: 'Maand',\n year: 'Jaar',\n timeSelect: 'Selecteer tijd',\n dateSelect: 'Selecteer datum',\n monthSelect: 'Kies een maand',\n yearSelect: 'Kies een jaar',\n decadeSelect: 'Kies een decennium',\n yearFormat: 'YYYY',\n dateFormat: 'D-M-YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D-M-YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Vorige maand (PageUp)',\n nextMonth: 'Volgende maand (PageDown)',\n previousYear: 'Vorig jaar (Control + left)',\n nextYear: 'Volgend jaar (Control + right)',\n previousDecade: 'Vorig decennium',\n nextDecade: 'Volgend decennium',\n previousCentury: 'Vorige eeuw',\n nextCentury: 'Volgende eeuw',\n};\n","import Pagination from '../vc-pagination/locale/nl_NL';\nimport DatePicker from '../date-picker/locale/nl_NL';\nimport TimePicker from '../time-picker/locale/nl_NL';\nimport Calendar from '../calendar/locale/nl_NL';\n\nexport default {\n locale: 'nl',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n global: {\n placeholder: 'Maak een selectie',\n },\n Table: {\n filterTitle: 'Filteren',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n selectAll: 'Selecteer huidige pagina',\n selectInvert: 'Deselecteer huidige pagina',\n sortTitle: 'Sorteren',\n expand: 'Rij uitklappen',\n collapse: 'Rij inklappen',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Annuleren',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Annuleren',\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Zoeken',\n itemUnit: 'item',\n itemsUnit: 'items',\n },\n Upload: {\n uploading: 'Uploaden...',\n removeFile: 'Verwijder bestand',\n uploadError: 'Fout tijdens uploaden',\n previewFile: 'Bekijk bestand',\n downloadFile: 'Downloaden bestand',\n },\n Empty: {\n description: 'Geen gegevens',\n },\n Icon: {\n icon: 'icoon',\n },\n Text: {\n edit: 'Bewerken',\n copy: 'Kopieren',\n copied: 'Gekopieerd',\n expand: 'Uitklappen',\n },\n PageHeader: {\n back: 'Terug',\n },\n};\n","import locale from '../locale/nl_NL';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ stronę',\n jump_to: 'Idź do',\n jump_to_confirm: 'potwierdzać',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Poprzednia strona',\n next_page: 'Następna strona',\n prev_5: 'Poprzednie 5 stron',\n next_5: 'Następne 5 stron',\n prev_3: 'Poprzednie 3 strony',\n next_3: 'Następne 3 strony',\n};\n","const locale = {\n placeholder: 'Wybierz godzinę',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/pl_PL';\nimport TimePickerLocale from '../../time-picker/locale/pl_PL';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Wybierz datę',\n rangePlaceholder: ['Data początkowa', 'Data końcowa'],\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","export default {\n today: 'Dzisiaj',\n now: 'Teraz',\n backToToday: 'Ustaw dzisiaj',\n ok: 'Ok',\n clear: 'Wyczyść',\n month: 'Miesiąc',\n year: 'Rok',\n timeSelect: 'Ustaw czas',\n dateSelect: 'Ustaw datę',\n monthSelect: 'Wybierz miesiąc',\n yearSelect: 'Wybierz rok',\n decadeSelect: 'Wybierz dekadę',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Poprzedni miesiąc (PageUp)',\n nextMonth: 'Następny miesiąc (PageDown)',\n previousYear: 'Ostatni rok (Ctrl + left)',\n nextYear: 'Następny rok (Ctrl + right)',\n previousDecade: 'Ostatnia dekada',\n nextDecade: 'Następna dekada',\n previousCentury: 'Ostatni wiek',\n nextCentury: 'Następny wiek',\n};\n","import Pagination from '../vc-pagination/locale/pl_PL';\nimport DatePicker from '../date-picker/locale/pl_PL';\nimport TimePicker from '../time-picker/locale/pl_PL';\nimport Calendar from '../calendar/locale/pl_PL';\n\nexport default {\n locale: 'pl',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Menu filtra',\n filterConfirm: 'OK',\n filterReset: 'Wyczyść',\n selectAll: 'Zaznacz bieżącą stronę',\n selectInvert: 'Odwróć zaznaczenie',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Anuluj',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Anuluj',\n },\n Transfer: {\n searchPlaceholder: 'Szukaj',\n itemUnit: 'obiekt',\n itemsUnit: 'obiekty',\n },\n Upload: {\n uploading: 'Wysyłanie...',\n removeFile: 'Usuń plik',\n uploadError: 'Błąd wysyłania',\n previewFile: 'Podejrzyj plik',\n downloadFile: 'Pobieranie pliku',\n },\n Empty: {\n description: 'Brak danych',\n },\n};\n","import locale from '../locale/pl_PL';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ página',\n jump_to: 'Vá até',\n jump_to_confirm: 'confirme',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Página anterior',\n next_page: 'Próxima página',\n prev_5: '5 páginas anteriores',\n next_5: '5 próximas páginas',\n prev_3: '3 páginas anteriores',\n next_3: '3 próximas páginas',\n};\n","const locale = {\n placeholder: 'Hora',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/pt_BR';\nimport TimePickerLocale from '../../time-picker/locale/pt_BR';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Selecionar data',\n rangePlaceholder: ['Data de início', 'Data de fim'],\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","export default {\n today: 'Hoje',\n now: 'Agora',\n backToToday: 'Voltar para hoje',\n ok: 'Ok',\n clear: 'Limpar',\n month: 'Mês',\n year: 'Ano',\n timeSelect: 'Selecionar tempo',\n dateSelect: 'Selecionar data',\n monthSelect: 'Escolher mês',\n yearSelect: 'Escolher ano',\n decadeSelect: 'Escolher década',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: false,\n previousMonth: 'Mês anterior (PageUp)',\n nextMonth: 'Próximo mês (PageDown)',\n previousYear: 'Ano anterior (Control + esquerda)',\n nextYear: 'Próximo ano (Control + direita)',\n previousDecade: 'Década anterior',\n nextDecade: 'Próxima década',\n previousCentury: 'Século anterior',\n nextCentury: 'Próximo século',\n};\n","import Pagination from '../vc-pagination/locale/pt_BR';\nimport DatePicker from '../date-picker/locale/pt_BR';\nimport TimePicker from '../time-picker/locale/pt_BR';\nimport Calendar from '../calendar/locale/pt_BR';\n\nexport default {\n locale: 'pt-br',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Filtro',\n filterConfirm: 'OK',\n filterReset: 'Resetar',\n selectAll: 'Selecionar página atual',\n selectInvert: 'Inverter seleção',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Cancelar',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Cancelar',\n },\n Transfer: {\n searchPlaceholder: 'Procurar',\n itemUnit: 'item',\n itemsUnit: 'items',\n },\n Upload: {\n uploading: 'Enviando...',\n removeFile: 'Remover arquivo',\n uploadError: 'Erro no envio',\n previewFile: 'Visualizar arquivo',\n downloadFile: 'Baixar arquivo',\n },\n Empty: {\n description: 'Não há dados',\n },\n Text: {\n edit: 'editar',\n copy: 'copiar',\n copied: 'copiado',\n expand: 'expandir',\n },\n};\n","import locale from '../locale/pt_BR';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ página',\n jump_to: 'Saltar',\n jump_to_confirm: 'confirmar',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Página Anterior',\n next_page: 'Página Seguinte',\n prev_5: 'Recuar 5 Páginas',\n next_5: 'Avançar 5 Páginas',\n prev_3: 'Recuar 3 Páginas',\n next_3: 'Avançar 3 Páginas',\n};\n","const locale = {\n placeholder: 'Hora',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/pt_PT';\nimport TimePickerLocale from '../../time-picker/locale/pt_PT';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n ...CalendarLocale,\n placeholder: 'Data',\n rangePlaceholder: ['Data inicial', 'Data final'],\n today: 'Hoje',\n now: 'Agora',\n backToToday: 'Hoje',\n ok: 'Ok',\n clear: 'Limpar',\n month: 'Mês',\n year: 'Ano',\n timeSelect: 'Hora',\n dateSelect: 'Selecionar data',\n monthSelect: 'Selecionar mês',\n yearSelect: 'Selecionar ano',\n decadeSelect: 'Selecionar década',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthFormat: 'MMMM',\n monthBeforeYear: false,\n previousMonth: 'Mês anterior (PageUp)',\n nextMonth: 'Mês seguinte (PageDown)',\n previousYear: 'Ano anterior (Control + left)',\n nextYear: 'Ano seguinte (Control + right)',\n previousDecade: 'Última década',\n nextDecade: 'Próxima década',\n previousCentury: 'Último século',\n nextCentury: 'Próximo século',\n },\n timePickerLocale: {\n ...TimePickerLocale,\n placeholder: 'Hora',\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","export default {\n today: 'Hoje',\n now: 'Agora',\n backToToday: 'Hoje',\n ok: 'Ok',\n clear: 'Limpar',\n month: 'Mês',\n year: 'Ano',\n timeSelect: 'Selecionar hora',\n dateSelect: 'Selecionar data',\n monthSelect: 'Selecionar mês',\n yearSelect: 'Selecionar ano',\n decadeSelect: 'Selecionar década',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Mês anterior (PageUp)',\n nextMonth: 'Mês seguinte (PageDown)',\n previousYear: 'Ano anterior (Control + left)',\n nextYear: 'Ano seguinte (Control + right)',\n previousDecade: 'Década anterior',\n nextDecade: 'Década seguinte',\n previousCentury: 'Século anterior',\n nextCentury: 'Século seguinte',\n};\n","import Pagination from '../vc-pagination/locale/pt_PT';\nimport DatePicker from '../date-picker/locale/pt_PT';\nimport TimePicker from '../time-picker/locale/pt_PT';\nimport Calendar from '../calendar/locale/pt_PT';\n\nexport default {\n locale: 'pt',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Filtro',\n filterConfirm: 'Aplicar',\n filterReset: 'Reiniciar',\n selectAll: 'Selecionar página atual',\n selectInvert: 'Inverter seleção',\n sortTitle: 'Ordenação',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Cancelar',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Cancelar',\n },\n Transfer: {\n searchPlaceholder: 'Procurar...',\n itemUnit: 'item',\n itemsUnit: 'itens',\n },\n Upload: {\n uploading: 'A carregar...',\n removeFile: 'Remover',\n uploadError: 'Erro ao carregar',\n previewFile: 'Pré-visualizar',\n downloadFile: 'Baixar',\n },\n Empty: {\n description: 'Sem resultados',\n },\n};\n","import locale from '../locale/pt_PT';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ pagină',\n jump_to: 'Mergi la',\n jump_to_confirm: 'confirm',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Pagina Anterioară',\n next_page: 'Pagina Următoare',\n prev_5: '5 Pagini Anterioare',\n next_5: '5 Pagini Următoare',\n prev_3: '3 Pagini Anterioare',\n next_3: '3 Pagini Următoare',\n};\n","const locale = {\n placeholder: 'Selectează ora',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/ro_RO';\nimport TimePickerLocale from '../../time-picker/locale/ro_RO';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Selectează data',\n rangePlaceholder: ['Data start', 'Data sfârșit'],\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","export default {\n today: 'Azi',\n now: 'Acum',\n backToToday: 'Înapoi la azi',\n ok: 'Ok',\n clear: 'Șterge',\n month: 'Lună',\n year: 'An',\n timeSelect: 'selectează timpul',\n dateSelect: 'selectează data',\n weekSelect: 'Alege o săptămână',\n monthSelect: 'Alege o lună',\n yearSelect: 'Alege un an',\n decadeSelect: 'Alege un deceniu',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Luna anterioară (PageUp)',\n nextMonth: 'Luna următoare (PageDown)',\n previousYear: 'Anul anterior (Control + stânga)',\n nextYear: 'Anul următor (Control + dreapta)',\n previousDecade: 'Deceniul anterior',\n nextDecade: 'Deceniul următor',\n previousCentury: 'Secolul anterior',\n nextCentury: 'Secolul următor',\n};\n","import Pagination from '../vc-pagination/locale/ro_RO';\nimport DatePicker from '../date-picker/locale/ro_RO';\nimport TimePicker from '../time-picker/locale/ro_RO';\nimport Calendar from '../calendar/locale/ro_RO';\n\nexport default {\n locale: 'ro',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n global: {\n placeholder: 'Selectează',\n },\n Table: {\n filterTitle: 'Filtrează',\n filterConfirm: 'OK',\n filterReset: 'Resetează',\n selectAll: 'Selectează pagina curentă',\n selectInvert: 'Inversează pagina curentă',\n sortTitle: 'Ordonează',\n expand: 'Extinde rândul',\n collapse: 'Micșorează rândul',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Anulare',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Anulare',\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Căutare',\n itemUnit: 'element',\n itemsUnit: 'elemente',\n },\n Upload: {\n uploading: 'Se transferă...',\n removeFile: 'Înlătură fișierul',\n uploadError: 'Eroare la upload',\n previewFile: 'Previzualizare fișier',\n downloadFile: 'Descărcare fișier',\n },\n Empty: {\n description: 'Fără date',\n },\n Icon: {\n icon: 'icon',\n },\n Text: {\n edit: 'editează',\n copy: 'copiază',\n copied: 'copiat',\n expand: 'extinde',\n },\n PageHeader: {\n back: 'înapoi',\n },\n};\n","import locale from '../locale/ro_RO';\n\nexport default locale;\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","/**\n * Created by Andrey Gayvoronsky on 13/04/16.\n */\nconst locale = {\n placeholder: 'Выберите время',\n};\n\nexport default locale;\n","/**\n * Created by Andrey Gayvoronsky on 13/04/16.\n */\n\nimport CalendarLocale from '../../vc-calendar/src/locale/ru_RU';\nimport TimePickerLocale from '../../time-picker/locale/ru_RU';\n\nconst locale = {\n lang: {\n placeholder: 'Выберите дату',\n rangePlaceholder: ['Начальная дата', 'Конечная дата'],\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","export default {\n today: 'Сегодня',\n now: 'Сейчас',\n backToToday: 'Текущая дата',\n ok: 'Ok',\n clear: 'Очистить',\n month: 'Месяц',\n year: 'Год',\n timeSelect: 'Выбрать время',\n dateSelect: 'Выбрать дату',\n monthSelect: 'Выбрать месяц',\n yearSelect: 'Выбрать год',\n decadeSelect: 'Выбрать десятилетие',\n yearFormat: 'YYYY',\n dateFormat: 'D-M-YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D-M-YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Предыдущий месяц (PageUp)',\n nextMonth: 'Следующий месяц (PageDown)',\n previousYear: 'Предыдущий год (Control + left)',\n nextYear: 'Следующий год (Control + right)',\n previousDecade: 'Предыдущее десятилетие',\n nextDecade: 'Следущее десятилетие',\n previousCentury: 'Предыдущий век',\n nextCentury: 'Следующий век',\n};\n","import Pagination from '../vc-pagination/locale/ru_RU';\nimport DatePicker from '../date-picker/locale/ru_RU';\nimport TimePicker from '../time-picker/locale/ru_RU';\nimport Calendar from '../calendar/locale/ru_RU';\n\nexport default {\n locale: 'ru',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Фильтр',\n filterConfirm: 'OK',\n filterReset: 'Сбросить',\n selectAll: 'Выбрать всё',\n selectInvert: 'Инвертировать выбор',\n sortTitle: 'Сортировка',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Отмена',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Отмена',\n },\n Transfer: {\n searchPlaceholder: 'Поиск',\n itemUnit: 'элем.',\n itemsUnit: 'элем.',\n },\n Upload: {\n uploading: 'Загрузка...',\n removeFile: 'Удалить файл',\n uploadError: 'При загрузке произошла ошибка',\n previewFile: 'Предпросмотр файла',\n downloadFile: 'Загрузить файл',\n },\n Empty: {\n description: 'Нет данных',\n },\n Text: {\n edit: 'редактировать',\n copy: 'копировать',\n copied: 'скопировано',\n expand: 'раскрыть',\n },\n PageHeader: {\n back: 'назад',\n },\n};\n","import locale from '../locale/ru_RU';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ strana',\n jump_to: 'Choď na',\n jump_to_confirm: 'potvrdit',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Predchádzajúca strana',\n next_page: 'Nasledujúca strana',\n prev_5: 'Predchádzajúcich 5 strán',\n next_5: 'Nasledujúcich 5 strán',\n prev_3: 'Predchádzajúce 3 strany',\n next_3: 'Nasledujúce 3 strany',\n};\n","const locale = {\n placeholder: 'Vybrať čas',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/sk_SK';\nimport TimePickerLocale from '../../time-picker/locale/sk_SK';\n\n// 统一合并为完整的 Locale\nconst locale = {\n lang: {\n placeholder: 'Vybrať dátum',\n rangePlaceholder: ['Od', 'Do'],\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","export default {\n today: 'Dnes',\n now: 'Teraz',\n backToToday: 'Späť na dnes',\n ok: 'Ok',\n clear: 'Vymazať',\n month: 'Mesiac',\n year: 'Rok',\n timeSelect: 'Vybrať čas',\n dateSelect: 'Vybrať dátum',\n weekSelect: 'Vybrať týždeň',\n monthSelect: 'Vybrať mesiac',\n yearSelect: 'Vybrať rok',\n decadeSelect: 'Vybrať dekádu',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Predchádzajúci mesiac (PageUp)',\n nextMonth: 'Nasledujúci mesiac (PageDown)',\n previousYear: 'Predchádzajúci rok (Control + left)',\n nextYear: 'Nasledujúci rok (Control + right)',\n previousDecade: 'Predchádzajúca dekáda',\n nextDecade: 'Nasledujúca dekáda',\n previousCentury: 'Predchádzajúce storočie',\n nextCentury: 'Nasledujúce storočie',\n};\n","import Pagination from '../vc-pagination/locale/sk_SK';\nimport DatePicker from '../date-picker/locale/sk_SK';\nimport TimePicker from '../time-picker/locale/sk_SK';\nimport Calendar from '../calendar/locale/sk_SK';\n\nexport default {\n locale: 'sk',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n global: {\n placeholder: 'Prosím vyberte',\n },\n Table: {\n filterTitle: 'Filter',\n filterConfirm: 'OK',\n filterReset: 'Obnoviť',\n selectAll: 'Vybrať všetko',\n selectInvert: 'Vybrať opačné',\n sortTitle: 'Zoradiť',\n expand: 'Rozbaliť riadok',\n collapse: 'Zbaliť riadok',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Zrušiť',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Zrušiť',\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Vyhľadávanie',\n itemUnit: 'položka',\n itemsUnit: 'položiek',\n },\n Upload: {\n uploading: 'Nahrávanie...',\n removeFile: 'Odstrániť súbor',\n uploadError: 'Chyba pri nahrávaní',\n previewFile: 'Zobraziť súbor',\n downloadFile: 'Stiahnuť súbor',\n },\n Empty: {\n description: 'Žiadne dáta',\n },\n Icon: {\n icon: 'ikona',\n },\n Text: {\n edit: 'Upraviť',\n copy: 'Kopírovať',\n copied: 'Skopírované',\n expand: 'Zväčšiť',\n },\n PageHeader: {\n back: 'Späť',\n },\n};\n","import locale from '../locale/sk_SK';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ strani',\n jump_to: 'Idi na',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Prethodna strana',\n next_page: 'Sledeća strana',\n prev_5: 'Prethodnih 5 Strana',\n next_5: 'Sledećih 5 Strana',\n prev_3: 'Prethodnih 3 Strane',\n next_3: 'Sledećih 3 Strane',\n};\n","const locale = {\n placeholder: 'Izaberite vreme',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/sr_RS';\nimport TimePickerLocale from '../../time-picker/locale/sr_RS';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Izaberite datum',\n rangePlaceholder: ['Početni datum', 'Krajnji datum'],\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","export default {\n today: 'Danas',\n now: 'Sada',\n backToToday: 'Vrati se na danas',\n ok: 'U redu',\n clear: 'Obriši',\n month: 'Mesec',\n year: 'Godina',\n timeSelect: 'Izaberi vreme',\n dateSelect: 'Izaberi datum',\n monthSelect: 'Izaberi mesec',\n yearSelect: 'Izaberi godinu',\n decadeSelect: 'Izaberi deceniju',\n yearFormat: 'YYYY',\n dateFormat: 'DD.MM.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'DD.MM.YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Prethodni mesec (PageUp)',\n nextMonth: 'Sledeći mesec (PageDown)',\n previousYear: 'Prethodna godina (Control + left)',\n nextYear: 'Sledeća godina (Control + right)',\n previousDecade: 'Prethodna decenija',\n nextDecade: 'Sledeća decenija',\n previousCentury: 'Prethodni vek',\n nextCentury: 'Sledeći vek',\n};\n","import Pagination from '../vc-pagination/locale/sr_RS';\nimport DatePicker from '../date-picker/locale/sr_RS';\nimport TimePicker from '../time-picker/locale/sr_RS';\nimport Calendar from '../calendar/locale/sr_RS';\n\nexport default {\n locale: 'sr',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Filter',\n filterConfirm: 'Primeni filter',\n filterReset: 'Resetuj filter',\n selectAll: 'Obeleži sve na trenutnoj strani',\n selectInvert: 'Obrni selekciju na trenutnoj stranici',\n },\n Modal: {\n okText: 'U redu',\n cancelText: 'Otkaži',\n justOkText: 'U redu',\n },\n Popconfirm: {\n okText: 'U redu',\n cancelText: 'Otkaži',\n },\n Transfer: {\n searchPlaceholder: 'Pretražite ovde',\n itemUnit: 'stavka',\n itemsUnit: 'stavki',\n },\n Upload: {\n uploading: 'Slanje...',\n removeFile: 'Ukloni fajl',\n uploadError: 'Greška prilikom slanja',\n previewFile: 'Pogledaj fajl',\n downloadFile: 'Preuzmi datoteku',\n },\n Empty: {\n description: 'Nema podataka',\n },\n};\n","import locale from '../locale/sr_RS';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ sida',\n jump_to: 'Gå till',\n jump_to_confirm: 'bekräfta',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Föreg sida',\n next_page: 'Nästa sida',\n prev_5: 'Föreg 5 sidor',\n next_5: 'Nästa 5 sidor',\n prev_3: 'Föreg 3 sidor',\n next_3: 'Nästa 3 sidor',\n};\n","const locale = {\n placeholder: 'Välj tid',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/sv_SE';\nimport TimePickerLocale from '../../time-picker/locale/sv_SE';\n\nconst locale = {\n lang: {\n placeholder: 'Välj datum',\n rangePlaceholder: ['Startdatum', 'Slutdatum'],\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","export default {\n today: 'I dag',\n now: 'Nu',\n backToToday: 'Till idag',\n ok: 'Ok',\n clear: 'Avbryt',\n month: 'Månad',\n year: 'År',\n timeSelect: 'Välj tidpunkt',\n dateSelect: 'Välj datum',\n monthSelect: 'Välj månad',\n yearSelect: 'Välj år',\n decadeSelect: 'Välj årtionde',\n yearFormat: 'YYYY',\n dateFormat: 'YYYY-MM-DD',\n dayFormat: 'D',\n dateTimeFormat: 'YYYY-MM-DD H:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Förra månaden (PageUp)',\n nextMonth: 'Nästa månad (PageDown)',\n previousYear: 'Föreg år (Control + left)',\n nextYear: 'Nästa år (Control + right)',\n previousDecade: 'Föreg årtionde',\n nextDecade: 'Nästa årtionde',\n previousCentury: 'Föreg århundrade',\n nextCentury: 'Nästa århundrade',\n};\n","import Pagination from '../vc-pagination/locale/sv_SE';\nimport DatePicker from '../date-picker/locale/sv_SE';\nimport TimePicker from '../time-picker/locale/sv_SE';\nimport Calendar from '../calendar/locale/sv_SE';\n\nexport default {\n locale: 'sv',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Filtermeny',\n filterConfirm: 'OK',\n filterReset: 'Rensa',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Avbryt',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Avbryt',\n },\n Transfer: {\n searchPlaceholder: 'Sök',\n itemUnit: 'element',\n itemsUnit: 'element',\n },\n Empty: {\n description: 'Ingen information',\n },\n Text: {\n edit: 'editera',\n copy: 'kopiera',\n copied: 'kopierad',\n expand: 'expandera',\n },\n Upload: {\n uploading: 'Uppladdning...',\n removeFile: 'Ta bort fil',\n uploadError: 'Uppladdningsfel',\n previewFile: 'Förhandsgranska filen',\n downloadFile: 'Nedladdning fil',\n },\n};\n","import locale from '../locale/sv_SE';\n\nexport default locale;\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","const locale = {\n placeholder: 'เลือกเวลา',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/th_TH';\nimport TimePickerLocale from '../../time-picker/locale/th_TH';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'เลือกวันที่',\n rangePlaceholder: ['วันเริ่มต้น', 'วันสิ้นสุด'],\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","export default {\n today: 'วันนี้',\n now: 'ตอนนี้',\n backToToday: 'กลับไปยังวันนี้',\n ok: 'ตกลง',\n clear: 'ลบล้าง',\n month: 'เดือน',\n year: 'ปี',\n timeSelect: 'เลือกเวลา',\n dateSelect: 'เลือกวัน',\n monthSelect: 'เลือกเดือน',\n yearSelect: 'เลือกปี',\n decadeSelect: 'เลือกทศวรรษ',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'เดือนก่อนหน้า (PageUp)',\n nextMonth: 'เดือนถัดไป (PageDown)',\n previousYear: 'ปีก่อนหน้า (Control + left)',\n nextYear: 'ปีถัดไป (Control + right)',\n previousDecade: 'ทศวรรษก่อนหน้า',\n nextDecade: 'ทศวรรษถัดไป',\n previousCentury: 'ศตวรรษก่อนหน้า',\n nextCentury: 'ศตวรรษถัดไป',\n};\n","import Pagination from '../vc-pagination/locale/th_TH';\nimport DatePicker from '../date-picker/locale/th_TH';\nimport TimePicker from '../time-picker/locale/th_TH';\nimport Calendar from '../calendar/locale/th_TH';\n\nexport default {\n locale: 'th',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n global: {\n placeholder: 'กรุณาเลือก',\n },\n Table: {\n filterTitle: 'ตัวกรอง',\n filterConfirm: 'ยืนยัน',\n filterReset: 'รีเซ็ต',\n selectAll: 'เลือกทั้งหมดในหน้านี้',\n selectInvert: 'เลือกสถานะตรงกันข้าม',\n sortTitle: 'เรียง',\n expand: 'แสดงแถวข้อมูล',\n collapse: 'ย่อแถวข้อมูล',\n },\n Modal: {\n okText: 'ตกลง',\n cancelText: 'ยกเลิก',\n justOkText: 'ตกลง',\n },\n Popconfirm: {\n okText: 'ตกลง',\n cancelText: 'ยกเลิก',\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'ค้นหา',\n itemUnit: 'ชิ้น',\n itemsUnit: 'ชิ้น',\n },\n Upload: {\n uploading: 'กำลังอัปโหลด...',\n removeFile: 'ลบไฟล์',\n uploadError: 'เกิดข้อผิดพลาดในการอัปโหลด',\n previewFile: 'ดูตัวอย่างไฟล์',\n downloadFile: 'ดาวน์โหลดไฟล์',\n },\n Empty: {\n description: 'ไม่มีข้อมูล',\n },\n Icon: {\n icon: 'ไอคอน',\n },\n Text: {\n edit: 'แก้ไข',\n copy: 'คัดลอก',\n copied: 'คัดลอกแล้ว',\n expand: 'ขยาย',\n },\n PageHeader: {\n back: 'ย้อนกลับ',\n },\n};\n","import locale from '../locale/th_TH';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ sayfa',\n jump_to: 'Git',\n jump_to_confirm: 'onayla',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Önceki Sayfa',\n next_page: 'Sonraki Sayfa',\n prev_5: 'Önceki 5 Sayfa',\n next_5: 'Sonraki 5 Sayfa',\n prev_3: 'Önceki 3 Sayfa',\n next_3: 'Sonraki 3 Sayfa',\n};\n","const locale = {\n placeholder: 'Zaman Seç',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/tr_TR';\nimport TimePickerLocale from '../../time-picker/locale/tr_TR';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Tarih Seç',\n rangePlaceholder: ['Başlangıç Tarihi', 'Bitiş Tarihi'],\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","export default {\n today: 'Bugün',\n now: 'Şimdi',\n backToToday: 'Bugüne Geri Dön',\n ok: 'tamam',\n clear: 'Temizle',\n month: 'Ay',\n year: 'Yıl',\n timeSelect: 'Zaman Seç',\n dateSelect: 'Tarih Seç',\n monthSelect: 'Ay Seç',\n yearSelect: 'Yıl Seç',\n decadeSelect: 'On Yıl Seç',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Önceki Ay (PageUp)',\n nextMonth: 'Sonraki Ay (PageDown)',\n previousYear: 'Önceki Yıl (Control + Sol)',\n nextYear: 'Sonraki Yıl (Control + Sağ)',\n previousDecade: 'Önceki On Yıl',\n nextDecade: 'Sonraki On Yıl',\n previousCentury: 'Önceki Yüzyıl',\n nextCentury: 'Sonraki Yüzyıl',\n};\n","import Pagination from '../vc-pagination/locale/tr_TR';\nimport DatePicker from '../date-picker/locale/tr_TR';\nimport TimePicker from '../time-picker/locale/tr_TR';\nimport Calendar from '../calendar/locale/tr_TR';\n\nexport default {\n locale: 'tr',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n global: {\n placeholder: 'Lütfen seçiniz',\n },\n Table: {\n filterTitle: 'Menü Filtrele',\n filterConfirm: 'Tamam',\n filterReset: 'Sıfırla',\n selectAll: 'Hepsini Seç',\n selectInvert: 'Tersini Seç',\n sortTitle: 'Sırala',\n },\n Modal: {\n okText: 'Tamam',\n cancelText: 'İptal',\n justOkText: 'Tamam',\n },\n Popconfirm: {\n okText: 'Tamam',\n cancelText: 'İptal',\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Arama',\n itemUnit: 'Öğe',\n itemsUnit: 'Öğeler',\n },\n Upload: {\n uploading: 'Yükleniyor...',\n removeFile: `Dosyayı kaldır`,\n uploadError: 'Yükleme Hatası',\n previewFile: `Dosyayı Önizle`,\n downloadFile: 'Dosyayı indir',\n },\n Empty: {\n description: 'Veri Yok',\n },\n Icon: {\n icon: 'icon',\n },\n Text: {\n edit: 'düzenle',\n copy: 'kopyala',\n copied: 'kopyalandı',\n expand: 'genişlet',\n },\n};\n","import locale from '../locale/tr_TR';\n\nexport default locale;\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","const locale = {\n placeholder: 'Оберіть час',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/uk_UA';\nimport TimePickerLocale from '../../time-picker/locale/uk_UA';\n\nconst locale = {\n lang: {\n placeholder: 'Оберіть дату',\n rangePlaceholder: ['Початкова дата', 'Кінцева дата'],\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","export default {\n today: 'Сьогодні',\n now: 'Зараз',\n backToToday: 'Поточна дата',\n ok: 'Ok',\n clear: 'Очистити',\n month: 'Місяць',\n year: 'Рік',\n timeSelect: 'Обрати час',\n dateSelect: 'Обрати дату',\n monthSelect: 'Обрати місяць',\n yearSelect: 'Обрати рік',\n decadeSelect: 'Обрати десятиріччя',\n yearFormat: 'YYYY',\n dateFormat: 'D-M-YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D-M-YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Попередній місяць (PageUp)',\n nextMonth: 'Наступний місяць (PageDown)',\n previousYear: 'Попередній рік (Control + left)',\n nextYear: 'Наступний рік (Control + right)',\n previousDecade: 'Попереднє десятиріччя',\n nextDecade: 'Наступне десятиріччя',\n previousCentury: 'Попереднє століття',\n nextCentury: 'Наступне століття',\n};\n","import Pagination from '../vc-pagination/locale/uk_UA';\nimport DatePicker from '../date-picker/locale/uk_UA';\nimport TimePicker from '../time-picker/locale/uk_UA';\nimport Calendar from '../calendar/locale/uk_UA';\n\nexport default {\n locale: 'uk',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Фільтрувати',\n filterConfirm: 'OK',\n filterReset: 'Скинути',\n selectAll: 'Обрати всі',\n selectInvert: 'Інвертувати вибір',\n },\n Modal: {\n okText: 'Гаразд',\n cancelText: 'Скасувати',\n justOkText: 'Гаразд',\n },\n Popconfirm: {\n okText: 'Гаразд',\n cancelText: 'Скасувати',\n },\n Transfer: {\n searchPlaceholder: 'Введіть текст для пошуку',\n itemUnit: 'item',\n itemsUnit: 'items',\n },\n Upload: {\n uploading: 'Завантаження ...',\n removeFile: 'Видалити файл',\n uploadError: 'Помилка завантаження',\n previewFile: 'Попередній перегляд файлу',\n downloadFile: 'Завантажити файл',\n },\n Empty: {\n description: 'Даних немає',\n },\n};\n","import locale from '../locale/uk_UA';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ trang',\n jump_to: 'Đến',\n jump_to_confirm: 'xác nhận',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Trang Trước',\n next_page: 'Trang Kế',\n prev_5: 'Về 5 Trang Trước',\n next_5: 'Đến 5 Trang Kế',\n prev_3: 'Về 3 Trang Trước',\n next_3: 'Đến 3 Trang Kế',\n};\n","const locale = {\n placeholder: 'Chọn thời gian',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/vi_VN';\nimport TimePickerLocale from '../../time-picker/locale/vi_VN';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Chọn thời điểm',\n rangePlaceholder: ['Ngày bắt đầu', 'Ngày kết thúc'],\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","export default {\n today: 'Hôm nay',\n now: 'Bây giờ',\n backToToday: 'Trở về hôm nay',\n ok: 'Ok',\n clear: 'Xóa',\n month: 'Tháng',\n year: 'Năm',\n timeSelect: 'Chọn thời gian',\n dateSelect: 'Chọn ngày',\n weekSelect: 'Chọn tuần',\n monthSelect: 'Chọn tháng',\n yearSelect: 'Chọn năm',\n decadeSelect: 'Chọn thập kỷ',\n yearFormat: 'YYYY',\n dateFormat: 'D/M/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D/M/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Tháng trước (PageUp)',\n nextMonth: 'Tháng sau (PageDown)',\n previousYear: 'Năm trước (Control + left)',\n nextYear: 'Năm sau (Control + right)',\n previousDecade: 'Thập kỷ trước',\n nextDecade: 'Thập kỷ sau',\n previousCentury: 'Thế kỷ trước',\n nextCentury: 'Thế kỷ sau',\n};\n","import Pagination from '../vc-pagination/locale/vi_VN';\nimport DatePicker from '../date-picker/locale/vi_VN';\nimport TimePicker from '../time-picker/locale/vi_VN';\nimport Calendar from '../calendar/locale/vi_VN';\n\nexport default {\n locale: 'vi',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Bộ ',\n filterConfirm: 'OK',\n filterReset: 'Tạo Lại',\n selectAll: 'Chọn Tất Cả',\n selectInvert: 'Chọn Ngược Lại',\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Huỷ',\n justOkText: 'OK',\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Huỷ',\n },\n Transfer: {\n searchPlaceholder: 'Tìm ở đây',\n itemUnit: 'mục',\n itemsUnit: 'mục',\n },\n Upload: {\n uploading: 'Đang tải lên...',\n removeFile: 'Gỡ bỏ tập tin',\n uploadError: 'Lỗi tải lên',\n previewFile: 'Xem thử tập tin',\n downloadFile: 'Tải tập tin',\n },\n Empty: {\n description: 'Trống',\n },\n};\n","import locale from '../locale/vi_VN';\n\nexport default locale;\n","const locale = {\n placeholder: '请选择时间',\n};\n\nexport default locale;\n","import CalendarLocale from '../../vc-calendar/src/locale/zh_CN';\nimport TimePickerLocale from '../../time-picker/locale/zh_CN';\n\nconst locale = {\n lang: {\n placeholder: '请选择日期',\n rangePlaceholder: ['开始日期', '结束日期'],\n ...CalendarLocale,\n },\n timePickerLocale: {\n ...TimePickerLocale,\n },\n};\n\n// should add whitespace between char in Button\nlocale.lang.ok = '确 定';\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","export default {\n today: '今天',\n now: '此刻',\n backToToday: '返回今天',\n ok: '确定',\n timeSelect: '选择时间',\n dateSelect: '选择日期',\n weekSelect: '选择周',\n clear: '清除',\n month: '月',\n year: '年',\n previousMonth: '上个月 (翻页上键)',\n nextMonth: '下个月 (翻页下键)',\n monthSelect: '选择月份',\n yearSelect: '选择年份',\n decadeSelect: '选择年代',\n yearFormat: 'YYYY年',\n dayFormat: 'D日',\n dateFormat: 'YYYY年M月D日',\n dateTimeFormat: 'YYYY年M月D日 HH时mm分ss秒',\n previousYear: '上一年 (Control键加左方向键)',\n nextYear: '下一年 (Control键加右方向键)',\n previousDecade: '上一年代',\n nextDecade: '下一年代',\n previousCentury: '上一世纪',\n nextCentury: '下一世纪',\n};\n","import zh_CN from '../../date-picker/locale/zh_CN';\nexport default zh_CN;\n","import Pagination from '../vc-pagination/locale/zh_CN';\nimport DatePicker from '../date-picker/locale/zh_CN';\nimport TimePicker from '../time-picker/locale/zh_CN';\nimport Calendar from '../calendar/locale/zh_CN';\nimport ColorPicker from '../color-picker/locale/zh_CN';\n\nexport default {\n locale: 'zh-cn',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n ColorPicker,\n // locales for all comoponents\n global: {\n placeholder: '请选择',\n },\n Table: {\n filterTitle: '筛选',\n filterConfirm: '确定',\n filterReset: '重置',\n selectAll: '全选当页',\n selectInvert: '反选当页',\n sortTitle: '排序',\n expand: '展开行',\n collapse: '关闭行',\n },\n Modal: {\n okText: '确定',\n cancelText: '取消',\n justOkText: '知道了',\n },\n Popconfirm: {\n cancelText: '取消',\n okText: '确定',\n },\n Transfer: {\n searchPlaceholder: '请输入搜索内容',\n itemUnit: '项',\n itemsUnit: '项',\n },\n Upload: {\n uploading: '文件上传中',\n removeFile: '删除文件',\n uploadError: '上传错误',\n previewFile: '预览文件',\n downloadFile: '下载文件',\n },\n Empty: {\n description: '暂无数据',\n },\n Icon: {\n icon: '图标',\n },\n Text: {\n edit: '编辑',\n copy: '复制',\n copied: '复制成功',\n expand: '展开',\n },\n PageHeader: {\n back: '返回',\n },\n};\n","export default {\n 'btn:save': '保存',\n 'btn:cancel': '取消',\n 'btn:clear': '清除',\n};\n","import locale from '../locale/zh_CN';\n\nexport default locale;\n","export default {\n // Options.jsx\n items_per_page: '/ strani',\n jump_to: 'Pojdi na',\n jump_to_confirm: 'potrdi',\n page: '',\n\n // Pagination.jsx\n prev_page: 'Prejšnja stran',\n next_page: 'Naslednja stran',\n prev_5: 'Prejšnjih 5 strani',\n next_5: 'Naslednjih 5 strani',\n prev_3: 'Prejšnje 3 strani',\n next_3: 'Naslednje 3 strani',\n};\n","const locale = {\n placeholder: 'Izberite čas',\n};\n\nexport default locale;\n","import TimePickerLocale from '../../time-picker/locale/sl_SI';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'Izberite datum',\n rangePlaceholder: ['Začetni datum', 'Končni datum'],\n today: 'Danes',\n now: 'Trenutno',\n backToToday: 'Nazaj na trenutni datum',\n ok: 'Ok',\n clear: 'Počisti',\n month: 'Mesec',\n year: 'Leto',\n timeSelect: 'Izberi čas',\n dateSelect: 'Izberi datum',\n monthSelect: 'Izberite mesec',\n yearSelect: 'Izberite leto',\n decadeSelect: 'Izberite desetletje',\n yearFormat: 'YYYY',\n dateFormat: 'D.M.YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'D.M.YYYY HH:mm:ss',\n monthFormat: 'MMMM',\n monthBeforeYear: true,\n previousMonth: 'Prejšnji mesec (PageUp)',\n nextMonth: 'Naslednji mesec (PageDown)',\n previousYear: 'Lansko leto (Control + left)',\n nextYear: 'Naslednje leto (Control + right)',\n previousDecade: 'Prejšnje desetletje',\n nextDecade: 'Naslednje desetletje',\n previousCentury: 'Zadnje stoletje',\n nextCentury: 'Naslednje stoletje',\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","import Pagination from '../vc-pagination/locale/sl_SI';\nimport DatePicker from '../date-picker/locale/sl_SI';\nimport TimePicker from '../time-picker/locale/sl_SI';\nimport Calendar from '../calendar/locale/sl_SI';\n\nexport default {\n locale: 'sl',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'Filter',\n filterConfirm: 'Filtriraj',\n filterReset: 'Pobriši filter',\n selectAll: 'Izberi vse na trenutni strani',\n selectInvert: 'Obrni izbor na trenutni strani',\n },\n Modal: {\n okText: 'V redu',\n cancelText: 'Prekliči',\n justOkText: 'V redu',\n },\n Popconfirm: {\n okText: 'v redu',\n cancelText: 'Prekliči',\n },\n Transfer: {\n searchPlaceholder: 'Išči tukaj',\n itemUnit: 'Objekt',\n itemsUnit: 'Objektov',\n },\n Upload: {\n uploading: 'Nalaganje...',\n removeFile: 'Odstrani datoteko',\n uploadError: 'Napaka pri nalaganju',\n previewFile: 'Predogled datoteke',\n downloadFile: 'Prenos datoteke',\n },\n Empty: {\n description: 'Ni podatkov',\n },\n};\n","import locale from '../locale/sl_SI';\n\nexport default locale;\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","const locale = {\n placeholder: 'நேரத்தைத் தேர்ந்தெடுக்கவும்',\n};\n\nexport default locale;\n","// Tamil Locale added to rc-calendar\nimport CalendarLocale from '../../vc-calendar/src/locale/ta_IN';\nimport TimePickerLocale from '../../time-picker/locale/ta_IN';\n\n// Merge into a locale object\nconst locale = {\n lang: {\n placeholder: 'தேதியைத் தேர்ந்தெடுக்கவும்',\n rangePlaceholder: ['தொடக்க தேதி', 'கடைசி தேதி'],\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","export default {\n today: 'இன்று',\n now: 'இப்போது',\n backToToday: 'இன்றுக்கு திரும்பு',\n ok: 'சரி',\n clear: 'அழி',\n month: 'மாதம்',\n year: 'வருடம்',\n timeSelect: 'நேரத்தைத் தேர்ந்தெடு',\n dateSelect: 'தேதியைத் தேர்ந்தெடு',\n weekSelect: 'வாரத்தைத் தேர்வுசெய்க',\n monthSelect: 'மாதத்தைத் தேர்வுசெய்க',\n yearSelect: 'வருடத்தைத் தேர்வுசெய்க',\n decadeSelect: 'தசாப்தத்தைத் தேர்வுசெய்க',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'முந்தைய மாதம் (PageUp)',\n nextMonth: 'அடுத்த மாதம் (PageDown)',\n previousYear: 'முந்தைய வருடம் (Control + left)',\n nextYear: 'அடுத்த வருடம் (Control + right)',\n previousDecade: 'முந்தைய தசாப்தம்',\n nextDecade: 'அடுத்த தசாப்தம்',\n previousCentury: 'முந்தைய நூற்றாண்டு',\n nextCentury: 'அடுத்த நூற்றாண்டு',\n};\n","import ta_IN from '../../date-picker/locale/ta_IN';\n\nexport default ta_IN;\n","import Pagination from '../vc-pagination/locale/ta_IN';\nimport DatePicker from '../date-picker/locale/ta_IN';\nimport TimePicker from '../time-picker/locale/ta_IN';\nimport Calendar from '../calendar/locale/ta_IN';\n\nexport default {\n locale: 'ta',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n // locales for all comoponents\n global: {\n placeholder: 'தேதியைத் தேர்ந்தெடுக்கவும்',\n },\n Table: {\n filterTitle: 'பட்டியலை மூடு',\n filterConfirm: 'சரி',\n filterReset: 'மீட்டமை',\n emptyText: 'தகவல் இல்லை',\n selectAll: 'அனைத்தையும் தேர்வுசெய்',\n selectInvert: 'தலைகீழாக மாற்று',\n sortTitle: 'தலைப்பை வரிசைப்படுத்தவும்',\n },\n Modal: {\n okText: 'சரி',\n cancelText: 'ரத்து செய்யவும்',\n justOkText: 'பரவாயில்லை, சரி',\n },\n Popconfirm: {\n okText: 'சரி',\n cancelText: 'ரத்து செய்யவும்',\n },\n Transfer: {\n titles: ['', ''],\n notFoundContent: 'உள்ளடக்கம் கிடைக்கவில்லை',\n searchPlaceholder: 'இங்கு தேடவும்',\n itemUnit: 'தகவல்',\n itemsUnit: 'தகவல்கள்',\n },\n Upload: {\n uploading: 'பதிவேற்றுகிறது...',\n removeFile: 'கோப்பை அகற்று',\n uploadError: 'பதிவேற்றுவதில் பிழை',\n previewFile: 'கோப்பை முன்னோட்டமிடுங்கள்',\n },\n Empty: {\n description: 'தகவல் இல்லை',\n },\n Icon: {\n icon: 'உருவம்',\n },\n Text: {\n edit: 'திருத்து',\n copy: 'நகல் எடு',\n copied: 'நகல் எடுக்கப்பட்டது',\n expand: 'விரிவாக்கவும்',\n },\n PageHeader: {\n back: 'பின் செல்லவும்',\n },\n};\n","import defaultLocale from './default';\n\nexport default defaultLocale;\n","import locale from '../locale/en_US';\n\nexport default locale;\n","const datePickerLocale = {\n lang: {\n placeholder: 'Ընտրեք ամսաթիվը',\n rangePlaceholder: ['Մեկնարկի ամսաթիվ', 'Ավարտի ամսաթիվը'],\n today: 'Այսօր',\n now: 'Հիմա',\n backToToday: 'Վերադառնալ այսօր',\n ok: 'Օկ',\n clear: 'Մաքրել',\n month: 'Ամիս',\n year: 'Տարի',\n timeSelect: 'ընտրեք ժամը',\n dateSelect: 'ընտրեք ամսաթիվը',\n weekSelect: 'Ընտրեք շաբաթը',\n monthSelect: 'Ընտրեք ամիսը',\n yearSelect: 'Ընտրեք տարին',\n decadeSelect: 'Ընտրեք տասնամյակը',\n yearFormat: 'YYYY',\n dateFormat: 'DD/MM//YYYY',\n dayFormat: 'DD',\n dateTimeFormat: 'DD/MM//YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Անցած ամիս (PageUp)',\n nextMonth: 'Մյուս ամիս (PageDown)',\n previousYear: 'Անցած տարի (Control + left)',\n nextYear: 'Մյուս տարի (Control + right)',\n previousDecade: 'Անցած տասնամյակ',\n nextDecade: 'Մյուս տասնամյակ',\n previousCentury: 'Անցած դար',\n nextCentury: 'Մյուս դար',\n },\n timePickerLocale: {\n placeholder: 'Ընտրեք ժամը',\n },\n};\n\nexport default {\n locale: 'hy',\n Pagination: {\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 DatePicker: datePickerLocale,\n TimePicker: {\n placeholder: 'Ընտրեք ժամը',\n },\n Calendar: datePickerLocale,\n global: {\n placeholder: 'Ընտրեք',\n },\n Table: {\n filterTitle: 'ֆիլտրի ընտրացանկ',\n filterConfirm: 'ֆիլտրել',\n filterReset: 'Զրոյացնել',\n selectAll: 'Ընտրեք ընթացիկ էջը',\n selectInvert: 'Փոխարկել ընթացիկ էջը',\n sortTitle: 'Տեսակավորել',\n expand: 'Ընդլայնեք տողը',\n collapse: 'Կրճատել տողը',\n },\n Modal: {\n okText: 'Օկ',\n cancelText: 'Չեղարկել',\n justOkText: 'Օկ',\n },\n Popconfirm: {\n okText: 'Հաստատել',\n cancelText: 'Մերժել',\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Որոնեք այստեղ',\n itemUnit: 'պարագան',\n itemsUnit: 'պարագաները',\n },\n Upload: {\n uploading: 'Ներբեռնում...',\n removeFile: 'Հեռացնել ֆայլը',\n uploadError: 'Ներբեռնման սխալ',\n previewFile: 'Դիտել ֆայլը',\n downloadFile: 'Ներբեռնել ֆայլը',\n },\n Empty: {\n description: 'Տվյալներ չկան',\n },\n Icon: {\n icon: 'պատկեր',\n },\n Text: {\n edit: 'Խմբագրել',\n copy: 'Պատճենել',\n copied: 'Պատճենվել է',\n expand: 'Տեսնել ավելին',\n },\n PageHeader: {\n back: 'Հետ',\n },\n};\n","import locale from '../locale/hy_AM';\n\nexport default locale;\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: 'ne-np',\n Pagination,\n DatePicker,\n TimePicker,\n Calendar,\n Table: {\n filterTitle: 'फिल्टर मेनु',\n filterConfirm: 'हो',\n filterReset: 'रीसेट',\n selectAll: 'सबै छान्नुुहोस्',\n selectInvert: 'छनौट उल्टाउनुहोस',\n },\n Modal: {\n okText: 'हो',\n cancelText: 'होईन',\n justOkText: 'हो',\n },\n Popconfirm: {\n okText: 'हो',\n cancelText: 'होईन',\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'यहाँ खोज्नुहोस्',\n itemUnit: 'वस्तु',\n itemsUnit: 'वस्तुहरू',\n },\n Upload: {\n uploading: 'अपलोड गर्दै...',\n removeFile: 'फाइल हटाउनुहोस्',\n uploadError: 'अप्लोडमा समस्या भयो',\n previewFile: 'फाइल पूर्वावलोकन गर्नुहोस्',\n downloadFile: 'डाउनलोड फाइल',\n },\n Empty: {\n description: 'डाटा छैन',\n },\n};\n","import locale from '../locale/ne_NP';\n\nexport default locale;\n"],"sourceRoot":""}
\No newline at end of file