{"version":3,"sources":["webpack:///./node_modules/vant/es/image-preview/shared.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:///./node_modules/vant/es/swipe-item/index.js","webpack:///./node_modules/vant/es/image/style/index.js","webpack:///./node_modules/vant/es/image/index.js","webpack:///./node_modules/vant/es/utils/format/number.js","webpack:///./node_modules/vant/es/swipe/index.js"],"names":["_createNamespace","create","createComponent","bem","getDistance","touches","Math","sqrt","pow","clientX","clientY","instance","mixins","props","src","String","show","Boolean","active","Number","minZoom","maxZoom","rootWidth","rootHeight","data","scale","moveX","moveY","moving","zooming","imageRatio","displayWidth","displayHeight","computed","vertical","this","rootRatio","imageStyle","style","transitionDuration","offsetX","offsetY","transform","maxMoveX","max","maxMoveY","watch","val","resetScale","mounted","bindTouchEvent","$el","methods","setScale","$emit","index","toggleScale","onTouchStart","event","_this$offsetX","touchStart","touchStartTime","Date","startMoveX","startMoveY","length","startScale","startDistance","onTouchMove","touchMove","deltaX","deltaY","distance","onTouchEnd","stopPropagation","checkTap","resetTouchStatus","_this","_this$offsetX2","_this$offsetY","deltaTime","TAP_TIME","TAP_OFFSET","doubleTapTimer","clearTimeout","setTimeout","onLoad","_event$target","target","naturalWidth","naturalHeight","render","h","arguments","imageSlots","loading","skipToggleEvent","bind","window","resize","className","closeable","asyncClose","showIndicators","images","type","Array","default","loop","overlay","transition","showIndex","swipeDuration","startPosition","overlayClass","closeIcon","closeOnPopstate","closeIconPosition","doubleClickTimer","value","setActive","$nextTick","$refs","swipe","swipeTo","immediate","url","getBoundingClientRect","rect","width","height","emitClose","emitScale","args","genIndex","$createElement","slots","genCover","cover","genImages","_this2","map","image","ImagePreviewItem","genClose","onClosed","options","shouldRender","name","defaultConfig","onClose","onChange","getContainer","extend","el","document","createElement","body","appendChild","$on","onScale","isArray","$once","$off","Component","install","use","offset","inited","_this$parent","parent","size","lazyRender","activeIndicator","maxActive","count","prevActive","nextActive","$listeners","fit","alt","round","radius","lazyLoad","iconPrefix","showError","showLoading","errorIcon","loadingIcon","error","overflow","borderRadius","created","$Lazyload","onLazyLoaded","onLazyLoadError","beforeDestroy","_ref","_ref2","onError","onClick","genPlaceholder","genImage","imgData","class","attrs","objectFit","range","num","min","trimExtraChar","_char","regExp","indexOf","prefix","slice","match","replace","formatNumber","allowDot","allowMinus","split","isBind","onVisibilityChange","initialize","clear","autoplay","indicatorColor","duration","touchable","initialSwipe","swiping","computedWidth","computedHeight","children","_autoplay","autoPlay","maxCount","ceil","abs","minOffset","delta","trackSize","isCorrectDirection","expect","direction","trackStyle","mainAxis","crossAxis","indicatorStyle","backgroundColor","track","timer","offsetWidth","offsetHeight","getTargetOffset","forEach","hidden","now","correctPosition","move","speed","shouldSwipe","pace","emitChange","getTargetActive","targetActive","currentPosition","targetOffset","_ref$pace","_ref$offset","outRightBound","outLeftBound","prev","next","_this3","targetIndex","_this4","genIndicator","_this5","slot","apply","empty"],"mappings":"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","file":"h5/js/chunk-400bfcf4.031888fb.js","sourcesContent":["import { createNamespace } from '../utils';\n\nvar _createNamespace = createNamespace('image-preview'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport { createComponent, bem };","// 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 rootWidth: Number,\n rootHeight: 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 rootWidth = this.rootWidth,\n rootHeight = this.rootHeight;\n var rootRatio = rootHeight / rootWidth;\n return this.imageRatio > rootRatio;\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.rootHeight / this.imageRatio : this.rootWidth;\n return Math.max(0, (this.scale * displayWidth - this.rootWidth) / 2);\n }\n\n return 0;\n },\n maxMoveY: function maxMoveY() {\n if (this.imageRatio) {\n var displayHeight = this.vertical ? this.rootHeight : this.rootWidth * this.imageRatio;\n return Math.max(0, (this.scale * displayHeight - this.rootHeight) / 2);\n }\n\n return 0;\n }\n },\n watch: {\n active: 'resetScale',\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 scale = range(scale, +this.minZoom, +this.maxZoom);\n\n if (scale !== this.scale) {\n this.scale = scale;\n this.$emit('scale', {\n scale: this.scale,\n index: this.active\n });\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 transition: 'van-fade',\n getContainer: 'body',\n startPosition: 0,\n swipeDuration: 300,\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 { 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 transition: {\n type: String,\n default: 'van-fade'\n },\n showIndex: {\n type: Boolean,\n default: true\n },\n swipeDuration: {\n type: [Number, String],\n default: 300\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 rootWidth: 0,\n rootHeight: 0,\n doubleClickTimer: null\n };\n },\n mounted: function mounted() {\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.resize();\n\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 (this.$el && this.$el.getBoundingClientRect) {\n var rect = this.$el.getBoundingClientRect();\n this.rootWidth = rect.width;\n this.rootHeight = rect.height;\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', {\n index: this.active\n }) || 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 \"rootWidth\": _this2.rootWidth,\n \"rootHeight\": _this2.rootHeight\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 return h(\"transition\", {\n \"attrs\": {\n \"name\": this.transition\n },\n \"on\": {\n \"afterLeave\": this.onClosed\n }\n }, [this.shouldRender ? 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()]) : null]);\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 inited: false,\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\n if (size) {\n style[vertical ? 'height' : 'width'] = size + \"px\";\n }\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 inited = this.inited,\n parent = this.parent,\n mounted = this.mounted;\n\n if (!parent.lazyRender || inited) {\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 && parent.loop ? maxActive : active - 1;\n var nextActive = active === maxActive && parent.loop ? 0 : active + 1;\n var shouldRender = index === active || index === prevActive || index === nextActive;\n\n if (shouldRender) {\n this.inited = true;\n }\n\n return shouldRender;\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});","import '../../style/base.css';\nimport '../../info/index.css';\nimport '../../icon/index.css';\nimport '../index.css';","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 iconPrefix: String,\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 \"classPrefix\": this.iconPrefix\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 \"classPrefix\": this.iconPrefix\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});","export function range(num, min, max) {\n return Math.min(Math.max(num, min), max);\n}\n\nfunction trimExtraChar(value, _char, regExp) {\n var index = value.indexOf(_char);\n var prefix = '';\n\n if (index === -1) {\n return value;\n }\n\n if (_char === '-' && index !== 0) {\n return value.slice(0, index);\n }\n\n if (_char === '.' && value.match(/^(\\.|-\\.)/)) {\n prefix = index ? '-0' : '0';\n }\n\n return prefix + value.slice(0, index + 1) + value.slice(index).replace(regExp, '');\n}\n\nexport function formatNumber(value, allowDot, allowMinus) {\n if (allowDot === void 0) {\n allowDot = true;\n }\n\n if (allowMinus === void 0) {\n allowMinus = true;\n }\n\n if (allowDot) {\n value = trimExtraChar(value, '.', /\\./g);\n } else {\n value = value.split('.')[0];\n }\n\n if (allowMinus) {\n value = trimExtraChar(value, '-', /-/g);\n } else {\n value = value.replace(/-/, '');\n }\n\n var regExp = allowDot ? /[^-0-9.]/g : /[^-0-9]/g;\n return value.replace(regExp, '');\n}","// 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 style = {\n transitionDuration: (this.swiping ? 0 : this.duration) + \"ms\",\n transform: \"translate\" + (this.vertical ? 'Y' : 'X') + \"(\" + this.offset + \"px)\"\n };\n\n if (this.size) {\n var mainAxis = this.vertical ? 'height' : 'width';\n var crossAxis = this.vertical ? 'width' : 'height';\n style[mainAxis] = this.trackSize + \"px\";\n style[crossAxis] = this[crossAxis] ? this[crossAxis] + \"px\" : '';\n }\n\n return style;\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 = {\n width: this.$el.offsetWidth,\n height: this.$el.offsetHeight\n };\n this.rect = rect;\n this.swiping = true;\n this.active = active;\n this.computedWidth = +this.width || rect.width;\n this.computedHeight = +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 = offset - currentPosition;\n\n if (!this.loop) {\n targetOffset = range(targetOffset, this.minOffset, 0);\n }\n\n return targetOffset;\n },\n move: function move(_ref) {\n var _ref$pace = _ref.pace,\n pace = _ref$pace === void 0 ? 0 : _ref$pace,\n _ref$offset = _ref.offset,\n offset = _ref$offset === void 0 ? 0 : _ref$offset,\n emitChange = _ref.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});"],"sourceRoot":""}