open-in-idx
Version:
SDK for opening workspaces in Project IDX
2 lines (1 loc) • 953 B
JavaScript
function n(n,e){const t=function({files:n,settings:e}){const t=[],o=(n,e,o="")=>{t.push(function(n,e){const t=document.createElement("input");return t.type="hidden",t.name=n,t.value=e,t}(n,"string"==typeof e?e:o))};Object.entries(n).forEach(([n,e])=>{o(`project[files][${encodeURIComponent(n)}]`,e)}),e&&o("project[settings]",JSON.stringify({baselineEnvironment:null==e?void 0:e.baselineEnvironment}));const i=document.createElement("form");return i.method="post",i.setAttribute("style","display:none !important;"),i.append(...t),i}(n);t.action=(null==e?void 0:e.url)||"https://idx.google.com/run.api",t.target=!1===(null==e?void 0:e.newWindow)?"_self":"_blank",document.body.appendChild(t),t.submit(),document.body.removeChild(t)}function e({label:n="open",color:e="dark",size:t=32,imageFormat:o="svg"}={}){return["https://cdn.idx.dev/btn/",n,"_",e,"_",`${t}${"png"===o?"@2x":""}.${o}`].join("")}export{e as makeButtonImageUrl,n as newAdhocWorkspace};