{"version":3,"sources":["webpack:///./node_modules/vant/lib/swipe-item/index.js","webpack:///./node_modules/vant/lib/utils/format/unit.js","webpack:///./src/pages/FeedbackResponse.vue?6d84","webpack:///./node_modules/vant/es/image-preview/shared.js","webpack:///./node_modules/vant/es/utils/dom/style.js","webpack:///./node_modules/vant/es/swipe/index.js","webpack:///./node_modules/vant/es/image/index.js","webpack:///./node_modules/vant/es/swipe-item/index.js","webpack:///./node_modules/vant/es/image-preview/ImagePreviewItem.js","webpack:///./node_modules/vant/es/image-preview/index.js","webpack:///./node_modules/vant/es/image-preview/ImagePreview.js","webpack:///src/pages/FeedbackResponse.vue","webpack:///./src/pages/FeedbackResponse.vue?fb4e","webpack:///./src/pages/FeedbackResponse.vue","webpack:///./node_modules/vant/lib/utils/dom/event.js","webpack:///./node_modules/vant/lib/mixins/field.js","webpack:///./node_modules/vant/lib/image-preview/ImagePreviewItem.js","webpack:///./node_modules/vant/es/utils/dom/raf.js","webpack:///./node_modules/vant/lib/icon/index.js","webpack:///./node_modules/vant/lib/utils/create/bem.js","webpack:///./node_modules/vant/lib/image-preview/shared.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./node_modules/vant/lib/utils/dom/raf.js","webpack:///./node_modules/vant/lib/mixins/portal.js","webpack:///./node_modules/vant/lib/uploader/index.js","webpack:///./node_modules/vant/lib/locale/index.js","webpack:///./node_modules/vant/lib/utils/dom/scroll.js","webpack:///./node_modules/vant/lib/utils/create/component.js","webpack:///./node_modules/vant/lib/utils/create/index.js","webpack:///./node_modules/vant/lib/image-preview/index.js","webpack:///./node_modules/vant/lib/utils/dom/style.js","webpack:///./node_modules/vant/lib/utils/deep-assign.js","webpack:///./node_modules/vant/lib/image-preview/style/index.js","webpack:///./node_modules/vant/lib/overlay/index.js","webpack:///./node_modules/vant/lib/utils/format/number.js","webpack:///./node_modules/core-js/modules/es.array.splice.js","webpack:///./node_modules/@babel/runtime/helpers/extends.js","webpack:///./node_modules/vant/lib/utils/vnodes.js","webpack:///./node_modules/vant/lib/swipe/index.js","webpack:///./node_modules/vant/lib/info/index.js","webpack:///./node_modules/vant/lib/locale/lang/zh-CN.js","webpack:///./node_modules/vant/lib/mixins/popup/context.js","webpack:///./node_modules/vant/lib/loading/index.js","webpack:///./src/pages/FeedbackResponse.vue?6ad4","webpack:///./node_modules/vant/lib/mixins/popup/overlay.js","webpack:///./node_modules/vant/lib/uploader/style/index.js","webpack:///./node_modules/vant/lib/uploader/utils.js","webpack:///./node_modules/vant/lib/utils/format/string.js","webpack:///./node_modules/vant/lib/image/index.js","webpack:///./node_modules/vant/lib/utils/validate/number.js","webpack:///./node_modules/vant/lib/mixins/relation.js","webpack:///./node_modules/vant/lib/mixins/slots.js","webpack:///./node_modules/vant/lib/utils/functional.js","webpack:///./node_modules/vant/lib/mixins/close-on-popstate.js","webpack:///./node_modules/vant/lib/image-preview/ImagePreview.js","webpack:///./node_modules/vant/lib/utils/create/i18n.js","webpack:///./node_modules/vant/lib/utils/index.js","webpack:///./node_modules/vant/lib/mixins/popup/index.js","webpack:///./node_modules/vant/lib/utils/dom/node.js","webpack:///./node_modules/vant/lib/mixins/touch.js","webpack:///./node_modules/vant/lib/mixins/bind-event.js"],"names":["_interopRequireDefault","exports","__esModule","default","_extends2","_utils","_relation","_createNamespace","createNamespace","createComponent","bem","_default","mixins","ChildrenMixin","data","offset","mounted","_this","this","$nextTick","computed","style","_this$parent","parent","size","vertical","transform","shouldRender","index","lazyRender","active","activeIndicator","maxActive","count","prevActive","nextActive","render","h","arguments","$listeners","slots","addUnit","unitToPx","rootFontSize","_","_number","value","isDef","String","isNumeric","getRootFontSize","doc","document","documentElement","fontSize","window","getComputedStyle","parseFloat","convertRem","replace","convertVw","innerWidth","inBrowser","indexOf","_vm","_h","$createElement","_c","_self","staticClass","staticStyle","status","_v","_s","respMsg","stateName","attrs","headUrl","createTime","comments","_l","item","key","on","$event","showImage","attachList","isAdmin","class","createDate","content","itm","idx","directives","name","rawName","isAdd","expression","mask","changAdd","model","callback","$$v","questionScript","afterRead","deleImg","fileList","notConfirm","confirm","endFeedback","staticRenderFns","create","isHidden","el","hidden","display","parentHidden","offsetParent","position","bind","isBind","resize","onVisibilityChange","initialize","clear","props","width","Number","height","autoplay","Boolean","indicatorColor","loop","type","duration","touchable","initialSwipe","showIndicators","stopPropagation","rect","deltaX","deltaY","swiping","computedWidth","computedHeight","watch","children","_autoplay","autoPlay","length","maxCount","Math","ceil","abs","minOffset","delta","trackSize","isCorrectDirection","expect","direction","trackStyle","_ref","mainAxis","crossAxis","transitionDuration","indicatorStyle","backgroundColor","bindTouchEvent","$refs","track","methods","$el","clearTimeout","timer","getBoundingClientRect","round","getTargetOffset","forEach","swipe","onTouchStart","event","touchStartTime","Date","now","touchStart","correctPosition","onTouchMove","touchMove","move","onTouchEnd","speed","shouldSwipe","offsetY","offsetX","pace","emitChange","getTargetActive","targetActive","currentPosition","min","targetOffset","_ref2","_ref2$pace","_ref2$offset","outRightBound","outLeftBound","$emit","prev","resetTouchStatus","next","_this2","swipeTo","options","_this3","targetIndex","immediate","_this4","setTimeout","genIndicator","_this5","slot","Array","apply","map","empty","src","fit","alt","radius","lazyLoad","showError","showLoading","errorIcon","loadingIcon","loading","error","overflow","borderRadius","created","$Lazyload","$on","onLazyLoaded","onLazyLoadError","beforeDestroy","$off","onLoad","image","onError","onClick","genPlaceholder","genImage","imgData","objectFit","getDistance","touches","sqrt","pow","clientX","clientY","instance","show","minZoom","maxZoom","windowWidth","windowHeight","scale","moveX","moveY","moving","zooming","imageRatio","displayWidth","displayHeight","windowRatio","imageStyle","maxMoveX","max","maxMoveY","val","resetScale","setScale","toggleScale","_this$offsetX","startMoveX","startMoveY","startScale","startDistance","distance","checkTap","_this$offsetX2","_this$offsetY","deltaTime","TAP_TIME","TAP_OFFSET","doubleTapTimer","_event$target","target","naturalWidth","naturalHeight","imageSlots","skipToggleEvent","className","closeable","asyncClose","images","overlay","showIndex","swipeDuration","startPosition","overlayClass","closeIcon","closeOnPopstate","closeIconPosition","doubleClickTimer","setActive","url","innerHeight","emitClose","emitScale","args","genIndex","genCover","cover","genImages","ImagePreviewItem","genClose","onClosed","defaultConfig","onClose","onChange","getContainer","extend","createElement","body","appendChild","onScale","isArray","$once","Component","install","use","components","pictureArr","ab","replayArr","files","feedbackId","attachlist","platform","resolve","typeId","console","log","token","$route","query","$store","commit","$toast","forbidClick","resp","code","file","splice","detail","FormData","headers","getters","fd","append","message","getElementsByClassName","scrollHeight","scrollTop","childNodes","back","getElementById","click","component","off","preventDefault","supportsPassive","isServer","opts","Object","defineProperty","get","addEventListener","e","handler","passive","capture","removeEventListener","isStopPropagation","cancelable","FieldMixin","inject","vanField","field","resetValidation","validateWithTrigger","_shared","_event","_touch","_image","_loading","_swipeItem","TouchMixin","range","fallback","fn","curr","ms","id","root","global","iRaf","requestAnimationFrame","cancelAnimationFrame","raf","call","doubleRaf","_babelHelperVueJsxMergeProps","_functional","_info","isImage","LEGACY_MAP","medel","correctName","Icon","ctx","imageIcon","tag","classPrefix","color","inherit","dot","badge","info","gen","mods","reduce","ret","keys","createBEM","obj","module","cancelRaf","iCancel","getElement","selector","querySelector","PortalMixin","_temp","ref","afterPortal","Function","portal","container","$parent","parentNode","_utils2","_field","_icon","_imagePreview","_default2","inheritAttrs","prop","disabled","uploadText","beforeRead","beforeDelete","previewSize","previewOptions","accept","maxSize","MAX_VALUE","deletable","showUpload","previewImage","previewFullImage","imageFit","resultType","uploadIcon","previewSizeWithUnit","getDetail","slice","response","resetInput","isPromise","then","readFile","catch","oversize","isOversize","Promise","all","contents","result","onAfterRead","validFiles","oversizeFiles","push","isValidFiles","concat","toArray","onDelete","deleteFile","noop","input","onPreviewImage","imageFiles","filter","isImageFile","imageContents","imagePreview","closeImagePreview","close","chooseFile","genPreviewMask","MaskIcon","showMessage","genPreviewItem","_this6","showDelete","DeleteIcon","PreviewCoverContent","PreviewCover","Preview","genPreviewList","genUpload","Input","$attrs","_vue","_deepAssign","_zhCN","proto","prototype","defineReactive","util","messages","$vantMessages","$vantLang","lang","_this$add","add","deepAssign","isWindow","getScroller","getScrollTop","setScrollTop","getRootScrollTop","setRootScrollTop","getElementTop","getVisibleHeight","getVisibleTop","overflowScrollReg","node","tagName","nodeType","_window$getComputedSt","overflowY","test","_window$getComputedSt2","htmlOverflowY","top","pageYOffset","scrollTo","scrollX","scroller","unifySlots","_string","_slots","Vue","camelize","context","scopedSlots","transformFunctionComponent","pure","functional","sfc","isFunction","SlotsMixin","_bem","_component","_i18n","createI18N","_ImagePreview","initInstance","ImagePreview","hasOwnProperty","assignKey","to","from","isObject","preventTouchMove","Overlay","zIndex","customStyle","animationDuration","lockScroll","num","trimExtraChar","_char","regExp","formatNumber","allowDot","split","$","toAbsoluteIndex","toInteger","toLength","toObject","arraySpeciesCreate","createProperty","arrayMethodHasSpeciesSupport","arrayMethodUsesToLength","HAS_SPECIES_SUPPORT","USES_TO_LENGTH","ACCESSORS","0","1","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_LENGTH_EXCEEDED","forced","start","deleteCount","insertCount","actualDeleteCount","A","k","O","len","actualStart","argumentsLength","TypeError","_extends","assign","i","source","flattenVNodes","vnodes","traverse","vnode","componentInstance","$children","$vnode","sortChildren","componentOptions","sort","a","b","_style","_raf","_bindEvent","ParentMixin","BindEventMixin","Info","showInfo","tel","save","cancel","delete","complete","telEmpty","nameEmpty","nameInvalid","confirmDelete","telInvalid","vanCalendar","end","title","startEnd","weekdays","monthTitle","year","month","rangePrompt","maxRange","vanContactCard","addText","vanContactList","vanPagination","vanPullRefresh","pulling","loosing","vanSubmitBar","label","vanCoupon","unlimited","discount","_discount","condition","_condition","vanCouponCell","tips","_count","vanCouponList","exchange","enable","placeholder","vanAddressEdit","area","postal","areaEmpty","addressEmpty","postalEmpty","defaultAddress","telPlaceholder","namePlaceholder","areaPlaceholder","vanAddressEditDetail","vanAddressList","lockCount","stack","find","vm","LoadingIcon","Spin","LoadingText","textSize","Loading","iconSize","updateOverlay","openOverlay","closeOverlay","removeOverlay","_overlay","_context","_node","mountOverlay","mount","closeOnClickOverlay","onClickOverlay","config","insertBefore","removeNode","reader","FileReader","onload","readAsDataURL","readAsText","some","isImageUrl","IMAGE_REGEXP","padZero","camelizeRE","str","c","toUpperCase","targetLength","isNaN","_vnodes","_parent","_inject","_computed","indexKey","disableBindRelation","bindRelation","provide","$slots","$scopedSlots","scopedSlot","emit","inheritKey","mapInheritKey","nativeOn","inheritListeners","eventName","_len","_key","listeners","listener","$props","CloseOnPopstateMixin","handlePopstate","bindStatus","$isServer","action","shouldReopen","_popup","_swipe","_ImagePreviewItem","PopupMixin","_locale","prefix","path","_create","_unit","undefined","object","popupMixinProps","_scroll","_portal","_closeOnPopstate","overlayStyle","inited","open","activated","opened","removeLock","deactivated","renderOverlay","addLock","classList","remove","offsetHeight","parseInt","updateZIndex","removeChild","MIN_DISTANCE","getDirection","x","y","startX","startY","touch","uid","unbind"],"mappings":"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","file":"js/chunk-7ed2b73f.debbfc02.js","sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _utils = require(\"../utils\");\n\nvar _relation = require(\"../mixins/relation\");\n\nvar _createNamespace = (0, _utils.createNamespace)('swipe-item'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar _default = createComponent({\n mixins: [(0, _relation.ChildrenMixin)('vanSwipe')],\n data: function data() {\n return {\n offset: 0,\n mounted: false\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.mounted = true;\n });\n },\n computed: {\n style: function style() {\n var style = {};\n var _this$parent = this.parent,\n size = _this$parent.size,\n vertical = _this$parent.vertical;\n style[vertical ? 'height' : 'width'] = size + \"px\";\n\n if (this.offset) {\n style.transform = \"translate\" + (vertical ? 'Y' : 'X') + \"(\" + this.offset + \"px)\";\n }\n\n return style;\n },\n shouldRender: function shouldRender() {\n var index = this.index,\n parent = this.parent,\n mounted = this.mounted;\n\n if (!parent.lazyRender) {\n return true;\n } // wait for all item to mount, so we can get the exact count\n\n\n if (!mounted) {\n return false;\n }\n\n var active = parent.activeIndicator;\n var maxActive = parent.count - 1;\n var prevActive = active === 0 ? maxActive : active - 1;\n var nextActive = active === maxActive ? 0 : active + 1;\n return index === active || index === prevActive || index === nextActive;\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem(),\n \"style\": this.style,\n \"on\": (0, _extends2.default)({}, this.$listeners)\n }, [this.shouldRender && this.slots()]);\n }\n});\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.addUnit = addUnit;\nexports.unitToPx = unitToPx;\n\nvar _ = require(\"..\");\n\nvar _number = require(\"../validate/number\");\n\nfunction addUnit(value) {\n if (!(0, _.isDef)(value)) {\n return undefined;\n }\n\n value = String(value);\n return (0, _number.isNumeric)(value) ? value + \"px\" : value;\n} // cache\n\n\nvar rootFontSize;\n\nfunction getRootFontSize() {\n if (!rootFontSize) {\n var doc = document.documentElement;\n var fontSize = doc.style.fontSize || window.getComputedStyle(doc).fontSize;\n rootFontSize = parseFloat(fontSize);\n }\n\n return rootFontSize;\n}\n\nfunction convertRem(value) {\n value = value.replace(/rem/g, '');\n return +value * getRootFontSize();\n}\n\nfunction convertVw(value) {\n value = value.replace(/vw/g, '');\n return +value * window.innerWidth / 100;\n}\n\nfunction unitToPx(value) {\n if (typeof value === 'number') {\n return value;\n }\n\n if (_.inBrowser) {\n if (value.indexOf('rem') !== -1) {\n return convertRem(value);\n }\n\n if (value.indexOf('vw') !== -1) {\n return convertVw(value);\n }\n }\n\n return parseFloat(value);\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_c('div',{staticStyle:{\"position\":\"absolute\",\"width\":\"100%\",\"min-height\":\"100%\",\"box-sizing\":\"border-box\"},style:(_vm.status !== 2 ? 'padding-bottom:9.1rem' : 'padding-bottom:5rem')},[_c('div',{staticClass:\"response-msg\"},[_c('div',{staticClass:\"feedback-type\"},[_vm._v(\" 反馈类型: \"),_c('span',{staticStyle:{\"color\":\"red\"}},[_vm._v(_vm._s(_vm.respMsg.stateName))])])]),_c('div',{staticClass:\"question-list\"},[_c('div',{staticClass:\"person\"},[(_vm.respMsg.headUrl)?_c('img',{staticClass:\"poto\",attrs:{\"src\":_vm.respMsg.headUrl}}):_c('div',{staticClass:\"poto\"}),_c('div',{staticClass:\"question-title\"},[_c('span',[_vm._v(\"我的提问:\")]),_c('div',{staticClass:\"question-msg\",staticStyle:{\"color\":\"#ccc\",\"padding\":\"0\",\"font-size\":\".7rem\"}},[_vm._v(_vm._s(_vm.respMsg.createTime))])])]),_c('div',{staticClass:\"question-msg question-indent\"},[_vm._v(_vm._s(_vm.respMsg.comments))]),_c('div',{staticClass:\"question-img-box\"},_vm._l((_vm.respMsg.attachList),function(item,index){return _c('img',{key:index,staticClass:\"questions-img\",attrs:{\"src\":item},on:{\"click\":function($event){return _vm.showImage(_vm.respMsg.attachList, index)}}})}),0)]),_vm._l((_vm.replayArr),function(item,index){return _c('div',{key:index,staticClass:\"question-list\"},[_c('div',{staticClass:\"person\"},[(!item.isAdmin && _vm.respMsg.headUrl)?_c('img',{staticClass:\"poto\",attrs:{\"src\":_vm.respMsg.headUrl}}):_c('div',{class:item.isAdmin ? 'poto admin' : 'poto'}),_c('div',{staticClass:\"question-title\"},[_c('span',[_vm._v(_vm._s(item.isAdmin ? '管理员回复:' : '追问:'))]),_c('div',{staticClass:\"question-msg\",staticStyle:{\"color\":\"#ccc\",\"padding\":\"0\",\"font-size\":\".7rem\"}},[_vm._v(_vm._s(item.createDate))])])]),_c('div',{staticClass:\"question-msg question-indent\"},[_vm._v(_vm._s(item.content))]),_c('div',{staticClass:\"question-box\"},[_c('div',{staticClass:\"question-img-box\"},_vm._l((item.attachList),function(itm,idx){return _c('img',{key:idx,staticClass:\"questions-img\",attrs:{\"src\":itm},on:{\"click\":function($event){return _vm.showImage(item.attachList, idx)}}})}),0)])])}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isAdd && _vm.status !== 2),expression:\"!isAdd && status !== 2\"}],staticClass:\"question-btn\"},[_c('div',{staticClass:\"end-question\",on:{\"click\":function($event){_vm.mask = !_vm.mask}}},[_vm._v(\"结束反馈\")]),_c('div',{staticClass:\"add-question\",on:{\"click\":_vm.changAdd}},[_vm._v(\"继续反馈\")])]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isAdd && _vm.status !== 2),expression:\"isAdd && status !== 2\"}],staticStyle:{\"background\":\"#fff\",\"margin-top\":\"1rem\",\"padding-top\":\".1rem\"}},[_c('div',{staticStyle:{\"margin\":\"1.3rem 1rem 0\"}},[_c('van-field',{staticStyle:{\"font-size\":\".8rem\",\"border\":\"1px solid #ccc\"},attrs:{\"rows\":\"5\",\"autosize\":false,\"type\":\"textarea\",\"maxlength\":\"200\",\"placeholder\":\"请输入问题描述\",\"show-word-limit\":\"\"},model:{value:(_vm.questionScript),callback:function ($$v) {_vm.questionScript=$$v},expression:\"questionScript\"}})],1),_c('van-uploader',{staticStyle:{\"margin\":\"1rem\"},attrs:{\"multiple\":true,\"after-read\":_vm.afterRead,\"before-delete\":_vm.deleImg,\"max-count\":9},model:{value:(_vm.fileList),callback:function ($$v) {_vm.fileList=$$v},expression:\"fileList\"}},[_c('van-button',{staticStyle:{\"width\":\"4.8rem\",\"height\":\"4.8rem\",\"font-size\":\"2rem\",\"font-weight\":\"500\",\"color\":\"#ccc\"},attrs:{\"icon\":\"plus\"}})],1),_c('div',{staticStyle:{\"width\":\"100%\",\"display\":\"flex\",\"justify-content\":\"center\"}},[_c('van-button',{staticStyle:{\"width\":\"92%\",\"margin\":\"0 auto\",\"margin-bottom\":\"2rem\",\"border\":\"none\"},attrs:{\"type\":\"warn\",\"disabled\":_vm.notConfirm,\"color\":\"#3397ec\"},on:{\"click\":_vm.confirm}},[_vm._v(\"提交\")])],1)],1),_c('div',{staticClass:\"bottom\"},[_vm._v(\"客服在线时间:9:00-17:30 请耐心等待客服回复\")])],2),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.mask),expression:\"mask\"}],staticClass:\"mask\"},[_c('div',{staticClass:\"alert-box\"},[_c('div',{staticClass:\"tips\"},[_vm._v(\"温馨提示\")]),_c('div',{staticClass:\"title\"},[_vm._v(\"您确定结束本次反馈吗?\")]),_c('div',{staticClass:\"chose-box\"},[_c('div',{staticClass:\"boxs notbind\",on:{\"click\":function($event){_vm.mask = !_vm.mask}}},[_vm._v(\"取消\")]),_c('div',{staticClass:\"boxs bind\",on:{\"click\":_vm.endFeedback}},[_vm._v(\"确定\")])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { createNamespace } from '../utils';\n\nvar _createNamespace = createNamespace('image-preview'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport { createComponent, bem };","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}","// Utils\nimport { createNamespace } from '../utils';\nimport { isHidden } from '../utils/dom/style';\nimport { preventDefault } from '../utils/dom/event';\nimport { doubleRaf } from '../utils/dom/raf';\nimport { range } from '../utils/format/number'; // Mixins\n\nimport { TouchMixin } from '../mixins/touch';\nimport { ParentMixin } from '../mixins/relation';\nimport { BindEventMixin } from '../mixins/bind-event';\n\nvar _createNamespace = createNamespace('swipe'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [TouchMixin, ParentMixin('vanSwipe'), BindEventMixin(function (bind, isBind) {\n bind(window, 'resize', this.resize, true);\n bind(window, 'orientationchange', this.resize, true);\n bind(window, 'visibilitychange', this.onVisibilityChange);\n\n if (isBind) {\n this.initialize();\n } else {\n this.clear();\n }\n })],\n props: {\n width: [Number, String],\n height: [Number, String],\n autoplay: [Number, String],\n vertical: Boolean,\n lazyRender: Boolean,\n indicatorColor: String,\n loop: {\n type: Boolean,\n default: true\n },\n duration: {\n type: [Number, String],\n default: 500\n },\n touchable: {\n type: Boolean,\n default: true\n },\n initialSwipe: {\n type: [Number, String],\n default: 0\n },\n showIndicators: {\n type: Boolean,\n default: true\n },\n stopPropagation: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n rect: null,\n offset: 0,\n active: 0,\n deltaX: 0,\n deltaY: 0,\n swiping: false,\n computedWidth: 0,\n computedHeight: 0\n };\n },\n watch: {\n children: function children() {\n this.initialize();\n },\n initialSwipe: function initialSwipe() {\n this.initialize();\n },\n autoplay: function autoplay(_autoplay) {\n if (_autoplay > 0) {\n this.autoPlay();\n } else {\n this.clear();\n }\n }\n },\n computed: {\n count: function count() {\n return this.children.length;\n },\n maxCount: function maxCount() {\n return Math.ceil(Math.abs(this.minOffset) / this.size);\n },\n delta: function delta() {\n return this.vertical ? this.deltaY : this.deltaX;\n },\n size: function size() {\n return this[this.vertical ? 'computedHeight' : 'computedWidth'];\n },\n trackSize: function trackSize() {\n return this.count * this.size;\n },\n activeIndicator: function activeIndicator() {\n return (this.active + this.count) % this.count;\n },\n isCorrectDirection: function isCorrectDirection() {\n var expect = this.vertical ? 'vertical' : 'horizontal';\n return this.direction === expect;\n },\n trackStyle: function trackStyle() {\n var _ref;\n\n var mainAxis = this.vertical ? 'height' : 'width';\n var crossAxis = this.vertical ? 'width' : 'height';\n return _ref = {}, _ref[mainAxis] = this.trackSize + \"px\", _ref[crossAxis] = this[crossAxis] ? this[crossAxis] + \"px\" : '', _ref.transitionDuration = (this.swiping ? 0 : this.duration) + \"ms\", _ref.transform = \"translate\" + (this.vertical ? 'Y' : 'X') + \"(\" + this.offset + \"px)\", _ref;\n },\n indicatorStyle: function indicatorStyle() {\n return {\n backgroundColor: this.indicatorColor\n };\n },\n minOffset: function minOffset() {\n return (this.vertical ? this.rect.height : this.rect.width) - this.size * this.count;\n }\n },\n mounted: function mounted() {\n this.bindTouchEvent(this.$refs.track);\n },\n methods: {\n // initialize swipe position\n initialize: function initialize(active) {\n if (active === void 0) {\n active = +this.initialSwipe;\n }\n\n if (!this.$el || isHidden(this.$el)) {\n return;\n }\n\n clearTimeout(this.timer);\n var rect = this.$el.getBoundingClientRect();\n this.rect = rect;\n this.swiping = true;\n this.active = active;\n this.computedWidth = Math.round(+this.width || rect.width);\n this.computedHeight = Math.round(+this.height || rect.height);\n this.offset = this.getTargetOffset(active);\n this.children.forEach(function (swipe) {\n swipe.offset = 0;\n });\n this.autoPlay();\n },\n // @exposed-api\n resize: function resize() {\n this.initialize(this.activeIndicator);\n },\n onVisibilityChange: function onVisibilityChange() {\n if (document.hidden) {\n this.clear();\n } else {\n this.autoPlay();\n }\n },\n onTouchStart: function onTouchStart(event) {\n if (!this.touchable) return;\n this.clear();\n this.touchStartTime = Date.now();\n this.touchStart(event);\n this.correctPosition();\n },\n onTouchMove: function onTouchMove(event) {\n if (!this.touchable || !this.swiping) return;\n this.touchMove(event);\n\n if (this.isCorrectDirection) {\n preventDefault(event, this.stopPropagation);\n this.move({\n offset: this.delta\n });\n }\n },\n onTouchEnd: function onTouchEnd() {\n if (!this.touchable || !this.swiping) return;\n var size = this.size,\n delta = this.delta;\n var duration = Date.now() - this.touchStartTime;\n var speed = delta / duration;\n var shouldSwipe = Math.abs(speed) > 0.25 || Math.abs(delta) > size / 2;\n\n if (shouldSwipe && this.isCorrectDirection) {\n var offset = this.vertical ? this.offsetY : this.offsetX;\n var pace = 0;\n\n if (this.loop) {\n pace = offset > 0 ? delta > 0 ? -1 : 1 : 0;\n } else {\n pace = -Math[delta > 0 ? 'ceil' : 'floor'](delta / size);\n }\n\n this.move({\n pace: pace,\n emitChange: true\n });\n } else if (delta) {\n this.move({\n pace: 0\n });\n }\n\n this.swiping = false;\n this.autoPlay();\n },\n getTargetActive: function getTargetActive(pace) {\n var active = this.active,\n count = this.count,\n maxCount = this.maxCount;\n\n if (pace) {\n if (this.loop) {\n return range(active + pace, -1, count);\n }\n\n return range(active + pace, 0, maxCount);\n }\n\n return active;\n },\n getTargetOffset: function getTargetOffset(targetActive, offset) {\n if (offset === void 0) {\n offset = 0;\n }\n\n var currentPosition = targetActive * this.size;\n\n if (!this.loop) {\n currentPosition = Math.min(currentPosition, -this.minOffset);\n }\n\n var targetOffset = Math.round(offset - currentPosition);\n\n if (!this.loop) {\n targetOffset = range(targetOffset, this.minOffset, 0);\n }\n\n return targetOffset;\n },\n move: function move(_ref2) {\n var _ref2$pace = _ref2.pace,\n pace = _ref2$pace === void 0 ? 0 : _ref2$pace,\n _ref2$offset = _ref2.offset,\n offset = _ref2$offset === void 0 ? 0 : _ref2$offset,\n emitChange = _ref2.emitChange;\n var loop = this.loop,\n count = this.count,\n active = this.active,\n children = this.children,\n trackSize = this.trackSize,\n minOffset = this.minOffset;\n\n if (count <= 1) {\n return;\n }\n\n var targetActive = this.getTargetActive(pace);\n var targetOffset = this.getTargetOffset(targetActive, offset); // auto move first and last swipe in loop mode\n\n if (loop) {\n if (children[0] && targetOffset !== minOffset) {\n var outRightBound = targetOffset < minOffset;\n children[0].offset = outRightBound ? trackSize : 0;\n }\n\n if (children[count - 1] && targetOffset !== 0) {\n var outLeftBound = targetOffset > 0;\n children[count - 1].offset = outLeftBound ? -trackSize : 0;\n }\n }\n\n this.active = targetActive;\n this.offset = targetOffset;\n\n if (emitChange && targetActive !== active) {\n this.$emit('change', this.activeIndicator);\n }\n },\n // @exposed-api\n prev: function prev() {\n var _this = this;\n\n this.correctPosition();\n this.resetTouchStatus();\n doubleRaf(function () {\n _this.swiping = false;\n\n _this.move({\n pace: -1,\n emitChange: true\n });\n });\n },\n // @exposed-api\n next: function next() {\n var _this2 = this;\n\n this.correctPosition();\n this.resetTouchStatus();\n doubleRaf(function () {\n _this2.swiping = false;\n\n _this2.move({\n pace: 1,\n emitChange: true\n });\n });\n },\n // @exposed-api\n swipeTo: function swipeTo(index, options) {\n var _this3 = this;\n\n if (options === void 0) {\n options = {};\n }\n\n this.correctPosition();\n this.resetTouchStatus();\n doubleRaf(function () {\n var targetIndex;\n\n if (_this3.loop && index === _this3.count) {\n targetIndex = _this3.active === 0 ? 0 : index;\n } else {\n targetIndex = index % _this3.count;\n }\n\n if (options.immediate) {\n doubleRaf(function () {\n _this3.swiping = false;\n });\n } else {\n _this3.swiping = false;\n }\n\n _this3.move({\n pace: targetIndex - _this3.active,\n emitChange: true\n });\n });\n },\n correctPosition: function correctPosition() {\n this.swiping = true;\n\n if (this.active <= -1) {\n this.move({\n pace: this.count\n });\n }\n\n if (this.active >= this.count) {\n this.move({\n pace: -this.count\n });\n }\n },\n clear: function clear() {\n clearTimeout(this.timer);\n },\n autoPlay: function autoPlay() {\n var _this4 = this;\n\n var autoplay = this.autoplay;\n\n if (autoplay > 0 && this.count > 1) {\n this.clear();\n this.timer = setTimeout(function () {\n _this4.next();\n\n _this4.autoPlay();\n }, autoplay);\n }\n },\n genIndicator: function genIndicator() {\n var _this5 = this;\n\n var h = this.$createElement;\n var count = this.count,\n activeIndicator = this.activeIndicator;\n var slot = this.slots('indicator');\n\n if (slot) {\n return slot;\n }\n\n if (this.showIndicators && count > 1) {\n return h(\"div\", {\n \"class\": bem('indicators', {\n vertical: this.vertical\n })\n }, [Array.apply(void 0, Array(count)).map(function (empty, index) {\n return h(\"i\", {\n \"class\": bem('indicator', {\n active: index === activeIndicator\n }),\n \"style\": index === activeIndicator ? _this5.indicatorStyle : null\n });\n })]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem()\n }, [h(\"div\", {\n \"ref\": \"track\",\n \"style\": this.trackStyle,\n \"class\": bem('track', {\n vertical: this.vertical\n })\n }, [this.slots()]), this.genIndicator()]);\n }\n});","import _mergeJSXProps2 from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport { createNamespace, isDef, addUnit, inBrowser } from '../utils';\nimport Icon from '../icon';\n\nvar _createNamespace = createNamespace('image'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n props: {\n src: String,\n fit: String,\n alt: String,\n round: Boolean,\n width: [Number, String],\n height: [Number, String],\n radius: [Number, String],\n lazyLoad: Boolean,\n showError: {\n type: Boolean,\n default: true\n },\n showLoading: {\n type: Boolean,\n default: true\n },\n errorIcon: {\n type: String,\n default: 'photo-fail'\n },\n loadingIcon: {\n type: String,\n default: 'photo'\n }\n },\n data: function data() {\n return {\n loading: true,\n error: false\n };\n },\n watch: {\n src: function src() {\n this.loading = true;\n this.error = false;\n }\n },\n computed: {\n style: function style() {\n var style = {};\n\n if (isDef(this.width)) {\n style.width = addUnit(this.width);\n }\n\n if (isDef(this.height)) {\n style.height = addUnit(this.height);\n }\n\n if (isDef(this.radius)) {\n style.overflow = 'hidden';\n style.borderRadius = addUnit(this.radius);\n }\n\n return style;\n }\n },\n created: function created() {\n var $Lazyload = this.$Lazyload;\n\n if ($Lazyload && inBrowser) {\n $Lazyload.$on('loaded', this.onLazyLoaded);\n $Lazyload.$on('error', this.onLazyLoadError);\n }\n },\n beforeDestroy: function beforeDestroy() {\n var $Lazyload = this.$Lazyload;\n\n if ($Lazyload) {\n $Lazyload.$off('loaded', this.onLazyLoaded);\n $Lazyload.$off('error', this.onLazyLoadError);\n }\n },\n methods: {\n onLoad: function onLoad(event) {\n this.loading = false;\n this.$emit('load', event);\n },\n onLazyLoaded: function onLazyLoaded(_ref) {\n var el = _ref.el;\n\n if (el === this.$refs.image && this.loading) {\n this.onLoad();\n }\n },\n onLazyLoadError: function onLazyLoadError(_ref2) {\n var el = _ref2.el;\n\n if (el === this.$refs.image && !this.error) {\n this.onError();\n }\n },\n onError: function onError(event) {\n this.error = true;\n this.loading = false;\n this.$emit('error', event);\n },\n onClick: function onClick(event) {\n this.$emit('click', event);\n },\n genPlaceholder: function genPlaceholder() {\n var h = this.$createElement;\n\n if (this.loading && this.showLoading) {\n return h(\"div\", {\n \"class\": bem('loading')\n }, [this.slots('loading') || h(Icon, {\n \"attrs\": {\n \"name\": this.loadingIcon\n },\n \"class\": bem('loading-icon')\n })]);\n }\n\n if (this.error && this.showError) {\n return h(\"div\", {\n \"class\": bem('error')\n }, [this.slots('error') || h(Icon, {\n \"attrs\": {\n \"name\": this.errorIcon\n },\n \"class\": bem('error-icon')\n })]);\n }\n },\n genImage: function genImage() {\n var h = this.$createElement;\n var imgData = {\n class: bem('img'),\n attrs: {\n alt: this.alt\n },\n style: {\n objectFit: this.fit\n }\n };\n\n if (this.error) {\n return;\n }\n\n if (this.lazyLoad) {\n return h(\"img\", _mergeJSXProps([{\n \"ref\": \"image\",\n \"directives\": [{\n name: \"lazy\",\n value: this.src\n }]\n }, imgData]));\n }\n\n return h(\"img\", _mergeJSXProps2([{\n \"attrs\": {\n \"src\": this.src\n },\n \"on\": {\n \"load\": this.onLoad,\n \"error\": this.onError\n }\n }, imgData]));\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem({\n round: this.round\n }),\n \"style\": this.style,\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.genImage(), this.genPlaceholder(), this.slots()]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport { ChildrenMixin } from '../mixins/relation';\n\nvar _createNamespace = createNamespace('swipe-item'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ChildrenMixin('vanSwipe')],\n data: function data() {\n return {\n offset: 0,\n mounted: false\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.mounted = true;\n });\n },\n computed: {\n style: function style() {\n var style = {};\n var _this$parent = this.parent,\n size = _this$parent.size,\n vertical = _this$parent.vertical;\n style[vertical ? 'height' : 'width'] = size + \"px\";\n\n if (this.offset) {\n style.transform = \"translate\" + (vertical ? 'Y' : 'X') + \"(\" + this.offset + \"px)\";\n }\n\n return style;\n },\n shouldRender: function shouldRender() {\n var index = this.index,\n parent = this.parent,\n mounted = this.mounted;\n\n if (!parent.lazyRender) {\n return true;\n } // wait for all item to mount, so we can get the exact count\n\n\n if (!mounted) {\n return false;\n }\n\n var active = parent.activeIndicator;\n var maxActive = parent.count - 1;\n var prevActive = active === 0 ? maxActive : active - 1;\n var nextActive = active === maxActive ? 0 : active + 1;\n return index === active || index === prevActive || index === nextActive;\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem(),\n \"style\": this.style,\n \"on\": _extends({}, this.$listeners)\n }, [this.shouldRender && this.slots()]);\n }\n});","// Utils\nimport { bem } from './shared';\nimport { range } from '../utils/format/number';\nimport { preventDefault } from '../utils/dom/event'; // Mixins\n\nimport { TouchMixin } from '../mixins/touch'; // Component\n\nimport Image from '../image';\nimport Loading from '../loading';\nimport SwipeItem from '../swipe-item';\n\nfunction getDistance(touches) {\n return Math.sqrt(Math.pow(touches[0].clientX - touches[1].clientX, 2) + Math.pow(touches[0].clientY - touches[1].clientY, 2));\n}\n\nexport default {\n mixins: [TouchMixin],\n props: {\n src: String,\n show: Boolean,\n active: Number,\n minZoom: [Number, String],\n maxZoom: [Number, String],\n windowWidth: Number,\n windowHeight: Number\n },\n data: function data() {\n return {\n scale: 1,\n moveX: 0,\n moveY: 0,\n moving: false,\n zooming: false,\n imageRatio: 0,\n displayWidth: 0,\n displayHeight: 0\n };\n },\n computed: {\n vertical: function vertical() {\n var windowWidth = this.windowWidth,\n windowHeight = this.windowHeight;\n var windowRatio = windowHeight / windowWidth;\n return this.imageRatio > windowRatio;\n },\n imageStyle: function imageStyle() {\n var scale = this.scale;\n var style = {\n transitionDuration: this.zooming || this.moving ? '0s' : '.3s'\n };\n\n if (scale !== 1) {\n var offsetX = this.moveX / scale;\n var offsetY = this.moveY / scale;\n style.transform = \"scale(\" + scale + \", \" + scale + \") translate(\" + offsetX + \"px, \" + offsetY + \"px)\";\n }\n\n return style;\n },\n maxMoveX: function maxMoveX() {\n if (this.imageRatio) {\n var displayWidth = this.vertical ? this.windowHeight / this.imageRatio : this.windowWidth;\n return Math.max(0, (this.scale * displayWidth - this.windowWidth) / 2);\n }\n\n return 0;\n },\n maxMoveY: function maxMoveY() {\n if (this.imageRatio) {\n var displayHeight = this.vertical ? this.windowHeight : this.windowWidth * this.imageRatio;\n return Math.max(0, (this.scale * displayHeight - this.windowHeight) / 2);\n }\n\n return 0;\n }\n },\n watch: {\n show: function show(val) {\n if (!val) {\n this.resetScale();\n }\n }\n },\n mounted: function mounted() {\n this.bindTouchEvent(this.$el);\n },\n methods: {\n resetScale: function resetScale() {\n this.setScale(1);\n this.moveX = 0;\n this.moveY = 0;\n },\n setScale: function setScale(scale) {\n this.scale = range(scale, +this.minZoom, +this.maxZoom);\n this.$emit('scale', {\n scale: this.scale,\n index: this.active\n });\n },\n toggleScale: function toggleScale() {\n var scale = this.scale > 1 ? 1 : 2;\n this.setScale(scale);\n this.moveX = 0;\n this.moveY = 0;\n },\n onTouchStart: function onTouchStart(event) {\n var touches = event.touches;\n var _this$offsetX = this.offsetX,\n offsetX = _this$offsetX === void 0 ? 0 : _this$offsetX;\n this.touchStart(event);\n this.touchStartTime = new Date();\n this.startMoveX = this.moveX;\n this.startMoveY = this.moveY;\n this.moving = touches.length === 1 && this.scale !== 1;\n this.zooming = touches.length === 2 && !offsetX;\n\n if (this.zooming) {\n this.startScale = this.scale;\n this.startDistance = getDistance(event.touches);\n }\n },\n onTouchMove: function onTouchMove(event) {\n var touches = event.touches;\n this.touchMove(event);\n\n if (this.moving || this.zooming) {\n preventDefault(event, true);\n }\n\n if (this.moving) {\n var moveX = this.deltaX + this.startMoveX;\n var moveY = this.deltaY + this.startMoveY;\n this.moveX = range(moveX, -this.maxMoveX, this.maxMoveX);\n this.moveY = range(moveY, -this.maxMoveY, this.maxMoveY);\n }\n\n if (this.zooming && touches.length === 2) {\n var distance = getDistance(touches);\n var scale = this.startScale * distance / this.startDistance;\n this.setScale(scale);\n }\n },\n onTouchEnd: function onTouchEnd(event) {\n var stopPropagation = false;\n /* istanbul ignore else */\n\n if (this.moving || this.zooming) {\n stopPropagation = true;\n\n if (this.moving && this.startMoveX === this.moveX && this.startMoveY === this.moveY) {\n stopPropagation = false;\n }\n\n if (!event.touches.length) {\n if (this.zooming) {\n this.moveX = range(this.moveX, -this.maxMoveX, this.maxMoveX);\n this.moveY = range(this.moveY, -this.maxMoveY, this.maxMoveY);\n this.zooming = false;\n }\n\n this.moving = false;\n this.startMoveX = 0;\n this.startMoveY = 0;\n this.startScale = 1;\n\n if (this.scale < 1) {\n this.resetScale();\n }\n }\n } // eliminate tap delay on safari\n\n\n preventDefault(event, stopPropagation);\n this.checkTap();\n this.resetTouchStatus();\n },\n checkTap: function checkTap() {\n var _this = this;\n\n var _this$offsetX2 = this.offsetX,\n offsetX = _this$offsetX2 === void 0 ? 0 : _this$offsetX2,\n _this$offsetY = this.offsetY,\n offsetY = _this$offsetY === void 0 ? 0 : _this$offsetY;\n var deltaTime = new Date() - this.touchStartTime;\n var TAP_TIME = 250;\n var TAP_OFFSET = 10;\n\n if (offsetX < TAP_OFFSET && offsetY < TAP_OFFSET && deltaTime < TAP_TIME) {\n if (this.doubleTapTimer) {\n clearTimeout(this.doubleTapTimer);\n this.doubleTapTimer = null;\n this.toggleScale();\n } else {\n this.doubleTapTimer = setTimeout(function () {\n _this.$emit('close');\n\n _this.doubleTapTimer = null;\n }, TAP_TIME);\n }\n }\n },\n onLoad: function onLoad(event) {\n var _event$target = event.target,\n naturalWidth = _event$target.naturalWidth,\n naturalHeight = _event$target.naturalHeight;\n this.imageRatio = naturalHeight / naturalWidth;\n }\n },\n render: function render() {\n var h = arguments[0];\n var imageSlots = {\n loading: function loading() {\n return h(Loading, {\n \"attrs\": {\n \"type\": \"spinner\"\n }\n });\n }\n };\n return h(SwipeItem, {\n \"class\": bem('swipe-item')\n }, [h(Image, {\n \"attrs\": {\n \"src\": this.src,\n \"fit\": \"contain\"\n },\n \"class\": bem('image', {\n vertical: this.vertical\n }),\n \"style\": this.imageStyle,\n \"scopedSlots\": imageSlots,\n \"on\": {\n \"load\": this.onLoad\n }\n })]);\n }\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport Vue from 'vue';\nimport VueImagePreview from './ImagePreview';\nimport { isServer } from '../utils';\nvar instance;\nvar defaultConfig = {\n loop: true,\n value: true,\n images: [],\n maxZoom: 3,\n minZoom: 1 / 3,\n onClose: null,\n onChange: null,\n className: '',\n showIndex: true,\n closeable: false,\n closeIcon: 'clear',\n asyncClose: false,\n getContainer: 'body',\n startPosition: 0,\n swipeDuration: 500,\n showIndicators: false,\n closeOnPopstate: true,\n closeIconPosition: 'top-right'\n};\n\nvar initInstance = function initInstance() {\n instance = new (Vue.extend(VueImagePreview))({\n el: document.createElement('div')\n });\n document.body.appendChild(instance.$el);\n instance.$on('change', function (index) {\n if (instance.onChange) {\n instance.onChange(index);\n }\n });\n instance.$on('scale', function (data) {\n if (instance.onScale) {\n instance.onScale(data);\n }\n });\n};\n\nvar ImagePreview = function ImagePreview(images, startPosition) {\n if (startPosition === void 0) {\n startPosition = 0;\n }\n\n /* istanbul ignore if */\n if (isServer) {\n return;\n }\n\n if (!instance) {\n initInstance();\n }\n\n var options = Array.isArray(images) ? {\n images: images,\n startPosition: startPosition\n } : images;\n\n _extends(instance, defaultConfig, options);\n\n instance.$once('input', function (show) {\n instance.value = show;\n });\n instance.$once('closed', function () {\n instance.images = [];\n });\n\n if (options.onClose) {\n instance.$off('close');\n instance.$once('close', options.onClose);\n }\n\n return instance;\n};\n\nImagePreview.Component = VueImagePreview;\n\nImagePreview.install = function () {\n Vue.use(VueImagePreview);\n};\n\nexport default ImagePreview;","// Utils\nimport { inBrowser } from '../utils';\nimport { bem, createComponent } from './shared'; // Mixins\n\nimport { PopupMixin } from '../mixins/popup';\nimport { TouchMixin } from '../mixins/touch';\nimport { BindEventMixin } from '../mixins/bind-event'; // Components\n\nimport Icon from '../icon';\nimport Swipe from '../swipe';\nimport ImagePreviewItem from './ImagePreviewItem';\nexport default createComponent({\n mixins: [TouchMixin, PopupMixin({\n skipToggleEvent: true\n }), BindEventMixin(function (bind) {\n bind(window, 'resize', this.resize, true);\n bind(window, 'orientationchange', this.resize, true);\n })],\n props: {\n className: null,\n closeable: Boolean,\n asyncClose: Boolean,\n showIndicators: Boolean,\n images: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n loop: {\n type: Boolean,\n default: true\n },\n overlay: {\n type: Boolean,\n default: true\n },\n minZoom: {\n type: [Number, String],\n default: 1 / 3\n },\n maxZoom: {\n type: [Number, String],\n default: 3\n },\n showIndex: {\n type: Boolean,\n default: true\n },\n swipeDuration: {\n type: [Number, String],\n default: 500\n },\n startPosition: {\n type: [Number, String],\n default: 0\n },\n overlayClass: {\n type: String,\n default: bem('overlay')\n },\n closeIcon: {\n type: String,\n default: 'clear'\n },\n closeOnPopstate: {\n type: Boolean,\n default: true\n },\n closeIconPosition: {\n type: String,\n default: 'top-right'\n }\n },\n data: function data() {\n return {\n active: 0,\n windowWidth: 0,\n windowHeight: 0,\n doubleClickTimer: null\n };\n },\n created: function created() {\n this.resize();\n },\n watch: {\n startPosition: 'setActive',\n value: function value(val) {\n var _this = this;\n\n if (val) {\n this.setActive(+this.startPosition);\n this.$nextTick(function () {\n _this.$refs.swipe.swipeTo(+_this.startPosition, {\n immediate: true\n });\n });\n } else {\n this.$emit('close', {\n index: this.active,\n url: this.images[this.active]\n });\n }\n }\n },\n methods: {\n resize: function resize() {\n if (inBrowser) {\n this.windowWidth = window.innerWidth;\n this.windowHeight = window.innerHeight;\n }\n },\n emitClose: function emitClose() {\n if (!this.asyncClose) {\n this.$emit('input', false);\n }\n },\n emitScale: function emitScale(args) {\n this.$emit('scale', args);\n },\n setActive: function setActive(active) {\n if (active !== this.active) {\n this.active = active;\n this.$emit('change', active);\n }\n },\n genIndex: function genIndex() {\n var h = this.$createElement;\n\n if (this.showIndex) {\n return h(\"div\", {\n \"class\": bem('index')\n }, [this.slots('index') || this.active + 1 + \" / \" + this.images.length]);\n }\n },\n genCover: function genCover() {\n var h = this.$createElement;\n var cover = this.slots('cover');\n\n if (cover) {\n return h(\"div\", {\n \"class\": bem('cover')\n }, [cover]);\n }\n },\n genImages: function genImages() {\n var _this2 = this;\n\n var h = this.$createElement;\n return h(Swipe, {\n \"ref\": \"swipe\",\n \"attrs\": {\n \"lazyRender\": true,\n \"loop\": this.loop,\n \"duration\": this.swipeDuration,\n \"initialSwipe\": this.startPosition,\n \"showIndicators\": this.showIndicators,\n \"indicatorColor\": \"white\"\n },\n \"class\": bem('swipe'),\n \"on\": {\n \"change\": this.setActive\n }\n }, [this.images.map(function (image) {\n return h(ImagePreviewItem, {\n \"attrs\": {\n \"src\": image,\n \"show\": _this2.value,\n \"active\": _this2.active,\n \"maxZoom\": _this2.maxZoom,\n \"minZoom\": _this2.minZoom,\n \"windowWidth\": _this2.windowWidth,\n \"windowHeight\": _this2.windowHeight\n },\n \"on\": {\n \"scale\": _this2.emitScale,\n \"close\": _this2.emitClose\n }\n });\n })]);\n },\n genClose: function genClose() {\n var h = this.$createElement;\n\n if (this.closeable) {\n return h(Icon, {\n \"attrs\": {\n \"role\": \"button\",\n \"name\": this.closeIcon\n },\n \"class\": bem('close-icon', this.closeIconPosition),\n \"on\": {\n \"click\": this.emitClose\n }\n });\n }\n },\n onClosed: function onClosed() {\n this.$emit('closed');\n },\n // @exposed-api\n swipeTo: function swipeTo(index, options) {\n if (this.$refs.swipe) {\n this.$refs.swipe.swipeTo(index, options);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n\n if (!this.shouldRender) {\n return;\n }\n\n return h(\"transition\", {\n \"attrs\": {\n \"name\": \"van-fade\"\n },\n \"on\": {\n \"afterLeave\": this.onClosed\n }\n }, [h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: this.value\n }],\n \"class\": [bem(), this.className]\n }, [this.genClose(), this.genImages(), this.genIndex(), this.genCover()])]);\n }\n});","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeedbackResponse.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeedbackResponse.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FeedbackResponse.vue?vue&type=template&id=7355f474&scoped=true&\"\nimport script from \"./FeedbackResponse.vue?vue&type=script&lang=js&\"\nexport * from \"./FeedbackResponse.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FeedbackResponse.vue?vue&type=style&index=0&id=7355f474&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7355f474\",\n null\n \n)\n\nexport default component.exports","\"use strict\";\n\nexports.__esModule = true;\nexports.on = on;\nexports.off = off;\nexports.stopPropagation = stopPropagation;\nexports.preventDefault = preventDefault;\nexports.supportsPassive = void 0;\n\nvar _ = require(\"..\");\n\n// eslint-disable-next-line import/no-mutable-exports\nvar supportsPassive = false;\nexports.supportsPassive = supportsPassive;\n\nif (!_.isServer) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', {\n // eslint-disable-next-line getter-return\n get: function get() {\n /* istanbul ignore next */\n exports.supportsPassive = supportsPassive = true;\n }\n });\n window.addEventListener('test-passive', null, opts); // eslint-disable-next-line no-empty\n } catch (e) {}\n}\n\nfunction on(target, event, handler, passive) {\n if (passive === void 0) {\n passive = false;\n }\n\n if (!_.isServer) {\n target.addEventListener(event, handler, supportsPassive ? {\n capture: false,\n passive: passive\n } : false);\n }\n}\n\nfunction off(target, event, handler) {\n if (!_.isServer) {\n target.removeEventListener(event, handler);\n }\n}\n\nfunction stopPropagation(event) {\n event.stopPropagation();\n}\n\nfunction preventDefault(event, isStopPropagation) {\n /* istanbul ignore else */\n if (typeof event.cancelable !== 'boolean' || event.cancelable) {\n event.preventDefault();\n }\n\n if (isStopPropagation) {\n stopPropagation(event);\n }\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.FieldMixin = void 0;\nvar FieldMixin = {\n inject: {\n vanField: {\n default: null\n }\n },\n watch: {\n value: function value() {\n var field = this.vanField;\n\n if (field) {\n field.resetValidation();\n field.validateWithTrigger('onChange');\n }\n }\n },\n created: function created() {\n var field = this.vanField;\n\n if (field && !field.children) {\n field.children = this;\n }\n }\n};\nexports.FieldMixin = FieldMixin;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _shared = require(\"./shared\");\n\nvar _number = require(\"../utils/format/number\");\n\nvar _event = require(\"../utils/dom/event\");\n\nvar _touch = require(\"../mixins/touch\");\n\nvar _image = _interopRequireDefault(require(\"../image\"));\n\nvar _loading = _interopRequireDefault(require(\"../loading\"));\n\nvar _swipeItem = _interopRequireDefault(require(\"../swipe-item\"));\n\n// Utils\n// Mixins\n// Component\nfunction getDistance(touches) {\n return Math.sqrt(Math.pow(touches[0].clientX - touches[1].clientX, 2) + Math.pow(touches[0].clientY - touches[1].clientY, 2));\n}\n\nvar _default = {\n mixins: [_touch.TouchMixin],\n props: {\n src: String,\n show: Boolean,\n active: Number,\n minZoom: [Number, String],\n maxZoom: [Number, String],\n windowWidth: Number,\n windowHeight: Number\n },\n data: function data() {\n return {\n scale: 1,\n moveX: 0,\n moveY: 0,\n moving: false,\n zooming: false,\n imageRatio: 0,\n displayWidth: 0,\n displayHeight: 0\n };\n },\n computed: {\n vertical: function vertical() {\n var windowWidth = this.windowWidth,\n windowHeight = this.windowHeight;\n var windowRatio = windowHeight / windowWidth;\n return this.imageRatio > windowRatio;\n },\n imageStyle: function imageStyle() {\n var scale = this.scale;\n var style = {\n transitionDuration: this.zooming || this.moving ? '0s' : '.3s'\n };\n\n if (scale !== 1) {\n var offsetX = this.moveX / scale;\n var offsetY = this.moveY / scale;\n style.transform = \"scale(\" + scale + \", \" + scale + \") translate(\" + offsetX + \"px, \" + offsetY + \"px)\";\n }\n\n return style;\n },\n maxMoveX: function maxMoveX() {\n if (this.imageRatio) {\n var displayWidth = this.vertical ? this.windowHeight / this.imageRatio : this.windowWidth;\n return Math.max(0, (this.scale * displayWidth - this.windowWidth) / 2);\n }\n\n return 0;\n },\n maxMoveY: function maxMoveY() {\n if (this.imageRatio) {\n var displayHeight = this.vertical ? this.windowHeight : this.windowWidth * this.imageRatio;\n return Math.max(0, (this.scale * displayHeight - this.windowHeight) / 2);\n }\n\n return 0;\n }\n },\n watch: {\n show: function show(val) {\n if (!val) {\n this.resetScale();\n }\n }\n },\n mounted: function mounted() {\n this.bindTouchEvent(this.$el);\n },\n methods: {\n resetScale: function resetScale() {\n this.setScale(1);\n this.moveX = 0;\n this.moveY = 0;\n },\n setScale: function setScale(scale) {\n this.scale = (0, _number.range)(scale, +this.minZoom, +this.maxZoom);\n this.$emit('scale', {\n scale: this.scale,\n index: this.active\n });\n },\n toggleScale: function toggleScale() {\n var scale = this.scale > 1 ? 1 : 2;\n this.setScale(scale);\n this.moveX = 0;\n this.moveY = 0;\n },\n onTouchStart: function onTouchStart(event) {\n var touches = event.touches;\n var _this$offsetX = this.offsetX,\n offsetX = _this$offsetX === void 0 ? 0 : _this$offsetX;\n this.touchStart(event);\n this.touchStartTime = new Date();\n this.startMoveX = this.moveX;\n this.startMoveY = this.moveY;\n this.moving = touches.length === 1 && this.scale !== 1;\n this.zooming = touches.length === 2 && !offsetX;\n\n if (this.zooming) {\n this.startScale = this.scale;\n this.startDistance = getDistance(event.touches);\n }\n },\n onTouchMove: function onTouchMove(event) {\n var touches = event.touches;\n this.touchMove(event);\n\n if (this.moving || this.zooming) {\n (0, _event.preventDefault)(event, true);\n }\n\n if (this.moving) {\n var moveX = this.deltaX + this.startMoveX;\n var moveY = this.deltaY + this.startMoveY;\n this.moveX = (0, _number.range)(moveX, -this.maxMoveX, this.maxMoveX);\n this.moveY = (0, _number.range)(moveY, -this.maxMoveY, this.maxMoveY);\n }\n\n if (this.zooming && touches.length === 2) {\n var distance = getDistance(touches);\n var scale = this.startScale * distance / this.startDistance;\n this.setScale(scale);\n }\n },\n onTouchEnd: function onTouchEnd(event) {\n var stopPropagation = false;\n /* istanbul ignore else */\n\n if (this.moving || this.zooming) {\n stopPropagation = true;\n\n if (this.moving && this.startMoveX === this.moveX && this.startMoveY === this.moveY) {\n stopPropagation = false;\n }\n\n if (!event.touches.length) {\n if (this.zooming) {\n this.moveX = (0, _number.range)(this.moveX, -this.maxMoveX, this.maxMoveX);\n this.moveY = (0, _number.range)(this.moveY, -this.maxMoveY, this.maxMoveY);\n this.zooming = false;\n }\n\n this.moving = false;\n this.startMoveX = 0;\n this.startMoveY = 0;\n this.startScale = 1;\n\n if (this.scale < 1) {\n this.resetScale();\n }\n }\n } // eliminate tap delay on safari\n\n\n (0, _event.preventDefault)(event, stopPropagation);\n this.checkTap();\n this.resetTouchStatus();\n },\n checkTap: function checkTap() {\n var _this = this;\n\n var _this$offsetX2 = this.offsetX,\n offsetX = _this$offsetX2 === void 0 ? 0 : _this$offsetX2,\n _this$offsetY = this.offsetY,\n offsetY = _this$offsetY === void 0 ? 0 : _this$offsetY;\n var deltaTime = new Date() - this.touchStartTime;\n var TAP_TIME = 250;\n var TAP_OFFSET = 10;\n\n if (offsetX < TAP_OFFSET && offsetY < TAP_OFFSET && deltaTime < TAP_TIME) {\n if (this.doubleTapTimer) {\n clearTimeout(this.doubleTapTimer);\n this.doubleTapTimer = null;\n this.toggleScale();\n } else {\n this.doubleTapTimer = setTimeout(function () {\n _this.$emit('close');\n\n _this.doubleTapTimer = null;\n }, TAP_TIME);\n }\n }\n },\n onLoad: function onLoad(event) {\n var _event$target = event.target,\n naturalWidth = _event$target.naturalWidth,\n naturalHeight = _event$target.naturalHeight;\n this.imageRatio = naturalHeight / naturalWidth;\n }\n },\n render: function render() {\n var h = arguments[0];\n var imageSlots = {\n loading: function loading() {\n return h(_loading.default, {\n \"attrs\": {\n \"type\": \"spinner\"\n }\n });\n }\n };\n return h(_swipeItem.default, {\n \"class\": (0, _shared.bem)('swipe-item')\n }, [h(_image.default, {\n \"attrs\": {\n \"src\": this.src,\n \"fit\": \"contain\"\n },\n \"class\": (0, _shared.bem)('image', {\n vertical: this.vertical\n }),\n \"style\": this.imageStyle,\n \"scopedSlots\": imageSlots,\n \"on\": {\n \"load\": this.onLoad\n }\n })]);\n }\n};\nexports.default = _default;","/**\n * requestAnimationFrame polyfill\n */\nimport { isServer } from '..';\nvar prev = Date.now();\n/* istanbul ignore next */\n\nfunction fallback(fn) {\n var curr = Date.now();\n var ms = Math.max(0, 16 - (curr - prev));\n var id = setTimeout(fn, ms);\n prev = curr + ms;\n return id;\n}\n/* istanbul ignore next */\n\n\nvar root = isServer ? global : window;\n/* istanbul ignore next */\n\nvar iRaf = root.requestAnimationFrame || fallback;\n/* istanbul ignore next */\n\nvar iCancel = root.cancelAnimationFrame || root.clearTimeout;\nexport function raf(fn) {\n return iRaf.call(root, fn);\n} // double raf for animation\n\nexport function doubleRaf(fn) {\n raf(function () {\n raf(fn);\n });\n}\nexport function cancelRaf(id) {\n iCancel.call(root, id);\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _babelHelperVueJsxMergeProps = _interopRequireDefault(require(\"@vue/babel-helper-vue-jsx-merge-props\"));\n\nvar _utils = require(\"../utils\");\n\nvar _functional = require(\"../utils/functional\");\n\nvar _info = _interopRequireDefault(require(\"../info\"));\n\n// Utils\n// Components\nvar _createNamespace = (0, _utils.createNamespace)('icon'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction isImage(name) {\n return name ? name.indexOf('/') !== -1 : false;\n} // compatible with legacy usage, should be removed in next major version\n\n\nvar LEGACY_MAP = {\n medel: 'medal',\n 'medel-o': 'medal-o'\n};\n\nfunction correctName(name) {\n return name && LEGACY_MAP[name] || name;\n}\n\nfunction Icon(h, props, slots, ctx) {\n var name = correctName(props.name);\n var imageIcon = isImage(name);\n return h(props.tag, (0, _babelHelperVueJsxMergeProps.default)([{\n \"class\": [props.classPrefix, imageIcon ? '' : props.classPrefix + \"-\" + name],\n \"style\": {\n color: props.color,\n fontSize: (0, _utils.addUnit)(props.size)\n }\n }, (0, _functional.inherit)(ctx, true)]), [slots.default && slots.default(), imageIcon && h(\"img\", {\n \"class\": bem('image'),\n \"attrs\": {\n \"src\": name\n }\n }), h(_info.default, {\n \"attrs\": {\n \"dot\": props.dot,\n \"info\": (0, _utils.isDef)(props.badge) ? props.badge : props.info\n }\n })]);\n}\n\nIcon.props = {\n dot: Boolean,\n name: String,\n size: [Number, String],\n // @deprecated\n // should be removed in next major version\n info: [Number, String],\n badge: [Number, String],\n color: String,\n tag: {\n type: String,\n default: 'i'\n },\n classPrefix: {\n type: String,\n default: bem()\n }\n};\n\nvar _default = createComponent(Icon);\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.createBEM = createBEM;\n\n/**\n * bem helper\n * b() // 'button'\n * b('text') // 'button__text'\n * b({ disabled }) // 'button button--disabled'\n * b('text', { disabled }) // 'button__text button__text--disabled'\n * b(['disabled', 'primary']) // 'button button--disabled button--primary'\n */\nfunction gen(name, mods) {\n if (!mods) {\n return '';\n }\n\n if (typeof mods === 'string') {\n return \" \" + name + \"--\" + mods;\n }\n\n if (Array.isArray(mods)) {\n return mods.reduce(function (ret, item) {\n return ret + gen(name, item);\n }, '');\n }\n\n return Object.keys(mods).reduce(function (ret, key) {\n return ret + (mods[key] ? gen(name, key) : '');\n }, '');\n}\n\nfunction createBEM(name) {\n return function (el, mods) {\n if (el && typeof el !== 'string') {\n mods = el;\n el = '';\n }\n\n el = el ? name + \"__\" + el : name;\n return \"\" + el + gen(el, mods);\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.bem = exports.createComponent = void 0;\n\nvar _utils = require(\"../utils\");\n\nvar _createNamespace = (0, _utils.createNamespace)('image-preview'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexports.bem = bem;\nexports.createComponent = createComponent;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;","\"use strict\";\n\nexports.__esModule = true;\nexports.raf = raf;\nexports.doubleRaf = doubleRaf;\nexports.cancelRaf = cancelRaf;\n\nvar _ = require(\"..\");\n\n/**\n * requestAnimationFrame polyfill\n */\nvar prev = Date.now();\n/* istanbul ignore next */\n\nfunction fallback(fn) {\n var curr = Date.now();\n var ms = Math.max(0, 16 - (curr - prev));\n var id = setTimeout(fn, ms);\n prev = curr + ms;\n return id;\n}\n/* istanbul ignore next */\n\n\nvar root = _.isServer ? global : window;\n/* istanbul ignore next */\n\nvar iRaf = root.requestAnimationFrame || fallback;\n/* istanbul ignore next */\n\nvar iCancel = root.cancelAnimationFrame || root.clearTimeout;\n\nfunction raf(fn) {\n return iRaf.call(root, fn);\n} // double raf for animation\n\n\nfunction doubleRaf(fn) {\n raf(function () {\n raf(fn);\n });\n}\n\nfunction cancelRaf(id) {\n iCancel.call(root, id);\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.PortalMixin = PortalMixin;\n\nfunction getElement(selector) {\n if (typeof selector === 'string') {\n return document.querySelector(selector);\n }\n\n return selector();\n}\n\nfunction PortalMixin(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n ref = _ref.ref,\n afterPortal = _ref.afterPortal;\n\n return {\n props: {\n getContainer: [String, Function]\n },\n watch: {\n getContainer: 'portal'\n },\n mounted: function mounted() {\n if (this.getContainer) {\n this.portal();\n }\n },\n methods: {\n portal: function portal() {\n var getContainer = this.getContainer;\n var el = ref ? this.$refs[ref] : this.$el;\n var container;\n\n if (getContainer) {\n container = getElement(getContainer);\n } else if (this.$parent) {\n container = this.$parent.$el;\n }\n\n if (container && container !== el.parentNode) {\n container.appendChild(el);\n }\n\n if (afterPortal) {\n afterPortal.call(this);\n }\n }\n }\n };\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _utils = require(\"../utils\");\n\nvar _utils2 = require(\"./utils\");\n\nvar _field = require(\"../mixins/field\");\n\nvar _icon = _interopRequireDefault(require(\"../icon\"));\n\nvar _image = _interopRequireDefault(require(\"../image\"));\n\nvar _loading = _interopRequireDefault(require(\"../loading\"));\n\nvar _imagePreview = _interopRequireDefault(require(\"../image-preview\"));\n\n// Utils\n// Mixins\n// Components\nvar _createNamespace = (0, _utils.createNamespace)('uploader'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar _default2 = createComponent({\n inheritAttrs: false,\n mixins: [_field.FieldMixin],\n model: {\n prop: 'fileList'\n },\n props: {\n disabled: Boolean,\n lazyLoad: Boolean,\n uploadText: String,\n afterRead: Function,\n beforeRead: Function,\n beforeDelete: Function,\n previewSize: [Number, String],\n previewOptions: Object,\n name: {\n type: [Number, String],\n default: ''\n },\n accept: {\n type: String,\n default: 'image/*'\n },\n fileList: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n maxSize: {\n type: [Number, String],\n default: Number.MAX_VALUE\n },\n maxCount: {\n type: [Number, String],\n default: Number.MAX_VALUE\n },\n deletable: {\n type: Boolean,\n default: true\n },\n showUpload: {\n type: Boolean,\n default: true\n },\n previewImage: {\n type: Boolean,\n default: true\n },\n previewFullImage: {\n type: Boolean,\n default: true\n },\n imageFit: {\n type: String,\n default: 'cover'\n },\n resultType: {\n type: String,\n default: 'dataUrl'\n },\n uploadIcon: {\n type: String,\n default: 'photograph'\n }\n },\n computed: {\n previewSizeWithUnit: function previewSizeWithUnit() {\n return (0, _utils.addUnit)(this.previewSize);\n },\n // for form\n value: function value() {\n return this.fileList;\n }\n },\n methods: {\n getDetail: function getDetail(index) {\n if (index === void 0) {\n index = this.fileList.length;\n }\n\n return {\n name: this.name,\n index: index\n };\n },\n onChange: function onChange(event) {\n var _this = this;\n\n var files = event.target.files;\n\n if (this.disabled || !files.length) {\n return;\n }\n\n files = files.length === 1 ? files[0] : [].slice.call(files);\n\n if (this.beforeRead) {\n var response = this.beforeRead(files, this.getDetail());\n\n if (!response) {\n this.resetInput();\n return;\n }\n\n if ((0, _utils.isPromise)(response)) {\n response.then(function (data) {\n if (data) {\n _this.readFile(data);\n } else {\n _this.readFile(files);\n }\n }).catch(this.resetInput);\n return;\n }\n }\n\n this.readFile(files);\n },\n readFile: function readFile(files) {\n var _this2 = this;\n\n var oversize = (0, _utils2.isOversize)(files, this.maxSize);\n\n if (Array.isArray(files)) {\n var maxCount = this.maxCount - this.fileList.length;\n\n if (files.length > maxCount) {\n files = files.slice(0, maxCount);\n }\n\n Promise.all(files.map(function (file) {\n return (0, _utils2.readFile)(file, _this2.resultType);\n })).then(function (contents) {\n var fileList = files.map(function (file, index) {\n var result = {\n file: file,\n status: '',\n message: ''\n };\n\n if (contents[index]) {\n result.content = contents[index];\n }\n\n return result;\n });\n\n _this2.onAfterRead(fileList, oversize);\n });\n } else {\n (0, _utils2.readFile)(files, this.resultType).then(function (content) {\n var result = {\n file: files,\n status: '',\n message: ''\n };\n\n if (content) {\n result.content = content;\n }\n\n _this2.onAfterRead(result, oversize);\n });\n }\n },\n onAfterRead: function onAfterRead(files, oversize) {\n var _this3 = this;\n\n this.resetInput();\n var validFiles = files;\n\n if (oversize) {\n var oversizeFiles = files;\n\n if (Array.isArray(files)) {\n oversizeFiles = [];\n validFiles = [];\n files.forEach(function (item) {\n if (item.file) {\n if (item.file.size > _this3.maxSize) {\n oversizeFiles.push(item);\n } else {\n validFiles.push(item);\n }\n }\n });\n } else {\n validFiles = null;\n }\n\n this.$emit('oversize', oversizeFiles, this.getDetail());\n }\n\n var isValidFiles = Array.isArray(validFiles) ? Boolean(validFiles.length) : Boolean(validFiles);\n\n if (isValidFiles) {\n this.$emit('input', [].concat(this.fileList, (0, _utils2.toArray)(validFiles)));\n\n if (this.afterRead) {\n this.afterRead(validFiles, this.getDetail());\n }\n }\n },\n onDelete: function onDelete(file, index) {\n var _this4 = this;\n\n if (this.beforeDelete) {\n var response = this.beforeDelete(file, this.getDetail(index));\n\n if (!response) {\n return;\n }\n\n if ((0, _utils.isPromise)(response)) {\n response.then(function () {\n _this4.deleteFile(file, index);\n }).catch(_utils.noop);\n return;\n }\n }\n\n this.deleteFile(file, index);\n },\n deleteFile: function deleteFile(file, index) {\n var fileList = this.fileList.slice(0);\n fileList.splice(index, 1);\n this.$emit('input', fileList);\n this.$emit('delete', file, this.getDetail(index));\n },\n resetInput: function resetInput() {\n /* istanbul ignore else */\n if (this.$refs.input) {\n this.$refs.input.value = '';\n }\n },\n onPreviewImage: function onPreviewImage(item) {\n var _this5 = this;\n\n if (!this.previewFullImage) {\n return;\n }\n\n var imageFiles = this.fileList.filter(function (item) {\n return (0, _utils2.isImageFile)(item);\n });\n var imageContents = imageFiles.map(function (item) {\n return item.content || item.url;\n });\n this.imagePreview = (0, _imagePreview.default)((0, _extends2.default)({\n images: imageContents,\n startPosition: imageFiles.indexOf(item),\n onClose: function onClose() {\n _this5.$emit('close-preview');\n }\n }, this.previewOptions));\n },\n // @exposed-api\n closeImagePreview: function closeImagePreview() {\n if (this.imagePreview) {\n this.imagePreview.close();\n }\n },\n // @exposed-api\n chooseFile: function chooseFile() {\n if (this.disabled) {\n return;\n }\n /* istanbul ignore else */\n\n\n if (this.$refs.input) {\n this.$refs.input.click();\n }\n },\n genPreviewMask: function genPreviewMask(item) {\n var h = this.$createElement;\n var status = item.status,\n message = item.message;\n\n if (status === 'uploading' || status === 'failed') {\n var MaskIcon = status === 'failed' ? h(_icon.default, {\n \"attrs\": {\n \"name\": \"close\"\n },\n \"class\": bem('mask-icon')\n }) : h(_loading.default, {\n \"class\": bem('loading')\n });\n var showMessage = (0, _utils.isDef)(message) && message !== '';\n return h(\"div\", {\n \"class\": bem('mask')\n }, [MaskIcon, showMessage && h(\"div\", {\n \"class\": bem('mask-message')\n }, [message])]);\n }\n },\n genPreviewItem: function genPreviewItem(item, index) {\n var _this6 = this;\n\n var h = this.$createElement;\n var showDelete = item.status !== 'uploading' && this.deletable;\n var DeleteIcon = showDelete && h(\"div\", {\n \"class\": bem('preview-delete'),\n \"on\": {\n \"click\": function click(event) {\n event.stopPropagation();\n\n _this6.onDelete(item, index);\n }\n }\n }, [h(_icon.default, {\n \"attrs\": {\n \"name\": \"cross\"\n },\n \"class\": bem('preview-delete-icon')\n })]);\n var PreviewCoverContent = this.slots('preview-cover', item);\n var PreviewCover = PreviewCoverContent && h(\"div\", {\n \"class\": bem('preview-cover')\n }, [PreviewCoverContent]);\n var Preview = (0, _utils2.isImageFile)(item) ? h(_image.default, {\n \"attrs\": {\n \"fit\": this.imageFit,\n \"src\": item.content || item.url,\n \"width\": this.previewSize,\n \"height\": this.previewSize,\n \"lazyLoad\": this.lazyLoad\n },\n \"class\": bem('preview-image'),\n \"on\": {\n \"click\": function click() {\n _this6.onPreviewImage(item);\n }\n }\n }, [PreviewCover]) : h(\"div\", {\n \"class\": bem('file'),\n \"style\": {\n width: this.previewSizeWithUnit,\n height: this.previewSizeWithUnit\n }\n }, [h(_icon.default, {\n \"class\": bem('file-icon'),\n \"attrs\": {\n \"name\": \"description\"\n }\n }), h(\"div\", {\n \"class\": [bem('file-name'), 'van-ellipsis']\n }, [item.file ? item.file.name : item.url]), PreviewCover]);\n return h(\"div\", {\n \"class\": bem('preview'),\n \"on\": {\n \"click\": function click() {\n _this6.$emit('click-preview', item, _this6.getDetail(index));\n }\n }\n }, [Preview, this.genPreviewMask(item), DeleteIcon]);\n },\n genPreviewList: function genPreviewList() {\n if (this.previewImage) {\n return this.fileList.map(this.genPreviewItem);\n }\n },\n genUpload: function genUpload() {\n var h = this.$createElement;\n\n if (this.fileList.length >= this.maxCount || !this.showUpload) {\n return;\n }\n\n var slot = this.slots();\n var Input = h(\"input\", {\n \"attrs\": (0, _extends2.default)({}, this.$attrs, {\n \"type\": \"file\",\n \"accept\": this.accept,\n \"disabled\": this.disabled\n }),\n \"ref\": \"input\",\n \"class\": bem('input'),\n \"on\": {\n \"change\": this.onChange\n }\n });\n\n if (slot) {\n return h(\"div\", {\n \"class\": bem('input-wrapper')\n }, [slot, Input]);\n }\n\n var style;\n\n if (this.previewSize) {\n var size = this.previewSizeWithUnit;\n style = {\n width: size,\n height: size\n };\n }\n\n return h(\"div\", {\n \"class\": bem('upload'),\n \"style\": style\n }, [h(_icon.default, {\n \"attrs\": {\n \"name\": this.uploadIcon\n },\n \"class\": bem('upload-icon')\n }), this.uploadText && h(\"span\", {\n \"class\": bem('upload-text')\n }, [this.uploadText]), Input]);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem()\n }, [h(\"div\", {\n \"class\": bem('wrapper', {\n disabled: this.disabled\n })\n }, [this.genPreviewList(), this.genUpload()])]);\n }\n});\n\nexports.default = _default2;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _deepAssign = require(\"../utils/deep-assign\");\n\nvar _zhCN = _interopRequireDefault(require(\"./lang/zh-CN\"));\n\nvar proto = _vue.default.prototype;\nvar defineReactive = _vue.default.util.defineReactive;\ndefineReactive(proto, '$vantLang', 'zh-CN');\ndefineReactive(proto, '$vantMessages', {\n 'zh-CN': _zhCN.default\n});\nvar _default = {\n messages: function messages() {\n return proto.$vantMessages[proto.$vantLang];\n },\n use: function use(lang, messages) {\n var _this$add;\n\n proto.$vantLang = lang;\n this.add((_this$add = {}, _this$add[lang] = messages, _this$add));\n },\n add: function add(messages) {\n if (messages === void 0) {\n messages = {};\n }\n\n (0, _deepAssign.deepAssign)(proto.$vantMessages, messages);\n }\n};\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.getScroller = getScroller;\nexports.getScrollTop = getScrollTop;\nexports.setScrollTop = setScrollTop;\nexports.getRootScrollTop = getRootScrollTop;\nexports.setRootScrollTop = setRootScrollTop;\nexports.getElementTop = getElementTop;\nexports.getVisibleHeight = getVisibleHeight;\nexports.getVisibleTop = getVisibleTop;\n\nfunction isWindow(val) {\n return val === window;\n} // get nearest scroll element\n// 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;\n\nfunction getScroller(el, root) {\n if (root === void 0) {\n root = window;\n }\n\n var node = el;\n\n while (node && node.tagName !== 'HTML' && node.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}\n\nfunction getScrollTop(el) {\n var top = 'scrollTop' in el ? el.scrollTop : el.pageYOffset; // iOS scroll bounce cause minus scrollTop\n\n return Math.max(top, 0);\n}\n\nfunction setScrollTop(el, value) {\n if ('scrollTop' in el) {\n el.scrollTop = value;\n } else {\n el.scrollTo(el.scrollX, value);\n }\n}\n\nfunction getRootScrollTop() {\n return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n}\n\nfunction setRootScrollTop(value) {\n setScrollTop(window, value);\n setScrollTop(document.body, value);\n} // get distance from element top to page top or scroller top\n\n\nfunction getElementTop(el, scroller) {\n if (isWindow(el)) {\n return 0;\n }\n\n var scrollTop = scroller ? getScrollTop(scroller) : getRootScrollTop();\n return el.getBoundingClientRect().top + scrollTop;\n}\n\nfunction getVisibleHeight(el) {\n if (isWindow(el)) {\n return el.innerHeight;\n }\n\n return el.getBoundingClientRect().height;\n}\n\nfunction getVisibleTop(el) {\n if (isWindow(el)) {\n return 0;\n }\n\n return el.getBoundingClientRect().top;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.unifySlots = unifySlots;\nexports.createComponent = createComponent;\n\nrequire(\"../../locale\");\n\nvar _ = require(\"..\");\n\nvar _string = require(\"../format/string\");\n\nvar _slots = require(\"../../mixins/slots\");\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\n/**\n * Create a basic component with common options\n */\nfunction install(Vue) {\n var name = this.name;\n Vue.component(name, this);\n Vue.component((0, _string.camelize)(\"-\" + name), this);\n} // unify slots & scopedSlots\n\n\nfunction unifySlots(context) {\n // use data.scopedSlots in lower Vue version\n var scopedSlots = context.scopedSlots || context.data.scopedSlots || {};\n var slots = context.slots();\n Object.keys(slots).forEach(function (key) {\n if (!scopedSlots[key]) {\n scopedSlots[key] = function () {\n return slots[key];\n };\n }\n });\n return scopedSlots;\n} // should be removed after Vue 3\n\n\nfunction transformFunctionComponent(pure) {\n return {\n functional: true,\n props: pure.props,\n model: pure.model,\n render: function render(h, context) {\n return pure(h, context.props, unifySlots(context), context);\n }\n };\n}\n\nfunction createComponent(name) {\n return function (sfc) {\n if ((0, _.isFunction)(sfc)) {\n sfc = transformFunctionComponent(sfc);\n }\n\n if (!sfc.functional) {\n sfc.mixins = sfc.mixins || [];\n sfc.mixins.push(_slots.SlotsMixin);\n }\n\n sfc.name = name;\n sfc.install = install;\n return sfc;\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.createNamespace = createNamespace;\n\nvar _bem = require(\"./bem\");\n\nvar _component = require(\"./component\");\n\nvar _i18n = require(\"./i18n\");\n\nfunction createNamespace(name) {\n name = 'van-' + name;\n return [(0, _component.createComponent)(name), (0, _bem.createBEM)(name), (0, _i18n.createI18N)(name)];\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _ImagePreview = _interopRequireDefault(require(\"./ImagePreview\"));\n\nvar _utils = require(\"../utils\");\n\nvar instance;\nvar defaultConfig = {\n loop: true,\n value: true,\n images: [],\n maxZoom: 3,\n minZoom: 1 / 3,\n onClose: null,\n onChange: null,\n className: '',\n showIndex: true,\n closeable: false,\n closeIcon: 'clear',\n asyncClose: false,\n getContainer: 'body',\n startPosition: 0,\n swipeDuration: 500,\n showIndicators: false,\n closeOnPopstate: true,\n closeIconPosition: 'top-right'\n};\n\nvar initInstance = function initInstance() {\n instance = new (_vue.default.extend(_ImagePreview.default))({\n el: document.createElement('div')\n });\n document.body.appendChild(instance.$el);\n instance.$on('change', function (index) {\n if (instance.onChange) {\n instance.onChange(index);\n }\n });\n instance.$on('scale', function (data) {\n if (instance.onScale) {\n instance.onScale(data);\n }\n });\n};\n\nvar ImagePreview = function ImagePreview(images, startPosition) {\n if (startPosition === void 0) {\n startPosition = 0;\n }\n\n /* istanbul ignore if */\n if (_utils.isServer) {\n return;\n }\n\n if (!instance) {\n initInstance();\n }\n\n var options = Array.isArray(images) ? {\n images: images,\n startPosition: startPosition\n } : images;\n (0, _extends2.default)(instance, defaultConfig, options);\n instance.$once('input', function (show) {\n instance.value = show;\n });\n instance.$once('closed', function () {\n instance.images = [];\n });\n\n if (options.onClose) {\n instance.$off('close');\n instance.$once('close', options.onClose);\n }\n\n return instance;\n};\n\nImagePreview.Component = _ImagePreview.default;\n\nImagePreview.install = function () {\n _vue.default.use(_ImagePreview.default);\n};\n\nvar _default = ImagePreview;\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.isHidden = isHidden;\n\nfunction isHidden(el) {\n var style = window.getComputedStyle(el);\n var hidden = style.display === 'none'; // offsetParent returns null in the following situations:\n // 1. The element or its parent element has the display property set to none.\n // 2. The element has the position property set to fixed\n\n var parentHidden = el.offsetParent === null && style.position !== 'fixed';\n return hidden || parentHidden;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.deepAssign = deepAssign;\n\nvar _ = require(\".\");\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction assignKey(to, from, key) {\n var val = from[key];\n\n if (!(0, _.isDef)(val)) {\n return;\n }\n\n if (!hasOwnProperty.call(to, key) || !(0, _.isObject)(val)) {\n to[key] = val;\n } else {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n to[key] = deepAssign(Object(to[key]), from[key]);\n }\n}\n\nfunction deepAssign(to, from) {\n Object.keys(from).forEach(function (key) {\n assignKey(to, from, key);\n });\n return to;\n}","require('../../style/base.css');\nrequire('../../overlay/index.css');\nrequire('../../info/index.css');\nrequire('../../icon/index.css');\nrequire('../../image/index.css');\nrequire('../../popup/index.css');\nrequire('../../loading/index.css');\nrequire('../../swipe/index.css');\nrequire('../../swipe-item/index.css');\nrequire('../index.css');","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _babelHelperVueJsxMergeProps = _interopRequireDefault(require(\"@vue/babel-helper-vue-jsx-merge-props\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _utils = require(\"../utils\");\n\nvar _functional = require(\"../utils/functional\");\n\nvar _event = require(\"../utils/dom/event\");\n\n// Utils\nvar _createNamespace = (0, _utils.createNamespace)('overlay'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction preventTouchMove(event) {\n (0, _event.preventDefault)(event, true);\n}\n\nfunction Overlay(h, props, slots, ctx) {\n var style = (0, _extends2.default)({\n zIndex: props.zIndex\n }, props.customStyle);\n\n if ((0, _utils.isDef)(props.duration)) {\n style.animationDuration = props.duration + \"s\";\n }\n\n return h(\"transition\", {\n \"attrs\": {\n \"name\": \"van-fade\"\n }\n }, [h(\"div\", (0, _babelHelperVueJsxMergeProps.default)([{\n \"directives\": [{\n name: \"show\",\n value: props.show\n }],\n \"style\": style,\n \"class\": [bem(), props.className],\n \"on\": {\n \"touchmove\": props.lockScroll ? preventTouchMove : _utils.noop\n }\n }, (0, _functional.inherit)(ctx, true)]), [slots.default == null ? void 0 : slots.default()])]);\n}\n\nOverlay.props = {\n show: Boolean,\n zIndex: [Number, String],\n duration: [Number, String],\n className: null,\n customStyle: Object,\n lockScroll: {\n type: Boolean,\n default: true\n }\n};\n\nvar _default = createComponent(Overlay);\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.range = range;\nexports.formatNumber = formatNumber;\n\nfunction range(num, min, max) {\n return Math.min(Math.max(num, min), max);\n}\n\nfunction trimExtraChar(value, _char, regExp) {\n var index = value.indexOf(_char);\n\n if (index === -1) {\n return value;\n }\n\n if (_char === '-' && index !== 0) {\n return value.slice(0, index);\n }\n\n return value.slice(0, index + 1) + value.slice(index).replace(regExp, '');\n}\n\nfunction formatNumber(value, allowDot) {\n if (allowDot) {\n value = trimExtraChar(value, '.', /\\./g);\n } else {\n value = value.split('.')[0];\n }\n\n value = trimExtraChar(value, '-', /-/g);\n var regExp = allowDot ? /[^-0-9.]/g : /[^-0-9]/g;\n return value.replace(regExp, '');\n}","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","\"use strict\";\n\nexports.__esModule = true;\nexports.sortChildren = sortChildren;\n\nfunction flattenVNodes(vnodes) {\n var result = [];\n\n function traverse(vnodes) {\n vnodes.forEach(function (vnode) {\n result.push(vnode);\n\n if (vnode.componentInstance) {\n traverse(vnode.componentInstance.$children.map(function (item) {\n return item.$vnode;\n }));\n }\n\n if (vnode.children) {\n traverse(vnode.children);\n }\n });\n }\n\n traverse(vnodes);\n return result;\n} // sort children instances by vnodes order\n\n\nfunction sortChildren(children, parent) {\n var componentOptions = parent.$vnode.componentOptions;\n\n if (!componentOptions || !componentOptions.children) {\n return;\n }\n\n var vnodes = flattenVNodes(componentOptions.children);\n children.sort(function (a, b) {\n return vnodes.indexOf(a.$vnode) - vnodes.indexOf(b.$vnode);\n });\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _utils = require(\"../utils\");\n\nvar _style = require(\"../utils/dom/style\");\n\nvar _event = require(\"../utils/dom/event\");\n\nvar _raf = require(\"../utils/dom/raf\");\n\nvar _number = require(\"../utils/format/number\");\n\nvar _touch = require(\"../mixins/touch\");\n\nvar _relation = require(\"../mixins/relation\");\n\nvar _bindEvent = require(\"../mixins/bind-event\");\n\n// Utils\n// Mixins\nvar _createNamespace = (0, _utils.createNamespace)('swipe'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar _default = createComponent({\n mixins: [_touch.TouchMixin, (0, _relation.ParentMixin)('vanSwipe'), (0, _bindEvent.BindEventMixin)(function (bind, isBind) {\n bind(window, 'resize', this.resize, true);\n bind(window, 'orientationchange', this.resize, true);\n bind(window, 'visibilitychange', this.onVisibilityChange);\n\n if (isBind) {\n this.initialize();\n } else {\n this.clear();\n }\n })],\n props: {\n width: [Number, String],\n height: [Number, String],\n autoplay: [Number, String],\n vertical: Boolean,\n lazyRender: Boolean,\n indicatorColor: String,\n loop: {\n type: Boolean,\n default: true\n },\n duration: {\n type: [Number, String],\n default: 500\n },\n touchable: {\n type: Boolean,\n default: true\n },\n initialSwipe: {\n type: [Number, String],\n default: 0\n },\n showIndicators: {\n type: Boolean,\n default: true\n },\n stopPropagation: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n rect: null,\n offset: 0,\n active: 0,\n deltaX: 0,\n deltaY: 0,\n swiping: false,\n computedWidth: 0,\n computedHeight: 0\n };\n },\n watch: {\n children: function children() {\n this.initialize();\n },\n initialSwipe: function initialSwipe() {\n this.initialize();\n },\n autoplay: function autoplay(_autoplay) {\n if (_autoplay > 0) {\n this.autoPlay();\n } else {\n this.clear();\n }\n }\n },\n computed: {\n count: function count() {\n return this.children.length;\n },\n maxCount: function maxCount() {\n return Math.ceil(Math.abs(this.minOffset) / this.size);\n },\n delta: function delta() {\n return this.vertical ? this.deltaY : this.deltaX;\n },\n size: function size() {\n return this[this.vertical ? 'computedHeight' : 'computedWidth'];\n },\n trackSize: function trackSize() {\n return this.count * this.size;\n },\n activeIndicator: function activeIndicator() {\n return (this.active + this.count) % this.count;\n },\n isCorrectDirection: function isCorrectDirection() {\n var expect = this.vertical ? 'vertical' : 'horizontal';\n return this.direction === expect;\n },\n trackStyle: function trackStyle() {\n var _ref;\n\n var mainAxis = this.vertical ? 'height' : 'width';\n var crossAxis = this.vertical ? 'width' : 'height';\n return _ref = {}, _ref[mainAxis] = this.trackSize + \"px\", _ref[crossAxis] = this[crossAxis] ? this[crossAxis] + \"px\" : '', _ref.transitionDuration = (this.swiping ? 0 : this.duration) + \"ms\", _ref.transform = \"translate\" + (this.vertical ? 'Y' : 'X') + \"(\" + this.offset + \"px)\", _ref;\n },\n indicatorStyle: function indicatorStyle() {\n return {\n backgroundColor: this.indicatorColor\n };\n },\n minOffset: function minOffset() {\n return (this.vertical ? this.rect.height : this.rect.width) - this.size * this.count;\n }\n },\n mounted: function mounted() {\n this.bindTouchEvent(this.$refs.track);\n },\n methods: {\n // initialize swipe position\n initialize: function initialize(active) {\n if (active === void 0) {\n active = +this.initialSwipe;\n }\n\n if (!this.$el || (0, _style.isHidden)(this.$el)) {\n return;\n }\n\n clearTimeout(this.timer);\n var rect = this.$el.getBoundingClientRect();\n this.rect = rect;\n this.swiping = true;\n this.active = active;\n this.computedWidth = Math.round(+this.width || rect.width);\n this.computedHeight = Math.round(+this.height || rect.height);\n this.offset = this.getTargetOffset(active);\n this.children.forEach(function (swipe) {\n swipe.offset = 0;\n });\n this.autoPlay();\n },\n // @exposed-api\n resize: function resize() {\n this.initialize(this.activeIndicator);\n },\n onVisibilityChange: function onVisibilityChange() {\n if (document.hidden) {\n this.clear();\n } else {\n this.autoPlay();\n }\n },\n onTouchStart: function onTouchStart(event) {\n if (!this.touchable) return;\n this.clear();\n this.touchStartTime = Date.now();\n this.touchStart(event);\n this.correctPosition();\n },\n onTouchMove: function onTouchMove(event) {\n if (!this.touchable || !this.swiping) return;\n this.touchMove(event);\n\n if (this.isCorrectDirection) {\n (0, _event.preventDefault)(event, this.stopPropagation);\n this.move({\n offset: this.delta\n });\n }\n },\n onTouchEnd: function onTouchEnd() {\n if (!this.touchable || !this.swiping) return;\n var size = this.size,\n delta = this.delta;\n var duration = Date.now() - this.touchStartTime;\n var speed = delta / duration;\n var shouldSwipe = Math.abs(speed) > 0.25 || Math.abs(delta) > size / 2;\n\n if (shouldSwipe && this.isCorrectDirection) {\n var offset = this.vertical ? this.offsetY : this.offsetX;\n var pace = 0;\n\n if (this.loop) {\n pace = offset > 0 ? delta > 0 ? -1 : 1 : 0;\n } else {\n pace = -Math[delta > 0 ? 'ceil' : 'floor'](delta / size);\n }\n\n this.move({\n pace: pace,\n emitChange: true\n });\n } else if (delta) {\n this.move({\n pace: 0\n });\n }\n\n this.swiping = false;\n this.autoPlay();\n },\n getTargetActive: function getTargetActive(pace) {\n var active = this.active,\n count = this.count,\n maxCount = this.maxCount;\n\n if (pace) {\n if (this.loop) {\n return (0, _number.range)(active + pace, -1, count);\n }\n\n return (0, _number.range)(active + pace, 0, maxCount);\n }\n\n return active;\n },\n getTargetOffset: function getTargetOffset(targetActive, offset) {\n if (offset === void 0) {\n offset = 0;\n }\n\n var currentPosition = targetActive * this.size;\n\n if (!this.loop) {\n currentPosition = Math.min(currentPosition, -this.minOffset);\n }\n\n var targetOffset = Math.round(offset - currentPosition);\n\n if (!this.loop) {\n targetOffset = (0, _number.range)(targetOffset, this.minOffset, 0);\n }\n\n return targetOffset;\n },\n move: function move(_ref2) {\n var _ref2$pace = _ref2.pace,\n pace = _ref2$pace === void 0 ? 0 : _ref2$pace,\n _ref2$offset = _ref2.offset,\n offset = _ref2$offset === void 0 ? 0 : _ref2$offset,\n emitChange = _ref2.emitChange;\n var loop = this.loop,\n count = this.count,\n active = this.active,\n children = this.children,\n trackSize = this.trackSize,\n minOffset = this.minOffset;\n\n if (count <= 1) {\n return;\n }\n\n var targetActive = this.getTargetActive(pace);\n var targetOffset = this.getTargetOffset(targetActive, offset); // auto move first and last swipe in loop mode\n\n if (loop) {\n if (children[0] && targetOffset !== minOffset) {\n var outRightBound = targetOffset < minOffset;\n children[0].offset = outRightBound ? trackSize : 0;\n }\n\n if (children[count - 1] && targetOffset !== 0) {\n var outLeftBound = targetOffset > 0;\n children[count - 1].offset = outLeftBound ? -trackSize : 0;\n }\n }\n\n this.active = targetActive;\n this.offset = targetOffset;\n\n if (emitChange && targetActive !== active) {\n this.$emit('change', this.activeIndicator);\n }\n },\n // @exposed-api\n prev: function prev() {\n var _this = this;\n\n this.correctPosition();\n this.resetTouchStatus();\n (0, _raf.doubleRaf)(function () {\n _this.swiping = false;\n\n _this.move({\n pace: -1,\n emitChange: true\n });\n });\n },\n // @exposed-api\n next: function next() {\n var _this2 = this;\n\n this.correctPosition();\n this.resetTouchStatus();\n (0, _raf.doubleRaf)(function () {\n _this2.swiping = false;\n\n _this2.move({\n pace: 1,\n emitChange: true\n });\n });\n },\n // @exposed-api\n swipeTo: function swipeTo(index, options) {\n var _this3 = this;\n\n if (options === void 0) {\n options = {};\n }\n\n this.correctPosition();\n this.resetTouchStatus();\n (0, _raf.doubleRaf)(function () {\n var targetIndex;\n\n if (_this3.loop && index === _this3.count) {\n targetIndex = _this3.active === 0 ? 0 : index;\n } else {\n targetIndex = index % _this3.count;\n }\n\n if (options.immediate) {\n (0, _raf.doubleRaf)(function () {\n _this3.swiping = false;\n });\n } else {\n _this3.swiping = false;\n }\n\n _this3.move({\n pace: targetIndex - _this3.active,\n emitChange: true\n });\n });\n },\n correctPosition: function correctPosition() {\n this.swiping = true;\n\n if (this.active <= -1) {\n this.move({\n pace: this.count\n });\n }\n\n if (this.active >= this.count) {\n this.move({\n pace: -this.count\n });\n }\n },\n clear: function clear() {\n clearTimeout(this.timer);\n },\n autoPlay: function autoPlay() {\n var _this4 = this;\n\n var autoplay = this.autoplay;\n\n if (autoplay > 0 && this.count > 1) {\n this.clear();\n this.timer = setTimeout(function () {\n _this4.next();\n\n _this4.autoPlay();\n }, autoplay);\n }\n },\n genIndicator: function genIndicator() {\n var _this5 = this;\n\n var h = this.$createElement;\n var count = this.count,\n activeIndicator = this.activeIndicator;\n var slot = this.slots('indicator');\n\n if (slot) {\n return slot;\n }\n\n if (this.showIndicators && count > 1) {\n return h(\"div\", {\n \"class\": bem('indicators', {\n vertical: this.vertical\n })\n }, [Array.apply(void 0, Array(count)).map(function (empty, index) {\n return h(\"i\", {\n \"class\": bem('indicator', {\n active: index === activeIndicator\n }),\n \"style\": index === activeIndicator ? _this5.indicatorStyle : null\n });\n })]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem()\n }, [h(\"div\", {\n \"ref\": \"track\",\n \"style\": this.trackStyle,\n \"class\": bem('track', {\n vertical: this.vertical\n })\n }, [this.slots()]), this.genIndicator()]);\n }\n});\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _babelHelperVueJsxMergeProps = _interopRequireDefault(require(\"@vue/babel-helper-vue-jsx-merge-props\"));\n\nvar _utils = require(\"../utils\");\n\nvar _functional = require(\"../utils/functional\");\n\n// Utils\nvar _createNamespace = (0, _utils.createNamespace)('info'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction Info(h, props, slots, ctx) {\n var dot = props.dot,\n info = props.info;\n var showInfo = (0, _utils.isDef)(info) && info !== '';\n\n if (!dot && !showInfo) {\n return;\n }\n\n return h(\"div\", (0, _babelHelperVueJsxMergeProps.default)([{\n \"class\": bem({\n dot: dot\n })\n }, (0, _functional.inherit)(ctx, true)]), [dot ? '' : props.info]);\n}\n\nInfo.props = {\n dot: Boolean,\n info: [Number, String]\n};\n\nvar _default = createComponent(Info);\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar _default = {\n name: '姓名',\n tel: '电话',\n save: '保存',\n confirm: '确认',\n cancel: '取消',\n delete: '删除',\n complete: '完成',\n loading: '加载中...',\n telEmpty: '请填写电话',\n nameEmpty: '请填写姓名',\n nameInvalid: '请输入正确的姓名',\n confirmDelete: '确定要删除吗',\n telInvalid: '请输入正确的手机号',\n vanCalendar: {\n end: '结束',\n start: '开始',\n title: '日期选择',\n confirm: '确定',\n startEnd: '开始/结束',\n weekdays: ['日', '一', '二', '三', '四', '五', '六'],\n monthTitle: function monthTitle(year, month) {\n return year + \"\\u5E74\" + month + \"\\u6708\";\n },\n rangePrompt: function rangePrompt(maxRange) {\n return \"\\u9009\\u62E9\\u5929\\u6570\\u4E0D\\u80FD\\u8D85\\u8FC7 \" + maxRange + \" \\u5929\";\n }\n },\n vanContactCard: {\n addText: '添加联系人'\n },\n vanContactList: {\n addText: '新建联系人'\n },\n vanPagination: {\n prev: '上一页',\n next: '下一页'\n },\n vanPullRefresh: {\n pulling: '下拉即可刷新...',\n loosing: '释放即可刷新...'\n },\n vanSubmitBar: {\n label: '合计:'\n },\n vanCoupon: {\n unlimited: '无使用门槛',\n discount: function discount(_discount) {\n return _discount + \"\\u6298\";\n },\n condition: function condition(_condition) {\n return \"\\u6EE1\" + _condition + \"\\u5143\\u53EF\\u7528\";\n }\n },\n vanCouponCell: {\n title: '优惠券',\n tips: '暂无可用',\n count: function count(_count) {\n return _count + \"\\u5F20\\u53EF\\u7528\";\n }\n },\n vanCouponList: {\n empty: '暂无优惠券',\n exchange: '兑换',\n close: '不使用优惠券',\n enable: '可用',\n disabled: '不可用',\n placeholder: '请输入优惠码'\n },\n vanAddressEdit: {\n area: '地区',\n postal: '邮政编码',\n areaEmpty: '请选择地区',\n addressEmpty: '请填写详细地址',\n postalEmpty: '邮政编码格式不正确',\n defaultAddress: '设为默认收货地址',\n telPlaceholder: '收货人手机号',\n namePlaceholder: '收货人姓名',\n areaPlaceholder: '选择省 / 市 / 区'\n },\n vanAddressEditDetail: {\n label: '详细地址',\n placeholder: '街道门牌、楼层房间号等信息'\n },\n vanAddressList: {\n add: '新增地址'\n }\n};\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.context = void 0;\nvar context = {\n zIndex: 2000,\n lockCount: 0,\n stack: [],\n find: function find(vm) {\n return this.stack.filter(function (item) {\n return item.vm === vm;\n })[0];\n }\n};\nexports.context = context;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _babelHelperVueJsxMergeProps = _interopRequireDefault(require(\"@vue/babel-helper-vue-jsx-merge-props\"));\n\nvar _utils = require(\"../utils\");\n\nvar _functional = require(\"../utils/functional\");\n\n// Utils\nvar _createNamespace = (0, _utils.createNamespace)('loading'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction LoadingIcon(h, props) {\n if (props.type === 'spinner') {\n var Spin = [];\n\n for (var i = 0; i < 12; i++) {\n Spin.push(h(\"i\"));\n }\n\n return Spin;\n }\n\n return h(\"svg\", {\n \"class\": bem('circular'),\n \"attrs\": {\n \"viewBox\": \"25 25 50 50\"\n }\n }, [h(\"circle\", {\n \"attrs\": {\n \"cx\": \"50\",\n \"cy\": \"50\",\n \"r\": \"20\",\n \"fill\": \"none\"\n }\n })]);\n}\n\nfunction LoadingText(h, props, slots) {\n if (slots.default) {\n var style = props.textSize && {\n fontSize: (0, _utils.addUnit)(props.textSize)\n };\n return h(\"span\", {\n \"class\": bem('text'),\n \"style\": style\n }, [slots.default()]);\n }\n}\n\nfunction Loading(h, props, slots, ctx) {\n var color = props.color,\n size = props.size,\n type = props.type;\n var style = {\n color: color\n };\n\n if (size) {\n var iconSize = (0, _utils.addUnit)(size);\n style.width = iconSize;\n style.height = iconSize;\n }\n\n return h(\"div\", (0, _babelHelperVueJsxMergeProps.default)([{\n \"class\": bem([type, {\n vertical: props.vertical\n }])\n }, (0, _functional.inherit)(ctx, true)]), [h(\"span\", {\n \"class\": bem('spinner', type),\n \"style\": style\n }, [LoadingIcon(h, props)]), LoadingText(h, props, slots)]);\n}\n\nLoading.props = {\n color: String,\n size: [Number, String],\n vertical: Boolean,\n textSize: [Number, String],\n type: {\n type: String,\n default: 'circular'\n }\n};\n\nvar _default = createComponent(Loading);\n\nexports.default = _default;","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeedbackResponse.vue?vue&type=style&index=0&id=7355f474&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeedbackResponse.vue?vue&type=style&index=0&id=7355f474&lang=scss&scoped=true&\"","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.updateOverlay = updateOverlay;\nexports.openOverlay = openOverlay;\nexports.closeOverlay = closeOverlay;\nexports.removeOverlay = removeOverlay;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _overlay = _interopRequireDefault(require(\"../../overlay\"));\n\nvar _context = require(\"./context\");\n\nvar _functional = require(\"../../utils/functional\");\n\nvar _node = require(\"../../utils/dom/node\");\n\nvar defaultConfig = {\n className: '',\n customStyle: {}\n};\n\nfunction mountOverlay(vm) {\n return (0, _functional.mount)(_overlay.default, {\n on: {\n // close popup when overlay clicked & closeOnClickOverlay is true\n click: function click() {\n vm.$emit('click-overlay');\n\n if (vm.closeOnClickOverlay) {\n if (vm.onClickOverlay) {\n vm.onClickOverlay();\n } else {\n vm.close();\n }\n }\n }\n }\n });\n}\n\nfunction updateOverlay(vm) {\n var item = _context.context.find(vm);\n\n if (item) {\n var el = vm.$el;\n var config = item.config,\n overlay = item.overlay;\n\n if (el && el.parentNode) {\n el.parentNode.insertBefore(overlay.$el, el);\n }\n\n (0, _extends2.default)(overlay, defaultConfig, config, {\n show: true\n });\n }\n}\n\nfunction openOverlay(vm, config) {\n var item = _context.context.find(vm);\n\n if (item) {\n item.config = config;\n } else {\n var overlay = mountOverlay(vm);\n\n _context.context.stack.push({\n vm: vm,\n config: config,\n overlay: overlay\n });\n }\n\n updateOverlay(vm);\n}\n\nfunction closeOverlay(vm) {\n var item = _context.context.find(vm);\n\n if (item) {\n item.overlay.show = false;\n }\n}\n\nfunction removeOverlay(vm) {\n var item = _context.context.find(vm);\n\n if (item) {\n (0, _node.removeNode)(item.overlay.$el);\n }\n}","require('../../style/base.css');\nrequire('../../overlay/index.css');\nrequire('../../info/index.css');\nrequire('../../icon/index.css');\nrequire('../../image/index.css');\nrequire('../../popup/index.css');\nrequire('../../loading/index.css');\nrequire('../../swipe/index.css');\nrequire('../../swipe-item/index.css');\nrequire('../../image-preview/index.css');\nrequire('../index.css');","\"use strict\";\n\nexports.__esModule = true;\nexports.toArray = toArray;\nexports.readFile = readFile;\nexports.isOversize = isOversize;\nexports.isImageUrl = isImageUrl;\nexports.isImageFile = isImageFile;\n\nfunction toArray(item) {\n if (Array.isArray(item)) {\n return item;\n }\n\n return [item];\n}\n\nfunction readFile(file, resultType) {\n return new Promise(function (resolve) {\n if (resultType === 'file') {\n resolve();\n return;\n }\n\n var reader = new FileReader();\n\n reader.onload = function (event) {\n resolve(event.target.result);\n };\n\n if (resultType === 'dataUrl') {\n reader.readAsDataURL(file);\n } else if (resultType === 'text') {\n reader.readAsText(file);\n }\n });\n}\n\nfunction isOversize(files, maxSize) {\n return toArray(files).some(function (file) {\n return file.size > maxSize;\n });\n}\n\nvar IMAGE_REGEXP = /\\.(jpeg|jpg|gif|png|svg|webp|jfif|bmp|dpg)/i;\n\nfunction isImageUrl(url) {\n return IMAGE_REGEXP.test(url);\n}\n\nfunction isImageFile(item) {\n // some special urls cannot be recognized\n // user can add `isImage` flag to mark it as an image url\n if (item.isImage) {\n return true;\n }\n\n if (item.file && item.file.type) {\n return item.file.type.indexOf('image') === 0;\n }\n\n if (item.url) {\n return isImageUrl(item.url);\n }\n\n if (item.content) {\n return item.content.indexOf('data:image') === 0;\n }\n\n return false;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.camelize = camelize;\nexports.padZero = padZero;\nvar camelizeRE = /-(\\w)/g;\n\nfunction camelize(str) {\n return str.replace(camelizeRE, function (_, c) {\n return c.toUpperCase();\n });\n}\n\nfunction padZero(num, targetLength) {\n if (targetLength === void 0) {\n targetLength = 2;\n }\n\n var str = num + '';\n\n while (str.length < targetLength) {\n str = '0' + str;\n }\n\n return str;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _babelHelperVueJsxMergeProps = _interopRequireDefault(require(\"@vue/babel-helper-vue-jsx-merge-props\"));\n\nvar _utils = require(\"../utils\");\n\nvar _icon = _interopRequireDefault(require(\"../icon\"));\n\nvar _createNamespace = (0, _utils.createNamespace)('image'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nvar _default = createComponent({\n props: {\n src: String,\n fit: String,\n alt: String,\n round: Boolean,\n width: [Number, String],\n height: [Number, String],\n radius: [Number, String],\n lazyLoad: Boolean,\n showError: {\n type: Boolean,\n default: true\n },\n showLoading: {\n type: Boolean,\n default: true\n },\n errorIcon: {\n type: String,\n default: 'photo-fail'\n },\n loadingIcon: {\n type: String,\n default: 'photo'\n }\n },\n data: function data() {\n return {\n loading: true,\n error: false\n };\n },\n watch: {\n src: function src() {\n this.loading = true;\n this.error = false;\n }\n },\n computed: {\n style: function style() {\n var style = {};\n\n if ((0, _utils.isDef)(this.width)) {\n style.width = (0, _utils.addUnit)(this.width);\n }\n\n if ((0, _utils.isDef)(this.height)) {\n style.height = (0, _utils.addUnit)(this.height);\n }\n\n if ((0, _utils.isDef)(this.radius)) {\n style.overflow = 'hidden';\n style.borderRadius = (0, _utils.addUnit)(this.radius);\n }\n\n return style;\n }\n },\n created: function created() {\n var $Lazyload = this.$Lazyload;\n\n if ($Lazyload && _utils.inBrowser) {\n $Lazyload.$on('loaded', this.onLazyLoaded);\n $Lazyload.$on('error', this.onLazyLoadError);\n }\n },\n beforeDestroy: function beforeDestroy() {\n var $Lazyload = this.$Lazyload;\n\n if ($Lazyload) {\n $Lazyload.$off('loaded', this.onLazyLoaded);\n $Lazyload.$off('error', this.onLazyLoadError);\n }\n },\n methods: {\n onLoad: function onLoad(event) {\n this.loading = false;\n this.$emit('load', event);\n },\n onLazyLoaded: function onLazyLoaded(_ref) {\n var el = _ref.el;\n\n if (el === this.$refs.image && this.loading) {\n this.onLoad();\n }\n },\n onLazyLoadError: function onLazyLoadError(_ref2) {\n var el = _ref2.el;\n\n if (el === this.$refs.image && !this.error) {\n this.onError();\n }\n },\n onError: function onError(event) {\n this.error = true;\n this.loading = false;\n this.$emit('error', event);\n },\n onClick: function onClick(event) {\n this.$emit('click', event);\n },\n genPlaceholder: function genPlaceholder() {\n var h = this.$createElement;\n\n if (this.loading && this.showLoading) {\n return h(\"div\", {\n \"class\": bem('loading')\n }, [this.slots('loading') || h(_icon.default, {\n \"attrs\": {\n \"name\": this.loadingIcon\n },\n \"class\": bem('loading-icon')\n })]);\n }\n\n if (this.error && this.showError) {\n return h(\"div\", {\n \"class\": bem('error')\n }, [this.slots('error') || h(_icon.default, {\n \"attrs\": {\n \"name\": this.errorIcon\n },\n \"class\": bem('error-icon')\n })]);\n }\n },\n genImage: function genImage() {\n var h = this.$createElement;\n var imgData = {\n class: bem('img'),\n attrs: {\n alt: this.alt\n },\n style: {\n objectFit: this.fit\n }\n };\n\n if (this.error) {\n return;\n }\n\n if (this.lazyLoad) {\n return h(\"img\", (0, _babelHelperVueJsxMergeProps.default)([{\n \"ref\": \"image\",\n \"directives\": [{\n name: \"lazy\",\n value: this.src\n }]\n }, imgData]));\n }\n\n return h(\"img\", (0, _babelHelperVueJsxMergeProps.default)([{\n \"attrs\": {\n \"src\": this.src\n },\n \"on\": {\n \"load\": this.onLoad,\n \"error\": this.onError\n }\n }, imgData]));\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem({\n round: this.round\n }),\n \"style\": this.style,\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.genImage(), this.genPlaceholder(), this.slots()]);\n }\n});\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.isNumeric = isNumeric;\nexports.isNaN = isNaN;\n\nfunction isNumeric(val) {\n return /^\\d+(\\.\\d+)?$/.test(val);\n}\n\nfunction isNaN(val) {\n if (Number.isNaN) {\n return Number.isNaN(val);\n } // eslint-disable-next-line no-self-compare\n\n\n return val !== val;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.ChildrenMixin = ChildrenMixin;\nexports.ParentMixin = ParentMixin;\n\nvar _vnodes = require(\"../utils/vnodes\");\n\nfunction ChildrenMixin(_parent, options) {\n var _inject, _computed;\n\n if (options === void 0) {\n options = {};\n }\n\n var indexKey = options.indexKey || 'index';\n return {\n inject: (_inject = {}, _inject[_parent] = {\n default: null\n }, _inject),\n computed: (_computed = {\n parent: function parent() {\n if (this.disableBindRelation) {\n return null;\n }\n\n return this[_parent];\n }\n }, _computed[indexKey] = function () {\n this.bindRelation();\n\n if (this.parent) {\n return this.parent.children.indexOf(this);\n }\n\n return null;\n }, _computed),\n watch: {\n disableBindRelation: function disableBindRelation(val) {\n if (!val) {\n this.bindRelation();\n }\n }\n },\n mounted: function mounted() {\n this.bindRelation();\n },\n beforeDestroy: function beforeDestroy() {\n var _this = this;\n\n if (this.parent) {\n this.parent.children = this.parent.children.filter(function (item) {\n return item !== _this;\n });\n }\n },\n methods: {\n bindRelation: function bindRelation() {\n if (!this.parent || this.parent.children.indexOf(this) !== -1) {\n return;\n }\n\n var children = [].concat(this.parent.children, [this]);\n (0, _vnodes.sortChildren)(children, this.parent);\n this.parent.children = children;\n }\n }\n };\n}\n\nfunction ParentMixin(parent) {\n return {\n provide: function provide() {\n var _ref;\n\n return _ref = {}, _ref[parent] = this, _ref;\n },\n data: function data() {\n return {\n children: []\n };\n }\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.SlotsMixin = void 0;\n\n/**\n * Use scopedSlots in Vue 2.6+\n * downgrade to slots in lower version\n */\nvar SlotsMixin = {\n methods: {\n slots: function slots(name, props) {\n if (name === void 0) {\n name = 'default';\n }\n\n var $slots = this.$slots,\n $scopedSlots = this.$scopedSlots;\n var scopedSlot = $scopedSlots[name];\n\n if (scopedSlot) {\n return scopedSlot(props);\n }\n\n return $slots[name];\n }\n }\n};\nexports.SlotsMixin = SlotsMixin;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.inherit = inherit;\nexports.emit = emit;\nexports.mount = mount;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar inheritKey = ['ref', 'style', 'class', 'attrs', 'nativeOn', 'directives', 'staticClass', 'staticStyle'];\nvar mapInheritKey = {\n nativeOn: 'on'\n}; // inherit partial context, map nativeOn to on\n\nfunction inherit(context, inheritListeners) {\n var result = inheritKey.reduce(function (obj, key) {\n if (context.data[key]) {\n obj[mapInheritKey[key] || key] = context.data[key];\n }\n\n return obj;\n }, {});\n\n if (inheritListeners) {\n result.on = result.on || {};\n (0, _extends2.default)(result.on, context.data.on);\n }\n\n return result;\n} // emit event\n\n\nfunction emit(context, eventName) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n var listeners = context.listeners[eventName];\n\n if (listeners) {\n if (Array.isArray(listeners)) {\n listeners.forEach(function (listener) {\n listener.apply(void 0, args);\n });\n } else {\n listeners.apply(void 0, args);\n }\n }\n} // mount functional component\n\n\nfunction mount(Component, data) {\n var instance = new _vue.default({\n el: document.createElement('div'),\n props: Component.props,\n render: function render(h) {\n return h(Component, (0, _extends2.default)({\n props: this.$props\n }, data));\n }\n });\n document.body.appendChild(instance.$el);\n return instance;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.CloseOnPopstateMixin = void 0;\n\nvar _event = require(\"../utils/dom/event\");\n\nvar _bindEvent = require(\"./bind-event\");\n\nvar CloseOnPopstateMixin = {\n mixins: [(0, _bindEvent.BindEventMixin)(function (bind, isBind) {\n this.handlePopstate(isBind && this.closeOnPopstate);\n })],\n props: {\n closeOnPopstate: Boolean\n },\n data: function data() {\n return {\n bindStatus: false\n };\n },\n watch: {\n closeOnPopstate: function closeOnPopstate(val) {\n this.handlePopstate(val);\n }\n },\n methods: {\n handlePopstate: function handlePopstate(bind) {\n var _this = this;\n\n /* istanbul ignore if */\n if (this.$isServer) {\n return;\n }\n\n if (this.bindStatus !== bind) {\n this.bindStatus = bind;\n var action = bind ? _event.on : _event.off;\n action(window, 'popstate', function () {\n _this.close();\n\n _this.shouldReopen = false;\n });\n }\n }\n }\n};\nexports.CloseOnPopstateMixin = CloseOnPopstateMixin;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _utils = require(\"../utils\");\n\nvar _shared = require(\"./shared\");\n\nvar _popup = require(\"../mixins/popup\");\n\nvar _touch = require(\"../mixins/touch\");\n\nvar _bindEvent = require(\"../mixins/bind-event\");\n\nvar _icon = _interopRequireDefault(require(\"../icon\"));\n\nvar _swipe = _interopRequireDefault(require(\"../swipe\"));\n\nvar _ImagePreviewItem = _interopRequireDefault(require(\"./ImagePreviewItem\"));\n\n// Utils\n// Mixins\n// Components\nvar _default2 = (0, _shared.createComponent)({\n mixins: [_touch.TouchMixin, (0, _popup.PopupMixin)({\n skipToggleEvent: true\n }), (0, _bindEvent.BindEventMixin)(function (bind) {\n bind(window, 'resize', this.resize, true);\n bind(window, 'orientationchange', this.resize, true);\n })],\n props: {\n className: null,\n closeable: Boolean,\n asyncClose: Boolean,\n showIndicators: Boolean,\n images: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n loop: {\n type: Boolean,\n default: true\n },\n overlay: {\n type: Boolean,\n default: true\n },\n minZoom: {\n type: [Number, String],\n default: 1 / 3\n },\n maxZoom: {\n type: [Number, String],\n default: 3\n },\n showIndex: {\n type: Boolean,\n default: true\n },\n swipeDuration: {\n type: [Number, String],\n default: 500\n },\n startPosition: {\n type: [Number, String],\n default: 0\n },\n overlayClass: {\n type: String,\n default: (0, _shared.bem)('overlay')\n },\n closeIcon: {\n type: String,\n default: 'clear'\n },\n closeOnPopstate: {\n type: Boolean,\n default: true\n },\n closeIconPosition: {\n type: String,\n default: 'top-right'\n }\n },\n data: function data() {\n return {\n active: 0,\n windowWidth: 0,\n windowHeight: 0,\n doubleClickTimer: null\n };\n },\n created: function created() {\n this.resize();\n },\n watch: {\n startPosition: 'setActive',\n value: function value(val) {\n var _this = this;\n\n if (val) {\n this.setActive(+this.startPosition);\n this.$nextTick(function () {\n _this.$refs.swipe.swipeTo(+_this.startPosition, {\n immediate: true\n });\n });\n } else {\n this.$emit('close', {\n index: this.active,\n url: this.images[this.active]\n });\n }\n }\n },\n methods: {\n resize: function resize() {\n if (_utils.inBrowser) {\n this.windowWidth = window.innerWidth;\n this.windowHeight = window.innerHeight;\n }\n },\n emitClose: function emitClose() {\n if (!this.asyncClose) {\n this.$emit('input', false);\n }\n },\n emitScale: function emitScale(args) {\n this.$emit('scale', args);\n },\n setActive: function setActive(active) {\n if (active !== this.active) {\n this.active = active;\n this.$emit('change', active);\n }\n },\n genIndex: function genIndex() {\n var h = this.$createElement;\n\n if (this.showIndex) {\n return h(\"div\", {\n \"class\": (0, _shared.bem)('index')\n }, [this.slots('index') || this.active + 1 + \" / \" + this.images.length]);\n }\n },\n genCover: function genCover() {\n var h = this.$createElement;\n var cover = this.slots('cover');\n\n if (cover) {\n return h(\"div\", {\n \"class\": (0, _shared.bem)('cover')\n }, [cover]);\n }\n },\n genImages: function genImages() {\n var _this2 = this;\n\n var h = this.$createElement;\n return h(_swipe.default, {\n \"ref\": \"swipe\",\n \"attrs\": {\n \"lazyRender\": true,\n \"loop\": this.loop,\n \"duration\": this.swipeDuration,\n \"initialSwipe\": this.startPosition,\n \"showIndicators\": this.showIndicators,\n \"indicatorColor\": \"white\"\n },\n \"class\": (0, _shared.bem)('swipe'),\n \"on\": {\n \"change\": this.setActive\n }\n }, [this.images.map(function (image) {\n return h(_ImagePreviewItem.default, {\n \"attrs\": {\n \"src\": image,\n \"show\": _this2.value,\n \"active\": _this2.active,\n \"maxZoom\": _this2.maxZoom,\n \"minZoom\": _this2.minZoom,\n \"windowWidth\": _this2.windowWidth,\n \"windowHeight\": _this2.windowHeight\n },\n \"on\": {\n \"scale\": _this2.emitScale,\n \"close\": _this2.emitClose\n }\n });\n })]);\n },\n genClose: function genClose() {\n var h = this.$createElement;\n\n if (this.closeable) {\n return h(_icon.default, {\n \"attrs\": {\n \"role\": \"button\",\n \"name\": this.closeIcon\n },\n \"class\": (0, _shared.bem)('close-icon', this.closeIconPosition),\n \"on\": {\n \"click\": this.emitClose\n }\n });\n }\n },\n onClosed: function onClosed() {\n this.$emit('closed');\n },\n // @exposed-api\n swipeTo: function swipeTo(index, options) {\n if (this.$refs.swipe) {\n this.$refs.swipe.swipeTo(index, options);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n\n if (!this.shouldRender) {\n return;\n }\n\n return h(\"transition\", {\n \"attrs\": {\n \"name\": \"van-fade\"\n },\n \"on\": {\n \"afterLeave\": this.onClosed\n }\n }, [h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: this.value\n }],\n \"class\": [(0, _shared.bem)(), this.className]\n }, [this.genClose(), this.genImages(), this.genIndex(), this.genCover()])]);\n }\n});\n\nexports.default = _default2;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.createI18N = createI18N;\n\nvar _ = require(\"..\");\n\nvar _string = require(\"../format/string\");\n\nvar _locale = _interopRequireDefault(require(\"../../locale\"));\n\nfunction createI18N(name) {\n var prefix = (0, _string.camelize)(name) + '.';\n return function (path) {\n var messages = _locale.default.messages();\n\n var message = (0, _.get)(messages, prefix + path) || (0, _.get)(messages, path);\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return (0, _.isFunction)(message) ? message.apply(void 0, args) : message;\n };\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.noop = noop;\nexports.isDef = isDef;\nexports.isFunction = isFunction;\nexports.isObject = isObject;\nexports.isPromise = isPromise;\nexports.get = get;\nexports.isServer = exports.inBrowser = exports.addUnit = exports.createNamespace = void 0;\n\nvar _vue = _interopRequireDefault(require(\"vue\"));\n\nvar _create = require(\"./create\");\n\nexports.createNamespace = _create.createNamespace;\n\nvar _unit = require(\"./format/unit\");\n\nexports.addUnit = _unit.addUnit;\nvar inBrowser = typeof window !== 'undefined';\nexports.inBrowser = inBrowser;\nvar isServer = _vue.default.prototype.$isServer; // eslint-disable-next-line @typescript-eslint/no-empty-function\n\nexports.isServer = isServer;\n\nfunction noop() {}\n\nfunction isDef(val) {\n return val !== undefined && val !== null;\n}\n\nfunction isFunction(val) {\n return typeof val === 'function';\n}\n\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\nfunction isPromise(val) {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n}\n\nfunction get(object, path) {\n var keys = path.split('.');\n var result = object;\n keys.forEach(function (key) {\n result = isDef(result[key]) ? result[key] : '';\n });\n return result;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.PopupMixin = PopupMixin;\nexports.popupMixinProps = void 0;\n\nvar _context = require(\"./context\");\n\nvar _overlay = require(\"./overlay\");\n\nvar _event = require(\"../../utils/dom/event\");\n\nvar _node = require(\"../../utils/dom/node\");\n\nvar _scroll = require(\"../../utils/dom/scroll\");\n\nvar _touch = require(\"../touch\");\n\nvar _portal = require(\"../portal\");\n\nvar _closeOnPopstate = require(\"../close-on-popstate\");\n\n// Context\n// Utils\n// Mixins\nvar popupMixinProps = {\n // 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 click overlay\n closeOnClickOverlay: Boolean,\n // z-index\n zIndex: [Number, String],\n // prevent body scroll\n lockScroll: {\n type: Boolean,\n default: true\n },\n // whether to lazy render\n lazyRender: {\n type: Boolean,\n default: true\n }\n};\nexports.popupMixinProps = popupMixinProps;\n\nfunction PopupMixin(options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n mixins: [_touch.TouchMixin, _closeOnPopstate.CloseOnPopstateMixin, (0, _portal.PortalMixin)({\n afterPortal: function afterPortal() {\n if (this.overlay) {\n (0, _overlay.updateOverlay)();\n }\n }\n })],\n 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 (0, _overlay.removeOverlay)(this);\n\n if (this.opened) {\n this.removeLock();\n }\n\n if (this.getContainer) {\n (0, _node.removeNode)(this.$el);\n }\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n if (this.value) {\n this.close();\n this.shouldReopen = true;\n }\n },\n methods: {\n open: function open() {\n /* istanbul ignore next */\n if (this.$isServer || this.opened) {\n return;\n } // cover default zIndex\n\n\n if (this.zIndex !== undefined) {\n _context.context.zIndex = this.zIndex;\n }\n\n this.opened = true;\n this.renderOverlay();\n this.addLock();\n },\n addLock: function addLock() {\n if (this.lockScroll) {\n (0, _event.on)(document, 'touchstart', this.touchStart);\n (0, _event.on)(document, 'touchmove', this.onTouchMove);\n\n if (!_context.context.lockCount) {\n document.body.classList.add('van-overflow-hidden');\n }\n\n _context.context.lockCount++;\n }\n },\n removeLock: function removeLock() {\n if (this.lockScroll && _context.context.lockCount) {\n _context.context.lockCount--;\n (0, _event.off)(document, 'touchstart', this.touchStart);\n (0, _event.off)(document, 'touchmove', this.onTouchMove);\n\n if (!_context.context.lockCount) {\n document.body.classList.remove('van-overflow-hidden');\n }\n }\n },\n close: function close() {\n if (!this.opened) {\n return;\n }\n\n (0, _overlay.closeOverlay)(this);\n this.opened = false;\n this.removeLock();\n this.$emit('input', false);\n },\n onTouchMove: function onTouchMove(event) {\n this.touchMove(event);\n var direction = this.deltaY > 0 ? '10' : '01';\n var el = (0, _scroll.getScroller)(event.target, this.$el);\n var scrollHeight = el.scrollHeight,\n offsetHeight = el.offsetHeight,\n scrollTop = el.scrollTop;\n var status = '11';\n /* istanbul ignore next */\n\n if (scrollTop === 0) {\n status = offsetHeight >= scrollHeight ? '00' : '01';\n } else if (scrollTop + offsetHeight >= scrollHeight) {\n status = '10';\n }\n /* istanbul ignore next */\n\n\n if (status !== '11' && this.direction === 'vertical' && !(parseInt(status, 2) & parseInt(direction, 2))) {\n (0, _event.preventDefault)(event, true);\n }\n },\n renderOverlay: function renderOverlay() {\n var _this = this;\n\n if (this.$isServer || !this.value) {\n return;\n }\n\n this.$nextTick(function () {\n _this.updateZIndex(_this.overlay ? 1 : 0);\n\n if (_this.overlay) {\n (0, _overlay.openOverlay)(_this, {\n zIndex: _context.context.zIndex++,\n duration: _this.duration,\n className: _this.overlayClass,\n customStyle: _this.overlayStyle\n });\n } else {\n (0, _overlay.closeOverlay)(_this);\n }\n });\n },\n updateZIndex: function updateZIndex(value) {\n if (value === void 0) {\n value = 0;\n }\n\n this.$el.style.zIndex = ++_context.context.zIndex + value;\n }\n }\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.removeNode = removeNode;\n\nfunction removeNode(el) {\n var parent = el.parentNode;\n\n if (parent) {\n parent.removeChild(el);\n }\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.TouchMixin = void 0;\n\nvar _event = require(\"../utils/dom/event\");\n\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\nvar TouchMixin = {\n data: function data() {\n return {\n direction: ''\n };\n },\n methods: {\n touchStart: function touchStart(event) {\n this.resetTouchStatus();\n this.startX = event.touches[0].clientX;\n this.startY = event.touches[0].clientY;\n },\n touchMove: function touchMove(event) {\n var touch = event.touches[0];\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 onTouchStart = this.onTouchStart,\n onTouchMove = this.onTouchMove,\n onTouchEnd = this.onTouchEnd;\n (0, _event.on)(el, 'touchstart', onTouchStart);\n (0, _event.on)(el, 'touchmove', onTouchMove);\n\n if (onTouchEnd) {\n (0, _event.on)(el, 'touchend', onTouchEnd);\n (0, _event.on)(el, 'touchcancel', onTouchEnd);\n }\n }\n }\n};\nexports.TouchMixin = TouchMixin;","\"use strict\";\n\nexports.__esModule = true;\nexports.BindEventMixin = BindEventMixin;\n\nvar _event = require(\"../utils/dom/event\");\n\n/**\n * Bind event when mounted or activated\n */\nvar uid = 0;\n\nfunction BindEventMixin(handler) {\n var key = \"binded_\" + uid++;\n\n function bind() {\n if (!this[key]) {\n handler.call(this, _event.on, true);\n this[key] = true;\n }\n }\n\n function unbind() {\n if (this[key]) {\n handler.call(this, _event.off, false);\n this[key] = false;\n }\n }\n\n return {\n mounted: bind,\n activated: bind,\n deactivated: unbind,\n beforeDestroy: unbind\n };\n}"],"sourceRoot":""}