{"version":3,"sources":["webpack:///./node_modules/vant/es/utils/functional.js","webpack:///./node_modules/vant/lib/toast/index.js","webpack:///./node_modules/vant/es/utils/index.js","webpack:///./node_modules/vant/lib/utils/dom/event.js","webpack:///./node_modules/vant/es/mixins/relation.js","webpack:///./node_modules/vant/es/utils/vnodes.js","webpack:///./node_modules/vant/lib/utils/dom/scroll.js","webpack:///./node_modules/vant/lib/icon/index.js","webpack:///./node_modules/vant/es/utils/format/unit.js","webpack:///./node_modules/vant/es/utils/validate/number.js","webpack:///./node_modules/vant/es/utils/router.js","webpack:///./node_modules/vant/es/utils/create/bem.js","webpack:///./node_modules/vant/es/utils/format/string.js","webpack:///./node_modules/vant/es/mixins/slots.js","webpack:///./node_modules/vant/es/utils/create/component.js","webpack:///./node_modules/vant/es/utils/deep-assign.js","webpack:///./node_modules/vant/es/locale/lang/zh-CN.js","webpack:///./node_modules/vant/es/locale/index.js","webpack:///./node_modules/vant/es/utils/create/i18n.js","webpack:///./node_modules/vant/es/utils/create/index.js","webpack:///./node_modules/vant/lib/mixins/relation.js","webpack:///./node_modules/vant/es/info/index.js","webpack:///./node_modules/vant/es/mixins/bind-event.js","webpack:///./node_modules/vant/lib/utils/router.js","webpack:///./node_modules/vant/lib/loading/index.js","webpack:///./node_modules/vant/lib/tabs/index.js","webpack:///./node_modules/vant/lib/tab/index.js","webpack:///./node_modules/vant/lib/utils/index.js","webpack:///./node_modules/vant/lib/utils/constant.js","webpack:///./node_modules/vant/lib/mixins/bind-event.js","webpack:///./node_modules/vant/lib/mixins/popup/index.js","webpack:///./node_modules/vant/es/utils/interceptor.js","webpack:///./node_modules/vant/es/utils/constant.js","webpack:///./node_modules/vant/es/icon/index.js","webpack:///./node_modules/vant/es/mixins/touch.js","webpack:///./node_modules/vant/es/utils/dom/raf.js","webpack:///./node_modules/vant/lib/field/index.js","webpack:///./node_modules/vant/lib/utils/format/unit.js","webpack:///./node_modules/vant/lib/utils/dom/style.js","webpack:///./node_modules/vant/lib/utils/dom/node.js","webpack:///./node_modules/vant/lib/mixins/field.js","webpack:///./node_modules/vant/lib/action-sheet/index.js","webpack:///./node_modules/vant/lib/search/index.js","webpack:///./node_modules/vant/lib/locale/index.js","webpack:///./node_modules/vant/lib/utils/format/string.js","webpack:///./node_modules/vant/lib/info/index.js","webpack:///./node_modules/vant/lib/mixins/touch.js","webpack:///./node_modules/vant/lib/mixins/popup/context.js","webpack:///./node_modules/vant/lib/dialog/index.js","webpack:///./node_modules/vant/lib/button/index.js","webpack:///./node_modules/vant/lib/cell/shared.js","webpack:///./node_modules/vant/lib/skeleton/index.js","webpack:///./node_modules/vant/lib/popup/index.js","webpack:///./node_modules/vant/es/utils/dom/event.js","webpack:///./node_modules/vant/lib/cell/index.js","webpack:///./node_modules/vant/es/utils/dom/scroll.js","webpack:///./node_modules/vant/lib/utils/create/index.js","webpack:///./node_modules/vant/lib/utils/create/bem.js","webpack:///./node_modules/vant/lib/utils/create/component.js","webpack:///./node_modules/vant/lib/utils/deep-assign.js","webpack:///./node_modules/vant/lib/locale/lang/zh-CN.js","webpack:///./node_modules/vant/lib/mixins/slots.js","webpack:///./node_modules/vant/lib/utils/create/i18n.js","webpack:///./node_modules/vant/lib/utils/validate/number.js","webpack:///./node_modules/vant/lib/tabs/utils.js","webpack:///./node_modules/vant/lib/utils/dom/raf.js","webpack:///./node_modules/vant/lib/utils/interceptor.js","webpack:///./node_modules/vant/lib/utils/vnodes.js","webpack:///./node_modules/vant/lib/tabs/Title.js","webpack:///./node_modules/vant/lib/sticky/index.js","webpack:///./node_modules/vant/lib/tabs/Content.js","webpack:///./node_modules/vant/lib/toast/Toast.js","webpack:///./node_modules/vant/lib/toast/lock-click.js","webpack:///./node_modules/vant/lib/mixins/popup/overlay.js","webpack:///./node_modules/vant/lib/overlay/index.js","webpack:///./node_modules/vant/lib/mixins/portal.js","webpack:///./node_modules/vant/lib/mixins/close-on-popstate.js","webpack:///./node_modules/vant/lib/dialog/Dialog.js","webpack:///./node_modules/vant/lib/goods-action/index.js","webpack:///./node_modules/vant/lib/goods-action-button/index.js","webpack:///./node_modules/vant/lib/utils/dom/reset-scroll.js","webpack:///./node_modules/vant/lib/utils/validate/system.js","webpack:///./node_modules/vant/lib/utils/format/number.js","webpack:///./node_modules/vant/lib/switch/shared.js","webpack:///./node_modules/vant/lib/mixins/checkbox.js","webpack:///./node_modules/vant/lib/list/index.js","webpack:///./node_modules/vant/lib/cell-group/index.js","webpack:///./node_modules/vant/lib/switch/index.js","webpack:///./node_modules/vant/lib/radio/index.js","webpack:///./node_modules/vant/lib/radio-group/index.js","webpack:///./node_modules/vant/es/tabbar/index.js","webpack:///./node_modules/vant/es/tabbar-item/index.js","webpack:///./node_modules/vant/es/tab/index.js","webpack:///./node_modules/vant/es/toast/lock-click.js","webpack:///./node_modules/vant/es/mixins/popup/context.js","webpack:///./node_modules/vant/es/overlay/index.js","webpack:///./node_modules/vant/es/utils/dom/node.js","webpack:///./node_modules/vant/es/mixins/popup/overlay.js","webpack:///./node_modules/vant/es/mixins/portal.js","webpack:///./node_modules/vant/es/mixins/close-on-popstate.js","webpack:///./node_modules/vant/es/mixins/popup/index.js","webpack:///./node_modules/vant/es/loading/index.js","webpack:///./node_modules/vant/es/toast/Toast.js","webpack:///./node_modules/vant/es/toast/index.js","webpack:///./node_modules/vant/es/utils/dom/style.js","webpack:///./node_modules/vant/es/tabs/Title.js","webpack:///./node_modules/vant/es/sticky/index.js","webpack:///./node_modules/vant/es/tabs/Content.js","webpack:///./node_modules/vant/es/tabs/index.js","webpack:///./node_modules/vant/es/tabs/utils.js","webpack:///./node_modules/vant/lib/utils/functional.js"],"names":["inheritKey","mapInheritKey","nativeOn","inherit","context","inheritListeners","result","reduce","obj","key","data","on","mount","Component","instance","el","document","createElement","props","render","h","this","$props","body","appendChild","$el","_interopRequireDefault","exports","__esModule","default","_extends2","_vue","_Toast","_utils","_node","defaultOptions","icon","type","mask","value","message","className","overlay","onClose","onOpened","duration","iconPrefix","undefined","position","transition","forbidClick","loadingType","getContainer","overlayStyle","closeOnClick","closeOnClickOverlay","defaultOptionsMap","queue","multiple","currentOptions","parseOptions","isObject","createInstance","isServer","filter","item","parentNode","element","contains","length","toast","extend","$on","push","Toast","options","updateZIndex","clear","clearTimeout","timer","removeNode","$destroy","transformOptions","setTimeout","forEach","method","all","shift","setDefaultOptions","resetDefaultOptions","allowMultiple","install","use","prototype","$toast","_default","inBrowser","window","$isServer","noop","isDef","val","isFunction","isPromise","then","catch","get","object","path","keys","split","_result$key","target","event","handler","passive","_","addEventListener","supportsPassive","capture","off","removeEventListener","stopPropagation","preventDefault","isStopPropagation","cancelable","opts","Object","defineProperty","e","ChildrenMixin","_parent","_inject","_computed","indexKey","inject","computed","parent","disableBindRelation","bindRelation","children","indexOf","watch","mounted","beforeDestroy","_this","methods","concat","componentOptions","$vnode","vnodes","traverse","vnode","componentInstance","$children","map","flattenVNodes","sort","a","b","sortChildren","ParentMixin","provide","_ref","isWindow","getScroller","root","node","tagName","nodeType","overflowY","getComputedStyle","overflowScrollReg","test","getScrollTop","setScrollTop","getRootScrollTop","setRootScrollTop","getElementTop","scroller","scrollTop","getBoundingClientRect","top","getVisibleHeight","innerHeight","height","getVisibleTop","pageYOffset","Math","max","scrollTo","scrollX","documentElement","_babelHelperVueJsxMergeProps","_functional","_info","_createNamespace","createNamespace","createComponent","bem","LEGACY_MAP","medel","Icon","slots","ctx","_props$badge","name","correctName","imageIcon","isImage","tag","classPrefix","color","fontSize","addUnit","size","dot","badge","info","Boolean","String","Number","rootFontSize","convertRem","replace","doc","style","parseFloat","getRootFontSize","unitToPx","innerWidth","convertVw","convertVh","route","router","config","to","url","promise","err","isRedundantNavigation","location","href","routeProps","gen","mods","Array","isArray","ret","createBEM","camelizeRE","camelize","str","c","toUpperCase","SlotsMixin","$slots","scopedSlot","$scopedSlots","Vue","component","transformFunctionComponent","pure","functional","model","scopedSlots","unifySlots","sfc","mixins","hasOwnProperty","deepAssign","from","call","assignKey","proto","defineReactive","util","tel","save","confirm","cancel","delete","complete","loading","telEmpty","nameEmpty","nameInvalid","confirmDelete","telInvalid","vanCalendar","end","start","title","startEnd","weekdays","monthTitle","year","month","rangePrompt","maxRange","vanCascader","select","vanContactCard","addText","vanContactList","vanPagination","prev","next","vanPullRefresh","pulling","loosing","vanSubmitBar","label","vanCoupon","unlimited","discount","_discount","condition","_condition","vanCouponCell","tips","count","_count","vanCouponList","empty","exchange","close","enable","disabled","placeholder","vanAddressEdit","area","postal","areaEmpty","addressEmpty","postalEmpty","defaultAddress","telPlaceholder","namePlaceholder","areaPlaceholder","vanAddressEditDetail","vanAddressList","add","messages","$vantMessages","$vantLang","lang","_this$add","createI18N","prefix","locale","_len","arguments","args","_key","apply","_vnodes","Info","showInfo","uid","BindEventMixin","bind","unbind","activated","deactivated","functionalRoute","$router","LoadingIcon","Spin","i","LoadingText","_props$textColor","textSize","textColor","Loading","iconSize","width","vertical","_utils2","_router","_style","_event","_unit","_constant","_interceptor","_scroll","_relation","_bindEvent","_Title","_sticky","_Content","_default2","resize","scrollspy","onScroll","vanPopup","prop","border","sticky","animated","swipeable","background","lineWidth","lineHeight","beforeChange","Function","titleActiveColor","titleInactiveColor","active","ellipsis","offsetTop","lazyRender","swipeThreshold","currentIndex","lineStyle","backgroundColor","scrollable","navStyle","borderColor","currentName","activeTab","computedName","offsetTopPx","scrollOffset","tabHeight","setCurrentIndexByName","setLine","$nextTick","scrollIntoView","stickyFixed","ceil","_this2","init","onReopen","_this3","inited","$refs","wrap","_this4","shouldAnimate","titles","isHidden","left","offsetLeft","offsetWidth","transform","transitionDuration","borderRadius","matched","tab","defaultIndex","index","setCurrentIndex","newIndex","findAvailableTab","newTab","newName","shouldEmitChange","$emit","diff","onClick","_this5","_this$children$index","callInterceptor","interceptor","done","scrollToCurrentContent","immediate","nav","scrollLeftTo","onSticktScroll","params","isFixed","_this6","_this7","lockScroll","scrollTopTo","getCurrentIndexOnScroll","_this8","Nav","_item$badge","titleStyle","titleClass","Wrap","BORDER_TOP_BOTTOM","_this$name","isActive","slotContent","show","Content","inactive","isEmpty","_create","BORDER_UNSET_TOP_BOTTOM","BORDER_SURROUND","BORDER_BOTTOM","BORDER_LEFT","BORDER_TOP","BORDER","RED","PopupMixin","_touch","TouchMixin","_closeOnPopstate","CloseOnPopstateMixin","_portal","PortalMixin","afterPortal","_overlay","updateOverlay","popupMixinProps","onReopenCallback","shouldRender","skipToggleEvent","open","shouldReopen","removeOverlay","opened","removeLock","zIndex","_context","renderOverlay","addLock","callback","touchStart","onTouchMove","lockCount","classList","remove","closeOverlay","touchMove","direction","deltaY","scrollHeight","offsetHeight","status","parseInt","openOverlay","overlayClass","customStyle","transitionAppear","returnVal","resetTouchStatus","startX","touches","clientX","startY","clientY","touch","deltaX","offsetX","abs","offsetY","x","y","bindTouchEvent","onTouchStart","onTouchEnd","Date","now","global","iRaf","requestAnimationFrame","fn","curr","ms","id","cancelAnimationFrame","raf","_resetScroll","_number","_icon","_cell","_shared","inheritAttrs","vanField","vanForm","cellProps","rules","readonly","autosize","leftIcon","rightIcon","clearable","formatter","maxlength","labelWidth","labelClass","labelAlign","inputAlign","errorMessage","errorMessageAlign","showWordLimit","error","colon","clearTrigger","formatTrigger","focused","validateFailed","validateMessage","updateValue","resetValidation","validateWithTrigger","adjustSize","addField","removeField","showClear","getProp","hasValue","trigger","showError","listeners","$listeners","blur","onBlur","focus","onFocus","input","onInput","click","onClickInput","keypress","onKeypress","labelStyle","formValue","runValidator","rule","Promise","resolve","validator","isEmptyValue","runSyncRule","required","pattern","getRuleMessage","runRules","validate","defaultTrigger","validateTrigger","slice","isNumber","formatNumber","composing","resetScroll","onClickLeftIcon","onClickRightIcon","onClear","keyCode","_this$autosize","maxHeight","minHeight","min","genInput","$createElement","inputSlot","inputProps","ref","class","domProps","attrs","$attrs","directives","inputMode","inputType","genLeftIcon","genRightIcon","genWordLimit","genMessage","showErrorMessage","genLabel","_bem","Label","extra","center","isLink","clickable","arrowDirection","isNumeric","hidden","display","parentHidden","offsetParent","removeChild","FieldMixin","field","created","_popup","_popup2","_loading","ActionSheet","cancelText","closeable","onCancel","emit","round","closeOnPopstate","safeAreaInsetBottom","closeIcon","Header","description","Description","actions","closeOnClickAction","nextTick","subname","CancelText","_field","t","Search","fieldData","inheritData","showAction","shape","action","actionText","Action","_deepAssign","_zhCN","padZero","num","targetLength","stack","find","vm","splice","_Dialog","Dialog","reject","propsData","theme","allowHtml","beforeClose","messageAlign","cancelButtonText","cancelButtonColor","confirmButtonText","confirmButtonColor","showConfirmButton","showCancelButton","alert","$dialog","Button","plain","hairline","loadingText","iconPosition","text","content","classes","block","square","renderIcon","loadingSize","nativeType","valueClass","DEFAULT_ROW_WIDTH","DEFAULT_LAST_ROW_WIDTH","Skeleton","animate","avatar","avatarSize","avatarShape","Avatar","titleWidth","Title","Rows","rowWidth","row","closeIconPosition","beforeCreate","createEmitter","eventName","onClosed","onClickCloseIcon","isCenter","transitionName","Cell","_props$clickable","showTitle","borderless","alone","Value","rightIconSlot","RightIcon","_component","_i18n","_slots","_string","_locale","isNaN","scrollLeft","frames","_raf","current","isDown","step","doubleRaf","cancelRaf","iCancel","activeColor","inactiveColor","isCard","titleColor","genText","Text","isBind","observer","container","fixed","IntersectionObserver","entries","intersectionRatio","topToPageTop","emitScrollEvent","bottomToPageTop","distanceToBottom","touchstart","touchmove","touchend","touchcancel","genChildren","_lockClick","toggleClickable","destroyed","lockClick","onAfterEnter","onAfterLeave","genIcon","lock","onClickOverlay","mountOverlay","defaultConfig","insertBefore","preventTouchMove","Overlay","animationDuration","_temp","portal","selector","querySelector","getElement","$parent","handlePopstate","bindStatus","onPopstate","_button","_goodsAction","_goodsActionButton","handleAction","state","_this2$$refs$dialog","dialog","onKeydown","Enter","Escape","genRoundButtons","genButtons","genContent","hasTitle","messageSlot","_domProps","isolated","unfit","isFirst","$options","isLast","first","last","isIOS","_system","isAndroid","navigator","userAgent","toLowerCase","trimExtraChar","_char","regExp","match","range","allowDot","allowMinus","addNumber","num1","num2","cardinal","pow","switchProps","activeValue","inactiveValue","CheckboxMixin","role","checkedColor","labelPosition","labelDisabled","bindGroup","isDisabled","iconStyle","checked","tabindex","iconClicked","toggle","slot","Children","unshift","check","finished","errorText","finishedText","immediateCheck","offset","innerLoading","updated","scrollerRect","bottom","placeholderRect","clickErrorText","genLoading","genFinishedText","genErrorText","Placeholder","CellGroup","Group","inset","newValue","_checkbox","currentValue","set","_value","fit","setHeight","tabbar","setActiveItem","nameMatched","triggerChange","afterChange","genTabbar","$route","r","pathMatched","_this$badge","create","unit","listener"],"mappings":"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","file":"vantVendors.33e40bf1d73251facf4b.js","sourcesContent":["import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport Vue from 'vue';\nvar inheritKey = ['ref', 'key', 'style', 'class', 'attrs', 'refInFor', 'nativeOn', 'directives', 'staticClass', 'staticStyle'];\nvar mapInheritKey = {\n nativeOn: 'on'\n}; // inherit partial context, map nativeOn to on\n\nexport function inherit(context, inheritListeners) {\n var result = inheritKey.reduce(function (obj, key) {\n if (context.data[key]) {\n obj[mapInheritKey[key] || key] = context.data[key];\n }\n\n return obj;\n }, {});\n\n if (inheritListeners) {\n result.on = result.on || {};\n\n _extends(result.on, context.data.on);\n }\n\n return result;\n} // emit event\n\nexport function emit(context, eventName) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var listeners = context.listeners[eventName];\n\n if (listeners) {\n if (Array.isArray(listeners)) {\n listeners.forEach(function (listener) {\n listener.apply(void 0, args);\n });\n } else {\n listeners.apply(void 0, args);\n }\n }\n} // mount functional component\n\nexport function mount(Component, data) {\n var instance = new Vue({\n el: document.createElement('div'),\n props: Component.props,\n render: function render(h) {\n return h(Component, _extends({\n props: this.$props\n }, data));\n }\n });\n document.body.appendChild(instance.$el);\n return instance;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _Toast = _interopRequireDefault(require(\"./Toast\"));\n\nvar _utils = require(\"../utils\");\n\nvar _node = require(\"../utils/dom/node\");\n\nvar defaultOptions = {\n icon: '',\n type: 'text',\n // @deprecated\n mask: false,\n value: true,\n message: '',\n className: '',\n overlay: false,\n onClose: null,\n onOpened: null,\n duration: 2000,\n iconPrefix: undefined,\n position: 'middle',\n transition: 'van-fade',\n forbidClick: false,\n loadingType: undefined,\n getContainer: 'body',\n overlayStyle: null,\n closeOnClick: false,\n closeOnClickOverlay: false\n}; // default options of specific type\n\nvar defaultOptionsMap = {};\nvar queue = [];\nvar multiple = false;\nvar currentOptions = (0, _extends2.default)({}, defaultOptions);\n\nfunction parseOptions(message) {\n if ((0, _utils.isObject)(message)) {\n return message;\n }\n\n return {\n message: message\n };\n}\n\nfunction isInDocument(element) {\n return document.body.contains(element);\n}\n\nfunction createInstance() {\n /* istanbul ignore if */\n if (_utils.isServer) {\n return {};\n }\n\n queue = queue.filter(function (item) {\n return !item.$el.parentNode || isInDocument(item.$el);\n });\n\n if (!queue.length || multiple) {\n var toast = new (_vue.default.extend(_Toast.default))({\n el: document.createElement('div')\n });\n toast.$on('input', function (value) {\n toast.value = value;\n });\n queue.push(toast);\n }\n\n return queue[queue.length - 1];\n} // transform toast options to popup props\n\n\nfunction transformOptions(options) {\n return (0, _extends2.default)({}, options, {\n overlay: options.mask || options.overlay,\n mask: undefined,\n duration: undefined\n });\n}\n\nfunction Toast(options) {\n if (options === void 0) {\n options = {};\n }\n\n var toast = createInstance(); // should add z-index if previous toast has not disappeared\n\n if (toast.value) {\n toast.updateZIndex();\n }\n\n options = parseOptions(options);\n options = (0, _extends2.default)({}, currentOptions, defaultOptionsMap[options.type || currentOptions.type], options);\n\n if (process.env.NODE_ENV === 'development' && options.mask) {\n console.warn('[Vant] Toast: \"mask\" option is deprecated, use \"overlay\" option instead.');\n }\n\n options.clear = function () {\n toast.value = false;\n\n if (options.onClose) {\n options.onClose();\n options.onClose = null;\n }\n\n if (multiple && !_utils.isServer) {\n toast.$on('closed', function () {\n clearTimeout(toast.timer);\n queue = queue.filter(function (item) {\n return item !== toast;\n });\n (0, _node.removeNode)(toast.$el);\n toast.$destroy();\n });\n }\n };\n\n (0, _extends2.default)(toast, transformOptions(options));\n clearTimeout(toast.timer);\n\n if (options.duration > 0) {\n toast.timer = setTimeout(function () {\n toast.clear();\n }, options.duration);\n }\n\n return toast;\n}\n\nvar createMethod = function createMethod(type) {\n return function (options) {\n return Toast((0, _extends2.default)({\n type: type\n }, parseOptions(options)));\n };\n};\n\n['loading', 'success', 'fail'].forEach(function (method) {\n Toast[method] = createMethod(method);\n});\n\nToast.clear = function (all) {\n if (queue.length) {\n if (all) {\n queue.forEach(function (toast) {\n toast.clear();\n });\n queue = [];\n } else if (!multiple) {\n queue[0].clear();\n } else {\n queue.shift().clear();\n }\n }\n};\n\nToast.setDefaultOptions = function (type, options) {\n if (typeof type === 'string') {\n defaultOptionsMap[type] = options;\n } else {\n (0, _extends2.default)(currentOptions, type);\n }\n};\n\nToast.resetDefaultOptions = function (type) {\n if (typeof type === 'string') {\n defaultOptionsMap[type] = null;\n } else {\n currentOptions = (0, _extends2.default)({}, defaultOptions);\n defaultOptionsMap = {};\n }\n};\n\nToast.allowMultiple = function (value) {\n if (value === void 0) {\n value = true;\n }\n\n multiple = value;\n};\n\nToast.install = function () {\n _vue.default.use(_Toast.default);\n};\n\n_vue.default.prototype.$toast = Toast;\nvar _default = Toast;\nexports.default = _default;","import Vue from 'vue';\nexport { createNamespace } from './create';\nexport { addUnit } from './format/unit';\nexport var inBrowser = typeof window !== 'undefined';\nexport var isServer = Vue.prototype.$isServer; // eslint-disable-next-line @typescript-eslint/no-empty-function\n\nexport function noop() {}\nexport function isDef(val) {\n return val !== undefined && val !== null;\n}\nexport function isFunction(val) {\n return typeof val === 'function';\n}\nexport function isObject(val) {\n return val !== null && typeof val === 'object';\n}\nexport function isPromise(val) {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n}\nexport function get(object, path) {\n var keys = path.split('.');\n var result = object;\n keys.forEach(function (key) {\n var _result$key;\n\n result = isObject(result) ? (_result$key = result[key]) != null ? _result$key : '' : '';\n });\n return result;\n}\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @function isEmpty\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\n\nexport function isEmpty(value) {\n if (value == null) {\n return true;\n }\n\n if (typeof value !== 'object') {\n return true;\n }\n\n return Object.keys(value).length === 0;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.on = on;\nexports.off = off;\nexports.stopPropagation = stopPropagation;\nexports.preventDefault = preventDefault;\nexports.supportsPassive = void 0;\n\nvar _ = require(\"..\");\n\n// eslint-disable-next-line import/no-mutable-exports\nvar supportsPassive = false;\nexports.supportsPassive = supportsPassive;\n\nif (!_.isServer) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', {\n // eslint-disable-next-line getter-return\n get: function get() {\n /* istanbul ignore next */\n exports.supportsPassive = supportsPassive = true;\n }\n });\n window.addEventListener('test-passive', null, opts); // eslint-disable-next-line no-empty\n } catch (e) {}\n}\n\nfunction on(target, event, handler, passive) {\n if (passive === void 0) {\n passive = false;\n }\n\n if (!_.isServer) {\n target.addEventListener(event, handler, supportsPassive ? {\n capture: false,\n passive: passive\n } : false);\n }\n}\n\nfunction off(target, event, handler) {\n if (!_.isServer) {\n target.removeEventListener(event, handler);\n }\n}\n\nfunction stopPropagation(event) {\n event.stopPropagation();\n}\n\nfunction preventDefault(event, isStopPropagation) {\n /* istanbul ignore else */\n if (typeof event.cancelable !== 'boolean' || event.cancelable) {\n event.preventDefault();\n }\n\n if (isStopPropagation) {\n stopPropagation(event);\n }\n}","import { sortChildren } from '../utils/vnodes';\nexport function ChildrenMixin(_parent, options) {\n var _inject, _computed;\n\n if (options === void 0) {\n options = {};\n }\n\n var indexKey = options.indexKey || 'index';\n return {\n inject: (_inject = {}, _inject[_parent] = {\n default: null\n }, _inject),\n computed: (_computed = {\n parent: function parent() {\n if (this.disableBindRelation) {\n return null;\n }\n\n return this[_parent];\n }\n }, _computed[indexKey] = function () {\n this.bindRelation();\n\n if (this.parent) {\n return this.parent.children.indexOf(this);\n }\n\n return null;\n }, _computed),\n watch: {\n disableBindRelation: function disableBindRelation(val) {\n if (!val) {\n this.bindRelation();\n }\n }\n },\n mounted: function mounted() {\n this.bindRelation();\n },\n beforeDestroy: function beforeDestroy() {\n var _this = this;\n\n if (this.parent) {\n this.parent.children = this.parent.children.filter(function (item) {\n return item !== _this;\n });\n }\n },\n methods: {\n bindRelation: function bindRelation() {\n if (!this.parent || this.parent.children.indexOf(this) !== -1) {\n return;\n }\n\n var children = [].concat(this.parent.children, [this]);\n sortChildren(children, this.parent);\n this.parent.children = children;\n }\n }\n };\n}\nexport function ParentMixin(parent) {\n return {\n provide: function provide() {\n var _ref;\n\n return _ref = {}, _ref[parent] = this, _ref;\n },\n data: function data() {\n return {\n children: []\n };\n }\n };\n}","function flattenVNodes(vnodes) {\n var result = [];\n\n function traverse(vnodes) {\n vnodes.forEach(function (vnode) {\n result.push(vnode);\n\n if (vnode.componentInstance) {\n traverse(vnode.componentInstance.$children.map(function (item) {\n return item.$vnode;\n }));\n }\n\n if (vnode.children) {\n traverse(vnode.children);\n }\n });\n }\n\n traverse(vnodes);\n return result;\n} // sort children instances by vnodes order\n\n\nexport function sortChildren(children, parent) {\n var componentOptions = parent.$vnode.componentOptions;\n\n if (!componentOptions || !componentOptions.children) {\n return;\n }\n\n var vnodes = flattenVNodes(componentOptions.children);\n children.sort(function (a, b) {\n return vnodes.indexOf(a.$vnode) - vnodes.indexOf(b.$vnode);\n });\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.getScroller = getScroller;\nexports.getScrollTop = getScrollTop;\nexports.setScrollTop = setScrollTop;\nexports.getRootScrollTop = getRootScrollTop;\nexports.setRootScrollTop = setRootScrollTop;\nexports.getElementTop = getElementTop;\nexports.getVisibleHeight = getVisibleHeight;\nexports.getVisibleTop = getVisibleTop;\n\nfunction isWindow(val) {\n return val === window;\n} // get nearest scroll element\n// https://github.com/vant-ui/vant/issues/3823\n\n\nvar overflowScrollReg = /scroll|auto|overlay/i;\n\nfunction getScroller(el, root) {\n if (root === void 0) {\n root = window;\n }\n\n var node = el;\n\n while (node && node.tagName !== 'HTML' && node.tagName !== 'BODY' && node.nodeType === 1 && node !== root) {\n var _window$getComputedSt = window.getComputedStyle(node),\n overflowY = _window$getComputedSt.overflowY;\n\n if (overflowScrollReg.test(overflowY)) {\n return node;\n }\n\n node = node.parentNode;\n }\n\n return root;\n}\n\nfunction getScrollTop(el) {\n var top = 'scrollTop' in el ? el.scrollTop : el.pageYOffset; // iOS scroll bounce cause minus scrollTop\n\n return Math.max(top, 0);\n}\n\nfunction setScrollTop(el, value) {\n if ('scrollTop' in el) {\n el.scrollTop = value;\n } else {\n el.scrollTo(el.scrollX, value);\n }\n}\n\nfunction getRootScrollTop() {\n return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n}\n\nfunction setRootScrollTop(value) {\n setScrollTop(window, value);\n setScrollTop(document.body, value);\n} // get distance from element top to page top or scroller top\n\n\nfunction getElementTop(el, scroller) {\n if (isWindow(el)) {\n return 0;\n }\n\n var scrollTop = scroller ? getScrollTop(scroller) : getRootScrollTop();\n return el.getBoundingClientRect().top + scrollTop;\n}\n\nfunction getVisibleHeight(el) {\n if (isWindow(el)) {\n return el.innerHeight;\n }\n\n return el.getBoundingClientRect().height;\n}\n\nfunction getVisibleTop(el) {\n if (isWindow(el)) {\n return 0;\n }\n\n return el.getBoundingClientRect().top;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _babelHelperVueJsxMergeProps = _interopRequireDefault(require(\"@vue/babel-helper-vue-jsx-merge-props\"));\n\nvar _utils = require(\"../utils\");\n\nvar _functional = require(\"../utils/functional\");\n\nvar _info = _interopRequireDefault(require(\"../info\"));\n\n// Utils\n// Components\nvar _createNamespace = (0, _utils.createNamespace)('icon'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction isImage(name) {\n return name ? name.indexOf('/') !== -1 : false;\n} // compatible with legacy usage, should be removed in next major version\n\n\nvar LEGACY_MAP = {\n medel: 'medal',\n 'medel-o': 'medal-o',\n 'calender-o': 'calendar-o'\n};\n\nfunction correctName(name) {\n return name && LEGACY_MAP[name] || name;\n}\n\nfunction Icon(h, props, slots, ctx) {\n var _props$badge;\n\n var name = correctName(props.name);\n var imageIcon = isImage(name);\n\n if (process.env.NODE_ENV === 'development' && props.info) {\n console.warn('[Vant] Icon: \"info\" prop is deprecated, use \"badge\" prop instead.');\n }\n\n return h(props.tag, (0, _babelHelperVueJsxMergeProps.default)([{\n \"class\": [props.classPrefix, imageIcon ? '' : props.classPrefix + \"-\" + name],\n \"style\": {\n color: props.color,\n fontSize: (0, _utils.addUnit)(props.size)\n }\n }, (0, _functional.inherit)(ctx, true)]), [slots.default && slots.default(), imageIcon && h(\"img\", {\n \"class\": bem('image'),\n \"attrs\": {\n \"src\": name\n }\n }), h(_info.default, {\n \"attrs\": {\n \"dot\": props.dot,\n \"info\": (_props$badge = props.badge) != null ? _props$badge : props.info\n }\n })]);\n}\n\nIcon.props = {\n dot: Boolean,\n name: String,\n size: [Number, String],\n // @deprecated\n // should be removed in next major version\n info: [Number, String],\n badge: [Number, String],\n color: String,\n tag: {\n type: String,\n default: 'i'\n },\n classPrefix: {\n type: String,\n default: bem()\n }\n};\n\nvar _default = createComponent(Icon);\n\nexports.default = _default;","import { isDef, inBrowser } from '..';\nimport { isNumeric } from '../validate/number';\nexport function addUnit(value) {\n if (!isDef(value)) {\n return undefined;\n }\n\n value = String(value);\n return isNumeric(value) ? value + \"px\" : value;\n} // cache\n\nvar rootFontSize;\n\nfunction getRootFontSize() {\n if (!rootFontSize) {\n var doc = document.documentElement;\n var fontSize = doc.style.fontSize || window.getComputedStyle(doc).fontSize;\n rootFontSize = parseFloat(fontSize);\n }\n\n return rootFontSize;\n}\n\nfunction convertRem(value) {\n value = value.replace(/rem/g, '');\n return +value * getRootFontSize();\n}\n\nfunction convertVw(value) {\n value = value.replace(/vw/g, '');\n return +value * window.innerWidth / 100;\n}\n\nfunction convertVh(value) {\n value = value.replace(/vh/g, '');\n return +value * window.innerHeight / 100;\n}\n\nexport function unitToPx(value) {\n if (typeof value === 'number') {\n return value;\n }\n\n if (inBrowser) {\n if (value.indexOf('rem') !== -1) {\n return convertRem(value);\n }\n\n if (value.indexOf('vw') !== -1) {\n return convertVw(value);\n }\n\n if (value.indexOf('vh') !== -1) {\n return convertVh(value);\n }\n }\n\n return parseFloat(value);\n}","export function isNumeric(val) {\n return /^\\d+(\\.\\d+)?$/.test(val);\n}\nexport function isNaN(val) {\n if (Number.isNaN) {\n return Number.isNaN(val);\n } // eslint-disable-next-line no-self-compare\n\n\n return val !== val;\n}","/**\n * Vue Router support\n */\nfunction isRedundantNavigation(err) {\n return err.name === 'NavigationDuplicated' || // compatible with vue-router@3.3\n err.message && err.message.indexOf('redundant navigation') !== -1;\n}\n\nexport function route(router, config) {\n var to = config.to,\n url = config.url,\n replace = config.replace;\n\n if (to && router) {\n var promise = router[replace ? 'replace' : 'push'](to);\n /* istanbul ignore else */\n\n if (promise && promise.catch) {\n promise.catch(function (err) {\n if (err && !isRedundantNavigation(err)) {\n throw err;\n }\n });\n }\n } else if (url) {\n replace ? location.replace(url) : location.href = url;\n }\n}\nexport function functionalRoute(context) {\n route(context.parent && context.parent.$router, context.props);\n}\nexport var routeProps = {\n url: String,\n replace: Boolean,\n to: [String, Object]\n};","/**\n * bem helper\n * b() // 'button'\n * b('text') // 'button__text'\n * b({ disabled }) // 'button button--disabled'\n * b('text', { disabled }) // 'button__text button__text--disabled'\n * b(['disabled', 'primary']) // 'button button--disabled button--primary'\n */\nfunction gen(name, mods) {\n if (!mods) {\n return '';\n }\n\n if (typeof mods === 'string') {\n return \" \" + name + \"--\" + mods;\n }\n\n if (Array.isArray(mods)) {\n return mods.reduce(function (ret, item) {\n return ret + gen(name, item);\n }, '');\n }\n\n return Object.keys(mods).reduce(function (ret, key) {\n return ret + (mods[key] ? gen(name, key) : '');\n }, '');\n}\n\nexport function createBEM(name) {\n return function (el, mods) {\n if (el && typeof el !== 'string') {\n mods = el;\n el = '';\n }\n\n el = el ? name + \"__\" + el : name;\n return \"\" + el + gen(el, mods);\n };\n}","var camelizeRE = /-(\\w)/g;\nexport function camelize(str) {\n return str.replace(camelizeRE, function (_, c) {\n return c.toUpperCase();\n });\n}\nexport function padZero(num, targetLength) {\n if (targetLength === void 0) {\n targetLength = 2;\n }\n\n var str = num + '';\n\n while (str.length < targetLength) {\n str = '0' + str;\n }\n\n return str;\n}","/**\n * Use scopedSlots in Vue 2.6+\n * downgrade to slots in lower version\n */\nexport var SlotsMixin = {\n methods: {\n slots: function slots(name, props) {\n if (name === void 0) {\n name = 'default';\n }\n\n var $slots = this.$slots,\n $scopedSlots = this.$scopedSlots;\n var scopedSlot = $scopedSlots[name];\n\n if (scopedSlot) {\n return scopedSlot(props);\n }\n\n return $slots[name];\n }\n }\n};","/**\n * Create a basic component with common options\n */\nimport '../../locale';\nimport { isFunction } from '..';\nimport { camelize } from '../format/string';\nimport { SlotsMixin } from '../../mixins/slots';\nimport Vue from 'vue';\n\nfunction install(Vue) {\n var name = this.name;\n Vue.component(name, this);\n Vue.component(camelize(\"-\" + name), this);\n} // unify slots & scopedSlots\n\n\nexport function unifySlots(context) {\n // use data.scopedSlots in lower Vue version\n var scopedSlots = context.scopedSlots || context.data.scopedSlots || {};\n var slots = context.slots();\n Object.keys(slots).forEach(function (key) {\n if (!scopedSlots[key]) {\n scopedSlots[key] = function () {\n return slots[key];\n };\n }\n });\n return scopedSlots;\n} // should be removed after Vue 3\n\nfunction transformFunctionComponent(pure) {\n return {\n functional: true,\n props: pure.props,\n model: pure.model,\n render: function render(h, context) {\n return pure(h, context.props, unifySlots(context), context);\n }\n };\n}\n\nexport function createComponent(name) {\n return function (sfc) {\n if (isFunction(sfc)) {\n sfc = transformFunctionComponent(sfc);\n }\n\n if (!sfc.functional) {\n sfc.mixins = sfc.mixins || [];\n sfc.mixins.push(SlotsMixin);\n }\n\n sfc.name = name;\n sfc.install = install;\n return sfc;\n };\n}","import { isDef, isObject } from '.';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction assignKey(to, from, key) {\n var val = from[key];\n\n if (!isDef(val)) {\n return;\n }\n\n if (!hasOwnProperty.call(to, key) || !isObject(val)) {\n to[key] = val;\n } else {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n to[key] = deepAssign(Object(to[key]), from[key]);\n }\n}\n\nexport function deepAssign(to, from) {\n Object.keys(from).forEach(function (key) {\n assignKey(to, from, key);\n });\n return to;\n}","export default {\n name: '姓名',\n tel: '电话',\n save: '保存',\n confirm: '确认',\n cancel: '取消',\n delete: '删除',\n complete: '完成',\n loading: '加载中...',\n telEmpty: '请填写电话',\n nameEmpty: '请填写姓名',\n nameInvalid: '请输入正确的姓名',\n confirmDelete: '确定要删除吗',\n telInvalid: '请输入正确的手机号',\n vanCalendar: {\n end: '结束',\n start: '开始',\n title: '日期选择',\n confirm: '确定',\n startEnd: '开始/结束',\n weekdays: ['日', '一', '二', '三', '四', '五', '六'],\n monthTitle: function monthTitle(year, month) {\n return year + \"\\u5E74\" + month + \"\\u6708\";\n },\n rangePrompt: function rangePrompt(maxRange) {\n return \"\\u9009\\u62E9\\u5929\\u6570\\u4E0D\\u80FD\\u8D85\\u8FC7 \" + maxRange + \" \\u5929\";\n }\n },\n vanCascader: {\n select: '请选择'\n },\n vanContactCard: {\n addText: '添加联系人'\n },\n vanContactList: {\n addText: '新建联系人'\n },\n vanPagination: {\n prev: '上一页',\n next: '下一页'\n },\n vanPullRefresh: {\n pulling: '下拉即可刷新...',\n loosing: '释放即可刷新...'\n },\n vanSubmitBar: {\n label: '合计:'\n },\n vanCoupon: {\n unlimited: '无使用门槛',\n discount: function discount(_discount) {\n return _discount + \"\\u6298\";\n },\n condition: function condition(_condition) {\n return \"\\u6EE1\" + _condition + \"\\u5143\\u53EF\\u7528\";\n }\n },\n vanCouponCell: {\n title: '优惠券',\n tips: '暂无可用',\n count: function count(_count) {\n return _count + \"\\u5F20\\u53EF\\u7528\";\n }\n },\n vanCouponList: {\n empty: '暂无优惠券',\n exchange: '兑换',\n close: '不使用优惠券',\n enable: '可用',\n disabled: '不可用',\n placeholder: '请输入优惠码'\n },\n vanAddressEdit: {\n area: '地区',\n postal: '邮政编码',\n areaEmpty: '请选择地区',\n addressEmpty: '请填写详细地址',\n postalEmpty: '邮政编码格式不正确',\n defaultAddress: '设为默认收货地址',\n telPlaceholder: '收货人手机号',\n namePlaceholder: '收货人姓名',\n areaPlaceholder: '选择省 / 市 / 区'\n },\n vanAddressEditDetail: {\n label: '详细地址',\n placeholder: '街道门牌、楼层房间号等信息'\n },\n vanAddressList: {\n add: '新增地址'\n }\n};","import Vue from 'vue';\nimport { deepAssign } from '../utils/deep-assign';\nimport defaultMessages from './lang/zh-CN';\nvar proto = Vue.prototype;\nvar defineReactive = Vue.util.defineReactive;\ndefineReactive(proto, '$vantLang', 'zh-CN');\ndefineReactive(proto, '$vantMessages', {\n 'zh-CN': defaultMessages\n});\nexport default {\n messages: function messages() {\n return proto.$vantMessages[proto.$vantLang];\n },\n use: function use(lang, messages) {\n var _this$add;\n\n proto.$vantLang = lang;\n this.add((_this$add = {}, _this$add[lang] = messages, _this$add));\n },\n add: function add(messages) {\n if (messages === void 0) {\n messages = {};\n }\n\n deepAssign(proto.$vantMessages, messages);\n }\n};","import { get, isFunction } from '..';\nimport { camelize } from '../format/string';\nimport locale from '../../locale';\nexport function createI18N(name) {\n var prefix = camelize(name) + '.';\n return function (path) {\n var messages = locale.messages();\n var message = get(messages, prefix + path) || get(messages, path);\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return isFunction(message) ? message.apply(void 0, args) : message;\n };\n}","import { createBEM } from './bem';\nimport { createComponent } from './component';\nimport { createI18N } from './i18n';\nexport function createNamespace(name) {\n name = 'van-' + name;\n return [createComponent(name), createBEM(name), createI18N(name)];\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.ChildrenMixin = ChildrenMixin;\nexports.ParentMixin = ParentMixin;\n\nvar _vnodes = require(\"../utils/vnodes\");\n\nfunction ChildrenMixin(_parent, options) {\n var _inject, _computed;\n\n if (options === void 0) {\n options = {};\n }\n\n var indexKey = options.indexKey || 'index';\n return {\n inject: (_inject = {}, _inject[_parent] = {\n default: null\n }, _inject),\n computed: (_computed = {\n parent: function parent() {\n if (this.disableBindRelation) {\n return null;\n }\n\n return this[_parent];\n }\n }, _computed[indexKey] = function () {\n this.bindRelation();\n\n if (this.parent) {\n return this.parent.children.indexOf(this);\n }\n\n return null;\n }, _computed),\n watch: {\n disableBindRelation: function disableBindRelation(val) {\n if (!val) {\n this.bindRelation();\n }\n }\n },\n mounted: function mounted() {\n this.bindRelation();\n },\n beforeDestroy: function beforeDestroy() {\n var _this = this;\n\n if (this.parent) {\n this.parent.children = this.parent.children.filter(function (item) {\n return item !== _this;\n });\n }\n },\n methods: {\n bindRelation: function bindRelation() {\n if (!this.parent || this.parent.children.indexOf(this) !== -1) {\n return;\n }\n\n var children = [].concat(this.parent.children, [this]);\n (0, _vnodes.sortChildren)(children, this.parent);\n this.parent.children = children;\n }\n }\n };\n}\n\nfunction ParentMixin(parent) {\n return {\n provide: function provide() {\n var _ref;\n\n return _ref = {}, _ref[parent] = this, _ref;\n },\n data: function data() {\n return {\n children: []\n };\n }\n };\n}","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace, isDef } from '../utils';\nimport { inherit } from '../utils/functional'; // Types\n\nvar _createNamespace = createNamespace('info'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction Info(h, props, slots, ctx) {\n var dot = props.dot,\n info = props.info;\n var showInfo = isDef(info) && info !== '';\n\n if (!dot && !showInfo) {\n return;\n }\n\n return h(\"div\", _mergeJSXProps([{\n \"class\": bem({\n dot: dot\n })\n }, inherit(ctx, true)]), [dot ? '' : props.info]);\n}\n\nInfo.props = {\n dot: Boolean,\n info: [Number, String]\n};\nexport default createComponent(Info);","/**\n * Bind event when mounted or activated\n */\nimport { on, off } from '../utils/dom/event';\nvar uid = 0;\nexport function BindEventMixin(handler) {\n var key = \"binded_\" + uid++;\n\n function bind() {\n if (!this[key]) {\n handler.call(this, on, true);\n this[key] = true;\n }\n }\n\n function unbind() {\n if (this[key]) {\n handler.call(this, off, false);\n this[key] = false;\n }\n }\n\n return {\n mounted: bind,\n activated: bind,\n deactivated: unbind,\n beforeDestroy: unbind\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.route = route;\nexports.functionalRoute = functionalRoute;\nexports.routeProps = void 0;\n\n/**\n * Vue Router support\n */\nfunction isRedundantNavigation(err) {\n return err.name === 'NavigationDuplicated' || // compatible with vue-router@3.3\n err.message && err.message.indexOf('redundant navigation') !== -1;\n}\n\nfunction route(router, config) {\n var to = config.to,\n url = config.url,\n replace = config.replace;\n\n if (to && router) {\n var promise = router[replace ? 'replace' : 'push'](to);\n /* istanbul ignore else */\n\n if (promise && promise.catch) {\n promise.catch(function (err) {\n if (err && !isRedundantNavigation(err)) {\n throw err;\n }\n });\n }\n } else if (url) {\n replace ? location.replace(url) : location.href = url;\n }\n}\n\nfunction functionalRoute(context) {\n route(context.parent && context.parent.$router, context.props);\n}\n\nvar routeProps = {\n url: String,\n replace: Boolean,\n to: [String, Object]\n};\nexports.routeProps = routeProps;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _babelHelperVueJsxMergeProps = _interopRequireDefault(require(\"@vue/babel-helper-vue-jsx-merge-props\"));\n\nvar _utils = require(\"../utils\");\n\nvar _functional = require(\"../utils/functional\");\n\n// Utils\nvar _createNamespace = (0, _utils.createNamespace)('loading'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction LoadingIcon(h, props) {\n if (props.type === 'spinner') {\n var Spin = [];\n\n for (var i = 0; i < 12; i++) {\n Spin.push(h(\"i\"));\n }\n\n return Spin;\n }\n\n return h(\"svg\", {\n \"class\": bem('circular'),\n \"attrs\": {\n \"viewBox\": \"25 25 50 50\"\n }\n }, [h(\"circle\", {\n \"attrs\": {\n \"cx\": \"50\",\n \"cy\": \"50\",\n \"r\": \"20\",\n \"fill\": \"none\"\n }\n })]);\n}\n\nfunction LoadingText(h, props, slots) {\n if (slots.default) {\n var _props$textColor;\n\n var style = {\n fontSize: (0, _utils.addUnit)(props.textSize),\n color: (_props$textColor = props.textColor) != null ? _props$textColor : props.color\n };\n return h(\"span\", {\n \"class\": bem('text'),\n \"style\": style\n }, [slots.default()]);\n }\n}\n\nfunction Loading(h, props, slots, ctx) {\n var color = props.color,\n size = props.size,\n type = props.type;\n var style = {\n color: color\n };\n\n if (size) {\n var iconSize = (0, _utils.addUnit)(size);\n style.width = iconSize;\n style.height = iconSize;\n }\n\n return h(\"div\", (0, _babelHelperVueJsxMergeProps.default)([{\n \"class\": bem([type, {\n vertical: props.vertical\n }])\n }, (0, _functional.inherit)(ctx, true)]), [h(\"span\", {\n \"class\": bem('spinner', type),\n \"style\": style\n }, [LoadingIcon(h, props)]), LoadingText(h, props, slots)]);\n}\n\nLoading.props = {\n color: String,\n size: [Number, String],\n vertical: Boolean,\n textSize: [Number, String],\n textColor: String,\n type: {\n type: String,\n default: 'circular'\n }\n};\n\nvar _default = createComponent(Loading);\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _utils = require(\"../utils\");\n\nvar _utils2 = require(\"./utils\");\n\nvar _router = require(\"../utils/router\");\n\nvar _style = require(\"../utils/dom/style\");\n\nvar _event = require(\"../utils/dom/event\");\n\nvar _unit = require(\"../utils/format/unit\");\n\nvar _constant = require(\"../utils/constant\");\n\nvar _interceptor = require(\"../utils/interceptor\");\n\nvar _scroll = require(\"../utils/dom/scroll\");\n\nvar _relation = require(\"../mixins/relation\");\n\nvar _bindEvent = require(\"../mixins/bind-event\");\n\nvar _Title = _interopRequireDefault(require(\"./Title\"));\n\nvar _sticky = _interopRequireDefault(require(\"../sticky\"));\n\nvar _Content = _interopRequireDefault(require(\"./Content\"));\n\n// Utils\n// Mixins\n// Components\nvar _createNamespace = (0, _utils.createNamespace)('tabs'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar _default2 = createComponent({\n mixins: [(0, _relation.ParentMixin)('vanTabs'), (0, _bindEvent.BindEventMixin)(function (bind) {\n if (!this.scroller) {\n this.scroller = (0, _scroll.getScroller)(this.$el);\n }\n\n bind(window, 'resize', this.resize, true);\n\n if (this.scrollspy) {\n bind(this.scroller, 'scroll', this.onScroll, true);\n }\n })],\n inject: {\n vanPopup: {\n default: null\n }\n },\n model: {\n prop: 'active'\n },\n props: {\n color: String,\n border: Boolean,\n sticky: Boolean,\n animated: Boolean,\n swipeable: Boolean,\n scrollspy: Boolean,\n background: String,\n lineWidth: [Number, String],\n lineHeight: [Number, String],\n beforeChange: Function,\n titleActiveColor: String,\n titleInactiveColor: String,\n type: {\n type: String,\n default: 'line'\n },\n active: {\n type: [Number, String],\n default: 0\n },\n ellipsis: {\n type: Boolean,\n default: true\n },\n duration: {\n type: [Number, String],\n default: 0.3\n },\n offsetTop: {\n type: [Number, String],\n default: 0\n },\n lazyRender: {\n type: Boolean,\n default: true\n },\n swipeThreshold: {\n type: [Number, String],\n default: 5\n }\n },\n data: function data() {\n return {\n position: '',\n currentIndex: null,\n lineStyle: {\n backgroundColor: this.color\n }\n };\n },\n computed: {\n // whether the nav is scrollable\n scrollable: function scrollable() {\n return this.children.length > this.swipeThreshold || !this.ellipsis;\n },\n navStyle: function navStyle() {\n return {\n borderColor: this.color,\n background: this.background\n };\n },\n currentName: function currentName() {\n var activeTab = this.children[this.currentIndex];\n\n if (activeTab) {\n return activeTab.computedName;\n }\n },\n offsetTopPx: function offsetTopPx() {\n return (0, _unit.unitToPx)(this.offsetTop);\n },\n scrollOffset: function scrollOffset() {\n if (this.sticky) {\n return this.offsetTopPx + this.tabHeight;\n }\n\n return 0;\n }\n },\n watch: {\n color: 'setLine',\n active: function active(name) {\n if (name !== this.currentName) {\n this.setCurrentIndexByName(name);\n }\n },\n children: function children() {\n var _this = this;\n\n this.setCurrentIndexByName(this.active);\n this.setLine();\n this.$nextTick(function () {\n _this.scrollIntoView(true);\n });\n },\n currentIndex: function currentIndex() {\n this.scrollIntoView();\n this.setLine(); // scroll to correct position\n\n if (this.stickyFixed && !this.scrollspy) {\n (0, _scroll.setRootScrollTop)(Math.ceil((0, _scroll.getElementTop)(this.$el) - this.offsetTopPx));\n }\n },\n scrollspy: function scrollspy(val) {\n if (val) {\n (0, _event.on)(this.scroller, 'scroll', this.onScroll, true);\n } else {\n (0, _event.off)(this.scroller, 'scroll', this.onScroll);\n }\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.init(); // https://github.com/vant-ui/vant/issues/7959\n\n if (this.vanPopup) {\n this.vanPopup.onReopen(function () {\n _this2.setLine();\n });\n }\n },\n activated: function activated() {\n this.init();\n this.setLine();\n },\n methods: {\n // @exposed-api\n resize: function resize() {\n this.setLine();\n },\n init: function init() {\n var _this3 = this;\n\n this.$nextTick(function () {\n _this3.inited = true;\n _this3.tabHeight = (0, _scroll.getVisibleHeight)(_this3.$refs.wrap);\n\n _this3.scrollIntoView(true);\n });\n },\n // update nav bar style\n setLine: function setLine() {\n var _this4 = this;\n\n var shouldAnimate = this.inited;\n this.$nextTick(function () {\n var titles = _this4.$refs.titles;\n\n if (!titles || !titles[_this4.currentIndex] || _this4.type !== 'line' || (0, _style.isHidden)(_this4.$el)) {\n return;\n }\n\n var title = titles[_this4.currentIndex].$el;\n var lineWidth = _this4.lineWidth,\n lineHeight = _this4.lineHeight;\n var left = title.offsetLeft + title.offsetWidth / 2;\n var lineStyle = {\n width: (0, _utils.addUnit)(lineWidth),\n backgroundColor: _this4.color,\n transform: \"translateX(\" + left + \"px) translateX(-50%)\"\n };\n\n if (shouldAnimate) {\n lineStyle.transitionDuration = _this4.duration + \"s\";\n }\n\n if ((0, _utils.isDef)(lineHeight)) {\n var height = (0, _utils.addUnit)(lineHeight);\n lineStyle.height = height;\n lineStyle.borderRadius = height;\n }\n\n _this4.lineStyle = lineStyle;\n });\n },\n // correct the index of active tab\n setCurrentIndexByName: function setCurrentIndexByName(name) {\n var matched = this.children.filter(function (tab) {\n return tab.computedName === name;\n });\n var defaultIndex = (this.children[0] || {}).index || 0;\n this.setCurrentIndex(matched.length ? matched[0].index : defaultIndex);\n },\n setCurrentIndex: function setCurrentIndex(currentIndex) {\n var newIndex = this.findAvailableTab(currentIndex);\n\n if (!(0, _utils.isDef)(newIndex)) {\n return;\n }\n\n var newTab = this.children[newIndex];\n var newName = newTab.computedName;\n var shouldEmitChange = this.currentIndex !== null;\n this.currentIndex = newIndex;\n\n if (newName !== this.active) {\n this.$emit('input', newName);\n\n if (shouldEmitChange) {\n this.$emit('change', newName, newTab.title);\n }\n }\n },\n findAvailableTab: function findAvailableTab(index) {\n var diff = index < this.currentIndex ? -1 : 1;\n\n while (index >= 0 && index < this.children.length) {\n if (!this.children[index].disabled) {\n return index;\n }\n\n index += diff;\n }\n },\n // emit event when clicked\n onClick: function onClick(item, index) {\n var _this5 = this;\n\n var _this$children$index = this.children[index],\n title = _this$children$index.title,\n disabled = _this$children$index.disabled,\n computedName = _this$children$index.computedName;\n\n if (disabled) {\n this.$emit('disabled', computedName, title);\n } else {\n (0, _interceptor.callInterceptor)({\n interceptor: this.beforeChange,\n args: [computedName],\n done: function done() {\n _this5.setCurrentIndex(index);\n\n _this5.scrollToCurrentContent();\n }\n });\n this.$emit('click', computedName, title);\n (0, _router.route)(item.$router, item);\n }\n },\n // scroll active tab into view\n scrollIntoView: function scrollIntoView(immediate) {\n var titles = this.$refs.titles;\n\n if (!this.scrollable || !titles || !titles[this.currentIndex]) {\n return;\n }\n\n var nav = this.$refs.nav;\n var title = titles[this.currentIndex].$el;\n var to = title.offsetLeft - (nav.offsetWidth - title.offsetWidth) / 2;\n (0, _utils2.scrollLeftTo)(nav, to, immediate ? 0 : +this.duration);\n },\n onSticktScroll: function onSticktScroll(params) {\n this.stickyFixed = params.isFixed;\n this.$emit('scroll', params);\n },\n // @exposed-api\n scrollTo: function scrollTo(name) {\n var _this6 = this;\n\n this.$nextTick(function () {\n _this6.setCurrentIndexByName(name);\n\n _this6.scrollToCurrentContent(true);\n });\n },\n scrollToCurrentContent: function scrollToCurrentContent(immediate) {\n var _this7 = this;\n\n if (immediate === void 0) {\n immediate = false;\n }\n\n if (this.scrollspy) {\n var target = this.children[this.currentIndex];\n var el = target == null ? void 0 : target.$el;\n\n if (el) {\n var to = (0, _scroll.getElementTop)(el, this.scroller) - this.scrollOffset;\n this.lockScroll = true;\n (0, _utils2.scrollTopTo)(this.scroller, to, immediate ? 0 : +this.duration, function () {\n _this7.lockScroll = false;\n });\n }\n }\n },\n onScroll: function onScroll() {\n if (this.scrollspy && !this.lockScroll) {\n var index = this.getCurrentIndexOnScroll();\n this.setCurrentIndex(index);\n }\n },\n getCurrentIndexOnScroll: function getCurrentIndexOnScroll() {\n var children = this.children;\n\n for (var index = 0; index < children.length; index++) {\n var top = (0, _scroll.getVisibleTop)(children[index].$el);\n\n if (top > this.scrollOffset) {\n return index === 0 ? 0 : index - 1;\n }\n }\n\n return children.length - 1;\n }\n },\n render: function render() {\n var _this8 = this,\n _ref;\n\n var h = arguments[0];\n var type = this.type,\n animated = this.animated,\n scrollable = this.scrollable;\n var Nav = this.children.map(function (item, index) {\n var _item$badge;\n\n return h(_Title.default, {\n \"ref\": \"titles\",\n \"refInFor\": true,\n \"attrs\": {\n \"type\": type,\n \"dot\": item.dot,\n \"info\": (_item$badge = item.badge) != null ? _item$badge : item.info,\n \"title\": item.title,\n \"color\": _this8.color,\n \"isActive\": index === _this8.currentIndex,\n \"disabled\": item.disabled,\n \"scrollable\": scrollable,\n \"activeColor\": _this8.titleActiveColor,\n \"inactiveColor\": _this8.titleInactiveColor\n },\n \"style\": item.titleStyle,\n \"class\": item.titleClass,\n \"scopedSlots\": {\n default: function _default() {\n return item.slots('title');\n }\n },\n \"on\": {\n \"click\": function click() {\n _this8.onClick(item, index);\n }\n }\n });\n });\n var Wrap = h(\"div\", {\n \"ref\": \"wrap\",\n \"class\": [bem('wrap', {\n scrollable: scrollable\n }), (_ref = {}, _ref[_constant.BORDER_TOP_BOTTOM] = type === 'line' && this.border, _ref)]\n }, [h(\"div\", {\n \"ref\": \"nav\",\n \"attrs\": {\n \"role\": \"tablist\"\n },\n \"class\": bem('nav', [type, {\n complete: this.scrollable\n }]),\n \"style\": this.navStyle\n }, [this.slots('nav-left'), Nav, type === 'line' && h(\"div\", {\n \"class\": bem('line'),\n \"style\": this.lineStyle\n }), this.slots('nav-right')])]);\n return h(\"div\", {\n \"class\": bem([type])\n }, [this.sticky ? h(_sticky.default, {\n \"attrs\": {\n \"container\": this.$el,\n \"offsetTop\": this.offsetTop\n },\n \"on\": {\n \"scroll\": this.onSticktScroll\n }\n }, [Wrap]) : Wrap, h(_Content.default, {\n \"attrs\": {\n \"count\": this.children.length,\n \"animated\": animated,\n \"duration\": this.duration,\n \"swipeable\": this.swipeable,\n \"currentIndex\": this.currentIndex\n },\n \"on\": {\n \"change\": this.setCurrentIndex\n }\n }, [this.slots()])]);\n }\n});\n\nexports.default = _default2;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _utils = require(\"../utils\");\n\nvar _relation = require(\"../mixins/relation\");\n\nvar _router = require(\"../utils/router\");\n\nvar _createNamespace = (0, _utils.createNamespace)('tab'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar _default = createComponent({\n mixins: [(0, _relation.ChildrenMixin)('vanTabs')],\n props: (0, _extends2.default)({}, _router.routeProps, {\n dot: Boolean,\n name: [Number, String],\n // @deprecated\n info: [Number, String],\n badge: [Number, String],\n title: String,\n titleStyle: null,\n titleClass: null,\n disabled: Boolean\n }),\n data: function data() {\n return {\n inited: false\n };\n },\n computed: {\n computedName: function computedName() {\n var _this$name;\n\n return (_this$name = this.name) != null ? _this$name : this.index;\n },\n isActive: function isActive() {\n var active = this.computedName === this.parent.currentName;\n\n if (active) {\n this.inited = true;\n }\n\n return active;\n }\n },\n watch: {\n title: function title() {\n this.parent.setLine();\n this.parent.scrollIntoView();\n },\n inited: function inited(val) {\n var _this = this;\n\n if (this.parent.lazyRender && val) {\n this.$nextTick(function () {\n _this.parent.$emit('rendered', _this.computedName, _this.title);\n });\n }\n }\n },\n render: function render(h) {\n var slots = this.slots,\n parent = this.parent,\n isActive = this.isActive;\n var slotContent = slots();\n\n if (process.env.NODE_ENV === 'development' && this.info) {\n console.warn('[Vant] Tab: \"info\" prop is deprecated, use \"badge\" prop instead.');\n }\n\n if (!slotContent && !parent.animated) {\n return;\n }\n\n var show = parent.scrollspy || isActive;\n var shouldRender = this.inited || parent.scrollspy || !parent.lazyRender;\n var Content = shouldRender ? slotContent : h();\n\n if (parent.animated) {\n return h(\"div\", {\n \"attrs\": {\n \"role\": \"tabpanel\",\n \"aria-hidden\": !isActive\n },\n \"class\": bem('pane-wrapper', {\n inactive: !isActive\n })\n }, [h(\"div\", {\n \"class\": bem('pane')\n }, [Content])]);\n }\n\n return h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: show\n }],\n \"attrs\": {\n \"role\": \"tabpanel\"\n },\n \"class\": bem('pane')\n }, [Content]);\n }\n});\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.noop = noop;\nexports.isDef = isDef;\nexports.isFunction = isFunction;\nexports.isObject = isObject;\nexports.isPromise = isPromise;\nexports.get = get;\nexports.isEmpty = isEmpty;\nexports.isServer = exports.inBrowser = exports.addUnit = exports.createNamespace = void 0;\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _create = require(\"./create\");\n\nexports.createNamespace = _create.createNamespace;\n\nvar _unit = require(\"./format/unit\");\n\nexports.addUnit = _unit.addUnit;\nvar inBrowser = typeof window !== 'undefined';\nexports.inBrowser = inBrowser;\nvar isServer = _vue.default.prototype.$isServer; // eslint-disable-next-line @typescript-eslint/no-empty-function\n\nexports.isServer = isServer;\n\nfunction noop() {}\n\nfunction isDef(val) {\n return val !== undefined && val !== null;\n}\n\nfunction isFunction(val) {\n return typeof val === 'function';\n}\n\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\nfunction isPromise(val) {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n}\n\nfunction get(object, path) {\n var keys = path.split('.');\n var result = object;\n keys.forEach(function (key) {\n var _result$key;\n\n result = isObject(result) ? (_result$key = result[key]) != null ? _result$key : '' : '';\n });\n return result;\n}\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @function isEmpty\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\n\n\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n\n if (typeof value !== 'object') {\n return true;\n }\n\n return Object.keys(value).length === 0;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.BORDER_UNSET_TOP_BOTTOM = exports.BORDER_TOP_BOTTOM = exports.BORDER_SURROUND = exports.BORDER_BOTTOM = exports.BORDER_LEFT = exports.BORDER_TOP = exports.BORDER = exports.RED = void 0;\n// color\nvar RED = '#ee0a24'; // border\n\nexports.RED = RED;\nvar BORDER = 'van-hairline';\nexports.BORDER = BORDER;\nvar BORDER_TOP = BORDER + \"--top\";\nexports.BORDER_TOP = BORDER_TOP;\nvar BORDER_LEFT = BORDER + \"--left\";\nexports.BORDER_LEFT = BORDER_LEFT;\nvar BORDER_BOTTOM = BORDER + \"--bottom\";\nexports.BORDER_BOTTOM = BORDER_BOTTOM;\nvar BORDER_SURROUND = BORDER + \"--surround\";\nexports.BORDER_SURROUND = BORDER_SURROUND;\nvar BORDER_TOP_BOTTOM = BORDER + \"--top-bottom\";\nexports.BORDER_TOP_BOTTOM = BORDER_TOP_BOTTOM;\nvar BORDER_UNSET_TOP_BOTTOM = BORDER + \"-unset--top-bottom\";\nexports.BORDER_UNSET_TOP_BOTTOM = BORDER_UNSET_TOP_BOTTOM;","\"use strict\";\n\nexports.__esModule = true;\nexports.BindEventMixin = BindEventMixin;\n\nvar _event = require(\"../utils/dom/event\");\n\n/**\n * Bind event when mounted or activated\n */\nvar uid = 0;\n\nfunction BindEventMixin(handler) {\n var key = \"binded_\" + uid++;\n\n function bind() {\n if (!this[key]) {\n handler.call(this, _event.on, true);\n this[key] = true;\n }\n }\n\n function unbind() {\n if (this[key]) {\n handler.call(this, _event.off, false);\n this[key] = false;\n }\n }\n\n return {\n mounted: bind,\n activated: bind,\n deactivated: unbind,\n beforeDestroy: unbind\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.PopupMixin = PopupMixin;\nexports.popupMixinProps = void 0;\n\nvar _context = require(\"./context\");\n\nvar _overlay = require(\"./overlay\");\n\nvar _event = require(\"../../utils/dom/event\");\n\nvar _node = require(\"../../utils/dom/node\");\n\nvar _scroll = require(\"../../utils/dom/scroll\");\n\nvar _touch = require(\"../touch\");\n\nvar _portal = require(\"../portal\");\n\nvar _closeOnPopstate = require(\"../close-on-popstate\");\n\n// Context\n// Utils\n// Mixins\nvar popupMixinProps = {\n // Initial rendering animation\n transitionAppear: Boolean,\n // whether to show popup\n value: Boolean,\n // whether to show overlay\n overlay: Boolean,\n // overlay custom style\n overlayStyle: Object,\n // overlay custom class name\n overlayClass: String,\n // whether to close popup when overlay is clicked\n closeOnClickOverlay: Boolean,\n // z-index\n zIndex: [Number, String],\n // prevent body scroll\n lockScroll: {\n type: Boolean,\n default: true\n },\n // whether to lazy render\n lazyRender: {\n type: Boolean,\n default: true\n }\n};\nexports.popupMixinProps = popupMixinProps;\n\nfunction PopupMixin(options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n mixins: [_touch.TouchMixin, _closeOnPopstate.CloseOnPopstateMixin, (0, _portal.PortalMixin)({\n afterPortal: function afterPortal() {\n if (this.overlay) {\n (0, _overlay.updateOverlay)();\n }\n }\n })],\n provide: function provide() {\n return {\n vanPopup: this\n };\n },\n props: popupMixinProps,\n data: function data() {\n this.onReopenCallback = [];\n return {\n inited: this.value\n };\n },\n computed: {\n shouldRender: function shouldRender() {\n return this.inited || !this.lazyRender;\n }\n },\n watch: {\n value: function value(val) {\n var type = val ? 'open' : 'close';\n this.inited = this.inited || this.value;\n this[type]();\n\n if (!options.skipToggleEvent) {\n this.$emit(type);\n }\n },\n overlay: 'renderOverlay'\n },\n mounted: function mounted() {\n if (this.value) {\n this.open();\n }\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n if (this.shouldReopen) {\n this.$emit('input', true);\n this.shouldReopen = false;\n }\n },\n beforeDestroy: function beforeDestroy() {\n (0, _overlay.removeOverlay)(this);\n\n if (this.opened) {\n this.removeLock();\n }\n\n if (this.getContainer) {\n (0, _node.removeNode)(this.$el);\n }\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n if (this.value) {\n this.close();\n this.shouldReopen = true;\n }\n },\n methods: {\n open: function open() {\n /* istanbul ignore next */\n if (this.$isServer || this.opened) {\n return;\n } // cover default zIndex\n\n\n if (this.zIndex !== undefined) {\n _context.context.zIndex = this.zIndex;\n }\n\n this.opened = true;\n this.renderOverlay();\n this.addLock();\n this.onReopenCallback.forEach(function (callback) {\n callback();\n });\n },\n addLock: function addLock() {\n if (this.lockScroll) {\n (0, _event.on)(document, 'touchstart', this.touchStart);\n (0, _event.on)(document, 'touchmove', this.onTouchMove);\n\n if (!_context.context.lockCount) {\n document.body.classList.add('van-overflow-hidden');\n }\n\n _context.context.lockCount++;\n }\n },\n removeLock: function removeLock() {\n if (this.lockScroll && _context.context.lockCount) {\n _context.context.lockCount--;\n (0, _event.off)(document, 'touchstart', this.touchStart);\n (0, _event.off)(document, 'touchmove', this.onTouchMove);\n\n if (!_context.context.lockCount) {\n document.body.classList.remove('van-overflow-hidden');\n }\n }\n },\n close: function close() {\n if (!this.opened) {\n return;\n }\n\n (0, _overlay.closeOverlay)(this);\n this.opened = false;\n this.removeLock();\n this.$emit('input', false);\n },\n onTouchMove: function onTouchMove(event) {\n this.touchMove(event);\n var direction = this.deltaY > 0 ? '10' : '01';\n var el = (0, _scroll.getScroller)(event.target, this.$el);\n var scrollHeight = el.scrollHeight,\n offsetHeight = el.offsetHeight,\n scrollTop = el.scrollTop;\n var status = '11';\n /* istanbul ignore next */\n\n if (scrollTop === 0) {\n status = offsetHeight >= scrollHeight ? '00' : '01';\n } else if (scrollTop + offsetHeight >= scrollHeight) {\n status = '10';\n }\n /* istanbul ignore next */\n\n\n if (status !== '11' && this.direction === 'vertical' && !(parseInt(status, 2) & parseInt(direction, 2))) {\n (0, _event.preventDefault)(event, true);\n }\n },\n renderOverlay: function renderOverlay() {\n var _this = this;\n\n if (this.$isServer || !this.value) {\n return;\n }\n\n this.$nextTick(function () {\n _this.updateZIndex(_this.overlay ? 1 : 0);\n\n if (_this.overlay) {\n (0, _overlay.openOverlay)(_this, {\n zIndex: _context.context.zIndex++,\n duration: _this.duration,\n className: _this.overlayClass,\n customStyle: _this.overlayStyle\n });\n } else {\n (0, _overlay.closeOverlay)(_this);\n }\n });\n },\n updateZIndex: function updateZIndex(value) {\n if (value === void 0) {\n value = 0;\n }\n\n this.$el.style.zIndex = ++_context.context.zIndex + value;\n },\n onReopen: function onReopen(callback) {\n this.onReopenCallback.push(callback);\n }\n }\n };\n}","import { isPromise, noop } from '.';\nexport function callInterceptor(options) {\n var interceptor = options.interceptor,\n args = options.args,\n done = options.done;\n\n if (interceptor) {\n var returnVal = interceptor.apply(void 0, args);\n\n if (isPromise(returnVal)) {\n returnVal.then(function (value) {\n if (value) {\n done();\n }\n }).catch(noop);\n } else if (returnVal) {\n done();\n }\n } else {\n done();\n }\n}","// color\nexport var RED = '#ee0a24'; // border\n\nexport var BORDER = 'van-hairline';\nexport var BORDER_TOP = BORDER + \"--top\";\nexport var BORDER_LEFT = BORDER + \"--left\";\nexport var BORDER_BOTTOM = BORDER + \"--bottom\";\nexport var BORDER_SURROUND = BORDER + \"--surround\";\nexport var BORDER_TOP_BOTTOM = BORDER + \"--top-bottom\";\nexport var BORDER_UNSET_TOP_BOTTOM = BORDER + \"-unset--top-bottom\";","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace, addUnit } from '../utils';\nimport { inherit } from '../utils/functional'; // Components\n\nimport Info from '../info'; // Types\n\nvar _createNamespace = createNamespace('icon'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction isImage(name) {\n return name ? name.indexOf('/') !== -1 : false;\n} // compatible with legacy usage, should be removed in next major version\n\n\nvar LEGACY_MAP = {\n medel: 'medal',\n 'medel-o': 'medal-o',\n 'calender-o': 'calendar-o'\n};\n\nfunction correctName(name) {\n return name && LEGACY_MAP[name] || name;\n}\n\nfunction Icon(h, props, slots, ctx) {\n var _props$badge;\n\n var name = correctName(props.name);\n var imageIcon = isImage(name);\n\n if (process.env.NODE_ENV === 'development' && props.info) {\n console.warn('[Vant] Icon: \"info\" prop is deprecated, use \"badge\" prop instead.');\n }\n\n return h(props.tag, _mergeJSXProps([{\n \"class\": [props.classPrefix, imageIcon ? '' : props.classPrefix + \"-\" + name],\n \"style\": {\n color: props.color,\n fontSize: addUnit(props.size)\n }\n }, inherit(ctx, true)]), [slots.default && slots.default(), imageIcon && h(\"img\", {\n \"class\": bem('image'),\n \"attrs\": {\n \"src\": name\n }\n }), h(Info, {\n \"attrs\": {\n \"dot\": props.dot,\n \"info\": (_props$badge = props.badge) != null ? _props$badge : props.info\n }\n })]);\n}\n\nIcon.props = {\n dot: Boolean,\n name: String,\n size: [Number, String],\n // @deprecated\n // should be removed in next major version\n info: [Number, String],\n badge: [Number, String],\n color: String,\n tag: {\n type: String,\n default: 'i'\n },\n classPrefix: {\n type: String,\n default: bem()\n }\n};\nexport default createComponent(Icon);","import { on } from '../utils/dom/event';\n\nfunction getDirection(x, y) {\n if (x > y) {\n return 'horizontal';\n }\n\n if (y > x) {\n return 'vertical';\n }\n\n return '';\n}\n\nexport var TouchMixin = {\n data: function data() {\n return {\n direction: ''\n };\n },\n methods: {\n touchStart: function touchStart(event) {\n this.resetTouchStatus();\n this.startX = event.touches[0].clientX;\n this.startY = event.touches[0].clientY;\n },\n touchMove: function touchMove(event) {\n var touch = event.touches[0]; // safari back will set clientX to negative number\n\n this.deltaX = touch.clientX < 0 ? 0 : touch.clientX - this.startX;\n this.deltaY = touch.clientY - this.startY;\n this.offsetX = Math.abs(this.deltaX);\n this.offsetY = Math.abs(this.deltaY); // lock direction when distance is greater than a certain value\n\n var LOCK_DIRECTION_DISTANCE = 10;\n\n if (!this.direction || this.offsetX < LOCK_DIRECTION_DISTANCE && this.offsetY < LOCK_DIRECTION_DISTANCE) {\n this.direction = getDirection(this.offsetX, this.offsetY);\n }\n },\n resetTouchStatus: function resetTouchStatus() {\n this.direction = '';\n this.deltaX = 0;\n this.deltaY = 0;\n this.offsetX = 0;\n this.offsetY = 0;\n },\n // avoid Vue 2.6 event bubble issues by manually binding events\n // https://github.com/vant-ui/vant/issues/3015\n bindTouchEvent: function bindTouchEvent(el) {\n var onTouchStart = this.onTouchStart,\n onTouchMove = this.onTouchMove,\n onTouchEnd = this.onTouchEnd;\n on(el, 'touchstart', onTouchStart);\n on(el, 'touchmove', onTouchMove);\n\n if (onTouchEnd) {\n on(el, 'touchend', onTouchEnd);\n on(el, 'touchcancel', onTouchEnd);\n }\n }\n }\n};","/**\n * requestAnimationFrame polyfill\n */\nimport { isServer } from '..';\nvar prev = Date.now();\n/* istanbul ignore next */\n\nfunction fallback(fn) {\n var curr = Date.now();\n var ms = Math.max(0, 16 - (curr - prev));\n var id = setTimeout(fn, ms);\n prev = curr + ms;\n return id;\n}\n/* istanbul ignore next */\n\n\nvar root = isServer ? global : window;\n/* istanbul ignore next */\n\nvar iRaf = root.requestAnimationFrame || fallback;\n/* istanbul ignore next */\n\nvar iCancel = root.cancelAnimationFrame || root.clearTimeout;\nexport function raf(fn) {\n return iRaf.call(root, fn);\n} // double raf for animation\n\nexport function doubleRaf(fn) {\n raf(function () {\n raf(fn);\n });\n}\nexport function cancelRaf(id) {\n iCancel.call(root, id);\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _babelHelperVueJsxMergeProps = _interopRequireDefault(require(\"@vue/babel-helper-vue-jsx-merge-props\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _resetScroll = require(\"../utils/dom/reset-scroll\");\n\nvar _number = require(\"../utils/format/number\");\n\nvar _event = require(\"../utils/dom/event\");\n\nvar _scroll = require(\"../utils/dom/scroll\");\n\nvar _utils = require(\"../utils\");\n\nvar _icon = _interopRequireDefault(require(\"../icon\"));\n\nvar _cell = _interopRequireDefault(require(\"../cell\"));\n\nvar _shared = require(\"../cell/shared\");\n\n// Utils\n// Components\nvar _createNamespace = (0, _utils.createNamespace)('field'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar _default = createComponent({\n inheritAttrs: false,\n provide: function provide() {\n return {\n vanField: this\n };\n },\n inject: {\n vanForm: {\n default: null\n }\n },\n props: (0, _extends2.default)({}, _shared.cellProps, {\n name: String,\n rules: Array,\n disabled: {\n type: Boolean,\n default: null\n },\n readonly: {\n type: Boolean,\n default: null\n },\n autosize: [Boolean, Object],\n leftIcon: String,\n rightIcon: String,\n clearable: Boolean,\n formatter: Function,\n maxlength: [Number, String],\n labelWidth: [Number, String],\n labelClass: null,\n labelAlign: String,\n inputAlign: String,\n placeholder: String,\n errorMessage: String,\n errorMessageAlign: String,\n showWordLimit: Boolean,\n value: {\n type: [Number, String],\n default: ''\n },\n type: {\n type: String,\n default: 'text'\n },\n error: {\n type: Boolean,\n default: null\n },\n colon: {\n type: Boolean,\n default: null\n },\n clearTrigger: {\n type: String,\n default: 'focus'\n },\n formatTrigger: {\n type: String,\n default: 'onChange'\n }\n }),\n data: function data() {\n return {\n focused: false,\n validateFailed: false,\n validateMessage: ''\n };\n },\n watch: {\n value: function value() {\n this.updateValue(this.value);\n this.resetValidation();\n this.validateWithTrigger('onChange');\n this.$nextTick(this.adjustSize);\n }\n },\n mounted: function mounted() {\n this.updateValue(this.value, this.formatTrigger);\n this.$nextTick(this.adjustSize);\n\n if (this.vanForm) {\n this.vanForm.addField(this);\n }\n },\n beforeDestroy: function beforeDestroy() {\n if (this.vanForm) {\n this.vanForm.removeField(this);\n }\n },\n computed: {\n showClear: function showClear() {\n var readonly = this.getProp('readonly');\n\n if (this.clearable && !readonly) {\n var hasValue = (0, _utils.isDef)(this.value) && this.value !== '';\n var trigger = this.clearTrigger === 'always' || this.clearTrigger === 'focus' && this.focused;\n return hasValue && trigger;\n }\n },\n showError: function showError() {\n if (this.error !== null) {\n return this.error;\n }\n\n if (this.vanForm && this.vanForm.showError && this.validateFailed) {\n return true;\n }\n },\n listeners: function listeners() {\n return (0, _extends2.default)({}, this.$listeners, {\n blur: this.onBlur,\n focus: this.onFocus,\n input: this.onInput,\n click: this.onClickInput,\n keypress: this.onKeypress\n });\n },\n labelStyle: function labelStyle() {\n var labelWidth = this.getProp('labelWidth');\n\n if (labelWidth) {\n return {\n width: (0, _utils.addUnit)(labelWidth)\n };\n }\n },\n formValue: function formValue() {\n if (this.children && (this.$scopedSlots.input || this.$slots.input)) {\n return this.children.value;\n }\n\n return this.value;\n }\n },\n methods: {\n // @exposed-api\n focus: function focus() {\n if (this.$refs.input) {\n this.$refs.input.focus();\n }\n },\n // @exposed-api\n blur: function blur() {\n if (this.$refs.input) {\n this.$refs.input.blur();\n }\n },\n runValidator: function runValidator(value, rule) {\n return new Promise(function (resolve) {\n var returnVal = rule.validator(value, rule);\n\n if ((0, _utils.isPromise)(returnVal)) {\n return returnVal.then(resolve);\n }\n\n resolve(returnVal);\n });\n },\n isEmptyValue: function isEmptyValue(value) {\n if (Array.isArray(value)) {\n return !value.length;\n }\n\n if (value === 0) {\n return false;\n }\n\n return !value;\n },\n runSyncRule: function runSyncRule(value, rule) {\n if (rule.required && this.isEmptyValue(value)) {\n return false;\n }\n\n if (rule.pattern && !rule.pattern.test(value)) {\n return false;\n }\n\n return true;\n },\n getRuleMessage: function getRuleMessage(value, rule) {\n var message = rule.message;\n\n if ((0, _utils.isFunction)(message)) {\n return message(value, rule);\n }\n\n return message;\n },\n runRules: function runRules(rules) {\n var _this = this;\n\n return rules.reduce(function (promise, rule) {\n return promise.then(function () {\n if (_this.validateFailed) {\n return;\n }\n\n var value = _this.formValue;\n\n if (rule.formatter) {\n value = rule.formatter(value, rule);\n }\n\n if (!_this.runSyncRule(value, rule)) {\n _this.validateFailed = true;\n _this.validateMessage = _this.getRuleMessage(value, rule);\n return;\n }\n\n if (rule.validator) {\n return _this.runValidator(value, rule).then(function (result) {\n if (result === false) {\n _this.validateFailed = true;\n _this.validateMessage = _this.getRuleMessage(value, rule);\n }\n });\n }\n });\n }, Promise.resolve());\n },\n validate: function validate(rules) {\n var _this2 = this;\n\n if (rules === void 0) {\n rules = this.rules;\n }\n\n return new Promise(function (resolve) {\n if (!rules) {\n resolve();\n }\n\n _this2.resetValidation();\n\n _this2.runRules(rules).then(function () {\n if (_this2.validateFailed) {\n resolve({\n name: _this2.name,\n message: _this2.validateMessage\n });\n } else {\n resolve();\n }\n });\n });\n },\n validateWithTrigger: function validateWithTrigger(trigger) {\n if (this.vanForm && this.rules) {\n var defaultTrigger = this.vanForm.validateTrigger === trigger;\n var rules = this.rules.filter(function (rule) {\n if (rule.trigger) {\n return rule.trigger === trigger;\n }\n\n return defaultTrigger;\n });\n\n if (rules.length) {\n this.validate(rules);\n }\n }\n },\n resetValidation: function resetValidation() {\n if (this.validateFailed) {\n this.validateFailed = false;\n this.validateMessage = '';\n }\n },\n updateValue: function updateValue(value, trigger) {\n if (trigger === void 0) {\n trigger = 'onChange';\n }\n\n value = (0, _utils.isDef)(value) ? String(value) : ''; // native maxlength have incorrect line-break counting\n // see: https://github.com/vant-ui/vant/issues/5033\n\n var maxlength = this.maxlength;\n\n if ((0, _utils.isDef)(maxlength) && value.length > maxlength) {\n if (this.value && this.value.length === +maxlength) {\n value = this.value;\n } else {\n value = value.slice(0, maxlength);\n }\n }\n\n if (this.type === 'number' || this.type === 'digit') {\n var isNumber = this.type === 'number';\n value = (0, _number.formatNumber)(value, isNumber, isNumber);\n }\n\n if (this.formatter && trigger === this.formatTrigger) {\n value = this.formatter(value);\n }\n\n var input = this.$refs.input;\n\n if (input && value !== input.value) {\n input.value = value;\n }\n\n if (value !== this.value) {\n this.$emit('input', value);\n }\n },\n onInput: function onInput(event) {\n // not update v-model when composing\n if (event.target.composing) {\n return;\n }\n\n this.updateValue(event.target.value);\n },\n onFocus: function onFocus(event) {\n this.focused = true;\n this.$emit('focus', event); // https://github.com/vant-ui/vant/issues/9715\n\n this.$nextTick(this.adjustSize); // readonly not work in legacy mobile safari\n\n /* istanbul ignore if */\n\n if (this.getProp('readonly')) {\n this.blur();\n }\n },\n onBlur: function onBlur(event) {\n if (this.getProp('readonly')) {\n return;\n }\n\n this.focused = false;\n this.updateValue(this.value, 'onBlur');\n this.$emit('blur', event);\n this.validateWithTrigger('onBlur');\n this.$nextTick(this.adjustSize);\n (0, _resetScroll.resetScroll)();\n },\n onClick: function onClick(event) {\n this.$emit('click', event);\n },\n onClickInput: function onClickInput(event) {\n this.$emit('click-input', event);\n },\n onClickLeftIcon: function onClickLeftIcon(event) {\n this.$emit('click-left-icon', event);\n },\n onClickRightIcon: function onClickRightIcon(event) {\n this.$emit('click-right-icon', event);\n },\n onClear: function onClear(event) {\n (0, _event.preventDefault)(event);\n this.$emit('input', '');\n this.$emit('clear', event);\n },\n onKeypress: function onKeypress(event) {\n var ENTER_CODE = 13;\n\n if (event.keyCode === ENTER_CODE) {\n var submitOnEnter = this.getProp('submitOnEnter');\n\n if (!submitOnEnter && this.type !== 'textarea') {\n (0, _event.preventDefault)(event);\n } // trigger blur after click keyboard search button\n\n\n if (this.type === 'search') {\n this.blur();\n }\n }\n\n this.$emit('keypress', event);\n },\n adjustSize: function adjustSize() {\n var input = this.$refs.input;\n\n if (!(this.type === 'textarea' && this.autosize) || !input) {\n return;\n }\n\n var scrollTop = (0, _scroll.getRootScrollTop)();\n input.style.height = 'auto';\n var height = input.scrollHeight;\n\n if ((0, _utils.isObject)(this.autosize)) {\n var _this$autosize = this.autosize,\n maxHeight = _this$autosize.maxHeight,\n minHeight = _this$autosize.minHeight;\n\n if (maxHeight) {\n height = Math.min(height, maxHeight);\n }\n\n if (minHeight) {\n height = Math.max(height, minHeight);\n }\n }\n\n if (height) {\n input.style.height = height + 'px'; // https://github.com/vant-ui/vant/issues/9178\n\n (0, _scroll.setRootScrollTop)(scrollTop);\n }\n },\n genInput: function genInput() {\n var h = this.$createElement;\n var type = this.type;\n var disabled = this.getProp('disabled');\n var readonly = this.getProp('readonly');\n var inputSlot = this.slots('input');\n var inputAlign = this.getProp('inputAlign');\n\n if (inputSlot) {\n return h(\"div\", {\n \"class\": bem('control', [inputAlign, 'custom']),\n \"on\": {\n \"click\": this.onClickInput\n }\n }, [inputSlot]);\n }\n\n var inputProps = {\n ref: 'input',\n class: bem('control', inputAlign),\n domProps: {\n value: this.value\n },\n attrs: (0, _extends2.default)({}, this.$attrs, {\n name: this.name,\n disabled: disabled,\n readonly: readonly,\n placeholder: this.placeholder\n }),\n on: this.listeners,\n // add model directive to skip IME composition\n directives: [{\n name: 'model',\n value: this.value\n }]\n };\n\n if (type === 'textarea') {\n return h(\"textarea\", (0, _babelHelperVueJsxMergeProps.default)([{}, inputProps]));\n }\n\n var inputType = type;\n var inputMode; // type=\"number\" is weird in iOS, and can't prevent dot in Android\n // so use inputmode to set keyboard in modern browsers\n\n if (type === 'number') {\n inputType = 'text';\n inputMode = 'decimal';\n }\n\n if (type === 'digit') {\n inputType = 'tel';\n inputMode = 'numeric';\n }\n\n return h(\"input\", (0, _babelHelperVueJsxMergeProps.default)([{\n \"attrs\": {\n \"type\": inputType,\n \"inputmode\": inputMode\n }\n }, inputProps]));\n },\n genLeftIcon: function genLeftIcon() {\n var h = this.$createElement;\n var showLeftIcon = this.slots('left-icon') || this.leftIcon;\n\n if (showLeftIcon) {\n return h(\"div\", {\n \"class\": bem('left-icon'),\n \"on\": {\n \"click\": this.onClickLeftIcon\n }\n }, [this.slots('left-icon') || h(_icon.default, {\n \"attrs\": {\n \"name\": this.leftIcon,\n \"classPrefix\": this.iconPrefix\n }\n })]);\n }\n },\n genRightIcon: function genRightIcon() {\n var h = this.$createElement;\n var slots = this.slots;\n var showRightIcon = slots('right-icon') || this.rightIcon;\n\n if (showRightIcon) {\n return h(\"div\", {\n \"class\": bem('right-icon'),\n \"on\": {\n \"click\": this.onClickRightIcon\n }\n }, [slots('right-icon') || h(_icon.default, {\n \"attrs\": {\n \"name\": this.rightIcon,\n \"classPrefix\": this.iconPrefix\n }\n })]);\n }\n },\n genWordLimit: function genWordLimit() {\n var h = this.$createElement;\n\n if (this.showWordLimit && this.maxlength) {\n var count = (this.value || '').length;\n return h(\"div\", {\n \"class\": bem('word-limit')\n }, [h(\"span\", {\n \"class\": bem('word-num')\n }, [count]), \"/\", this.maxlength]);\n }\n },\n genMessage: function genMessage() {\n var h = this.$createElement;\n\n if (this.vanForm && this.vanForm.showErrorMessage === false) {\n return;\n }\n\n var message = this.errorMessage || this.validateMessage;\n\n if (message) {\n var errorMessageAlign = this.getProp('errorMessageAlign');\n return h(\"div\", {\n \"class\": bem('error-message', errorMessageAlign)\n }, [message]);\n }\n },\n getProp: function getProp(key) {\n if ((0, _utils.isDef)(this[key])) {\n return this[key];\n }\n\n if (this.vanForm && (0, _utils.isDef)(this.vanForm[key])) {\n return this.vanForm[key];\n }\n },\n genLabel: function genLabel() {\n var h = this.$createElement;\n var colon = this.getProp('colon') ? ':' : '';\n\n if (this.slots('label')) {\n return [this.slots('label'), colon];\n }\n\n if (this.label) {\n return h(\"span\", [this.label + colon]);\n }\n }\n },\n render: function render() {\n var _bem;\n\n var h = arguments[0];\n var slots = this.slots;\n var disabled = this.getProp('disabled');\n var labelAlign = this.getProp('labelAlign');\n var scopedSlots = {\n icon: this.genLeftIcon\n };\n var Label = this.genLabel();\n\n if (Label) {\n scopedSlots.title = function () {\n return Label;\n };\n }\n\n var extra = this.slots('extra');\n\n if (extra) {\n scopedSlots.extra = function () {\n return extra;\n };\n }\n\n return h(_cell.default, {\n \"attrs\": {\n \"icon\": this.leftIcon,\n \"size\": this.size,\n \"center\": this.center,\n \"border\": this.border,\n \"isLink\": this.isLink,\n \"required\": this.required,\n \"clickable\": this.clickable,\n \"titleStyle\": this.labelStyle,\n \"valueClass\": bem('value'),\n \"titleClass\": [bem('label', labelAlign), this.labelClass],\n \"arrowDirection\": this.arrowDirection\n },\n \"scopedSlots\": scopedSlots,\n \"class\": bem((_bem = {\n error: this.showError,\n disabled: disabled\n }, _bem[\"label-\" + labelAlign] = labelAlign, _bem['min-height'] = this.type === 'textarea' && !this.autosize, _bem)),\n \"on\": {\n \"click\": this.onClick\n }\n }, [h(\"div\", {\n \"class\": bem('body')\n }, [this.genInput(), this.showClear && h(_icon.default, {\n \"attrs\": {\n \"name\": \"clear\"\n },\n \"class\": bem('clear'),\n \"on\": {\n \"touchstart\": this.onClear\n }\n }), this.genRightIcon(), slots('button') && h(\"div\", {\n \"class\": bem('button')\n }, [slots('button')])]), this.genWordLimit(), this.genMessage()]);\n }\n});\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.addUnit = addUnit;\nexports.unitToPx = unitToPx;\n\nvar _ = require(\"..\");\n\nvar _number = require(\"../validate/number\");\n\nfunction addUnit(value) {\n if (!(0, _.isDef)(value)) {\n return undefined;\n }\n\n value = String(value);\n return (0, _number.isNumeric)(value) ? value + \"px\" : value;\n} // cache\n\n\nvar rootFontSize;\n\nfunction getRootFontSize() {\n if (!rootFontSize) {\n var doc = document.documentElement;\n var fontSize = doc.style.fontSize || window.getComputedStyle(doc).fontSize;\n rootFontSize = parseFloat(fontSize);\n }\n\n return rootFontSize;\n}\n\nfunction convertRem(value) {\n value = value.replace(/rem/g, '');\n return +value * getRootFontSize();\n}\n\nfunction convertVw(value) {\n value = value.replace(/vw/g, '');\n return +value * window.innerWidth / 100;\n}\n\nfunction convertVh(value) {\n value = value.replace(/vh/g, '');\n return +value * window.innerHeight / 100;\n}\n\nfunction unitToPx(value) {\n if (typeof value === 'number') {\n return value;\n }\n\n if (_.inBrowser) {\n if (value.indexOf('rem') !== -1) {\n return convertRem(value);\n }\n\n if (value.indexOf('vw') !== -1) {\n return convertVw(value);\n }\n\n if (value.indexOf('vh') !== -1) {\n return convertVh(value);\n }\n }\n\n return parseFloat(value);\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.isHidden = isHidden;\n\nfunction isHidden(el) {\n var style = window.getComputedStyle(el);\n var hidden = style.display === 'none'; // offsetParent returns null in the following situations:\n // 1. The element or its parent element has the display property set to none.\n // 2. The element has the position property set to fixed\n\n var parentHidden = el.offsetParent === null && style.position !== 'fixed';\n return hidden || parentHidden;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.removeNode = removeNode;\n\nfunction removeNode(el) {\n var parent = el.parentNode;\n\n if (parent) {\n parent.removeChild(el);\n }\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.FieldMixin = void 0;\nvar FieldMixin = {\n inject: {\n vanField: {\n default: null\n }\n },\n watch: {\n value: function value() {\n var field = this.vanField;\n\n if (field) {\n field.resetValidation();\n field.validateWithTrigger('onChange');\n }\n }\n },\n created: function created() {\n var field = this.vanField;\n\n if (field && !field.children) {\n field.children = this;\n }\n }\n};\nexports.FieldMixin = FieldMixin;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _babelHelperVueJsxMergeProps = _interopRequireDefault(require(\"@vue/babel-helper-vue-jsx-merge-props\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _utils = require(\"../utils\");\n\nvar _functional = require(\"../utils/functional\");\n\nvar _popup = require(\"../mixins/popup\");\n\nvar _icon = _interopRequireDefault(require(\"../icon\"));\n\nvar _popup2 = _interopRequireDefault(require(\"../popup\"));\n\nvar _loading = _interopRequireDefault(require(\"../loading\"));\n\n// Utils\n// Mixins\n// Components\nvar _createNamespace = (0, _utils.createNamespace)('action-sheet'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction ActionSheet(h, props, slots, ctx) {\n var title = props.title,\n cancelText = props.cancelText,\n closeable = props.closeable;\n\n function onCancel() {\n (0, _functional.emit)(ctx, 'input', false);\n (0, _functional.emit)(ctx, 'cancel');\n }\n\n function Header() {\n if (title) {\n return h(\"div\", {\n \"class\": bem('header')\n }, [title, closeable && h(_icon.default, {\n \"attrs\": {\n \"name\": props.closeIcon\n },\n \"class\": bem('close'),\n \"on\": {\n \"click\": onCancel\n }\n })]);\n }\n }\n\n function Option(item, index) {\n var disabled = item.disabled,\n loading = item.loading,\n callback = item.callback;\n\n function onClickOption(event) {\n event.stopPropagation();\n\n if (disabled || loading) {\n return;\n }\n\n if (callback) {\n callback(item);\n }\n\n if (props.closeOnClickAction) {\n (0, _functional.emit)(ctx, 'input', false);\n }\n\n _vue.default.nextTick(function () {\n (0, _functional.emit)(ctx, 'select', item, index);\n });\n }\n\n function OptionContent() {\n if (loading) {\n return h(_loading.default, {\n \"class\": bem('loading-icon')\n });\n }\n\n return [h(\"span\", {\n \"class\": bem('name')\n }, [item.name]), item.subname && h(\"div\", {\n \"class\": bem('subname')\n }, [item.subname])];\n }\n\n return h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": [bem('item', {\n disabled: disabled,\n loading: loading\n }), item.className],\n \"style\": {\n color: item.color\n },\n \"on\": {\n \"click\": onClickOption\n }\n }, [OptionContent()]);\n }\n\n function CancelText() {\n if (cancelText) {\n return [h(\"div\", {\n \"class\": bem('gap')\n }), h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": bem('cancel'),\n \"on\": {\n \"click\": onCancel\n }\n }, [cancelText])];\n }\n }\n\n function Description() {\n var description = (slots.description == null ? void 0 : slots.description()) || props.description;\n\n if (description) {\n return h(\"div\", {\n \"class\": bem('description')\n }, [description]);\n }\n }\n\n return h(_popup2.default, (0, _babelHelperVueJsxMergeProps.default)([{\n \"class\": bem(),\n \"attrs\": {\n \"position\": \"bottom\",\n \"round\": props.round,\n \"value\": props.value,\n \"overlay\": props.overlay,\n \"duration\": props.duration,\n \"lazyRender\": props.lazyRender,\n \"lockScroll\": props.lockScroll,\n \"getContainer\": props.getContainer,\n \"closeOnPopstate\": props.closeOnPopstate,\n \"closeOnClickOverlay\": props.closeOnClickOverlay,\n \"safeAreaInsetBottom\": props.safeAreaInsetBottom\n }\n }, (0, _functional.inherit)(ctx, true)]), [Header(), Description(), h(\"div\", {\n \"class\": bem('content')\n }, [props.actions && props.actions.map(Option), slots.default == null ? void 0 : slots.default()]), CancelText()]);\n}\n\nActionSheet.props = (0, _extends2.default)({}, _popup.popupMixinProps, {\n title: String,\n actions: Array,\n duration: [Number, String],\n cancelText: String,\n description: String,\n getContainer: [String, Function],\n closeOnPopstate: Boolean,\n closeOnClickAction: Boolean,\n round: {\n type: Boolean,\n default: true\n },\n closeable: {\n type: Boolean,\n default: true\n },\n closeIcon: {\n type: String,\n default: 'cross'\n },\n safeAreaInsetBottom: {\n type: Boolean,\n default: true\n },\n overlay: {\n type: Boolean,\n default: true\n },\n closeOnClickOverlay: {\n type: Boolean,\n default: true\n }\n});\n\nvar _default = createComponent(ActionSheet);\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _babelHelperVueJsxMergeProps = _interopRequireDefault(require(\"@vue/babel-helper-vue-jsx-merge-props\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _utils = require(\"../utils\");\n\nvar _functional = require(\"../utils/functional\");\n\nvar _event = require(\"../utils/dom/event\");\n\nvar _field = _interopRequireDefault(require(\"../field\"));\n\n// Utils\n// Components\nvar _createNamespace = (0, _utils.createNamespace)('search'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nfunction Search(h, props, slots, ctx) {\n function Label() {\n if (slots.label || props.label) {\n return h(\"div\", {\n \"class\": bem('label')\n }, [slots.label ? slots.label() : props.label]);\n }\n }\n\n function Action() {\n if (!props.showAction) {\n return;\n }\n\n function onCancel() {\n if (slots.action) {\n return;\n }\n\n (0, _functional.emit)(ctx, 'input', '');\n (0, _functional.emit)(ctx, 'cancel');\n }\n\n return h(\"div\", {\n \"class\": bem('action'),\n \"attrs\": {\n \"role\": \"button\",\n \"tabindex\": \"0\"\n },\n \"on\": {\n \"click\": onCancel\n }\n }, [slots.action ? slots.action() : props.actionText || t('cancel')]);\n }\n\n var fieldData = {\n attrs: ctx.data.attrs,\n on: (0, _extends2.default)({}, ctx.listeners, {\n keypress: function keypress(event) {\n // press enter\n if (event.keyCode === 13) {\n (0, _event.preventDefault)(event);\n (0, _functional.emit)(ctx, 'search', props.value);\n }\n\n (0, _functional.emit)(ctx, 'keypress', event);\n }\n })\n };\n var inheritData = (0, _functional.inherit)(ctx);\n inheritData.attrs = undefined;\n return h(\"div\", (0, _babelHelperVueJsxMergeProps.default)([{\n \"class\": bem({\n 'show-action': props.showAction\n }),\n \"style\": {\n background: props.background\n }\n }, inheritData]), [slots.left == null ? void 0 : slots.left(), h(\"div\", {\n \"class\": bem('content', props.shape)\n }, [Label(), h(_field.default, (0, _babelHelperVueJsxMergeProps.default)([{\n \"attrs\": {\n \"type\": \"search\",\n \"border\": false,\n \"value\": props.value,\n \"leftIcon\": props.leftIcon,\n \"rightIcon\": props.rightIcon,\n \"clearable\": props.clearable,\n \"clearTrigger\": props.clearTrigger\n },\n \"scopedSlots\": {\n 'left-icon': slots['left-icon'],\n 'right-icon': slots['right-icon']\n }\n }, fieldData]))]), Action()]);\n}\n\nSearch.props = {\n value: String,\n label: String,\n rightIcon: String,\n actionText: String,\n background: String,\n showAction: Boolean,\n clearTrigger: String,\n shape: {\n type: String,\n default: 'square'\n },\n clearable: {\n type: Boolean,\n default: true\n },\n leftIcon: {\n type: String,\n default: 'search'\n }\n};\n\nvar _default = createComponent(Search);\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _deepAssign = require(\"../utils/deep-assign\");\n\nvar _zhCN = _interopRequireDefault(require(\"./lang/zh-CN\"));\n\nvar proto = _vue.default.prototype;\nvar defineReactive = _vue.default.util.defineReactive;\ndefineReactive(proto, '$vantLang', 'zh-CN');\ndefineReactive(proto, '$vantMessages', {\n 'zh-CN': _zhCN.default\n});\nvar _default = {\n messages: function messages() {\n return proto.$vantMessages[proto.$vantLang];\n },\n use: function use(lang, messages) {\n var _this$add;\n\n proto.$vantLang = lang;\n this.add((_this$add = {}, _this$add[lang] = messages, _this$add));\n },\n add: function add(messages) {\n if (messages === void 0) {\n messages = {};\n }\n\n (0, _deepAssign.deepAssign)(proto.$vantMessages, messages);\n }\n};\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.camelize = camelize;\nexports.padZero = padZero;\nvar camelizeRE = /-(\\w)/g;\n\nfunction camelize(str) {\n return str.replace(camelizeRE, function (_, c) {\n return c.toUpperCase();\n });\n}\n\nfunction padZero(num, targetLength) {\n if (targetLength === void 0) {\n targetLength = 2;\n }\n\n var str = num + '';\n\n while (str.length < targetLength) {\n str = '0' + str;\n }\n\n return str;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _babelHelperVueJsxMergeProps = _interopRequireDefault(require(\"@vue/babel-helper-vue-jsx-merge-props\"));\n\nvar _utils = require(\"../utils\");\n\nvar _functional = require(\"../utils/functional\");\n\n// Utils\nvar _createNamespace = (0, _utils.createNamespace)('info'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction Info(h, props, slots, ctx) {\n var dot = props.dot,\n info = props.info;\n var showInfo = (0, _utils.isDef)(info) && info !== '';\n\n if (!dot && !showInfo) {\n return;\n }\n\n return h(\"div\", (0, _babelHelperVueJsxMergeProps.default)([{\n \"class\": bem({\n dot: dot\n })\n }, (0, _functional.inherit)(ctx, true)]), [dot ? '' : props.info]);\n}\n\nInfo.props = {\n dot: Boolean,\n info: [Number, String]\n};\n\nvar _default = createComponent(Info);\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.TouchMixin = void 0;\n\nvar _event = require(\"../utils/dom/event\");\n\nfunction getDirection(x, y) {\n if (x > y) {\n return 'horizontal';\n }\n\n if (y > x) {\n return 'vertical';\n }\n\n return '';\n}\n\nvar TouchMixin = {\n data: function data() {\n return {\n direction: ''\n };\n },\n methods: {\n touchStart: function touchStart(event) {\n this.resetTouchStatus();\n this.startX = event.touches[0].clientX;\n this.startY = event.touches[0].clientY;\n },\n touchMove: function touchMove(event) {\n var touch = event.touches[0]; // safari back will set clientX to negative number\n\n this.deltaX = touch.clientX < 0 ? 0 : touch.clientX - this.startX;\n this.deltaY = touch.clientY - this.startY;\n this.offsetX = Math.abs(this.deltaX);\n this.offsetY = Math.abs(this.deltaY); // lock direction when distance is greater than a certain value\n\n var LOCK_DIRECTION_DISTANCE = 10;\n\n if (!this.direction || this.offsetX < LOCK_DIRECTION_DISTANCE && this.offsetY < LOCK_DIRECTION_DISTANCE) {\n this.direction = getDirection(this.offsetX, this.offsetY);\n }\n },\n resetTouchStatus: function resetTouchStatus() {\n this.direction = '';\n this.deltaX = 0;\n this.deltaY = 0;\n this.offsetX = 0;\n this.offsetY = 0;\n },\n // avoid Vue 2.6 event bubble issues by manually binding events\n // https://github.com/vant-ui/vant/issues/3015\n bindTouchEvent: function bindTouchEvent(el) {\n var onTouchStart = this.onTouchStart,\n onTouchMove = this.onTouchMove,\n onTouchEnd = this.onTouchEnd;\n (0, _event.on)(el, 'touchstart', onTouchStart);\n (0, _event.on)(el, 'touchmove', onTouchMove);\n\n if (onTouchEnd) {\n (0, _event.on)(el, 'touchend', onTouchEnd);\n (0, _event.on)(el, 'touchcancel', onTouchEnd);\n }\n }\n }\n};\nexports.TouchMixin = TouchMixin;","\"use strict\";\n\nexports.__esModule = true;\nexports.context = void 0;\nvar context = {\n zIndex: 2000,\n lockCount: 0,\n stack: [],\n find: function find(vm) {\n return this.stack.filter(function (item) {\n return item.vm === vm;\n })[0];\n },\n remove: function remove(vm) {\n var item = this.find(vm);\n if (!item) return;\n item.vm = null;\n item.overlay = null;\n var index = this.stack.indexOf(item);\n this.stack.splice(index, 1);\n }\n};\nexports.context = context;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _Dialog = _interopRequireDefault(require(\"./Dialog\"));\n\nvar _utils = require(\"../utils\");\n\nvar instance;\n\nfunction isInDocument(element) {\n return document.body.contains(element);\n}\n\nfunction initInstance() {\n if (instance) {\n instance.$destroy();\n }\n\n instance = new (_vue.default.extend(_Dialog.default))({\n el: document.createElement('div'),\n // avoid missing animation when first rendered\n propsData: {\n lazyRender: false\n }\n });\n instance.$on('input', function (value) {\n instance.value = value;\n });\n}\n\nfunction Dialog(options) {\n /* istanbul ignore if */\n if (_utils.isServer) {\n return Promise.resolve();\n }\n\n return new Promise(function (resolve, reject) {\n if (!instance || !isInDocument(instance.$el)) {\n initInstance();\n }\n\n (0, _extends2.default)(instance, Dialog.currentOptions, options, {\n resolve: resolve,\n reject: reject\n });\n });\n}\n\nDialog.defaultOptions = {\n value: true,\n title: '',\n width: '',\n theme: null,\n message: '',\n overlay: true,\n className: '',\n allowHtml: true,\n lockScroll: true,\n transition: 'van-dialog-bounce',\n beforeClose: null,\n overlayClass: '',\n overlayStyle: null,\n messageAlign: '',\n getContainer: 'body',\n cancelButtonText: '',\n cancelButtonColor: null,\n confirmButtonText: '',\n confirmButtonColor: null,\n showConfirmButton: true,\n showCancelButton: false,\n closeOnPopstate: true,\n closeOnClickOverlay: false,\n callback: function callback(action) {\n instance[action === 'confirm' ? 'resolve' : 'reject'](action);\n }\n};\nDialog.alert = Dialog;\n\nDialog.confirm = function (options) {\n return Dialog((0, _extends2.default)({\n showCancelButton: true\n }, options));\n};\n\nDialog.close = function () {\n if (instance) {\n instance.value = false;\n }\n};\n\nDialog.setDefaultOptions = function (options) {\n (0, _extends2.default)(Dialog.currentOptions, options);\n};\n\nDialog.resetDefaultOptions = function () {\n Dialog.currentOptions = (0, _extends2.default)({}, Dialog.defaultOptions);\n};\n\nDialog.resetDefaultOptions();\n\nDialog.install = function () {\n _vue.default.use(_Dialog.default);\n};\n\nDialog.Component = _Dialog.default;\n_vue.default.prototype.$dialog = Dialog;\nvar _default = Dialog;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _babelHelperVueJsxMergeProps = _interopRequireDefault(require(\"@vue/babel-helper-vue-jsx-merge-props\"));\n\nvar _utils = require(\"../utils\");\n\nvar _functional = require(\"../utils/functional\");\n\nvar _constant = require(\"../utils/constant\");\n\nvar _router = require(\"../utils/router\");\n\nvar _icon = _interopRequireDefault(require(\"../icon\"));\n\nvar _loading = _interopRequireDefault(require(\"../loading\"));\n\n// Utils\n// Components\nvar _createNamespace = (0, _utils.createNamespace)('button'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction Button(h, props, slots, ctx) {\n var _ref;\n\n var tag = props.tag,\n icon = props.icon,\n type = props.type,\n color = props.color,\n plain = props.plain,\n disabled = props.disabled,\n loading = props.loading,\n hairline = props.hairline,\n loadingText = props.loadingText,\n iconPosition = props.iconPosition;\n var style = {};\n\n if (color) {\n style.color = plain ? color : 'white';\n\n if (!plain) {\n // Use background instead of backgroundColor to make linear-gradient work\n style.background = color;\n } // hide border when color is linear-gradient\n\n\n if (color.indexOf('gradient') !== -1) {\n style.border = 0;\n } else {\n style.borderColor = color;\n }\n }\n\n function onClick(event) {\n if (props.loading) {\n event.preventDefault();\n }\n\n if (!loading && !disabled) {\n (0, _functional.emit)(ctx, 'click', event);\n (0, _router.functionalRoute)(ctx);\n }\n }\n\n function onTouchstart(event) {\n (0, _functional.emit)(ctx, 'touchstart', event);\n }\n\n var classes = [bem([type, props.size, {\n plain: plain,\n loading: loading,\n disabled: disabled,\n hairline: hairline,\n block: props.block,\n round: props.round,\n square: props.square\n }]), (_ref = {}, _ref[_constant.BORDER_SURROUND] = hairline, _ref)];\n\n function renderIcon() {\n if (loading) {\n return slots.loading ? slots.loading() : h(_loading.default, {\n \"class\": bem('loading'),\n \"attrs\": {\n \"size\": props.loadingSize,\n \"type\": props.loadingType,\n \"color\": \"currentColor\"\n }\n });\n }\n\n if (slots.icon) {\n return h(\"div\", {\n \"class\": bem('icon')\n }, [slots.icon()]);\n }\n\n if (icon) {\n return h(_icon.default, {\n \"attrs\": {\n \"name\": icon,\n \"classPrefix\": props.iconPrefix\n },\n \"class\": bem('icon')\n });\n }\n }\n\n function renderContent() {\n var content = [];\n\n if (iconPosition === 'left') {\n content.push(renderIcon());\n }\n\n var text;\n\n if (loading) {\n text = loadingText;\n } else {\n text = slots.default ? slots.default() : props.text;\n }\n\n if (text) {\n content.push(h(\"span\", {\n \"class\": bem('text')\n }, [text]));\n }\n\n if (iconPosition === 'right') {\n content.push(renderIcon());\n }\n\n return content;\n }\n\n return h(tag, (0, _babelHelperVueJsxMergeProps.default)([{\n \"style\": style,\n \"class\": classes,\n \"attrs\": {\n \"type\": props.nativeType,\n \"disabled\": disabled\n },\n \"on\": {\n \"click\": onClick,\n \"touchstart\": onTouchstart\n }\n }, (0, _functional.inherit)(ctx)]), [h(\"div\", {\n \"class\": bem('content')\n }, [renderContent()])]);\n}\n\nButton.props = (0, _extends2.default)({}, _router.routeProps, {\n text: String,\n icon: String,\n color: String,\n block: Boolean,\n plain: Boolean,\n round: Boolean,\n square: Boolean,\n loading: Boolean,\n hairline: Boolean,\n disabled: Boolean,\n iconPrefix: String,\n nativeType: String,\n loadingText: String,\n loadingType: String,\n tag: {\n type: String,\n default: 'button'\n },\n type: {\n type: String,\n default: 'default'\n },\n size: {\n type: String,\n default: 'normal'\n },\n loadingSize: {\n type: String,\n default: '20px'\n },\n iconPosition: {\n type: String,\n default: 'left'\n }\n});\n\nvar _default = createComponent(Button);\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.cellProps = void 0;\nvar cellProps = {\n icon: String,\n size: String,\n center: Boolean,\n isLink: Boolean,\n required: Boolean,\n iconPrefix: String,\n titleStyle: null,\n titleClass: null,\n valueClass: null,\n labelClass: null,\n title: [Number, String],\n value: [Number, String],\n label: [Number, String],\n arrowDirection: String,\n border: {\n type: Boolean,\n default: true\n },\n clickable: {\n type: Boolean,\n default: null\n }\n};\nexports.cellProps = cellProps;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _babelHelperVueJsxMergeProps = _interopRequireDefault(require(\"@vue/babel-helper-vue-jsx-merge-props\"));\n\nvar _utils = require(\"../utils\");\n\nvar _functional = require(\"../utils/functional\");\n\n// Utils\nvar _createNamespace = (0, _utils.createNamespace)('skeleton'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar DEFAULT_ROW_WIDTH = '100%';\nvar DEFAULT_LAST_ROW_WIDTH = '60%';\n\nfunction Skeleton(h, props, slots, ctx) {\n if (!props.loading) {\n return slots.default && slots.default();\n }\n\n function Title() {\n if (props.title) {\n return h(\"h3\", {\n \"class\": bem('title'),\n \"style\": {\n width: (0, _utils.addUnit)(props.titleWidth)\n }\n });\n }\n }\n\n function Rows() {\n var Rows = [];\n var rowWidth = props.rowWidth;\n\n function getRowWidth(index) {\n if (rowWidth === DEFAULT_ROW_WIDTH && index === +props.row - 1) {\n return DEFAULT_LAST_ROW_WIDTH;\n }\n\n if (Array.isArray(rowWidth)) {\n return rowWidth[index];\n }\n\n return rowWidth;\n }\n\n for (var i = 0; i < props.row; i++) {\n Rows.push(h(\"div\", {\n \"class\": bem('row'),\n \"style\": {\n width: (0, _utils.addUnit)(getRowWidth(i))\n }\n }));\n }\n\n return Rows;\n }\n\n function Avatar() {\n if (props.avatar) {\n var size = (0, _utils.addUnit)(props.avatarSize);\n return h(\"div\", {\n \"class\": bem('avatar', props.avatarShape),\n \"style\": {\n width: size,\n height: size\n }\n });\n }\n }\n\n return h(\"div\", (0, _babelHelperVueJsxMergeProps.default)([{\n \"class\": bem({\n animate: props.animate,\n round: props.round\n })\n }, (0, _functional.inherit)(ctx)]), [Avatar(), h(\"div\", {\n \"class\": bem('content')\n }, [Title(), Rows()])]);\n}\n\nSkeleton.props = {\n title: Boolean,\n round: Boolean,\n avatar: Boolean,\n titleWidth: [Number, String],\n avatarSize: [Number, String],\n row: {\n type: [Number, String],\n default: 0\n },\n loading: {\n type: Boolean,\n default: true\n },\n animate: {\n type: Boolean,\n default: true\n },\n avatarShape: {\n type: String,\n default: 'round'\n },\n rowWidth: {\n type: [Number, String, Array],\n default: DEFAULT_ROW_WIDTH\n }\n};\n\nvar _default = createComponent(Skeleton);\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _utils = require(\"../utils\");\n\nvar _popup = require(\"../mixins/popup\");\n\nvar _icon = _interopRequireDefault(require(\"../icon\"));\n\nvar _createNamespace = (0, _utils.createNamespace)('popup'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar _default = createComponent({\n mixins: [(0, _popup.PopupMixin)()],\n props: {\n round: Boolean,\n duration: [Number, String],\n closeable: Boolean,\n transition: String,\n safeAreaInsetBottom: Boolean,\n closeIcon: {\n type: String,\n default: 'cross'\n },\n closeIconPosition: {\n type: String,\n default: 'top-right'\n },\n position: {\n type: String,\n default: 'center'\n },\n overlay: {\n type: Boolean,\n default: true\n },\n closeOnClickOverlay: {\n type: Boolean,\n default: true\n }\n },\n beforeCreate: function beforeCreate() {\n var _this = this;\n\n var createEmitter = function createEmitter(eventName) {\n return function (event) {\n return _this.$emit(eventName, event);\n };\n };\n\n this.onClick = createEmitter('click');\n this.onOpened = createEmitter('opened');\n this.onClosed = createEmitter('closed');\n },\n methods: {\n onClickCloseIcon: function onClickCloseIcon(event) {\n this.$emit('click-close-icon', event);\n this.close();\n }\n },\n render: function render() {\n var _bem;\n\n var h = arguments[0];\n\n if (!this.shouldRender) {\n return;\n }\n\n var round = this.round,\n position = this.position,\n duration = this.duration;\n var isCenter = position === 'center';\n var transitionName = this.transition || (isCenter ? 'van-fade' : \"van-popup-slide-\" + position);\n var style = {};\n\n if ((0, _utils.isDef)(duration)) {\n var key = isCenter ? 'animationDuration' : 'transitionDuration';\n style[key] = duration + \"s\";\n }\n\n return h(\"transition\", {\n \"attrs\": {\n \"appear\": this.transitionAppear,\n \"name\": transitionName\n },\n \"on\": {\n \"afterEnter\": this.onOpened,\n \"afterLeave\": this.onClosed\n }\n }, [h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: this.value\n }],\n \"style\": style,\n \"class\": bem((_bem = {\n round: round\n }, _bem[position] = position, _bem['safe-area-inset-bottom'] = this.safeAreaInsetBottom, _bem)),\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.slots(), this.closeable && h(_icon.default, {\n \"attrs\": {\n \"role\": \"button\",\n \"tabindex\": \"0\",\n \"name\": this.closeIcon\n },\n \"class\": bem('close-icon', this.closeIconPosition),\n \"on\": {\n \"click\": this.onClickCloseIcon\n }\n })])]);\n }\n});\n\nexports.default = _default;","import { isServer } from '..';\n// eslint-disable-next-line import/no-mutable-exports\nexport var supportsPassive = false;\n\nif (!isServer) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', {\n // eslint-disable-next-line getter-return\n get: function get() {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n });\n window.addEventListener('test-passive', null, opts); // eslint-disable-next-line no-empty\n } catch (e) {}\n}\n\nexport function on(target, event, handler, passive) {\n if (passive === void 0) {\n passive = false;\n }\n\n if (!isServer) {\n target.addEventListener(event, handler, supportsPassive ? {\n capture: false,\n passive: passive\n } : false);\n }\n}\nexport function off(target, event, handler) {\n if (!isServer) {\n target.removeEventListener(event, handler);\n }\n}\nexport function stopPropagation(event) {\n event.stopPropagation();\n}\nexport function preventDefault(event, isStopPropagation) {\n /* istanbul ignore else */\n if (typeof event.cancelable !== 'boolean' || event.cancelable) {\n event.preventDefault();\n }\n\n if (isStopPropagation) {\n stopPropagation(event);\n }\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _babelHelperVueJsxMergeProps = _interopRequireDefault(require(\"@vue/babel-helper-vue-jsx-merge-props\"));\n\nvar _utils = require(\"../utils\");\n\nvar _functional = require(\"../utils/functional\");\n\nvar _router = require(\"../utils/router\");\n\nvar _shared = require(\"./shared\");\n\nvar _icon = _interopRequireDefault(require(\"../icon\"));\n\n// Utils\n// Components\nvar _createNamespace = (0, _utils.createNamespace)('cell'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction Cell(h, props, slots, ctx) {\n var _props$clickable;\n\n var icon = props.icon,\n size = props.size,\n title = props.title,\n label = props.label,\n value = props.value,\n isLink = props.isLink;\n var showTitle = slots.title || (0, _utils.isDef)(title);\n\n function Label() {\n var showLabel = slots.label || (0, _utils.isDef)(label);\n\n if (showLabel) {\n return h(\"div\", {\n \"class\": [bem('label'), props.labelClass]\n }, [slots.label ? slots.label() : label]);\n }\n }\n\n function Title() {\n if (showTitle) {\n return h(\"div\", {\n \"class\": [bem('title'), props.titleClass],\n \"style\": props.titleStyle\n }, [slots.title ? slots.title() : h(\"span\", [title]), Label()]);\n }\n }\n\n function Value() {\n var showValue = slots.default || (0, _utils.isDef)(value);\n\n if (showValue) {\n return h(\"div\", {\n \"class\": [bem('value', {\n alone: !showTitle\n }), props.valueClass]\n }, [slots.default ? slots.default() : h(\"span\", [value])]);\n }\n }\n\n function LeftIcon() {\n if (slots.icon) {\n return slots.icon();\n }\n\n if (icon) {\n return h(_icon.default, {\n \"class\": bem('left-icon'),\n \"attrs\": {\n \"name\": icon,\n \"classPrefix\": props.iconPrefix\n }\n });\n }\n }\n\n function RightIcon() {\n var rightIconSlot = slots['right-icon'];\n\n if (rightIconSlot) {\n return rightIconSlot();\n }\n\n if (isLink) {\n var arrowDirection = props.arrowDirection;\n return h(_icon.default, {\n \"class\": bem('right-icon'),\n \"attrs\": {\n \"name\": arrowDirection ? \"arrow-\" + arrowDirection : 'arrow'\n }\n });\n }\n }\n\n function onClick(event) {\n (0, _functional.emit)(ctx, 'click', event);\n (0, _router.functionalRoute)(ctx);\n }\n\n var clickable = (_props$clickable = props.clickable) != null ? _props$clickable : isLink;\n var classes = {\n clickable: clickable,\n center: props.center,\n required: props.required,\n borderless: !props.border\n };\n\n if (size) {\n classes[size] = size;\n }\n\n return h(\"div\", (0, _babelHelperVueJsxMergeProps.default)([{\n \"class\": bem(classes),\n \"attrs\": {\n \"role\": clickable ? 'button' : null,\n \"tabindex\": clickable ? 0 : null\n },\n \"on\": {\n \"click\": onClick\n }\n }, (0, _functional.inherit)(ctx)]), [LeftIcon(), Title(), Value(), RightIcon(), slots.extra == null ? void 0 : slots.extra()]);\n}\n\nCell.props = (0, _extends2.default)({}, _shared.cellProps, _router.routeProps);\n\nvar _default = createComponent(Cell);\n\nexports.default = _default;","function isWindow(val) {\n return val === window;\n} // get nearest scroll element\n// https://github.com/vant-ui/vant/issues/3823\n\n\nvar overflowScrollReg = /scroll|auto|overlay/i;\nexport function getScroller(el, root) {\n if (root === void 0) {\n root = window;\n }\n\n var node = el;\n\n while (node && node.tagName !== 'HTML' && node.tagName !== 'BODY' && node.nodeType === 1 && node !== root) {\n var _window$getComputedSt = window.getComputedStyle(node),\n overflowY = _window$getComputedSt.overflowY;\n\n if (overflowScrollReg.test(overflowY)) {\n return node;\n }\n\n node = node.parentNode;\n }\n\n return root;\n}\nexport function getScrollTop(el) {\n var top = 'scrollTop' in el ? el.scrollTop : el.pageYOffset; // iOS scroll bounce cause minus scrollTop\n\n return Math.max(top, 0);\n}\nexport function setScrollTop(el, value) {\n if ('scrollTop' in el) {\n el.scrollTop = value;\n } else {\n el.scrollTo(el.scrollX, value);\n }\n}\nexport function getRootScrollTop() {\n return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n}\nexport function setRootScrollTop(value) {\n setScrollTop(window, value);\n setScrollTop(document.body, value);\n} // get distance from element top to page top or scroller top\n\nexport function getElementTop(el, scroller) {\n if (isWindow(el)) {\n return 0;\n }\n\n var scrollTop = scroller ? getScrollTop(scroller) : getRootScrollTop();\n return el.getBoundingClientRect().top + scrollTop;\n}\nexport function getVisibleHeight(el) {\n if (isWindow(el)) {\n return el.innerHeight;\n }\n\n return el.getBoundingClientRect().height;\n}\nexport function getVisibleTop(el) {\n if (isWindow(el)) {\n return 0;\n }\n\n return el.getBoundingClientRect().top;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.createNamespace = createNamespace;\n\nvar _bem = require(\"./bem\");\n\nvar _component = require(\"./component\");\n\nvar _i18n = require(\"./i18n\");\n\nfunction createNamespace(name) {\n name = 'van-' + name;\n return [(0, _component.createComponent)(name), (0, _bem.createBEM)(name), (0, _i18n.createI18N)(name)];\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.createBEM = createBEM;\n\n/**\n * bem helper\n * b() // 'button'\n * b('text') // 'button__text'\n * b({ disabled }) // 'button button--disabled'\n * b('text', { disabled }) // 'button__text button__text--disabled'\n * b(['disabled', 'primary']) // 'button button--disabled button--primary'\n */\nfunction gen(name, mods) {\n if (!mods) {\n return '';\n }\n\n if (typeof mods === 'string') {\n return \" \" + name + \"--\" + mods;\n }\n\n if (Array.isArray(mods)) {\n return mods.reduce(function (ret, item) {\n return ret + gen(name, item);\n }, '');\n }\n\n return Object.keys(mods).reduce(function (ret, key) {\n return ret + (mods[key] ? gen(name, key) : '');\n }, '');\n}\n\nfunction createBEM(name) {\n return function (el, mods) {\n if (el && typeof el !== 'string') {\n mods = el;\n el = '';\n }\n\n el = el ? name + \"__\" + el : name;\n return \"\" + el + gen(el, mods);\n };\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.unifySlots = unifySlots;\nexports.createComponent = createComponent;\n\nrequire(\"../../locale\");\n\nvar _ = require(\"..\");\n\nvar _string = require(\"../format/string\");\n\nvar _slots = require(\"../../mixins/slots\");\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\n/**\n * Create a basic component with common options\n */\nfunction install(Vue) {\n var name = this.name;\n Vue.component(name, this);\n Vue.component((0, _string.camelize)(\"-\" + name), this);\n} // unify slots & scopedSlots\n\n\nfunction unifySlots(context) {\n // use data.scopedSlots in lower Vue version\n var scopedSlots = context.scopedSlots || context.data.scopedSlots || {};\n var slots = context.slots();\n Object.keys(slots).forEach(function (key) {\n if (!scopedSlots[key]) {\n scopedSlots[key] = function () {\n return slots[key];\n };\n }\n });\n return scopedSlots;\n} // should be removed after Vue 3\n\n\nfunction transformFunctionComponent(pure) {\n return {\n functional: true,\n props: pure.props,\n model: pure.model,\n render: function render(h, context) {\n return pure(h, context.props, unifySlots(context), context);\n }\n };\n}\n\nfunction createComponent(name) {\n return function (sfc) {\n if ((0, _.isFunction)(sfc)) {\n sfc = transformFunctionComponent(sfc);\n }\n\n if (!sfc.functional) {\n sfc.mixins = sfc.mixins || [];\n sfc.mixins.push(_slots.SlotsMixin);\n }\n\n sfc.name = name;\n sfc.install = install;\n return sfc;\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.deepAssign = deepAssign;\n\nvar _ = require(\".\");\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction assignKey(to, from, key) {\n var val = from[key];\n\n if (!(0, _.isDef)(val)) {\n return;\n }\n\n if (!hasOwnProperty.call(to, key) || !(0, _.isObject)(val)) {\n to[key] = val;\n } else {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n to[key] = deepAssign(Object(to[key]), from[key]);\n }\n}\n\nfunction deepAssign(to, from) {\n Object.keys(from).forEach(function (key) {\n assignKey(to, from, key);\n });\n return to;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar _default = {\n name: '姓名',\n tel: '电话',\n save: '保存',\n confirm: '确认',\n cancel: '取消',\n delete: '删除',\n complete: '完成',\n loading: '加载中...',\n telEmpty: '请填写电话',\n nameEmpty: '请填写姓名',\n nameInvalid: '请输入正确的姓名',\n confirmDelete: '确定要删除吗',\n telInvalid: '请输入正确的手机号',\n vanCalendar: {\n end: '结束',\n start: '开始',\n title: '日期选择',\n confirm: '确定',\n startEnd: '开始/结束',\n weekdays: ['日', '一', '二', '三', '四', '五', '六'],\n monthTitle: function monthTitle(year, month) {\n return year + \"\\u5E74\" + month + \"\\u6708\";\n },\n rangePrompt: function rangePrompt(maxRange) {\n return \"\\u9009\\u62E9\\u5929\\u6570\\u4E0D\\u80FD\\u8D85\\u8FC7 \" + maxRange + \" \\u5929\";\n }\n },\n vanCascader: {\n select: '请选择'\n },\n vanContactCard: {\n addText: '添加联系人'\n },\n vanContactList: {\n addText: '新建联系人'\n },\n vanPagination: {\n prev: '上一页',\n next: '下一页'\n },\n vanPullRefresh: {\n pulling: '下拉即可刷新...',\n loosing: '释放即可刷新...'\n },\n vanSubmitBar: {\n label: '合计:'\n },\n vanCoupon: {\n unlimited: '无使用门槛',\n discount: function discount(_discount) {\n return _discount + \"\\u6298\";\n },\n condition: function condition(_condition) {\n return \"\\u6EE1\" + _condition + \"\\u5143\\u53EF\\u7528\";\n }\n },\n vanCouponCell: {\n title: '优惠券',\n tips: '暂无可用',\n count: function count(_count) {\n return _count + \"\\u5F20\\u53EF\\u7528\";\n }\n },\n vanCouponList: {\n empty: '暂无优惠券',\n exchange: '兑换',\n close: '不使用优惠券',\n enable: '可用',\n disabled: '不可用',\n placeholder: '请输入优惠码'\n },\n vanAddressEdit: {\n area: '地区',\n postal: '邮政编码',\n areaEmpty: '请选择地区',\n addressEmpty: '请填写详细地址',\n postalEmpty: '邮政编码格式不正确',\n defaultAddress: '设为默认收货地址',\n telPlaceholder: '收货人手机号',\n namePlaceholder: '收货人姓名',\n areaPlaceholder: '选择省 / 市 / 区'\n },\n vanAddressEditDetail: {\n label: '详细地址',\n placeholder: '街道门牌、楼层房间号等信息'\n },\n vanAddressList: {\n add: '新增地址'\n }\n};\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.SlotsMixin = void 0;\n\n/**\n * Use scopedSlots in Vue 2.6+\n * downgrade to slots in lower version\n */\nvar SlotsMixin = {\n methods: {\n slots: function slots(name, props) {\n if (name === void 0) {\n name = 'default';\n }\n\n var $slots = this.$slots,\n $scopedSlots = this.$scopedSlots;\n var scopedSlot = $scopedSlots[name];\n\n if (scopedSlot) {\n return scopedSlot(props);\n }\n\n return $slots[name];\n }\n }\n};\nexports.SlotsMixin = SlotsMixin;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.createI18N = createI18N;\n\nvar _ = require(\"..\");\n\nvar _string = require(\"../format/string\");\n\nvar _locale = _interopRequireDefault(require(\"../../locale\"));\n\nfunction createI18N(name) {\n var prefix = (0, _string.camelize)(name) + '.';\n return function (path) {\n var messages = _locale.default.messages();\n\n var message = (0, _.get)(messages, prefix + path) || (0, _.get)(messages, path);\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return (0, _.isFunction)(message) ? message.apply(void 0, args) : message;\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.isNumeric = isNumeric;\nexports.isNaN = isNaN;\n\nfunction isNumeric(val) {\n return /^\\d+(\\.\\d+)?$/.test(val);\n}\n\nfunction isNaN(val) {\n if (Number.isNaN) {\n return Number.isNaN(val);\n } // eslint-disable-next-line no-self-compare\n\n\n return val !== val;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.scrollLeftTo = scrollLeftTo;\nexports.scrollTopTo = scrollTopTo;\n\nvar _raf = require(\"../utils/dom/raf\");\n\nvar _scroll = require(\"../utils/dom/scroll\");\n\nfunction scrollLeftTo(scroller, to, duration) {\n var count = 0;\n var from = scroller.scrollLeft;\n var frames = duration === 0 ? 1 : Math.round(duration * 1000 / 16);\n\n function animate() {\n scroller.scrollLeft += (to - from) / frames;\n\n if (++count < frames) {\n (0, _raf.raf)(animate);\n }\n }\n\n animate();\n}\n\nfunction scrollTopTo(scroller, to, duration, callback) {\n var current = (0, _scroll.getScrollTop)(scroller);\n var isDown = current < to;\n var frames = duration === 0 ? 1 : Math.round(duration * 1000 / 16);\n var step = (to - current) / frames;\n\n function animate() {\n current += step;\n\n if (isDown && current > to || !isDown && current < to) {\n current = to;\n }\n\n (0, _scroll.setScrollTop)(scroller, current);\n\n if (isDown && current < to || !isDown && current > to) {\n (0, _raf.raf)(animate);\n } else if (callback) {\n (0, _raf.raf)(callback);\n }\n }\n\n animate();\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.raf = raf;\nexports.doubleRaf = doubleRaf;\nexports.cancelRaf = cancelRaf;\n\nvar _ = require(\"..\");\n\n/**\n * requestAnimationFrame polyfill\n */\nvar prev = Date.now();\n/* istanbul ignore next */\n\nfunction fallback(fn) {\n var curr = Date.now();\n var ms = Math.max(0, 16 - (curr - prev));\n var id = setTimeout(fn, ms);\n prev = curr + ms;\n return id;\n}\n/* istanbul ignore next */\n\n\nvar root = _.isServer ? global : window;\n/* istanbul ignore next */\n\nvar iRaf = root.requestAnimationFrame || fallback;\n/* istanbul ignore next */\n\nvar iCancel = root.cancelAnimationFrame || root.clearTimeout;\n\nfunction raf(fn) {\n return iRaf.call(root, fn);\n} // double raf for animation\n\n\nfunction doubleRaf(fn) {\n raf(function () {\n raf(fn);\n });\n}\n\nfunction cancelRaf(id) {\n iCancel.call(root, id);\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.callInterceptor = callInterceptor;\n\nvar _ = require(\".\");\n\nfunction callInterceptor(options) {\n var interceptor = options.interceptor,\n args = options.args,\n done = options.done;\n\n if (interceptor) {\n var returnVal = interceptor.apply(void 0, args);\n\n if ((0, _.isPromise)(returnVal)) {\n returnVal.then(function (value) {\n if (value) {\n done();\n }\n }).catch(_.noop);\n } else if (returnVal) {\n done();\n }\n } else {\n done();\n }\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.sortChildren = sortChildren;\n\nfunction flattenVNodes(vnodes) {\n var result = [];\n\n function traverse(vnodes) {\n vnodes.forEach(function (vnode) {\n result.push(vnode);\n\n if (vnode.componentInstance) {\n traverse(vnode.componentInstance.$children.map(function (item) {\n return item.$vnode;\n }));\n }\n\n if (vnode.children) {\n traverse(vnode.children);\n }\n });\n }\n\n traverse(vnodes);\n return result;\n} // sort children instances by vnodes order\n\n\nfunction sortChildren(children, parent) {\n var componentOptions = parent.$vnode.componentOptions;\n\n if (!componentOptions || !componentOptions.children) {\n return;\n }\n\n var vnodes = flattenVNodes(componentOptions.children);\n children.sort(function (a, b) {\n return vnodes.indexOf(a.$vnode) - vnodes.indexOf(b.$vnode);\n });\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _utils = require(\"../utils\");\n\nvar _info = _interopRequireDefault(require(\"../info\"));\n\nvar _createNamespace = (0, _utils.createNamespace)('tab'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar _default = createComponent({\n props: {\n dot: Boolean,\n type: String,\n info: [Number, String],\n color: String,\n title: String,\n isActive: Boolean,\n disabled: Boolean,\n scrollable: Boolean,\n activeColor: String,\n inactiveColor: String\n },\n computed: {\n style: function style() {\n var style = {};\n var color = this.color,\n isActive = this.isActive;\n var isCard = this.type === 'card'; // card theme color\n\n if (color && isCard) {\n style.borderColor = color;\n\n if (!this.disabled) {\n if (isActive) {\n style.backgroundColor = color;\n } else {\n style.color = color;\n }\n }\n }\n\n var titleColor = isActive ? this.activeColor : this.inactiveColor;\n\n if (titleColor) {\n style.color = titleColor;\n }\n\n return style;\n }\n },\n methods: {\n onClick: function onClick() {\n this.$emit('click');\n },\n genText: function genText() {\n var h = this.$createElement;\n var Text = h(\"span\", {\n \"class\": bem('text', {\n ellipsis: !this.scrollable\n })\n }, [this.slots() || this.title]);\n\n if (this.dot || (0, _utils.isDef)(this.info) && this.info !== '') {\n return h(\"span\", {\n \"class\": bem('text-wrapper')\n }, [Text, h(_info.default, {\n \"attrs\": {\n \"dot\": this.dot,\n \"info\": this.info\n }\n })]);\n }\n\n return Text;\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"attrs\": {\n \"role\": \"tab\",\n \"aria-selected\": this.isActive\n },\n \"class\": [bem({\n active: this.isActive,\n disabled: this.disabled\n })],\n \"style\": this.style,\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.genText()]);\n }\n});\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _style = require(\"../utils/dom/style\");\n\nvar _unit = require(\"../utils/format/unit\");\n\nvar _utils = require(\"../utils\");\n\nvar _scroll = require(\"../utils/dom/scroll\");\n\nvar _bindEvent = require(\"../mixins/bind-event\");\n\nvar _createNamespace = (0, _utils.createNamespace)('sticky'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar _default = createComponent({\n mixins: [(0, _bindEvent.BindEventMixin)(function (bind, isBind) {\n if (!this.scroller) {\n this.scroller = (0, _scroll.getScroller)(this.$el);\n }\n\n if (this.observer) {\n var method = isBind ? 'observe' : 'unobserve';\n this.observer[method](this.$el);\n }\n\n bind(this.scroller, 'scroll', this.onScroll, true);\n this.onScroll();\n })],\n props: {\n zIndex: [Number, String],\n container: null,\n offsetTop: {\n type: [Number, String],\n default: 0\n }\n },\n data: function data() {\n return {\n fixed: false,\n height: 0,\n transform: 0\n };\n },\n computed: {\n offsetTopPx: function offsetTopPx() {\n return (0, _unit.unitToPx)(this.offsetTop);\n },\n style: function style() {\n if (!this.fixed) {\n return;\n }\n\n var style = {};\n\n if ((0, _utils.isDef)(this.zIndex)) {\n style.zIndex = this.zIndex;\n }\n\n if (this.offsetTopPx && this.fixed) {\n style.top = this.offsetTopPx + \"px\";\n }\n\n if (this.transform) {\n style.transform = \"translate3d(0, \" + this.transform + \"px, 0)\";\n }\n\n return style;\n }\n },\n watch: {\n fixed: function fixed(isFixed) {\n this.$emit('change', isFixed);\n }\n },\n created: function created() {\n var _this = this;\n\n // compatibility: https://caniuse.com/#feat=intersectionobserver\n if (!_utils.isServer && window.IntersectionObserver) {\n this.observer = new IntersectionObserver(function (entries) {\n // trigger scroll when visibility changed\n if (entries[0].intersectionRatio > 0) {\n _this.onScroll();\n }\n }, {\n root: document.body\n });\n }\n },\n methods: {\n onScroll: function onScroll() {\n var _this2 = this;\n\n if ((0, _style.isHidden)(this.$el)) {\n return;\n }\n\n this.height = this.$el.offsetHeight;\n var container = this.container,\n offsetTopPx = this.offsetTopPx;\n var scrollTop = (0, _scroll.getScrollTop)(window);\n var topToPageTop = (0, _scroll.getElementTop)(this.$el);\n\n var emitScrollEvent = function emitScrollEvent() {\n _this2.$emit('scroll', {\n scrollTop: scrollTop,\n isFixed: _this2.fixed\n });\n }; // The sticky component should be kept inside the container element\n\n\n if (container) {\n var bottomToPageTop = topToPageTop + container.offsetHeight;\n\n if (scrollTop + offsetTopPx + this.height > bottomToPageTop) {\n var distanceToBottom = this.height + scrollTop - bottomToPageTop;\n\n if (distanceToBottom < this.height) {\n this.fixed = true;\n this.transform = -(distanceToBottom + offsetTopPx);\n } else {\n this.fixed = false;\n }\n\n emitScrollEvent();\n return;\n }\n }\n\n if (scrollTop + offsetTopPx > topToPageTop) {\n this.fixed = true;\n this.transform = 0;\n } else {\n this.fixed = false;\n }\n\n emitScrollEvent();\n }\n },\n render: function render() {\n var h = arguments[0];\n var fixed = this.fixed;\n var style = {\n height: fixed ? this.height + \"px\" : null\n };\n return h(\"div\", {\n \"style\": style\n }, [h(\"div\", {\n \"class\": bem({\n fixed: fixed\n }),\n \"style\": this.style\n }, [this.slots()])]);\n }\n});\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _utils = require(\"../utils\");\n\nvar _touch = require(\"../mixins/touch\");\n\nvar _createNamespace = (0, _utils.createNamespace)('tabs'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar MIN_SWIPE_DISTANCE = 50;\n\nvar _default = createComponent({\n mixins: [_touch.TouchMixin],\n props: {\n count: Number,\n duration: [Number, String],\n animated: Boolean,\n swipeable: Boolean,\n currentIndex: Number\n },\n computed: {\n style: function style() {\n if (this.animated) {\n return {\n transform: \"translate3d(\" + -1 * this.currentIndex * 100 + \"%, 0, 0)\",\n transitionDuration: this.duration + \"s\"\n };\n }\n },\n listeners: function listeners() {\n if (this.swipeable) {\n return {\n touchstart: this.touchStart,\n touchmove: this.touchMove,\n touchend: this.onTouchEnd,\n touchcancel: this.onTouchEnd\n };\n }\n }\n },\n methods: {\n // watch swipe touch end\n onTouchEnd: function onTouchEnd() {\n var direction = this.direction,\n deltaX = this.deltaX,\n currentIndex = this.currentIndex;\n /* istanbul ignore else */\n\n if (direction === 'horizontal' && this.offsetX >= MIN_SWIPE_DISTANCE) {\n /* istanbul ignore else */\n if (deltaX > 0 && currentIndex !== 0) {\n this.$emit('change', currentIndex - 1);\n } else if (deltaX < 0 && currentIndex !== this.count - 1) {\n this.$emit('change', currentIndex + 1);\n }\n }\n },\n genChildren: function genChildren() {\n var h = this.$createElement;\n\n if (this.animated) {\n return h(\"div\", {\n \"class\": bem('track'),\n \"style\": this.style\n }, [this.slots()]);\n }\n\n return this.slots();\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem('content', {\n animated: this.animated\n }),\n \"on\": (0, _extends2.default)({}, this.listeners)\n }, [this.genChildren()]);\n }\n});\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _utils = require(\"../utils\");\n\nvar _lockClick = require(\"./lock-click\");\n\nvar _popup = require(\"../mixins/popup\");\n\nvar _icon = _interopRequireDefault(require(\"../icon\"));\n\nvar _loading = _interopRequireDefault(require(\"../loading\"));\n\n// Utils\n// Mixins\n// Components\nvar _createNamespace = (0, _utils.createNamespace)('toast'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar _default = createComponent({\n mixins: [(0, _popup.PopupMixin)()],\n props: {\n icon: String,\n className: null,\n iconPrefix: String,\n loadingType: String,\n forbidClick: Boolean,\n closeOnClick: Boolean,\n message: [Number, String],\n type: {\n type: String,\n default: 'text'\n },\n position: {\n type: String,\n default: 'middle'\n },\n transition: {\n type: String,\n default: 'van-fade'\n },\n lockScroll: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n clickable: false\n };\n },\n mounted: function mounted() {\n this.toggleClickable();\n },\n destroyed: function destroyed() {\n this.toggleClickable();\n },\n watch: {\n value: 'toggleClickable',\n forbidClick: 'toggleClickable'\n },\n methods: {\n onClick: function onClick() {\n if (this.closeOnClick) {\n this.close();\n }\n },\n toggleClickable: function toggleClickable() {\n var clickable = this.value && this.forbidClick;\n\n if (this.clickable !== clickable) {\n this.clickable = clickable;\n (0, _lockClick.lockClick)(clickable);\n }\n },\n\n /* istanbul ignore next */\n onAfterEnter: function onAfterEnter() {\n this.$emit('opened');\n\n if (this.onOpened) {\n this.onOpened();\n }\n },\n onAfterLeave: function onAfterLeave() {\n this.$emit('closed');\n },\n genIcon: function genIcon() {\n var h = this.$createElement;\n var icon = this.icon,\n type = this.type,\n iconPrefix = this.iconPrefix,\n loadingType = this.loadingType;\n var hasIcon = icon || type === 'success' || type === 'fail';\n\n if (hasIcon) {\n return h(_icon.default, {\n \"class\": bem('icon'),\n \"attrs\": {\n \"classPrefix\": iconPrefix,\n \"name\": icon || type\n }\n });\n }\n\n if (type === 'loading') {\n return h(_loading.default, {\n \"class\": bem('loading'),\n \"attrs\": {\n \"type\": loadingType\n }\n });\n }\n },\n genMessage: function genMessage() {\n var h = this.$createElement;\n var type = this.type,\n message = this.message;\n\n if (!(0, _utils.isDef)(message) || message === '') {\n return;\n }\n\n if (type === 'html') {\n return h(\"div\", {\n \"class\": bem('text'),\n \"domProps\": {\n \"innerHTML\": message\n }\n });\n }\n\n return h(\"div\", {\n \"class\": bem('text')\n }, [message]);\n }\n },\n render: function render() {\n var _ref;\n\n var h = arguments[0];\n return h(\"transition\", {\n \"attrs\": {\n \"name\": this.transition\n },\n \"on\": {\n \"afterEnter\": this.onAfterEnter,\n \"afterLeave\": this.onAfterLeave\n }\n }, [h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: this.value\n }],\n \"class\": [bem([this.position, (_ref = {}, _ref[this.type] = !this.icon, _ref)]), this.className],\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.genIcon(), this.genMessage()])]);\n }\n});\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.lockClick = lockClick;\nvar lockCount = 0;\n\nfunction lockClick(lock) {\n if (lock) {\n if (!lockCount) {\n document.body.classList.add('van-toast--unclickable');\n }\n\n lockCount++;\n } else {\n lockCount--;\n\n if (!lockCount) {\n document.body.classList.remove('van-toast--unclickable');\n }\n }\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.updateOverlay = updateOverlay;\nexports.openOverlay = openOverlay;\nexports.closeOverlay = closeOverlay;\nexports.removeOverlay = removeOverlay;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _overlay = _interopRequireDefault(require(\"../../overlay\"));\n\nvar _context = require(\"./context\");\n\nvar _functional = require(\"../../utils/functional\");\n\nvar _node = require(\"../../utils/dom/node\");\n\nvar defaultConfig = {\n className: '',\n customStyle: {}\n};\n\nfunction mountOverlay(vm) {\n return (0, _functional.mount)(_overlay.default, {\n on: {\n // close popup when overlay clicked & closeOnClickOverlay is true\n click: function click() {\n vm.$emit('click-overlay');\n\n if (vm.closeOnClickOverlay) {\n if (vm.onClickOverlay) {\n vm.onClickOverlay();\n } else {\n vm.close();\n }\n }\n }\n }\n });\n}\n\nfunction updateOverlay(vm) {\n var item = _context.context.find(vm);\n\n if (item) {\n var el = vm.$el;\n var config = item.config,\n overlay = item.overlay;\n\n if (el && el.parentNode) {\n el.parentNode.insertBefore(overlay.$el, el);\n }\n\n (0, _extends2.default)(overlay, defaultConfig, config, {\n show: true\n });\n }\n}\n\nfunction openOverlay(vm, config) {\n var item = _context.context.find(vm);\n\n if (item) {\n item.config = config;\n } else {\n var overlay = mountOverlay(vm);\n\n _context.context.stack.push({\n vm: vm,\n config: config,\n overlay: overlay\n });\n }\n\n updateOverlay(vm);\n}\n\nfunction closeOverlay(vm) {\n var item = _context.context.find(vm);\n\n if (item) {\n item.overlay.show = false;\n }\n}\n\nfunction removeOverlay(vm) {\n var item = _context.context.find(vm);\n\n if (item) {\n (0, _node.removeNode)(item.overlay.$el);\n\n _context.context.remove(vm);\n }\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _babelHelperVueJsxMergeProps = _interopRequireDefault(require(\"@vue/babel-helper-vue-jsx-merge-props\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _utils = require(\"../utils\");\n\nvar _functional = require(\"../utils/functional\");\n\nvar _event = require(\"../utils/dom/event\");\n\n// Utils\nvar _createNamespace = (0, _utils.createNamespace)('overlay'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction preventTouchMove(event) {\n (0, _event.preventDefault)(event, true);\n}\n\nfunction Overlay(h, props, slots, ctx) {\n var style = (0, _extends2.default)({\n zIndex: props.zIndex\n }, props.customStyle);\n\n if ((0, _utils.isDef)(props.duration)) {\n style.animationDuration = props.duration + \"s\";\n }\n\n return h(\"transition\", {\n \"attrs\": {\n \"name\": \"van-fade\"\n }\n }, [h(\"div\", (0, _babelHelperVueJsxMergeProps.default)([{\n \"directives\": [{\n name: \"show\",\n value: props.show\n }],\n \"style\": style,\n \"class\": [bem(), props.className],\n \"on\": {\n \"touchmove\": props.lockScroll ? preventTouchMove : _utils.noop\n }\n }, (0, _functional.inherit)(ctx, true)]), [slots.default == null ? void 0 : slots.default()])]);\n}\n\nOverlay.props = {\n show: Boolean,\n zIndex: [Number, String],\n duration: [Number, String],\n className: null,\n customStyle: Object,\n lockScroll: {\n type: Boolean,\n default: true\n }\n};\n\nvar _default = createComponent(Overlay);\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.PortalMixin = PortalMixin;\n\nfunction getElement(selector) {\n if (typeof selector === 'string') {\n return document.querySelector(selector);\n }\n\n return selector();\n}\n\nfunction PortalMixin(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n ref = _ref.ref,\n afterPortal = _ref.afterPortal;\n\n return {\n props: {\n getContainer: [String, Function]\n },\n watch: {\n getContainer: 'portal'\n },\n mounted: function mounted() {\n if (this.getContainer) {\n this.portal();\n }\n },\n methods: {\n portal: function portal() {\n var getContainer = this.getContainer;\n var el = ref ? this.$refs[ref] : this.$el;\n var container;\n\n if (getContainer) {\n container = getElement(getContainer);\n } else if (this.$parent) {\n container = this.$parent.$el;\n }\n\n if (container && container !== el.parentNode) {\n container.appendChild(el);\n }\n\n if (afterPortal) {\n afterPortal.call(this);\n }\n }\n }\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.CloseOnPopstateMixin = void 0;\n\nvar _event = require(\"../utils/dom/event\");\n\nvar _bindEvent = require(\"./bind-event\");\n\nvar CloseOnPopstateMixin = {\n mixins: [(0, _bindEvent.BindEventMixin)(function (bind, isBind) {\n this.handlePopstate(isBind && this.closeOnPopstate);\n })],\n props: {\n closeOnPopstate: Boolean\n },\n data: function data() {\n return {\n bindStatus: false\n };\n },\n watch: {\n closeOnPopstate: function closeOnPopstate(val) {\n this.handlePopstate(val);\n }\n },\n methods: {\n onPopstate: function onPopstate() {\n this.close();\n this.shouldReopen = false;\n },\n handlePopstate: function handlePopstate(bind) {\n /* istanbul ignore if */\n if (this.$isServer) {\n return;\n }\n\n if (this.bindStatus !== bind) {\n this.bindStatus = bind;\n var action = bind ? _event.on : _event.off;\n action(window, 'popstate', this.onPopstate);\n }\n }\n }\n};\nexports.CloseOnPopstateMixin = CloseOnPopstateMixin;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _babelHelperVueJsxMergeProps = _interopRequireDefault(require(\"@vue/babel-helper-vue-jsx-merge-props\"));\n\nvar _utils = require(\"../utils\");\n\nvar _constant = require(\"../utils/constant\");\n\nvar _popup = require(\"../mixins/popup\");\n\nvar _button = _interopRequireDefault(require(\"../button\"));\n\nvar _goodsAction = _interopRequireDefault(require(\"../goods-action\"));\n\nvar _goodsActionButton = _interopRequireDefault(require(\"../goods-action-button\"));\n\nvar _createNamespace = (0, _utils.createNamespace)('dialog'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nvar _default = createComponent({\n mixins: [(0, _popup.PopupMixin)()],\n props: {\n title: String,\n theme: String,\n width: [Number, String],\n message: String,\n className: null,\n callback: Function,\n beforeClose: Function,\n messageAlign: String,\n cancelButtonText: String,\n cancelButtonColor: String,\n confirmButtonText: String,\n confirmButtonColor: String,\n showCancelButton: Boolean,\n overlay: {\n type: Boolean,\n default: true\n },\n allowHtml: {\n type: Boolean,\n default: true\n },\n transition: {\n type: String,\n default: 'van-dialog-bounce'\n },\n showConfirmButton: {\n type: Boolean,\n default: true\n },\n closeOnPopstate: {\n type: Boolean,\n default: true\n },\n closeOnClickOverlay: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n loading: {\n confirm: false,\n cancel: false\n }\n };\n },\n methods: {\n onClickOverlay: function onClickOverlay() {\n this.handleAction('overlay');\n },\n handleAction: function handleAction(action) {\n var _this = this;\n\n this.$emit(action); // show not trigger close event when hidden\n\n if (!this.value) {\n return;\n }\n\n if (this.beforeClose) {\n this.loading[action] = true;\n this.beforeClose(action, function (state) {\n if (state !== false && _this.loading[action]) {\n _this.onClose(action);\n }\n\n _this.loading.confirm = false;\n _this.loading.cancel = false;\n });\n } else {\n this.onClose(action);\n }\n },\n onClose: function onClose(action) {\n this.close();\n\n if (this.callback) {\n this.callback(action);\n }\n },\n onOpened: function onOpened() {\n var _this2 = this;\n\n this.$emit('opened');\n this.$nextTick(function () {\n var _this2$$refs$dialog;\n\n (_this2$$refs$dialog = _this2.$refs.dialog) == null ? void 0 : _this2$$refs$dialog.focus();\n });\n },\n onClosed: function onClosed() {\n this.$emit('closed');\n },\n onKeydown: function onKeydown(event) {\n var _this3 = this;\n\n if (event.key === 'Escape' || event.key === 'Enter') {\n // skip keyboard events of child elements\n if (event.target !== this.$refs.dialog) {\n return;\n }\n\n var onEventType = {\n Enter: this.showConfirmButton ? function () {\n return _this3.handleAction('confirm');\n } : _utils.noop,\n Escape: this.showCancelButton ? function () {\n return _this3.handleAction('cancel');\n } : _utils.noop\n };\n onEventType[event.key]();\n this.$emit('keydown', event);\n }\n },\n genRoundButtons: function genRoundButtons() {\n var _this4 = this;\n\n var h = this.$createElement;\n return h(_goodsAction.default, {\n \"class\": bem('footer')\n }, [this.showCancelButton && h(_goodsActionButton.default, {\n \"attrs\": {\n \"size\": \"large\",\n \"type\": \"warning\",\n \"text\": this.cancelButtonText || t('cancel'),\n \"color\": this.cancelButtonColor,\n \"loading\": this.loading.cancel\n },\n \"class\": bem('cancel'),\n \"on\": {\n \"click\": function click() {\n _this4.handleAction('cancel');\n }\n }\n }), this.showConfirmButton && h(_goodsActionButton.default, {\n \"attrs\": {\n \"size\": \"large\",\n \"type\": \"danger\",\n \"text\": this.confirmButtonText || t('confirm'),\n \"color\": this.confirmButtonColor,\n \"loading\": this.loading.confirm\n },\n \"class\": bem('confirm'),\n \"on\": {\n \"click\": function click() {\n _this4.handleAction('confirm');\n }\n }\n })]);\n },\n genButtons: function genButtons() {\n var _this5 = this,\n _ref;\n\n var h = this.$createElement;\n var multiple = this.showCancelButton && this.showConfirmButton;\n return h(\"div\", {\n \"class\": [_constant.BORDER_TOP, bem('footer')]\n }, [this.showCancelButton && h(_button.default, {\n \"attrs\": {\n \"size\": \"large\",\n \"loading\": this.loading.cancel,\n \"text\": this.cancelButtonText || t('cancel'),\n \"nativeType\": \"button\"\n },\n \"class\": bem('cancel'),\n \"style\": {\n color: this.cancelButtonColor\n },\n \"on\": {\n \"click\": function click() {\n _this5.handleAction('cancel');\n }\n }\n }), this.showConfirmButton && h(_button.default, {\n \"attrs\": {\n \"size\": \"large\",\n \"loading\": this.loading.confirm,\n \"text\": this.confirmButtonText || t('confirm'),\n \"nativeType\": \"button\"\n },\n \"class\": [bem('confirm'), (_ref = {}, _ref[_constant.BORDER_LEFT] = multiple, _ref)],\n \"style\": {\n color: this.confirmButtonColor\n },\n \"on\": {\n \"click\": function click() {\n _this5.handleAction('confirm');\n }\n }\n })]);\n },\n genContent: function genContent(hasTitle, messageSlot) {\n var h = this.$createElement;\n\n if (messageSlot) {\n return h(\"div\", {\n \"class\": bem('content')\n }, [messageSlot]);\n }\n\n var message = this.message,\n messageAlign = this.messageAlign;\n\n if (message) {\n var _bem, _domProps;\n\n var data = {\n class: bem('message', (_bem = {\n 'has-title': hasTitle\n }, _bem[messageAlign] = messageAlign, _bem)),\n domProps: (_domProps = {}, _domProps[this.allowHtml ? 'innerHTML' : 'textContent'] = message, _domProps)\n };\n return h(\"div\", {\n \"class\": bem('content', {\n isolated: !hasTitle\n })\n }, [h(\"div\", (0, _babelHelperVueJsxMergeProps.default)([{}, data]))]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n\n if (!this.shouldRender) {\n return;\n }\n\n var message = this.message;\n var messageSlot = this.slots();\n var title = this.slots('title') || this.title;\n var Title = title && h(\"div\", {\n \"class\": bem('header', {\n isolated: !message && !messageSlot\n })\n }, [title]);\n return h(\"transition\", {\n \"attrs\": {\n \"name\": this.transition\n },\n \"on\": {\n \"afterEnter\": this.onOpened,\n \"afterLeave\": this.onClosed\n }\n }, [h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: this.value\n }],\n \"attrs\": {\n \"role\": \"dialog\",\n \"aria-labelledby\": this.title || message,\n \"tabIndex\": 0\n },\n \"class\": [bem([this.theme]), this.className],\n \"style\": {\n width: (0, _utils.addUnit)(this.width)\n },\n \"ref\": \"dialog\",\n \"on\": {\n \"keydown\": this.onKeydown\n }\n }, [Title, this.genContent(title, messageSlot), this.theme === 'round-button' ? this.genRoundButtons() : this.genButtons()])]);\n }\n});\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _utils = require(\"../utils\");\n\nvar _relation = require(\"../mixins/relation\");\n\nvar _createNamespace = (0, _utils.createNamespace)('goods-action'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar _default = createComponent({\n mixins: [(0, _relation.ParentMixin)('vanGoodsAction')],\n props: {\n safeAreaInsetBottom: {\n type: Boolean,\n default: true\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem({\n unfit: !this.safeAreaInsetBottom\n })\n }, [this.slots()]);\n }\n});\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _utils = require(\"../utils\");\n\nvar _router = require(\"../utils/router\");\n\nvar _relation = require(\"../mixins/relation\");\n\nvar _button = _interopRequireDefault(require(\"../button\"));\n\nvar _createNamespace = (0, _utils.createNamespace)('goods-action-button'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar _default = createComponent({\n mixins: [(0, _relation.ChildrenMixin)('vanGoodsAction')],\n props: (0, _extends2.default)({}, _router.routeProps, {\n type: String,\n text: String,\n icon: String,\n color: String,\n loading: Boolean,\n disabled: Boolean\n }),\n computed: {\n isFirst: function isFirst() {\n var prev = this.parent && this.parent.children[this.index - 1];\n return !prev || prev.$options.name !== this.$options.name;\n },\n isLast: function isLast() {\n var next = this.parent && this.parent.children[this.index + 1];\n return !next || next.$options.name !== this.$options.name;\n }\n },\n methods: {\n onClick: function onClick(event) {\n this.$emit('click', event);\n (0, _router.route)(this.$router, this);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(_button.default, {\n \"class\": bem([{\n first: this.isFirst,\n last: this.isLast\n }, this.type]),\n \"attrs\": {\n \"size\": \"large\",\n \"type\": this.type,\n \"icon\": this.icon,\n \"color\": this.color,\n \"loading\": this.loading,\n \"disabled\": this.disabled\n },\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.slots() || this.text]);\n }\n});\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.resetScroll = resetScroll;\n\nvar _system = require(\"../validate/system\");\n\nvar _scroll = require(\"./scroll\");\n\n/**\n * Hack for iOS12 page scroll\n * https://developers.weixin.qq.com/community/develop/doc/00044ae90742f8c82fb78fcae56800\n */\nvar isIOS = (0, _system.isIOS)();\n/* istanbul ignore next */\n\nfunction resetScroll() {\n if (isIOS) {\n (0, _scroll.setRootScrollTop)((0, _scroll.getRootScrollTop)());\n }\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.isAndroid = isAndroid;\nexports.isIOS = isIOS;\n\nvar _ = require(\"..\");\n\nfunction isAndroid() {\n /* istanbul ignore next */\n return _.isServer ? false : /android/.test(navigator.userAgent.toLowerCase());\n}\n\nfunction isIOS() {\n /* istanbul ignore next */\n return _.isServer ? false : /ios|iphone|ipad|ipod/.test(navigator.userAgent.toLowerCase());\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.range = range;\nexports.formatNumber = formatNumber;\nexports.addNumber = addNumber;\n\nfunction range(num, min, max) {\n return Math.min(Math.max(num, min), max);\n}\n\nfunction trimExtraChar(value, _char, regExp) {\n var index = value.indexOf(_char);\n var prefix = '';\n\n if (index === -1) {\n return value;\n }\n\n if (_char === '-' && index !== 0) {\n return value.slice(0, index);\n }\n\n if (_char === '.' && value.match(/^(\\.|-\\.)/)) {\n prefix = index ? '-0' : '0';\n }\n\n return prefix + value.slice(0, index + 1) + value.slice(index).replace(regExp, '');\n}\n\nfunction formatNumber(value, allowDot, allowMinus) {\n if (allowDot === void 0) {\n allowDot = true;\n }\n\n if (allowMinus === void 0) {\n allowMinus = true;\n }\n\n if (allowDot) {\n value = trimExtraChar(value, '.', /\\./g);\n } else {\n value = value.split('.')[0];\n }\n\n if (allowMinus) {\n value = trimExtraChar(value, '-', /-/g);\n } else {\n value = value.replace(/-/, '');\n }\n\n var regExp = allowDot ? /[^-0-9.]/g : /[^-0-9]/g;\n return value.replace(regExp, '');\n} // add num and avoid float number\n\n\nfunction addNumber(num1, num2) {\n var cardinal = Math.pow(10, 10);\n return Math.round((num1 + num2) * cardinal) / cardinal;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.switchProps = void 0;\n\n/**\n * Common Switch Props\n */\nvar switchProps = {\n size: [Number, String],\n value: null,\n loading: Boolean,\n disabled: Boolean,\n activeColor: String,\n inactiveColor: String,\n activeValue: {\n type: null,\n default: true\n },\n inactiveValue: {\n type: null,\n default: false\n }\n};\nexports.switchProps = switchProps;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.CheckboxMixin = void 0;\n\nvar _icon = _interopRequireDefault(require(\"../icon\"));\n\nvar _field = require(\"./field\");\n\nvar _relation = require(\"./relation\");\n\nvar _utils = require(\"../utils\");\n\n/**\n * Common part of Checkbox & Radio\n */\nvar CheckboxMixin = function CheckboxMixin(_ref) {\n var parent = _ref.parent,\n bem = _ref.bem,\n role = _ref.role;\n return {\n mixins: [(0, _relation.ChildrenMixin)(parent), _field.FieldMixin],\n props: {\n name: null,\n value: null,\n disabled: Boolean,\n iconSize: [Number, String],\n checkedColor: String,\n labelPosition: String,\n labelDisabled: Boolean,\n shape: {\n type: String,\n default: 'round'\n },\n bindGroup: {\n type: Boolean,\n default: true\n }\n },\n computed: {\n disableBindRelation: function disableBindRelation() {\n return !this.bindGroup;\n },\n isDisabled: function isDisabled() {\n return this.parent && this.parent.disabled || this.disabled;\n },\n direction: function direction() {\n return this.parent && this.parent.direction || null;\n },\n iconStyle: function iconStyle() {\n var checkedColor = this.checkedColor || this.parent && this.parent.checkedColor;\n\n if (checkedColor && this.checked && !this.isDisabled) {\n return {\n borderColor: checkedColor,\n backgroundColor: checkedColor\n };\n }\n },\n tabindex: function tabindex() {\n if (this.isDisabled || role === 'radio' && !this.checked) {\n return -1;\n }\n\n return 0;\n }\n },\n methods: {\n onClick: function onClick(event) {\n var _this = this;\n\n var target = event.target;\n var icon = this.$refs.icon;\n var iconClicked = icon === target || (icon == null ? void 0 : icon.contains(target));\n\n if (!this.isDisabled && (iconClicked || !this.labelDisabled)) {\n this.toggle(); // wait for toggle method to complete\n // so we can get the changed value in the click event listener\n\n setTimeout(function () {\n _this.$emit('click', event);\n });\n } else {\n this.$emit('click', event);\n }\n },\n genIcon: function genIcon() {\n var h = this.$createElement;\n var checked = this.checked;\n var iconSize = this.iconSize || this.parent && this.parent.iconSize;\n return h(\"div\", {\n \"ref\": \"icon\",\n \"class\": bem('icon', [this.shape, {\n disabled: this.isDisabled,\n checked: checked\n }]),\n \"style\": {\n fontSize: (0, _utils.addUnit)(iconSize)\n }\n }, [this.slots('icon', {\n checked: checked\n }) || h(_icon.default, {\n \"attrs\": {\n \"name\": \"success\"\n },\n \"style\": this.iconStyle\n })]);\n },\n genLabel: function genLabel() {\n var h = this.$createElement;\n var slot = this.slots();\n\n if (slot) {\n return h(\"span\", {\n \"class\": bem('label', [this.labelPosition, {\n disabled: this.isDisabled\n }])\n }, [slot]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n var Children = [this.genIcon()];\n\n if (this.labelPosition === 'left') {\n Children.unshift(this.genLabel());\n } else {\n Children.push(this.genLabel());\n }\n\n return h(\"div\", {\n \"attrs\": {\n \"role\": role,\n \"tabindex\": this.tabindex,\n \"aria-checked\": String(this.checked)\n },\n \"class\": bem([{\n disabled: this.isDisabled,\n 'label-disabled': this.labelDisabled\n }, this.direction]),\n \"on\": {\n \"click\": this.onClick\n }\n }, [Children]);\n }\n };\n};\n\nexports.CheckboxMixin = CheckboxMixin;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _utils = require(\"../utils\");\n\nvar _style = require(\"../utils/dom/style\");\n\nvar _scroll = require(\"../utils/dom/scroll\");\n\nvar _bindEvent = require(\"../mixins/bind-event\");\n\nvar _loading = _interopRequireDefault(require(\"../loading\"));\n\n// Utils\n// Mixins\n// Components\nvar _createNamespace = (0, _utils.createNamespace)('list'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nvar _default = createComponent({\n mixins: [(0, _bindEvent.BindEventMixin)(function (bind) {\n if (!this.scroller) {\n this.scroller = (0, _scroll.getScroller)(this.$el);\n }\n\n bind(this.scroller, 'scroll', this.check);\n })],\n model: {\n prop: 'loading'\n },\n props: {\n error: Boolean,\n loading: Boolean,\n finished: Boolean,\n errorText: String,\n loadingText: String,\n finishedText: String,\n immediateCheck: {\n type: Boolean,\n default: true\n },\n offset: {\n type: [Number, String],\n default: 300\n },\n direction: {\n type: String,\n default: 'down'\n }\n },\n data: function data() {\n return {\n // use sync innerLoading state to avoid repeated loading in some edge cases\n innerLoading: this.loading\n };\n },\n updated: function updated() {\n this.innerLoading = this.loading;\n },\n mounted: function mounted() {\n if (this.immediateCheck) {\n this.check();\n }\n },\n watch: {\n loading: 'check',\n finished: 'check'\n },\n methods: {\n // @exposed-api\n check: function check() {\n var _this = this;\n\n this.$nextTick(function () {\n if (_this.innerLoading || _this.finished || _this.error) {\n return;\n }\n\n var el = _this.$el,\n scroller = _this.scroller,\n offset = _this.offset,\n direction = _this.direction;\n var scrollerRect;\n\n if (scroller.getBoundingClientRect) {\n scrollerRect = scroller.getBoundingClientRect();\n } else {\n scrollerRect = {\n top: 0,\n bottom: scroller.innerHeight\n };\n }\n\n var scrollerHeight = scrollerRect.bottom - scrollerRect.top;\n /* istanbul ignore next */\n\n if (!scrollerHeight || (0, _style.isHidden)(el)) {\n return false;\n }\n\n var isReachEdge = false;\n\n var placeholderRect = _this.$refs.placeholder.getBoundingClientRect();\n\n if (direction === 'up') {\n isReachEdge = scrollerRect.top - placeholderRect.top <= offset;\n } else {\n isReachEdge = placeholderRect.bottom - scrollerRect.bottom <= offset;\n }\n\n if (isReachEdge) {\n _this.innerLoading = true;\n\n _this.$emit('input', true);\n\n _this.$emit('load');\n }\n });\n },\n clickErrorText: function clickErrorText() {\n this.$emit('update:error', false);\n this.check();\n },\n genLoading: function genLoading() {\n var h = this.$createElement;\n\n if (this.innerLoading && !this.finished) {\n return h(\"div\", {\n \"key\": \"loading\",\n \"class\": bem('loading')\n }, [this.slots('loading') || h(_loading.default, {\n \"attrs\": {\n \"size\": \"16\"\n }\n }, [this.loadingText || t('loading')])]);\n }\n },\n genFinishedText: function genFinishedText() {\n var h = this.$createElement;\n\n if (this.finished) {\n var text = this.slots('finished') || this.finishedText;\n\n if (text) {\n return h(\"div\", {\n \"class\": bem('finished-text')\n }, [text]);\n }\n }\n },\n genErrorText: function genErrorText() {\n var h = this.$createElement;\n\n if (this.error) {\n var text = this.slots('error') || this.errorText;\n\n if (text) {\n return h(\"div\", {\n \"on\": {\n \"click\": this.clickErrorText\n },\n \"class\": bem('error-text')\n }, [text]);\n }\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n var Placeholder = h(\"div\", {\n \"ref\": \"placeholder\",\n \"key\": \"placeholder\",\n \"class\": bem('placeholder')\n });\n return h(\"div\", {\n \"class\": bem(),\n \"attrs\": {\n \"role\": \"feed\",\n \"aria-busy\": this.innerLoading\n }\n }, [this.direction === 'down' ? this.slots() : Placeholder, this.genLoading(), this.genFinishedText(), this.genErrorText(), this.direction === 'up' ? this.slots() : Placeholder]);\n }\n});\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _babelHelperVueJsxMergeProps = _interopRequireDefault(require(\"@vue/babel-helper-vue-jsx-merge-props\"));\n\nvar _utils = require(\"../utils\");\n\nvar _functional = require(\"../utils/functional\");\n\nvar _constant = require(\"../utils/constant\");\n\n// Utils\nvar _createNamespace = (0, _utils.createNamespace)('cell-group'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction CellGroup(h, props, slots, ctx) {\n var _ref;\n\n var Group = h(\"div\", (0, _babelHelperVueJsxMergeProps.default)([{\n \"class\": [bem({\n inset: props.inset\n }), (_ref = {}, _ref[_constant.BORDER_TOP_BOTTOM] = props.border, _ref)]\n }, (0, _functional.inherit)(ctx, true)]), [slots.default == null ? void 0 : slots.default()]);\n\n if (props.title || slots.title) {\n return h(\"div\", {\n \"key\": ctx.data.key\n }, [h(\"div\", {\n \"class\": bem('title', {\n inset: props.inset\n })\n }, [slots.title ? slots.title() : props.title]), Group]);\n }\n\n return Group;\n}\n\nCellGroup.props = {\n title: String,\n inset: Boolean,\n border: {\n type: Boolean,\n default: true\n }\n};\n\nvar _default = createComponent(CellGroup);\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _utils = require(\"../utils\");\n\nvar _shared = require(\"./shared\");\n\nvar _field = require(\"../mixins/field\");\n\nvar _loading = _interopRequireDefault(require(\"../loading\"));\n\n// Utils\n// Mixins\n// Components\nvar _createNamespace = (0, _utils.createNamespace)('switch'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar _default = createComponent({\n mixins: [_field.FieldMixin],\n props: _shared.switchProps,\n computed: {\n checked: function checked() {\n return this.value === this.activeValue;\n },\n style: function style() {\n return {\n fontSize: (0, _utils.addUnit)(this.size),\n backgroundColor: this.checked ? this.activeColor : this.inactiveColor\n };\n }\n },\n methods: {\n onClick: function onClick(event) {\n this.$emit('click', event);\n\n if (!this.disabled && !this.loading) {\n var newValue = this.checked ? this.inactiveValue : this.activeValue;\n this.$emit('input', newValue);\n this.$emit('change', newValue);\n }\n },\n genLoading: function genLoading() {\n var h = this.$createElement;\n\n if (this.loading) {\n var color = this.checked ? this.activeColor : this.inactiveColor;\n return h(_loading.default, {\n \"class\": bem('loading'),\n \"attrs\": {\n \"color\": color\n }\n });\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n var checked = this.checked,\n loading = this.loading,\n disabled = this.disabled;\n return h(\"div\", {\n \"class\": bem({\n on: checked,\n loading: loading,\n disabled: disabled\n }),\n \"attrs\": {\n \"role\": \"switch\",\n \"aria-checked\": String(checked)\n },\n \"style\": this.style,\n \"on\": {\n \"click\": this.onClick\n }\n }, [h(\"div\", {\n \"class\": bem('node')\n }, [this.genLoading()])]);\n }\n});\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _utils = require(\"../utils\");\n\nvar _checkbox = require(\"../mixins/checkbox\");\n\nvar _createNamespace = (0, _utils.createNamespace)('radio'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar _default = createComponent({\n mixins: [(0, _checkbox.CheckboxMixin)({\n bem: bem,\n role: 'radio',\n parent: 'vanRadio'\n })],\n computed: {\n currentValue: {\n get: function get() {\n return this.parent ? this.parent.value : this.value;\n },\n set: function set(val) {\n (this.parent || this).$emit('input', val);\n }\n },\n checked: function checked() {\n return this.currentValue === this.name;\n }\n },\n methods: {\n toggle: function toggle() {\n this.currentValue = this.name;\n }\n }\n});\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _utils = require(\"../utils\");\n\nvar _field = require(\"../mixins/field\");\n\nvar _relation = require(\"../mixins/relation\");\n\nvar _createNamespace = (0, _utils.createNamespace)('radio-group'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar _default = createComponent({\n mixins: [(0, _relation.ParentMixin)('vanRadio'), _field.FieldMixin],\n props: {\n value: null,\n disabled: Boolean,\n direction: String,\n checkedColor: String,\n iconSize: [Number, String]\n },\n watch: {\n value: function value(_value) {\n this.$emit('change', _value);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem([this.direction]),\n \"attrs\": {\n \"role\": \"radiogroup\"\n }\n }, [this.slots()]);\n }\n});\n\nexports.default = _default;","import { createNamespace } from '../utils';\nimport { BORDER_TOP_BOTTOM } from '../utils/constant';\nimport { callInterceptor } from '../utils/interceptor';\nimport { ParentMixin } from '../mixins/relation';\n\nvar _createNamespace = createNamespace('tabbar'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanTabbar')],\n props: {\n route: Boolean,\n zIndex: [Number, String],\n placeholder: Boolean,\n activeColor: String,\n beforeChange: Function,\n inactiveColor: String,\n value: {\n type: [Number, String],\n default: 0\n },\n border: {\n type: Boolean,\n default: true\n },\n fixed: {\n type: Boolean,\n default: true\n },\n safeAreaInsetBottom: {\n type: Boolean,\n default: null\n }\n },\n data: function data() {\n return {\n height: null\n };\n },\n computed: {\n fit: function fit() {\n if (this.safeAreaInsetBottom !== null) {\n return this.safeAreaInsetBottom;\n } // enable safe-area-inset-bottom by default when fixed\n\n\n return this.fixed;\n }\n },\n watch: {\n value: 'setActiveItem',\n children: 'setActiveItem'\n },\n mounted: function mounted() {\n var _this = this;\n\n if (this.placeholder && this.fixed) {\n var setHeight = function setHeight() {\n _this.height = _this.$refs.tabbar.getBoundingClientRect().height;\n };\n\n setHeight(); // https://github.com/vant-ui/vant/issues/10131\n\n setTimeout(setHeight, 100);\n }\n },\n methods: {\n setActiveItem: function setActiveItem() {\n var _this2 = this;\n\n this.children.forEach(function (item, index) {\n item.nameMatched = item.name === _this2.value || index === _this2.value;\n });\n },\n triggerChange: function triggerChange(active, afterChange) {\n var _this3 = this;\n\n callInterceptor({\n interceptor: this.beforeChange,\n args: [active],\n done: function done() {\n _this3.$emit('input', active);\n\n _this3.$emit('change', active);\n\n afterChange();\n }\n });\n },\n genTabbar: function genTabbar() {\n var _ref;\n\n var h = this.$createElement;\n return h(\"div\", {\n \"ref\": \"tabbar\",\n \"style\": {\n zIndex: this.zIndex\n },\n \"class\": [(_ref = {}, _ref[BORDER_TOP_BOTTOM] = this.border, _ref), bem({\n unfit: !this.fit,\n fixed: this.fixed\n })]\n }, [this.slots()]);\n }\n },\n render: function render() {\n var h = arguments[0];\n\n if (this.placeholder && this.fixed) {\n return h(\"div\", {\n \"class\": bem('placeholder'),\n \"style\": {\n height: this.height + \"px\"\n }\n }, [this.genTabbar()]);\n }\n\n return this.genTabbar();\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { createNamespace, isObject, isDef } from '../utils';\nimport { route, routeProps } from '../utils/router'; // Mixins\n\nimport { ChildrenMixin } from '../mixins/relation'; // Components\n\nimport Icon from '../icon';\nimport Info from '../info';\n\nvar _createNamespace = createNamespace('tabbar-item'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ChildrenMixin('vanTabbar')],\n props: _extends({}, routeProps, {\n dot: Boolean,\n icon: String,\n name: [Number, String],\n // @deprecated\n info: [Number, String],\n badge: [Number, String],\n iconPrefix: String\n }),\n data: function data() {\n return {\n nameMatched: false\n };\n },\n computed: {\n active: function active() {\n var routeMode = this.parent.route;\n\n if (routeMode && '$route' in this) {\n var to = this.to,\n $route = this.$route;\n var config = isObject(to) ? to : {\n path: to\n };\n return !!$route.matched.find(function (r) {\n // vue-router 3.x $route.matched[0].path is empty in / and its children paths\n var path = r.path === '' ? '/' : r.path;\n var pathMatched = config.path === path;\n var nameMatched = isDef(config.name) && config.name === r.name;\n return pathMatched || nameMatched;\n });\n }\n\n return this.nameMatched;\n }\n },\n methods: {\n onClick: function onClick(event) {\n var _this = this;\n\n if (!this.active) {\n this.parent.triggerChange(this.name || this.index, function () {\n route(_this.$router, _this);\n });\n }\n\n this.$emit('click', event);\n },\n genIcon: function genIcon() {\n var h = this.$createElement;\n var slot = this.slots('icon', {\n active: this.active\n });\n\n if (slot) {\n return slot;\n }\n\n if (this.icon) {\n return h(Icon, {\n \"attrs\": {\n \"name\": this.icon,\n \"classPrefix\": this.iconPrefix\n }\n });\n }\n }\n },\n render: function render() {\n var _this$badge;\n\n var h = arguments[0];\n var active = this.active;\n var color = this.parent[active ? 'activeColor' : 'inactiveColor'];\n\n if (process.env.NODE_ENV === 'development' && this.info) {\n console.warn('[Vant] TabbarItem: \"info\" prop is deprecated, use \"badge\" prop instead.');\n }\n\n return h(\"div\", {\n \"class\": bem({\n active: active\n }),\n \"style\": {\n color: color\n },\n \"on\": {\n \"click\": this.onClick\n }\n }, [h(\"div\", {\n \"class\": bem('icon')\n }, [this.genIcon(), h(Info, {\n \"attrs\": {\n \"dot\": this.dot,\n \"info\": (_this$badge = this.badge) != null ? _this$badge : this.info\n }\n })]), h(\"div\", {\n \"class\": bem('text')\n }, [this.slots('default', {\n active: active\n })])]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport { ChildrenMixin } from '../mixins/relation';\nimport { routeProps } from '../utils/router';\n\nvar _createNamespace = createNamespace('tab'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ChildrenMixin('vanTabs')],\n props: _extends({}, routeProps, {\n dot: Boolean,\n name: [Number, String],\n // @deprecated\n info: [Number, String],\n badge: [Number, String],\n title: String,\n titleStyle: null,\n titleClass: null,\n disabled: Boolean\n }),\n data: function data() {\n return {\n inited: false\n };\n },\n computed: {\n computedName: function computedName() {\n var _this$name;\n\n return (_this$name = this.name) != null ? _this$name : this.index;\n },\n isActive: function isActive() {\n var active = this.computedName === this.parent.currentName;\n\n if (active) {\n this.inited = true;\n }\n\n return active;\n }\n },\n watch: {\n title: function title() {\n this.parent.setLine();\n this.parent.scrollIntoView();\n },\n inited: function inited(val) {\n var _this = this;\n\n if (this.parent.lazyRender && val) {\n this.$nextTick(function () {\n _this.parent.$emit('rendered', _this.computedName, _this.title);\n });\n }\n }\n },\n render: function render(h) {\n var slots = this.slots,\n parent = this.parent,\n isActive = this.isActive;\n var slotContent = slots();\n\n if (process.env.NODE_ENV === 'development' && this.info) {\n console.warn('[Vant] Tab: \"info\" prop is deprecated, use \"badge\" prop instead.');\n }\n\n if (!slotContent && !parent.animated) {\n return;\n }\n\n var show = parent.scrollspy || isActive;\n var shouldRender = this.inited || parent.scrollspy || !parent.lazyRender;\n var Content = shouldRender ? slotContent : h();\n\n if (parent.animated) {\n return h(\"div\", {\n \"attrs\": {\n \"role\": \"tabpanel\",\n \"aria-hidden\": !isActive\n },\n \"class\": bem('pane-wrapper', {\n inactive: !isActive\n })\n }, [h(\"div\", {\n \"class\": bem('pane')\n }, [Content])]);\n }\n\n return h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: show\n }],\n \"attrs\": {\n \"role\": \"tabpanel\"\n },\n \"class\": bem('pane')\n }, [Content]);\n }\n});","var lockCount = 0;\nexport function lockClick(lock) {\n if (lock) {\n if (!lockCount) {\n document.body.classList.add('van-toast--unclickable');\n }\n\n lockCount++;\n } else {\n lockCount--;\n\n if (!lockCount) {\n document.body.classList.remove('van-toast--unclickable');\n }\n }\n}","export var context = {\n zIndex: 2000,\n lockCount: 0,\n stack: [],\n find: function find(vm) {\n return this.stack.filter(function (item) {\n return item.vm === vm;\n })[0];\n },\n remove: function remove(vm) {\n var item = this.find(vm);\n if (!item) return;\n item.vm = null;\n item.overlay = null;\n var index = this.stack.indexOf(item);\n this.stack.splice(index, 1);\n }\n};","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n// Utils\nimport { createNamespace, isDef, noop } from '../utils';\nimport { inherit } from '../utils/functional';\nimport { preventDefault } from '../utils/dom/event'; // Types\n\nvar _createNamespace = createNamespace('overlay'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction preventTouchMove(event) {\n preventDefault(event, true);\n}\n\nfunction Overlay(h, props, slots, ctx) {\n var style = _extends({\n zIndex: props.zIndex\n }, props.customStyle);\n\n if (isDef(props.duration)) {\n style.animationDuration = props.duration + \"s\";\n }\n\n return h(\"transition\", {\n \"attrs\": {\n \"name\": \"van-fade\"\n }\n }, [h(\"div\", _mergeJSXProps([{\n \"directives\": [{\n name: \"show\",\n value: props.show\n }],\n \"style\": style,\n \"class\": [bem(), props.className],\n \"on\": {\n \"touchmove\": props.lockScroll ? preventTouchMove : noop\n }\n }, inherit(ctx, true)]), [slots.default == null ? void 0 : slots.default()])]);\n}\n\nOverlay.props = {\n show: Boolean,\n zIndex: [Number, String],\n duration: [Number, String],\n className: null,\n customStyle: Object,\n lockScroll: {\n type: Boolean,\n default: true\n }\n};\nexport default createComponent(Overlay);","export function removeNode(el) {\n var parent = el.parentNode;\n\n if (parent) {\n parent.removeChild(el);\n }\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport Overlay from '../../overlay';\nimport { context } from './context';\nimport { mount } from '../../utils/functional';\nimport { removeNode } from '../../utils/dom/node';\nvar defaultConfig = {\n className: '',\n customStyle: {}\n};\n\nfunction mountOverlay(vm) {\n return mount(Overlay, {\n on: {\n // close popup when overlay clicked & closeOnClickOverlay is true\n click: function click() {\n vm.$emit('click-overlay');\n\n if (vm.closeOnClickOverlay) {\n if (vm.onClickOverlay) {\n vm.onClickOverlay();\n } else {\n vm.close();\n }\n }\n }\n }\n });\n}\n\nexport function updateOverlay(vm) {\n var item = context.find(vm);\n\n if (item) {\n var el = vm.$el;\n var config = item.config,\n overlay = item.overlay;\n\n if (el && el.parentNode) {\n el.parentNode.insertBefore(overlay.$el, el);\n }\n\n _extends(overlay, defaultConfig, config, {\n show: true\n });\n }\n}\nexport function openOverlay(vm, config) {\n var item = context.find(vm);\n\n if (item) {\n item.config = config;\n } else {\n var overlay = mountOverlay(vm);\n context.stack.push({\n vm: vm,\n config: config,\n overlay: overlay\n });\n }\n\n updateOverlay(vm);\n}\nexport function closeOverlay(vm) {\n var item = context.find(vm);\n\n if (item) {\n item.overlay.show = false;\n }\n}\nexport function removeOverlay(vm) {\n var item = context.find(vm);\n\n if (item) {\n removeNode(item.overlay.$el);\n context.remove(vm);\n }\n}","function getElement(selector) {\n if (typeof selector === 'string') {\n return document.querySelector(selector);\n }\n\n return selector();\n}\n\nexport function PortalMixin(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n ref = _ref.ref,\n afterPortal = _ref.afterPortal;\n\n return {\n props: {\n getContainer: [String, Function]\n },\n watch: {\n getContainer: 'portal'\n },\n mounted: function mounted() {\n if (this.getContainer) {\n this.portal();\n }\n },\n methods: {\n portal: function portal() {\n var getContainer = this.getContainer;\n var el = ref ? this.$refs[ref] : this.$el;\n var container;\n\n if (getContainer) {\n container = getElement(getContainer);\n } else if (this.$parent) {\n container = this.$parent.$el;\n }\n\n if (container && container !== el.parentNode) {\n container.appendChild(el);\n }\n\n if (afterPortal) {\n afterPortal.call(this);\n }\n }\n }\n };\n}","import { on, off } from '../utils/dom/event';\nimport { BindEventMixin } from './bind-event';\nexport var CloseOnPopstateMixin = {\n mixins: [BindEventMixin(function (bind, isBind) {\n this.handlePopstate(isBind && this.closeOnPopstate);\n })],\n props: {\n closeOnPopstate: Boolean\n },\n data: function data() {\n return {\n bindStatus: false\n };\n },\n watch: {\n closeOnPopstate: function closeOnPopstate(val) {\n this.handlePopstate(val);\n }\n },\n methods: {\n onPopstate: function onPopstate() {\n this.close();\n this.shouldReopen = false;\n },\n handlePopstate: function handlePopstate(bind) {\n /* istanbul ignore if */\n if (this.$isServer) {\n return;\n }\n\n if (this.bindStatus !== bind) {\n this.bindStatus = bind;\n var action = bind ? on : off;\n action(window, 'popstate', this.onPopstate);\n }\n }\n }\n};","// Context\nimport { context } from './context';\nimport { openOverlay, closeOverlay, updateOverlay, removeOverlay } from './overlay'; // Utils\n\nimport { on, off, preventDefault } from '../../utils/dom/event';\nimport { removeNode } from '../../utils/dom/node';\nimport { getScroller } from '../../utils/dom/scroll'; // Mixins\n\nimport { TouchMixin } from '../touch';\nimport { PortalMixin } from '../portal';\nimport { CloseOnPopstateMixin } from '../close-on-popstate';\nexport var popupMixinProps = {\n // Initial rendering animation\n transitionAppear: Boolean,\n // whether to show popup\n value: Boolean,\n // whether to show overlay\n overlay: Boolean,\n // overlay custom style\n overlayStyle: Object,\n // overlay custom class name\n overlayClass: String,\n // whether to close popup when overlay is clicked\n closeOnClickOverlay: Boolean,\n // z-index\n zIndex: [Number, String],\n // prevent body scroll\n lockScroll: {\n type: Boolean,\n default: true\n },\n // whether to lazy render\n lazyRender: {\n type: Boolean,\n default: true\n }\n};\nexport function PopupMixin(options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n mixins: [TouchMixin, CloseOnPopstateMixin, PortalMixin({\n afterPortal: function afterPortal() {\n if (this.overlay) {\n updateOverlay();\n }\n }\n })],\n provide: function provide() {\n return {\n vanPopup: this\n };\n },\n props: popupMixinProps,\n data: function data() {\n this.onReopenCallback = [];\n return {\n inited: this.value\n };\n },\n computed: {\n shouldRender: function shouldRender() {\n return this.inited || !this.lazyRender;\n }\n },\n watch: {\n value: function value(val) {\n var type = val ? 'open' : 'close';\n this.inited = this.inited || this.value;\n this[type]();\n\n if (!options.skipToggleEvent) {\n this.$emit(type);\n }\n },\n overlay: 'renderOverlay'\n },\n mounted: function mounted() {\n if (this.value) {\n this.open();\n }\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n if (this.shouldReopen) {\n this.$emit('input', true);\n this.shouldReopen = false;\n }\n },\n beforeDestroy: function beforeDestroy() {\n removeOverlay(this);\n\n if (this.opened) {\n this.removeLock();\n }\n\n if (this.getContainer) {\n removeNode(this.$el);\n }\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n if (this.value) {\n this.close();\n this.shouldReopen = true;\n }\n },\n methods: {\n open: function open() {\n /* istanbul ignore next */\n if (this.$isServer || this.opened) {\n return;\n } // cover default zIndex\n\n\n if (this.zIndex !== undefined) {\n context.zIndex = this.zIndex;\n }\n\n this.opened = true;\n this.renderOverlay();\n this.addLock();\n this.onReopenCallback.forEach(function (callback) {\n callback();\n });\n },\n addLock: function addLock() {\n if (this.lockScroll) {\n on(document, 'touchstart', this.touchStart);\n on(document, 'touchmove', this.onTouchMove);\n\n if (!context.lockCount) {\n document.body.classList.add('van-overflow-hidden');\n }\n\n context.lockCount++;\n }\n },\n removeLock: function removeLock() {\n if (this.lockScroll && context.lockCount) {\n context.lockCount--;\n off(document, 'touchstart', this.touchStart);\n off(document, 'touchmove', this.onTouchMove);\n\n if (!context.lockCount) {\n document.body.classList.remove('van-overflow-hidden');\n }\n }\n },\n close: function close() {\n if (!this.opened) {\n return;\n }\n\n closeOverlay(this);\n this.opened = false;\n this.removeLock();\n this.$emit('input', false);\n },\n onTouchMove: function onTouchMove(event) {\n this.touchMove(event);\n var direction = this.deltaY > 0 ? '10' : '01';\n var el = getScroller(event.target, this.$el);\n var scrollHeight = el.scrollHeight,\n offsetHeight = el.offsetHeight,\n scrollTop = el.scrollTop;\n var status = '11';\n /* istanbul ignore next */\n\n if (scrollTop === 0) {\n status = offsetHeight >= scrollHeight ? '00' : '01';\n } else if (scrollTop + offsetHeight >= scrollHeight) {\n status = '10';\n }\n /* istanbul ignore next */\n\n\n if (status !== '11' && this.direction === 'vertical' && !(parseInt(status, 2) & parseInt(direction, 2))) {\n preventDefault(event, true);\n }\n },\n renderOverlay: function renderOverlay() {\n var _this = this;\n\n if (this.$isServer || !this.value) {\n return;\n }\n\n this.$nextTick(function () {\n _this.updateZIndex(_this.overlay ? 1 : 0);\n\n if (_this.overlay) {\n openOverlay(_this, {\n zIndex: context.zIndex++,\n duration: _this.duration,\n className: _this.overlayClass,\n customStyle: _this.overlayStyle\n });\n } else {\n closeOverlay(_this);\n }\n });\n },\n updateZIndex: function updateZIndex(value) {\n if (value === void 0) {\n value = 0;\n }\n\n this.$el.style.zIndex = ++context.zIndex + value;\n },\n onReopen: function onReopen(callback) {\n this.onReopenCallback.push(callback);\n }\n }\n };\n}","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace, addUnit } from '../utils';\nimport { inherit } from '../utils/functional'; // Types\n\nvar _createNamespace = createNamespace('loading'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction LoadingIcon(h, props) {\n if (props.type === 'spinner') {\n var Spin = [];\n\n for (var i = 0; i < 12; i++) {\n Spin.push(h(\"i\"));\n }\n\n return Spin;\n }\n\n return h(\"svg\", {\n \"class\": bem('circular'),\n \"attrs\": {\n \"viewBox\": \"25 25 50 50\"\n }\n }, [h(\"circle\", {\n \"attrs\": {\n \"cx\": \"50\",\n \"cy\": \"50\",\n \"r\": \"20\",\n \"fill\": \"none\"\n }\n })]);\n}\n\nfunction LoadingText(h, props, slots) {\n if (slots.default) {\n var _props$textColor;\n\n var style = {\n fontSize: addUnit(props.textSize),\n color: (_props$textColor = props.textColor) != null ? _props$textColor : props.color\n };\n return h(\"span\", {\n \"class\": bem('text'),\n \"style\": style\n }, [slots.default()]);\n }\n}\n\nfunction Loading(h, props, slots, ctx) {\n var color = props.color,\n size = props.size,\n type = props.type;\n var style = {\n color: color\n };\n\n if (size) {\n var iconSize = addUnit(size);\n style.width = iconSize;\n style.height = iconSize;\n }\n\n return h(\"div\", _mergeJSXProps([{\n \"class\": bem([type, {\n vertical: props.vertical\n }])\n }, inherit(ctx, true)]), [h(\"span\", {\n \"class\": bem('spinner', type),\n \"style\": style\n }, [LoadingIcon(h, props)]), LoadingText(h, props, slots)]);\n}\n\nLoading.props = {\n color: String,\n size: [Number, String],\n vertical: Boolean,\n textSize: [Number, String],\n textColor: String,\n type: {\n type: String,\n default: 'circular'\n }\n};\nexport default createComponent(Loading);","// Utils\nimport { createNamespace, isDef } from '../utils';\nimport { lockClick } from './lock-click'; // Mixins\n\nimport { PopupMixin } from '../mixins/popup'; // Components\n\nimport Icon from '../icon';\nimport Loading from '../loading';\n\nvar _createNamespace = createNamespace('toast'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [PopupMixin()],\n props: {\n icon: String,\n className: null,\n iconPrefix: String,\n loadingType: String,\n forbidClick: Boolean,\n closeOnClick: Boolean,\n message: [Number, String],\n type: {\n type: String,\n default: 'text'\n },\n position: {\n type: String,\n default: 'middle'\n },\n transition: {\n type: String,\n default: 'van-fade'\n },\n lockScroll: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n clickable: false\n };\n },\n mounted: function mounted() {\n this.toggleClickable();\n },\n destroyed: function destroyed() {\n this.toggleClickable();\n },\n watch: {\n value: 'toggleClickable',\n forbidClick: 'toggleClickable'\n },\n methods: {\n onClick: function onClick() {\n if (this.closeOnClick) {\n this.close();\n }\n },\n toggleClickable: function toggleClickable() {\n var clickable = this.value && this.forbidClick;\n\n if (this.clickable !== clickable) {\n this.clickable = clickable;\n lockClick(clickable);\n }\n },\n\n /* istanbul ignore next */\n onAfterEnter: function onAfterEnter() {\n this.$emit('opened');\n\n if (this.onOpened) {\n this.onOpened();\n }\n },\n onAfterLeave: function onAfterLeave() {\n this.$emit('closed');\n },\n genIcon: function genIcon() {\n var h = this.$createElement;\n var icon = this.icon,\n type = this.type,\n iconPrefix = this.iconPrefix,\n loadingType = this.loadingType;\n var hasIcon = icon || type === 'success' || type === 'fail';\n\n if (hasIcon) {\n return h(Icon, {\n \"class\": bem('icon'),\n \"attrs\": {\n \"classPrefix\": iconPrefix,\n \"name\": icon || type\n }\n });\n }\n\n if (type === 'loading') {\n return h(Loading, {\n \"class\": bem('loading'),\n \"attrs\": {\n \"type\": loadingType\n }\n });\n }\n },\n genMessage: function genMessage() {\n var h = this.$createElement;\n var type = this.type,\n message = this.message;\n\n if (!isDef(message) || message === '') {\n return;\n }\n\n if (type === 'html') {\n return h(\"div\", {\n \"class\": bem('text'),\n \"domProps\": {\n \"innerHTML\": message\n }\n });\n }\n\n return h(\"div\", {\n \"class\": bem('text')\n }, [message]);\n }\n },\n render: function render() {\n var _ref;\n\n var h = arguments[0];\n return h(\"transition\", {\n \"attrs\": {\n \"name\": this.transition\n },\n \"on\": {\n \"afterEnter\": this.onAfterEnter,\n \"afterLeave\": this.onAfterLeave\n }\n }, [h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: this.value\n }],\n \"class\": [bem([this.position, (_ref = {}, _ref[this.type] = !this.icon, _ref)]), this.className],\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.genIcon(), this.genMessage()])]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport Vue from 'vue';\nimport VueToast from './Toast';\nimport { isObject, isServer } from '../utils';\nimport { removeNode } from '../utils/dom/node';\nvar defaultOptions = {\n icon: '',\n type: 'text',\n // @deprecated\n mask: false,\n value: true,\n message: '',\n className: '',\n overlay: false,\n onClose: null,\n onOpened: null,\n duration: 2000,\n iconPrefix: undefined,\n position: 'middle',\n transition: 'van-fade',\n forbidClick: false,\n loadingType: undefined,\n getContainer: 'body',\n overlayStyle: null,\n closeOnClick: false,\n closeOnClickOverlay: false\n}; // default options of specific type\n\nvar defaultOptionsMap = {};\nvar queue = [];\nvar multiple = false;\n\nvar currentOptions = _extends({}, defaultOptions);\n\nfunction parseOptions(message) {\n if (isObject(message)) {\n return message;\n }\n\n return {\n message: message\n };\n}\n\nfunction isInDocument(element) {\n return document.body.contains(element);\n}\n\nfunction createInstance() {\n /* istanbul ignore if */\n if (isServer) {\n return {};\n }\n\n queue = queue.filter(function (item) {\n return !item.$el.parentNode || isInDocument(item.$el);\n });\n\n if (!queue.length || multiple) {\n var toast = new (Vue.extend(VueToast))({\n el: document.createElement('div')\n });\n toast.$on('input', function (value) {\n toast.value = value;\n });\n queue.push(toast);\n }\n\n return queue[queue.length - 1];\n} // transform toast options to popup props\n\n\nfunction transformOptions(options) {\n return _extends({}, options, {\n overlay: options.mask || options.overlay,\n mask: undefined,\n duration: undefined\n });\n}\n\nfunction Toast(options) {\n if (options === void 0) {\n options = {};\n }\n\n var toast = createInstance(); // should add z-index if previous toast has not disappeared\n\n if (toast.value) {\n toast.updateZIndex();\n }\n\n options = parseOptions(options);\n options = _extends({}, currentOptions, defaultOptionsMap[options.type || currentOptions.type], options);\n\n if (process.env.NODE_ENV === 'development' && options.mask) {\n console.warn('[Vant] Toast: \"mask\" option is deprecated, use \"overlay\" option instead.');\n }\n\n options.clear = function () {\n toast.value = false;\n\n if (options.onClose) {\n options.onClose();\n options.onClose = null;\n }\n\n if (multiple && !isServer) {\n toast.$on('closed', function () {\n clearTimeout(toast.timer);\n queue = queue.filter(function (item) {\n return item !== toast;\n });\n removeNode(toast.$el);\n toast.$destroy();\n });\n }\n };\n\n _extends(toast, transformOptions(options));\n\n clearTimeout(toast.timer);\n\n if (options.duration > 0) {\n toast.timer = setTimeout(function () {\n toast.clear();\n }, options.duration);\n }\n\n return toast;\n}\n\nvar createMethod = function createMethod(type) {\n return function (options) {\n return Toast(_extends({\n type: type\n }, parseOptions(options)));\n };\n};\n\n['loading', 'success', 'fail'].forEach(function (method) {\n Toast[method] = createMethod(method);\n});\n\nToast.clear = function (all) {\n if (queue.length) {\n if (all) {\n queue.forEach(function (toast) {\n toast.clear();\n });\n queue = [];\n } else if (!multiple) {\n queue[0].clear();\n } else {\n queue.shift().clear();\n }\n }\n};\n\nToast.setDefaultOptions = function (type, options) {\n if (typeof type === 'string') {\n defaultOptionsMap[type] = options;\n } else {\n _extends(currentOptions, type);\n }\n};\n\nToast.resetDefaultOptions = function (type) {\n if (typeof type === 'string') {\n defaultOptionsMap[type] = null;\n } else {\n currentOptions = _extends({}, defaultOptions);\n defaultOptionsMap = {};\n }\n};\n\nToast.allowMultiple = function (value) {\n if (value === void 0) {\n value = true;\n }\n\n multiple = value;\n};\n\nToast.install = function () {\n Vue.use(VueToast);\n};\n\nVue.prototype.$toast = Toast;\nexport default Toast;","export function isHidden(el) {\n var style = window.getComputedStyle(el);\n var hidden = style.display === 'none'; // offsetParent returns null in the following situations:\n // 1. The element or its parent element has the display property set to none.\n // 2. The element has the position property set to fixed\n\n var parentHidden = el.offsetParent === null && style.position !== 'fixed';\n return hidden || parentHidden;\n}","import { createNamespace, isDef } from '../utils';\nimport Info from '../info';\n\nvar _createNamespace = createNamespace('tab'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n props: {\n dot: Boolean,\n type: String,\n info: [Number, String],\n color: String,\n title: String,\n isActive: Boolean,\n disabled: Boolean,\n scrollable: Boolean,\n activeColor: String,\n inactiveColor: String\n },\n computed: {\n style: function style() {\n var style = {};\n var color = this.color,\n isActive = this.isActive;\n var isCard = this.type === 'card'; // card theme color\n\n if (color && isCard) {\n style.borderColor = color;\n\n if (!this.disabled) {\n if (isActive) {\n style.backgroundColor = color;\n } else {\n style.color = color;\n }\n }\n }\n\n var titleColor = isActive ? this.activeColor : this.inactiveColor;\n\n if (titleColor) {\n style.color = titleColor;\n }\n\n return style;\n }\n },\n methods: {\n onClick: function onClick() {\n this.$emit('click');\n },\n genText: function genText() {\n var h = this.$createElement;\n var Text = h(\"span\", {\n \"class\": bem('text', {\n ellipsis: !this.scrollable\n })\n }, [this.slots() || this.title]);\n\n if (this.dot || isDef(this.info) && this.info !== '') {\n return h(\"span\", {\n \"class\": bem('text-wrapper')\n }, [Text, h(Info, {\n \"attrs\": {\n \"dot\": this.dot,\n \"info\": this.info\n }\n })]);\n }\n\n return Text;\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"attrs\": {\n \"role\": \"tab\",\n \"aria-selected\": this.isActive\n },\n \"class\": [bem({\n active: this.isActive,\n disabled: this.disabled\n })],\n \"style\": this.style,\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.genText()]);\n }\n});","import { isHidden } from '../utils/dom/style';\nimport { unitToPx } from '../utils/format/unit';\nimport { createNamespace, isDef, isServer } from '../utils';\nimport { getScrollTop, getElementTop, getScroller } from '../utils/dom/scroll';\nimport { BindEventMixin } from '../mixins/bind-event';\n\nvar _createNamespace = createNamespace('sticky'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [BindEventMixin(function (bind, isBind) {\n if (!this.scroller) {\n this.scroller = getScroller(this.$el);\n }\n\n if (this.observer) {\n var method = isBind ? 'observe' : 'unobserve';\n this.observer[method](this.$el);\n }\n\n bind(this.scroller, 'scroll', this.onScroll, true);\n this.onScroll();\n })],\n props: {\n zIndex: [Number, String],\n container: null,\n offsetTop: {\n type: [Number, String],\n default: 0\n }\n },\n data: function data() {\n return {\n fixed: false,\n height: 0,\n transform: 0\n };\n },\n computed: {\n offsetTopPx: function offsetTopPx() {\n return unitToPx(this.offsetTop);\n },\n style: function style() {\n if (!this.fixed) {\n return;\n }\n\n var style = {};\n\n if (isDef(this.zIndex)) {\n style.zIndex = this.zIndex;\n }\n\n if (this.offsetTopPx && this.fixed) {\n style.top = this.offsetTopPx + \"px\";\n }\n\n if (this.transform) {\n style.transform = \"translate3d(0, \" + this.transform + \"px, 0)\";\n }\n\n return style;\n }\n },\n watch: {\n fixed: function fixed(isFixed) {\n this.$emit('change', isFixed);\n }\n },\n created: function created() {\n var _this = this;\n\n // compatibility: https://caniuse.com/#feat=intersectionobserver\n if (!isServer && window.IntersectionObserver) {\n this.observer = new IntersectionObserver(function (entries) {\n // trigger scroll when visibility changed\n if (entries[0].intersectionRatio > 0) {\n _this.onScroll();\n }\n }, {\n root: document.body\n });\n }\n },\n methods: {\n onScroll: function onScroll() {\n var _this2 = this;\n\n if (isHidden(this.$el)) {\n return;\n }\n\n this.height = this.$el.offsetHeight;\n var container = this.container,\n offsetTopPx = this.offsetTopPx;\n var scrollTop = getScrollTop(window);\n var topToPageTop = getElementTop(this.$el);\n\n var emitScrollEvent = function emitScrollEvent() {\n _this2.$emit('scroll', {\n scrollTop: scrollTop,\n isFixed: _this2.fixed\n });\n }; // The sticky component should be kept inside the container element\n\n\n if (container) {\n var bottomToPageTop = topToPageTop + container.offsetHeight;\n\n if (scrollTop + offsetTopPx + this.height > bottomToPageTop) {\n var distanceToBottom = this.height + scrollTop - bottomToPageTop;\n\n if (distanceToBottom < this.height) {\n this.fixed = true;\n this.transform = -(distanceToBottom + offsetTopPx);\n } else {\n this.fixed = false;\n }\n\n emitScrollEvent();\n return;\n }\n }\n\n if (scrollTop + offsetTopPx > topToPageTop) {\n this.fixed = true;\n this.transform = 0;\n } else {\n this.fixed = false;\n }\n\n emitScrollEvent();\n }\n },\n render: function render() {\n var h = arguments[0];\n var fixed = this.fixed;\n var style = {\n height: fixed ? this.height + \"px\" : null\n };\n return h(\"div\", {\n \"style\": style\n }, [h(\"div\", {\n \"class\": bem({\n fixed: fixed\n }),\n \"style\": this.style\n }, [this.slots()])]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport { TouchMixin } from '../mixins/touch';\n\nvar _createNamespace = createNamespace('tabs'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar MIN_SWIPE_DISTANCE = 50;\nexport default createComponent({\n mixins: [TouchMixin],\n props: {\n count: Number,\n duration: [Number, String],\n animated: Boolean,\n swipeable: Boolean,\n currentIndex: Number\n },\n computed: {\n style: function style() {\n if (this.animated) {\n return {\n transform: \"translate3d(\" + -1 * this.currentIndex * 100 + \"%, 0, 0)\",\n transitionDuration: this.duration + \"s\"\n };\n }\n },\n listeners: function listeners() {\n if (this.swipeable) {\n return {\n touchstart: this.touchStart,\n touchmove: this.touchMove,\n touchend: this.onTouchEnd,\n touchcancel: this.onTouchEnd\n };\n }\n }\n },\n methods: {\n // watch swipe touch end\n onTouchEnd: function onTouchEnd() {\n var direction = this.direction,\n deltaX = this.deltaX,\n currentIndex = this.currentIndex;\n /* istanbul ignore else */\n\n if (direction === 'horizontal' && this.offsetX >= MIN_SWIPE_DISTANCE) {\n /* istanbul ignore else */\n if (deltaX > 0 && currentIndex !== 0) {\n this.$emit('change', currentIndex - 1);\n } else if (deltaX < 0 && currentIndex !== this.count - 1) {\n this.$emit('change', currentIndex + 1);\n }\n }\n },\n genChildren: function genChildren() {\n var h = this.$createElement;\n\n if (this.animated) {\n return h(\"div\", {\n \"class\": bem('track'),\n \"style\": this.style\n }, [this.slots()]);\n }\n\n return this.slots();\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem('content', {\n animated: this.animated\n }),\n \"on\": _extends({}, this.listeners)\n }, [this.genChildren()]);\n }\n});","// Utils\nimport { createNamespace, isDef, addUnit } from '../utils';\nimport { scrollLeftTo, scrollTopTo } from './utils';\nimport { route } from '../utils/router';\nimport { isHidden } from '../utils/dom/style';\nimport { on, off } from '../utils/dom/event';\nimport { unitToPx } from '../utils/format/unit';\nimport { BORDER_TOP_BOTTOM } from '../utils/constant';\nimport { callInterceptor } from '../utils/interceptor';\nimport { getScroller, getVisibleTop, getElementTop, getVisibleHeight, setRootScrollTop } from '../utils/dom/scroll'; // Mixins\n\nimport { ParentMixin } from '../mixins/relation';\nimport { BindEventMixin } from '../mixins/bind-event'; // Components\n\nimport Title from './Title';\nimport Sticky from '../sticky';\nimport Content from './Content';\n\nvar _createNamespace = createNamespace('tabs'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanTabs'), BindEventMixin(function (bind) {\n if (!this.scroller) {\n this.scroller = getScroller(this.$el);\n }\n\n bind(window, 'resize', this.resize, true);\n\n if (this.scrollspy) {\n bind(this.scroller, 'scroll', this.onScroll, true);\n }\n })],\n inject: {\n vanPopup: {\n default: null\n }\n },\n model: {\n prop: 'active'\n },\n props: {\n color: String,\n border: Boolean,\n sticky: Boolean,\n animated: Boolean,\n swipeable: Boolean,\n scrollspy: Boolean,\n background: String,\n lineWidth: [Number, String],\n lineHeight: [Number, String],\n beforeChange: Function,\n titleActiveColor: String,\n titleInactiveColor: String,\n type: {\n type: String,\n default: 'line'\n },\n active: {\n type: [Number, String],\n default: 0\n },\n ellipsis: {\n type: Boolean,\n default: true\n },\n duration: {\n type: [Number, String],\n default: 0.3\n },\n offsetTop: {\n type: [Number, String],\n default: 0\n },\n lazyRender: {\n type: Boolean,\n default: true\n },\n swipeThreshold: {\n type: [Number, String],\n default: 5\n }\n },\n data: function data() {\n return {\n position: '',\n currentIndex: null,\n lineStyle: {\n backgroundColor: this.color\n }\n };\n },\n computed: {\n // whether the nav is scrollable\n scrollable: function scrollable() {\n return this.children.length > this.swipeThreshold || !this.ellipsis;\n },\n navStyle: function navStyle() {\n return {\n borderColor: this.color,\n background: this.background\n };\n },\n currentName: function currentName() {\n var activeTab = this.children[this.currentIndex];\n\n if (activeTab) {\n return activeTab.computedName;\n }\n },\n offsetTopPx: function offsetTopPx() {\n return unitToPx(this.offsetTop);\n },\n scrollOffset: function scrollOffset() {\n if (this.sticky) {\n return this.offsetTopPx + this.tabHeight;\n }\n\n return 0;\n }\n },\n watch: {\n color: 'setLine',\n active: function active(name) {\n if (name !== this.currentName) {\n this.setCurrentIndexByName(name);\n }\n },\n children: function children() {\n var _this = this;\n\n this.setCurrentIndexByName(this.active);\n this.setLine();\n this.$nextTick(function () {\n _this.scrollIntoView(true);\n });\n },\n currentIndex: function currentIndex() {\n this.scrollIntoView();\n this.setLine(); // scroll to correct position\n\n if (this.stickyFixed && !this.scrollspy) {\n setRootScrollTop(Math.ceil(getElementTop(this.$el) - this.offsetTopPx));\n }\n },\n scrollspy: function scrollspy(val) {\n if (val) {\n on(this.scroller, 'scroll', this.onScroll, true);\n } else {\n off(this.scroller, 'scroll', this.onScroll);\n }\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.init(); // https://github.com/vant-ui/vant/issues/7959\n\n if (this.vanPopup) {\n this.vanPopup.onReopen(function () {\n _this2.setLine();\n });\n }\n },\n activated: function activated() {\n this.init();\n this.setLine();\n },\n methods: {\n // @exposed-api\n resize: function resize() {\n this.setLine();\n },\n init: function init() {\n var _this3 = this;\n\n this.$nextTick(function () {\n _this3.inited = true;\n _this3.tabHeight = getVisibleHeight(_this3.$refs.wrap);\n\n _this3.scrollIntoView(true);\n });\n },\n // update nav bar style\n setLine: function setLine() {\n var _this4 = this;\n\n var shouldAnimate = this.inited;\n this.$nextTick(function () {\n var titles = _this4.$refs.titles;\n\n if (!titles || !titles[_this4.currentIndex] || _this4.type !== 'line' || isHidden(_this4.$el)) {\n return;\n }\n\n var title = titles[_this4.currentIndex].$el;\n var lineWidth = _this4.lineWidth,\n lineHeight = _this4.lineHeight;\n var left = title.offsetLeft + title.offsetWidth / 2;\n var lineStyle = {\n width: addUnit(lineWidth),\n backgroundColor: _this4.color,\n transform: \"translateX(\" + left + \"px) translateX(-50%)\"\n };\n\n if (shouldAnimate) {\n lineStyle.transitionDuration = _this4.duration + \"s\";\n }\n\n if (isDef(lineHeight)) {\n var height = addUnit(lineHeight);\n lineStyle.height = height;\n lineStyle.borderRadius = height;\n }\n\n _this4.lineStyle = lineStyle;\n });\n },\n // correct the index of active tab\n setCurrentIndexByName: function setCurrentIndexByName(name) {\n var matched = this.children.filter(function (tab) {\n return tab.computedName === name;\n });\n var defaultIndex = (this.children[0] || {}).index || 0;\n this.setCurrentIndex(matched.length ? matched[0].index : defaultIndex);\n },\n setCurrentIndex: function setCurrentIndex(currentIndex) {\n var newIndex = this.findAvailableTab(currentIndex);\n\n if (!isDef(newIndex)) {\n return;\n }\n\n var newTab = this.children[newIndex];\n var newName = newTab.computedName;\n var shouldEmitChange = this.currentIndex !== null;\n this.currentIndex = newIndex;\n\n if (newName !== this.active) {\n this.$emit('input', newName);\n\n if (shouldEmitChange) {\n this.$emit('change', newName, newTab.title);\n }\n }\n },\n findAvailableTab: function findAvailableTab(index) {\n var diff = index < this.currentIndex ? -1 : 1;\n\n while (index >= 0 && index < this.children.length) {\n if (!this.children[index].disabled) {\n return index;\n }\n\n index += diff;\n }\n },\n // emit event when clicked\n onClick: function onClick(item, index) {\n var _this5 = this;\n\n var _this$children$index = this.children[index],\n title = _this$children$index.title,\n disabled = _this$children$index.disabled,\n computedName = _this$children$index.computedName;\n\n if (disabled) {\n this.$emit('disabled', computedName, title);\n } else {\n callInterceptor({\n interceptor: this.beforeChange,\n args: [computedName],\n done: function done() {\n _this5.setCurrentIndex(index);\n\n _this5.scrollToCurrentContent();\n }\n });\n this.$emit('click', computedName, title);\n route(item.$router, item);\n }\n },\n // scroll active tab into view\n scrollIntoView: function scrollIntoView(immediate) {\n var titles = this.$refs.titles;\n\n if (!this.scrollable || !titles || !titles[this.currentIndex]) {\n return;\n }\n\n var nav = this.$refs.nav;\n var title = titles[this.currentIndex].$el;\n var to = title.offsetLeft - (nav.offsetWidth - title.offsetWidth) / 2;\n scrollLeftTo(nav, to, immediate ? 0 : +this.duration);\n },\n onSticktScroll: function onSticktScroll(params) {\n this.stickyFixed = params.isFixed;\n this.$emit('scroll', params);\n },\n // @exposed-api\n scrollTo: function scrollTo(name) {\n var _this6 = this;\n\n this.$nextTick(function () {\n _this6.setCurrentIndexByName(name);\n\n _this6.scrollToCurrentContent(true);\n });\n },\n scrollToCurrentContent: function scrollToCurrentContent(immediate) {\n var _this7 = this;\n\n if (immediate === void 0) {\n immediate = false;\n }\n\n if (this.scrollspy) {\n var target = this.children[this.currentIndex];\n var el = target == null ? void 0 : target.$el;\n\n if (el) {\n var to = getElementTop(el, this.scroller) - this.scrollOffset;\n this.lockScroll = true;\n scrollTopTo(this.scroller, to, immediate ? 0 : +this.duration, function () {\n _this7.lockScroll = false;\n });\n }\n }\n },\n onScroll: function onScroll() {\n if (this.scrollspy && !this.lockScroll) {\n var index = this.getCurrentIndexOnScroll();\n this.setCurrentIndex(index);\n }\n },\n getCurrentIndexOnScroll: function getCurrentIndexOnScroll() {\n var children = this.children;\n\n for (var index = 0; index < children.length; index++) {\n var top = getVisibleTop(children[index].$el);\n\n if (top > this.scrollOffset) {\n return index === 0 ? 0 : index - 1;\n }\n }\n\n return children.length - 1;\n }\n },\n render: function render() {\n var _this8 = this,\n _ref;\n\n var h = arguments[0];\n var type = this.type,\n animated = this.animated,\n scrollable = this.scrollable;\n var Nav = this.children.map(function (item, index) {\n var _item$badge;\n\n return h(Title, {\n \"ref\": \"titles\",\n \"refInFor\": true,\n \"attrs\": {\n \"type\": type,\n \"dot\": item.dot,\n \"info\": (_item$badge = item.badge) != null ? _item$badge : item.info,\n \"title\": item.title,\n \"color\": _this8.color,\n \"isActive\": index === _this8.currentIndex,\n \"disabled\": item.disabled,\n \"scrollable\": scrollable,\n \"activeColor\": _this8.titleActiveColor,\n \"inactiveColor\": _this8.titleInactiveColor\n },\n \"style\": item.titleStyle,\n \"class\": item.titleClass,\n \"scopedSlots\": {\n default: function _default() {\n return item.slots('title');\n }\n },\n \"on\": {\n \"click\": function click() {\n _this8.onClick(item, index);\n }\n }\n });\n });\n var Wrap = h(\"div\", {\n \"ref\": \"wrap\",\n \"class\": [bem('wrap', {\n scrollable: scrollable\n }), (_ref = {}, _ref[BORDER_TOP_BOTTOM] = type === 'line' && this.border, _ref)]\n }, [h(\"div\", {\n \"ref\": \"nav\",\n \"attrs\": {\n \"role\": \"tablist\"\n },\n \"class\": bem('nav', [type, {\n complete: this.scrollable\n }]),\n \"style\": this.navStyle\n }, [this.slots('nav-left'), Nav, type === 'line' && h(\"div\", {\n \"class\": bem('line'),\n \"style\": this.lineStyle\n }), this.slots('nav-right')])]);\n return h(\"div\", {\n \"class\": bem([type])\n }, [this.sticky ? h(Sticky, {\n \"attrs\": {\n \"container\": this.$el,\n \"offsetTop\": this.offsetTop\n },\n \"on\": {\n \"scroll\": this.onSticktScroll\n }\n }, [Wrap]) : Wrap, h(Content, {\n \"attrs\": {\n \"count\": this.children.length,\n \"animated\": animated,\n \"duration\": this.duration,\n \"swipeable\": this.swipeable,\n \"currentIndex\": this.currentIndex\n },\n \"on\": {\n \"change\": this.setCurrentIndex\n }\n }, [this.slots()])]);\n }\n});","import { raf } from '../utils/dom/raf';\nimport { getScrollTop, setScrollTop } from '../utils/dom/scroll';\nexport function scrollLeftTo(scroller, to, duration) {\n var count = 0;\n var from = scroller.scrollLeft;\n var frames = duration === 0 ? 1 : Math.round(duration * 1000 / 16);\n\n function animate() {\n scroller.scrollLeft += (to - from) / frames;\n\n if (++count < frames) {\n raf(animate);\n }\n }\n\n animate();\n}\nexport function scrollTopTo(scroller, to, duration, callback) {\n var current = getScrollTop(scroller);\n var isDown = current < to;\n var frames = duration === 0 ? 1 : Math.round(duration * 1000 / 16);\n var step = (to - current) / frames;\n\n function animate() {\n current += step;\n\n if (isDown && current > to || !isDown && current < to) {\n current = to;\n }\n\n setScrollTop(scroller, current);\n\n if (isDown && current < to || !isDown && current > to) {\n raf(animate);\n } else if (callback) {\n raf(callback);\n }\n }\n\n animate();\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.inherit = inherit;\nexports.emit = emit;\nexports.mount = mount;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar inheritKey = ['ref', 'key', 'style', 'class', 'attrs', 'refInFor', 'nativeOn', 'directives', 'staticClass', 'staticStyle'];\nvar mapInheritKey = {\n nativeOn: 'on'\n}; // inherit partial context, map nativeOn to on\n\nfunction inherit(context, inheritListeners) {\n var result = inheritKey.reduce(function (obj, key) {\n if (context.data[key]) {\n obj[mapInheritKey[key] || key] = context.data[key];\n }\n\n return obj;\n }, {});\n\n if (inheritListeners) {\n result.on = result.on || {};\n (0, _extends2.default)(result.on, context.data.on);\n }\n\n return result;\n} // emit event\n\n\nfunction emit(context, eventName) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var listeners = context.listeners[eventName];\n\n if (listeners) {\n if (Array.isArray(listeners)) {\n listeners.forEach(function (listener) {\n listener.apply(void 0, args);\n });\n } else {\n listeners.apply(void 0, args);\n }\n }\n} // mount functional component\n\n\nfunction mount(Component, data) {\n var instance = new _vue.default({\n el: document.createElement('div'),\n props: Component.props,\n render: function render(h) {\n return h(Component, (0, _extends2.default)({\n props: this.$props\n }, data));\n }\n });\n document.body.appendChild(instance.$el);\n return instance;\n}"],"sourceRoot":""}