chunk-7c9cf318.0a5da5a3.js.map 72 KB

1
  1. {"version":3,"sources":["webpack:///./node_modules/_vant@2.4.7@vant/es/mixins/bind-event.js","webpack:///./node_modules/_@vue_babel-helper-vue-jsx-merge-props@1.0.0@@vue/babel-helper-vue-jsx-merge-props/dist/helper.js","webpack:///./node_modules/_vant@2.4.7@vant/es/info/index.js","webpack:///./node_modules/_vant@2.4.7@vant/es/tabs/utils.js","webpack:///./node_modules/_vant@2.4.7@vant/es/utils/dom/style.js","webpack:///./node_modules/_vant@2.4.7@vant/es/utils/constant.js","webpack:///./node_modules/_vant@2.4.7@vant/es/tabs/Title.js","webpack:///./node_modules/_vant@2.4.7@vant/es/sticky/index.js","webpack:///./node_modules/_vant@2.4.7@vant/es/tabs/Content.js","webpack:///./node_modules/_vant@2.4.7@vant/es/tabs/index.js","webpack:///./node_modules/_vant@2.4.7@vant/es/utils/dom/raf.js","webpack:///./node_modules/_vant@2.4.7@vant/es/utils/dom/scroll.js","webpack:///./node_modules/_vant@2.4.7@vant/es/tab/style/index.js","webpack:///./node_modules/_vant@2.4.7@vant/es/utils/validate/number.js","webpack:///./node_modules/_vant@2.4.7@vant/es/utils/format/unit.js","webpack:///./node_modules/_vant@2.4.7@vant/es/utils/create/bem.js","webpack:///./node_modules/_vant@2.4.7@vant/es/utils/format/string.js","webpack:///./node_modules/_vant@2.4.7@vant/es/mixins/slots.js","webpack:///./node_modules/_vant@2.4.7@vant/es/utils/create/component.js","webpack:///./node_modules/_vant@2.4.7@vant/es/utils/deep-assign.js","webpack:///./node_modules/_vant@2.4.7@vant/es/locale/lang/zh-CN.js","webpack:///./node_modules/_vant@2.4.7@vant/es/locale/index.js","webpack:///./node_modules/_vant@2.4.7@vant/es/utils/create/i18n.js","webpack:///./node_modules/_vant@2.4.7@vant/es/utils/create/index.js","webpack:///./node_modules/_vant@2.4.7@vant/es/mixins/relation.js","webpack:///./node_modules/_vant@2.4.7@vant/es/utils/dom/event.js","webpack:///./node_modules/_vant@2.4.7@vant/es/tab/index.js","webpack:///./node_modules/_vant@2.4.7@vant/es/utils/functional.js","webpack:///./node_modules/_vant@2.4.7@vant/es/mixins/touch.js","webpack:///./node_modules/_vant@2.4.7@vant/es/utils/router.js","webpack:///./node_modules/_vant@2.4.7@vant/es/utils/index.js","webpack:///./node_modules/_vant@2.4.7@vant/es/tabs/style/index.js","webpack:///./node_modules/_@babel_runtime@7.8.4@@babel/runtime/helpers/esm/extends.js"],"names":["BindEventMixin","handler","bind","this","binded","call","unbind","mounted","activated","deactivated","beforeDestroy","_extends","Object","assign","a","b","c","arguments","length","d","prototype","hasOwnProperty","apply","normalMerge","toArrayMerge","functionalMerge","mergeJsxProps","reduce","indexOf","Array","e","concat","f","g","h","i","mergeFn","module","exports","_createNamespace","createComponent","bem","Info","props","slots","ctx","dot","info","showInfo","Boolean","Number","String","scrollLeftRafId","scrollLeftTo","el","to","duration","count","from","scrollLeft","frames","Math","round","animate","raf","scrollTopTo","cb","current","isDown","step","isHidden","style","window","getComputedStyle","hidden","display","parentHidden","offsetParent","position","BORDER","BORDER_TOP_BOTTOM","create","type","color","title","isActive","ellipsis","disabled","scrollable","activeColor","inactiveColor","swipeThreshold","computed","isCard","borderColor","backgroundColor","titleColor","flexBasis","methods","onClick","$emit","render","active","complete","mixins","scroller","$el","onScroll","zIndex","container","offsetTop","default","data","fixed","height","transform","top","_this","offsetHeight","scrollTop","topToPageTop","emitScrollEvent","isFixed","bottomToPageTop","distanceToBottom","MIN_SWIPE_DISTANCE","animated","swipeable","currentIndex","transitionDuration","listeners","touchstart","touchStart","touchmove","touchMove","touchend","onTouchEnd","touchcancel","direction","deltaX","offsetX","genChildren","$createElement","resize","scrollspy","model","prop","sticky","background","lineWidth","lineHeight","titleActiveColor","titleInactiveColor","border","lazyRender","lineStyle","children","navStyle","currentName","activeTab","computedName","scrollOffset","tabHeight","watch","name","setCurrentIndexByName","setLine","$nextTick","scrollIntoView","stickyFixed","ceil","val","onShow","_this2","inited","$refs","wrap","_this3","shouldAnimate","titles","width","offsetWidth","left","offsetLeft","borderRadius","matched","filter","tab","defaultIndex","index","setCurrentIndex","findAvailableTab","shouldEmitChange","diff","_this$children$index","scrollToCurrentContent","immediate","nav","onSticktScroll","params","_this4","clickedScroll","instance","getCurrentIndexOnScroll","_ref","_this5","Nav","map","item","Title","titleStyle","$router","Wrap","Content","prev","Date","now","fallback","fn","curr","ms","max","id","setTimeout","root","global","iRaf","requestAnimationFrame","iCancel","cancelAnimationFrame","clearTimeout","doubleRaf","cancelRaf","isWindow","overflowScrollReg","getScroller","node","tagName","nodeType","_window$getComputedSt","overflowY","test","_window$getComputedSt2","parentNode","htmlOverflowY","getScrollTop","pageYOffset","setScrollTop","value","scrollTo","scrollX","getRootScrollTop","document","documentElement","body","setRootScrollTop","getElementTop","getBoundingClientRect","getVisibleHeight","innerHeight","getVisibleTop","isNumeric","addUnit","ELEMENT","MODS","join","symbol","mods","isArray","ret","keys","forEach","key","createBEM","camelizeRE","camelize","str","replace","_","toUpperCase","SlotsMixin","extend","$slots","$scopedSlots","scopedSlot","install","Vue","component","unifySlots","context","scopedSlots","transformFunctionComponent","pure","functional","sfc","push","assignKey","deepAssign","tel","save","confirm","cancel","delete","loading","telEmpty","nameEmpty","nameInvalid","confirmDelete","telInvalid","vanCalendar","end","start","weekdays","monthTitle","year","month","rangePrompt","maxRange","vanContactCard","addText","vanContactList","vanPagination","next","vanPullRefresh","pulling","loosing","vanSubmitBar","label","vanCoupon","unlimited","discount","_discount","condition","_condition","vanCouponCell","tips","_count","vanCouponList","empty","exchange","close","enable","placeholder","vanAddressEdit","area","postal","areaEmpty","addressEmpty","postalEmpty","defaultAddress","telPlaceholder","namePlaceholder","areaPlaceholder","vanAddressEditDetail","vanAddressList","add","proto","defineReactive","util","messages","$vantMessages","$vantLang","use","lang","_this$add","createI18N","prefix","path","locale","message","_len","args","_key","createNamespace","flattenVNodes","vnodes","result","traverse","vnode","ChildrenMixin","_parent","options","_inject","_computed","indexKey","inject","parent","disableBindRelation","bindRelation","sort","$vnode","ParentMixin","provide","supportsPassive","opts","defineProperty","get","addEventListener","on","target","event","passive","capture","off","removeEventListener","stopPropagation","preventDefault","isStopPropagation","cancelable","shouldRender","show","inactive","inheritKey","mapInheritKey","nativeOn","inherit","inheritListeners","obj","mount","Component","createElement","$props","appendChild","MIN_DISTANCE","getDirection","x","y","TouchMixin","resetTouchStatus","startX","touches","clientX","startY","clientY","touch","deltaY","abs","offsetY","bindTouchEvent","onTouchStart","onTouchMove","route","router","config","url","promise","catch","err","location","href","routeProps","isServer","$isServer","isDef","undefined","isFunction","isObject","object","split","source"],"mappings":"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","file":"h5/js/chunk-7c9cf318.0a5da5a3.js","sourcesContent":["/**\n * Bind event when mounted or activated\n */\nimport { on, off } from '../utils/dom/event';\nexport function BindEventMixin(handler) {\n function bind() {\n if (!this.binded) {\n handler.call(this, on, true);\n this.binded = true;\n }\n }\n\n function unbind() {\n if (this.binded) {\n handler.call(this, off, false);\n this.binded = false;\n }\n }\n\n return {\n mounted: bind,\n activated: bind,\n deactivated: unbind,\n beforeDestroy: unbind\n };\n}","\"use strict\";function _extends(){return _extends=Object.assign||function(a){for(var b,c=1;c<arguments.length;c++)for(var d in b=arguments[c],b)Object.prototype.hasOwnProperty.call(b,d)&&(a[d]=b[d]);return a},_extends.apply(this,arguments)}var normalMerge=[\"attrs\",\"props\",\"domProps\"],toArrayMerge=[\"class\",\"style\",\"directives\"],functionalMerge=[\"on\",\"nativeOn\"],mergeJsxProps=function(a){return a.reduce(function(c,a){for(var b in a)if(!c[b])c[b]=a[b];else if(-1!==normalMerge.indexOf(b))c[b]=_extends({},c[b],a[b]);else if(-1!==toArrayMerge.indexOf(b)){var d=c[b]instanceof Array?c[b]:[c[b]],e=a[b]instanceof Array?a[b]:[a[b]];c[b]=d.concat(e)}else if(-1!==functionalMerge.indexOf(b)){for(var f in a[b])if(c[b][f]){var g=c[b][f]instanceof Array?c[b][f]:[c[b][f]],h=a[b][f]instanceof Array?a[b][f]:[a[b][f]];c[b][f]=g.concat(h)}else c[b][f]=a[b][f];}else if(\"hook\"==b)for(var i in a[b])c[b][i]=c[b][i]?mergeFn(c[b][i],a[b][i]):a[b][i];else c[b]=a[b];return c},{})},mergeFn=function(a,b){return function(){a&&a.apply(this,arguments),b&&b.apply(this,arguments)}};module.exports=mergeJsxProps;\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);","import { raf, cancelRaf } from '../utils/dom/raf';\nimport { getRootScrollTop, setRootScrollTop } from '../utils/dom/scroll';\nvar scrollLeftRafId;\nexport function scrollLeftTo(el, to, duration) {\n cancelRaf(scrollLeftRafId);\n var count = 0;\n var from = el.scrollLeft;\n var frames = duration === 0 ? 1 : Math.round(duration * 1000 / 16);\n\n function animate() {\n el.scrollLeft += (to - from) / frames;\n\n if (++count < frames) {\n scrollLeftRafId = raf(animate);\n }\n }\n\n animate();\n}\nexport function scrollTopTo(to, duration, cb) {\n var current = getRootScrollTop();\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 setRootScrollTop(current);\n\n if (isDown && current < to || !isDown && current > to) {\n raf(animate);\n } else {\n cb && cb();\n }\n }\n\n animate();\n}","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}","// color\nexport var RED = '#ee0a24';\nexport var BLUE = '#1989fa';\nexport var GREEN = '#07c160';\nexport var WHITE = '#fff'; // border\n\nexport var BORDER = 'van-hairline';\nexport var BORDER_TOP = BORDER + \"--top\";\nexport var BORDER_LEFT = BORDER + \"--left\";\nexport var BORDER_RIGHT = BORDER + \"--right\";\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 { createNamespace } 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 ellipsis: Boolean,\n disabled: Boolean,\n scrollable: Boolean,\n activeColor: String,\n inactiveColor: String,\n swipeThreshold: [Number, 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 if (this.scrollable && this.ellipsis) {\n style.flexBasis = 88 / this.swipeThreshold + \"%\";\n }\n\n return style;\n }\n },\n methods: {\n onClick: function onClick() {\n this.$emit('click');\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 complete: !this.ellipsis\n }), {\n 'van-ellipsis': this.ellipsis\n }],\n \"style\": this.style,\n \"on\": {\n \"click\": this.onClick\n }\n }, [h(\"span\", {\n \"class\": bem('text')\n }, [this.slots() || this.title, h(Info, {\n \"attrs\": {\n \"dot\": this.dot,\n \"info\": this.info\n }\n })])]);\n }\n});","import { createNamespace, isDef } from '../utils';\nimport { BindEventMixin } from '../mixins/bind-event';\nimport { getScrollTop, getElementTop, getScroller } from '../utils/dom/scroll';\n\nvar _createNamespace = createNamespace('sticky'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [BindEventMixin(function (bind) {\n if (!this.scroller) {\n this.scroller = getScroller(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 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.offsetTop && this.fixed) {\n style.top = this.offsetTop + \"px\";\n }\n\n if (this.transform) {\n style.transform = \"translate3d(0, \" + this.transform + \"px, 0)\";\n }\n\n return style;\n }\n },\n methods: {\n onScroll: function onScroll() {\n var _this = this;\n\n this.height = this.$el.offsetHeight;\n var container = this.container;\n var offsetTop = +this.offsetTop;\n var scrollTop = getScrollTop(window);\n var topToPageTop = getElementTop(this.$el);\n\n var emitScrollEvent = function emitScrollEvent() {\n _this.$emit('scroll', {\n scrollTop: scrollTop,\n isFixed: _this.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 + offsetTop + this.height > bottomToPageTop) {\n var distanceToBottom = this.height + scrollTop - bottomToPageTop;\n\n if (distanceToBottom < this.height) {\n this.fixed = true;\n this.transform = -(distanceToBottom + offsetTop);\n } else {\n this.fixed = false;\n }\n\n emitScrollEvent();\n return;\n }\n }\n\n if (scrollTop + offsetTop > 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 { BORDER_TOP_BOTTOM } from '../utils/constant';\nimport { setRootScrollTop, getElementTop, getVisibleHeight, getVisibleTop } 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 bind(window, 'resize', this.resize, true);\n\n if (this.scrollspy) {\n bind(window, 'scroll', this.onScroll, true);\n }\n })],\n model: {\n prop: 'active'\n },\n props: {\n color: String,\n sticky: Boolean,\n animated: Boolean,\n swipeable: Boolean,\n scrollspy: Boolean,\n background: String,\n lineWidth: [Number, String],\n lineHeight: [Number, String],\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 border: {\n type: Boolean,\n default: true\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: 4\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 scrollOffset: function scrollOffset() {\n if (this.sticky) {\n return +this.offsetTop + 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.currentName || 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.offsetTop));\n }\n },\n scrollspy: function scrollspy(val) {\n if (val) {\n on(window, 'scroll', this.onScroll, true);\n } else {\n off(window, 'scroll', this.onScroll);\n }\n }\n },\n mounted: function mounted() {\n this.onShow();\n },\n activated: function activated() {\n this.onShow();\n this.setLine();\n },\n methods: {\n // @exposed-api\n resize: function resize() {\n this.setLine();\n },\n onShow: function onShow() {\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 width = isDef(lineWidth) ? lineWidth : title.offsetWidth / 2;\n var left = title.offsetLeft + title.offsetWidth / 2;\n var lineStyle = {\n width: addUnit(width),\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 currentIndex = this.findAvailableTab(currentIndex);\n\n if (isDef(currentIndex) && currentIndex !== this.currentIndex) {\n var shouldEmitChange = this.currentIndex !== null;\n this.currentIndex = currentIndex;\n this.$emit('input', this.currentName);\n\n if (shouldEmitChange) {\n this.$emit('change', this.currentName, this.children[currentIndex].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(index) {\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 this.setCurrentIndex(index);\n this.scrollToCurrentContent();\n this.$emit('click', computedName, title);\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 scrollToCurrentContent: function scrollToCurrentContent() {\n var _this4 = this;\n\n if (this.scrollspy) {\n this.clickedScroll = true;\n var instance = this.children[this.currentIndex];\n var el = instance && instance.$el;\n\n if (el) {\n var to = Math.ceil(getElementTop(el)) - this.scrollOffset;\n scrollTopTo(to, +this.duration, function () {\n _this4.clickedScroll = false;\n });\n }\n }\n },\n onScroll: function onScroll() {\n if (this.scrollspy && !this.clickedScroll) {\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 _this5 = this,\n _ref;\n\n var h = arguments[0];\n var type = this.type,\n ellipsis = this.ellipsis,\n animated = this.animated,\n scrollable = this.scrollable;\n var Nav = this.children.map(function (item, index) {\n return h(Title, {\n \"ref\": \"titles\",\n \"refInFor\": true,\n \"attrs\": {\n \"type\": type,\n \"dot\": item.dot,\n \"info\": item.info,\n \"title\": item.title,\n \"color\": _this5.color,\n \"isActive\": index === _this5.currentIndex,\n \"ellipsis\": ellipsis,\n \"disabled\": item.disabled,\n \"scrollable\": scrollable,\n \"activeColor\": _this5.titleActiveColor,\n \"inactiveColor\": _this5.titleInactiveColor,\n \"swipeThreshold\": _this5.swipeThreshold\n },\n \"style\": item.titleStyle,\n \"scopedSlots\": {\n default: function _default() {\n return item.slots('title');\n }\n },\n \"on\": {\n \"click\": function click() {\n _this5.onClick(index);\n\n route(item.$router, item);\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 \"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 * 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}","function isWindow(val) {\n return val === window;\n} // get nearest scroll element\n// http://w3help.org/zh-cn/causes/SD9013\n// http://stackoverflow.com/questions/17016740/onscroll-function-is-not-working-for-chrome\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.nodeType === 1 && node !== root) {\n var _window$getComputedSt = window.getComputedStyle(node),\n overflowY = _window$getComputedSt.overflowY;\n\n if (overflowScrollReg.test(overflowY)) {\n if (node.tagName !== 'BODY') {\n return node;\n } // see: https://github.com/youzan/vant/issues/3823\n\n\n var _window$getComputedSt2 = window.getComputedStyle(node.parentNode),\n htmlOverflowY = _window$getComputedSt2.overflowY;\n\n if (overflowScrollReg.test(htmlOverflowY)) {\n return node;\n }\n }\n\n node = node.parentNode;\n }\n\n return root;\n}\nexport function getScrollTop(el) {\n return 'scrollTop' in el ? el.scrollTop : el.pageYOffset;\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\n\nexport function getElementTop(el) {\n if (isWindow(el)) {\n return 0;\n }\n\n return el.getBoundingClientRect().top + getRootScrollTop();\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}","import '../../style/base.css';\nimport '../index.css';","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}","import { isDef } 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}","/**\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 */\nvar ELEMENT = '__';\nvar MODS = '--';\n\nfunction join(name, el, symbol) {\n return el ? name + symbol + el : name;\n}\n\nfunction prefix(name, mods) {\n if (typeof mods === 'string') {\n return join(name, mods, MODS);\n }\n\n if (Array.isArray(mods)) {\n return mods.map(function (item) {\n return prefix(name, item);\n });\n }\n\n var ret = {};\n\n if (mods) {\n Object.keys(mods).forEach(function (key) {\n ret[name + MODS + key] = mods[key];\n });\n }\n\n return ret;\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 = join(name, el, ELEMENT);\n return mods ? [el, prefix(el, mods)] : el;\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 */\nimport Vue from 'vue';\nexport var SlotsMixin = Vue.extend({\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 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 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 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}","import Vue from 'vue';\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.children) {\n traverse(vnode.children);\n }\n });\n }\n\n traverse(vnodes);\n return result;\n}\n\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 Vue.extend({\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 return this.parent.children.indexOf(this);\n }, _computed),\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 var vnodes = flattenVNodes(this.parent.slots());\n children.sort(function (a, b) {\n return vnodes.indexOf(a.$vnode) - vnodes.indexOf(b.$vnode);\n });\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}","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}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { isDef, 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 info: [Number, String],\n name: [Number, String],\n title: String,\n titleStyle: null,\n disabled: Boolean\n }),\n data: function data() {\n return {\n inited: false\n };\n },\n computed: {\n computedName: function computedName() {\n return isDef(this.name) ? this.name : this.index;\n },\n isActive: function isActive() {\n return this.computedName === this.parent.currentName;\n }\n },\n watch: {\n // eslint-disable-next-line object-shorthand\n 'parent.currentIndex': function parentCurrentIndex() {\n this.inited = this.inited || this.isActive;\n },\n title: function title() {\n this.parent.setLine();\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 shouldRender = this.inited || parent.scrollspy || !parent.lazyRender;\n var show = parent.scrollspy || isActive;\n var Content = shouldRender ? slots() : 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});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport Vue from 'vue';\nvar inheritKey = ['ref', 'style', 'class', 'attrs', '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}","import Vue from 'vue';\nimport { 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 = Vue.extend({\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];\n this.deltaX = 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 _ref = this,\n onTouchStart = _ref.onTouchStart,\n onTouchMove = _ref.onTouchMove,\n onTouchEnd = _ref.onTouchEnd;\n\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 * Vue Router support\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 /* istanbul ignore if */\n if (err && err.name !== 'NavigationDuplicated') {\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 Vue from 'vue';\nexport { createNamespace } from './create';\nexport { addUnit } from './format/unit';\nexport var isServer = Vue.prototype.$isServer;\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 get(object, path) {\n var keys = path.split('.');\n var result = object;\n keys.forEach(function (key) {\n result = isDef(result[key]) ? result[key] : '';\n });\n return result;\n}","import '../../style/base.css';\nimport '../../info/index.css';\nimport '../../sticky/index.css';\nimport '../index.css';","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}"],"sourceRoot":""}