{"version":3,"sources":["webpack:///./node_modules/vant/es/utils/dom/node.js","webpack:///./node_modules/vant/es/utils/dom/event.js","webpack:///./node_modules/vant/es/utils/vnodes.js","webpack:///./node_modules/vant/es/mixins/relation.js","webpack:///./node_modules/vant/es/goods-action/index.js","webpack:///./node_modules/vant/es/dialog/index.js","webpack:///./node_modules/vant/es/goods-action-button/index.js","webpack:///./node_modules/vant/es/dialog/Dialog.js","webpack:///./node_modules/vant/es/mixins/touch.js","webpack:///./node_modules/vant/es/utils/router.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/vant/es/utils/dom/scroll.js","webpack:///./node_modules/vant/es/utils/constant.js","webpack:///./node_modules/vant/es/button/index.js","webpack:///./node_modules/vant/es/dialog/style/index.js"],"names":["removeNode","el","parent","parentNode","removeChild","supportsPassive","opts","Object","defineProperty","get","window","addEventListener","e","on","target","event","handler","passive","capture","off","removeEventListener","stopPropagation","preventDefault","isStopPropagation","cancelable","flattenVNodes","vnodes","result","traverse","forEach","vnode","push","componentInstance","$children","map","item","$vnode","children","sortChildren","componentOptions","sort","a","b","indexOf","ChildrenMixin","_parent","options","_inject","_computed","indexKey","inject","default","computed","this","disableBindRelation","bindRelation","watch","val","mounted","beforeDestroy","_this","filter","methods","concat","ParentMixin","provide","_ref","data","instance","_createNamespace","create","createComponent","bem","mixins","props","safeAreaInsetBottom","type","Boolean","render","h","arguments","unfit","slots","String","text","icon","color","loading","disabled","isFirst","prev","index","$options","name","isLast","next","onClick","$emit","$router","first","last","t","title","theme","width","Number","message","className","callback","Function","beforeClose","messageAlign","cancelButtonText","cancelButtonColor","confirmButtonText","confirmButtonColor","showCancelButton","overlay","allowHtml","transition","showConfirmButton","closeOnPopstate","closeOnClickOverlay","confirm","cancel","onClickOverlay","handleAction","action","value","state","onClose","close","onOpened","onClosed","genRoundButtons","_this2","$createElement","genButtons","_this3","multiple","genContent","hasTitle","messageSlot","_bem","_domProps","class","domProps","isolated","shouldRender","Title","isInDocument","element","document","body","contains","initInstance","$destroy","extend","createElement","propsData","lazyRender","$on","Promise","resolve","reject","$el","currentOptions","defaultOptions","lockScroll","overlayClass","overlayStyle","getContainer","alert","setDefaultOptions","resetDefaultOptions","install","use","Component","prototype","$dialog","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","isRedundantNavigation","err","route","router","config","to","url","replace","promise","catch","location","href","functionalRoute","context","routeProps","uid","BindEventMixin","key","bind","call","unbind","activated","deactivated","zIndex","lockCount","stack","find","vm","preventTouchMove","Overlay","ctx","style","customStyle","duration","animationDuration","show","defaultConfig","mountOverlay","click","updateOverlay","insertBefore","openOverlay","closeOverlay","removeOverlay","getElement","selector","querySelector","PortalMixin","_temp","ref","afterPortal","portal","container","$refs","$parent","appendChild","CloseOnPopstateMixin","isBind","handlePopstate","bindStatus","onPopstate","shouldReopen","$isServer","popupMixinProps","transitionAppear","PopupMixin","inited","skipToggleEvent","open","opened","removeLock","undefined","renderOverlay","addLock","classList","add","remove","scrollHeight","offsetHeight","scrollTop","status","parseInt","$nextTick","updateZIndex","isWindow","overflowScrollReg","getScroller","root","node","tagName","nodeType","_window$getComputedSt","getComputedStyle","overflowY","test","getScrollTop","top","pageYOffset","max","setScrollTop","scrollTo","scrollX","getRootScrollTop","documentElement","setRootScrollTop","getElementTop","scroller","getBoundingClientRect","BORDER","BORDER_TOP","BORDER_LEFT","BORDER_SURROUND","Button","tag","plain","hairline","loadingText","iconPosition","onTouchstart","background","border","borderColor","classes","size","block","round","square","renderIcon","loadingSize","loadingType","iconPrefix","renderContent","content","nativeType"],"mappings":"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","file":"js/chunk-84a24cb8.45b7dfc6.js","sourcesContent":["export function removeNode(el) {\n var parent = el.parentNode;\n\n if (parent) {\n parent.removeChild(el);\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}","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}","import { createNamespace } from '../utils';\nimport { ParentMixin } from '../mixins/relation';\n\nvar _createNamespace = createNamespace('goods-action'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanGoodsAction')],\n props: {\n safeAreaInsetBottom: {\n type: Boolean,\n default: true\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem({\n unfit: !this.safeAreaInsetBottom\n })\n }, [this.slots()]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport Vue from 'vue';\nimport VanDialog from './Dialog';\nimport { isServer } from '../utils';\nvar instance;\n\nfunction isInDocument(element) {\n return document.body.contains(element);\n}\n\nfunction initInstance() {\n if (instance) {\n instance.$destroy();\n }\n\n instance = new (Vue.extend(VanDialog))({\n el: document.createElement('div'),\n // avoid missing animation when first rendered\n propsData: {\n lazyRender: false\n }\n });\n instance.$on('input', function (value) {\n instance.value = value;\n });\n}\n\nfunction Dialog(options) {\n /* istanbul ignore if */\n if (isServer) {\n return Promise.resolve();\n }\n\n return new Promise(function (resolve, reject) {\n if (!instance || !isInDocument(instance.$el)) {\n initInstance();\n }\n\n _extends(instance, Dialog.currentOptions, options, {\n resolve: resolve,\n reject: reject\n });\n });\n}\n\nDialog.defaultOptions = {\n value: true,\n title: '',\n width: '',\n theme: null,\n message: '',\n overlay: true,\n className: '',\n allowHtml: true,\n lockScroll: true,\n transition: 'van-dialog-bounce',\n beforeClose: null,\n overlayClass: '',\n overlayStyle: null,\n messageAlign: '',\n getContainer: 'body',\n cancelButtonText: '',\n cancelButtonColor: null,\n confirmButtonText: '',\n confirmButtonColor: null,\n showConfirmButton: true,\n showCancelButton: false,\n closeOnPopstate: true,\n closeOnClickOverlay: false,\n callback: function callback(action) {\n instance[action === 'confirm' ? 'resolve' : 'reject'](action);\n }\n};\nDialog.alert = Dialog;\n\nDialog.confirm = function (options) {\n return Dialog(_extends({\n showCancelButton: true\n }, options));\n};\n\nDialog.close = function () {\n if (instance) {\n instance.value = false;\n }\n};\n\nDialog.setDefaultOptions = function (options) {\n _extends(Dialog.currentOptions, options);\n};\n\nDialog.resetDefaultOptions = function () {\n Dialog.currentOptions = _extends({}, Dialog.defaultOptions);\n};\n\nDialog.resetDefaultOptions();\n\nDialog.install = function () {\n Vue.use(VanDialog);\n};\n\nDialog.Component = VanDialog;\nVue.prototype.$dialog = Dialog;\nexport default Dialog;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport { route, routeProps } from '../utils/router';\nimport { ChildrenMixin } from '../mixins/relation';\nimport Button from '../button';\n\nvar _createNamespace = createNamespace('goods-action-button'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ChildrenMixin('vanGoodsAction')],\n props: _extends({}, routeProps, {\n type: String,\n text: String,\n icon: String,\n color: String,\n loading: Boolean,\n disabled: Boolean\n }),\n computed: {\n isFirst: function isFirst() {\n var prev = this.parent && this.parent.children[this.index - 1];\n return !prev || prev.$options.name !== this.$options.name;\n },\n isLast: function isLast() {\n var next = this.parent && this.parent.children[this.index + 1];\n return !next || next.$options.name !== this.$options.name;\n }\n },\n methods: {\n onClick: function onClick(event) {\n this.$emit('click', event);\n route(this.$router, this);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(Button, {\n \"class\": bem([{\n first: this.isFirst,\n last: this.isLast\n }, this.type]),\n \"attrs\": {\n \"size\": \"large\",\n \"type\": this.type,\n \"icon\": this.icon,\n \"color\": this.color,\n \"loading\": this.loading,\n \"disabled\": this.disabled\n },\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.slots() || this.text]);\n }\n});","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport { createNamespace, addUnit } from '../utils';\nimport { BORDER_TOP, BORDER_LEFT } from '../utils/constant';\nimport { PopupMixin } from '../mixins/popup';\nimport Button from '../button';\nimport GoodsAction from '../goods-action';\nimport GoodsActionButton from '../goods-action-button';\n\nvar _createNamespace = createNamespace('dialog'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nexport default createComponent({\n mixins: [PopupMixin()],\n props: {\n title: String,\n theme: String,\n width: [Number, String],\n message: String,\n className: null,\n callback: Function,\n beforeClose: Function,\n messageAlign: String,\n cancelButtonText: String,\n cancelButtonColor: String,\n confirmButtonText: String,\n confirmButtonColor: String,\n showCancelButton: Boolean,\n overlay: {\n type: Boolean,\n default: true\n },\n allowHtml: {\n type: Boolean,\n default: true\n },\n transition: {\n type: String,\n default: 'van-dialog-bounce'\n },\n showConfirmButton: {\n type: Boolean,\n default: true\n },\n closeOnPopstate: {\n type: Boolean,\n default: true\n },\n closeOnClickOverlay: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n loading: {\n confirm: false,\n cancel: false\n }\n };\n },\n methods: {\n onClickOverlay: function onClickOverlay() {\n this.handleAction('overlay');\n },\n handleAction: function handleAction(action) {\n var _this = this;\n\n this.$emit(action); // show not trigger close event when hidden\n\n if (!this.value) {\n return;\n }\n\n if (this.beforeClose) {\n this.loading[action] = true;\n this.beforeClose(action, function (state) {\n if (state !== false && _this.loading[action]) {\n _this.onClose(action);\n }\n\n _this.loading.confirm = false;\n _this.loading.cancel = false;\n });\n } else {\n this.onClose(action);\n }\n },\n onClose: function onClose(action) {\n this.close();\n\n if (this.callback) {\n this.callback(action);\n }\n },\n onOpened: function onOpened() {\n this.$emit('opened');\n },\n onClosed: function onClosed() {\n this.$emit('closed');\n },\n genRoundButtons: function genRoundButtons() {\n var _this2 = this;\n\n var h = this.$createElement;\n return h(GoodsAction, {\n \"class\": bem('footer')\n }, [this.showCancelButton && h(GoodsActionButton, {\n \"attrs\": {\n \"size\": \"large\",\n \"type\": \"warning\",\n \"text\": this.cancelButtonText || t('cancel'),\n \"color\": this.cancelButtonColor,\n \"loading\": this.loading.cancel\n },\n \"class\": bem('cancel'),\n \"on\": {\n \"click\": function click() {\n _this2.handleAction('cancel');\n }\n }\n }), this.showConfirmButton && h(GoodsActionButton, {\n \"attrs\": {\n \"size\": \"large\",\n \"type\": \"danger\",\n \"text\": this.confirmButtonText || t('confirm'),\n \"color\": this.confirmButtonColor,\n \"loading\": this.loading.confirm\n },\n \"class\": bem('confirm'),\n \"on\": {\n \"click\": function click() {\n _this2.handleAction('confirm');\n }\n }\n })]);\n },\n genButtons: function genButtons() {\n var _this3 = this,\n _ref;\n\n var h = this.$createElement;\n var multiple = this.showCancelButton && this.showConfirmButton;\n return h(\"div\", {\n \"class\": [BORDER_TOP, bem('footer')]\n }, [this.showCancelButton && h(Button, {\n \"attrs\": {\n \"size\": \"large\",\n \"loading\": this.loading.cancel,\n \"text\": this.cancelButtonText || t('cancel')\n },\n \"class\": bem('cancel'),\n \"style\": {\n color: this.cancelButtonColor\n },\n \"on\": {\n \"click\": function click() {\n _this3.handleAction('cancel');\n }\n }\n }), this.showConfirmButton && h(Button, {\n \"attrs\": {\n \"size\": \"large\",\n \"loading\": this.loading.confirm,\n \"text\": this.confirmButtonText || t('confirm')\n },\n \"class\": [bem('confirm'), (_ref = {}, _ref[BORDER_LEFT] = multiple, _ref)],\n \"style\": {\n color: this.confirmButtonColor\n },\n \"on\": {\n \"click\": function click() {\n _this3.handleAction('confirm');\n }\n }\n })]);\n },\n genContent: function genContent(hasTitle, messageSlot) {\n var h = this.$createElement;\n\n if (messageSlot) {\n return h(\"div\", {\n \"class\": bem('content')\n }, [messageSlot]);\n }\n\n var message = this.message,\n messageAlign = this.messageAlign;\n\n if (message) {\n var _bem, _domProps;\n\n var data = {\n class: bem('message', (_bem = {\n 'has-title': hasTitle\n }, _bem[messageAlign] = messageAlign, _bem)),\n domProps: (_domProps = {}, _domProps[this.allowHtml ? 'innerHTML' : 'textContent'] = message, _domProps)\n };\n return h(\"div\", {\n \"class\": bem('content', {\n isolated: !hasTitle\n })\n }, [h(\"div\", _mergeJSXProps([{}, data]))]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n\n if (!this.shouldRender) {\n return;\n }\n\n var message = this.message;\n var messageSlot = this.slots();\n var title = this.slots('title') || this.title;\n var Title = title && h(\"div\", {\n \"class\": bem('header', {\n isolated: !message && !messageSlot\n })\n }, [title]);\n return h(\"transition\", {\n \"attrs\": {\n \"name\": this.transition\n },\n \"on\": {\n \"afterEnter\": this.onOpened,\n \"afterLeave\": this.onClosed\n }\n }, [h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: this.value\n }],\n \"attrs\": {\n \"role\": \"dialog\",\n \"aria-labelledby\": this.title || message\n },\n \"class\": [bem([this.theme]), this.className],\n \"style\": {\n width: addUnit(this.width)\n }\n }, [Title, this.genContent(title, messageSlot), this.theme === 'round-button' ? this.genRoundButtons() : this.genButtons()])]);\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 * Vue Router support\n */\nfunction isRedundantNavigation(err) {\n return err.name === 'NavigationDuplicated' || // compatible with vue-router@3.3\n err.message && err.message.indexOf('redundant navigation') !== -1;\n}\n\nexport function route(router, config) {\n var to = config.to,\n url = config.url,\n replace = config.replace;\n\n if (to && router) {\n var promise = router[replace ? 'replace' : 'push'](to);\n /* istanbul ignore else */\n\n if (promise && promise.catch) {\n promise.catch(function (err) {\n if (err && !isRedundantNavigation(err)) {\n throw err;\n }\n });\n }\n } else if (url) {\n replace ? location.replace(url) : location.href = url;\n }\n}\nexport function functionalRoute(context) {\n route(context.parent && context.parent.$router, context.props);\n}\nexport var routeProps = {\n url: String,\n replace: Boolean,\n to: [String, Object]\n};","/**\n * 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}","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}","// 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 _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { emit, inherit } from '../utils/functional';\nimport { BORDER_SURROUND } from '../utils/constant';\nimport { routeProps, functionalRoute } from '../utils/router'; // Components\n\nimport Icon from '../icon';\nimport Loading from '../loading'; // Types\n\nvar _createNamespace = createNamespace('button'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction Button(h, props, slots, ctx) {\n var _ref;\n\n var tag = props.tag,\n icon = props.icon,\n type = props.type,\n color = props.color,\n plain = props.plain,\n disabled = props.disabled,\n loading = props.loading,\n hairline = props.hairline,\n loadingText = props.loadingText,\n iconPosition = props.iconPosition;\n var style = {};\n\n if (color) {\n style.color = plain ? color : 'white';\n\n if (!plain) {\n // Use background instead of backgroundColor to make linear-gradient work\n style.background = color;\n } // hide border when color is linear-gradient\n\n\n if (color.indexOf('gradient') !== -1) {\n style.border = 0;\n } else {\n style.borderColor = color;\n }\n }\n\n function onClick(event) {\n if (!loading && !disabled) {\n emit(ctx, 'click', event);\n functionalRoute(ctx);\n }\n }\n\n function onTouchstart(event) {\n emit(ctx, 'touchstart', event);\n }\n\n var classes = [bem([type, props.size, {\n plain: plain,\n loading: loading,\n disabled: disabled,\n hairline: hairline,\n block: props.block,\n round: props.round,\n square: props.square\n }]), (_ref = {}, _ref[BORDER_SURROUND] = hairline, _ref)];\n\n function renderIcon() {\n if (loading) {\n return slots.loading ? slots.loading() : h(Loading, {\n \"class\": bem('loading'),\n \"attrs\": {\n \"size\": props.loadingSize,\n \"type\": props.loadingType,\n \"color\": \"currentColor\"\n }\n });\n }\n\n if (icon) {\n return h(Icon, {\n \"attrs\": {\n \"name\": icon,\n \"classPrefix\": props.iconPrefix\n },\n \"class\": bem('icon')\n });\n }\n }\n\n function renderContent() {\n var content = [];\n\n if (iconPosition === 'left') {\n content.push(renderIcon());\n }\n\n var text;\n\n if (loading) {\n text = loadingText;\n } else {\n text = slots.default ? slots.default() : props.text;\n }\n\n if (text) {\n content.push(h(\"span\", {\n \"class\": bem('text')\n }, [text]));\n }\n\n if (iconPosition === 'right') {\n content.push(renderIcon());\n }\n\n return content;\n }\n\n return h(tag, _mergeJSXProps([{\n \"style\": style,\n \"class\": classes,\n \"attrs\": {\n \"type\": props.nativeType,\n \"disabled\": disabled\n },\n \"on\": {\n \"click\": onClick,\n \"touchstart\": onTouchstart\n }\n }, inherit(ctx)]), [h(\"div\", {\n \"class\": bem('content')\n }, [renderContent()])]);\n}\n\nButton.props = _extends({}, routeProps, {\n text: String,\n icon: String,\n color: String,\n block: Boolean,\n plain: Boolean,\n round: Boolean,\n square: Boolean,\n loading: Boolean,\n hairline: Boolean,\n disabled: Boolean,\n iconPrefix: String,\n nativeType: String,\n loadingText: String,\n loadingType: String,\n tag: {\n type: String,\n default: 'button'\n },\n type: {\n type: String,\n default: 'default'\n },\n size: {\n type: String,\n default: 'normal'\n },\n loadingSize: {\n type: String,\n default: '20px'\n },\n iconPosition: {\n type: String,\n default: 'left'\n }\n});\nexport default createComponent(Button);","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 '../../button/index.css';\nimport '../../goods-action-button/index.css';\nimport '../../goods-action/index.css';\nimport '../index.css';"],"sourceRoot":""}