1/*! 2 App Connect Preloader 3 Version: 2.0.2 4 (c) 2024 Wappler.io 5 @build 2024-05-07 17:29:18 6 */ 7dmx.Component("preloader",{attributes:{preview:{type:Boolean,default:!1},color:{type:String,default:"#333"},bgcolor:{type:String,default:"#fff"},size:{type:Number,default:60},spinner:{type:String,default:""}},methods:{show(){this._toggle(!0)},hide(){this._toggle(!1)}},init(e){this._checkLoaded=dmx.debounce(this._checkLoaded.bind(this),100),this._toggle=dmx.debounce(this._toggle.bind(this)),this._hidden=!1,this._documentLoaded=!1,this._imagesLoaded=!1,this._dataLoaded=!1,this._spinners={rotatingPlane:0,doubleBounce:2,wave:5,wanderingCubes:2,pulse:0,chasingDots:2,threeBounce:3,circle:12,cubeGrid:9,fadingCircle:12,foldingCube:4},document.addEventListener("readystatechange",this._checkLoaded),this._checkLoaded()},destroy(){document.removeEventListener("readystatechange",this._checkLoaded)},render(e){const{color:t,bgcolor:o,size:d,spinner:s}=this.props;this._show(),e.style.setProperty("--color",t),e.style.setProperty("--bgcolor",o),e.style.setProperty("--size",d+"px"),e.classList.add("dmxPreloader"),s&&(e.innerHTML=`\n <div class="dmxPreloader-spinner dmxPreloader-${s}">\n ${Array.from({length:this._spinners[s]}).map((()=>"\n <div></div>\n ")).join("")}\n </div>\n `)},performUpdate(e){e.has("color")&&this.$node.style.setProperty("--color",this.props.color),e.has("bgcolor")&&this.$node.style.setProperty("--bgcolor",this.props.bgcolor),e.has("size")&&this.$node.style.setProperty("--size",this.props.size+"px")},_toggle(e){e?this._show():this._hide()},_show(){this._hidden=!1,this.$node.style.removeProperty("opacity"),this.$node.style.removeProperty("z-index"),document.body.style.setProperty("overflow","hidden")},_hide(){this._hidden=!0,this.$node.style.setProperty("opacity",0),this.$node.style.setProperty("z-index",-1),document.body.style.removeProperty("overflow")},_checkLoaded(){this.props.preview||(this._checkDocumentLoaded(),this._checkImagesLoaded(),this._checkDataLoaded(),this._documentLoaded&&this._imagesLoaded&&this._dataLoaded?this._toggle(!1):this._hidden||requestAnimationFrame((()=>{this._checkLoaded()})))},_checkDocumentLoaded(){this._documentLoaded="complete"===document.readyState},_checkImagesLoaded(){this._imagesLoaded=Array.from(document.getElementsByTagName("img")).every((e=>{if(e.complete)return!0;if(!e.isListening){const t=new Image;t.addEventListener("load",(()=>this._checkLoaded())),t.addEventListener("error",(()=>this._checkLoaded())),t.src=e.src,e.isListening=!0}return!1}))},_checkDataLoaded(){this._dataLoaded=this._dataComponents().every((e=>e.props.noload||null!=e.data.data||e._xhr&&4===e._xhr.readyState))},_dataComponents(){const e=[];return dmx.app.children.forEach((function t(o){o instanceof dmx.Component("fetch")&&e.push(o),o.children.forEach(t)})),e}}); 8//# sourceMappingURL=dmxPreloader.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.