+1
-1
@@ -1,1 +0,1 @@ | ||
| "use strict";var te=Object.create;var _=Object.defineProperty;var oe=Object.getOwnPropertyDescriptor;var ne=Object.getOwnPropertyNames;var re=Object.getPrototypeOf,se=Object.prototype.hasOwnProperty;var ie=(a,m)=>()=>(m||a((m={exports:{}}).exports,m),m.exports),ae=(a,m)=>{for(var b in m)_(a,b,{get:m[b],enumerable:!0})},G=(a,m,b,S)=>{if(m&&typeof m=="object"||typeof m=="function")for(let w of ne(m))!se.call(a,w)&&w!==b&&_(a,w,{get:()=>m[w],enumerable:!(S=oe(m,w))||S.enumerable});return a};var le=(a,m,b)=>(b=a!=null?te(re(a)):{},G(m||!a||!a.__esModule?_(b,"default",{value:a,enumerable:!0}):b,a)),ce=a=>G(_({},"__esModule",{value:!0}),a);var F=ie((ye,k)=>{var de=function(){var a=String.fromCharCode,m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",S={};function w(o,n){if(!S[o]){S[o]={};for(var d=0;d<o.length;d++)S[o][o.charAt(d)]=d}return S[o][n]}var P={compressToBase64:function(o){if(o==null)return"";var n=P._compress(o,6,function(d){return m.charAt(d)});switch(n.length%4){default:case 0:return n;case 1:return n+"===";case 2:return n+"==";case 3:return n+"="}},decompressFromBase64:function(o){return o==null?"":o==""?null:P._decompress(o.length,32,function(n){return w(m,o.charAt(n))})},compressToUTF16:function(o){return o==null?"":P._compress(o,15,function(n){return a(n+32)})+" "},decompressFromUTF16:function(o){return o==null?"":o==""?null:P._decompress(o.length,16384,function(n){return o.charCodeAt(n)-32})},compressToUint8Array:function(o){for(var n=P.compress(o),d=new Uint8Array(n.length*2),r=0,i=n.length;r<i;r++){var h=n.charCodeAt(r);d[r*2]=h>>>8,d[r*2+1]=h%256}return d},decompressFromUint8Array:function(o){if(o==null)return P.decompress(o);for(var n=new Array(o.length/2),d=0,r=n.length;d<r;d++)n[d]=o[d*2]*256+o[d*2+1];var i=[];return n.forEach(function(h){i.push(a(h))}),P.decompress(i.join(""))},compressToEncodedURIComponent:function(o){return o==null?"":P._compress(o,6,function(n){return b.charAt(n)})},decompressFromEncodedURIComponent:function(o){return o==null?"":o==""?null:(o=o.replace(/ /g,"+"),P._decompress(o.length,32,function(n){return w(b,o.charAt(n))}))},compress:function(o){return P._compress(o,16,function(n){return a(n)})},_compress:function(o,n,d){if(o==null)return"";var r,i,h={},f={},g="",A="",v="",x=2,U=3,l=2,p=[],t=0,e=0,E;for(E=0;E<o.length;E+=1)if(g=o.charAt(E),Object.prototype.hasOwnProperty.call(h,g)||(h[g]=U++,f[g]=!0),A=v+g,Object.prototype.hasOwnProperty.call(h,A))v=A;else{if(Object.prototype.hasOwnProperty.call(f,v)){if(v.charCodeAt(0)<256){for(r=0;r<l;r++)t=t<<1,e==n-1?(e=0,p.push(d(t)),t=0):e++;for(i=v.charCodeAt(0),r=0;r<8;r++)t=t<<1|i&1,e==n-1?(e=0,p.push(d(t)),t=0):e++,i=i>>1}else{for(i=1,r=0;r<l;r++)t=t<<1|i,e==n-1?(e=0,p.push(d(t)),t=0):e++,i=0;for(i=v.charCodeAt(0),r=0;r<16;r++)t=t<<1|i&1,e==n-1?(e=0,p.push(d(t)),t=0):e++,i=i>>1}x--,x==0&&(x=Math.pow(2,l),l++),delete f[v]}else for(i=h[v],r=0;r<l;r++)t=t<<1|i&1,e==n-1?(e=0,p.push(d(t)),t=0):e++,i=i>>1;x--,x==0&&(x=Math.pow(2,l),l++),h[A]=U++,v=String(g)}if(v!==""){if(Object.prototype.hasOwnProperty.call(f,v)){if(v.charCodeAt(0)<256){for(r=0;r<l;r++)t=t<<1,e==n-1?(e=0,p.push(d(t)),t=0):e++;for(i=v.charCodeAt(0),r=0;r<8;r++)t=t<<1|i&1,e==n-1?(e=0,p.push(d(t)),t=0):e++,i=i>>1}else{for(i=1,r=0;r<l;r++)t=t<<1|i,e==n-1?(e=0,p.push(d(t)),t=0):e++,i=0;for(i=v.charCodeAt(0),r=0;r<16;r++)t=t<<1|i&1,e==n-1?(e=0,p.push(d(t)),t=0):e++,i=i>>1}x--,x==0&&(x=Math.pow(2,l),l++),delete f[v]}else for(i=h[v],r=0;r<l;r++)t=t<<1|i&1,e==n-1?(e=0,p.push(d(t)),t=0):e++,i=i>>1;x--,x==0&&(x=Math.pow(2,l),l++)}for(i=2,r=0;r<l;r++)t=t<<1|i&1,e==n-1?(e=0,p.push(d(t)),t=0):e++,i=i>>1;for(;;)if(t=t<<1,e==n-1){p.push(d(t));break}else e++;return p.join("")},decompress:function(o){return o==null?"":o==""?null:P._decompress(o.length,32768,function(n){return o.charCodeAt(n)})},_decompress:function(o,n,d){var r=[],i,h=4,f=4,g=3,A="",v=[],x,U,l,p,t,e,E,c={val:d(0),position:n,index:1};for(x=0;x<3;x+=1)r[x]=x;for(l=0,t=Math.pow(2,2),e=1;e!=t;)p=c.val&c.position,c.position>>=1,c.position==0&&(c.position=n,c.val=d(c.index++)),l|=(p>0?1:0)*e,e<<=1;switch(i=l){case 0:for(l=0,t=Math.pow(2,8),e=1;e!=t;)p=c.val&c.position,c.position>>=1,c.position==0&&(c.position=n,c.val=d(c.index++)),l|=(p>0?1:0)*e,e<<=1;E=a(l);break;case 1:for(l=0,t=Math.pow(2,16),e=1;e!=t;)p=c.val&c.position,c.position>>=1,c.position==0&&(c.position=n,c.val=d(c.index++)),l|=(p>0?1:0)*e,e<<=1;E=a(l);break;case 2:return""}for(r[3]=E,U=E,v.push(E);;){if(c.index>o)return"";for(l=0,t=Math.pow(2,g),e=1;e!=t;)p=c.val&c.position,c.position>>=1,c.position==0&&(c.position=n,c.val=d(c.index++)),l|=(p>0?1:0)*e,e<<=1;switch(E=l){case 0:for(l=0,t=Math.pow(2,8),e=1;e!=t;)p=c.val&c.position,c.position>>=1,c.position==0&&(c.position=n,c.val=d(c.index++)),l|=(p>0?1:0)*e,e<<=1;r[f++]=a(l),E=f-1,h--;break;case 1:for(l=0,t=Math.pow(2,16),e=1;e!=t;)p=c.val&c.position,c.position>>=1,c.position==0&&(c.position=n,c.val=d(c.index++)),l|=(p>0?1:0)*e,e<<=1;r[f++]=a(l),E=f-1,h--;break;case 2:return v.join("")}if(h==0&&(h=Math.pow(2,g),g++),r[E])A=r[E];else if(E===f)A=U+U.charAt(0);else return null;v.push(A),r[f++]=U+A.charAt(0),h--,U=A,h==0&&(h=Math.pow(2,g),g++)}}};return P}();typeof k!="undefined"&&k!=null&&(k.exports=de)});var pe={};ae(pe,{createPlayground:()=>Y,getPlaygroundUrl:()=>fe});module.exports=ce(pe);var I=le(F());async function Y(a,m={}){typeof a=="object"&&!(a instanceof HTMLElement)&&a.view==="headless"&&(m=a,a=null);let{appUrl:b="https://livecodes.io/",params:S={},config:w={},import:P,headless:o,lite:n,loading:d="lazy",template:r,view:i}=m,h=o||i==="headless",f=null;if(typeof a=="string")f=document.querySelector(a);else if(a instanceof HTMLElement)f=a;else if(!(h&&typeof a=="object"))throw new Error("A valid container element is required.");if(!f)if(h)f=document.createElement("div"),W(f),document.body.appendChild(f);else throw new Error(`Cannot find element: "${a}"`);let g;try{g=new URL(b)}catch(s){throw new Error(`"${b}" is not a valid URL.`)}let A=g.origin;if(S&&typeof S=="object")try{g.searchParams.set("params",(0,I.compressToEncodedURIComponent)(JSON.stringify(S)))}catch(s){Object.keys(S).forEach(y=>{g.searchParams.set(y,encodeURIComponent(String(S[y])))})}if(r&&g.searchParams.set("template",r),P&&g.searchParams.set("x",encodeURIComponent(P)),h&&g.searchParams.set("headless","true"),n&&(console.warn(`Deprecation notice: "lite" option is deprecated. Use "config: { mode: 'lite' }" instead.`),typeof w=="object"&&w.mode==null?w.mode="lite":g.searchParams.set("lite","true")),i&&(console.warn('Deprecation notice: The "view" option has been moved to "config.view". For headless mode use "headless: true".'),typeof w=="object"&&w.view==null&&i!=="headless"?w.view=i:g.searchParams.set("view",i)),typeof w=="string")try{new URL(w),g.searchParams.set("config",encodeURIComponent(w))}catch(s){throw new Error('"config" is not a valid URL or configuration object.')}else if(typeof w=="object")Object.keys(w).length>0&&g.searchParams.set("config","sdk");else throw new Error('"config" is not a valid URL or configuration object.');g.searchParams.set("embed","true"),g.searchParams.set("loading",h?"eager":d);let v=!1,x="Cannot call API methods after calling `destroy()`.",l=await new Promise(s=>{var C,O,R,H,j,B,q,N,Q;if(!f)return;let y=f.dataset.height||f.style.height;if(y&&!h){let D=isNaN(Number(y))?y:y+"px";f.style.height=D}f.dataset.defaultStyles!=="false"&&!h&&((C=f.style).backgroundColor||(C.backgroundColor="#fff"),(O=f.style).border||(O.border="1px solid black"),(R=f.style).borderRadius||(R.borderRadius="8px"),(H=f.style).boxSizing||(H.boxSizing="border-box"),(j=f.style).padding||(j.padding="0"),(B=f.style).width||(B.width="100%"),(q=f.style).height||(q.height=f.style.height||"300px"),f.style.minHeight="200px",f.style.flexGrow="1",(N=f.style).overflow||(N.overflow="hidden"),(Q=f.style).resize||(Q.resize="vertical"));let L="livecodes",M=f.querySelector(`iframe.${L}`),u=M||document.createElement("iframe");u.classList.add(L),u.setAttribute("allow","accelerometer; camera; encrypted-media; display-capture; geolocation; gyroscope; microphone; midi; clipboard-read; clipboard-write; web-share"),u.setAttribute("allowtransparency","true"),u.setAttribute("allowpaymentrequest","true"),u.setAttribute("allowfullscreen","true"),u.setAttribute("sandbox","allow-same-origin allow-downloads allow-forms allow-modals allow-orientation-lock allow-pointer-lock allow-popups allow-presentation allow-scripts");let T=d==="eager"?"eager":"lazy";u.setAttribute("loading",T),h?W(u):(u.style.height="100%",u.style.minHeight="200px",u.style.width="100%",u.style.margin="0",u.style.border="0",u.style.borderRadius=f.style.borderRadius),addEventListener("message",function D(K){var Z,$;K.source!==u.contentWindow||K.origin!==A||((Z=K.data)==null?void 0:Z.type)!=="livecodes-get-config"||(removeEventListener("message",D),($=u.contentWindow)==null||$.postMessage({type:"livecodes-config",payload:w},A))}),u.onload=()=>{s(u)},u.src=g.href,M||f.appendChild(u)}),p=new Promise(s=>{addEventListener("message",function y(L){var M;L.source!==l.contentWindow||L.origin!==A||((M=L.data)==null?void 0:M.type)!=="livecodes-ready"||(removeEventListener("message",y),s(),p.settled=!0)})}),t=()=>v?Promise.reject(x):new Promise(async s=>{var L;p.settled&&s();let y={type:"livecodes-load"};(L=l.contentWindow)==null||L.postMessage(y,A),await p,s()}),e=(s,y)=>new Promise(async(L,M)=>{var T;if(v)return M(x);await t();let u=ee();addEventListener("message",function C(O){var R,H;if(!(O.source!==l.contentWindow||O.origin!==A||((R=O.data)==null?void 0:R.type)!=="livecodes-api-response"||((H=O.data)==null?void 0:H.id)!==u)&&O.data.method===s){removeEventListener("message",C);let j=O.data.payload;j!=null&&j.error?M(j.error):L(j)}}),(T=l.contentWindow)==null||T.postMessage({method:s,id:u,args:y},A)}),E={},c=["load","ready","code","console","tests","destroy"],z=(s,y)=>{var L;if(v)throw new Error(x);return c.includes(s)?(e("watch",[s]),E[s]||(E[s]=[]),(L=E[s])==null||L.push(y),{remove:()=>{var M,u;E[s]=(M=E[s])==null?void 0:M.filter(T=>T!==y),((u=E[s])==null?void 0:u.length)===0&&e("watch",[s,"unsubscribe"])}}):{remove:()=>{}}},V=s=>({"livecodes-app-loaded":"load","livecodes-ready":"ready","livecodes-change":"code","livecodes-console":"console","livecodes-test-results":"tests","livecodes-destroy":"destroy"})[s];addEventListener("message",async s=>{var M,u,T,C;let y=V((u=(M=s.data)==null?void 0:M.type)!=null?u:"");if(s.source!==l.contentWindow||s.origin!==A||!y||!E[y])return;let L=(T=s.data)==null?void 0:T.payload;(C=E[y])==null||C.forEach(O=>{O(L)})});let J=()=>{var s;Object.values(E).forEach(y=>{y.length=0}),(s=l==null?void 0:l.remove)==null||s.call(l),v=!0};d==="lazy"&&"IntersectionObserver"in window&&new IntersectionObserver((y,L)=>{y.forEach(async M=>{M.isIntersecting&&(await t(),L.unobserve(f))})},{rootMargin:"150px"}).observe(f);function W(s){s.style.position="absolute",s.style.top="0",s.style.visibility="hidden",s.style.opacity="0"}let ee=()=>(String(Math.random())+Date.now().toFixed()).replace("0.","");return{load:()=>t(),run:()=>e("run"),format:s=>e("format",[s]),getShareUrl:s=>e("getShareUrl",[s]),getConfig:s=>e("getConfig",[s]),setConfig:s=>e("setConfig",[s]),getCode:()=>e("getCode"),show:(s,y)=>e("show",[s,y]),runTests:()=>e("runTests"),onChange:s=>z("code",s),watch:z,exec:(s,...y)=>e("exec",[s,...y]),destroy:()=>p.settled?e("destroy").then(J):v?Promise.reject(x):(J(),Promise.resolve())}}function fe(a={}){let{appUrl:m,params:b,config:S,import:w,...P}=a,o=typeof S=="string"?{config:S}:S&&typeof S=="object"&&Object.keys(S).length?{x:"code/"+(0,I.compressToEncodedURIComponent)(JSON.stringify(S))}:{},n;if(b&&typeof b=="object")try{n=(0,I.compressToEncodedURIComponent)(JSON.stringify(b))}catch(r){Object.keys(b).forEach(i=>{b[i]=encodeURIComponent(String(b[i]))})}let d=new URLSearchParams(JSON.parse(JSON.stringify({...P,...n?{params:n}:b,x:w,...o}))).toString();return(m||"https://livecodes.io")+(d?"?"+d:"")}var X;globalThis.document&&document.currentScript&&"prefill"in((X=document.currentScript)==null?void 0:X.dataset)&&window.addEventListener("load",()=>{document.querySelectorAll(".livecodes").forEach(a=>{let m,b=a.dataset.options;if(b)try{m=JSON.parse(b)}catch(o){}let S,w=a.dataset.config||a.dataset.prefill;if(w)try{S=JSON.parse(w)}catch(o){}let P=encodeURIComponent(a.outerHTML);a.innerHTML="",Y(a,{import:"dom/"+P,...m,...S?{config:S}:{}})})}); | ||
| "use strict";var V=Object.create;var D=Object.defineProperty;var ee=Object.getOwnPropertyDescriptor;var te=Object.getOwnPropertyNames;var ne=Object.getPrototypeOf,oe=Object.prototype.hasOwnProperty;var se=(c,h)=>()=>(h||c((h={exports:{}}).exports,h),h.exports),re=(c,h)=>{for(var E in h)D(c,E,{get:h[E],enumerable:!0})},G=(c,h,E,p)=>{if(h&&typeof h=="object"||typeof h=="function")for(let M of te(h))!oe.call(c,M)&&M!==E&&D(c,M,{get:()=>h[M],enumerable:!(p=ee(h,M))||p.enumerable});return c};var ie=(c,h,E)=>(E=c!=null?V(ne(c)):{},G(h||!c||!c.__esModule?D(E,"default",{value:c,enumerable:!0}):E,c)),ae=c=>G(D({},"__esModule",{value:!0}),c);var X=se((ue,K)=>{var le=function(){var c=String.fromCharCode,h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",p={};function M(o,e){if(!p[o]){p[o]={};for(var l=0;l<o.length;l++)p[o][o.charAt(l)]=l}return p[o][e]}var x={compressToBase64:function(o){if(o==null)return"";var e=x._compress(o,6,function(l){return h.charAt(l)});switch(e.length%4){default:case 0:return e;case 1:return e+"===";case 2:return e+"==";case 3:return e+"="}},decompressFromBase64:function(o){return o==null?"":o==""?null:x._decompress(o.length,32,function(e){return M(h,o.charAt(e))})},compressToUTF16:function(o){return o==null?"":x._compress(o,15,function(e){return c(e+32)})+" "},decompressFromUTF16:function(o){return o==null?"":o==""?null:x._decompress(o.length,16384,function(e){return o.charCodeAt(e)-32})},compressToUint8Array:function(o){for(var e=x.compress(o),l=new Uint8Array(e.length*2),t=0,r=e.length;t<r;t++){var m=e.charCodeAt(t);l[t*2]=m>>>8,l[t*2+1]=m%256}return l},decompressFromUint8Array:function(o){if(o==null)return x.decompress(o);for(var e=new Array(o.length/2),l=0,t=e.length;l<t;l++)e[l]=o[l*2]*256+o[l*2+1];var r=[];return e.forEach(function(m){r.push(c(m))}),x.decompress(r.join(""))},compressToEncodedURIComponent:function(o){return o==null?"":x._compress(o,6,function(e){return E.charAt(e)})},decompressFromEncodedURIComponent:function(o){return o==null?"":o==""?null:(o=o.replace(/ /g,"+"),x._decompress(o.length,32,function(e){return M(E,o.charAt(e))}))},compress:function(o){return x._compress(o,16,function(e){return c(e)})},_compress:function(o,e,l){if(o==null)return"";var t,r,m={},w={},v="",L="",b="",y=2,O=3,f=2,d=[],n=0,s=0,S;for(S=0;S<o.length;S+=1)if(v=o.charAt(S),Object.prototype.hasOwnProperty.call(m,v)||(m[v]=O++,w[v]=!0),L=b+v,Object.prototype.hasOwnProperty.call(m,L))b=L;else{if(Object.prototype.hasOwnProperty.call(w,b)){if(b.charCodeAt(0)<256){for(t=0;t<f;t++)n=n<<1,s==e-1?(s=0,d.push(l(n)),n=0):s++;for(r=b.charCodeAt(0),t=0;t<8;t++)n=n<<1|r&1,s==e-1?(s=0,d.push(l(n)),n=0):s++,r=r>>1}else{for(r=1,t=0;t<f;t++)n=n<<1|r,s==e-1?(s=0,d.push(l(n)),n=0):s++,r=0;for(r=b.charCodeAt(0),t=0;t<16;t++)n=n<<1|r&1,s==e-1?(s=0,d.push(l(n)),n=0):s++,r=r>>1}y--,y==0&&(y=Math.pow(2,f),f++),delete w[b]}else for(r=m[b],t=0;t<f;t++)n=n<<1|r&1,s==e-1?(s=0,d.push(l(n)),n=0):s++,r=r>>1;y--,y==0&&(y=Math.pow(2,f),f++),m[L]=O++,b=String(v)}if(b!==""){if(Object.prototype.hasOwnProperty.call(w,b)){if(b.charCodeAt(0)<256){for(t=0;t<f;t++)n=n<<1,s==e-1?(s=0,d.push(l(n)),n=0):s++;for(r=b.charCodeAt(0),t=0;t<8;t++)n=n<<1|r&1,s==e-1?(s=0,d.push(l(n)),n=0):s++,r=r>>1}else{for(r=1,t=0;t<f;t++)n=n<<1|r,s==e-1?(s=0,d.push(l(n)),n=0):s++,r=0;for(r=b.charCodeAt(0),t=0;t<16;t++)n=n<<1|r&1,s==e-1?(s=0,d.push(l(n)),n=0):s++,r=r>>1}y--,y==0&&(y=Math.pow(2,f),f++),delete w[b]}else for(r=m[b],t=0;t<f;t++)n=n<<1|r&1,s==e-1?(s=0,d.push(l(n)),n=0):s++,r=r>>1;y--,y==0&&(y=Math.pow(2,f),f++)}for(r=2,t=0;t<f;t++)n=n<<1|r&1,s==e-1?(s=0,d.push(l(n)),n=0):s++,r=r>>1;for(;;)if(n=n<<1,s==e-1){d.push(l(n));break}else s++;return d.join("")},decompress:function(o){return o==null?"":o==""?null:x._decompress(o.length,32768,function(e){return o.charCodeAt(e)})},_decompress:function(o,e,l){var t=[],r,m=4,w=4,v=3,L="",b=[],y,O,f,d,n,s,S,a={val:l(0),position:e,index:1};for(y=0;y<3;y+=1)t[y]=y;for(f=0,n=Math.pow(2,2),s=1;s!=n;)d=a.val&a.position,a.position>>=1,a.position==0&&(a.position=e,a.val=l(a.index++)),f|=(d>0?1:0)*s,s<<=1;switch(r=f){case 0:for(f=0,n=Math.pow(2,8),s=1;s!=n;)d=a.val&a.position,a.position>>=1,a.position==0&&(a.position=e,a.val=l(a.index++)),f|=(d>0?1:0)*s,s<<=1;S=c(f);break;case 1:for(f=0,n=Math.pow(2,16),s=1;s!=n;)d=a.val&a.position,a.position>>=1,a.position==0&&(a.position=e,a.val=l(a.index++)),f|=(d>0?1:0)*s,s<<=1;S=c(f);break;case 2:return""}for(t[3]=S,O=S,b.push(S);;){if(a.index>o)return"";for(f=0,n=Math.pow(2,v),s=1;s!=n;)d=a.val&a.position,a.position>>=1,a.position==0&&(a.position=e,a.val=l(a.index++)),f|=(d>0?1:0)*s,s<<=1;switch(S=f){case 0:for(f=0,n=Math.pow(2,8),s=1;s!=n;)d=a.val&a.position,a.position>>=1,a.position==0&&(a.position=e,a.val=l(a.index++)),f|=(d>0?1:0)*s,s<<=1;t[w++]=c(f),S=w-1,m--;break;case 1:for(f=0,n=Math.pow(2,16),s=1;s!=n;)d=a.val&a.position,a.position>>=1,a.position==0&&(a.position=e,a.val=l(a.index++)),f|=(d>0?1:0)*s,s<<=1;t[w++]=c(f),S=w-1,m--;break;case 2:return b.join("")}if(m==0&&(m=Math.pow(2,v),v++),t[S])L=t[S];else if(S===w)L=O+O.charAt(0);else return null;b.push(L),t[w++]=O+L.charAt(0),m--,O=L,m==0&&(m=Math.pow(2,v),v++)}}};return x}();typeof K!="undefined"&&K!=null&&(K.exports=le)});var de={};re(de,{createPlayground:()=>ce,getPlaygroundUrl:()=>Y});module.exports=ae(de);var W=ie(X());async function ce(c,h={}){var q;typeof c=="object"&&!(c instanceof HTMLElement)&&(c.headless||c.view==="headless")&&(h=c,c=null);let{config:E={},headless:p,loading:M="lazy",view:x}=h,o=p||x==="headless",e=null,l=null;if(typeof c=="string")e=document.querySelector(c);else if(c instanceof HTMLElement)e=c;else if(!(o&&typeof c=="object"))throw new Error("A valid container element is required.");if(!e)if(o)e=document.createElement("div"),B(e),document.body.appendChild(e);else throw new Error(`Cannot find element: "${c}"`);let t=new URL(Y(h)),r=t.origin;t.searchParams.set("embed","true"),t.searchParams.set("loading",o?"eager":M);let m=globalThis.process;t.searchParams.set("sdkVersion",((q=m==null?void 0:m.env)==null?void 0:q.SDK_VERSION)||"latest"),typeof E=="object"&&Object.keys(E).length>0&&t.searchParams.set("config","sdk");let w=h.params;typeof w=="object"&&Object.keys(w).length>0&&JSON.stringify(w).length<1800&&Object.keys(w).forEach(i=>{t.searchParams.set(i,encodeURIComponent(String(w[i])))});let v=!1,L="Cannot call API methods after calling `destroy()`.",y=await new Promise(i=>{var R,U,H,k,T,J,N,Q,Z;if(!e)return;let g=e.dataset.height||e.style.height;if(g&&!o){let _=isNaN(Number(g))?g:g+"px";e.style.height=_}e.dataset.defaultStyles!=="false"&&!o&&((R=e.style).backgroundColor||(R.backgroundColor="#fff"),(U=e.style).border||(U.border="1px solid black"),(H=e.style).borderRadius||(H.borderRadius="8px"),(k=e.style).boxSizing||(k.boxSizing="border-box"),(T=e.style).padding||(T.padding="0"),(J=e.style).width||(J.width="100%"),(N=e.style).height||(N.height=e.style.height||"300px"),e.style.minHeight="200px",e.style.flexGrow="1",(Q=e.style).overflow||(Q.overflow="hidden"),(Z=e.style).resize||(Z.resize="vertical"));let P="livecodes",A=e.querySelector(`iframe.${P}`),u=A||document.createElement("iframe");u.classList.add(P),u.setAttribute("allow","accelerometer; camera; encrypted-media; display-capture; geolocation; gyroscope; microphone; midi; clipboard-read; clipboard-write; web-share"),u.setAttribute("allowtransparency","true"),u.setAttribute("allowpaymentrequest","true"),u.setAttribute("allowfullscreen","true"),u.setAttribute("sandbox","allow-same-origin allow-downloads allow-forms allow-modals allow-orientation-lock allow-pointer-lock allow-popups allow-presentation allow-scripts");let j=M==="eager"?"eager":"lazy";u.setAttribute("loading",j),o?B(u):(u.style.height="100%",u.style.minHeight="200px",u.style.width="100%",u.style.margin="0",u.style.border="0",u.style.borderRadius=e.style.borderRadius),addEventListener("message",function _(C){var I;C.source!==u.contentWindow||C.origin!==r||((I=C.data)==null?void 0:I.type)!=="livecodes-init"||(removeEventListener("message",_),l=Number(C.data.payload.appVersion.replace(/^v/,"")))}),(!l||l<46)&&addEventListener("message",function _(C){var I,$;C.source!==u.contentWindow||C.origin!==r||((I=C.data)==null?void 0:I.type)!=="livecodes-get-config"||(removeEventListener("message",_),($=u.contentWindow)==null||$.postMessage({type:"livecodes-config",payload:E},r))}),u.onload=()=>{i(u)},u.src=t.href,A||e.appendChild(u)}),O=new Promise(i=>{addEventListener("message",function g(P){var A;P.source!==y.contentWindow||P.origin!==r||((A=P.data)==null?void 0:A.type)!=="livecodes-ready"||(removeEventListener("message",g),i(),O.settled=!0)})}),f=()=>v?Promise.reject(L):new Promise(async i=>{var P;O.settled&&i();let g={type:"livecodes-load"};(P=y.contentWindow)==null||P.postMessage(g,r),await O,i()}),d=(i,g)=>new Promise(async(P,A)=>{var j;if(v)return A(L);await f();let u=F();addEventListener("message",function R(U){var H,k;if(!(U.source!==y.contentWindow||U.origin!==r||((H=U.data)==null?void 0:H.type)!=="livecodes-api-response"||((k=U.data)==null?void 0:k.id)!==u)&&U.data.method===i){removeEventListener("message",R);let T=U.data.payload;T!=null&&T.error?A(T.error):P(T)}}),(j=y.contentWindow)==null||j.postMessage({method:i,id:u,args:g},r)}),n={},s=["load","ready","code","console","tests","destroy"],S=(i,g)=>{var P;if(v)throw new Error(L);return s.includes(i)?(d("watch",[i]),n[i]||(n[i]=[]),(P=n[i])==null||P.push(g),{remove:()=>{var A,u;n[i]=(A=n[i])==null?void 0:A.filter(j=>j!==g),((u=n[i])==null?void 0:u.length)===0&&d("watch",[i,"unsubscribe"])}}):{remove:()=>{}}},a=i=>({"livecodes-app-loaded":"load","livecodes-ready":"ready","livecodes-change":"code","livecodes-console":"console","livecodes-test-results":"tests","livecodes-destroy":"destroy"})[i];addEventListener("message",async i=>{var A,u,j,R;let g=a((u=(A=i.data)==null?void 0:A.type)!=null?u:"");if(i.source!==y.contentWindow||i.origin!==r||!g||!n[g])return;let P=(j=i.data)==null?void 0:j.payload;(R=n[g])==null||R.forEach(U=>{U(P)})});let z=()=>{var i;Object.values(n).forEach(g=>{g.length=0}),(i=y==null?void 0:y.remove)==null||i.call(y),v=!0};M==="lazy"&&"IntersectionObserver"in window&&new IntersectionObserver((g,P)=>{g.forEach(async A=>{A.isIntersecting&&(await f(),P.unobserve(e))})},{rootMargin:"150px"}).observe(e);function B(i){i.style.position="absolute",i.style.top="0",i.style.visibility="hidden",i.style.opacity="0"}let F=()=>(String(Math.random())+Date.now().toFixed()).replace("0.","");return{load:()=>f(),run:()=>d("run"),format:i=>d("format",[i]),getShareUrl:i=>d("getShareUrl",[i]),getConfig:i=>d("getConfig",[i]),setConfig:i=>d("setConfig",[i]),getCode:()=>d("getCode"),show:(i,g)=>d("show",[i,g]),runTests:()=>d("runTests"),onChange:i=>S("code",i),watch:S,exec:(i,...g)=>d("exec",[i,...g]),destroy:()=>O.settled?d("destroy").then(z):v?Promise.reject(L):(z(),Promise.resolve())}}function Y(c={}){let{appUrl:h="https://livecodes.io",params:E={},config:p={},headless:M,import:x,lite:o,view:e,...l}=c,t;try{t=new URL(h)}catch(w){throw new Error(`${h} is not a valid URL.`)}let r=new URLSearchParams;Object.entries(l).forEach(([w,v])=>{v!==void 0&&t.searchParams.set(w,String(v))});let m=c.view==="headless"||M;if(o&&(console.warn(`Deprecation notice: "lite" option is deprecated. Use "config: { mode: 'lite' }" instead.`),typeof p=="object"&&p.mode==null?p.mode="lite":t.searchParams.set("lite","true")),e&&(console.warn('Deprecation notice: The "view" option has been moved to "config.view". For headless mode use "headless: true".'),typeof p=="object"&&p.view==null&&e!=="headless"?p.view=e:t.searchParams.set("view",e)),typeof p=="string")try{new URL(p),t.searchParams.set("config",encodeURIComponent(p))}catch(w){throw new Error('"config" is not a valid URL or configuration object.')}else p&&typeof p=="object"&&Object.keys(p).length>0&&(p.title&&p.title!=="Untitled Project"&&t.searchParams.set("title",p.title),p.description&&p.description.length>0&&t.searchParams.set("description",p.description),r.set("config","code/"+(0,W.compressToEncodedURIComponent)(JSON.stringify(p))));if(E&&typeof E=="object"&&Object.keys(E).length>0)try{r.set("params",(0,W.compressToEncodedURIComponent)(JSON.stringify(E)))}catch(w){Object.keys(E).forEach(v=>{t.searchParams.set(v,encodeURIComponent(String(E[v])))})}return x&&t.searchParams.set("x",encodeURIComponent(x)),m&&t.searchParams.set("headless","true"),t.hash=r.toString(),t.href} |
+1
-1
@@ -1,1 +0,1 @@ | ||
| var V=Object.create;var $=Object.defineProperty;var ee=Object.getOwnPropertyDescriptor;var te=Object.getOwnPropertyNames;var oe=Object.getPrototypeOf,ne=Object.prototype.hasOwnProperty;var re=(d,E)=>()=>(E||d((E={exports:{}}).exports,E),E.exports);var se=(d,E,x,b)=>{if(E&&typeof E=="object"||typeof E=="function")for(let g of te(E))!ne.call(d,g)&&g!==x&&$(d,g,{get:()=>E[g],enumerable:!(b=ee(E,g))||b.enumerable});return d};var ie=(d,E,x)=>(x=d!=null?V(oe(d)):{},se(E||!d||!d.__esModule?$(x,"default",{value:d,enumerable:!0}):x,d));var G=re((de,_)=>{var ae=function(){var d=String.fromCharCode,E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",x="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",b={};function g(o,n){if(!b[o]){b[o]={};for(var c=0;c<o.length;c++)b[o][o.charAt(c)]=c}return b[o][n]}var P={compressToBase64:function(o){if(o==null)return"";var n=P._compress(o,6,function(c){return E.charAt(c)});switch(n.length%4){default:case 0:return n;case 1:return n+"===";case 2:return n+"==";case 3:return n+"="}},decompressFromBase64:function(o){return o==null?"":o==""?null:P._decompress(o.length,32,function(n){return g(E,o.charAt(n))})},compressToUTF16:function(o){return o==null?"":P._compress(o,15,function(n){return d(n+32)})+" "},decompressFromUTF16:function(o){return o==null?"":o==""?null:P._decompress(o.length,16384,function(n){return o.charCodeAt(n)-32})},compressToUint8Array:function(o){for(var n=P.compress(o),c=new Uint8Array(n.length*2),r=0,i=n.length;r<i;r++){var m=n.charCodeAt(r);c[r*2]=m>>>8,c[r*2+1]=m%256}return c},decompressFromUint8Array:function(o){if(o==null)return P.decompress(o);for(var n=new Array(o.length/2),c=0,r=n.length;c<r;c++)n[c]=o[c*2]*256+o[c*2+1];var i=[];return n.forEach(function(m){i.push(d(m))}),P.decompress(i.join(""))},compressToEncodedURIComponent:function(o){return o==null?"":P._compress(o,6,function(n){return x.charAt(n)})},decompressFromEncodedURIComponent:function(o){return o==null?"":o==""?null:(o=o.replace(/ /g,"+"),P._decompress(o.length,32,function(n){return g(x,o.charAt(n))}))},compress:function(o){return P._compress(o,16,function(n){return d(n)})},_compress:function(o,n,c){if(o==null)return"";var r,i,m={},f={},h="",A="",w="",S=2,U=3,a=2,p=[],t=0,e=0,v;for(v=0;v<o.length;v+=1)if(h=o.charAt(v),Object.prototype.hasOwnProperty.call(m,h)||(m[h]=U++,f[h]=!0),A=w+h,Object.prototype.hasOwnProperty.call(m,A))w=A;else{if(Object.prototype.hasOwnProperty.call(f,w)){if(w.charCodeAt(0)<256){for(r=0;r<a;r++)t=t<<1,e==n-1?(e=0,p.push(c(t)),t=0):e++;for(i=w.charCodeAt(0),r=0;r<8;r++)t=t<<1|i&1,e==n-1?(e=0,p.push(c(t)),t=0):e++,i=i>>1}else{for(i=1,r=0;r<a;r++)t=t<<1|i,e==n-1?(e=0,p.push(c(t)),t=0):e++,i=0;for(i=w.charCodeAt(0),r=0;r<16;r++)t=t<<1|i&1,e==n-1?(e=0,p.push(c(t)),t=0):e++,i=i>>1}S--,S==0&&(S=Math.pow(2,a),a++),delete f[w]}else for(i=m[w],r=0;r<a;r++)t=t<<1|i&1,e==n-1?(e=0,p.push(c(t)),t=0):e++,i=i>>1;S--,S==0&&(S=Math.pow(2,a),a++),m[A]=U++,w=String(h)}if(w!==""){if(Object.prototype.hasOwnProperty.call(f,w)){if(w.charCodeAt(0)<256){for(r=0;r<a;r++)t=t<<1,e==n-1?(e=0,p.push(c(t)),t=0):e++;for(i=w.charCodeAt(0),r=0;r<8;r++)t=t<<1|i&1,e==n-1?(e=0,p.push(c(t)),t=0):e++,i=i>>1}else{for(i=1,r=0;r<a;r++)t=t<<1|i,e==n-1?(e=0,p.push(c(t)),t=0):e++,i=0;for(i=w.charCodeAt(0),r=0;r<16;r++)t=t<<1|i&1,e==n-1?(e=0,p.push(c(t)),t=0):e++,i=i>>1}S--,S==0&&(S=Math.pow(2,a),a++),delete f[w]}else for(i=m[w],r=0;r<a;r++)t=t<<1|i&1,e==n-1?(e=0,p.push(c(t)),t=0):e++,i=i>>1;S--,S==0&&(S=Math.pow(2,a),a++)}for(i=2,r=0;r<a;r++)t=t<<1|i&1,e==n-1?(e=0,p.push(c(t)),t=0):e++,i=i>>1;for(;;)if(t=t<<1,e==n-1){p.push(c(t));break}else e++;return p.join("")},decompress:function(o){return o==null?"":o==""?null:P._decompress(o.length,32768,function(n){return o.charCodeAt(n)})},_decompress:function(o,n,c){var r=[],i,m=4,f=4,h=3,A="",w=[],S,U,a,p,t,e,v,l={val:c(0),position:n,index:1};for(S=0;S<3;S+=1)r[S]=S;for(a=0,t=Math.pow(2,2),e=1;e!=t;)p=l.val&l.position,l.position>>=1,l.position==0&&(l.position=n,l.val=c(l.index++)),a|=(p>0?1:0)*e,e<<=1;switch(i=a){case 0:for(a=0,t=Math.pow(2,8),e=1;e!=t;)p=l.val&l.position,l.position>>=1,l.position==0&&(l.position=n,l.val=c(l.index++)),a|=(p>0?1:0)*e,e<<=1;v=d(a);break;case 1:for(a=0,t=Math.pow(2,16),e=1;e!=t;)p=l.val&l.position,l.position>>=1,l.position==0&&(l.position=n,l.val=c(l.index++)),a|=(p>0?1:0)*e,e<<=1;v=d(a);break;case 2:return""}for(r[3]=v,U=v,w.push(v);;){if(l.index>o)return"";for(a=0,t=Math.pow(2,h),e=1;e!=t;)p=l.val&l.position,l.position>>=1,l.position==0&&(l.position=n,l.val=c(l.index++)),a|=(p>0?1:0)*e,e<<=1;switch(v=a){case 0:for(a=0,t=Math.pow(2,8),e=1;e!=t;)p=l.val&l.position,l.position>>=1,l.position==0&&(l.position=n,l.val=c(l.index++)),a|=(p>0?1:0)*e,e<<=1;r[f++]=d(a),v=f-1,m--;break;case 1:for(a=0,t=Math.pow(2,16),e=1;e!=t;)p=l.val&l.position,l.position>>=1,l.position==0&&(l.position=n,l.val=c(l.index++)),a|=(p>0?1:0)*e,e<<=1;r[f++]=d(a),v=f-1,m--;break;case 2:return w.join("")}if(m==0&&(m=Math.pow(2,h),h++),r[v])A=r[v];else if(v===f)A=U+U.charAt(0);else return null;w.push(A),r[f++]=U+A.charAt(0),m--,U=A,m==0&&(m=Math.pow(2,h),h++)}}};return P}();typeof _!="undefined"&&_!=null&&(_.exports=ae)});var k=ie(G());async function le(d,E={}){typeof d=="object"&&!(d instanceof HTMLElement)&&d.view==="headless"&&(E=d,d=null);let{appUrl:x="https://livecodes.io/",params:b={},config:g={},import:P,headless:o,lite:n,loading:c="lazy",template:r,view:i}=E,m=o||i==="headless",f=null;if(typeof d=="string")f=document.querySelector(d);else if(d instanceof HTMLElement)f=d;else if(!(m&&typeof d=="object"))throw new Error("A valid container element is required.");if(!f)if(m)f=document.createElement("div"),J(f),document.body.appendChild(f);else throw new Error(`Cannot find element: "${d}"`);let h;try{h=new URL(x)}catch(s){throw new Error(`"${x}" is not a valid URL.`)}let A=h.origin;if(b&&typeof b=="object")try{h.searchParams.set("params",(0,k.compressToEncodedURIComponent)(JSON.stringify(b)))}catch(s){Object.keys(b).forEach(y=>{h.searchParams.set(y,encodeURIComponent(String(b[y])))})}if(r&&h.searchParams.set("template",r),P&&h.searchParams.set("x",encodeURIComponent(P)),m&&h.searchParams.set("headless","true"),n&&(console.warn(`Deprecation notice: "lite" option is deprecated. Use "config: { mode: 'lite' }" instead.`),typeof g=="object"&&g.mode==null?g.mode="lite":h.searchParams.set("lite","true")),i&&(console.warn('Deprecation notice: The "view" option has been moved to "config.view". For headless mode use "headless: true".'),typeof g=="object"&&g.view==null&&i!=="headless"?g.view=i:h.searchParams.set("view",i)),typeof g=="string")try{new URL(g),h.searchParams.set("config",encodeURIComponent(g))}catch(s){throw new Error('"config" is not a valid URL or configuration object.')}else if(typeof g=="object")Object.keys(g).length>0&&h.searchParams.set("config","sdk");else throw new Error('"config" is not a valid URL or configuration object.');h.searchParams.set("embed","true"),h.searchParams.set("loading",m?"eager":c);let w=!1,S="Cannot call API methods after calling `destroy()`.",a=await new Promise(s=>{var C,O,R,H,j,W,B,q,N;if(!f)return;let y=f.dataset.height||f.style.height;if(y&&!m){let I=isNaN(Number(y))?y:y+"px";f.style.height=I}f.dataset.defaultStyles!=="false"&&!m&&((C=f.style).backgroundColor||(C.backgroundColor="#fff"),(O=f.style).border||(O.border="1px solid black"),(R=f.style).borderRadius||(R.borderRadius="8px"),(H=f.style).boxSizing||(H.boxSizing="border-box"),(j=f.style).padding||(j.padding="0"),(W=f.style).width||(W.width="100%"),(B=f.style).height||(B.height=f.style.height||"300px"),f.style.minHeight="200px",f.style.flexGrow="1",(q=f.style).overflow||(q.overflow="hidden"),(N=f.style).resize||(N.resize="vertical"));let L="livecodes",M=f.querySelector(`iframe.${L}`),u=M||document.createElement("iframe");u.classList.add(L),u.setAttribute("allow","accelerometer; camera; encrypted-media; display-capture; geolocation; gyroscope; microphone; midi; clipboard-read; clipboard-write; web-share"),u.setAttribute("allowtransparency","true"),u.setAttribute("allowpaymentrequest","true"),u.setAttribute("allowfullscreen","true"),u.setAttribute("sandbox","allow-same-origin allow-downloads allow-forms allow-modals allow-orientation-lock allow-pointer-lock allow-popups allow-presentation allow-scripts");let T=c==="eager"?"eager":"lazy";u.setAttribute("loading",T),m?J(u):(u.style.height="100%",u.style.minHeight="200px",u.style.width="100%",u.style.margin="0",u.style.border="0",u.style.borderRadius=f.style.borderRadius),addEventListener("message",function I(D){var Q,Z;D.source!==u.contentWindow||D.origin!==A||((Q=D.data)==null?void 0:Q.type)!=="livecodes-get-config"||(removeEventListener("message",I),(Z=u.contentWindow)==null||Z.postMessage({type:"livecodes-config",payload:g},A))}),u.onload=()=>{s(u)},u.src=h.href,M||f.appendChild(u)}),p=new Promise(s=>{addEventListener("message",function y(L){var M;L.source!==a.contentWindow||L.origin!==A||((M=L.data)==null?void 0:M.type)!=="livecodes-ready"||(removeEventListener("message",y),s(),p.settled=!0)})}),t=()=>w?Promise.reject(S):new Promise(async s=>{var L;p.settled&&s();let y={type:"livecodes-load"};(L=a.contentWindow)==null||L.postMessage(y,A),await p,s()}),e=(s,y)=>new Promise(async(L,M)=>{var T;if(w)return M(S);await t();let u=Y();addEventListener("message",function C(O){var R,H;if(!(O.source!==a.contentWindow||O.origin!==A||((R=O.data)==null?void 0:R.type)!=="livecodes-api-response"||((H=O.data)==null?void 0:H.id)!==u)&&O.data.method===s){removeEventListener("message",C);let j=O.data.payload;j!=null&&j.error?M(j.error):L(j)}}),(T=a.contentWindow)==null||T.postMessage({method:s,id:u,args:y},A)}),v={},l=["load","ready","code","console","tests","destroy"],K=(s,y)=>{var L;if(w)throw new Error(S);return l.includes(s)?(e("watch",[s]),v[s]||(v[s]=[]),(L=v[s])==null||L.push(y),{remove:()=>{var M,u;v[s]=(M=v[s])==null?void 0:M.filter(T=>T!==y),((u=v[s])==null?void 0:u.length)===0&&e("watch",[s,"unsubscribe"])}}):{remove:()=>{}}},X=s=>({"livecodes-app-loaded":"load","livecodes-ready":"ready","livecodes-change":"code","livecodes-console":"console","livecodes-test-results":"tests","livecodes-destroy":"destroy"})[s];addEventListener("message",async s=>{var M,u,T,C;let y=X((u=(M=s.data)==null?void 0:M.type)!=null?u:"");if(s.source!==a.contentWindow||s.origin!==A||!y||!v[y])return;let L=(T=s.data)==null?void 0:T.payload;(C=v[y])==null||C.forEach(O=>{O(L)})});let z=()=>{var s;Object.values(v).forEach(y=>{y.length=0}),(s=a==null?void 0:a.remove)==null||s.call(a),w=!0};c==="lazy"&&"IntersectionObserver"in window&&new IntersectionObserver((y,L)=>{y.forEach(async M=>{M.isIntersecting&&(await t(),L.unobserve(f))})},{rootMargin:"150px"}).observe(f);function J(s){s.style.position="absolute",s.style.top="0",s.style.visibility="hidden",s.style.opacity="0"}let Y=()=>(String(Math.random())+Date.now().toFixed()).replace("0.","");return{load:()=>t(),run:()=>e("run"),format:s=>e("format",[s]),getShareUrl:s=>e("getShareUrl",[s]),getConfig:s=>e("getConfig",[s]),setConfig:s=>e("setConfig",[s]),getCode:()=>e("getCode"),show:(s,y)=>e("show",[s,y]),runTests:()=>e("runTests"),onChange:s=>K("code",s),watch:K,exec:(s,...y)=>e("exec",[s,...y]),destroy:()=>p.settled?e("destroy").then(z):w?Promise.reject(S):(z(),Promise.resolve())}}function fe(d={}){let{appUrl:E,params:x,config:b,import:g,...P}=d,o=typeof b=="string"?{config:b}:b&&typeof b=="object"&&Object.keys(b).length?{x:"code/"+(0,k.compressToEncodedURIComponent)(JSON.stringify(b))}:{},n;if(x&&typeof x=="object")try{n=(0,k.compressToEncodedURIComponent)(JSON.stringify(x))}catch(r){Object.keys(x).forEach(i=>{x[i]=encodeURIComponent(String(x[i]))})}let c=new URLSearchParams(JSON.parse(JSON.stringify({...P,...n?{params:n}:x,x:g,...o}))).toString();return(E||"https://livecodes.io")+(c?"?"+c:"")}var F;globalThis.document&&document.currentScript&&"prefill"in((F=document.currentScript)==null?void 0:F.dataset)&&window.addEventListener("load",()=>{document.querySelectorAll(".livecodes").forEach(d=>{let E,x=d.dataset.options;if(x)try{E=JSON.parse(x)}catch(o){}let b,g=d.dataset.config||d.dataset.prefill;if(g)try{b=JSON.parse(g)}catch(o){}let P=encodeURIComponent(d.outerHTML);d.innerHTML="",le(d,{import:"dom/"+P,...E,...b?{config:b}:{}})})});export{le as createPlayground,fe as getPlaygroundUrl}; | ||
| var Y=Object.create;var $=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var V=Object.getOwnPropertyNames;var ee=Object.getPrototypeOf,te=Object.prototype.hasOwnProperty;var ne=(f,g)=>()=>(g||f((g={exports:{}}).exports,g),g.exports);var oe=(f,g,b,p)=>{if(g&&typeof g=="object"||typeof g=="function")for(let M of V(g))!te.call(f,M)&&M!==b&&$(f,M,{get:()=>g[M],enumerable:!(p=F(g,M))||p.enumerable});return f};var se=(f,g,b)=>(b=f!=null?Y(ee(f)):{},oe(g||!f||!f.__esModule?$(b,"default",{value:f,enumerable:!0}):b,f));var G=ne((le,D)=>{var re=function(){var f=String.fromCharCode,g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",p={};function M(o,e){if(!p[o]){p[o]={};for(var l=0;l<o.length;l++)p[o][o.charAt(l)]=l}return p[o][e]}var x={compressToBase64:function(o){if(o==null)return"";var e=x._compress(o,6,function(l){return g.charAt(l)});switch(e.length%4){default:case 0:return e;case 1:return e+"===";case 2:return e+"==";case 3:return e+"="}},decompressFromBase64:function(o){return o==null?"":o==""?null:x._decompress(o.length,32,function(e){return M(g,o.charAt(e))})},compressToUTF16:function(o){return o==null?"":x._compress(o,15,function(e){return f(e+32)})+" "},decompressFromUTF16:function(o){return o==null?"":o==""?null:x._decompress(o.length,16384,function(e){return o.charCodeAt(e)-32})},compressToUint8Array:function(o){for(var e=x.compress(o),l=new Uint8Array(e.length*2),t=0,r=e.length;t<r;t++){var h=e.charCodeAt(t);l[t*2]=h>>>8,l[t*2+1]=h%256}return l},decompressFromUint8Array:function(o){if(o==null)return x.decompress(o);for(var e=new Array(o.length/2),l=0,t=e.length;l<t;l++)e[l]=o[l*2]*256+o[l*2+1];var r=[];return e.forEach(function(h){r.push(f(h))}),x.decompress(r.join(""))},compressToEncodedURIComponent:function(o){return o==null?"":x._compress(o,6,function(e){return b.charAt(e)})},decompressFromEncodedURIComponent:function(o){return o==null?"":o==""?null:(o=o.replace(/ /g,"+"),x._decompress(o.length,32,function(e){return M(b,o.charAt(e))}))},compress:function(o){return x._compress(o,16,function(e){return f(e)})},_compress:function(o,e,l){if(o==null)return"";var t,r,h={},w={},v="",L="",E="",y=2,O=3,d=2,c=[],n=0,s=0,S;for(S=0;S<o.length;S+=1)if(v=o.charAt(S),Object.prototype.hasOwnProperty.call(h,v)||(h[v]=O++,w[v]=!0),L=E+v,Object.prototype.hasOwnProperty.call(h,L))E=L;else{if(Object.prototype.hasOwnProperty.call(w,E)){if(E.charCodeAt(0)<256){for(t=0;t<d;t++)n=n<<1,s==e-1?(s=0,c.push(l(n)),n=0):s++;for(r=E.charCodeAt(0),t=0;t<8;t++)n=n<<1|r&1,s==e-1?(s=0,c.push(l(n)),n=0):s++,r=r>>1}else{for(r=1,t=0;t<d;t++)n=n<<1|r,s==e-1?(s=0,c.push(l(n)),n=0):s++,r=0;for(r=E.charCodeAt(0),t=0;t<16;t++)n=n<<1|r&1,s==e-1?(s=0,c.push(l(n)),n=0):s++,r=r>>1}y--,y==0&&(y=Math.pow(2,d),d++),delete w[E]}else for(r=h[E],t=0;t<d;t++)n=n<<1|r&1,s==e-1?(s=0,c.push(l(n)),n=0):s++,r=r>>1;y--,y==0&&(y=Math.pow(2,d),d++),h[L]=O++,E=String(v)}if(E!==""){if(Object.prototype.hasOwnProperty.call(w,E)){if(E.charCodeAt(0)<256){for(t=0;t<d;t++)n=n<<1,s==e-1?(s=0,c.push(l(n)),n=0):s++;for(r=E.charCodeAt(0),t=0;t<8;t++)n=n<<1|r&1,s==e-1?(s=0,c.push(l(n)),n=0):s++,r=r>>1}else{for(r=1,t=0;t<d;t++)n=n<<1|r,s==e-1?(s=0,c.push(l(n)),n=0):s++,r=0;for(r=E.charCodeAt(0),t=0;t<16;t++)n=n<<1|r&1,s==e-1?(s=0,c.push(l(n)),n=0):s++,r=r>>1}y--,y==0&&(y=Math.pow(2,d),d++),delete w[E]}else for(r=h[E],t=0;t<d;t++)n=n<<1|r&1,s==e-1?(s=0,c.push(l(n)),n=0):s++,r=r>>1;y--,y==0&&(y=Math.pow(2,d),d++)}for(r=2,t=0;t<d;t++)n=n<<1|r&1,s==e-1?(s=0,c.push(l(n)),n=0):s++,r=r>>1;for(;;)if(n=n<<1,s==e-1){c.push(l(n));break}else s++;return c.join("")},decompress:function(o){return o==null?"":o==""?null:x._decompress(o.length,32768,function(e){return o.charCodeAt(e)})},_decompress:function(o,e,l){var t=[],r,h=4,w=4,v=3,L="",E=[],y,O,d,c,n,s,S,a={val:l(0),position:e,index:1};for(y=0;y<3;y+=1)t[y]=y;for(d=0,n=Math.pow(2,2),s=1;s!=n;)c=a.val&a.position,a.position>>=1,a.position==0&&(a.position=e,a.val=l(a.index++)),d|=(c>0?1:0)*s,s<<=1;switch(r=d){case 0:for(d=0,n=Math.pow(2,8),s=1;s!=n;)c=a.val&a.position,a.position>>=1,a.position==0&&(a.position=e,a.val=l(a.index++)),d|=(c>0?1:0)*s,s<<=1;S=f(d);break;case 1:for(d=0,n=Math.pow(2,16),s=1;s!=n;)c=a.val&a.position,a.position>>=1,a.position==0&&(a.position=e,a.val=l(a.index++)),d|=(c>0?1:0)*s,s<<=1;S=f(d);break;case 2:return""}for(t[3]=S,O=S,E.push(S);;){if(a.index>o)return"";for(d=0,n=Math.pow(2,v),s=1;s!=n;)c=a.val&a.position,a.position>>=1,a.position==0&&(a.position=e,a.val=l(a.index++)),d|=(c>0?1:0)*s,s<<=1;switch(S=d){case 0:for(d=0,n=Math.pow(2,8),s=1;s!=n;)c=a.val&a.position,a.position>>=1,a.position==0&&(a.position=e,a.val=l(a.index++)),d|=(c>0?1:0)*s,s<<=1;t[w++]=f(d),S=w-1,h--;break;case 1:for(d=0,n=Math.pow(2,16),s=1;s!=n;)c=a.val&a.position,a.position>>=1,a.position==0&&(a.position=e,a.val=l(a.index++)),d|=(c>0?1:0)*s,s<<=1;t[w++]=f(d),S=w-1,h--;break;case 2:return E.join("")}if(h==0&&(h=Math.pow(2,v),v++),t[S])L=t[S];else if(S===w)L=O+O.charAt(0);else return null;E.push(L),t[w++]=O+L.charAt(0),h--,O=L,h==0&&(h=Math.pow(2,v),v++)}}};return x}();typeof D!="undefined"&&D!=null&&(D.exports=re)});var K=se(G());async function ce(f,g={}){var B;typeof f=="object"&&!(f instanceof HTMLElement)&&(f.headless||f.view==="headless")&&(g=f,f=null);let{config:b={},headless:p,loading:M="lazy",view:x}=g,o=p||x==="headless",e=null,l=null;if(typeof f=="string")e=document.querySelector(f);else if(f instanceof HTMLElement)e=f;else if(!(o&&typeof f=="object"))throw new Error("A valid container element is required.");if(!e)if(o)e=document.createElement("div"),z(e),document.body.appendChild(e);else throw new Error(`Cannot find element: "${f}"`);let t=new URL(ie(g)),r=t.origin;t.searchParams.set("embed","true"),t.searchParams.set("loading",o?"eager":M);let h=globalThis.process;t.searchParams.set("sdkVersion",((B=h==null?void 0:h.env)==null?void 0:B.SDK_VERSION)||"latest"),typeof b=="object"&&Object.keys(b).length>0&&t.searchParams.set("config","sdk");let w=g.params;typeof w=="object"&&Object.keys(w).length>0&&JSON.stringify(w).length<1800&&Object.keys(w).forEach(i=>{t.searchParams.set(i,encodeURIComponent(String(w[i])))});let v=!1,L="Cannot call API methods after calling `destroy()`.",y=await new Promise(i=>{var R,U,H,k,T,q,J,N,Q;if(!e)return;let m=e.dataset.height||e.style.height;if(m&&!o){let _=isNaN(Number(m))?m:m+"px";e.style.height=_}e.dataset.defaultStyles!=="false"&&!o&&((R=e.style).backgroundColor||(R.backgroundColor="#fff"),(U=e.style).border||(U.border="1px solid black"),(H=e.style).borderRadius||(H.borderRadius="8px"),(k=e.style).boxSizing||(k.boxSizing="border-box"),(T=e.style).padding||(T.padding="0"),(q=e.style).width||(q.width="100%"),(J=e.style).height||(J.height=e.style.height||"300px"),e.style.minHeight="200px",e.style.flexGrow="1",(N=e.style).overflow||(N.overflow="hidden"),(Q=e.style).resize||(Q.resize="vertical"));let P="livecodes",A=e.querySelector(`iframe.${P}`),u=A||document.createElement("iframe");u.classList.add(P),u.setAttribute("allow","accelerometer; camera; encrypted-media; display-capture; geolocation; gyroscope; microphone; midi; clipboard-read; clipboard-write; web-share"),u.setAttribute("allowtransparency","true"),u.setAttribute("allowpaymentrequest","true"),u.setAttribute("allowfullscreen","true"),u.setAttribute("sandbox","allow-same-origin allow-downloads allow-forms allow-modals allow-orientation-lock allow-pointer-lock allow-popups allow-presentation allow-scripts");let j=M==="eager"?"eager":"lazy";u.setAttribute("loading",j),o?z(u):(u.style.height="100%",u.style.minHeight="200px",u.style.width="100%",u.style.margin="0",u.style.border="0",u.style.borderRadius=e.style.borderRadius),addEventListener("message",function _(C){var I;C.source!==u.contentWindow||C.origin!==r||((I=C.data)==null?void 0:I.type)!=="livecodes-init"||(removeEventListener("message",_),l=Number(C.data.payload.appVersion.replace(/^v/,"")))}),(!l||l<46)&&addEventListener("message",function _(C){var I,Z;C.source!==u.contentWindow||C.origin!==r||((I=C.data)==null?void 0:I.type)!=="livecodes-get-config"||(removeEventListener("message",_),(Z=u.contentWindow)==null||Z.postMessage({type:"livecodes-config",payload:b},r))}),u.onload=()=>{i(u)},u.src=t.href,A||e.appendChild(u)}),O=new Promise(i=>{addEventListener("message",function m(P){var A;P.source!==y.contentWindow||P.origin!==r||((A=P.data)==null?void 0:A.type)!=="livecodes-ready"||(removeEventListener("message",m),i(),O.settled=!0)})}),d=()=>v?Promise.reject(L):new Promise(async i=>{var P;O.settled&&i();let m={type:"livecodes-load"};(P=y.contentWindow)==null||P.postMessage(m,r),await O,i()}),c=(i,m)=>new Promise(async(P,A)=>{var j;if(v)return A(L);await d();let u=X();addEventListener("message",function R(U){var H,k;if(!(U.source!==y.contentWindow||U.origin!==r||((H=U.data)==null?void 0:H.type)!=="livecodes-api-response"||((k=U.data)==null?void 0:k.id)!==u)&&U.data.method===i){removeEventListener("message",R);let T=U.data.payload;T!=null&&T.error?A(T.error):P(T)}}),(j=y.contentWindow)==null||j.postMessage({method:i,id:u,args:m},r)}),n={},s=["load","ready","code","console","tests","destroy"],S=(i,m)=>{var P;if(v)throw new Error(L);return s.includes(i)?(c("watch",[i]),n[i]||(n[i]=[]),(P=n[i])==null||P.push(m),{remove:()=>{var A,u;n[i]=(A=n[i])==null?void 0:A.filter(j=>j!==m),((u=n[i])==null?void 0:u.length)===0&&c("watch",[i,"unsubscribe"])}}):{remove:()=>{}}},a=i=>({"livecodes-app-loaded":"load","livecodes-ready":"ready","livecodes-change":"code","livecodes-console":"console","livecodes-test-results":"tests","livecodes-destroy":"destroy"})[i];addEventListener("message",async i=>{var A,u,j,R;let m=a((u=(A=i.data)==null?void 0:A.type)!=null?u:"");if(i.source!==y.contentWindow||i.origin!==r||!m||!n[m])return;let P=(j=i.data)==null?void 0:j.payload;(R=n[m])==null||R.forEach(U=>{U(P)})});let W=()=>{var i;Object.values(n).forEach(m=>{m.length=0}),(i=y==null?void 0:y.remove)==null||i.call(y),v=!0};M==="lazy"&&"IntersectionObserver"in window&&new IntersectionObserver((m,P)=>{m.forEach(async A=>{A.isIntersecting&&(await d(),P.unobserve(e))})},{rootMargin:"150px"}).observe(e);function z(i){i.style.position="absolute",i.style.top="0",i.style.visibility="hidden",i.style.opacity="0"}let X=()=>(String(Math.random())+Date.now().toFixed()).replace("0.","");return{load:()=>d(),run:()=>c("run"),format:i=>c("format",[i]),getShareUrl:i=>c("getShareUrl",[i]),getConfig:i=>c("getConfig",[i]),setConfig:i=>c("setConfig",[i]),getCode:()=>c("getCode"),show:(i,m)=>c("show",[i,m]),runTests:()=>c("runTests"),onChange:i=>S("code",i),watch:S,exec:(i,...m)=>c("exec",[i,...m]),destroy:()=>O.settled?c("destroy").then(W):v?Promise.reject(L):(W(),Promise.resolve())}}function ie(f={}){let{appUrl:g="https://livecodes.io",params:b={},config:p={},headless:M,import:x,lite:o,view:e,...l}=f,t;try{t=new URL(g)}catch(w){throw new Error(`${g} is not a valid URL.`)}let r=new URLSearchParams;Object.entries(l).forEach(([w,v])=>{v!==void 0&&t.searchParams.set(w,String(v))});let h=f.view==="headless"||M;if(o&&(console.warn(`Deprecation notice: "lite" option is deprecated. Use "config: { mode: 'lite' }" instead.`),typeof p=="object"&&p.mode==null?p.mode="lite":t.searchParams.set("lite","true")),e&&(console.warn('Deprecation notice: The "view" option has been moved to "config.view". For headless mode use "headless: true".'),typeof p=="object"&&p.view==null&&e!=="headless"?p.view=e:t.searchParams.set("view",e)),typeof p=="string")try{new URL(p),t.searchParams.set("config",encodeURIComponent(p))}catch(w){throw new Error('"config" is not a valid URL or configuration object.')}else p&&typeof p=="object"&&Object.keys(p).length>0&&(p.title&&p.title!=="Untitled Project"&&t.searchParams.set("title",p.title),p.description&&p.description.length>0&&t.searchParams.set("description",p.description),r.set("config","code/"+(0,K.compressToEncodedURIComponent)(JSON.stringify(p))));if(b&&typeof b=="object"&&Object.keys(b).length>0)try{r.set("params",(0,K.compressToEncodedURIComponent)(JSON.stringify(b)))}catch(w){Object.keys(b).forEach(v=>{t.searchParams.set(v,encodeURIComponent(String(b[v])))})}return x&&t.searchParams.set("x",encodeURIComponent(x)),h&&t.searchParams.set("headless","true"),t.hash=r.toString(),t.href}export{ce as createPlayground,ie as getPlaygroundUrl}; |
+1
-1
@@ -1,1 +0,1 @@ | ||
| "use strict";var livecodes=(()=>{var te=Object.create;var _=Object.defineProperty;var oe=Object.getOwnPropertyDescriptor;var ne=Object.getOwnPropertyNames;var re=Object.getPrototypeOf,se=Object.prototype.hasOwnProperty;var ie=(a,m)=>()=>(m||a((m={exports:{}}).exports,m),m.exports),ae=(a,m)=>{for(var b in m)_(a,b,{get:m[b],enumerable:!0})},G=(a,m,b,S)=>{if(m&&typeof m=="object"||typeof m=="function")for(let w of ne(m))!se.call(a,w)&&w!==b&&_(a,w,{get:()=>m[w],enumerable:!(S=oe(m,w))||S.enumerable});return a};var le=(a,m,b)=>(b=a!=null?te(re(a)):{},G(m||!a||!a.__esModule?_(b,"default",{value:a,enumerable:!0}):b,a)),ce=a=>G(_({},"__esModule",{value:!0}),a);var F=ie((ye,k)=>{var de=function(){var a=String.fromCharCode,m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",S={};function w(o,n){if(!S[o]){S[o]={};for(var d=0;d<o.length;d++)S[o][o.charAt(d)]=d}return S[o][n]}var P={compressToBase64:function(o){if(o==null)return"";var n=P._compress(o,6,function(d){return m.charAt(d)});switch(n.length%4){default:case 0:return n;case 1:return n+"===";case 2:return n+"==";case 3:return n+"="}},decompressFromBase64:function(o){return o==null?"":o==""?null:P._decompress(o.length,32,function(n){return w(m,o.charAt(n))})},compressToUTF16:function(o){return o==null?"":P._compress(o,15,function(n){return a(n+32)})+" "},decompressFromUTF16:function(o){return o==null?"":o==""?null:P._decompress(o.length,16384,function(n){return o.charCodeAt(n)-32})},compressToUint8Array:function(o){for(var n=P.compress(o),d=new Uint8Array(n.length*2),r=0,i=n.length;r<i;r++){var h=n.charCodeAt(r);d[r*2]=h>>>8,d[r*2+1]=h%256}return d},decompressFromUint8Array:function(o){if(o==null)return P.decompress(o);for(var n=new Array(o.length/2),d=0,r=n.length;d<r;d++)n[d]=o[d*2]*256+o[d*2+1];var i=[];return n.forEach(function(h){i.push(a(h))}),P.decompress(i.join(""))},compressToEncodedURIComponent:function(o){return o==null?"":P._compress(o,6,function(n){return b.charAt(n)})},decompressFromEncodedURIComponent:function(o){return o==null?"":o==""?null:(o=o.replace(/ /g,"+"),P._decompress(o.length,32,function(n){return w(b,o.charAt(n))}))},compress:function(o){return P._compress(o,16,function(n){return a(n)})},_compress:function(o,n,d){if(o==null)return"";var r,i,h={},f={},g="",A="",v="",x=2,U=3,l=2,p=[],t=0,e=0,E;for(E=0;E<o.length;E+=1)if(g=o.charAt(E),Object.prototype.hasOwnProperty.call(h,g)||(h[g]=U++,f[g]=!0),A=v+g,Object.prototype.hasOwnProperty.call(h,A))v=A;else{if(Object.prototype.hasOwnProperty.call(f,v)){if(v.charCodeAt(0)<256){for(r=0;r<l;r++)t=t<<1,e==n-1?(e=0,p.push(d(t)),t=0):e++;for(i=v.charCodeAt(0),r=0;r<8;r++)t=t<<1|i&1,e==n-1?(e=0,p.push(d(t)),t=0):e++,i=i>>1}else{for(i=1,r=0;r<l;r++)t=t<<1|i,e==n-1?(e=0,p.push(d(t)),t=0):e++,i=0;for(i=v.charCodeAt(0),r=0;r<16;r++)t=t<<1|i&1,e==n-1?(e=0,p.push(d(t)),t=0):e++,i=i>>1}x--,x==0&&(x=Math.pow(2,l),l++),delete f[v]}else for(i=h[v],r=0;r<l;r++)t=t<<1|i&1,e==n-1?(e=0,p.push(d(t)),t=0):e++,i=i>>1;x--,x==0&&(x=Math.pow(2,l),l++),h[A]=U++,v=String(g)}if(v!==""){if(Object.prototype.hasOwnProperty.call(f,v)){if(v.charCodeAt(0)<256){for(r=0;r<l;r++)t=t<<1,e==n-1?(e=0,p.push(d(t)),t=0):e++;for(i=v.charCodeAt(0),r=0;r<8;r++)t=t<<1|i&1,e==n-1?(e=0,p.push(d(t)),t=0):e++,i=i>>1}else{for(i=1,r=0;r<l;r++)t=t<<1|i,e==n-1?(e=0,p.push(d(t)),t=0):e++,i=0;for(i=v.charCodeAt(0),r=0;r<16;r++)t=t<<1|i&1,e==n-1?(e=0,p.push(d(t)),t=0):e++,i=i>>1}x--,x==0&&(x=Math.pow(2,l),l++),delete f[v]}else for(i=h[v],r=0;r<l;r++)t=t<<1|i&1,e==n-1?(e=0,p.push(d(t)),t=0):e++,i=i>>1;x--,x==0&&(x=Math.pow(2,l),l++)}for(i=2,r=0;r<l;r++)t=t<<1|i&1,e==n-1?(e=0,p.push(d(t)),t=0):e++,i=i>>1;for(;;)if(t=t<<1,e==n-1){p.push(d(t));break}else e++;return p.join("")},decompress:function(o){return o==null?"":o==""?null:P._decompress(o.length,32768,function(n){return o.charCodeAt(n)})},_decompress:function(o,n,d){var r=[],i,h=4,f=4,g=3,A="",v=[],x,U,l,p,t,e,E,c={val:d(0),position:n,index:1};for(x=0;x<3;x+=1)r[x]=x;for(l=0,t=Math.pow(2,2),e=1;e!=t;)p=c.val&c.position,c.position>>=1,c.position==0&&(c.position=n,c.val=d(c.index++)),l|=(p>0?1:0)*e,e<<=1;switch(i=l){case 0:for(l=0,t=Math.pow(2,8),e=1;e!=t;)p=c.val&c.position,c.position>>=1,c.position==0&&(c.position=n,c.val=d(c.index++)),l|=(p>0?1:0)*e,e<<=1;E=a(l);break;case 1:for(l=0,t=Math.pow(2,16),e=1;e!=t;)p=c.val&c.position,c.position>>=1,c.position==0&&(c.position=n,c.val=d(c.index++)),l|=(p>0?1:0)*e,e<<=1;E=a(l);break;case 2:return""}for(r[3]=E,U=E,v.push(E);;){if(c.index>o)return"";for(l=0,t=Math.pow(2,g),e=1;e!=t;)p=c.val&c.position,c.position>>=1,c.position==0&&(c.position=n,c.val=d(c.index++)),l|=(p>0?1:0)*e,e<<=1;switch(E=l){case 0:for(l=0,t=Math.pow(2,8),e=1;e!=t;)p=c.val&c.position,c.position>>=1,c.position==0&&(c.position=n,c.val=d(c.index++)),l|=(p>0?1:0)*e,e<<=1;r[f++]=a(l),E=f-1,h--;break;case 1:for(l=0,t=Math.pow(2,16),e=1;e!=t;)p=c.val&c.position,c.position>>=1,c.position==0&&(c.position=n,c.val=d(c.index++)),l|=(p>0?1:0)*e,e<<=1;r[f++]=a(l),E=f-1,h--;break;case 2:return v.join("")}if(h==0&&(h=Math.pow(2,g),g++),r[E])A=r[E];else if(E===f)A=U+U.charAt(0);else return null;v.push(A),r[f++]=U+A.charAt(0),h--,U=A,h==0&&(h=Math.pow(2,g),g++)}}};return P}();typeof k!="undefined"&&k!=null&&(k.exports=de)});var pe={};ae(pe,{createPlayground:()=>Y,getPlaygroundUrl:()=>fe});var I=le(F());async function Y(a,m={}){typeof a=="object"&&!(a instanceof HTMLElement)&&a.view==="headless"&&(m=a,a=null);let{appUrl:b="https://livecodes.io/",params:S={},config:w={},import:P,headless:o,lite:n,loading:d="lazy",template:r,view:i}=m,h=o||i==="headless",f=null;if(typeof a=="string")f=document.querySelector(a);else if(a instanceof HTMLElement)f=a;else if(!(h&&typeof a=="object"))throw new Error("A valid container element is required.");if(!f)if(h)f=document.createElement("div"),W(f),document.body.appendChild(f);else throw new Error(`Cannot find element: "${a}"`);let g;try{g=new URL(b)}catch(s){throw new Error(`"${b}" is not a valid URL.`)}let A=g.origin;if(S&&typeof S=="object")try{g.searchParams.set("params",(0,I.compressToEncodedURIComponent)(JSON.stringify(S)))}catch(s){Object.keys(S).forEach(y=>{g.searchParams.set(y,encodeURIComponent(String(S[y])))})}if(r&&g.searchParams.set("template",r),P&&g.searchParams.set("x",encodeURIComponent(P)),h&&g.searchParams.set("headless","true"),n&&(console.warn(`Deprecation notice: "lite" option is deprecated. Use "config: { mode: 'lite' }" instead.`),typeof w=="object"&&w.mode==null?w.mode="lite":g.searchParams.set("lite","true")),i&&(console.warn('Deprecation notice: The "view" option has been moved to "config.view". For headless mode use "headless: true".'),typeof w=="object"&&w.view==null&&i!=="headless"?w.view=i:g.searchParams.set("view",i)),typeof w=="string")try{new URL(w),g.searchParams.set("config",encodeURIComponent(w))}catch(s){throw new Error('"config" is not a valid URL or configuration object.')}else if(typeof w=="object")Object.keys(w).length>0&&g.searchParams.set("config","sdk");else throw new Error('"config" is not a valid URL or configuration object.');g.searchParams.set("embed","true"),g.searchParams.set("loading",h?"eager":d);let v=!1,x="Cannot call API methods after calling `destroy()`.",l=await new Promise(s=>{var C,O,R,H,j,B,q,N,Q;if(!f)return;let y=f.dataset.height||f.style.height;if(y&&!h){let D=isNaN(Number(y))?y:y+"px";f.style.height=D}f.dataset.defaultStyles!=="false"&&!h&&((C=f.style).backgroundColor||(C.backgroundColor="#fff"),(O=f.style).border||(O.border="1px solid black"),(R=f.style).borderRadius||(R.borderRadius="8px"),(H=f.style).boxSizing||(H.boxSizing="border-box"),(j=f.style).padding||(j.padding="0"),(B=f.style).width||(B.width="100%"),(q=f.style).height||(q.height=f.style.height||"300px"),f.style.minHeight="200px",f.style.flexGrow="1",(N=f.style).overflow||(N.overflow="hidden"),(Q=f.style).resize||(Q.resize="vertical"));let L="livecodes",M=f.querySelector(`iframe.${L}`),u=M||document.createElement("iframe");u.classList.add(L),u.setAttribute("allow","accelerometer; camera; encrypted-media; display-capture; geolocation; gyroscope; microphone; midi; clipboard-read; clipboard-write; web-share"),u.setAttribute("allowtransparency","true"),u.setAttribute("allowpaymentrequest","true"),u.setAttribute("allowfullscreen","true"),u.setAttribute("sandbox","allow-same-origin allow-downloads allow-forms allow-modals allow-orientation-lock allow-pointer-lock allow-popups allow-presentation allow-scripts");let T=d==="eager"?"eager":"lazy";u.setAttribute("loading",T),h?W(u):(u.style.height="100%",u.style.minHeight="200px",u.style.width="100%",u.style.margin="0",u.style.border="0",u.style.borderRadius=f.style.borderRadius),addEventListener("message",function D(K){var Z,$;K.source!==u.contentWindow||K.origin!==A||((Z=K.data)==null?void 0:Z.type)!=="livecodes-get-config"||(removeEventListener("message",D),($=u.contentWindow)==null||$.postMessage({type:"livecodes-config",payload:w},A))}),u.onload=()=>{s(u)},u.src=g.href,M||f.appendChild(u)}),p=new Promise(s=>{addEventListener("message",function y(L){var M;L.source!==l.contentWindow||L.origin!==A||((M=L.data)==null?void 0:M.type)!=="livecodes-ready"||(removeEventListener("message",y),s(),p.settled=!0)})}),t=()=>v?Promise.reject(x):new Promise(async s=>{var L;p.settled&&s();let y={type:"livecodes-load"};(L=l.contentWindow)==null||L.postMessage(y,A),await p,s()}),e=(s,y)=>new Promise(async(L,M)=>{var T;if(v)return M(x);await t();let u=ee();addEventListener("message",function C(O){var R,H;if(!(O.source!==l.contentWindow||O.origin!==A||((R=O.data)==null?void 0:R.type)!=="livecodes-api-response"||((H=O.data)==null?void 0:H.id)!==u)&&O.data.method===s){removeEventListener("message",C);let j=O.data.payload;j!=null&&j.error?M(j.error):L(j)}}),(T=l.contentWindow)==null||T.postMessage({method:s,id:u,args:y},A)}),E={},c=["load","ready","code","console","tests","destroy"],z=(s,y)=>{var L;if(v)throw new Error(x);return c.includes(s)?(e("watch",[s]),E[s]||(E[s]=[]),(L=E[s])==null||L.push(y),{remove:()=>{var M,u;E[s]=(M=E[s])==null?void 0:M.filter(T=>T!==y),((u=E[s])==null?void 0:u.length)===0&&e("watch",[s,"unsubscribe"])}}):{remove:()=>{}}},V=s=>({"livecodes-app-loaded":"load","livecodes-ready":"ready","livecodes-change":"code","livecodes-console":"console","livecodes-test-results":"tests","livecodes-destroy":"destroy"})[s];addEventListener("message",async s=>{var M,u,T,C;let y=V((u=(M=s.data)==null?void 0:M.type)!=null?u:"");if(s.source!==l.contentWindow||s.origin!==A||!y||!E[y])return;let L=(T=s.data)==null?void 0:T.payload;(C=E[y])==null||C.forEach(O=>{O(L)})});let J=()=>{var s;Object.values(E).forEach(y=>{y.length=0}),(s=l==null?void 0:l.remove)==null||s.call(l),v=!0};d==="lazy"&&"IntersectionObserver"in window&&new IntersectionObserver((y,L)=>{y.forEach(async M=>{M.isIntersecting&&(await t(),L.unobserve(f))})},{rootMargin:"150px"}).observe(f);function W(s){s.style.position="absolute",s.style.top="0",s.style.visibility="hidden",s.style.opacity="0"}let ee=()=>(String(Math.random())+Date.now().toFixed()).replace("0.","");return{load:()=>t(),run:()=>e("run"),format:s=>e("format",[s]),getShareUrl:s=>e("getShareUrl",[s]),getConfig:s=>e("getConfig",[s]),setConfig:s=>e("setConfig",[s]),getCode:()=>e("getCode"),show:(s,y)=>e("show",[s,y]),runTests:()=>e("runTests"),onChange:s=>z("code",s),watch:z,exec:(s,...y)=>e("exec",[s,...y]),destroy:()=>p.settled?e("destroy").then(J):v?Promise.reject(x):(J(),Promise.resolve())}}function fe(a={}){let{appUrl:m,params:b,config:S,import:w,...P}=a,o=typeof S=="string"?{config:S}:S&&typeof S=="object"&&Object.keys(S).length?{x:"code/"+(0,I.compressToEncodedURIComponent)(JSON.stringify(S))}:{},n;if(b&&typeof b=="object")try{n=(0,I.compressToEncodedURIComponent)(JSON.stringify(b))}catch(r){Object.keys(b).forEach(i=>{b[i]=encodeURIComponent(String(b[i]))})}let d=new URLSearchParams(JSON.parse(JSON.stringify({...P,...n?{params:n}:b,x:w,...o}))).toString();return(m||"https://livecodes.io")+(d?"?"+d:"")}var X;globalThis.document&&document.currentScript&&"prefill"in((X=document.currentScript)==null?void 0:X.dataset)&&window.addEventListener("load",()=>{document.querySelectorAll(".livecodes").forEach(a=>{let m,b=a.dataset.options;if(b)try{m=JSON.parse(b)}catch(o){}let S,w=a.dataset.config||a.dataset.prefill;if(w)try{S=JSON.parse(w)}catch(o){}let P=encodeURIComponent(a.outerHTML);a.innerHTML="",Y(a,{import:"dom/"+P,...m,...S?{config:S}:{}})})});return ce(pe);})(); | ||
| "use strict";var livecodes=(()=>{var V=Object.create;var D=Object.defineProperty;var ee=Object.getOwnPropertyDescriptor;var te=Object.getOwnPropertyNames;var ne=Object.getPrototypeOf,oe=Object.prototype.hasOwnProperty;var se=(c,h)=>()=>(h||c((h={exports:{}}).exports,h),h.exports),re=(c,h)=>{for(var E in h)D(c,E,{get:h[E],enumerable:!0})},G=(c,h,E,p)=>{if(h&&typeof h=="object"||typeof h=="function")for(let M of te(h))!oe.call(c,M)&&M!==E&&D(c,M,{get:()=>h[M],enumerable:!(p=ee(h,M))||p.enumerable});return c};var ie=(c,h,E)=>(E=c!=null?V(ne(c)):{},G(h||!c||!c.__esModule?D(E,"default",{value:c,enumerable:!0}):E,c)),ae=c=>G(D({},"__esModule",{value:!0}),c);var X=se((ue,K)=>{var le=function(){var c=String.fromCharCode,h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",E="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",p={};function M(o,e){if(!p[o]){p[o]={};for(var l=0;l<o.length;l++)p[o][o.charAt(l)]=l}return p[o][e]}var x={compressToBase64:function(o){if(o==null)return"";var e=x._compress(o,6,function(l){return h.charAt(l)});switch(e.length%4){default:case 0:return e;case 1:return e+"===";case 2:return e+"==";case 3:return e+"="}},decompressFromBase64:function(o){return o==null?"":o==""?null:x._decompress(o.length,32,function(e){return M(h,o.charAt(e))})},compressToUTF16:function(o){return o==null?"":x._compress(o,15,function(e){return c(e+32)})+" "},decompressFromUTF16:function(o){return o==null?"":o==""?null:x._decompress(o.length,16384,function(e){return o.charCodeAt(e)-32})},compressToUint8Array:function(o){for(var e=x.compress(o),l=new Uint8Array(e.length*2),t=0,r=e.length;t<r;t++){var m=e.charCodeAt(t);l[t*2]=m>>>8,l[t*2+1]=m%256}return l},decompressFromUint8Array:function(o){if(o==null)return x.decompress(o);for(var e=new Array(o.length/2),l=0,t=e.length;l<t;l++)e[l]=o[l*2]*256+o[l*2+1];var r=[];return e.forEach(function(m){r.push(c(m))}),x.decompress(r.join(""))},compressToEncodedURIComponent:function(o){return o==null?"":x._compress(o,6,function(e){return E.charAt(e)})},decompressFromEncodedURIComponent:function(o){return o==null?"":o==""?null:(o=o.replace(/ /g,"+"),x._decompress(o.length,32,function(e){return M(E,o.charAt(e))}))},compress:function(o){return x._compress(o,16,function(e){return c(e)})},_compress:function(o,e,l){if(o==null)return"";var t,r,m={},w={},v="",L="",b="",y=2,O=3,f=2,d=[],n=0,s=0,S;for(S=0;S<o.length;S+=1)if(v=o.charAt(S),Object.prototype.hasOwnProperty.call(m,v)||(m[v]=O++,w[v]=!0),L=b+v,Object.prototype.hasOwnProperty.call(m,L))b=L;else{if(Object.prototype.hasOwnProperty.call(w,b)){if(b.charCodeAt(0)<256){for(t=0;t<f;t++)n=n<<1,s==e-1?(s=0,d.push(l(n)),n=0):s++;for(r=b.charCodeAt(0),t=0;t<8;t++)n=n<<1|r&1,s==e-1?(s=0,d.push(l(n)),n=0):s++,r=r>>1}else{for(r=1,t=0;t<f;t++)n=n<<1|r,s==e-1?(s=0,d.push(l(n)),n=0):s++,r=0;for(r=b.charCodeAt(0),t=0;t<16;t++)n=n<<1|r&1,s==e-1?(s=0,d.push(l(n)),n=0):s++,r=r>>1}y--,y==0&&(y=Math.pow(2,f),f++),delete w[b]}else for(r=m[b],t=0;t<f;t++)n=n<<1|r&1,s==e-1?(s=0,d.push(l(n)),n=0):s++,r=r>>1;y--,y==0&&(y=Math.pow(2,f),f++),m[L]=O++,b=String(v)}if(b!==""){if(Object.prototype.hasOwnProperty.call(w,b)){if(b.charCodeAt(0)<256){for(t=0;t<f;t++)n=n<<1,s==e-1?(s=0,d.push(l(n)),n=0):s++;for(r=b.charCodeAt(0),t=0;t<8;t++)n=n<<1|r&1,s==e-1?(s=0,d.push(l(n)),n=0):s++,r=r>>1}else{for(r=1,t=0;t<f;t++)n=n<<1|r,s==e-1?(s=0,d.push(l(n)),n=0):s++,r=0;for(r=b.charCodeAt(0),t=0;t<16;t++)n=n<<1|r&1,s==e-1?(s=0,d.push(l(n)),n=0):s++,r=r>>1}y--,y==0&&(y=Math.pow(2,f),f++),delete w[b]}else for(r=m[b],t=0;t<f;t++)n=n<<1|r&1,s==e-1?(s=0,d.push(l(n)),n=0):s++,r=r>>1;y--,y==0&&(y=Math.pow(2,f),f++)}for(r=2,t=0;t<f;t++)n=n<<1|r&1,s==e-1?(s=0,d.push(l(n)),n=0):s++,r=r>>1;for(;;)if(n=n<<1,s==e-1){d.push(l(n));break}else s++;return d.join("")},decompress:function(o){return o==null?"":o==""?null:x._decompress(o.length,32768,function(e){return o.charCodeAt(e)})},_decompress:function(o,e,l){var t=[],r,m=4,w=4,v=3,L="",b=[],y,O,f,d,n,s,S,a={val:l(0),position:e,index:1};for(y=0;y<3;y+=1)t[y]=y;for(f=0,n=Math.pow(2,2),s=1;s!=n;)d=a.val&a.position,a.position>>=1,a.position==0&&(a.position=e,a.val=l(a.index++)),f|=(d>0?1:0)*s,s<<=1;switch(r=f){case 0:for(f=0,n=Math.pow(2,8),s=1;s!=n;)d=a.val&a.position,a.position>>=1,a.position==0&&(a.position=e,a.val=l(a.index++)),f|=(d>0?1:0)*s,s<<=1;S=c(f);break;case 1:for(f=0,n=Math.pow(2,16),s=1;s!=n;)d=a.val&a.position,a.position>>=1,a.position==0&&(a.position=e,a.val=l(a.index++)),f|=(d>0?1:0)*s,s<<=1;S=c(f);break;case 2:return""}for(t[3]=S,O=S,b.push(S);;){if(a.index>o)return"";for(f=0,n=Math.pow(2,v),s=1;s!=n;)d=a.val&a.position,a.position>>=1,a.position==0&&(a.position=e,a.val=l(a.index++)),f|=(d>0?1:0)*s,s<<=1;switch(S=f){case 0:for(f=0,n=Math.pow(2,8),s=1;s!=n;)d=a.val&a.position,a.position>>=1,a.position==0&&(a.position=e,a.val=l(a.index++)),f|=(d>0?1:0)*s,s<<=1;t[w++]=c(f),S=w-1,m--;break;case 1:for(f=0,n=Math.pow(2,16),s=1;s!=n;)d=a.val&a.position,a.position>>=1,a.position==0&&(a.position=e,a.val=l(a.index++)),f|=(d>0?1:0)*s,s<<=1;t[w++]=c(f),S=w-1,m--;break;case 2:return b.join("")}if(m==0&&(m=Math.pow(2,v),v++),t[S])L=t[S];else if(S===w)L=O+O.charAt(0);else return null;b.push(L),t[w++]=O+L.charAt(0),m--,O=L,m==0&&(m=Math.pow(2,v),v++)}}};return x}();typeof K!="undefined"&&K!=null&&(K.exports=le)});var de={};re(de,{createPlayground:()=>ce,getPlaygroundUrl:()=>Y});var W=ie(X());async function ce(c,h={}){var q;typeof c=="object"&&!(c instanceof HTMLElement)&&(c.headless||c.view==="headless")&&(h=c,c=null);let{config:E={},headless:p,loading:M="lazy",view:x}=h,o=p||x==="headless",e=null,l=null;if(typeof c=="string")e=document.querySelector(c);else if(c instanceof HTMLElement)e=c;else if(!(o&&typeof c=="object"))throw new Error("A valid container element is required.");if(!e)if(o)e=document.createElement("div"),B(e),document.body.appendChild(e);else throw new Error(`Cannot find element: "${c}"`);let t=new URL(Y(h)),r=t.origin;t.searchParams.set("embed","true"),t.searchParams.set("loading",o?"eager":M);let m=globalThis.process;t.searchParams.set("sdkVersion",((q=m==null?void 0:m.env)==null?void 0:q.SDK_VERSION)||"latest"),typeof E=="object"&&Object.keys(E).length>0&&t.searchParams.set("config","sdk");let w=h.params;typeof w=="object"&&Object.keys(w).length>0&&JSON.stringify(w).length<1800&&Object.keys(w).forEach(i=>{t.searchParams.set(i,encodeURIComponent(String(w[i])))});let v=!1,L="Cannot call API methods after calling `destroy()`.",y=await new Promise(i=>{var R,U,H,k,T,J,N,Q,Z;if(!e)return;let g=e.dataset.height||e.style.height;if(g&&!o){let _=isNaN(Number(g))?g:g+"px";e.style.height=_}e.dataset.defaultStyles!=="false"&&!o&&((R=e.style).backgroundColor||(R.backgroundColor="#fff"),(U=e.style).border||(U.border="1px solid black"),(H=e.style).borderRadius||(H.borderRadius="8px"),(k=e.style).boxSizing||(k.boxSizing="border-box"),(T=e.style).padding||(T.padding="0"),(J=e.style).width||(J.width="100%"),(N=e.style).height||(N.height=e.style.height||"300px"),e.style.minHeight="200px",e.style.flexGrow="1",(Q=e.style).overflow||(Q.overflow="hidden"),(Z=e.style).resize||(Z.resize="vertical"));let P="livecodes",A=e.querySelector(`iframe.${P}`),u=A||document.createElement("iframe");u.classList.add(P),u.setAttribute("allow","accelerometer; camera; encrypted-media; display-capture; geolocation; gyroscope; microphone; midi; clipboard-read; clipboard-write; web-share"),u.setAttribute("allowtransparency","true"),u.setAttribute("allowpaymentrequest","true"),u.setAttribute("allowfullscreen","true"),u.setAttribute("sandbox","allow-same-origin allow-downloads allow-forms allow-modals allow-orientation-lock allow-pointer-lock allow-popups allow-presentation allow-scripts");let j=M==="eager"?"eager":"lazy";u.setAttribute("loading",j),o?B(u):(u.style.height="100%",u.style.minHeight="200px",u.style.width="100%",u.style.margin="0",u.style.border="0",u.style.borderRadius=e.style.borderRadius),addEventListener("message",function _(C){var I;C.source!==u.contentWindow||C.origin!==r||((I=C.data)==null?void 0:I.type)!=="livecodes-init"||(removeEventListener("message",_),l=Number(C.data.payload.appVersion.replace(/^v/,"")))}),(!l||l<46)&&addEventListener("message",function _(C){var I,$;C.source!==u.contentWindow||C.origin!==r||((I=C.data)==null?void 0:I.type)!=="livecodes-get-config"||(removeEventListener("message",_),($=u.contentWindow)==null||$.postMessage({type:"livecodes-config",payload:E},r))}),u.onload=()=>{i(u)},u.src=t.href,A||e.appendChild(u)}),O=new Promise(i=>{addEventListener("message",function g(P){var A;P.source!==y.contentWindow||P.origin!==r||((A=P.data)==null?void 0:A.type)!=="livecodes-ready"||(removeEventListener("message",g),i(),O.settled=!0)})}),f=()=>v?Promise.reject(L):new Promise(async i=>{var P;O.settled&&i();let g={type:"livecodes-load"};(P=y.contentWindow)==null||P.postMessage(g,r),await O,i()}),d=(i,g)=>new Promise(async(P,A)=>{var j;if(v)return A(L);await f();let u=F();addEventListener("message",function R(U){var H,k;if(!(U.source!==y.contentWindow||U.origin!==r||((H=U.data)==null?void 0:H.type)!=="livecodes-api-response"||((k=U.data)==null?void 0:k.id)!==u)&&U.data.method===i){removeEventListener("message",R);let T=U.data.payload;T!=null&&T.error?A(T.error):P(T)}}),(j=y.contentWindow)==null||j.postMessage({method:i,id:u,args:g},r)}),n={},s=["load","ready","code","console","tests","destroy"],S=(i,g)=>{var P;if(v)throw new Error(L);return s.includes(i)?(d("watch",[i]),n[i]||(n[i]=[]),(P=n[i])==null||P.push(g),{remove:()=>{var A,u;n[i]=(A=n[i])==null?void 0:A.filter(j=>j!==g),((u=n[i])==null?void 0:u.length)===0&&d("watch",[i,"unsubscribe"])}}):{remove:()=>{}}},a=i=>({"livecodes-app-loaded":"load","livecodes-ready":"ready","livecodes-change":"code","livecodes-console":"console","livecodes-test-results":"tests","livecodes-destroy":"destroy"})[i];addEventListener("message",async i=>{var A,u,j,R;let g=a((u=(A=i.data)==null?void 0:A.type)!=null?u:"");if(i.source!==y.contentWindow||i.origin!==r||!g||!n[g])return;let P=(j=i.data)==null?void 0:j.payload;(R=n[g])==null||R.forEach(U=>{U(P)})});let z=()=>{var i;Object.values(n).forEach(g=>{g.length=0}),(i=y==null?void 0:y.remove)==null||i.call(y),v=!0};M==="lazy"&&"IntersectionObserver"in window&&new IntersectionObserver((g,P)=>{g.forEach(async A=>{A.isIntersecting&&(await f(),P.unobserve(e))})},{rootMargin:"150px"}).observe(e);function B(i){i.style.position="absolute",i.style.top="0",i.style.visibility="hidden",i.style.opacity="0"}let F=()=>(String(Math.random())+Date.now().toFixed()).replace("0.","");return{load:()=>f(),run:()=>d("run"),format:i=>d("format",[i]),getShareUrl:i=>d("getShareUrl",[i]),getConfig:i=>d("getConfig",[i]),setConfig:i=>d("setConfig",[i]),getCode:()=>d("getCode"),show:(i,g)=>d("show",[i,g]),runTests:()=>d("runTests"),onChange:i=>S("code",i),watch:S,exec:(i,...g)=>d("exec",[i,...g]),destroy:()=>O.settled?d("destroy").then(z):v?Promise.reject(L):(z(),Promise.resolve())}}function Y(c={}){let{appUrl:h="https://livecodes.io",params:E={},config:p={},headless:M,import:x,lite:o,view:e,...l}=c,t;try{t=new URL(h)}catch(w){throw new Error(`${h} is not a valid URL.`)}let r=new URLSearchParams;Object.entries(l).forEach(([w,v])=>{v!==void 0&&t.searchParams.set(w,String(v))});let m=c.view==="headless"||M;if(o&&(console.warn(`Deprecation notice: "lite" option is deprecated. Use "config: { mode: 'lite' }" instead.`),typeof p=="object"&&p.mode==null?p.mode="lite":t.searchParams.set("lite","true")),e&&(console.warn('Deprecation notice: The "view" option has been moved to "config.view". For headless mode use "headless: true".'),typeof p=="object"&&p.view==null&&e!=="headless"?p.view=e:t.searchParams.set("view",e)),typeof p=="string")try{new URL(p),t.searchParams.set("config",encodeURIComponent(p))}catch(w){throw new Error('"config" is not a valid URL or configuration object.')}else p&&typeof p=="object"&&Object.keys(p).length>0&&(p.title&&p.title!=="Untitled Project"&&t.searchParams.set("title",p.title),p.description&&p.description.length>0&&t.searchParams.set("description",p.description),r.set("config","code/"+(0,W.compressToEncodedURIComponent)(JSON.stringify(p))));if(E&&typeof E=="object"&&Object.keys(E).length>0)try{r.set("params",(0,W.compressToEncodedURIComponent)(JSON.stringify(E)))}catch(w){Object.keys(E).forEach(v=>{t.searchParams.set(v,encodeURIComponent(String(E[v])))})}return x&&t.searchParams.set("x",encodeURIComponent(x)),m&&t.searchParams.set("headless","true"),t.hash=r.toString(),t.href}return ae(de);})(); |
+3
-3
| { | ||
| "name": "livecodes", | ||
| "version": "0.10.0", | ||
| "description": "Code Playground That Just Works!", | ||
| "version": "0.11.0", | ||
| "description": "A Code Playground That Just Works!", | ||
| "author": "Hatem Hosny", | ||
| "license": "MIT", | ||
| "keywords": ["playground", "code", "client", "sdk", "react", "vue", "svelte", "solid", "python"], | ||
| "keywords": ["playground", "code", "repl", "client", "sdk", "react", "vue", "svelte", "python"], | ||
| "private": false, | ||
@@ -9,0 +9,0 @@ "repository": { |
+1
-1
@@ -1,1 +0,1 @@ | ||
| var oe=Object.create;var G=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var se=Object.getOwnPropertyNames;var re=Object.getPrototypeOf,ie=Object.prototype.hasOwnProperty;var ae=(l,v)=>()=>(v||l((v={exports:{}}).exports,v),v.exports);var ce=(l,v,A,P)=>{if(v&&typeof v=="object"||typeof v=="function")for(let w of se(v))!ie.call(l,w)&&w!==A&&G(l,w,{get:()=>v[w],enumerable:!(P=ne(v,w))||P.enumerable});return l};var le=(l,v,A)=>(A=l!=null?oe(re(l)):{},ce(v||!l||!l.__esModule?G(A,"default",{value:l,enumerable:!0}):A,l));var F=ae((me,_)=>{var de=function(){var l=String.fromCharCode,v="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",P={};function w(o,n){if(!P[o]){P[o]={};for(var r=0;r<o.length;r++)P[o][o.charAt(r)]=r}return P[o][n]}var O={compressToBase64:function(o){if(o==null)return"";var n=O._compress(o,6,function(r){return v.charAt(r)});switch(n.length%4){default:case 0:return n;case 1:return n+"===";case 2:return n+"==";case 3:return n+"="}},decompressFromBase64:function(o){return o==null?"":o==""?null:O._decompress(o.length,32,function(n){return w(v,o.charAt(n))})},compressToUTF16:function(o){return o==null?"":O._compress(o,15,function(n){return l(n+32)})+" "},decompressFromUTF16:function(o){return o==null?"":o==""?null:O._decompress(o.length,16384,function(n){return o.charCodeAt(n)-32})},compressToUint8Array:function(o){for(var n=O.compress(o),r=new Uint8Array(n.length*2),s=0,c=n.length;s<c;s++){var p=n.charCodeAt(s);r[s*2]=p>>>8,r[s*2+1]=p%256}return r},decompressFromUint8Array:function(o){if(o==null)return O.decompress(o);for(var n=new Array(o.length/2),r=0,s=n.length;r<s;r++)n[r]=o[r*2]*256+o[r*2+1];var c=[];return n.forEach(function(p){c.push(l(p))}),O.decompress(c.join(""))},compressToEncodedURIComponent:function(o){return o==null?"":O._compress(o,6,function(n){return A.charAt(n)})},decompressFromEncodedURIComponent:function(o){return o==null?"":o==""?null:(o=o.replace(/ /g,"+"),O._decompress(o.length,32,function(n){return w(A,o.charAt(n))}))},compress:function(o){return O._compress(o,16,function(n){return l(n)})},_compress:function(o,n,r){if(o==null)return"";var s,c,p={},f={},y="",S="",h="",b=2,M=3,i=2,u=[],t=0,e=0,E;for(E=0;E<o.length;E+=1)if(y=o.charAt(E),Object.prototype.hasOwnProperty.call(p,y)||(p[y]=M++,f[y]=!0),S=h+y,Object.prototype.hasOwnProperty.call(p,S))h=S;else{if(Object.prototype.hasOwnProperty.call(f,h)){if(h.charCodeAt(0)<256){for(s=0;s<i;s++)t=t<<1,e==n-1?(e=0,u.push(r(t)),t=0):e++;for(c=h.charCodeAt(0),s=0;s<8;s++)t=t<<1|c&1,e==n-1?(e=0,u.push(r(t)),t=0):e++,c=c>>1}else{for(c=1,s=0;s<i;s++)t=t<<1|c,e==n-1?(e=0,u.push(r(t)),t=0):e++,c=0;for(c=h.charCodeAt(0),s=0;s<16;s++)t=t<<1|c&1,e==n-1?(e=0,u.push(r(t)),t=0):e++,c=c>>1}b--,b==0&&(b=Math.pow(2,i),i++),delete f[h]}else for(c=p[h],s=0;s<i;s++)t=t<<1|c&1,e==n-1?(e=0,u.push(r(t)),t=0):e++,c=c>>1;b--,b==0&&(b=Math.pow(2,i),i++),p[S]=M++,h=String(y)}if(h!==""){if(Object.prototype.hasOwnProperty.call(f,h)){if(h.charCodeAt(0)<256){for(s=0;s<i;s++)t=t<<1,e==n-1?(e=0,u.push(r(t)),t=0):e++;for(c=h.charCodeAt(0),s=0;s<8;s++)t=t<<1|c&1,e==n-1?(e=0,u.push(r(t)),t=0):e++,c=c>>1}else{for(c=1,s=0;s<i;s++)t=t<<1|c,e==n-1?(e=0,u.push(r(t)),t=0):e++,c=0;for(c=h.charCodeAt(0),s=0;s<16;s++)t=t<<1|c&1,e==n-1?(e=0,u.push(r(t)),t=0):e++,c=c>>1}b--,b==0&&(b=Math.pow(2,i),i++),delete f[h]}else for(c=p[h],s=0;s<i;s++)t=t<<1|c&1,e==n-1?(e=0,u.push(r(t)),t=0):e++,c=c>>1;b--,b==0&&(b=Math.pow(2,i),i++)}for(c=2,s=0;s<i;s++)t=t<<1|c&1,e==n-1?(e=0,u.push(r(t)),t=0):e++,c=c>>1;for(;;)if(t=t<<1,e==n-1){u.push(r(t));break}else e++;return u.join("")},decompress:function(o){return o==null?"":o==""?null:O._decompress(o.length,32768,function(n){return o.charCodeAt(n)})},_decompress:function(o,n,r){var s=[],c,p=4,f=4,y=3,S="",h=[],b,M,i,u,t,e,E,d={val:r(0),position:n,index:1};for(b=0;b<3;b+=1)s[b]=b;for(i=0,t=Math.pow(2,2),e=1;e!=t;)u=d.val&d.position,d.position>>=1,d.position==0&&(d.position=n,d.val=r(d.index++)),i|=(u>0?1:0)*e,e<<=1;switch(c=i){case 0:for(i=0,t=Math.pow(2,8),e=1;e!=t;)u=d.val&d.position,d.position>>=1,d.position==0&&(d.position=n,d.val=r(d.index++)),i|=(u>0?1:0)*e,e<<=1;E=l(i);break;case 1:for(i=0,t=Math.pow(2,16),e=1;e!=t;)u=d.val&d.position,d.position>>=1,d.position==0&&(d.position=n,d.val=r(d.index++)),i|=(u>0?1:0)*e,e<<=1;E=l(i);break;case 2:return""}for(s[3]=E,M=E,h.push(E);;){if(d.index>o)return"";for(i=0,t=Math.pow(2,y),e=1;e!=t;)u=d.val&d.position,d.position>>=1,d.position==0&&(d.position=n,d.val=r(d.index++)),i|=(u>0?1:0)*e,e<<=1;switch(E=i){case 0:for(i=0,t=Math.pow(2,8),e=1;e!=t;)u=d.val&d.position,d.position>>=1,d.position==0&&(d.position=n,d.val=r(d.index++)),i|=(u>0?1:0)*e,e<<=1;s[f++]=l(i),E=f-1,p--;break;case 1:for(i=0,t=Math.pow(2,16),e=1;e!=t;)u=d.val&d.position,d.position>>=1,d.position==0&&(d.position=n,d.val=r(d.index++)),i|=(u>0?1:0)*e,e<<=1;s[f++]=l(i),E=f-1,p--;break;case 2:return h.join("")}if(p==0&&(p=Math.pow(2,y),y++),s[E])S=s[E];else if(E===f)S=M+M.charAt(0);else return null;h.push(S),s[f++]=M+S.charAt(0),p--,M=S,p==0&&(p=Math.pow(2,y),y++)}}};return O}();typeof _!="undefined"&&_!=null&&(_.exports=de)});import{useEffect as V,useRef as fe,useState as j}from"react";var Y=le(F());async function D(l,v={}){typeof l=="object"&&!(l instanceof HTMLElement)&&l.view==="headless"&&(v=l,l=null);let{appUrl:A="https://livecodes.io/",params:P={},config:w={},import:O,headless:o,lite:n,loading:r="lazy",template:s,view:c}=v,p=o||c==="headless",f=null;if(typeof l=="string")f=document.querySelector(l);else if(l instanceof HTMLElement)f=l;else if(!(p&&typeof l=="object"))throw new Error("A valid container element is required.");if(!f)if(p)f=document.createElement("div"),z(f),document.body.appendChild(f);else throw new Error(`Cannot find element: "${l}"`);let y;try{y=new URL(A)}catch(a){throw new Error(`"${A}" is not a valid URL.`)}let S=y.origin;if(P&&typeof P=="object")try{y.searchParams.set("params",(0,Y.compressToEncodedURIComponent)(JSON.stringify(P)))}catch(a){Object.keys(P).forEach(g=>{y.searchParams.set(g,encodeURIComponent(String(P[g])))})}if(s&&y.searchParams.set("template",s),O&&y.searchParams.set("x",encodeURIComponent(O)),p&&y.searchParams.set("headless","true"),n&&(console.warn(`Deprecation notice: "lite" option is deprecated. Use "config: { mode: 'lite' }" instead.`),typeof w=="object"&&w.mode==null?w.mode="lite":y.searchParams.set("lite","true")),c&&(console.warn('Deprecation notice: The "view" option has been moved to "config.view". For headless mode use "headless: true".'),typeof w=="object"&&w.view==null&&c!=="headless"?w.view=c:y.searchParams.set("view",c)),typeof w=="string")try{new URL(w),y.searchParams.set("config",encodeURIComponent(w))}catch(a){throw new Error('"config" is not a valid URL or configuration object.')}else if(typeof w=="object")Object.keys(w).length>0&&y.searchParams.set("config","sdk");else throw new Error('"config" is not a valid URL or configuration object.');y.searchParams.set("embed","true"),y.searchParams.set("loading",p?"eager":r);let h=!1,b="Cannot call API methods after calling `destroy()`.",i=await new Promise(a=>{var T,C,H,k,U,W,B,q,Q;if(!f)return;let g=f.dataset.height||f.style.height;if(g&&!p){let I=isNaN(Number(g))?g:g+"px";f.style.height=I}f.dataset.defaultStyles!=="false"&&!p&&((T=f.style).backgroundColor||(T.backgroundColor="#fff"),(C=f.style).border||(C.border="1px solid black"),(H=f.style).borderRadius||(H.borderRadius="8px"),(k=f.style).boxSizing||(k.boxSizing="border-box"),(U=f.style).padding||(U.padding="0"),(W=f.style).width||(W.width="100%"),(B=f.style).height||(B.height=f.style.height||"300px"),f.style.minHeight="200px",f.style.flexGrow="1",(q=f.style).overflow||(q.overflow="hidden"),(Q=f.style).resize||(Q.resize="vertical"));let x="livecodes",L=f.querySelector(`iframe.${x}`),m=L||document.createElement("iframe");m.classList.add(x),m.setAttribute("allow","accelerometer; camera; encrypted-media; display-capture; geolocation; gyroscope; microphone; midi; clipboard-read; clipboard-write; web-share"),m.setAttribute("allowtransparency","true"),m.setAttribute("allowpaymentrequest","true"),m.setAttribute("allowfullscreen","true"),m.setAttribute("sandbox","allow-same-origin allow-downloads allow-forms allow-modals allow-orientation-lock allow-pointer-lock allow-popups allow-presentation allow-scripts");let R=r==="eager"?"eager":"lazy";m.setAttribute("loading",R),p?z(m):(m.style.height="100%",m.style.minHeight="200px",m.style.width="100%",m.style.margin="0",m.style.border="0",m.style.borderRadius=f.style.borderRadius),addEventListener("message",function I(N){var Z,$;N.source!==m.contentWindow||N.origin!==S||((Z=N.data)==null?void 0:Z.type)!=="livecodes-get-config"||(removeEventListener("message",I),($=m.contentWindow)==null||$.postMessage({type:"livecodes-config",payload:w},S))}),m.onload=()=>{a(m)},m.src=y.href,L||f.appendChild(m)}),u=new Promise(a=>{addEventListener("message",function g(x){var L;x.source!==i.contentWindow||x.origin!==S||((L=x.data)==null?void 0:L.type)!=="livecodes-ready"||(removeEventListener("message",g),a(),u.settled=!0)})}),t=()=>h?Promise.reject(b):new Promise(async a=>{var x;u.settled&&a();let g={type:"livecodes-load"};(x=i.contentWindow)==null||x.postMessage(g,S),await u,a()}),e=(a,g)=>new Promise(async(x,L)=>{var R;if(h)return L(b);await t();let m=te();addEventListener("message",function T(C){var H,k;if(!(C.source!==i.contentWindow||C.origin!==S||((H=C.data)==null?void 0:H.type)!=="livecodes-api-response"||((k=C.data)==null?void 0:k.id)!==m)&&C.data.method===a){removeEventListener("message",T);let U=C.data.payload;U!=null&&U.error?L(U.error):x(U)}}),(R=i.contentWindow)==null||R.postMessage({method:a,id:m,args:g},S)}),E={},d=["load","ready","code","console","tests","destroy"],J=(a,g)=>{var x;if(h)throw new Error(b);return d.includes(a)?(e("watch",[a]),E[a]||(E[a]=[]),(x=E[a])==null||x.push(g),{remove:()=>{var L,m;E[a]=(L=E[a])==null?void 0:L.filter(R=>R!==g),((m=E[a])==null?void 0:m.length)===0&&e("watch",[a,"unsubscribe"])}}):{remove:()=>{}}},ee=a=>({"livecodes-app-loaded":"load","livecodes-ready":"ready","livecodes-change":"code","livecodes-console":"console","livecodes-test-results":"tests","livecodes-destroy":"destroy"})[a];addEventListener("message",async a=>{var L,m,R,T;let g=ee((m=(L=a.data)==null?void 0:L.type)!=null?m:"");if(a.source!==i.contentWindow||a.origin!==S||!g||!E[g])return;let x=(R=a.data)==null?void 0:R.payload;(T=E[g])==null||T.forEach(C=>{C(x)})});let K=()=>{var a;Object.values(E).forEach(g=>{g.length=0}),(a=i==null?void 0:i.remove)==null||a.call(i),h=!0};r==="lazy"&&"IntersectionObserver"in window&&new IntersectionObserver((g,x)=>{g.forEach(async L=>{L.isIntersecting&&(await t(),x.unobserve(f))})},{rootMargin:"150px"}).observe(f);function z(a){a.style.position="absolute",a.style.top="0",a.style.visibility="hidden",a.style.opacity="0"}let te=()=>(String(Math.random())+Date.now().toFixed()).replace("0.","");return{load:()=>t(),run:()=>e("run"),format:a=>e("format",[a]),getShareUrl:a=>e("getShareUrl",[a]),getConfig:a=>e("getConfig",[a]),setConfig:a=>e("setConfig",[a]),getCode:()=>e("getCode"),show:(a,g)=>e("show",[a,g]),runTests:()=>e("runTests"),onChange:a=>J("code",a),watch:J,exec:(a,...g)=>e("exec",[a,...g]),destroy:()=>u.settled?e("destroy").then(K):h?Promise.reject(b):(K(),Promise.resolve())}}var X;globalThis.document&&document.currentScript&&"prefill"in((X=document.currentScript)==null?void 0:X.dataset)&&window.addEventListener("load",()=>{document.querySelectorAll(".livecodes").forEach(l=>{let v,A=l.dataset.options;if(A)try{v=JSON.parse(A)}catch(o){}let P,w=l.dataset.config||l.dataset.prefill;if(w)try{P=JSON.parse(w)}catch(o){}let O=encodeURIComponent(l.outerHTML);l.innerHTML="",D(l,{import:"dom/"+O,...v,...P?{config:P}:{}})})});import{jsx as pe}from"react/jsx-runtime";function ue(l){let v=fe(null),[A,P]=j(l.className||""),[w,O]=j(l.style||{}),[o,n]=j(l.height),[r,s]=j(),[c,p]=j(JSON.stringify(l.config||"")),[f,y]=j("");return V(()=>{if(!v.current)return;let{className:S,style:h,height:b,sdkReady:M,config:i,...u}=l;if(P(S||""),O(h||{}),n(b),!r||f!==JSON.stringify(u))y(JSON.stringify(u)),r==null||r.destroy(),D(v.current,{config:i,...u}).then(t=>{s(t),typeof M=="function"&&M(t)});else{if(c===JSON.stringify(i))return;p(JSON.stringify(i)),typeof i=="string"?fetch(i).then(t=>t.json()).then(t=>{r==null||r.setConfig(t)}):i&&r.setConfig(i)}},[l]),V(()=>()=>{r==null||r.destroy()},[]),pe("div",{ref:v,className:A,style:w,"data-height":o})}export{ue as default}; | ||
| var ee=Object.create;var G=Object.defineProperty;var te=Object.getOwnPropertyDescriptor;var ne=Object.getOwnPropertyNames;var oe=Object.getPrototypeOf,se=Object.prototype.hasOwnProperty;var re=(d,h)=>()=>(h||d((h={exports:{}}).exports,h),h.exports);var ie=(d,h,b,u)=>{if(h&&typeof h=="object"||typeof h=="function")for(let L of ne(h))!se.call(d,L)&&L!==b&&G(d,L,{get:()=>h[L],enumerable:!(u=te(h,L))||u.enumerable});return d};var ae=(d,h,b)=>(b=d!=null?ee(oe(d)):{},ie(h||!d||!d.__esModule?G(b,"default",{value:d,enumerable:!0}):b,d));var X=re((ye,N)=>{var le=function(){var d=String.fromCharCode,h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",u={};function L(o,e){if(!u[o]){u[o]={};for(var i=0;i<o.length;i++)u[o][o.charAt(i)]=i}return u[o][e]}var S={compressToBase64:function(o){if(o==null)return"";var e=S._compress(o,6,function(i){return h.charAt(i)});switch(e.length%4){default:case 0:return e;case 1:return e+"===";case 2:return e+"==";case 3:return e+"="}},decompressFromBase64:function(o){return o==null?"":o==""?null:S._decompress(o.length,32,function(e){return L(h,o.charAt(e))})},compressToUTF16:function(o){return o==null?"":S._compress(o,15,function(e){return d(e+32)})+" "},decompressFromUTF16:function(o){return o==null?"":o==""?null:S._decompress(o.length,16384,function(e){return o.charCodeAt(e)-32})},compressToUint8Array:function(o){for(var e=S.compress(o),i=new Uint8Array(e.length*2),n=0,r=e.length;n<r;n++){var m=e.charCodeAt(n);i[n*2]=m>>>8,i[n*2+1]=m%256}return i},decompressFromUint8Array:function(o){if(o==null)return S.decompress(o);for(var e=new Array(o.length/2),i=0,n=e.length;i<n;i++)e[i]=o[i*2]*256+o[i*2+1];var r=[];return e.forEach(function(m){r.push(d(m))}),S.decompress(r.join(""))},compressToEncodedURIComponent:function(o){return o==null?"":S._compress(o,6,function(e){return b.charAt(e)})},decompressFromEncodedURIComponent:function(o){return o==null?"":o==""?null:(o=o.replace(/ /g,"+"),S._decompress(o.length,32,function(e){return L(b,o.charAt(e))}))},compress:function(o){return S._compress(o,16,function(e){return d(e)})},_compress:function(o,e,i){if(o==null)return"";var n,r,m={},v={},g="",x="",E="",p=2,A=3,l=2,f=[],t=0,s=0,P;for(P=0;P<o.length;P+=1)if(g=o.charAt(P),Object.prototype.hasOwnProperty.call(m,g)||(m[g]=A++,v[g]=!0),x=E+g,Object.prototype.hasOwnProperty.call(m,x))E=x;else{if(Object.prototype.hasOwnProperty.call(v,E)){if(E.charCodeAt(0)<256){for(n=0;n<l;n++)t=t<<1,s==e-1?(s=0,f.push(i(t)),t=0):s++;for(r=E.charCodeAt(0),n=0;n<8;n++)t=t<<1|r&1,s==e-1?(s=0,f.push(i(t)),t=0):s++,r=r>>1}else{for(r=1,n=0;n<l;n++)t=t<<1|r,s==e-1?(s=0,f.push(i(t)),t=0):s++,r=0;for(r=E.charCodeAt(0),n=0;n<16;n++)t=t<<1|r&1,s==e-1?(s=0,f.push(i(t)),t=0):s++,r=r>>1}p--,p==0&&(p=Math.pow(2,l),l++),delete v[E]}else for(r=m[E],n=0;n<l;n++)t=t<<1|r&1,s==e-1?(s=0,f.push(i(t)),t=0):s++,r=r>>1;p--,p==0&&(p=Math.pow(2,l),l++),m[x]=A++,E=String(g)}if(E!==""){if(Object.prototype.hasOwnProperty.call(v,E)){if(E.charCodeAt(0)<256){for(n=0;n<l;n++)t=t<<1,s==e-1?(s=0,f.push(i(t)),t=0):s++;for(r=E.charCodeAt(0),n=0;n<8;n++)t=t<<1|r&1,s==e-1?(s=0,f.push(i(t)),t=0):s++,r=r>>1}else{for(r=1,n=0;n<l;n++)t=t<<1|r,s==e-1?(s=0,f.push(i(t)),t=0):s++,r=0;for(r=E.charCodeAt(0),n=0;n<16;n++)t=t<<1|r&1,s==e-1?(s=0,f.push(i(t)),t=0):s++,r=r>>1}p--,p==0&&(p=Math.pow(2,l),l++),delete v[E]}else for(r=m[E],n=0;n<l;n++)t=t<<1|r&1,s==e-1?(s=0,f.push(i(t)),t=0):s++,r=r>>1;p--,p==0&&(p=Math.pow(2,l),l++)}for(r=2,n=0;n<l;n++)t=t<<1|r&1,s==e-1?(s=0,f.push(i(t)),t=0):s++,r=r>>1;for(;;)if(t=t<<1,s==e-1){f.push(i(t));break}else s++;return f.join("")},decompress:function(o){return o==null?"":o==""?null:S._decompress(o.length,32768,function(e){return o.charCodeAt(e)})},_decompress:function(o,e,i){var n=[],r,m=4,v=4,g=3,x="",E=[],p,A,l,f,t,s,P,c={val:i(0),position:e,index:1};for(p=0;p<3;p+=1)n[p]=p;for(l=0,t=Math.pow(2,2),s=1;s!=t;)f=c.val&c.position,c.position>>=1,c.position==0&&(c.position=e,c.val=i(c.index++)),l|=(f>0?1:0)*s,s<<=1;switch(r=l){case 0:for(l=0,t=Math.pow(2,8),s=1;s!=t;)f=c.val&c.position,c.position>>=1,c.position==0&&(c.position=e,c.val=i(c.index++)),l|=(f>0?1:0)*s,s<<=1;P=d(l);break;case 1:for(l=0,t=Math.pow(2,16),s=1;s!=t;)f=c.val&c.position,c.position>>=1,c.position==0&&(c.position=e,c.val=i(c.index++)),l|=(f>0?1:0)*s,s<<=1;P=d(l);break;case 2:return""}for(n[3]=P,A=P,E.push(P);;){if(c.index>o)return"";for(l=0,t=Math.pow(2,g),s=1;s!=t;)f=c.val&c.position,c.position>>=1,c.position==0&&(c.position=e,c.val=i(c.index++)),l|=(f>0?1:0)*s,s<<=1;switch(P=l){case 0:for(l=0,t=Math.pow(2,8),s=1;s!=t;)f=c.val&c.position,c.position>>=1,c.position==0&&(c.position=e,c.val=i(c.index++)),l|=(f>0?1:0)*s,s<<=1;n[v++]=d(l),P=v-1,m--;break;case 1:for(l=0,t=Math.pow(2,16),s=1;s!=t;)f=c.val&c.position,c.position>>=1,c.position==0&&(c.position=e,c.val=i(c.index++)),l|=(f>0?1:0)*s,s<<=1;n[v++]=d(l),P=v-1,m--;break;case 2:return E.join("")}if(m==0&&(m=Math.pow(2,g),g++),n[P])x=n[P];else if(P===v)x=A+A.charAt(0);else return null;E.push(x),n[v++]=A+x.charAt(0),m--,A=x,m==0&&(m=Math.pow(2,g),g++)}}};return S}();typeof N!="undefined"&&N!=null&&(N.exports=le)});import{useEffect as F,useRef as de,useState as H}from"react";var J=ae(X());async function Y(d,h={}){var z;typeof d=="object"&&!(d instanceof HTMLElement)&&(d.headless||d.view==="headless")&&(h=d,d=null);let{config:b={},headless:u,loading:L="lazy",view:S}=h,o=u||S==="headless",e=null,i=null;if(typeof d=="string")e=document.querySelector(d);else if(d instanceof HTMLElement)e=d;else if(!(o&&typeof d=="object"))throw new Error("A valid container element is required.");if(!e)if(o)e=document.createElement("div"),W(e),document.body.appendChild(e);else throw new Error(`Cannot find element: "${d}"`);let n=new URL(ce(h)),r=n.origin;n.searchParams.set("embed","true"),n.searchParams.set("loading",o?"eager":L);let m=globalThis.process;n.searchParams.set("sdkVersion",((z=m==null?void 0:m.env)==null?void 0:z.SDK_VERSION)||"latest"),typeof b=="object"&&Object.keys(b).length>0&&n.searchParams.set("config","sdk");let v=h.params;typeof v=="object"&&Object.keys(v).length>0&&JSON.stringify(v).length<1800&&Object.keys(v).forEach(a=>{n.searchParams.set(a,encodeURIComponent(String(v[a])))});let g=!1,x="Cannot call API methods after calling `destroy()`.",p=await new Promise(a=>{var j,C,k,_,U,B,q,Q,Z;if(!e)return;let w=e.dataset.height||e.style.height;if(w&&!o){let I=isNaN(Number(w))?w:w+"px";e.style.height=I}e.dataset.defaultStyles!=="false"&&!o&&((j=e.style).backgroundColor||(j.backgroundColor="#fff"),(C=e.style).border||(C.border="1px solid black"),(k=e.style).borderRadius||(k.borderRadius="8px"),(_=e.style).boxSizing||(_.boxSizing="border-box"),(U=e.style).padding||(U.padding="0"),(B=e.style).width||(B.width="100%"),(q=e.style).height||(q.height=e.style.height||"300px"),e.style.minHeight="200px",e.style.flexGrow="1",(Q=e.style).overflow||(Q.overflow="hidden"),(Z=e.style).resize||(Z.resize="vertical"));let O="livecodes",M=e.querySelector(`iframe.${O}`),y=M||document.createElement("iframe");y.classList.add(O),y.setAttribute("allow","accelerometer; camera; encrypted-media; display-capture; geolocation; gyroscope; microphone; midi; clipboard-read; clipboard-write; web-share"),y.setAttribute("allowtransparency","true"),y.setAttribute("allowpaymentrequest","true"),y.setAttribute("allowfullscreen","true"),y.setAttribute("sandbox","allow-same-origin allow-downloads allow-forms allow-modals allow-orientation-lock allow-pointer-lock allow-popups allow-presentation allow-scripts");let R=L==="eager"?"eager":"lazy";y.setAttribute("loading",R),o?W(y):(y.style.height="100%",y.style.minHeight="200px",y.style.width="100%",y.style.margin="0",y.style.border="0",y.style.borderRadius=e.style.borderRadius),addEventListener("message",function I(T){var D;T.source!==y.contentWindow||T.origin!==r||((D=T.data)==null?void 0:D.type)!=="livecodes-init"||(removeEventListener("message",I),i=Number(T.data.payload.appVersion.replace(/^v/,"")))}),(!i||i<46)&&addEventListener("message",function I(T){var D,$;T.source!==y.contentWindow||T.origin!==r||((D=T.data)==null?void 0:D.type)!=="livecodes-get-config"||(removeEventListener("message",I),($=y.contentWindow)==null||$.postMessage({type:"livecodes-config",payload:b},r))}),y.onload=()=>{a(y)},y.src=n.href,M||e.appendChild(y)}),A=new Promise(a=>{addEventListener("message",function w(O){var M;O.source!==p.contentWindow||O.origin!==r||((M=O.data)==null?void 0:M.type)!=="livecodes-ready"||(removeEventListener("message",w),a(),A.settled=!0)})}),l=()=>g?Promise.reject(x):new Promise(async a=>{var O;A.settled&&a();let w={type:"livecodes-load"};(O=p.contentWindow)==null||O.postMessage(w,r),await A,a()}),f=(a,w)=>new Promise(async(O,M)=>{var R;if(g)return M(x);await l();let y=V();addEventListener("message",function j(C){var k,_;if(!(C.source!==p.contentWindow||C.origin!==r||((k=C.data)==null?void 0:k.type)!=="livecodes-api-response"||((_=C.data)==null?void 0:_.id)!==y)&&C.data.method===a){removeEventListener("message",j);let U=C.data.payload;U!=null&&U.error?M(U.error):O(U)}}),(R=p.contentWindow)==null||R.postMessage({method:a,id:y,args:w},r)}),t={},s=["load","ready","code","console","tests","destroy"],P=(a,w)=>{var O;if(g)throw new Error(x);return s.includes(a)?(f("watch",[a]),t[a]||(t[a]=[]),(O=t[a])==null||O.push(w),{remove:()=>{var M,y;t[a]=(M=t[a])==null?void 0:M.filter(R=>R!==w),((y=t[a])==null?void 0:y.length)===0&&f("watch",[a,"unsubscribe"])}}):{remove:()=>{}}},c=a=>({"livecodes-app-loaded":"load","livecodes-ready":"ready","livecodes-change":"code","livecodes-console":"console","livecodes-test-results":"tests","livecodes-destroy":"destroy"})[a];addEventListener("message",async a=>{var M,y,R,j;let w=c((y=(M=a.data)==null?void 0:M.type)!=null?y:"");if(a.source!==p.contentWindow||a.origin!==r||!w||!t[w])return;let O=(R=a.data)==null?void 0:R.payload;(j=t[w])==null||j.forEach(C=>{C(O)})});let K=()=>{var a;Object.values(t).forEach(w=>{w.length=0}),(a=p==null?void 0:p.remove)==null||a.call(p),g=!0};L==="lazy"&&"IntersectionObserver"in window&&new IntersectionObserver((w,O)=>{w.forEach(async M=>{M.isIntersecting&&(await l(),O.unobserve(e))})},{rootMargin:"150px"}).observe(e);function W(a){a.style.position="absolute",a.style.top="0",a.style.visibility="hidden",a.style.opacity="0"}let V=()=>(String(Math.random())+Date.now().toFixed()).replace("0.","");return{load:()=>l(),run:()=>f("run"),format:a=>f("format",[a]),getShareUrl:a=>f("getShareUrl",[a]),getConfig:a=>f("getConfig",[a]),setConfig:a=>f("setConfig",[a]),getCode:()=>f("getCode"),show:(a,w)=>f("show",[a,w]),runTests:()=>f("runTests"),onChange:a=>P("code",a),watch:P,exec:(a,...w)=>f("exec",[a,...w]),destroy:()=>A.settled?f("destroy").then(K):g?Promise.reject(x):(K(),Promise.resolve())}}function ce(d={}){let{appUrl:h="https://livecodes.io",params:b={},config:u={},headless:L,import:S,lite:o,view:e,...i}=d,n;try{n=new URL(h)}catch(v){throw new Error(`${h} is not a valid URL.`)}let r=new URLSearchParams;Object.entries(i).forEach(([v,g])=>{g!==void 0&&n.searchParams.set(v,String(g))});let m=d.view==="headless"||L;if(o&&(console.warn(`Deprecation notice: "lite" option is deprecated. Use "config: { mode: 'lite' }" instead.`),typeof u=="object"&&u.mode==null?u.mode="lite":n.searchParams.set("lite","true")),e&&(console.warn('Deprecation notice: The "view" option has been moved to "config.view". For headless mode use "headless: true".'),typeof u=="object"&&u.view==null&&e!=="headless"?u.view=e:n.searchParams.set("view",e)),typeof u=="string")try{new URL(u),n.searchParams.set("config",encodeURIComponent(u))}catch(v){throw new Error('"config" is not a valid URL or configuration object.')}else u&&typeof u=="object"&&Object.keys(u).length>0&&(u.title&&u.title!=="Untitled Project"&&n.searchParams.set("title",u.title),u.description&&u.description.length>0&&n.searchParams.set("description",u.description),r.set("config","code/"+(0,J.compressToEncodedURIComponent)(JSON.stringify(u))));if(b&&typeof b=="object"&&Object.keys(b).length>0)try{r.set("params",(0,J.compressToEncodedURIComponent)(JSON.stringify(b)))}catch(v){Object.keys(b).forEach(g=>{n.searchParams.set(g,encodeURIComponent(String(b[g])))})}return S&&n.searchParams.set("x",encodeURIComponent(S)),m&&n.searchParams.set("headless","true"),n.hash=r.toString(),n.href}import{jsx as ue}from"react/jsx-runtime";function fe(d){let h=de(null),[b,u]=H(d.className||""),[L,S]=H(d.style||{}),[o,e]=H(d.height),[i,n]=H(),[r,m]=H(JSON.stringify(d.config||"")),[v,g]=H("");return F(()=>{if(!h.current)return;let{className:x,style:E,height:p,sdkReady:A,config:l,...f}=d;if(u(x||""),S(E||{}),e(p),!i||v!==JSON.stringify(f))g(JSON.stringify(f)),i==null||i.destroy(),Y(h.current,{config:l,...f}).then(t=>{n(t),typeof A=="function"&&A(t)});else{if(r===JSON.stringify(l))return;m(JSON.stringify(l)),typeof l=="string"?fetch(l).then(t=>t.json()).then(t=>{i==null||i.setConfig(t)}):l&&i.setConfig(l)}},[d]),F(()=>()=>{i==null||i.destroy()},[]),ue("div",{ref:h,className:b,style:L,"data-height":o})}export{fe as default}; |
+1
-1
@@ -16,3 +16,3 @@ # LiveCodes | ||
| [](https://www.jsdelivr.com/package/npm/livecodes) | ||
| [](https://livecodes.io/docs/languages/) | ||
| [](https://livecodes.io/docs/languages/) | ||
| [](https://livecodes.io/docs/) | ||
@@ -19,0 +19,0 @@ [](https://livecodes.io/docs/llms.txt) |
+1
-1
@@ -1,1 +0,1 @@ | ||
| var oe=Object.create;var F=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var re=Object.getOwnPropertyNames;var se=Object.getPrototypeOf,ie=Object.prototype.hasOwnProperty;var ae=(d,w)=>()=>(w||d((w={exports:{}}).exports,w),w.exports);var le=(d,w,C,b)=>{if(w&&typeof w=="object"||typeof w=="function")for(let y of re(w))!ie.call(d,y)&&y!==C&&F(d,y,{get:()=>w[y],enumerable:!(b=ne(w,y))||b.enumerable});return d};var ce=(d,w,C)=>(C=d!=null?oe(se(d)):{},le(w||!d||!d.__esModule?F(C,"default",{value:d,enumerable:!0}):C,d));var X=ae((ve,_)=>{var de=function(){var d=String.fromCharCode,w="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",C="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",b={};function y(t,r){if(!b[t]){b[t]={};for(var f=0;f<t.length;f++)b[t][t.charAt(f)]=f}return b[t][r]}var O={compressToBase64:function(t){if(t==null)return"";var r=O._compress(t,6,function(f){return w.charAt(f)});switch(r.length%4){default:case 0:return r;case 1:return r+"===";case 2:return r+"==";case 3:return r+"="}},decompressFromBase64:function(t){return t==null?"":t==""?null:O._decompress(t.length,32,function(r){return y(w,t.charAt(r))})},compressToUTF16:function(t){return t==null?"":O._compress(t,15,function(r){return d(r+32)})+" "},decompressFromUTF16:function(t){return t==null?"":t==""?null:O._decompress(t.length,16384,function(r){return t.charCodeAt(r)-32})},compressToUint8Array:function(t){for(var r=O.compress(t),f=new Uint8Array(r.length*2),n=0,i=r.length;n<i;n++){var p=r.charCodeAt(n);f[n*2]=p>>>8,f[n*2+1]=p%256}return f},decompressFromUint8Array:function(t){if(t==null)return O.decompress(t);for(var r=new Array(t.length/2),f=0,n=r.length;f<n;f++)r[f]=t[f*2]*256+t[f*2+1];var i=[];return r.forEach(function(p){i.push(d(p))}),O.decompress(i.join(""))},compressToEncodedURIComponent:function(t){return t==null?"":O._compress(t,6,function(r){return C.charAt(r)})},decompressFromEncodedURIComponent:function(t){return t==null?"":t==""?null:(t=t.replace(/ /g,"+"),O._decompress(t.length,32,function(r){return y(C,t.charAt(r))}))},compress:function(t){return O._compress(t,16,function(r){return d(r)})},_compress:function(t,r,f){if(t==null)return"";var n,i,p={},a={},m="",P="",h="",E=2,L=3,l=2,u=[],o=0,e=0,S;for(S=0;S<t.length;S+=1)if(m=t.charAt(S),Object.prototype.hasOwnProperty.call(p,m)||(p[m]=L++,a[m]=!0),P=h+m,Object.prototype.hasOwnProperty.call(p,P))h=P;else{if(Object.prototype.hasOwnProperty.call(a,h)){if(h.charCodeAt(0)<256){for(n=0;n<l;n++)o=o<<1,e==r-1?(e=0,u.push(f(o)),o=0):e++;for(i=h.charCodeAt(0),n=0;n<8;n++)o=o<<1|i&1,e==r-1?(e=0,u.push(f(o)),o=0):e++,i=i>>1}else{for(i=1,n=0;n<l;n++)o=o<<1|i,e==r-1?(e=0,u.push(f(o)),o=0):e++,i=0;for(i=h.charCodeAt(0),n=0;n<16;n++)o=o<<1|i&1,e==r-1?(e=0,u.push(f(o)),o=0):e++,i=i>>1}E--,E==0&&(E=Math.pow(2,l),l++),delete a[h]}else for(i=p[h],n=0;n<l;n++)o=o<<1|i&1,e==r-1?(e=0,u.push(f(o)),o=0):e++,i=i>>1;E--,E==0&&(E=Math.pow(2,l),l++),p[P]=L++,h=String(m)}if(h!==""){if(Object.prototype.hasOwnProperty.call(a,h)){if(h.charCodeAt(0)<256){for(n=0;n<l;n++)o=o<<1,e==r-1?(e=0,u.push(f(o)),o=0):e++;for(i=h.charCodeAt(0),n=0;n<8;n++)o=o<<1|i&1,e==r-1?(e=0,u.push(f(o)),o=0):e++,i=i>>1}else{for(i=1,n=0;n<l;n++)o=o<<1|i,e==r-1?(e=0,u.push(f(o)),o=0):e++,i=0;for(i=h.charCodeAt(0),n=0;n<16;n++)o=o<<1|i&1,e==r-1?(e=0,u.push(f(o)),o=0):e++,i=i>>1}E--,E==0&&(E=Math.pow(2,l),l++),delete a[h]}else for(i=p[h],n=0;n<l;n++)o=o<<1|i&1,e==r-1?(e=0,u.push(f(o)),o=0):e++,i=i>>1;E--,E==0&&(E=Math.pow(2,l),l++)}for(i=2,n=0;n<l;n++)o=o<<1|i&1,e==r-1?(e=0,u.push(f(o)),o=0):e++,i=i>>1;for(;;)if(o=o<<1,e==r-1){u.push(f(o));break}else e++;return u.join("")},decompress:function(t){return t==null?"":t==""?null:O._decompress(t.length,32768,function(r){return t.charCodeAt(r)})},_decompress:function(t,r,f){var n=[],i,p=4,a=4,m=3,P="",h=[],E,L,l,u,o,e,S,c={val:f(0),position:r,index:1};for(E=0;E<3;E+=1)n[E]=E;for(l=0,o=Math.pow(2,2),e=1;e!=o;)u=c.val&c.position,c.position>>=1,c.position==0&&(c.position=r,c.val=f(c.index++)),l|=(u>0?1:0)*e,e<<=1;switch(i=l){case 0:for(l=0,o=Math.pow(2,8),e=1;e!=o;)u=c.val&c.position,c.position>>=1,c.position==0&&(c.position=r,c.val=f(c.index++)),l|=(u>0?1:0)*e,e<<=1;S=d(l);break;case 1:for(l=0,o=Math.pow(2,16),e=1;e!=o;)u=c.val&c.position,c.position>>=1,c.position==0&&(c.position=r,c.val=f(c.index++)),l|=(u>0?1:0)*e,e<<=1;S=d(l);break;case 2:return""}for(n[3]=S,L=S,h.push(S);;){if(c.index>t)return"";for(l=0,o=Math.pow(2,m),e=1;e!=o;)u=c.val&c.position,c.position>>=1,c.position==0&&(c.position=r,c.val=f(c.index++)),l|=(u>0?1:0)*e,e<<=1;switch(S=l){case 0:for(l=0,o=Math.pow(2,8),e=1;e!=o;)u=c.val&c.position,c.position>>=1,c.position==0&&(c.position=r,c.val=f(c.index++)),l|=(u>0?1:0)*e,e<<=1;n[a++]=d(l),S=a-1,p--;break;case 1:for(l=0,o=Math.pow(2,16),e=1;e!=o;)u=c.val&c.position,c.position>>=1,c.position==0&&(c.position=r,c.val=f(c.index++)),l|=(u>0?1:0)*e,e<<=1;n[a++]=d(l),S=a-1,p--;break;case 2:return h.join("")}if(p==0&&(p=Math.pow(2,m),m++),n[S])P=n[S];else if(S===a)P=L+L.charAt(0);else return null;h.push(P),n[a++]=L+P.charAt(0),p--,L=P,p==0&&(p=Math.pow(2,m),m++)}}};return O}();typeof _!="undefined"&&_!=null&&(_.exports=de)});import{h as fe,onMounted as pe,onUnmounted as ue,ref as I,watch as ye}from"vue";var V=ce(X());async function H(d,w={}){typeof d=="object"&&!(d instanceof HTMLElement)&&d.view==="headless"&&(w=d,d=null);let{appUrl:C="https://livecodes.io/",params:b={},config:y={},import:O,headless:t,lite:r,loading:f="lazy",template:n,view:i}=w,p=t||i==="headless",a=null;if(typeof d=="string")a=document.querySelector(d);else if(d instanceof HTMLElement)a=d;else if(!(p&&typeof d=="object"))throw new Error("A valid container element is required.");if(!a)if(p)a=document.createElement("div"),z(a),document.body.appendChild(a);else throw new Error(`Cannot find element: "${d}"`);let m;try{m=new URL(C)}catch(s){throw new Error(`"${C}" is not a valid URL.`)}let P=m.origin;if(b&&typeof b=="object")try{m.searchParams.set("params",(0,V.compressToEncodedURIComponent)(JSON.stringify(b)))}catch(s){Object.keys(b).forEach(v=>{m.searchParams.set(v,encodeURIComponent(String(b[v])))})}if(n&&m.searchParams.set("template",n),O&&m.searchParams.set("x",encodeURIComponent(O)),p&&m.searchParams.set("headless","true"),r&&(console.warn(`Deprecation notice: "lite" option is deprecated. Use "config: { mode: 'lite' }" instead.`),typeof y=="object"&&y.mode==null?y.mode="lite":m.searchParams.set("lite","true")),i&&(console.warn('Deprecation notice: The "view" option has been moved to "config.view". For headless mode use "headless: true".'),typeof y=="object"&&y.view==null&&i!=="headless"?y.view=i:m.searchParams.set("view",i)),typeof y=="string")try{new URL(y),m.searchParams.set("config",encodeURIComponent(y))}catch(s){throw new Error('"config" is not a valid URL or configuration object.')}else if(typeof y=="object")Object.keys(y).length>0&&m.searchParams.set("config","sdk");else throw new Error('"config" is not a valid URL or configuration object.');m.searchParams.set("embed","true"),m.searchParams.set("loading",p?"eager":f);let h=!1,E="Cannot call API methods after calling `destroy()`.",l=await new Promise(s=>{var T,M,k,j,U,W,q,Q,Z;if(!a)return;let v=a.dataset.height||a.style.height;if(v&&!p){let N=isNaN(Number(v))?v:v+"px";a.style.height=N}a.dataset.defaultStyles!=="false"&&!p&&((T=a.style).backgroundColor||(T.backgroundColor="#fff"),(M=a.style).border||(M.border="1px solid black"),(k=a.style).borderRadius||(k.borderRadius="8px"),(j=a.style).boxSizing||(j.boxSizing="border-box"),(U=a.style).padding||(U.padding="0"),(W=a.style).width||(W.width="100%"),(q=a.style).height||(q.height=a.style.height||"300px"),a.style.minHeight="200px",a.style.flexGrow="1",(Q=a.style).overflow||(Q.overflow="hidden"),(Z=a.style).resize||(Z.resize="vertical"));let x="livecodes",A=a.querySelector(`iframe.${x}`),g=A||document.createElement("iframe");g.classList.add(x),g.setAttribute("allow","accelerometer; camera; encrypted-media; display-capture; geolocation; gyroscope; microphone; midi; clipboard-read; clipboard-write; web-share"),g.setAttribute("allowtransparency","true"),g.setAttribute("allowpaymentrequest","true"),g.setAttribute("allowfullscreen","true"),g.setAttribute("sandbox","allow-same-origin allow-downloads allow-forms allow-modals allow-orientation-lock allow-pointer-lock allow-popups allow-presentation allow-scripts");let R=f==="eager"?"eager":"lazy";g.setAttribute("loading",R),p?z(g):(g.style.height="100%",g.style.minHeight="200px",g.style.width="100%",g.style.margin="0",g.style.border="0",g.style.borderRadius=a.style.borderRadius),addEventListener("message",function N(D){var $,G;D.source!==g.contentWindow||D.origin!==P||(($=D.data)==null?void 0:$.type)!=="livecodes-get-config"||(removeEventListener("message",N),(G=g.contentWindow)==null||G.postMessage({type:"livecodes-config",payload:y},P))}),g.onload=()=>{s(g)},g.src=m.href,A||a.appendChild(g)}),u=new Promise(s=>{addEventListener("message",function v(x){var A;x.source!==l.contentWindow||x.origin!==P||((A=x.data)==null?void 0:A.type)!=="livecodes-ready"||(removeEventListener("message",v),s(),u.settled=!0)})}),o=()=>h?Promise.reject(E):new Promise(async s=>{var x;u.settled&&s();let v={type:"livecodes-load"};(x=l.contentWindow)==null||x.postMessage(v,P),await u,s()}),e=(s,v)=>new Promise(async(x,A)=>{var R;if(h)return A(E);await o();let g=te();addEventListener("message",function T(M){var k,j;if(!(M.source!==l.contentWindow||M.origin!==P||((k=M.data)==null?void 0:k.type)!=="livecodes-api-response"||((j=M.data)==null?void 0:j.id)!==g)&&M.data.method===s){removeEventListener("message",T);let U=M.data.payload;U!=null&&U.error?A(U.error):x(U)}}),(R=l.contentWindow)==null||R.postMessage({method:s,id:g,args:v},P)}),S={},c=["load","ready","code","console","tests","destroy"],K=(s,v)=>{var x;if(h)throw new Error(E);return c.includes(s)?(e("watch",[s]),S[s]||(S[s]=[]),(x=S[s])==null||x.push(v),{remove:()=>{var A,g;S[s]=(A=S[s])==null?void 0:A.filter(R=>R!==v),((g=S[s])==null?void 0:g.length)===0&&e("watch",[s,"unsubscribe"])}}):{remove:()=>{}}},ee=s=>({"livecodes-app-loaded":"load","livecodes-ready":"ready","livecodes-change":"code","livecodes-console":"console","livecodes-test-results":"tests","livecodes-destroy":"destroy"})[s];addEventListener("message",async s=>{var A,g,R,T;let v=ee((g=(A=s.data)==null?void 0:A.type)!=null?g:"");if(s.source!==l.contentWindow||s.origin!==P||!v||!S[v])return;let x=(R=s.data)==null?void 0:R.payload;(T=S[v])==null||T.forEach(M=>{M(x)})});let B=()=>{var s;Object.values(S).forEach(v=>{v.length=0}),(s=l==null?void 0:l.remove)==null||s.call(l),h=!0};f==="lazy"&&"IntersectionObserver"in window&&new IntersectionObserver((v,x)=>{v.forEach(async A=>{A.isIntersecting&&(await o(),x.unobserve(a))})},{rootMargin:"150px"}).observe(a);function z(s){s.style.position="absolute",s.style.top="0",s.style.visibility="hidden",s.style.opacity="0"}let te=()=>(String(Math.random())+Date.now().toFixed()).replace("0.","");return{load:()=>o(),run:()=>e("run"),format:s=>e("format",[s]),getShareUrl:s=>e("getShareUrl",[s]),getConfig:s=>e("getConfig",[s]),setConfig:s=>e("setConfig",[s]),getCode:()=>e("getCode"),show:(s,v)=>e("show",[s,v]),runTests:()=>e("runTests"),onChange:s=>K("code",s),watch:K,exec:(s,...v)=>e("exec",[s,...v]),destroy:()=>u.settled?e("destroy").then(B):h?Promise.reject(E):(B(),Promise.resolve())}}var Y;globalThis.document&&document.currentScript&&"prefill"in((Y=document.currentScript)==null?void 0:Y.dataset)&&window.addEventListener("load",()=>{document.querySelectorAll(".livecodes").forEach(d=>{let w,C=d.dataset.options;if(C)try{w=JSON.parse(C)}catch(t){}let b,y=d.dataset.config||d.dataset.prefill;if(y)try{b=JSON.parse(y)}catch(t){}let O=encodeURIComponent(d.outerHTML);d.innerHTML="",H(d,{import:"dom/"+O,...w,...b?{config:b}:{}})})});var me={appUrl:String,config:[Object,String],headless:Boolean,import:String,lite:Boolean,loading:String,params:Object,template:String,view:String,height:String},J=d=>JSON.parse(JSON.stringify(d)),he={props:me,emits:["sdkReady"],setup(d,w){let{height:C,...b}=d,y=I(),O=I(C||""),t=I(),{config:r,...f}=b,n=JSON.stringify(r),i=JSON.stringify(f);return pe(()=>{y.value&&H(y.value,J(b)).then(p=>{t.value=p,w.emit("sdkReady",p)})}),ye(d,async p=>{var E;if(!y.value||!t.value)return;let{height:a,...m}=p;O.value=a||"";let{config:P,...h}=m;typeof P=="string"&&(P=await fetch(P).then(L=>L.json())),JSON.stringify(h)!==i?(await((E=t.value)==null?void 0:E.destroy()),H(y.value,J(m)).then(L=>{t.value=L,w.emit("sdkReady",L)})):JSON.stringify(P)!==n&&t.value.setConfig(J(P)||{}),n=JSON.stringify(P),i=JSON.stringify(h)}),ue(()=>{var p;(p=t.value)==null||p.destroy()}),()=>{var p,a;return fe("div",{ref:y,"data-height":O},((a=(p=w.slots).default)==null?void 0:a.call(p))||"")}}},Pe=he;export{Pe as default}; | ||
| var ee=Object.create;var Y=Object.defineProperty;var te=Object.getOwnPropertyDescriptor;var ne=Object.getOwnPropertyNames;var oe=Object.getPrototypeOf,re=Object.prototype.hasOwnProperty;var se=(c,h)=>()=>(h||c((h={exports:{}}).exports,h),h.exports);var ie=(c,h,b,u)=>{if(h&&typeof h=="object"||typeof h=="function")for(let P of ne(h))!re.call(c,P)&&P!==b&&Y(c,P,{get:()=>h[P],enumerable:!(u=te(h,P))||u.enumerable});return c};var ae=(c,h,b)=>(b=c!=null?ee(oe(c)):{},ie(h||!c||!c.__esModule?Y(b,"default",{value:c,enumerable:!0}):b,c));var F=se((ge,N)=>{var le=function(){var c=String.fromCharCode,h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",u={};function P(n,e){if(!u[n]){u[n]={};for(var a=0;a<n.length;a++)u[n][n.charAt(a)]=a}return u[n][e]}var O={compressToBase64:function(n){if(n==null)return"";var e=O._compress(n,6,function(a){return h.charAt(a)});switch(e.length%4){default:case 0:return e;case 1:return e+"===";case 2:return e+"==";case 3:return e+"="}},decompressFromBase64:function(n){return n==null?"":n==""?null:O._decompress(n.length,32,function(e){return P(h,n.charAt(e))})},compressToUTF16:function(n){return n==null?"":O._compress(n,15,function(e){return c(e+32)})+" "},decompressFromUTF16:function(n){return n==null?"":n==""?null:O._decompress(n.length,16384,function(e){return n.charCodeAt(e)-32})},compressToUint8Array:function(n){for(var e=O.compress(n),a=new Uint8Array(e.length*2),t=0,s=e.length;t<s;t++){var p=e.charCodeAt(t);a[t*2]=p>>>8,a[t*2+1]=p%256}return a},decompressFromUint8Array:function(n){if(n==null)return O.decompress(n);for(var e=new Array(n.length/2),a=0,t=e.length;a<t;a++)e[a]=n[a*2]*256+n[a*2+1];var s=[];return e.forEach(function(p){s.push(c(p))}),O.decompress(s.join(""))},compressToEncodedURIComponent:function(n){return n==null?"":O._compress(n,6,function(e){return b.charAt(e)})},decompressFromEncodedURIComponent:function(n){return n==null?"":n==""?null:(n=n.replace(/ /g,"+"),O._decompress(n.length,32,function(e){return P(b,n.charAt(e))}))},compress:function(n){return O._compress(n,16,function(e){return c(e)})},_compress:function(n,e,a){if(n==null)return"";var t,s,p={},g={},v="",S="",E="",y=2,C=3,f=2,d=[],o=0,r=0,x;for(x=0;x<n.length;x+=1)if(v=n.charAt(x),Object.prototype.hasOwnProperty.call(p,v)||(p[v]=C++,g[v]=!0),S=E+v,Object.prototype.hasOwnProperty.call(p,S))E=S;else{if(Object.prototype.hasOwnProperty.call(g,E)){if(E.charCodeAt(0)<256){for(t=0;t<f;t++)o=o<<1,r==e-1?(r=0,d.push(a(o)),o=0):r++;for(s=E.charCodeAt(0),t=0;t<8;t++)o=o<<1|s&1,r==e-1?(r=0,d.push(a(o)),o=0):r++,s=s>>1}else{for(s=1,t=0;t<f;t++)o=o<<1|s,r==e-1?(r=0,d.push(a(o)),o=0):r++,s=0;for(s=E.charCodeAt(0),t=0;t<16;t++)o=o<<1|s&1,r==e-1?(r=0,d.push(a(o)),o=0):r++,s=s>>1}y--,y==0&&(y=Math.pow(2,f),f++),delete g[E]}else for(s=p[E],t=0;t<f;t++)o=o<<1|s&1,r==e-1?(r=0,d.push(a(o)),o=0):r++,s=s>>1;y--,y==0&&(y=Math.pow(2,f),f++),p[S]=C++,E=String(v)}if(E!==""){if(Object.prototype.hasOwnProperty.call(g,E)){if(E.charCodeAt(0)<256){for(t=0;t<f;t++)o=o<<1,r==e-1?(r=0,d.push(a(o)),o=0):r++;for(s=E.charCodeAt(0),t=0;t<8;t++)o=o<<1|s&1,r==e-1?(r=0,d.push(a(o)),o=0):r++,s=s>>1}else{for(s=1,t=0;t<f;t++)o=o<<1|s,r==e-1?(r=0,d.push(a(o)),o=0):r++,s=0;for(s=E.charCodeAt(0),t=0;t<16;t++)o=o<<1|s&1,r==e-1?(r=0,d.push(a(o)),o=0):r++,s=s>>1}y--,y==0&&(y=Math.pow(2,f),f++),delete g[E]}else for(s=p[E],t=0;t<f;t++)o=o<<1|s&1,r==e-1?(r=0,d.push(a(o)),o=0):r++,s=s>>1;y--,y==0&&(y=Math.pow(2,f),f++)}for(s=2,t=0;t<f;t++)o=o<<1|s&1,r==e-1?(r=0,d.push(a(o)),o=0):r++,s=s>>1;for(;;)if(o=o<<1,r==e-1){d.push(a(o));break}else r++;return d.join("")},decompress:function(n){return n==null?"":n==""?null:O._decompress(n.length,32768,function(e){return n.charCodeAt(e)})},_decompress:function(n,e,a){var t=[],s,p=4,g=4,v=3,S="",E=[],y,C,f,d,o,r,x,l={val:a(0),position:e,index:1};for(y=0;y<3;y+=1)t[y]=y;for(f=0,o=Math.pow(2,2),r=1;r!=o;)d=l.val&l.position,l.position>>=1,l.position==0&&(l.position=e,l.val=a(l.index++)),f|=(d>0?1:0)*r,r<<=1;switch(s=f){case 0:for(f=0,o=Math.pow(2,8),r=1;r!=o;)d=l.val&l.position,l.position>>=1,l.position==0&&(l.position=e,l.val=a(l.index++)),f|=(d>0?1:0)*r,r<<=1;x=c(f);break;case 1:for(f=0,o=Math.pow(2,16),r=1;r!=o;)d=l.val&l.position,l.position>>=1,l.position==0&&(l.position=e,l.val=a(l.index++)),f|=(d>0?1:0)*r,r<<=1;x=c(f);break;case 2:return""}for(t[3]=x,C=x,E.push(x);;){if(l.index>n)return"";for(f=0,o=Math.pow(2,v),r=1;r!=o;)d=l.val&l.position,l.position>>=1,l.position==0&&(l.position=e,l.val=a(l.index++)),f|=(d>0?1:0)*r,r<<=1;switch(x=f){case 0:for(f=0,o=Math.pow(2,8),r=1;r!=o;)d=l.val&l.position,l.position>>=1,l.position==0&&(l.position=e,l.val=a(l.index++)),f|=(d>0?1:0)*r,r<<=1;t[g++]=c(f),x=g-1,p--;break;case 1:for(f=0,o=Math.pow(2,16),r=1;r!=o;)d=l.val&l.position,l.position>>=1,l.position==0&&(l.position=e,l.val=a(l.index++)),f|=(d>0?1:0)*r,r<<=1;t[g++]=c(f),x=g-1,p--;break;case 2:return E.join("")}if(p==0&&(p=Math.pow(2,v),v++),t[x])S=t[x];else if(x===g)S=C+C.charAt(0);else return null;E.push(S),t[g++]=C+S.charAt(0),p--,C=S,p==0&&(p=Math.pow(2,v),v++)}}};return O}();typeof N!="undefined"&&N!=null&&(N.exports=le)});import{h as de,onMounted as fe,onUnmounted as pe,ref as K,watch as ue}from"vue";var D=ae(F());async function J(c,h={}){var q;typeof c=="object"&&!(c instanceof HTMLElement)&&(c.headless||c.view==="headless")&&(h=c,c=null);let{config:b={},headless:u,loading:P="lazy",view:O}=h,n=u||O==="headless",e=null,a=null;if(typeof c=="string")e=document.querySelector(c);else if(c instanceof HTMLElement)e=c;else if(!(n&&typeof c=="object"))throw new Error("A valid container element is required.");if(!e)if(n)e=document.createElement("div"),z(e),document.body.appendChild(e);else throw new Error(`Cannot find element: "${c}"`);let t=new URL(ce(h)),s=t.origin;t.searchParams.set("embed","true"),t.searchParams.set("loading",n?"eager":P);let p=globalThis.process;t.searchParams.set("sdkVersion",((q=p==null?void 0:p.env)==null?void 0:q.SDK_VERSION)||"latest"),typeof b=="object"&&Object.keys(b).length>0&&t.searchParams.set("config","sdk");let g=h.params;typeof g=="object"&&Object.keys(g).length>0&&JSON.stringify(g).length<1800&&Object.keys(g).forEach(i=>{t.searchParams.set(i,encodeURIComponent(String(g[i])))});let v=!1,S="Cannot call API methods after calling `destroy()`.",y=await new Promise(i=>{var k,A,j,H,U,Q,Z,$,G;if(!e)return;let w=e.dataset.height||e.style.height;if(w&&!n){let _=isNaN(Number(w))?w:w+"px";e.style.height=_}e.dataset.defaultStyles!=="false"&&!n&&((k=e.style).backgroundColor||(k.backgroundColor="#fff"),(A=e.style).border||(A.border="1px solid black"),(j=e.style).borderRadius||(j.borderRadius="8px"),(H=e.style).boxSizing||(H.boxSizing="border-box"),(U=e.style).padding||(U.padding="0"),(Q=e.style).width||(Q.width="100%"),(Z=e.style).height||(Z.height=e.style.height||"300px"),e.style.minHeight="200px",e.style.flexGrow="1",($=e.style).overflow||($.overflow="hidden"),(G=e.style).resize||(G.resize="vertical"));let L="livecodes",M=e.querySelector(`iframe.${L}`),m=M||document.createElement("iframe");m.classList.add(L),m.setAttribute("allow","accelerometer; camera; encrypted-media; display-capture; geolocation; gyroscope; microphone; midi; clipboard-read; clipboard-write; web-share"),m.setAttribute("allowtransparency","true"),m.setAttribute("allowpaymentrequest","true"),m.setAttribute("allowfullscreen","true"),m.setAttribute("sandbox","allow-same-origin allow-downloads allow-forms allow-modals allow-orientation-lock allow-pointer-lock allow-popups allow-presentation allow-scripts");let R=P==="eager"?"eager":"lazy";m.setAttribute("loading",R),n?z(m):(m.style.height="100%",m.style.minHeight="200px",m.style.width="100%",m.style.margin="0",m.style.border="0",m.style.borderRadius=e.style.borderRadius),addEventListener("message",function _(T){var I;T.source!==m.contentWindow||T.origin!==s||((I=T.data)==null?void 0:I.type)!=="livecodes-init"||(removeEventListener("message",_),a=Number(T.data.payload.appVersion.replace(/^v/,"")))}),(!a||a<46)&&addEventListener("message",function _(T){var I,X;T.source!==m.contentWindow||T.origin!==s||((I=T.data)==null?void 0:I.type)!=="livecodes-get-config"||(removeEventListener("message",_),(X=m.contentWindow)==null||X.postMessage({type:"livecodes-config",payload:b},s))}),m.onload=()=>{i(m)},m.src=t.href,M||e.appendChild(m)}),C=new Promise(i=>{addEventListener("message",function w(L){var M;L.source!==y.contentWindow||L.origin!==s||((M=L.data)==null?void 0:M.type)!=="livecodes-ready"||(removeEventListener("message",w),i(),C.settled=!0)})}),f=()=>v?Promise.reject(S):new Promise(async i=>{var L;C.settled&&i();let w={type:"livecodes-load"};(L=y.contentWindow)==null||L.postMessage(w,s),await C,i()}),d=(i,w)=>new Promise(async(L,M)=>{var R;if(v)return M(S);await f();let m=V();addEventListener("message",function k(A){var j,H;if(!(A.source!==y.contentWindow||A.origin!==s||((j=A.data)==null?void 0:j.type)!=="livecodes-api-response"||((H=A.data)==null?void 0:H.id)!==m)&&A.data.method===i){removeEventListener("message",k);let U=A.data.payload;U!=null&&U.error?M(U.error):L(U)}}),(R=y.contentWindow)==null||R.postMessage({method:i,id:m,args:w},s)}),o={},r=["load","ready","code","console","tests","destroy"],x=(i,w)=>{var L;if(v)throw new Error(S);return r.includes(i)?(d("watch",[i]),o[i]||(o[i]=[]),(L=o[i])==null||L.push(w),{remove:()=>{var M,m;o[i]=(M=o[i])==null?void 0:M.filter(R=>R!==w),((m=o[i])==null?void 0:m.length)===0&&d("watch",[i,"unsubscribe"])}}):{remove:()=>{}}},l=i=>({"livecodes-app-loaded":"load","livecodes-ready":"ready","livecodes-change":"code","livecodes-console":"console","livecodes-test-results":"tests","livecodes-destroy":"destroy"})[i];addEventListener("message",async i=>{var M,m,R,k;let w=l((m=(M=i.data)==null?void 0:M.type)!=null?m:"");if(i.source!==y.contentWindow||i.origin!==s||!w||!o[w])return;let L=(R=i.data)==null?void 0:R.payload;(k=o[w])==null||k.forEach(A=>{A(L)})});let W=()=>{var i;Object.values(o).forEach(w=>{w.length=0}),(i=y==null?void 0:y.remove)==null||i.call(y),v=!0};P==="lazy"&&"IntersectionObserver"in window&&new IntersectionObserver((w,L)=>{w.forEach(async M=>{M.isIntersecting&&(await f(),L.unobserve(e))})},{rootMargin:"150px"}).observe(e);function z(i){i.style.position="absolute",i.style.top="0",i.style.visibility="hidden",i.style.opacity="0"}let V=()=>(String(Math.random())+Date.now().toFixed()).replace("0.","");return{load:()=>f(),run:()=>d("run"),format:i=>d("format",[i]),getShareUrl:i=>d("getShareUrl",[i]),getConfig:i=>d("getConfig",[i]),setConfig:i=>d("setConfig",[i]),getCode:()=>d("getCode"),show:(i,w)=>d("show",[i,w]),runTests:()=>d("runTests"),onChange:i=>x("code",i),watch:x,exec:(i,...w)=>d("exec",[i,...w]),destroy:()=>C.settled?d("destroy").then(W):v?Promise.reject(S):(W(),Promise.resolve())}}function ce(c={}){let{appUrl:h="https://livecodes.io",params:b={},config:u={},headless:P,import:O,lite:n,view:e,...a}=c,t;try{t=new URL(h)}catch(g){throw new Error(`${h} is not a valid URL.`)}let s=new URLSearchParams;Object.entries(a).forEach(([g,v])=>{v!==void 0&&t.searchParams.set(g,String(v))});let p=c.view==="headless"||P;if(n&&(console.warn(`Deprecation notice: "lite" option is deprecated. Use "config: { mode: 'lite' }" instead.`),typeof u=="object"&&u.mode==null?u.mode="lite":t.searchParams.set("lite","true")),e&&(console.warn('Deprecation notice: The "view" option has been moved to "config.view". For headless mode use "headless: true".'),typeof u=="object"&&u.view==null&&e!=="headless"?u.view=e:t.searchParams.set("view",e)),typeof u=="string")try{new URL(u),t.searchParams.set("config",encodeURIComponent(u))}catch(g){throw new Error('"config" is not a valid URL or configuration object.')}else u&&typeof u=="object"&&Object.keys(u).length>0&&(u.title&&u.title!=="Untitled Project"&&t.searchParams.set("title",u.title),u.description&&u.description.length>0&&t.searchParams.set("description",u.description),s.set("config","code/"+(0,D.compressToEncodedURIComponent)(JSON.stringify(u))));if(b&&typeof b=="object"&&Object.keys(b).length>0)try{s.set("params",(0,D.compressToEncodedURIComponent)(JSON.stringify(b)))}catch(g){Object.keys(b).forEach(v=>{t.searchParams.set(v,encodeURIComponent(String(b[v])))})}return O&&t.searchParams.set("x",encodeURIComponent(O)),p&&t.searchParams.set("headless","true"),t.hash=s.toString(),t.href}var ye={appUrl:String,config:[Object,String],headless:Boolean,import:String,lite:Boolean,loading:String,params:Object,template:String,view:String,height:String},B=c=>JSON.parse(JSON.stringify(c)),me={props:ye,emits:["sdkReady"],setup(c,h){let{height:b,...u}=c,P=K(),O=K(b||""),n=K(),{config:e,...a}=u,t=JSON.stringify(e),s=JSON.stringify(a);return fe(()=>{P.value&&J(P.value,B(u)).then(p=>{n.value=p,h.emit("sdkReady",p)})}),ue(c,async p=>{var y;if(!P.value||!n.value)return;let{height:g,...v}=p;O.value=g||"";let{config:S,...E}=v;typeof S=="string"&&(S=await fetch(S).then(C=>C.json())),JSON.stringify(E)!==s?(await((y=n.value)==null?void 0:y.destroy()),J(P.value,B(v)).then(C=>{n.value=C,h.emit("sdkReady",C)})):JSON.stringify(S)!==t&&n.value.setConfig(B(S)||{}),t=JSON.stringify(S),s=JSON.stringify(E)}),pe(()=>{var p;(p=n.value)==null||p.destroy()}),()=>{var p,g;return de("div",{ref:P,"data-height":O},((g=(p=h.slots).default)==null?void 0:g.call(p))||"")}}},Se=me;export{Se as default}; |
Sorry, the diff of this file is too big to display
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 2 instances in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
155878
1.03%1739
0.81%4
100%