-
Notifications
You must be signed in to change notification settings - Fork 0
/
june-paula.min.js
2 lines (2 loc) · 26.6 KB
/
june-paula.min.js
1
2
// PaulaJS 2.1.0 - https://paulajs.com - Copyright (c) 2024 Eduardo Ruiz <eruiz@dataclick.es>
"use strict";class JuNePAU{constructor(){this.module=0,this.data={},this.funcs={},this.main=0,this.outlet=0,this.routes=[],this.params={},this.getparams={},this.wins=[],this.toasts=[],this.files={total:{size:0,upload:0,percent:0}},this.lng=window.navigator.language,this.lang=-1,this.bgmod={},this._evnlst={},this._stopup={s:0,g:0,o:new MutationObserver((t,e)=>{for(const i of t)"childList"===i.type&&this.prepHTML()})},this.path=document.currentScript.getAttribute("path")||"/"}setProxy(t){const a={set:function(t,e,i){return"_SetN_"===e?this._N_1=i:"_SetN2_"===e?this._N_2=i:(t[e]=i,this.updHTML(document,this._N_2||e)),!0}.bind(this),get:function(e,i){var t,s=e[i];return"function"==typeof s?(Array.prototype[i]?function(){var t=Array.prototype[i].apply(e,arguments);return this._stopup.g||this.updHTML(document,this._N_1),t}:s).bind(this):"object"==typeof s&&s?((t=new Proxy(s,{...a}))._SetN_=i,t._SetN2_=0<=i?this._N_1:"",t):s}.bind(this)};return new Proxy(t||{},{...a})}prepEvn(e,p,d,t){!d&&this.inFor(e,t)||Array.prototype.slice.call(e.attributes||{}).forEach(function(i){if(i.name.startsWith("@")){let n=i.name.substring(1),j=(e.dataset.jpauproc=1,e.dataset.jpaueid||=this.genJId()),f="{"+this.replHTML(this.d2d(d)+e.getAttribute(i.name).replaceAll("$this.","event.target.").replace(/(this\.funcs\.)([^.\(]+)/g,"$1$2.bind(this)"),d)+"}";this._evnlst[j]&&eval(`e.removeEventListener('${n}', this._evnlst.${j});`),eval(`this._evnlst['${j}'] = e => ${f};`),eval(`e.addEventListener('${n}', this._evnlst.${j});`)}}.bind(this))}prepElm(a,e,i,s){if(!a.dataset?.jpauproc&&(i||!this.inFor(a,s))){this.prepEvn(a,e,i,s),Array.prototype.slice.call(a.attributes||{}).forEach(function(s){if((s.name.startsWith(":")||s.name.startsWith("*"))&&(a.dataset.jpauproc=a.dataset?.jpauproc||1,a.dataset.jpauattr=1),/^\*(value|selected|checked)$/.test(s.name)&&this.chkVar(a.getAttribute(s.name))){let t=s.name.substring(1).toLowerCase(),e="selected"===t?a.parentNode:a,i="value"===t?"change textInput keyup paste":"checked"===t?"click":"change";2!=e.dataset.jpauproc&&(e.dataset.jpauproc=2,i.split(" ").forEach(t=>e.addEventListener(t,this.chgElm.bind(this))))}}.bind(this));let t;!a.dataset?.jpauihtml&&!/^SCRIPT|PRE$/.test(a.tagName)&&(a.content||a.innerHTML)&&(t=a.innerHTML?"innerHTML":"content")&&a[t]&&a[t].toString().includes("{{ ")&&!a.childElementCount&&(a.dataset.jpauproc=a.dataset.jpauattr=1,a.dataset.jpauihtml=a[t]),!a.dataset?.jpauIf&&!a.dataset?.jpauFor||a.dataset?.jpauid||(a.dataset.jpauproc=1,a.dataset.jpauid=this.genJId())}}prepHTML(t,e,i,s){var a;for(a of(t??document).querySelectorAll("*"))this.prepElm(a,e,i,s);this.updHTML(t??document,e,i,s)}replHTML(v,d){let t=v,p=d?{...d,...this.data}:this.data;return[...v.matchAll(/{{ ([^{]+) }}/g)].forEach(i=>{if(void 0!==p[i[1]])t=t.replace(i[0],p[i[1]]),t.match(/{{ ([^{]+) }}/)&&(t=this.replHTML(t,d));else try{let r=eval(i[1].replaceAll(/([a-z]{1}[a-z0-9_\-\.]*)([\s\[\]\)]+|$)/gi,t=>(/^(this|june_pau|data)\./.test(t)?"":"p.")+t));void 0!==r&&(t=t.replace(i[0],r))}catch(e){}}),t}chkDo(t,e,i){return this.main.data?.forceUpdate||!t||t&&"string"==typeof e&&(e.includes(t)||i&&Object.keys(i).some(t=>e.includes(t)))}chkVar(t){return/^[\w\._\-\[\]]+$/.test(t)}d2v(t){let e="";if(t){for(var i in t)e+=(e?", ":"")+i+" = d['"+i+"']";e=e?`let ${e}; `:""}return e}d2d(t){let e="";for(var i in t)e+=(e?", ":"")+i+" = "+JSON.stringify(t[i]);return e?`let ${e}; `:""}inFor(t,e,i){let s=i?t.parentNode:t;for(;s&&s!==e;){if(s.dataset?.jpauFor||s.dataset?.jpauDep)return!0;s=s.parentNode}}updElm(e,p,d,t){const pp=p?e.dataset.jpauihtml||`{{ ${p} }}`:0;if(!this.inFor(e,t,!0)&&(Array.prototype.slice.call(e.attributes||{}).forEach(function(i){let t=i.name.substring(1);if(i.name.startsWith(":")){let v=e.getAttribute(i.name);(this.chkDo(pp,v)||this.chkDo(p,v))&&e.setAttribute(t,this.replHTML(v,d))}if(i.name.startsWith("*")){let a=this.d2v(d),v=this.replHTML(e.getAttribute(i.name),d),c=/^selected|checked|disabled|required|readonly|multiple|autofocus$/i.test(t),r;this.chkDo(p,v)&&(r=(c||"value"===t)&&this.chkVar(v)?eval(`${a}(typeof ${v} === 'object' && ${v} !== null) ? ${v}['${"selected"===t?e.value:e.id||e.name}'] : ((t === 'selected') ? ${v} == e.value : ((${v} === 'checked') ? e.checked : ${v}));`):eval(""+a+v+";"),!r&&c?e.removeAttribute(t):"TEXTAREA"===e.tagName&&"value"===t?e.innerText=r:e.setAttribute(t,c?"":r))}}.bind(this)),e.dataset?.jpauihtml)){let v=e.dataset.jpauihtml,c=e.content?"content":"innerHTML";(this.chkDo(p,v,d)||this.chkDo(p,e[c],d))&&(e[c]=this.replHTML(v,d))}}updIf(e,p,d,t){e.dataset?.jpauIf&&this.chkDo(p,e.dataset.jpauIf)&&(e.hidden=!eval(this.d2v(d)+this.replHTML(e.dataset.jpauIf,d)))}updForLn(e){var t;return 1<++e.n?((t=e.e.cloneNode(!0)).querySelectorAll("[data-jpau-dep]").forEach(t=>t.remove()),t.querySelectorAll("[data-jpauid]").forEach(t=>t.dataset.jpauid=this.genJId()),t.dataset.jpauid=this.genJId(),t.dataset.jpauDep=e.e.dataset.jpauid,t.dataset.jpauDepId=e.e.dataset.jpauid+"_"+e.n,t.removeAttribute("data-jpau-for"),t.querySelectorAll("[data-jpauproc]").forEach(t=>t.removeAttribute("data-jpauproc")),e.lst.insertAdjacentHTML("afterend",t.outerHTML),e.lst=document.querySelector(`[data-jpauid='${t.dataset.jpauid}']`)):e.e.hidden=!1,e.lst.removeAttribute("data-jpauproc"),this.prepElm(e.lst,void 0,e.d,e.e),this.updElm(e.lst,void 0,e.d,e.e),e.lst.querySelectorAll("*").forEach(t=>this.prepElm(t,void 0,e.d,e.e)),this.updHTML(e.lst,void 0,e.d),e.lst.querySelectorAll("*").forEach(t=>this.prepEvn(t,void 0,e.d,e.e)),e}updForv(t){let e="",i=/^for[^\(]*\(([^;]+)/i.exec(t.dataset.jpauFor);return i&&i[1]&&i[1].split(",").forEach(t=>{t=/^((let|var|const)\s+)*([^\s|=]+)/i.exec(t.trim()),e+=(e?", ":"")+t[3]+": "+t[3]}),e}updFore(t,e,i){t.n++;var s=1<t.n?t.p.querySelector(`[data-jpau-dep-id='${t.e.dataset.jpauid}_${t.n}']`):t.e;return this.updHTML(s,e,i),t}updFor(e,p,d,t){if(!this.inFor(e,t,!0)){if(!this.chkDo(p,e.dataset.jpauFor)){if(e.dataset.jpauid){let v={n:0,e:e,p:e.parentNode},a=this.updForv(e);eval(`${e.dataset.jpauFor} v = this.updFore(v, p, {${a}, ...d});`)}if(!(e instanceof HTMLOptionElement))return}if(isNaN(parseInt(p,10))){let a=this.updForv(e);if(a){let v={n:0,lst:e,id:e.dataset.jpauid,e:e,p:p};document.querySelectorAll(`[data-jpau-dep='${v.id}']`).forEach(t=>t.remove()),e.hidden=!0,"SELECT"!==e.parentNode.tagName||e.parentNode.multiple||(e.parentNode.selectedIndex=-1),eval(""+this.d2v(d)+e.dataset.jpauFor+` v = this.updForLn({...v, d: {${a}, ...d}});`)}}}}updHTML(e,i,s){for(var t in this.DOMobs(1),e.querySelectorAll("[data-jpauattr]").forEach(t=>this.updElm(t,i,s,e)),e.querySelectorAll("[data-jpau-if]").forEach(t=>this.updIf(t,i,s,e)),this._stopup.g++,e.querySelectorAll("[data-jpau-for]").forEach(t=>this.updFor(t,i,s,e)),this._stopup.g--,e.querySelectorAll("[data-jpau-upload]").forEach(t=>{t.dataset?.jpauprocu||(t.dataset.jpauprocu=1,t.addEventListener("change",this.uplFile.bind(this)))}),e.querySelectorAll("[data-jpau-upload-target]").forEach(t=>{t.dataset?.jpauprocu||(t.dataset.jpauprocu=1,t.addEventListener("drop",this.uplFile.bind(this)),t.addEventListener("paste",this.uplFile.bind(this)),t.addEventListener("dragover",t=>{t.preventDefault(),event.target.style.backgroundColor=this.main.data?.dragColor??"#CFC"}),t.addEventListener("dragleave",t=>event.target.style.backgroundColor=""))}),this._evnlst)document.querySelector(`[data-jpaueid='${t}']`)||delete this._evnlst[t];this.DOMobs(-1)}recElm(e,t,i,s,a,n){n&&this[e](t,i,s,a),t.querySelectorAll("*").forEach(t=>this[e](t,i,s,a))}chgElm(e){let o=e.target,v=o.getAttribute("*value"),c=o.getAttribute("*checked");if(v)eval(`if(typeof ${v} === 'object' && ${v} !== null) ${v}[(o.id) ? o.id : o.name] = o.value; else ${v} = o.value;`);else if(c)eval(`if(typeof ${c} === 'object' && ${c} !== null) ${c}[(o.id) ? o.id : o.name] = o.checked; else ${c} = o.checked;`);else{let a={},v=o.firstElementChild.getAttribute("*selected");for(var i of o.options)a[i.value]=i.selected;eval(`if(o.multiple) ${v} = a; else ${v} = (o.selectedOptions.length) ? o.selectedOptions[0].value : null;`)}}async load(t){try{if(0===this.main){for(var e in t=t||await import(this.path+"main.js"),this.main={},t)this.main[e]=t[e];this.bnd(this.main.funcs),this.main.data=this.setProxy(this.main.data)}}catch(t){console.error(t.stack)}-1===this.lang&&this.setLang(localStorage.getItem("lang")||window.navigator.language),this.main?.funcs?.onLoad&&this.main.funcs.onLoad.bind(this)(),this.link()}DOMobs(t){this._stopup.s+=t,this._stopup.s?this._stopup.o.disconnect():this._stopup.o.observe(document.body,{attributes:!1,childList:!0,subtree:!0})}bnd(t){for(const e in t)t[e]=t[e].bind(this)}async importMod(t,e){var i="object"==typeof(t=t||{})?t:await import(""+this.path+t+".js"),s=this.module,t="object"==typeof t?e||"index":t.split("/").pop();this.module=t,s&&this.bgmod[s]&&(this.bgmod[s]={data:this.data,funcs:this.funcs,top:document.documentElement.scrollTop},this.e("PAUBGDIV_"+s).style.display="none",this.funcs.onVisible)&&this.funcs.onVisible.bind(this)(!1),this.bgmod[t]?(this.data=this.bgmod[t].data,this.funcs=this.bgmod[t].funcs,!s&&this.outlet&&(this.outlet.style.display="none"),this.e("PAUBGDIV_"+t).style.display="",window.scrollTo({top:this.bgmod[t].top,behavior:"smooth"})):(this.DOMobs(1),this.data=this.setProxy(i.data),this.funcs=i.funcs??{},this.bnd(this.funcs),e&&(this.bgmod[t]={data:this.data,funcs:this.funcs},this.outlet)&&this.outlet.insertAdjacentHTML("afterend",`<div id="PAUBGDIV_${t}"></div>`),this.funcs.onLoad&&this.funcs.onLoad.bind(this)(),this.outlet&&(this.outlet.style.display="none"),e?(this.outlet&&(this.outlet.innerHTML=""),this.e("PAUBGDIV_"+t).innerHTML=i.html??""):this.outlet&&(this.outlet.innerHTML=i.html??""),this.prepHTML(),!e&&this.outlet&&(this.outlet.style.display=""),this.DOMobs(-1),window.scrollTo({top:0,behavior:"smooth"})),e&&this.funcs.onVisible&&this.funcs.onVisible.bind(this)(!0),this.main?.funcs?.onMount&&(this.main.funcs.onMount(),delete this.main.funcs.onMount),this.funcs.onMount&&this.funcs.onMount.bind(this)()}link(e){e=new URL(e??"",window.location).pathname,this.params={},this.getparams=new URLSearchParams(window.location.search);let i,t=this.routes.findIndex(t=>i=e.match(new RegExp("^"+t.r.replace(/:([^/]+)/g,"(?<$1>[^/]+)")+"$")));-1===t&&-1===(t=this.routes.findIndex(t=>"(default)"===t.r))||(history.pushState({url:e},document.title,e),this.params=i?.groups||{},this.importMod(this.routes[t].m,"true"===this.routes[t].bg))}setLang(i){if(this?.main?.langs){let t=this.lang,e=this.main.langs.findIndex(t=>t.code===i);-1===e&&-1===(e=this.main.langs.findIndex(t=>t.default===i.substring(0,2)))&&(e=0),this.lng=i,this.lang=e,localStorage.setItem("lang",i),-1!==t&&this.updHTML(document)}}genId(){return 100+~~(9999999*Math.random())}genJId(){return"JPID"+this.genId()}e(t){return document.getElementById(t)}stopp(){event&&event.preventDefault()&&event.stopPropagation()}html2text(t){var e=document.createElement("div");return e.innerHTML=t.replace(/\r|\n/g,"").replace(/<\s*\/?br\s*[\/]?>/gi,"\n"),e.innerText}htmlEntities(t){return String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}sizeUnit(e){var i,s="KB MB GB TB".split(" ");for(let t=3;0<=t;--t)if(e>=(i=1024**(t+1)))return new Intl.NumberFormat(this.lng,{maximumFractionDigits:2}).format(e/i)+" "+s[t];return e+" bytes"}text(t){if(this.main.langs)return this?.main?.texts[this.lng][t]}idle(t){let e;this.main.data?.loader&&(e=this.e(this.main.data.loader))&&(e.style.visibility=t?"":"hidden")}shake(t){const e=this.e(t);e.addEventListener("animationend",()=>e.classList.toggle("shake")),e.classList.toggle("shake")}windowShow(t,e){this.wins.push(new this.win(this,t,e))}windowHide(){var t=this.wins.length-1;0<=t&&this.wins[t].hide()}windowDel(t,e){this.windowShow(`${e?e+"<br>":""}<b>${this.text("deleteAsk")??"❌ Delete?"}</b>`,{okAction:t,cancelAction:0})}win=class{constructor(t,e,i){this.p=t,this.id=t.wins.length,this.t=e,this.o=i=i||{},i.cancelAction=0===i.cancelAction?()=>{}:i.cancelAction,this.tok=i.okAction||void 0!==i.okText?i.okText||(t.text("ok")??"Ok"):"",this.tcancel=i.cancelAction||void 0!==i.input?i.cancelText||(t.text("cancel")??"Cancel"):"",this.input=i.input,this.winCSSbg=i.winCSSbg||t.main.data?.winCSSbg,this.winCSSfg=i.winCSSfg||t.main.data?.winCSSfg,this.ekeydown=this.keydown.bind(this),this.show()}button(t){return'<input id="JPWB_'+t+this.id+'" type="button" value="'+this["t"+t]+'" style="width: 100px; margin: 0 4px" class="button">'}ok(){this.o.okAction&&this.o.okAction(void 0===this.input?void 0:this.p.e("JPWI_"+this.id).value),this.o?.noHide||this.hide()}cancel(){this.o.cancelAction&&this.o.cancelAction(),this.o?.noHide||this.hide()}show(){var t='<div id="JPWD_'+this.id+'" style="z-index: '+(30+this.id)+"; display: flex; position: fixed; left: 0; top: 0; width: 100%; height: 100%; opacity: 0"+(this.o.winCSSbg?'" class="'+this.o.winCSSbg:"; background: rgba(255,255,255,0.83); backdrop-filter: blur(2px); transition: .5s ease")+'"><div id="JPWC_'+this.id+'" style="position: relative'+(this.o.winCSSfg?'" class="'+this.o.winCSSfg:"; margin: auto; padding: 8px; text-align: center; border-radius: 6px; background: #FFF; box-shadow: 1px 1px 10px #444; transform: scale(1.4); transition: .3s ease")+'"><div style="text-align: right'+(this.o.winCSSfg?"":"; color: #333")+'"><span id="JPWX_'+this.id+'" style="cursor: pointer; font-size: 12px">╳</span></div><div style="padding: 10px 4px'+(this.o.winCSSfg?"":"; color: #333; line-height: 1.7em")+'">'+this.t+(void 0===this.input?"":`<br><br><input id="JPWI_${this.id}" type="text" value="${this.input}" autocomplete="off" style="width: 90%" class="txt">`)+"</div>"+(this.tok||this.tcancel?"<br>":"")+(this.tok?this.button("ok"):"")+(this.tcancel?this.button("cancel"):"")+"</div></div>";document.body.insertAdjacentHTML("afterbegin",t),this.p.e("JPWD_"+this.id).addEventListener("click",this.close.bind(this)),this.p.e("JPWX_"+this.id).addEventListener("click",this.hide.bind(this)),this.tok&&this.p.e("JPWB_ok"+this.id).addEventListener("click",this.ok.bind(this)),this.tcancel&&this.p.e("JPWB_cancel"+this.id).addEventListener("click",this.cancel.bind(this)),window.addEventListener("keydown",this.ekeydown),setTimeout(()=>{this.p.e("JPWD_"+this.id).style.opacity=1,this.p.e("JPWC_"+this.id).style.transform="scale(1)"},100)}keydown(){var t=event.target,e=event.which;return!(!t.type||"text"!==t.type)||13!==e&&27!==e&&32!==e||(27===e&&this.tcancel?this.cancel():this.ok(),this.p.stopp(),!1)}close(){event.target.id==="JPWD_"+this.id&&this.hide()}hide(){this.p.e("JPWD_"+this.id).style.opacity=0,this.p.e("JPWC_"+this.id).style.transform="scale(0.8)",setTimeout(()=>{this.p.wins[this.id]&&this.destroy()},500)}destroy(){window.removeEventListener("keydown",this.ekeydown),this.p.e("JPWD_"+this.id).remove(),this.p.wins.pop()}};toastShow(t,e){this.toasts.push(new this.toast(this,t,e))}toastHide(){var t=this.toasts.length-1;0<=t&&this.toasts[this.toasts[t].id].hide()}toast=class{constructor(t,e,i){this.p=t,this.id=t.genId(),this.t=e,this.o=i=i||{},this.pos=i.toastPos||t.main.data?.toastPos||"top",this.py=i.toastPY||t.main.data?.toastPY||"50px",this.time=i.toastTime||t.main.data?.toastTime||4e3,this.toastCSS=i.toastCSS||t.main.data?.toastCSS,this.tmr=0,this.show()}idx(){return this.p.toasts.findIndex(t=>t.id===this.id)}show(){var t='<div id="JPT_'+this.id+'" style="z-index: '+(50+this.id)+"; position: fixed; "+("bottom"===this.pos?"bottom":"top")+": -40px; opacity: 0"+(this.o.toastCSS?'" class="'+this.o.toastCSS:"; width: 80%; left: 10%; right: 10%; padding: 7px 9px 20px; text-align: center; border-radius: 6px; box-shadow: 1px 1px 10px #CCC; color: #FFF; background: rgba(0,0,0,0.83); backdrop-filter: blur(2px); transition: .3s ease")+'"><span id="JPTX_'+this.id+'" style="cursor: pointer; display: block; text-align: right; font-size: 12px">╳</span>'+this.t+"</div>";document.body.insertAdjacentHTML("afterbegin",t),this.p.e("JPTX_"+this.id).addEventListener("click",this.hide.bind(this)),setTimeout(()=>{this.p.e("JPT_"+this.id).style.opacity=1,this.p.e("JPT_"+this.id).style["bottom"===this.pos?"bottom":"top"]=this.py},100),this.time&&(document.hidden?(this.ehtmr=this.htmr.bind(this),document.addEventListener("visibilitychange",this.ehtmr)):this.htmr(-1))}htmr(t){document.hidden||(this.tmr=setTimeout(()=>this.hide(),this.time+(-1===t?0:1e3)))}hide(){clearTimeout(this.tmr),this.ehtmr&&document.addEventListener("visibilitychange",this.ehtmr),this.p.e("JPT_"+this.id)&&(this.p.e("JPT_"+this.id).style["bottom"===this.pos?"bottom":"top"]="-40px",this.p.e("JPT_"+this.id).style.opacity=0),setTimeout(()=>{-1!==this.idx()&&this.destroy()},500)}destroy(){this.p.e("JPT_"+this.id).remove(),this.p.toasts.splice(this.idx(),1)}};sendReqIni(t,e,i,s={}){var a=new URL(t),t=i&&i instanceof FormData,n={method:e??"GET",headers:{"Content-Type":t?"multipart/form-data":"application/json"}};if(this.main.data?._token&&(n.headers["x-access-token"]=this.main.data._token),this.main.data?._auth&&(n.headers.authorization=this.main.data._auth),/^POST|PUT|PATCH$/i.test(e)&&(n.body=t?i:JSON.stringify(i)),s)for(const o in s)a.searchParams.append(o,s[o]);return this.idle(!0),this.stopp(),{url:a,options:n}}sendReqEnd(t){this.main.data?.auth&&((e=t.headers.get("x-access-token"))&&(this.main.data._token=e),e=t.headers.get("authorization"))&&(this.main.data._auth=e),this.idle(!1);var e,i,s={};for(i of t.headers.entries())s[i[0]]=i[1];return s}async sendRequest(t,e,i,s={}){t=this.sendReqIni(t,e,i,s);try{var a=await fetch(t.url,t.options),n=this.sendReqEnd(a),o=await a.json();return{ok:a.ok,status:a.status,headers:n,response:o}}catch(t){return this.idle(!1),{ok:!1,error:t,status:404}}}fdata(t,e=!0){if(e&&!this.e(t).reportValidity())return!1;var i,e=this.e(t).elements,s=new FormData;for(i of e)if(""!==i.name&&!i.disabled&&("checkbox"!==i.type&&"radio"!==i.type||i.checked)){var a="checkbox"!==i.type&&"radio"!==i.type||""!==i.value?i.value:1;if("file"===i.type){if("small"===i.dataset.jpauUpload)for(let t=0;t<i.files.length;++t)i._files&&i._files[t]?(s.append(`${i.name}_WIDTH[${t}]`,i._files[t]._RW),s.append(`${i.name}_HEIGHT[${t}]`,i._files[t]._RH),s.append(i.name+"[]",i._files[t])):s.append(i.name+"[]",i.files[t])}else s.append(i.name,a)}return s}async captcha(t,e){e=await this.sendRequest(e);return t.append("captcha",e.response.k),t}uplChunk(t,e,i,s,a,n,o,d,r){var h=new FormData;h.append(e+"_ID",a),h.append(e+"_RND",d),h.append(e+"_NAME",t.name),h.append(e+"_TYPE",t.type),h.append(e+"_SIZE",t.size),t._RW&&h.append(e+"_WIDTH",t._RW),t._RH&&h.append(e+"_HEIGHT",t._RH),h.append(e+"_PATH",t.webkitRelativePath),h.append(e+"_PART",n),h.append(e+"_PARTS",o),h.append(e,t.slice(n*s,(n+1)*s)),r.open("PUT",i,!0),this.main.data?._token&&(r.setRequestHeader["x-access-token"]=this.main.data._token),this.main.data?._auth&&(r.setRequestHeader.authorization=this.main.data._auth),r.send(h)}uplLarge(i,s,a,n,o,d,r){let h=2097152,l=0,p=Math.ceil(i.size/h),c=this.genId(),u=new XMLHttpRequest;u.upload.addEventListener("progress",t=>this.uplInf(o,l*h+t.loaded,i.size,d)),u.addEventListener("loadend",t=>{for(var e in this.uplInf(o,(l+1)*h,i.size,d),l<p&&u?(++l,this.uplChunk(i,s,a,h,n,l,p,c,u),this.files[`${n}_${c}_`+s].upload=Math.min(l*h,i.size),this.funcs.onUploading&&this.funcs.onUploading.bind(this)(i,s,n,l,p)):(delete this.files[`${n}_${c}_`+s],this.uplCnt(o,!1,u,!u),r&&(r.value=""),this.funcs.onUploadEnd&&this.funcs.onUploadEnd.bind(this)(s)),this.files.total={size:0,upload:0},this.files)"total"!==e&&(this.files.total.size+=this.files[e].size,this.files.total.upload+=this.files[e].upload);this.files.total.percent=~~(100*this.files.total.upload/this.files.total.size),this.idle(!1)}),u.addEventListener("error",t=>this.uplCnt(o,!1,!1,!0)),u.addEventListener("abort",t=>this.uplCnt(o,!1,!1,!0)),o&&this.e(o).querySelectorAll('[data-jpau-element="abort"]').forEach(t=>t.addEventListener("click",()=>{u.abort(),u=null})),this.idle(!0),this.files[`${n}_${c}_`+s]={name:i.name,size:i.size,upload:0},this.uplChunk(i,s,a,h,n,l,p,c,u)}uplBlob(t){var e=[],i=(t=t.split(","))[0].split(":")[1].split(";")[0],s=(0<=t[0].indexOf("base64")?atob:unescape)(t[1]);for(let t=0;t<s.length;++t)e.push(s.charCodeAt(t));return new Blob([new Uint8Array(e)],{type:i})}uplFile(t){let o="change"===t.type?t.target:this.e(t.target.dataset.jpauUploadTarget),d=("drop"===t.type?t.dataTransfer:"paste"===t.type?t.clipboardData:o).files,r="small"===o.dataset.jpauUpload,h=o.dataset.jpauPreview?this.e(o.dataset.jpauPreview):0,p=h&&h.dataset.jpauTemplate?this.e(h.dataset.jpauTemplate):0;if(this.stopp(),"drop"===t.type&&(t.target.style.backgroundColor=""),!this.funcs.onUpload||this.funcs.onUpload.bind(this)(t)){r&&h&&(h.innerHTML="");let a=h?h.childElementCount:0,n=o.accept.split(",");for(let s=0;s<d.length;++s){let e=d[s],t=!1;if(n&&n[0]){for(l of n)(l=l.trim()).startsWith(".")&&l!=="."+e.name.toLowerCase().split(".").pop()&&(t=!0),l.includes("/")&&e.type.match(l.replace("*",".+"))&&(t=!0);if(!t)continue}let i=o.dataset.jpauResize;if(/^image\//.test(e.type)&&(p||i)){let t=new FileReader;t.addEventListener("load",()=>this.uplImg(o,e,s,r,a,h,p,t.result,i)),t.readAsDataURL(e)}else a=this.uplNew(o,e,s,r,a,h,p,0)}}}uplImg(o,d,r,h,l,p,c,t,e){let i=new Image;i.src=t,i.onload=()=>{let a=i.width,n=i.height;e?(e=e.split("x"),a>n?a>e[0]&&(n=~~(n*(e[0]/a)),a=e[0]):n>e[1]&&(a=~~(a*(e[1]/n)),n=e[1]),createImageBitmap(i,{resizeWidth:a,resizeHeight:n,resizeQuality:"high"}).then(t=>{let e=document.createElement("canvas"),i=d.name,s=d.webkitRelativePath;e.width=a,e.height=n,e.getContext("2d").drawImage(t,0,0),e=e.toDataURL(d.type),(d=this.uplBlob(e)).name=i,d.webkitRelativePath=s,d._RW=a,d._RH=n,this.uplNew(o,d,r,h,l,p,c,e)})):(d._RW=a,d._RH=n,this.uplNew(o,d,r,h,l,p,c,t))}}uplNew(t,i,e,s,a,n,o,d){if(s&&this.main.data?.uploadSmallMax&&i.size>1024*this.main.data.uploadSmallMax)return this.windowShow(`<b>${this.htmlEntities(i.name)}</b>: `+(this.text("uploadSmallMsg")??"Maximum file size")),a;if(!s&&this.main.data?.uploadLargeMax&&i.size>1024*this.main.data.uploadLargeMax)return this.windowShow(`<b>${this.htmlEntities(i.name)}</b>: `+(this.text("uploadLargeMsg")??"Maximum file size")),a;let r=t.name+(a?"_"+a:""),h;return o&&(h=n.id+"_"+(a+e),n.insertAdjacentHTML("beforeend",`<span id="${h}">${o.innerHTML}</span>`),this.e(h).querySelectorAll("[data-jpau-element]").forEach(t=>{var e=t.dataset.jpauElement;"name"===e&&(t.innerHTML=i.name),"size"===e&&(t.innerHTML=this.sizeUnit(i.size)),"icon"===e&&(t.className+=this.fileIcon(i.name))}),d&&this.e(h).querySelectorAll('[data-jpau-element="img"]').forEach(t=>t.src=d),this.uplInf(h,0,i.size,new Date),this.uplCnt(h,!0,!1,!1),this.prepHTML(this.e(h)),this.funcs.onPreview)&&this.funcs.onPreview.bind(this)(h,r),s&&(t._files||(t._files={}),i._RW?t._files[e]=i:t._files[e]&&delete t._files[e]),s||this.uplLarge(i,r,t.dataset.jpauAction??t.form.action,t.dataset.jpauUploadId??this.genId(),o?h:0,new Date,t),a+1}uplInf(t,e,n,o){if(t&&this.e(t)){let i=~~(100*(e=Math.min(e,n))/(n||1)),s=~~((new Date-o)/1e3),a=~~(n*s/(e||1));this.e(t).querySelectorAll("[data-jpau-element]").forEach(t=>{var e=t.dataset.jpauElement;"progress"===e&&(t.value=i),"progressWidth"===e&&(t.style.width=i),"progressStr"===e&&(t.innerText=i+"%"),"timeElapsed"===e&&(t.innerText=this.secFmt(s)),"timeEstimated"===e&&(t.innerText=this.secFmt(a))})}}uplCnt(t,i,s,a){t&&this.e(t)&&this.e(t).querySelectorAll("[data-jpau-element-show]").forEach(t=>{var e=t.dataset.jpauElementShow;"loading"===e&&(t.style.display=i?"":"none"),"finish"===e&&(t.style.display=s?"":"none"),"error"===e&&(t.style.display=a?"":"none")})}secFmt(t){var e=new Date(0);return e.setSeconds(t),e.toISOString().substring(11,19)}fileIcon(t){let e=(t||"").toLowerCase().split(".").pop(),i,s="jpg image jpe image jpeg image png image webp image avif image gif image wav audio mp3 audio wma audio avi video mp4 video mov video mpg video webv video wmv video zip zipper rar zipper 7z zipper txt lines html lines doc word docx word xls excel xlsx excel pdf pdf".split(" ");if(e)for(let t=0;t<s.length&&!i;t+=2)e==s[t]&&(i=s[t+1]);return"fa-solid fa-file"+(i?"-"+i:"")}socialShare(t,e){t=encodeURIComponent(t??document.title),e=encodeURIComponent(e??window.location);return{facebook:{icon:"fa-brands fa-facebook",link:`https://www.facebook.com/sharer.php?u=${e}&t=`+t},whatsapp:{icon:"fa-brands fa-whatsapp",link:`whatsapp://send?text=${e}%0A%0A`+t},twitter:{icon:"fa-brands fa-x-twitter",link:`https://twitter.com/home?status=${t}: `+e},telegram:{icon:"fa-brands fa-telegram",link:`https://telegram.me/share/url?url=${e}&text=`+t},linkedin:{icon:"fa-brands fa-linkedin",link:`https://www.linkedin.com/shareArticle?mini=true&source=LinkedIn&url=${e}&summary=`+t},pinterest:{icon:"fa-brands fa-pinterest",link:`https://www.pinterest.com/pin/create/button/?url=${e}&media=${document.querySelector('meta[property="og:image"]')?.content??""}&description=`+t}}}voiceLang(t,e){this._slang=t||this.lng,e?this._voice=e:this.voiceOpts().voices.forEach(t=>{t.lang!==this._slang||this._voice||(this._voice=t)})}voiceOpts(){return{speech:"SpeechRecognition"in window||"webkitSpeechRecognition"in window,voices:window.speechSynthesis.getVoices()}}speech(s,a,n){var t=new("SpeechRecognition"in window?SpeechRecognition:webkitSpeechRecognition);t.continuous=!1,t.lang=this._slang||this.lng,t.interimResults=!1,t.maxAlternatives=1,t.onresult=function(t){let e=t.results[0][0].transcript.toLowerCase(),i=!1;n||document.querySelectorAll("[data-jpau-speech]").forEach(t=>{t.dataset.jpauSpeech.toLowerCase()===e&&(i=t).click()}),a&&(s||!s&&!i)&&a.bind(this)(e)}.bind(this),t.start()}speak(t,e,i,s,a){var n=window.speechSynthesis;n.speaking&&this._voc!==t&&(n.cancel(),this._voc.innerHTML=i),t&&this._voice&&(n.speaking&&this._voc===t?n.paused?(n.resume(),this._voc.innerHTML=s):(n.pause(),this._voc.innerHTML=a):((a=new SpeechSynthesisUtterance(e)).onend=a.onerror=()=>t.innerHTML=i,a.voice=this._voice,t.innerHTML=s,this._voc=t,n.speak(a)))}}class JPauContent extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),this.shadowRoot.innerHTML="<slot></slot>",this.shadowRoot.querySelector("slot").addEventListener("slotchange",t=>{t.target.assignedElements().forEach(t=>{"JPAU-ROUTE"===t.tagName&&june_pau.routes.push({r:t.getAttribute("path"),m:t.getAttribute("module"),bg:t.getAttribute("background")})})})}connectedCallback(){june_pau.outlet=document.createElement("div"),this.appendChild(june_pau.outlet)}}class JPauLink extends HTMLAnchorElement{constructor(){super()}connectedCallback(){this.addEventListener("click",t=>{t.shiftKey||t.ctrlKey||(t.preventDefault(),june_pau.link(this.getAttribute("href")))})}}const june_pau=new JuNePAU;window.customElements.define("jpau-content",JPauContent),window.customElements.define("jpau-link",JPauLink,{extends:"a"}),window.addEventListener("load",()=>june_pau.load()),window.addEventListener("popstate",()=>june_pau.link(document.location)),window.addEventListener("beforeunload",t=>{(june_pau.main.data?.beforeunload||1<Object.keys(june_pau.files).length)&&(t.returnValue=!0)});