var f={title:"Untitled Project",description:"",head:` `,htmlAttrs:'lang="en" class=""',tags:[],autoupdate:!0,autosave:!1,autotest:!1,delay:1500,formatOnsave:!1,view:"split",mode:"full",theme:"dark",themeColor:void 0,layout:"responsive",editorTheme:void 0,appLanguage:void 0,recoverUnsaved:!0,showSpacing:!1,welcome:!0,readonly:!1,allowLangChange:!0,activeEditor:void 0,languages:void 0,markup:{language:"html",content:""},style:{language:"css",content:""},script:{language:"javascript",content:""},stylesheets:[],scripts:[],cssPreset:"",imports:{},types:{},tests:{language:"typescript",content:""},tools:{enabled:"all",active:"",status:""},zoom:1,processors:[],customSettings:{},editor:void 0,fontFamily:void 0,fontSize:void 0,useTabs:!1,tabSize:2,lineNumbers:!0,wordWrap:!1,closeBrackets:!0,foldRegions:!1,semicolons:!0,singleQuote:!1,trailingComma:!0,emmet:!0,enableAI:!1,editorMode:void 0,version:"46"};var U=t=>t.replace(/&/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""");var L=(t,s=!0)=>t.replace(/\\/g,s?"\\\\":"\\").replace(/`/g,"\\`").replace(/<\/script>/g,"<\\/script>");var q=t=>(globalThis.structuredClone||(s=>JSON.parse(JSON.stringify(s,(l,a)=>a===void 0?null:a))))(t);var B=t=>{if("clipboard"in navigator)return navigator.clipboard.writeText(t);if(document.queryCommandSupported&&document.queryCommandSupported("copy")){let s=document.createElement("textarea");s.textContent=t,s.style.position="fixed",document.body.appendChild(s),s.select();try{return document.execCommand("copy")}catch(l){return console.warn("Copy to clipboard failed.",l),!1}finally{document.body.removeChild(s)}}return!1};var $=(t,s,l=!0)=>(l?"":" ".repeat(s))+t.split(` `).join(` `+" ".repeat(s));var z={APP_VERSION:"46",SDK_VERSION:"0.11.1",COMMIT_SHA:"43f0982",REPO_URL:"https://github.com/live-codes/livecodes",DOCS_BASE_URL:"/docs/"};var V='';var oe=t=>Object.entries(z).reduce((s,[l,a])=>s.replace(new RegExp(`{{${l}}}`,"g"),a),t);var W=oe(V);var J=["esm.sh","skypack","esm.run","jsdelivr.esm","fastly.jsdelivr.esm","gcore.jsdelivr.esm","testingcf.jsdelivr.esm","jsdelivr.b-cdn.esm","jspm"],Z=["jsdelivr","fastly.jsdelivr","unpkg","gcore.jsdelivr","testingcf.jsdelivr","jsdelivr.b-cdn","npmcdn"],Q=["jsdelivr.gh","fastly.jsdelivr.gh","statically","gcore.jsdelivr.gh","testingcf.jsdelivr.gh","jsdelivr.b-cdn.gh"],v={getModuleUrl:(t,{isModule:s=!0,defaultCDN:l="esm.sh",external:a}={})=>{t=t.replace(/#nobundle/g,"");let u=m=>!a||!m.includes("https://esm.sh")?m:m.includes("?")?`${m}&external=${a}`:`${m}?external=${a}`,b=K(t,s,l);return b?u(b):s?u("https://esm.sh/"+t):"https://cdn.jsdelivr.net/npm/"+t},getUrl:(t,s)=>t.startsWith("http")||t.startsWith("data:")?t:K(t,!1,s||re())||t,cdnLists:{npm:Z,module:J,gh:Q},checkCDNs:async(t,s)=>{let l=[s,...v.cdnLists.npm].filter(Boolean);for(let a of l)try{if((await fetch(v.getUrl(t,a),{method:"HEAD"})).ok)return a}catch{}return v.cdnLists.npm[0]}},re=()=>{if(globalThis.appCDN)return globalThis.appCDN;try{return new URL(location.href).searchParams.get("appCDN")||v.cdnLists.npm[0]}catch{return v.cdnLists.npm[0]}},K=(t,s,l)=>{let a=s&&t.startsWith("unpkg:")?"?module":"";t.startsWith("gh:")?t=t.replace("gh",Q[0]):t.includes(":")||(t=(l||(s?J[0]:Z[0]))+":"+t);for(let u of se){let[b,m]=u;if(b.test(t))return t.replace(b,m)+a}return null},se=[[/^(esm\.sh:)(.+)/i,"https://esm.sh/$2"],[/^(npm:)(.+)/i,"https://esm.sh/$2"],[/^(node:)(.+)/i,"https://esm.sh/$2"],[/^(jsr:)(.+)/i,"https://esm.sh/jsr/$2"],[/^(skypack:)(.+)/i,"https://cdn.skypack.dev/$2"],[/^(jsdelivr:)(.+)/i,"https://cdn.jsdelivr.net/npm/$2"],[/^(fastly\.jsdelivr:)(.+)/i,"https://fastly.jsdelivr.net/npm/$2"],[/^(gcore\.jsdelivr:)(.+)/i,"https://gcore.jsdelivr.net/npm/$2"],[/^(testingcf\.jsdelivr:)(.+)/i,"https://testingcf.jsdelivr.net/npm/$2"],[/^(jsdelivr\.b-cdn:)(.+)/i,"https://jsdelivr.b-cdn.net/npm/$2"],[/^(jsdelivr\.gh:)(.+)/i,"https://cdn.jsdelivr.net/gh/$2"],[/^(fastly\.jsdelivr\.gh:)(.+)/i,"https://fastly.jsdelivr.net/gh/$2"],[/^(gcore\.jsdelivr\.gh:)(.+)/i,"https://gcore.jsdelivr.net/gh/$2"],[/^(testingcf\.jsdelivr\.gh:)(.+)/i,"https://testingcf.jsdelivr.net/gh/$2"],[/^(jsdelivr\.b-cdn\.gh:)(.+)/i,"https://jsdelivr.b-cdn.net/gh/$2"],[/^(statically:)(.+)/i,"https://cdn.statically.io/gh/$2"],[/^(esm\.run:)(.+)/i,"https://esm.run/$2"],[/^(jsdelivr\.esm:)(.+)/i,"https://cdn.jsdelivr.net/npm/$2/+esm"],[/^(fastly\.jsdelivr\.esm:)(.+)/i,"https://fastly.jsdelivr.net/npm/$2/+esm"],[/^(gcore\.jsdelivr\.esm:)(.+)/i,"https://gcore.jsdelivr.net/npm/$2/+esm"],[/^(testingcf\.jsdelivr\.esm:)(.+)/i,"https://testingcf.jsdelivr.net/npm/$2/+esm"],[/^(jsdelivr\.b-cdn\.esm:)(.+)/i,"https://jsdelivr.b-cdn.net/npm/$2/+esm"],[/^(jspm:)(.+)/i,"https://jspm.dev/$2"],[/^(esbuild:)(.+)/i,"https://esbuild.vercel.app/$2"],[/^(bundle\.run:)(.+)/i,"https://bundle.run/$2"],[/^(unpkg:)(.+)/i,"https://unpkg.com/$2"],[/^(npmcdn:)(.+)/i,"https://npmcdn.com/$2"],[/^(bundlejs:)(.+)/i,"https://deno.bundlejs.com/?file&q=$2"],[/^(bundle:)(.+)/i,"https://deno.bundlejs.com/?file&q=$2"],[/^(deno:)(.+)/i,"https://deno.bundlejs.com/?file&q=https://deno.land/x/$2/mod.ts"],[/^(https:\/\/deno\.land\/.+)/i,"https://deno.bundlejs.com/?file&q=$1"],[/^(github:|https:\/\/github\.com\/)(.[^\/]+?)\/(.[^\/]+?)\/(?!releases\/)(?:(?:blob|raw)\/)?(.+?\/.+)/i,"https://deno.bundlejs.com/?file&q=https://cdn.jsdelivr.net/gh/$2/$3@$4"],[/^(gist\.github:)(.+?\/[0-9a-f]+\/raw\/(?:[0-9a-f]+\/)?.+)$/i,"https://gist.githack.com/$2"],[/^(gitlab:|https:\/\/gitlab\.com\/)([^\/]+.*\/[^\/]+)\/(?:raw|blob)\/(.+?)(?:\?.*)?$/i,"https://deno.bundlejs.com/?file&q=https://gl.githack.com/$2/raw/$3"],[/^(bitbucket:|https:\/\/bitbucket\.org\/)([^\/]+\/[^\/]+)\/(?:raw|src)\/(.+?)(?:\?.*)?$/i,"https://deno.bundlejs.com/?file&q=https://bb.githack.com/$2/raw/$3"],[/^(bitbucket:)snippets\/([^\/]+\/[^\/]+)\/revisions\/([^\/\#\?]+)(?:\?[^#]*)?(?:\#file-(.+?))$/i,"https://bb.githack.com/!api/2.0/snippets/$2/$3/files/$4"],[/^(bitbucket:)snippets\/([^\/]+\/[^\/\#\?]+)(?:\?[^#]*)?(?:\#file-(.+?))$/i,"https://bb.githack.com/!api/2.0/snippets/$2/HEAD/files/$3"],[/^(bitbucket:)\!api\/2.0\/snippets\/([^\/]+\/[^\/]+\/[^\/]+)\/files\/(.+?)(?:\?.*)?$/i,"https://bb.githack.com/!api/2.0/snippets/$2/files/$3"],[/^(api\.bitbucket:)2.0\/snippets\/([^\/]+\/[^\/]+\/[^\/]+)\/files\/(.+?)(?:\?.*)?$/i,"https://bb.githack.com/!api/2.0/snippets/$2/files/$3"],[/^(rawgit:)(.+?\/[0-9a-f]+\/raw\/(?:[0-9a-f]+\/)?.+)$/i,"https://gist.githack.com/$2"],[/^(rawgit:|https:\/\/raw\.githubusercontent\.com)(\/[^\/]+\/[^\/]+|[0-9A-Za-z-]+\/[0-9a-f]+\/raw)\/(.+)/i,"https://deno.bundlejs.com/?file&q=https://raw.githack.com/$2/$3"]];var ie={esm:"livecodes.js",umd:"livecodes.umd.js",react:"react.js",vue:"vue.js",types:"index.d.ts"},G={getAppUrl:()=>"https://v46.livecodes.io/",getSDKUrl:(t="esm")=>v.getUrl(`livecodes@0.11.1/${ie[t]}`)};var Se=async({config:t,editorLanguages:s,modal:l,notifications:a,eventsManager:u,createEditorFn:b,getUrlFn:m})=>{let M=t.title,y=t.activeEditor||"markup",I=document.createElement("div");I.innerHTML=W;let E=I.firstChild;l.show(E,{isAsync:!0,onClose:()=>C?.destroy()});let A=E.querySelector("#embed-preview-container"),T=E.querySelector("#embed-form"),P=E.querySelector("#embed-code"),O=E.querySelector("#embed-copy-btn");if(!A||!T||!P||!O)return;[{title:window.deps.translateString("embed.theme.heading","Theme"),name:"theme",options:[{label:window.deps.translateString("embed.theme.dark","Dark"),value:"dark",checked:!0},{label:window.deps.translateString("embed.theme.light","Light"),value:"light"}]},{title:window.deps.translateString("embed.loading.heading","Loading"),name:"loading",options:[{label:window.deps.translateString("embed.loading.lazy","Lazy"),value:"lazy",checked:!0},{label:window.deps.translateString("embed.loading.click","On-click"),value:"click"},{label:window.deps.translateString("embed.loading.eager","Eager"),value:"eager"}]},{title:window.deps.translateString("embed.lite","Lite Mode"),name:"lite",options:[{value:"true",checked:!1}],help:"/docs/features/lite"},{title:window.deps.translateString("embed.readonly","Read only"),name:"readonly",options:[{value:"true",checked:!1}]},{title:window.deps.translateString("embed.mode.heading","Display Mode"),name:"mode",options:[{label:window.deps.translateString("embed.mode.full","Full"),value:"full",checked:!0},{label:window.deps.translateString("embed.mode.simple","Simple"),value:"simple"},{label:window.deps.translateString("embed.mode.editor","Editor"),value:"editor"},{label:window.deps.translateString("embed.mode.codeblock","Code Block"),value:"codeblock"},{label:window.deps.translateString("embed.mode.result","Result"),value:"result"}],help:"/docs/features/display-modes"},{title:window.deps.translateString("embed.view.heading","Default View"),name:"view",options:[{label:window.deps.translateString("embed.view.split","Split"),value:"split",checked:!0},{label:window.deps.translateString("embed.view.editor","Editor"),value:"editor"},{label:window.deps.translateString("embed.view.result","Result"),value:"result"}],help:"/docs/features/default-view"},{title:window.deps.translateString("embed.layout.heading","Layout"),name:"layout",options:[{label:window.deps.translateString("embed.layout.responsive","Responsive"),value:"responsive",checked:!0},{label:window.deps.translateString("embed.layout.horizontal","Horizontal"),value:"horizontal"},{label:window.deps.translateString("embed.layout.vertical","Vertical"),value:"vertical"}],help:"/docs/configuration/configuration-object#layout"},{title:window.deps.translateString("embed.activeEditor.heading","Active Editor"),name:"activeEditor",options:[{label:window.deps.translateString("embed.activeEditor.markup","{{markup}}",{markup:s.markup}),value:"markup",checked:y==="markup"},{label:window.deps.translateString("embed.activeEditor.style","{{style}}",{style:s.style}),value:"style",checked:y==="style"},{label:window.deps.translateString("embed.activeEditor.script","{{script}}",{script:s.script}),value:"script",checked:y==="script"}]},{title:window.deps.translateString("embed.codeEditor.heading","Code Editor"),name:"editor",options:[{label:window.deps.translateString("embed.codeEditor.default","Default"),value:"",checked:!0},{label:window.deps.translateString("embed.codeEditor.monaco","Monaco"),value:"monaco"},{label:window.deps.translateString("embed.codeEditor.codeMirror","CodeMirror"),value:"codemirror"},{label:window.deps.translateString("embed.codeEditor.codeJar","CodeJar"),value:"codejar"}],help:"/docs/features/editor-settings#code-editor"},{title:window.deps.translateString("embed.tools.heading","Tools"),name:"tools",options:[{label:window.deps.translateString("embed.tools.closed","Closed"),value:"closed",checked:!0},{label:window.deps.translateString("embed.tools.open","Open"),value:"open"},{label:window.deps.translateString("embed.tools.full","Full"),value:"full"},{label:window.deps.translateString("embed.tools.none","None"),value:"none"}],help:"/docs/features/tools-pane"},{title:window.deps.translateString("embed.activeTool.heading","Active Tool"),name:"activeTool",options:[{label:window.deps.translateString("embed.activeTool.console","Console"),value:"console",checked:!0},{label:window.deps.translateString("embed.activeTool.compiled","Compiled"),value:"compiled"},{label:window.deps.translateString("embed.activeTool.tests","Tests"),value:"tests"}].filter(e=>!(e.value==="tests"&&!t.tests?.content)),help:"/docs/features/tools-pane"},{title:window.deps.translateString("embed.permanentUrl","Permanent URL"),name:"permanentUrl",options:[{value:"true",checked:!0}],help:"/docs/features/permanent-url"},{title:window.deps.translateString("embed.embedType.heading","Embed Type"),name:"type",options:[{label:window.deps.translateString("embed.embedType.cdn","Script (CDN)"),value:"cdn",checked:!0},{label:window.deps.translateString("embed.embedType.npm","JS (npm)"),value:"npm"},{label:window.deps.translateString("embed.embedType.react","React"),value:"react"},{label:window.deps.translateString("embed.embedType.vue","Vue"),value:"vue"},{label:window.deps.translateString("embed.embedType.svelte","Svelte"),value:"svelte"},{label:window.deps.translateString("embed.embedType.iframe","Iframe"),value:"iframe"},{label:window.deps.translateString("embed.embedType.html","HTML"),value:"html"}]}].forEach(e=>{let o=document.createElement("label");if(o.innerHTML=e.title,T.appendChild(o),e.help){let r=document.createElement("a");r.href=e.help,r.target="_blank",r.classList.add("help-link"),r.title=window.deps.translateString("generic.clickForInfo","Click for info..."),o.appendChild(r);let d=document.createElement("i");d.classList.add("icon-info"),r.appendChild(d)}let i=document.createElement("div");i.classList.add("input-container"),T.appendChild(i),e.options.forEach(r=>{let d=`embed-${e.name}`,p=`${d}-${r.value}`,x=!r.label&&r.value==="true",k=document.createElement("span");i.appendChild(k);let g=document.createElement("input");if(g.type=x?"checkbox":"radio",g.name=d,g.id=p,g.value=r.value,g.checked=r.checked||!1,k.appendChild(g),x)g.classList.add("switch");else{let h=document.createElement("label");h.classList.add("radio-label"),h.htmlFor=p,h.innerHTML=r.label||"",k.appendChild(h)}})});let C=await b(P),X="https://livecodes.io",H=G.getSDKUrl("umd"),j=await m(!0),w=new URL(j),D=w.origin+w.pathname,R=document.createElement("iframe");R.id="embed-preview-iframe",A.innerHTML="",R.tabIndex=-1,A.appendChild(R);let Y=()=>"livecodes-"+(Math.random()+1).toString(36).substring(2),S=e=>{let o={...e.mode!==f.mode?{mode:e.mode}:{},...e.theme!==f.theme?{theme:e.theme}:{},...!e.lite&&(e.tools!=="closed"||e.activeTool!=="console")?{tools:{enabled:e.tools==="none"?[]:"all",status:e.tools,active:e.activeTool}}:{},...e.readonly?{readonly:e.readonly}:{},...e.mode!=="result"&&e.activeEditor!==y?{activeEditor:e.activeEditor}:{},...e.editor?{editor:e.editor}:{},...e.layout!==f.layout?{layout:e.layout}:{}},i=w.searchParams.get("x");return{...D!=="https://livecodes.io/"?{appUrl:D}:{},...Object.keys(o).length>0?{config:o}:{},...i?{import:i}:{},...e.lite?{lite:e.lite}:{},...e.loading!=="lazy"?{loading:e.loading}:{},...e.view&&e.view!=="split"?{view:e.view}:{}}},F=e=>{let o=new URL(j);return o.searchParams.set(e.lite?"lite":"embed","true"),e.loading&&e.loading!=="lazy"&&o.searchParams.set("loading",String(e.loading)),e.view&&e.view!=="split"&&o.searchParams.set("view",String(e.view)),e.mode!=="result"&&e.activeEditor&&e.activeEditor!==y&&o.searchParams.set("activeEditor",String(e.activeEditor)),e.mode&&e.mode!==f.mode&&o.searchParams.set("mode",String(e.mode)),e.theme&&e.theme!==f.theme&&o.searchParams.set("theme",String(e.theme)),e.tools&&!e.lite&&(e.tools!=="closed"||e.activeTool!=="console")&&o.searchParams.set(e.tools==="none"?"tools":String(e.activeTool),String(e.tools)),e.readonly!==void 0&&o.searchParams.set("readonly",String(e.readonly)),e.editor&&o.searchParams.set("editor",String(e.editor)),e.layout&&e.layout!==f.layout&&o.searchParams.set("layout",String(e.layout)),decodeURIComponent(o.href)},ee={cdn:e=>{let o=Y(),i=`
`,r=S(e),d=JSON.stringify(r,null,2),p=$(d,2);return` ${i}