{"ast":null,"code":"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';\nvar _createNamespace = createNamespace('image'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\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 if (isDef(this.width)) {\n style.width = addUnit(this.width);\n }\n if (isDef(this.height)) {\n style.height = addUnit(this.height);\n }\n if (isDef(this.radius)) {\n style.overflow = 'hidden';\n style.borderRadius = addUnit(this.radius);\n }\n return style;\n }\n },\n created: function created() {\n var $Lazyload = this.$Lazyload;\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 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 if (el === this.$refs.image && this.loading) {\n this.onLoad();\n }\n },\n onLazyLoadError: function onLazyLoadError(_ref2) {\n var el = _ref2.el;\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 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 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 if (this.error) {\n return;\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 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});","map":{"version":3,"names":["_mergeJSXProps2","_mergeJSXProps","createNamespace","isDef","addUnit","inBrowser","Icon","_createNamespace","createComponent","bem","props","src","String","fit","alt","round","Boolean","width","Number","height","radius","lazyLoad","iconPrefix","showError","type","default","showLoading","errorIcon","loadingIcon","data","loading","error","watch","computed","style","overflow","borderRadius","created","$Lazyload","$on","onLazyLoaded","onLazyLoadError","beforeDestroy","$off","methods","onLoad","event","$emit","_ref","el","$refs","image","_ref2","onError","onClick","genPlaceholder","h","$createElement","slots","genImage","imgData","class","attrs","objectFit","name","value","render","arguments"],"sources":["E:/work/sino/sino-h5/node_modules/vant/es/image/index.js"],"sourcesContent":["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});"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}