-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path29-es2015.519685f5c3b0622eac49.js
1 lines (1 loc) · 1.45 KB
/
29-es2015.519685f5c3b0622eac49.js
1
(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{wHD8:function(i,t,o){"use strict";o.r(t),o.d(t,"ion_img",(function(){return r}));var e=o("ePDZ"),s=o("ws0j");const r=class{constructor(i){Object(e.q)(this,i),this.ionImgWillLoad=Object(e.i)(this,"ionImgWillLoad",7),this.ionImgDidLoad=Object(e.i)(this,"ionImgDidLoad",7),this.ionError=Object(e.i)(this,"ionError",7),this.onLoad=()=>{this.ionImgDidLoad.emit()},this.onError=()=>{this.ionError.emit()}}srcChanged(){this.addIO()}componentDidLoad(){this.addIO()}addIO(){void 0!==this.src&&("undefined"!=typeof window&&"IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"isIntersecting"in window.IntersectionObserverEntry.prototype?(this.removeIO(),this.io=new IntersectionObserver(i=>{i[0].isIntersecting&&(this.load(),this.removeIO())}),this.io.observe(this.el)):setTimeout(()=>this.load(),200))}load(){this.loadError=this.onError,this.loadSrc=this.src,this.ionImgWillLoad.emit()}removeIO(){this.io&&(this.io.disconnect(),this.io=void 0)}render(){return Object(e.l)(e.c,{class:Object(s.b)(this)},Object(e.l)("img",{decoding:"async",src:this.loadSrc,alt:this.alt,onLoad:this.onLoad,onError:this.loadError,part:"image"}))}get el(){return Object(e.m)(this)}static get watchers(){return{src:["srcChanged"]}}};r.style=":host{display:block;-o-object-fit:contain;object-fit:contain}img{display:block;width:100%;height:100%;-o-object-fit:inherit;object-fit:inherit;-o-object-position:inherit;object-position:inherit}"}}]);