UNPKG

2.2 kBJavaScriptView Raw
1import{r as t,c as i,h as o,H as e}from"./p-059912fd.js";import{c as s}from"./p-76724e58.js";import("./p-72f327e1.js");let h=class{constructor(o){t(this,o),this.onLoad=i(this,"load",7),this.onError=i(this,"error",7),this.mode="scaleToFill",this.lazyLoad=!1,this.nativeProps={},this.aspectFillMode="width"}componentDidLoad(){if(!this.lazyLoad)return;const t=new IntersectionObserver((i=>{i[i.length-1].isIntersecting&&(t.unobserve(this.imgRef),this.imgRef.src=this.src)}),{rootMargin:"300px 0px"});t.observe(this.imgRef)}imageOnLoad(){const{width:t,height:i,naturalWidth:o,naturalHeight:e}=this.imgRef;this.onLoad.emit({width:t,height:i}),this.aspectFillMode=o>e?"width":"height"}imageOnError(){this.onError.emit()}render(){const{src:t,mode:i="scaleToFill",lazyLoad:h=!1,aspectFillMode:r="width",imageOnLoad:a,imageOnError:m,nativeProps:d}=this,g=s({"taro-img__widthfix":"widthFix"===i}),l=s(`taro-img__mode-${i.toLowerCase().replace(/\s/g,"")}`,{[`taro-img__mode-aspectfill--${r}`]:"aspectFill"===i});return o(e,{class:g},o("img",Object.assign(h?{ref:t=>this.imgRef=t,class:l,onLoad:a.bind(this),onError:m.bind(this)}:{ref:t=>this.imgRef=t,class:l,src:t,onLoad:a.bind(this),onError:m.bind(this)},d)))}};h.style='img[src=""]{opacity:0}taro-image-core{display:inline-block;overflow:hidden;position:relative;width:auto;height:auto;font-size:0}.taro-img.taro-img__widthfix{height:100%}.taro-img__mode-scaletofill{width:100%;height:100%}.taro-img__mode-aspectfit{max-width:100%;max-height:100%}.taro-img__mode-aspectfill{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.taro-img__mode-aspectfill--width{min-width:100%;height:100%}.taro-img__mode-aspectfill--height{width:100%;min-height:100%}.taro-img__mode-widthfix{width:100%}.taro-img__mode-heightfix{height:100%}.taro-img__mode-top{width:100%}.taro-img__mode-bottom{position:absolute;bottom:0;width:100%}.taro-img__mode-left{height:100%}.taro-img__mode-right{position:absolute;right:0;height:100%}.taro-img__mode-topright{position:absolute;right:0}.taro-img__mode-bottomleft{position:absolute;bottom:0}.taro-img__mode-bottomright{position:absolute;right:0;bottom:0}';export{h as taro_image_core}
\No newline at end of file