{"version":3,"sources":["webpack:///./node_modules/vant/es/utils/dom/style.js","webpack:///./node_modules/vant/es/utils/dom/node.js","webpack:///./node_modules/vant/es/tab/index.js","webpack:///./src/static/coupon_empty.png","webpack:///./node_modules/vant/es/utils/dom/event.js","webpack:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///./node_modules/vant/es/sticky/index.js","webpack:///./node_modules/vant/es/mixins/touch.js","webpack:///./node_modules/vant/es/utils/dom/raf.js","webpack:///./node_modules/vant/es/utils/router.js","webpack:///./node_modules/vant/es/tabs/utils.js","webpack:///./node_modules/vant/es/utils/interceptor.js","webpack:///./node_modules/vant/es/tabs/Title.js","webpack:///./node_modules/vant/es/tabs/Content.js","webpack:///./node_modules/vant/es/tabs/index.js","webpack:///./node_modules/vant/es/mixins/bind-event.js","webpack:///./node_modules/vant/es/mixins/popup/context.js","webpack:///./node_modules/vant/es/overlay/index.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/core-js/modules/es.array.find.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/vant/es/utils/vnodes.js","webpack:///./node_modules/vant/es/mixins/relation.js","webpack:///./node_modules/vant/es/utils/dom/scroll.js","webpack:///./node_modules/core-js/modules/es.function.name.js","webpack:///./node_modules/vant/es/utils/constant.js","webpack:///./node_modules/vant/es/tabs/style/index.js","webpack:///./node_modules/vant/es/toast/lock-click.js","webpack:///./node_modules/vant/es/toast/Toast.js","webpack:///./node_modules/vant/es/toast/index.js","webpack:///./node_modules/vant/es/tab/style/index.js","webpack:///./node_modules/dayjs/plugin/isBetween.js","webpack:///./node_modules/vant/es/toast/style/index.js"],"names":["isHidden","el","style","window","getComputedStyle","hidden","display","parentHidden","offsetParent","position","removeNode","parent","parentNode","removeChild","_createNamespace","createComponent","bem","mixins","props","dot","Boolean","name","Number","String","info","badge","title","titleStyle","titleClass","disabled","data","inited","computed","computedName","_this$name","this","index","isActive","active","currentName","watch","setLine","scrollIntoView","val","_this","lazyRender","$nextTick","$emit","render","h","slots","slotContent","animated","show","scrollspy","shouldRender","Content","inactive","value","module","exports","supportsPassive","opts","Object","defineProperty","get","addEventListener","e","on","target","event","handler","passive","capture","off","removeEventListener","stopPropagation","preventDefault","isStopPropagation","cancelable","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","bind","isBind","scroller","$el","observer","method","onScroll","zIndex","container","offsetTop","type","default","fixed","height","transform","offsetTopPx","top","created","IntersectionObserver","entries","intersectionRatio","root","document","body","methods","_this2","offsetHeight","scrollTop","topToPageTop","emitScrollEvent","isFixed","bottomToPageTop","distanceToBottom","MIN_DISTANCE","getDirection","x","y","TouchMixin","direction","touchStart","resetTouchStatus","startX","touches","clientX","startY","clientY","touchMove","touch","deltaX","deltaY","offsetX","Math","abs","offsetY","bindTouchEvent","onTouchStart","onTouchMove","onTouchEnd","prev","Date","now","fallback","curr","ms","max","id","setTimeout","global","iRaf","requestAnimationFrame","iCancel","cancelAnimationFrame","clearTimeout","raf","call","cancelRaf","isRedundantNavigation","message","indexOf","route","router","config","to","url","replace","promise","catch","location","href","functionalRoute","context","$router","routeProps","scrollLeftRafId","scrollLeftTo","duration","count","from","scrollLeft","frames","round","animate","scrollTopTo","callback","current","isDown","step","callInterceptor","options","interceptor","returnVal","create","color","scrollable","activeColor","inactiveColor","isCard","borderColor","backgroundColor","titleColor","onClick","genText","$createElement","Text","ellipsis","MIN_SWIPE_DISTANCE","swipeable","currentIndex","transitionDuration","listeners","touchstart","touchmove","touchend","touchcancel","genChildren","resize","model","prop","border","sticky","background","lineWidth","lineHeight","beforeChange","Function","titleActiveColor","titleInactiveColor","swipeThreshold","lineStyle","children","length","navStyle","activeTab","unit","scrollOffset","tabHeight","setCurrentIndexByName","stickyFixed","ceil","mounted","init","activated","$refs","wrap","_this3","shouldAnimate","titles","left","offsetLeft","offsetWidth","width","borderRadius","matched","filter","tab","defaultIndex","setCurrentIndex","newIndex","findAvailableTab","newTab","newName","shouldEmitChange","diff","item","_this4","_this$children$index","scrollToCurrentContent","immediate","nav","onSticktScroll","params","scrollTo","_this5","_this6","lockScroll","getCurrentIndexOnScroll","_ref","_this7","Nav","map","_item$badge","Title","Wrap","complete","uid","BindEventMixin","unbind","deactivated","beforeDestroy","lockCount","stack","find","vm","preventTouchMove","Overlay","ctx","customStyle","animationDuration","className","defaultConfig","mountOverlay","click","closeOnClickOverlay","onClickOverlay","close","updateOverlay","overlay","insertBefore","openOverlay","push","closeOverlay","removeOverlay","getElement","selector","querySelector","PortalMixin","_temp","ref","afterPortal","getContainer","portal","$parent","appendChild","CloseOnPopstateMixin","handlePopstate","closeOnPopstate","bindStatus","onPopstate","shouldReopen","$isServer","action","popupMixinProps","transitionAppear","overlayStyle","overlayClass","PopupMixin","skipToggleEvent","open","opened","removeLock","renderOverlay","addLock","classList","add","remove","scrollHeight","status","parseInt","updateZIndex","$","$find","addToUnscopables","arrayMethodUsesToLength","FIND","SKIPS_HOLES","USES_TO_LENGTH","Array","proto","forced","callbackfn","runtime","Op","prototype","hasOwn","hasOwnProperty","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","obj","enumerable","configurable","writable","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","PromiseImpl","invoke","record","result","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","i","constructor","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","iter","toString","keys","object","reverse","pop","skipTempReset","charAt","slice","stop","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","flattenVNodes","vnodes","traverse","vnode","componentInstance","$children","$vnode","sortChildren","componentOptions","sort","a","b","ChildrenMixin","_parent","_inject","_computed","indexKey","inject","disableBindRelation","bindRelation","concat","ParentMixin","provide","isWindow","overflowScrollReg","getScroller","node","tagName","nodeType","_window$getComputedSt","overflowY","test","getScrollTop","pageYOffset","setScrollTop","scrollX","getRootScrollTop","documentElement","setRootScrollTop","getElementTop","getBoundingClientRect","getVisibleHeight","innerHeight","getVisibleTop","DESCRIPTORS","f","FunctionPrototype","FunctionPrototypeToString","nameRE","NAME","match","BORDER","BORDER_TOP","BORDER_LEFT","BORDER_SURROUND","BORDER_TOP_BOTTOM","lockClick","lock","icon","iconPrefix","loadingType","forbidClick","closeOnClick","transition","clickable","toggleClickable","destroyed","onAfterEnter","onOpened","onAfterLeave","genIcon","hasIcon","genMessage","defaultOptions","mask","onClose","defaultOptionsMap","queue","multiple","currentOptions","parseOptions","isInDocument","element","contains","createInstance","toast","extend","createElement","$on","transformOptions","clear","timer","$destroy","all","shift","setDefaultOptions","resetDefaultOptions","allowMultiple","install","use","$toast","t","isBetween","s","n","o","r","u","isAfter","isBefore"],"mappings":"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","file":"js/chunk-dfd612b8.f36b3fb2.js","sourcesContent":["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}","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 { 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});","module.exports = __webpack_public_path__ + \"img/coupon_empty.b70e2d78.png\";","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}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\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 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 { on } from '../utils/dom/event';\nvar MIN_DISTANCE = 10;\n\nfunction getDirection(x, y) {\n if (x > y && x > MIN_DISTANCE) {\n return 'horizontal';\n }\n\n if (y > x && y > MIN_DISTANCE) {\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]; // Fix: 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);\n this.direction = this.direction || getDirection(this.offsetX, this.offsetY);\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/youzan/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}","/**\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};","import { raf, cancelRaf } from '../utils/dom/raf';\nimport { getScrollTop, setScrollTop } from '../utils/dom/scroll';\nvar scrollLeftRafId;\nexport function scrollLeftTo(scroller, to, duration) {\n cancelRaf(scrollLeftRafId);\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 scrollLeftRafId = 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}","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}","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 _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 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 this.init();\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 _this2 = this;\n\n this.$nextTick(function () {\n _this2.inited = true;\n _this2.tabHeight = getVisibleHeight(_this2.$refs.wrap);\n\n _this2.scrollIntoView(true);\n });\n },\n // update nav bar style\n setLine: function setLine() {\n var _this3 = this;\n\n var shouldAnimate = this.inited;\n this.$nextTick(function () {\n var titles = _this3.$refs.titles;\n\n if (!titles || !titles[_this3.currentIndex] || _this3.type !== 'line' || isHidden(_this3.$el)) {\n return;\n }\n\n var title = titles[_this3.currentIndex].$el;\n var lineWidth = _this3.lineWidth,\n lineHeight = _this3.lineHeight;\n var left = title.offsetLeft + title.offsetWidth / 2;\n var lineStyle = {\n width: addUnit(lineWidth),\n backgroundColor: _this3.color,\n transform: \"translateX(\" + left + \"px) translateX(-50%)\"\n };\n\n if (shouldAnimate) {\n lineStyle.transitionDuration = _this3.duration + \"s\";\n }\n\n if (isDef(lineHeight)) {\n var height = addUnit(lineHeight);\n lineStyle.height = height;\n lineStyle.borderRadius = height;\n }\n\n _this3.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 _this4 = 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 _this4.setCurrentIndex(index);\n\n _this4.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 _this5 = this;\n\n this.$nextTick(function () {\n _this5.setCurrentIndexByName(name);\n\n _this5.scrollToCurrentContent(true);\n });\n },\n scrollToCurrentContent: function scrollToCurrentContent(immediate) {\n var _this6 = 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 _this6.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 _this7 = 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\": _this7.color,\n \"isActive\": index === _this7.currentIndex,\n \"disabled\": item.disabled,\n \"scrollable\": scrollable,\n \"activeColor\": _this7.titleActiveColor,\n \"inactiveColor\": _this7.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 _this7.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});","/**\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}","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};","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);","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 }\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 props: popupMixinProps,\n data: function data() {\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 },\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 }\n };\n}","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND);\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\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}","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 isWindow(val) {\n return val === window;\n} // get nearest scroll element\n// https://github.com/youzan/vant/issues/3823\n\n\nvar overflowScrollReg = /scroll|auto/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}","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\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 '../../style/base.css';\nimport '../../info/index.css';\nimport '../../sticky/index.css';\nimport '../index.css';","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}","// 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;","import '../../style/base.css';\nimport '../index.css';","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):e.dayjs_plugin_isBetween=t()}(this,function(){\"use strict\";return function(e,t,i){t.prototype.isBetween=function(e,t,s,f){var n=i(e),o=i(t),r=\"(\"===(f=f||\"()\")[0],u=\")\"===f[1];return(r?this.isAfter(n,s):!this.isBefore(n,s))&&(u?this.isBefore(o,s):!this.isAfter(o,s))||(r?this.isBefore(n,s):!this.isAfter(n,s))&&(u?this.isAfter(o,s):!this.isBefore(o,s))}}});\n","import '../../style/base.css';\nimport '../../overlay/index.css';\nimport '../../info/index.css';\nimport '../../icon/index.css';\nimport '../../popup/index.css';\nimport '../../loading/index.css';\nimport '../index.css';"],"sourceRoot":""}