2 lines
29 KiB
JavaScript
2 lines
29 KiB
JavaScript
var ue=Object.create;var F=Object.defineProperty;var ge=Object.getOwnPropertyDescriptor;var fe=Object.getOwnPropertyNames;var ye=Object.getPrototypeOf,xe=Object.prototype.hasOwnProperty;var he=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports);var Se=(e,n,d,u)=>{if(n&&typeof n=="object"||typeof n=="function")for(let m of fe(n))!xe.call(e,m)&&m!==d&&F(e,m,{get:()=>n[m],enumerable:!(u=ge(n,m))||u.enumerable});return e};var Le=(e,n,d)=>(d=e!=null?ue(ye(e)):{},Se(n||!e||!e.__esModule?F(d,"default",{value:e,enumerable:!0}):d,e));var Z=he(($e,I)=>{var ve=function(){var e=String.fromCharCode,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",u={};function m(t,s){if(!u[t]){u[t]={};for(var p=0;p<t.length;p++)u[t][t.charAt(p)]=p}return u[t][s]}var g={compressToBase64:function(t){if(t==null)return"";var s=g._compress(t,6,function(p){return n.charAt(p)});switch(s.length%4){default:case 0:return s;case 1:return s+"===";case 2:return s+"==";case 3:return s+"="}},decompressFromBase64:function(t){return t==null?"":t==""?null:g._decompress(t.length,32,function(s){return m(n,t.charAt(s))})},compressToUTF16:function(t){return t==null?"":g._compress(t,15,function(s){return e(s+32)})+" "},decompressFromUTF16:function(t){return t==null?"":t==""?null:g._decompress(t.length,16384,function(s){return t.charCodeAt(s)-32})},compressToUint8Array:function(t){for(var s=g.compress(t),p=new Uint8Array(s.length*2),c=0,i=s.length;c<i;c++){var x=s.charCodeAt(c);p[c*2]=x>>>8,p[c*2+1]=x%256}return p},decompressFromUint8Array:function(t){if(t==null)return g.decompress(t);for(var s=new Array(t.length/2),p=0,c=s.length;p<c;p++)s[p]=t[p*2]*256+t[p*2+1];var i=[];return s.forEach(function(x){i.push(e(x))}),g.decompress(i.join(""))},compressToEncodedURIComponent:function(t){return t==null?"":g._compress(t,6,function(s){return d.charAt(s)})},decompressFromEncodedURIComponent:function(t){return t==null?"":t==""?null:(t=t.replace(/ /g,"+"),g._decompress(t.length,32,function(s){return m(d,t.charAt(s))}))},compress:function(t){return g._compress(t,16,function(s){return e(s)})},_compress:function(t,s,p){if(t==null)return"";var c,i,x={},b={},L="",v="",h="",S=2,T=3,f=2,a=[],o=0,r=0,y;for(y=0;y<t.length;y+=1)if(L=t.charAt(y),Object.prototype.hasOwnProperty.call(x,L)||(x[L]=T++,b[L]=!0),v=h+L,Object.prototype.hasOwnProperty.call(x,v))h=v;else{if(Object.prototype.hasOwnProperty.call(b,h)){if(h.charCodeAt(0)<256){for(c=0;c<f;c++)o=o<<1,r==s-1?(r=0,a.push(p(o)),o=0):r++;for(i=h.charCodeAt(0),c=0;c<8;c++)o=o<<1|i&1,r==s-1?(r=0,a.push(p(o)),o=0):r++,i=i>>1}else{for(i=1,c=0;c<f;c++)o=o<<1|i,r==s-1?(r=0,a.push(p(o)),o=0):r++,i=0;for(i=h.charCodeAt(0),c=0;c<16;c++)o=o<<1|i&1,r==s-1?(r=0,a.push(p(o)),o=0):r++,i=i>>1}S--,S==0&&(S=Math.pow(2,f),f++),delete b[h]}else for(i=x[h],c=0;c<f;c++)o=o<<1|i&1,r==s-1?(r=0,a.push(p(o)),o=0):r++,i=i>>1;S--,S==0&&(S=Math.pow(2,f),f++),x[v]=T++,h=String(L)}if(h!==""){if(Object.prototype.hasOwnProperty.call(b,h)){if(h.charCodeAt(0)<256){for(c=0;c<f;c++)o=o<<1,r==s-1?(r=0,a.push(p(o)),o=0):r++;for(i=h.charCodeAt(0),c=0;c<8;c++)o=o<<1|i&1,r==s-1?(r=0,a.push(p(o)),o=0):r++,i=i>>1}else{for(i=1,c=0;c<f;c++)o=o<<1|i,r==s-1?(r=0,a.push(p(o)),o=0):r++,i=0;for(i=h.charCodeAt(0),c=0;c<16;c++)o=o<<1|i&1,r==s-1?(r=0,a.push(p(o)),o=0):r++,i=i>>1}S--,S==0&&(S=Math.pow(2,f),f++),delete b[h]}else for(i=x[h],c=0;c<f;c++)o=o<<1|i&1,r==s-1?(r=0,a.push(p(o)),o=0):r++,i=i>>1;S--,S==0&&(S=Math.pow(2,f),f++)}for(i=2,c=0;c<f;c++)o=o<<1|i&1,r==s-1?(r=0,a.push(p(o)),o=0):r++,i=i>>1;for(;;)if(o=o<<1,r==s-1){a.push(p(o));break}else r++;return a.join("")},decompress:function(t){return t==null?"":t==""?null:g._decompress(t.length,32768,function(s){return t.charCodeAt(s)})},_decompress:function(t,s,p){var c=[],i,x=4,b=4,L=3,v="",h=[],S,T,f,a,o,r,y,l={val:p(0),position:s,index:1};for(S=0;S<3;S+=1)c[S]=S;for(f=0,o=Math.pow(2,2),r=1;r!=o;)a=l.val&l.position,l.position>>=1,l.position==0&&(l.position=s,l.val=p(l.index++)),f|=(a>0?1:0)*r,r<<=1;switch(i=f){case 0:for(f=0,o=Math.pow(2,8),r=1;r!=o;)a=l.val&l.position,l.position>>=1,l.position==0&&(l.position=s,l.val=p(l.index++)),f|=(a>0?1:0)*r,r<<=1;y=e(f);break;case 1:for(f=0,o=Math.pow(2,16),r=1;r!=o;)a=l.val&l.position,l.position>>=1,l.position==0&&(l.position=s,l.val=p(l.index++)),f|=(a>0?1:0)*r,r<<=1;y=e(f);break;case 2:return""}for(c[3]=y,T=y,h.push(y);;){if(l.index>t)return"";for(f=0,o=Math.pow(2,L),r=1;r!=o;)a=l.val&l.position,l.position>>=1,l.position==0&&(l.position=s,l.val=p(l.index++)),f|=(a>0?1:0)*r,r<<=1;switch(y=f){case 0:for(f=0,o=Math.pow(2,8),r=1;r!=o;)a=l.val&l.position,l.position>>=1,l.position==0&&(l.position=s,l.val=p(l.index++)),f|=(a>0?1:0)*r,r<<=1;c[b++]=e(f),y=b-1,x--;break;case 1:for(f=0,o=Math.pow(2,16),r=1;r!=o;)a=l.val&l.position,l.position>>=1,l.position==0&&(l.position=s,l.val=p(l.index++)),f|=(a>0?1:0)*r,r<<=1;c[b++]=e(f),y=b-1,x--;break;case 2:return h.join("")}if(x==0&&(x=Math.pow(2,L),L++),c[y])v=c[y];else if(y===b)v=T+T.charAt(0);else return null;h.push(v),c[b++]=T+v.charAt(0),x--,T=v,x==0&&(x=Math.pow(2,L),L++)}}};return g}();typeof I<"u"&&I!=null&&(I.exports=ve)});var N='<i class="icon-delete"></i>';var $=()=>{let e=!1,n=navigator.userAgent.toLowerCase();return function(d){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(d)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(d.substr(0,4)))&&(e=!0)}(n||navigator.vendor||window.opera),e};var O=e=>{if("clipboard"in navigator)return navigator.clipboard.writeText(e);if(document.queryCommandSupported&&document.queryCommandSupported("copy")){let n=document.createElement("textarea");n.textContent=e,n.style.position="fixed",document.body.appendChild(n),n.select();try{return document.execCommand("copy")}catch(d){return console.warn("Copy to clipboard failed.",d),!1}finally{document.body.removeChild(n)}}return!1};var B=(e,n)=>new Promise((d,u)=>{if(n&&globalThis[n])return d(globalThis[n]);if(typeof globalThis.importScripts=="function")return globalThis.importScripts(e),n&&globalThis[n]?d(globalThis[n]):d(globalThis);let m=document.createElement("script");m.src=e,m.async=!0;let g=()=>{m.removeEventListener("load",t),m.removeEventListener("error",s)},t=()=>{if(g(),!n)return d("loaded: "+e);let p=setInterval(()=>{if(window[n])return clearInterval(p),d(window[n])},5)},s=()=>{g(),u("failed to load: "+e)};m.addEventListener("load",t),m.addEventListener("error",s),document.head.appendChild(m)});var z={APP_VERSION:"46",SDK_VERSION:"0.11.1",COMMIT_SHA:"43f0982",REPO_URL:"https://github.com/live-codes/livecodes",DOCS_BASE_URL:"/docs/"};var W='<div id="assets-list-container" class="modal-container list-container"><div class="modal-title" data-i18n="assets.heading">Assets</div><div class="modal-screen-container"><div class="modal-message" id="assets-container" class="items-container"><div class="buttons"><button id="assets-add-asset-button" class="button" data-i18n="assets.add.heading">Add Asset</button> <button id="assets-delete-all-button" class="button danger" data-i18n="assets.deleteAll">Delete All</button></div><div class="modal-search"><div><span id="sort-by-label"><i class="icon-arrow-sort"></i><span data-i18n="assets.sort.heading">Sort By:</span></span> <a href="#" id="assets-sort-by-last-modified" class="active"><i class="icon-calendar-sort"></i> <span class="sort-time" data-i18n="assets.sort.date">Date</span></a><a href="#" id="assets-sort-by-title"> <i class="icon-arrow-text-sort"></i> <span class="sort-title" data-i18n="assets.sort.fileName">File Name</span></a><a href="#" id="assets-sorted-asc" style="display:none"><i class="icon-arrow-sort-up"></i></a><a href="#" id="assets-sorted-desc"><i class="icon-arrow-sort-down"></i></a> <select name="type-filter" id="assets-type-filter"><option value="" data-i18n="assets.types.all">All types</option></select></div><div><input id="search-assets" type="text" placeholder="Search" data-i18n="assets.search" data-i18n-prop="placeholder"> <a href="#" id="assets-reset-filters" title="Reset" data-i18n="assets.resetFilters" data-i18n-prop="title"><i class="icon-reset"></i></a></div></div><div class="modal-message no-data description alert" data-i18n="assets.noSavedAssets"><div>You have no saved assets.</div></div><div class="modal-message no-data description confirm" id="assets-no-match" data-i18n="assets.noMatch"><div>No assets match these filters.</div></div></div></div></div>';var K='<div id="add-asset-container" class="modal-container"><div class="modal-title" data-i18n="assets.add.heading">Add Asset</div><div id="add-asset-screens" class="modal-screen-container"><div class="buttons"><button id="assets-button" class="button" data-i18n="assets.heading">Assets</button></div><ul id="add-asset-tabs" class="modal-tabs"><li class="active"><a href="#" data-target="add-asset-data-url" data-i18n="assets.add.dataURL.heading">Data URL</a></li><li><a href="#" data-target="add-asset-gh-pages" data-i18n="assets.add.githubPages.heading">GitHub Pages</a></li></ul><div id="add-asset-data-url" class="tab-content active"><div class="modal-screen"><div class="description help" data-i18n="assets.add.dataURL.desc" data-i18n-prop="innerHTML">Add asset as a base64-encoded <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs" target="_blank" rel="noopener">data url</a>.</div><form id="add-asset-data-url-form"><label for="asset-data-url-file-input" class="file-input-label" data-i18n="assets.add.dataURL.label" tabindex="0">Add file</label> <input type="file" id="asset-data-url-file-input" class="file-input"></form><div id="data-url-output" class="clickable" style="width:100%"></div></div></div><div id="add-asset-gh-pages" class="tab-content"><div class="modal-screen"><div class="description help" data-i18n="assets.add.githubPages.desc" data-i18n-prop="innerHTML">Deploy asset to GitHub Pages. The file is pushed to <span class="code">gh-pages</span> branch of the repo <span class="code">livecodes-assets</span> on your GitHub account. If the repo does not already exist, a public repo will be created.</div><form id="add-asset-gh-pages-form"><label for="asset-gh-pages-file-input" id="asset-gh-pages-file-input-label" class="file-input-label" data-i18n="assets.add.githubPages.label" tabindex="0">Upload file</label> <input type="file" id="asset-gh-pages-file-input" class="file-input"></form><div id="gh-pages-output" class="clickable" style="width:100%"></div></div></div></div></div>';var J=e=>Object.entries(z).reduce((n,[d,u])=>n.replace(new RegExp(`{{${d}}}`,"g"),u),e);var G=J(W),V=J(K);var R=Le(Z());var X=["esm.sh","skypack","esm.run","jsdelivr.esm","fastly.jsdelivr.esm","gcore.jsdelivr.esm","testingcf.jsdelivr.esm","jsdelivr.b-cdn.esm","jspm"],Y=["jsdelivr","fastly.jsdelivr","unpkg","gcore.jsdelivr","testingcf.jsdelivr","jsdelivr.b-cdn","npmcdn"],ee=["jsdelivr.gh","fastly.jsdelivr.gh","statically","gcore.jsdelivr.gh","testingcf.jsdelivr.gh","jsdelivr.b-cdn.gh"],q={getModuleUrl:(e,{isModule:n=!0,defaultCDN:d="esm.sh",external:u}={})=>{e=e.replace(/#nobundle/g,"");let m=t=>!u||!t.includes("https://esm.sh")?t:t.includes("?")?`${t}&external=${u}`:`${t}?external=${u}`,g=Q(e,n,d);return g?m(g):n?m("https://esm.sh/"+e):"https://cdn.jsdelivr.net/npm/"+e},getUrl:(e,n)=>e.startsWith("http")||e.startsWith("data:")?e:Q(e,!1,n||Ee())||e,cdnLists:{npm:Y,module:X,gh:ee},checkCDNs:async(e,n)=>{let d=[n,...q.cdnLists.npm].filter(Boolean);for(let u of d)try{if((await fetch(q.getUrl(e,u),{method:"HEAD"})).ok)return u}catch{}return q.cdnLists.npm[0]}},Ee=()=>{if(globalThis.appCDN)return globalThis.appCDN;try{return new URL(location.href).searchParams.get("appCDN")||q.cdnLists.npm[0]}catch{return q.cdnLists.npm[0]}},Q=(e,n,d)=>{let u=n&&e.startsWith("unpkg:")?"?module":"";e.startsWith("gh:")?e=e.replace("gh",ee[0]):e.includes(":")||(e=(d||(n?X[0]:Y[0]))+":"+e);for(let m of we){let[g,t]=m;if(g.test(e))return e.replace(g,t)+u}return null},we=[[/^(esm\.sh:)(.+)/i,"https://esm.sh/$2"],[/^(npm:)(.+)/i,"https://esm.sh/$2"],[/^(node:)(.+)/i,"https://esm.sh/$2"],[/^(jsr:)(.+)/i,"https://esm.sh/jsr/$2"],[/^(skypack:)(.+)/i,"https://cdn.skypack.dev/$2"],[/^(jsdelivr:)(.+)/i,"https://cdn.jsdelivr.net/npm/$2"],[/^(fastly\.jsdelivr:)(.+)/i,"https://fastly.jsdelivr.net/npm/$2"],[/^(gcore\.jsdelivr:)(.+)/i,"https://gcore.jsdelivr.net/npm/$2"],[/^(testingcf\.jsdelivr:)(.+)/i,"https://testingcf.jsdelivr.net/npm/$2"],[/^(jsdelivr\.b-cdn:)(.+)/i,"https://jsdelivr.b-cdn.net/npm/$2"],[/^(jsdelivr\.gh:)(.+)/i,"https://cdn.jsdelivr.net/gh/$2"],[/^(fastly\.jsdelivr\.gh:)(.+)/i,"https://fastly.jsdelivr.net/gh/$2"],[/^(gcore\.jsdelivr\.gh:)(.+)/i,"https://gcore.jsdelivr.net/gh/$2"],[/^(testingcf\.jsdelivr\.gh:)(.+)/i,"https://testingcf.jsdelivr.net/gh/$2"],[/^(jsdelivr\.b-cdn\.gh:)(.+)/i,"https://jsdelivr.b-cdn.net/gh/$2"],[/^(statically:)(.+)/i,"https://cdn.statically.io/gh/$2"],[/^(esm\.run:)(.+)/i,"https://esm.run/$2"],[/^(jsdelivr\.esm:)(.+)/i,"https://cdn.jsdelivr.net/npm/$2/+esm"],[/^(fastly\.jsdelivr\.esm:)(.+)/i,"https://fastly.jsdelivr.net/npm/$2/+esm"],[/^(gcore\.jsdelivr\.esm:)(.+)/i,"https://gcore.jsdelivr.net/npm/$2/+esm"],[/^(testingcf\.jsdelivr\.esm:)(.+)/i,"https://testingcf.jsdelivr.net/npm/$2/+esm"],[/^(jsdelivr\.b-cdn\.esm:)(.+)/i,"https://jsdelivr.b-cdn.net/npm/$2/+esm"],[/^(jspm:)(.+)/i,"https://jspm.dev/$2"],[/^(esbuild:)(.+)/i,"https://esbuild.vercel.app/$2"],[/^(bundle\.run:)(.+)/i,"https://bundle.run/$2"],[/^(unpkg:)(.+)/i,"https://unpkg.com/$2"],[/^(npmcdn:)(.+)/i,"https://npmcdn.com/$2"],[/^(bundlejs:)(.+)/i,"https://deno.bundlejs.com/?file&q=$2"],[/^(bundle:)(.+)/i,"https://deno.bundlejs.com/?file&q=$2"],[/^(deno:)(.+)/i,"https://deno.bundlejs.com/?file&q=https://deno.land/x/$2/mod.ts"],[/^(https:\/\/deno\.land\/.+)/i,"https://deno.bundlejs.com/?file&q=$1"],[/^(github:|https:\/\/github\.com\/)(.[^\/]+?)\/(.[^\/]+?)\/(?!releases\/)(?:(?:blob|raw)\/)?(.+?\/.+)/i,"https://deno.bundlejs.com/?file&q=https://cdn.jsdelivr.net/gh/$2/$3@$4"],[/^(gist\.github:)(.+?\/[0-9a-f]+\/raw\/(?:[0-9a-f]+\/)?.+)$/i,"https://gist.githack.com/$2"],[/^(gitlab:|https:\/\/gitlab\.com\/)([^\/]+.*\/[^\/]+)\/(?:raw|blob)\/(.+?)(?:\?.*)?$/i,"https://deno.bundlejs.com/?file&q=https://gl.githack.com/$2/raw/$3"],[/^(bitbucket:|https:\/\/bitbucket\.org\/)([^\/]+\/[^\/]+)\/(?:raw|src)\/(.+?)(?:\?.*)?$/i,"https://deno.bundlejs.com/?file&q=https://bb.githack.com/$2/raw/$3"],[/^(bitbucket:)snippets\/([^\/]+\/[^\/]+)\/revisions\/([^\/\#\?]+)(?:\?[^#]*)?(?:\#file-(.+?))$/i,"https://bb.githack.com/!api/2.0/snippets/$2/$3/files/$4"],[/^(bitbucket:)snippets\/([^\/]+\/[^\/\#\?]+)(?:\?[^#]*)?(?:\#file-(.+?))$/i,"https://bb.githack.com/!api/2.0/snippets/$2/HEAD/files/$3"],[/^(bitbucket:)\!api\/2.0\/snippets\/([^\/]+\/[^\/]+\/[^\/]+)\/files\/(.+?)(?:\?.*)?$/i,"https://bb.githack.com/!api/2.0/snippets/$2/files/$3"],[/^(api\.bitbucket:)2.0\/snippets\/([^\/]+\/[^\/]+\/[^\/]+)\/files\/(.+?)(?:\?.*)?$/i,"https://bb.githack.com/!api/2.0/snippets/$2/files/$3"],[/^(rawgit:)(.+?\/[0-9a-f]+\/raw\/(?:[0-9a-f]+\/)?.+)$/i,"https://gist.githack.com/$2"],[/^(rawgit:|https:\/\/raw\.githubusercontent\.com)(\/[^\/]+\/[^\/]+|[0-9A-Za-z-]+\/[0-9a-f]+\/raw)\/(.+)/i,"https://deno.bundlejs.com/?file&q=https://raw.githack.com/$2/$3"]];var{getUrl:Me,getModuleUrl:Ye}=q;var te=Me("flexsearch@0.7.21/dist/flexsearch.bundle.js");var _=()=>(Date.now()+""+Math.floor(Math.floor(Math.random()*Date.now()))).substring(0,24);var se=e=>e.querySelector("#assets-add-asset-button"),ne=e=>e.querySelector("#assets-delete-all-button"),re=e=>e.querySelector("#assets-button"),ae=e=>e.querySelector("#asset-data-url-file-input"),ce=e=>e.querySelector("#data-url-output"),ie=e=>e.querySelector("#asset-gh-pages-file-input"),le=e=>e.querySelector("#asset-gh-pages-file-input-label");var pe=e=>e.querySelector("#gh-pages-output");var de=(e,n)=>{O(e)?n.success(window.deps.translateString("assets.url.success","URL is copied to clipboard.")):n.error(window.deps.translateString("assets.url.fail","Failed to copy URL."))},ke={other:window.deps.translateString("assets.type.other","Other"),audio:window.deps.translateString("assets.type.audio","Audio"),video:window.deps.translateString("assets.type.video","Video"),image:window.deps.translateString("assets.type.image","Image"),archive:window.deps.translateString("assets.type.archive","Archive"),stylesheet:window.deps.translateString("assets.type.stylesheet","Stylesheet"),csv:window.deps.translateString("assets.type.csv","CSV"),html:window.deps.translateString("assets.type.html","HTML"),icon:window.deps.translateString("assets.type.icon","Icon"),script:window.deps.translateString("assets.type.script","Script"),json:window.deps.translateString("assets.type.json","JSON"),font:window.deps.translateString("assets.type.font","Font"),text:window.deps.translateString("assets.type.text","Text"),xml:window.deps.translateString("assets.type.xml","XML")},Ue=(e,n)=>{let d=document.createElement("div");d.classList.add("asset-item");let u=document.createElement("div");u.classList.add("asset-title","overflow-text"),u.textContent=e.filename,d.appendChild(u);let m=document.createElement("img");m.src=me(e,n),m.classList.add("img-preview"),m.onerror=function(){let i=n+"assets/images/image.svg";m.src!==i&&(m.src=i)},d.appendChild(m);let g=document.createElement("div");g.classList.add("asset-details"),d.appendChild(g);let t=document.createElement("div");t.classList.add("light"),t.textContent=window.deps.translateString("assets.link.type","Type: {{type}}",{type:ke[e.type]}),g.appendChild(t);let s=$()?new Date(e.lastModified).toLocaleDateString():new Date(e.lastModified).toLocaleString(),p=document.createElement("div");p.classList.add("light"),p.textContent=window.deps.translateString("assets.link.date","Date: {{modified}}",{modified:String(s)}),g.appendChild(p);let c=document.createElement("div");return c.classList.add("light","asset-url","overflow-text"),c.textContent=window.deps.translateString("assets.link.url","URL: {{url}}",{url:e.url}),g.appendChild(c),d},qe=(e,n,d,u)=>{let m=document.createElement("li");n.appendChild(m);let g=document.createElement("a");g.href="#",g.dataset.id=e.id,g.classList.add("asset-link"),g.title=window.deps.translateString("assets.generic.clickToCopyURL","Click to copy URL"),g.appendChild(Ue(e,u)),g.onclick=p=>{p.preventDefault(),de(e.url,d)},m.appendChild(g);let t=document.createElement("div");t.classList.add("actions"),m.appendChild(t);let s=document.createElement("button");return s.innerHTML=N,s.classList.add("action-button","delete-button"),s.title=window.deps.translateString("assets.action.delete","Delete"),t.appendChild(s),{link:g,deleteButton:s}},je=async(e,n,d)=>{let u="date",m="desc",g,t=[],s=document.querySelector("#assets-list-container #assets-sort-by-last-modified"),p=document.querySelector("#assets-list-container #assets-sort-by-title"),c=document.querySelector("#assets-list-container #assets-sorted-asc"),i=document.querySelector("#assets-list-container #assets-sorted-desc"),x=document.querySelector("#assets-list-container #assets-type-filter"),b=document.querySelector("#assets-list-container #search-assets"),L=document.querySelector("#assets-list-container #assets-reset-filters");Array.from(new Set((await e()).map(a=>a.type))).sort((a,o)=>a.toLowerCase()<o.toLowerCase()?-1:a.toLowerCase()>o.toLowerCase()?1:0).forEach(a=>{let o=document.createElement("option");o.text=a,o.value=a,x.appendChild(o)});let v=async()=>(await e()).filter(a=>g?a.type===g:!0).filter(a=>b.value.trim()!==""?t.includes(a.id):!0).sort((a,o)=>u==="date"&&m==="asc"?a.lastModified-o.lastModified:u==="date"&&m==="desc"?o.lastModified-a.lastModified:u==="filename"&&m==="asc"&&a.filename<o.filename?-1:u==="filename"&&m==="asc"&&a.filename>o.filename||u==="filename"&&m==="desc"&&a.filename<o.filename?1:u==="filename"&&m==="desc"&&a.filename>o.filename?-1:0),h=async()=>{n(await v())},S=()=>{m="asc",c.style.display="unset",i.style.display="none"},T=()=>{m="desc",c.style.display="none",i.style.display="unset"},f=async(a=x.value)=>{g=a,await h()};d.addEventListener(s,"click",async a=>{a.preventDefault(),u!=="date"||m==="asc"?T():S(),u="date",s.classList.add("active"),p.classList.remove("active"),await h()},!1),d.addEventListener(p,"click",async a=>{a.preventDefault(),u!=="filename"?S():m==="asc"?T():S(),u="filename",s.classList.remove("active"),p.classList.add("active"),await h()},!1),d.addEventListener(c,"click",async a=>{a.preventDefault(),T(),await h()},!1),d.addEventListener(i,"click",async a=>{a.preventDefault(),S(),await h()},!1),d.addEventListener(x,"change",async()=>{await f()},!1),B(te,"FlexSearch").then(async a=>{let o=new a.Document({index:["filename","type"],tokenize:"full",worker:!0});await Promise.all((await e()).map(r=>o.add(r))),d.addEventListener(b,"keyup",async()=>{t=(await o.searchAsync(b.value)).map(y=>y.result).flat(),await h()},!1)}),d.addEventListener(L,"click",async a=>{a.preventDefault(),u="date",m="desc",g="",t=[],s.classList.add("active"),p.classList.remove("active"),T(),x.value="",b.value="",await h()},!1)},$t=async({assetsStorage:e,eventsManager:n,showScreen:d,notifications:u,modal:m,baseUrl:g})=>{let t=document.createElement("div");t.innerHTML=G;let s=t.firstChild,p=s.querySelector(".no-data"),c=s.querySelector("#assets-no-match.no-data"),i=s.querySelector("#assets-container"),x=document.createElement("ul");x.classList.add("open-list");let b=await e.getAllData(),L=b,v=se(s),h=ne(s);n.addEventListener(v,"click",()=>{d("add-asset")},!1),n.addEventListener(h,"click",async()=>{u.confirm(window.deps.translateString("assets.delete.all","Delete {{assets}} assets?",{assets:L.length}),async()=>{for(let f of L)await e.deleteItem(f.id);L=[],b=await e.getAllData(),await S(L)})},!1),i.appendChild(x);let S=async f=>{L=f,x.innerHTML="",f.forEach(a=>{let{deleteButton:o}=qe(a,x,u,g);n.addEventListener(o,"click",()=>{u.confirm(window.deps.translateString("assets.delete.one","Delete asset: {{asset}}?",{asset:a.filename}),async()=>{await e.deleteItem(a.id),L=L.filter(y=>y.id!==a.id),o.parentElement.classList.add("hidden"),setTimeout(()=>{S(L)},500)})},!1)}),f.length===0?(x.classList.add("hidden"),h.classList.add("hidden"),(await e.getList()).length===0?(p.classList.remove("hidden"),c.classList.add("hidden")):(p.classList.add("hidden"),c.classList.remove("hidden"))):(x.classList.remove("hidden"),h.classList.remove("hidden"),p.classList.add("hidden"),c.classList.add("hidden"))};await S(b);let T=()=>e.getAllData();m.show(s,{isAsync:!0}),je(T,S,n)},Ot=({assetsStorage:e,eventsManager:n,showScreen:d,notifications:u,deployAsset:m,getUser:g,baseUrl:t,activeTab:s})=>{let p,c=document.createElement("div");c.innerHTML=V;let i=c.firstChild,x=i.querySelectorAll("#add-asset-tabs li"),b=y=>{let l=y.querySelector("a");if(!l)return;x.forEach(E=>E.classList.remove("active")),y.classList.add("active"),document.querySelectorAll("#add-asset-screens > div").forEach(E=>{E.classList.remove("active")});let H=i.querySelector("#"+l.dataset.target);H?.classList.add("active"),H?.querySelector("input")?.focus()};x.forEach(y=>{y.querySelector("a")&&n.addEventListener(y,"click",()=>b(y))}),setTimeout(()=>{s&&b(x[s])});let L=re(i),v=ae(i),h=ce(i),S=ie(i),T=le(i),f=pe(i);n.addEventListener(L,"click",()=>{d("assets")},!1);let a=(y,l=!1)=>new Promise((H,E)=>{if(y.files?.length===0)return;let w=y.files[0],C=2*1024*1024;if(w.size>C){E(window.deps.translateString("generic.error.exceededSize","Error: Exceeded size {{size}} MB",{size:2}));return}let k=new FileReader;n.addEventListener(k,"load",async j=>{let U="";if(l){if(!p){E(window.deps.translateString("assets.loadFile.error.unauthenticated","Error: Unauthenticated user"));return}T.innerText=window.deps.translateString("assets.loadFile.uploading","Uploading..."),T.classList.add("disabled");let A=await m(p,{path:w.name,content:j.target?.result.split("base64,")[1]});T.innerText=window.deps.translateString("assets.loadFile.upload","Upload file"),T.classList.remove("disabled"),A?U=A.url:E(window.deps.translateString("assets.loadFile.error.failedToUpload","Error: Failed to upload file"))}U=U||j.target?.result,H({id:_(),filename:w.name,type:Ae(w.type,w.name),url:U,lastModified:Date.now()})}),n.addEventListener(k,"error",()=>{E(window.deps.translateString("generic.error.failedToReadFile","Error: Failed to read file"))}),k.readAsDataURL(w)}),o=async(y,l,H=!1)=>{await e.updateItem(y.id,y);let E=document.createElement("p"),w=document.createElement("span");w.textContent=window.deps.translateString("assets.processAsset.addFile","Added file: "),w.classList.add("bold"),E.appendChild(w);let C=document.createElement("span");C.textContent+=y.filename,E.appendChild(C),E.classList.add("overflow-text"),l.appendChild(E);let k=document.createElement("p"),j=document.createElement("span");j.textContent=window.deps.translateString("assets.processAsset.urlLabel","URL: "),j.classList.add("bold"),k.appendChild(j);let U=document.createElement("span");if(U.textContent+=y.url,k.appendChild(U),k.classList.add("overflow-text"),l.appendChild(k),H){let M=document.createElement("p");M.textContent=window.deps.translateString("assets.processAsset.deployNotice","The asset should be available on this URL soon (~1 min)."),M.classList.add("description","center"),l.appendChild(M)}else{let M=document.createElement("img");M.src=me(y,t),M.onerror=function(){let P=t+"assets/images/image.svg";M.src!==P&&(M.src=P)},M.classList.add("img-preview-larger"),l.appendChild(M)}let A=document.createElement("p");A.textContent=window.deps.translateString("assets.generic.clickToCopyURL","Click to copy URL"),A.classList.add("description","center"),l.appendChild(A);let D=document.createElement("hr");D.style.margin="1em",l.appendChild(D),l.title=window.deps.translateString("assets.generic.clickToCopyURL","Click to copy URL"),u.success(window.deps.translateString("assets.processAsset.success","File added to assets!")),l.onclick=()=>de(y.url,u)},r=async(y,l,H=!1)=>{await a(y,H).then(E=>o(E,l,H)).catch(E=>{u.error(E)})};return n.addEventListener(v,"change",()=>{r(v,h)},!1),n.addEventListener(T,"click",async y=>{p=await g(async()=>{await d("add-asset",1)}),p||(y.preventDefault(),u.error(window.deps.translateString("generic.error.authentication","Authentication error!")))},!1),n.addEventListener(S,"change",()=>{r(S,f,!0)},!1),i},Ae=(e,n)=>{let d={"audio/aac":"audio","video/x-msvideo":"video","image/bmp":"image","application/x-bzip":"archive","application/x-bzip2":"archive","text/css":"stylesheet","text/csv":"csv","application/gzip":"archive","image/gif":"image","text/html":"html","image/vnd.microsoft.icon":"icon","image/jpeg":"image","text/javascript":"script","application/javascript":"script","application/json":"json","application/ld+json":"json","audio/midi":"audio","audio/x-midi":"audio","audio/mpeg":"audio","video/mp4":"video","video/mpeg":"video","audio/ogg":"audio","video/ogg":"video","application/ogg":"audio","audio/opus":"audio","font/otf":"font","image/png":"image","application/vnd.rar":"archive","image/svg+xml":"image","application/x-tar":"archive","image/tiff":"image","video/mp2t":"video","font/ttf":"font","text/plain":"text","audio/wav":"audio","audio/webm":"audio","video/webm":"video","image/webp":"image","font/woff":"font","font/woff2":"font","application/xhtml+xml":"html","application/xml":"xml","application/zip":"archive","video/3gpp":"video","video/3gpp2":"audio","application/x-7z-compressed":"archive"},u={aac:"audio",bmp:"image",bzip:"archive",bzip2:"archive",css:"stylesheet",csv:"csv",gzip:"archive",gif:"image",html:"html",ico:"icon",jpeg:"image",jpg:"image",js:"script",json:"json",midi:"audio",mpeg:"audio",mp4:"video",ogg:"audio",otf:"font",png:"image",rar:"archive",svg:"image",tar:"archive",tiff:"image",mp2t:"video",ttf:"font",txt:"text",wav:"audio",webm:"audio",webp:"image",woff:"font",woff2:"font",xml:"xml",zip:"archive","3gpp":"video","3gpp2":"audio","7z":"archive"},m=n.split(".")[n.split(".").length-1];return d[e]||u[m]||"other"},me=(e,n)=>{if(e.type==="image"||e.type==="icon")return e.url;let d=n+"assets/images/";return e.type==="other"?d+"file.svg":d+e.type+".svg"};export{Ot as createAddAssetContainer,$t as createAssetsList};
|