builder.io 1.5.6 → 1.5.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/index.cjs +280 -254
- package/cli/index.cjs.map +4 -4
- package/core/index.cjs +1 -1
- package/core/index.mjs +1 -1
- package/node/index.cjs +1 -1
- package/node/index.mjs +1 -1
- package/package.json +1 -1
- package/server/index.cjs +211 -100
- package/server/index.mjs +211 -100
package/server/index.cjs
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
"use strict";var Ks=Object.create;var Dr=Object.defineProperty;var Us=Object.getOwnPropertyDescriptor;var zs=Object.getOwnPropertyNames;var qs=Object.getPrototypeOf,Ws=Object.prototype.hasOwnProperty;var oe=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Js=(e,t)=>{for(var n in t)Dr(e,n,{get:t[n],enumerable:!0})},Co=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of zs(t))!Ws.call(e,i)&&i!==n&&Dr(e,i,{get:()=>t[i],enumerable:!(r=Us(t,i))||r.enumerable});return e};var k=(e,t,n)=>(n=e!=null?Ks(qs(e)):{},Co(t||!e||!e.__esModule?Dr(n,"default",{value:e,enumerable:!0}):n,e)),Gs=e=>Co(Dr({},"__esModule",{value:!0}),e);var Fo=oe((Am,xo)=>{"use strict";xo.exports=function(){if(process.env.npm_config_user_agent)return Hs(process.env.npm_config_user_agent)};function Hs(e){let t=e.split(" ")[0],n=t.lastIndexOf("/"),r=t.substring(0,n);return{name:r==="npminstall"?"cnpm":r,version:t.substring(n+1)}}});var ln=oe((af,Zo)=>{"use strict";var sn="\x1B",J=`${sn}[`,uu="\x07",un={to(e,t){return t?`${J}${t+1};${e+1}H`:`${J}${e+1}G`},move(e,t){let n="";return e<0?n+=`${J}${-e}D`:e>0&&(n+=`${J}${e}C`),t<0?n+=`${J}${-t}A`:t>0&&(n+=`${J}${t}B`),n},up:(e=1)=>`${J}${e}A`,down:(e=1)=>`${J}${e}B`,forward:(e=1)=>`${J}${e}C`,backward:(e=1)=>`${J}${e}D`,nextLine:(e=1)=>`${J}E`.repeat(e),prevLine:(e=1)=>`${J}F`.repeat(e),left:`${J}G`,hide:`${J}?25l`,show:`${J}?25h`,save:`${sn}7`,restore:`${sn}8`},lu={up:(e=1)=>`${J}S`.repeat(e),down:(e=1)=>`${J}T`.repeat(e)},cu={screen:`${J}2J`,up:(e=1)=>`${J}1J`.repeat(e),down:(e=1)=>`${J}J`.repeat(e),line:`${J}2K`,lineEnd:`${J}K`,lineStart:`${J}1K`,lines(e){let t="";for(let n=0;n<e;n++)t+=this.line+(n<e-1?un.up():"");return e&&(t+=un.left),t}};Zo.exports={cursor:un,scroll:lu,erase:cu,beep:uu}});var wt=oe((sf,cn)=>{var Ar=process||{},ei=Ar.argv||[],Sr=Ar.env||{},pu=!(Sr.NO_COLOR||ei.includes("--no-color"))&&(!!Sr.FORCE_COLOR||ei.includes("--color")||Ar.platform==="win32"||(Ar.stdout||{}).isTTY&&Sr.TERM!=="dumb"||!!Sr.CI),mu=(e,t,n=e)=>r=>{let i=""+r,a=i.indexOf(t,e.length);return~a?e+fu(i,t,n,a)+t:e+i+t},fu=(e,t,n,r)=>{let i="",a=0;do i+=e.substring(a,r)+n,a=r+t.length,r=e.indexOf(t,a);while(~r);return i+e.substring(a)},ti=(e=pu)=>{let t=e?mu:()=>String;return{isColorSupported:e,reset:t("\x1B[0m","\x1B[0m"),bold:t("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:t("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:t("\x1B[3m","\x1B[23m"),underline:t("\x1B[4m","\x1B[24m"),inverse:t("\x1B[7m","\x1B[27m"),hidden:t("\x1B[8m","\x1B[28m"),strikethrough:t("\x1B[9m","\x1B[29m"),black:t("\x1B[30m","\x1B[39m"),red:t("\x1B[31m","\x1B[39m"),green:t("\x1B[32m","\x1B[39m"),yellow:t("\x1B[33m","\x1B[39m"),blue:t("\x1B[34m","\x1B[39m"),magenta:t("\x1B[35m","\x1B[39m"),cyan:t("\x1B[36m","\x1B[39m"),white:t("\x1B[37m","\x1B[39m"),gray:t("\x1B[90m","\x1B[39m"),bgBlack:t("\x1B[40m","\x1B[49m"),bgRed:t("\x1B[41m","\x1B[49m"),bgGreen:t("\x1B[42m","\x1B[49m"),bgYellow:t("\x1B[43m","\x1B[49m"),bgBlue:t("\x1B[44m","\x1B[49m"),bgMagenta:t("\x1B[45m","\x1B[49m"),bgCyan:t("\x1B[46m","\x1B[49m"),bgWhite:t("\x1B[47m","\x1B[49m"),blackBright:t("\x1B[90m","\x1B[39m"),redBright:t("\x1B[91m","\x1B[39m"),greenBright:t("\x1B[92m","\x1B[39m"),yellowBright:t("\x1B[93m","\x1B[39m"),blueBright:t("\x1B[94m","\x1B[39m"),magentaBright:t("\x1B[95m","\x1B[39m"),cyanBright:t("\x1B[96m","\x1B[39m"),whiteBright:t("\x1B[97m","\x1B[39m"),bgBlackBright:t("\x1B[100m","\x1B[49m"),bgRedBright:t("\x1B[101m","\x1B[49m"),bgGreenBright:t("\x1B[102m","\x1B[49m"),bgYellowBright:t("\x1B[103m","\x1B[49m"),bgBlueBright:t("\x1B[104m","\x1B[49m"),bgMagentaBright:t("\x1B[105m","\x1B[49m"),bgCyanBright:t("\x1B[106m","\x1B[49m"),bgWhiteBright:t("\x1B[107m","\x1B[49m")}};cn.exports=ti();cn.exports.createColors=ti});var _a=oe((QC,kr)=>{kr.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;kr.exports.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;kr.exports.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/});var jn=oe((YC,ja)=>{var _n=_a();ja.exports={isSpaceSeparator(e){return typeof e=="string"&&_n.Space_Separator.test(e)},isIdStartChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||_n.ID_Start.test(e))},isIdContinueChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="\u200C"||e==="\u200D"||_n.ID_Continue.test(e))},isDigit(e){return typeof e=="string"&&/[0-9]/.test(e)},isHexDigit(e){return typeof e=="string"&&/[0-9A-Fa-f]/.test(e)}}});var za=oe((XC,Ua)=>{var te=jn(),Vn,ce,We,Lr,ot,ve,re,zn,ur;Ua.exports=function(t,n){Vn=String(t),ce="start",We=[],Lr=0,ot=1,ve=0,re=void 0,zn=void 0,ur=void 0;do re=ep(),np[ce]();while(re.type!=="eof");return typeof n=="function"?Kn({"":ur},"",n):ur};function Kn(e,t,n){let r=e[t];if(r!=null&&typeof r=="object")if(Array.isArray(r))for(let i=0;i<r.length;i++){let a=String(i),o=Kn(r,a,n);o===void 0?delete r[a]:Object.defineProperty(r,a,{value:o,writable:!0,enumerable:!0,configurable:!0})}else for(let i in r){let a=Kn(r,i,n);a===void 0?delete r[i]:Object.defineProperty(r,i,{value:a,writable:!0,enumerable:!0,configurable:!0})}return n.call(e,t,r)}var P,b,sr,qe,I;function ep(){for(P="default",b="",sr=!1,qe=1;;){I=Je();let e=Va[P]();if(e)return e}}function Je(){if(Vn[Lr])return String.fromCodePoint(Vn.codePointAt(Lr))}function h(){let e=Je();return e===`
|
|
2
|
-
`?(
|
|
3
|
-
`:case"\r":case"\u2028":case"\u2029":h();return;case"/":h(),
|
|
4
|
-
`:case"\r":case"\u2028":case"\u2029":h(),
|
|
5
|
-
`:case"\r":throw
|
|
6
|
-
`;case"r":return h(),"\r";case"t":return h()," ";case"v":return h(),"\v";case"0":if(h(),
|
|
7
|
-
`:case"\u2028":case"\u2029":return h(),"";case"\r":return h(),
|
|
8
|
-
`&&h(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw
|
|
9
|
-
`+a;
|
|
10
|
-
`+a+
|
|
11
|
-
`+d+"}"}}return i.pop(),a=d,
|
|
12
|
-
`+a,
|
|
13
|
-
`+a+
|
|
14
|
-
`+d+"]"}return i.pop(),a=d,
|
|
1
|
+
"use strict";var su=Object.create;var Fr=Object.defineProperty;var uu=Object.getOwnPropertyDescriptor;var lu=Object.getOwnPropertyNames;var cu=Object.getPrototypeOf,pu=Object.prototype.hasOwnProperty;var ae=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),mu=(e,t)=>{for(var n in t)Fr(e,n,{get:t[n],enumerable:!0})},$o=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of lu(t))!pu.call(e,i)&&i!==n&&Fr(e,i,{get:()=>t[i],enumerable:!(r=uu(t,i))||r.enumerable});return e};var I=(e,t,n)=>(n=e!=null?su(cu(e)):{},$o(t||!e||!e.__esModule?Fr(n,"default",{value:e,enumerable:!0}):n,e)),fu=e=>$o(Fr({},"__esModule",{value:!0}),e);var _o=ae((ef,Lo)=>{"use strict";Lo.exports=function(){if(process.env.npm_config_user_agent)return du(process.env.npm_config_user_agent)};function du(e){let t=e.split(" ")[0],n=t.lastIndexOf("/"),r=t.substring(0,n);return{name:r==="npminstall"?"cnpm":r,version:t.substring(n+1)}}});var Pr=ae((Of,Di)=>{"use strict";var En="\x1B",H=`${En}[`,bu="\x07",Fn={to(e,t){return t?`${H}${t+1};${e+1}H`:`${H}${e+1}G`},move(e,t){let n="";return e<0?n+=`${H}${-e}D`:e>0&&(n+=`${H}${e}C`),t<0?n+=`${H}${-t}A`:t>0&&(n+=`${H}${t}B`),n},up:(e=1)=>`${H}${e}A`,down:(e=1)=>`${H}${e}B`,forward:(e=1)=>`${H}${e}C`,backward:(e=1)=>`${H}${e}D`,nextLine:(e=1)=>`${H}E`.repeat(e),prevLine:(e=1)=>`${H}F`.repeat(e),left:`${H}G`,hide:`${H}?25l`,show:`${H}?25h`,save:`${En}7`,restore:`${En}8`},Pu={up:(e=1)=>`${H}S`.repeat(e),down:(e=1)=>`${H}T`.repeat(e)},Tu={screen:`${H}2J`,up:(e=1)=>`${H}1J`.repeat(e),down:(e=1)=>`${H}J`.repeat(e),line:`${H}2K`,lineEnd:`${H}K`,lineStart:`${H}1K`,lines(e){let t="";for(let n=0;n<e;n++)t+=this.line+(n<e-1?Fn.up():"");return e&&(t+=Fn.left),t}};Di.exports={cursor:Fn,scroll:Pu,erase:Tu,beep:bu}});var qe=ae((Lf,yn)=>{var Ir=process||{},gi=Ir.argv||[],Tr=Ir.env||{},Iu=!(Tr.NO_COLOR||gi.includes("--no-color"))&&(!!Tr.FORCE_COLOR||gi.includes("--color")||Ir.platform==="win32"||(Ir.stdout||{}).isTTY&&Tr.TERM!=="dumb"||!!Tr.CI),Bu=(e,t,n=e)=>r=>{let i=""+r,a=i.indexOf(t,e.length);return~a?e+Ru(i,t,n,a)+t:e+i+t},Ru=(e,t,n,r)=>{let i="",a=0;do i+=e.substring(a,r)+n,a=r+t.length,r=e.indexOf(t,a);while(~r);return i+e.substring(a)},Ci=(e=Iu)=>{let t=e?Bu:()=>String;return{isColorSupported:e,reset:t("\x1B[0m","\x1B[0m"),bold:t("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:t("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:t("\x1B[3m","\x1B[23m"),underline:t("\x1B[4m","\x1B[24m"),inverse:t("\x1B[7m","\x1B[27m"),hidden:t("\x1B[8m","\x1B[28m"),strikethrough:t("\x1B[9m","\x1B[29m"),black:t("\x1B[30m","\x1B[39m"),red:t("\x1B[31m","\x1B[39m"),green:t("\x1B[32m","\x1B[39m"),yellow:t("\x1B[33m","\x1B[39m"),blue:t("\x1B[34m","\x1B[39m"),magenta:t("\x1B[35m","\x1B[39m"),cyan:t("\x1B[36m","\x1B[39m"),white:t("\x1B[37m","\x1B[39m"),gray:t("\x1B[90m","\x1B[39m"),bgBlack:t("\x1B[40m","\x1B[49m"),bgRed:t("\x1B[41m","\x1B[49m"),bgGreen:t("\x1B[42m","\x1B[49m"),bgYellow:t("\x1B[43m","\x1B[49m"),bgBlue:t("\x1B[44m","\x1B[49m"),bgMagenta:t("\x1B[45m","\x1B[49m"),bgCyan:t("\x1B[46m","\x1B[49m"),bgWhite:t("\x1B[47m","\x1B[49m"),blackBright:t("\x1B[90m","\x1B[39m"),redBright:t("\x1B[91m","\x1B[39m"),greenBright:t("\x1B[92m","\x1B[39m"),yellowBright:t("\x1B[93m","\x1B[39m"),blueBright:t("\x1B[94m","\x1B[39m"),magentaBright:t("\x1B[95m","\x1B[39m"),cyanBright:t("\x1B[96m","\x1B[39m"),whiteBright:t("\x1B[97m","\x1B[39m"),bgBlackBright:t("\x1B[100m","\x1B[49m"),bgRedBright:t("\x1B[101m","\x1B[49m"),bgGreenBright:t("\x1B[102m","\x1B[49m"),bgYellowBright:t("\x1B[103m","\x1B[49m"),bgBlueBright:t("\x1B[104m","\x1B[49m"),bgMagentaBright:t("\x1B[105m","\x1B[49m"),bgCyanBright:t("\x1B[106m","\x1B[49m"),bgWhiteBright:t("\x1B[107m","\x1B[49m")}};yn.exports=Ci();yn.exports.createColors=Ci});var Xa=ae((bh,Vr)=>{Vr.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;Vr.exports.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;Vr.exports.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/});var Qn=ae((Ph,Za)=>{var Hn=Xa();Za.exports={isSpaceSeparator(e){return typeof e=="string"&&Hn.Space_Separator.test(e)},isIdStartChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||Hn.ID_Start.test(e))},isIdContinueChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="\u200C"||e==="\u200D"||Hn.ID_Continue.test(e))},isDigit(e){return typeof e=="string"&&/[0-9]/.test(e)},isHexDigit(e){return typeof e=="string"&&/[0-9A-Fa-f]/.test(e)}}});var os=ae((Th,ns)=>{var ne=Qn(),Xn,pe,He,zr,st,be,oe,to,mr;ns.exports=function(t,n){Xn=String(t),pe="start",He=[],zr=0,st=1,be=0,oe=void 0,to=void 0,mr=void 0;do oe=yp(),vp[pe]();while(oe.type!=="eof");return typeof n=="function"?Zn({"":mr},"",n):mr};function Zn(e,t,n){let r=e[t];if(r!=null&&typeof r=="object")if(Array.isArray(r))for(let i=0;i<r.length;i++){let a=String(i),o=Zn(r,a,n);o===void 0?delete r[a]:Object.defineProperty(r,a,{value:o,writable:!0,enumerable:!0,configurable:!0})}else for(let i in r){let a=Zn(r,i,n);a===void 0?delete r[i]:Object.defineProperty(r,i,{value:a,writable:!0,enumerable:!0,configurable:!0})}return n.call(e,t,r)}var T,P,pr,Ge,B;function yp(){for(T="default",P="",pr=!1,Ge=1;;){B=Qe();let e=ts[T]();if(e)return e}}function Qe(){if(Xn[zr])return String.fromCodePoint(Xn.codePointAt(zr))}function h(){let e=Qe();return e===`
|
|
2
|
+
`?(st++,be=0):e?be+=e.length:be++,e&&(zr+=e.length),e}var ts={default(){switch(B){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
|
|
3
|
+
`:case"\r":case"\u2028":case"\u2029":h();return;case"/":h(),T="comment";return;case void 0:return h(),z("eof")}if(ne.isSpaceSeparator(B)){h();return}return ts[pe]()},comment(){switch(B){case"*":h(),T="multiLineComment";return;case"/":h(),T="singleLineComment";return}throw q(h())},multiLineComment(){switch(B){case"*":h(),T="multiLineCommentAsterisk";return;case void 0:throw q(h())}h()},multiLineCommentAsterisk(){switch(B){case"*":h();return;case"/":h(),T="default";return;case void 0:throw q(h())}h(),T="multiLineComment"},singleLineComment(){switch(B){case`
|
|
4
|
+
`:case"\r":case"\u2028":case"\u2029":h(),T="default";return;case void 0:return h(),z("eof")}h()},value(){switch(B){case"{":case"[":return z("punctuator",h());case"n":return h(),xt("ull"),z("null",null);case"t":return h(),xt("rue"),z("boolean",!0);case"f":return h(),xt("alse"),z("boolean",!1);case"-":case"+":h()==="-"&&(Ge=-1),T="sign";return;case".":P=h(),T="decimalPointLeading";return;case"0":P=h(),T="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":P=h(),T="decimalInteger";return;case"I":return h(),xt("nfinity"),z("numeric",1/0);case"N":return h(),xt("aN"),z("numeric",NaN);case'"':case"'":pr=h()==='"',P="",T="string";return}throw q(h())},identifierNameStartEscape(){if(B!=="u")throw q(h());h();let e=eo();switch(e){case"$":case"_":break;default:if(!ne.isIdStartChar(e))throw es();break}P+=e,T="identifierName"},identifierName(){switch(B){case"$":case"_":case"\u200C":case"\u200D":P+=h();return;case"\\":h(),T="identifierNameEscape";return}if(ne.isIdContinueChar(B)){P+=h();return}return z("identifier",P)},identifierNameEscape(){if(B!=="u")throw q(h());h();let e=eo();switch(e){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!ne.isIdContinueChar(e))throw es();break}P+=e,T="identifierName"},sign(){switch(B){case".":P=h(),T="decimalPointLeading";return;case"0":P=h(),T="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":P=h(),T="decimalInteger";return;case"I":return h(),xt("nfinity"),z("numeric",Ge*(1/0));case"N":return h(),xt("aN"),z("numeric",NaN)}throw q(h())},zero(){switch(B){case".":P+=h(),T="decimalPoint";return;case"e":case"E":P+=h(),T="decimalExponent";return;case"x":case"X":P+=h(),T="hexadecimal";return}return z("numeric",Ge*0)},decimalInteger(){switch(B){case".":P+=h(),T="decimalPoint";return;case"e":case"E":P+=h(),T="decimalExponent";return}if(ne.isDigit(B)){P+=h();return}return z("numeric",Ge*Number(P))},decimalPointLeading(){if(ne.isDigit(B)){P+=h(),T="decimalFraction";return}throw q(h())},decimalPoint(){switch(B){case"e":case"E":P+=h(),T="decimalExponent";return}if(ne.isDigit(B)){P+=h(),T="decimalFraction";return}return z("numeric",Ge*Number(P))},decimalFraction(){switch(B){case"e":case"E":P+=h(),T="decimalExponent";return}if(ne.isDigit(B)){P+=h();return}return z("numeric",Ge*Number(P))},decimalExponent(){switch(B){case"+":case"-":P+=h(),T="decimalExponentSign";return}if(ne.isDigit(B)){P+=h(),T="decimalExponentInteger";return}throw q(h())},decimalExponentSign(){if(ne.isDigit(B)){P+=h(),T="decimalExponentInteger";return}throw q(h())},decimalExponentInteger(){if(ne.isDigit(B)){P+=h();return}return z("numeric",Ge*Number(P))},hexadecimal(){if(ne.isHexDigit(B)){P+=h(),T="hexadecimalInteger";return}throw q(h())},hexadecimalInteger(){if(ne.isHexDigit(B)){P+=h();return}return z("numeric",Ge*Number(P))},string(){switch(B){case"\\":h(),P+=Sp();return;case'"':if(pr)return h(),z("string",P);P+=h();return;case"'":if(!pr)return h(),z("string",P);P+=h();return;case`
|
|
5
|
+
`:case"\r":throw q(h());case"\u2028":case"\u2029":wp(B);break;case void 0:throw q(h())}P+=h()},start(){switch(B){case"{":case"[":return z("punctuator",h())}T="value"},beforePropertyName(){switch(B){case"$":case"_":P=h(),T="identifierName";return;case"\\":h(),T="identifierNameStartEscape";return;case"}":return z("punctuator",h());case'"':case"'":pr=h()==='"',T="string";return}if(ne.isIdStartChar(B)){P+=h(),T="identifierName";return}throw q(h())},afterPropertyName(){if(B===":")return z("punctuator",h());throw q(h())},beforePropertyValue(){T="value"},afterPropertyValue(){switch(B){case",":case"}":return z("punctuator",h())}throw q(h())},beforeArrayValue(){if(B==="]")return z("punctuator",h());T="value"},afterArrayValue(){switch(B){case",":case"]":return z("punctuator",h())}throw q(h())},end(){throw q(h())}};function z(e,t){return{type:e,value:t,line:st,column:be}}function xt(e){for(let t of e){if(Qe()!==t)throw q(h());h()}}function Sp(){switch(Qe()){case"b":return h(),"\b";case"f":return h(),"\f";case"n":return h(),`
|
|
6
|
+
`;case"r":return h(),"\r";case"t":return h()," ";case"v":return h(),"\v";case"0":if(h(),ne.isDigit(Qe()))throw q(h());return"\0";case"x":return h(),Ap();case"u":return h(),eo();case`
|
|
7
|
+
`:case"\u2028":case"\u2029":return h(),"";case"\r":return h(),Qe()===`
|
|
8
|
+
`&&h(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw q(h());case void 0:throw q(h())}return h()}function Ap(){let e="",t=Qe();if(!ne.isHexDigit(t)||(e+=h(),t=Qe(),!ne.isHexDigit(t)))throw q(h());return e+=h(),String.fromCodePoint(parseInt(e,16))}function eo(){let e="",t=4;for(;t-- >0;){let n=Qe();if(!ne.isHexDigit(n))throw q(h());e+=h()}return String.fromCodePoint(parseInt(e,16))}var vp={start(){if(oe.type==="eof")throw Et();Yn()},beforePropertyName(){switch(oe.type){case"identifier":case"string":to=oe.value,pe="afterPropertyName";return;case"punctuator":Ur();return;case"eof":throw Et()}},afterPropertyName(){if(oe.type==="eof")throw Et();pe="beforePropertyValue"},beforePropertyValue(){if(oe.type==="eof")throw Et();Yn()},beforeArrayValue(){if(oe.type==="eof")throw Et();if(oe.type==="punctuator"&&oe.value==="]"){Ur();return}Yn()},afterPropertyValue(){if(oe.type==="eof")throw Et();switch(oe.value){case",":pe="beforePropertyName";return;case"}":Ur()}},afterArrayValue(){if(oe.type==="eof")throw Et();switch(oe.value){case",":pe="beforeArrayValue";return;case"]":Ur()}},end(){}};function Yn(){let e;switch(oe.type){case"punctuator":switch(oe.value){case"{":e={};break;case"[":e=[];break}break;case"null":case"boolean":case"numeric":case"string":e=oe.value;break}if(mr===void 0)mr=e;else{let t=He[He.length-1];Array.isArray(t)?t.push(e):Object.defineProperty(t,to,{value:e,writable:!0,enumerable:!0,configurable:!0})}if(e!==null&&typeof e=="object")He.push(e),Array.isArray(e)?pe="beforeArrayValue":pe="beforePropertyName";else{let t=He[He.length-1];t==null?pe="end":Array.isArray(t)?pe="afterArrayValue":pe="afterPropertyValue"}}function Ur(){He.pop();let e=He[He.length-1];e==null?pe="end":Array.isArray(e)?pe="afterArrayValue":pe="afterPropertyValue"}function q(e){return qr(e===void 0?`JSON5: invalid end of input at ${st}:${be}`:`JSON5: invalid character '${rs(e)}' at ${st}:${be}`)}function Et(){return qr(`JSON5: invalid end of input at ${st}:${be}`)}function es(){return be-=5,qr(`JSON5: invalid identifier character at ${st}:${be}`)}function wp(e){console.warn(`JSON5: '${rs(e)}' in strings is not valid ECMAScript; consider escaping`)}function rs(e){let t={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(t[e])return t[e];if(e<" "){let n=e.charCodeAt(0).toString(16);return"\\x"+("00"+n).substring(n.length)}return e}function qr(e){let t=new SyntaxError(e);return t.lineNumber=st,t.columnNumber=be,t}});var as=ae((Ih,is)=>{var ro=Qn();is.exports=function(t,n,r){let i=[],a="",o,s,u="",l;if(n!=null&&typeof n=="object"&&!Array.isArray(n)&&(r=n.space,l=n.quote,n=n.replacer),typeof n=="function")s=n;else if(Array.isArray(n)){o=[];for(let g of n){let d;typeof g=="string"?d=g:(typeof g=="number"||g instanceof String||g instanceof Number)&&(d=String(g)),d!==void 0&&o.indexOf(d)<0&&o.push(d)}}return r instanceof Number?r=Number(r):r instanceof String&&(r=String(r)),typeof r=="number"?r>0&&(r=Math.min(10,Math.floor(r)),u=" ".substr(0,r)):typeof r=="string"&&(u=r.substr(0,10)),c("",{"":t});function c(g,d){let f=d[g];switch(f!=null&&(typeof f.toJSON5=="function"?f=f.toJSON5(g):typeof f.toJSON=="function"&&(f=f.toJSON(g))),s&&(f=s.call(d,g,f)),f instanceof Number?f=Number(f):f instanceof String?f=String(f):f instanceof Boolean&&(f=f.valueOf()),f){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof f=="string")return p(f,!1);if(typeof f=="number")return String(f);if(typeof f=="object")return Array.isArray(f)?D(f):m(f)}function p(g){let d={"'":.1,'"':.2},f={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},x="";for(let S=0;S<g.length;S++){let A=g[S];switch(A){case"'":case'"':d[A]++,x+=A;continue;case"\0":if(ro.isDigit(g[S+1])){x+="\\x00";continue}}if(f[A]){x+=f[A];continue}if(A<" "){let y=A.charCodeAt(0).toString(16);x+="\\x"+("00"+y).substring(y.length);continue}x+=A}let E=l||Object.keys(d).reduce((S,A)=>d[S]<d[A]?S:A);return x=x.replace(new RegExp(E,"g"),f[E]),E+x+E}function m(g){if(i.indexOf(g)>=0)throw TypeError("Converting circular structure to JSON5");i.push(g);let d=a;a=a+u;let f=o||Object.keys(g),x=[];for(let S of f){let A=c(S,g);if(A!==void 0){let y=C(S)+":";u!==""&&(y+=" "),y+=A,x.push(y)}}let E;if(x.length===0)E="{}";else{let S;if(u==="")S=x.join(","),E="{"+S+"}";else{let A=`,
|
|
9
|
+
`+a;S=x.join(A),E=`{
|
|
10
|
+
`+a+S+`,
|
|
11
|
+
`+d+"}"}}return i.pop(),a=d,E}function C(g){if(g.length===0)return p(g,!0);let d=String.fromCodePoint(g.codePointAt(0));if(!ro.isIdStartChar(d))return p(g,!0);for(let f=d.length;f<g.length;f++)if(!ro.isIdContinueChar(String.fromCodePoint(g.codePointAt(f))))return p(g,!0);return g}function D(g){if(i.indexOf(g)>=0)throw TypeError("Converting circular structure to JSON5");i.push(g);let d=a;a=a+u;let f=[];for(let E=0;E<g.length;E++){let S=c(String(E),g);f.push(S!==void 0?S:"null")}let x;if(f.length===0)x="[]";else if(u==="")x="["+f.join(",")+"]";else{let E=`,
|
|
12
|
+
`+a,S=f.join(E);x=`[
|
|
13
|
+
`+a+S+`,
|
|
14
|
+
`+d+"]"}return i.pop(),a=d,x}}});var us=ae((Bh,ss)=>{var bp=os(),Pp=as(),Tp={parse:bp,stringify:Pp};ss.exports=Tp});var oo=ae(Jr=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});function Cs(e){return Object.prototype.toString.call(e)}Jr.getType=Cs;function Mp(e){throw new TypeError("unsupported data type: "+Cs(e))}Jr.throwUnknownDataType=Mp});var lo=ae(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});var Ye="";for(let e=0;e<10;e++){let t=String.fromCharCode(48+e);Ye+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(65+e);Ye+=t}for(let e=0;e<26;e++){let t=String.fromCharCode(97+e);Ye+=t}var Kt=Ye.length,ao={};for(let e=0;e<Kt;e++){let t=Ye[e];ao[t]=e}function so(e){let t=0,n=1;for(let r=e.length-1;r>=0;r--){let i=e[r],a=ao[i];a*=n,t+=a,n*=Kt}return t}Xe.s_to_int=so;function hs(e){let t=BigInt(0),n=BigInt(1),r=BigInt(Kt);for(let i=e.length-1;i>=0;i--){let a=e[i],o=BigInt(ao[a]);o*=n,t+=o,n*=r}return t}Xe.s_to_big_int=hs;function uo(e){if(e===0)return Ye[0];let t=[];for(;e!==0;){let n=e%Kt,r=Ye[n];t.push(r),e-=n,e/=Kt}return t.reverse().join("")}Xe.int_to_s=uo;function xs(e){let t=BigInt(0),n=BigInt(Kt);if(e===t)return Ye[0];let r=[];for(;e!==t;){let i=e%n,a=Ye[Number(i)];r.push(a),e-=i,e/=n}return r.reverse().join("")}Xe.big_int_to_s=xs;function Hr(e){return e.split("").reverse().join("")}function Es(e){if(e<0)return"-"+Es(-e);let[t,n]=e.toString().split(".");if(!n)return uo(e);let r;n&&([n,r]=n.split("e")),t=Gr(t),n=Hr(n),n=Gr(n);let i=t+"."+n;if(r){switch(i+=".",r[0]){case"+":r=r.slice(1);break;case"-":i+="-",r=r.slice(1);break}r=Hr(r),r=Gr(r),i+=r}return i}Xe.num_to_s=Es;function Gr(e){let t=+e;return t.toString()===e?uo(t):":"+xs(BigInt(e))}Xe.int_str_to_s=Gr;function io(e){return e[0]===":"?hs(e.substring(1)).toString():so(e).toString()}function Fs(e){if(e[0]==="-")return-Fs(e.substr(1));let[t,n,r]=e.split(".");if(!n)return so(t);t=io(t),n=io(n),n=Hr(n);let i=t+"."+n;if(r){i+="e";let a=!1;r[0]==="-"&&(a=!0,r=r.slice(1)),r=io(r),r=Hr(r),i+=a?-r:+r}return+i}Xe.s_to_num=Fs});var po=ae(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});var co=lo();function Kp(e){return"n|"+co.num_to_s(e)}Ze.encodeNum=Kp;function Vp(e){return e=e.replace("n|",""),co.s_to_num(e)}Ze.decodeNum=Vp;function Up(e){return typeof e=="number"?e:co.s_to_int(e)}Ze.decodeKey=Up;function zp(e){return e?"b|T":"b|F"}Ze.encodeBool=zp;function qp(e){switch(e){case"b|T":return!0;case"b|F":return!1}return!!e}Ze.decodeBool=qp;function Wp(e){switch(e[0]+e[1]){case"b|":case"o|":case"n|":case"a|":case"s|":e="s|"+e}return e}Ze.encodeStr=Wp;function Jp(e){return e[0]+e[1]==="s|"?e.substr(2):e}Ze.decodeStr=Jp});var ys=ae(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.config={sort_key:!1}});var Do=ae(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});var Gp=ys(),Hp=oo(),fo=po(),Qp=lo();function Yp(e){return e.store.toArray()}yt.memToValues=Yp;function Ss(){let e=[];return{forEach(t){for(let n=0;n<e.length;n++)if(t(e[n])==="break")return},add(t){e.push(t)},toArray(){return e}}}yt.makeInMemoryStore=Ss;function As(){let e=Object.create(null),t=Object.create(null);return{getValue(n){return e[n]},getSchema(n){return t[n]},forEachValue(n){for(let[r,i]of Object.entries(e))if(n(r,i)==="break")return},forEachSchema(n){for(let[r,i]of Object.entries(t))if(n(r,i)==="break")return},setValue(n,r){e[n]=r},setSchema(n,r){t[n]=r},hasValue(n){return n in e},hasSchema(n){return n in t}}}yt.makeInMemoryCache=As;function Xp(){return{store:Ss(),cache:As(),keyCount:0}}yt.makeInMemoryMemory=Xp;function Ft(e,t){if(e.cache.hasValue(t))return e.cache.getValue(t);let n=e.keyCount++,r=Qp.num_to_s(n);return e.store.add(t),e.cache.setValue(t,r),r}function Zp(e,t){Gp.config.sort_key&&t.sort();let n=t.join(",");if(e.cache.hasSchema(n))return e.cache.getSchema(n);let r=fr(e,t,void 0);return e.cache.setSchema(n,r),r}function fr(e,t,n){if(t===null)return"";switch(typeof t){case"undefined":if(Array.isArray(n))return fr(e,null,n);break;case"object":if(t===null)return Ft(e,null);if(Array.isArray(t)){let r="a";for(let i=0;i<t.length;i++){let a=t[i],o=a===null?"_":fr(e,a,t);r+="|"+o}return r==="a"&&(r="a|"),Ft(e,r)}else{let r=Object.keys(t);if(r.length===0)return Ft(e,"o|");let i="o",a=Zp(e,r);i+="|"+a;for(let o of r){let s=t[o],u=fr(e,s,t);i+="|"+u}return Ft(e,i)}case"boolean":return Ft(e,fo.encodeBool(t));case"number":return Ft(e,fo.encodeNum(t));case"string":return Ft(e,fo.encodeStr(t))}return Hp.throwUnknownDataType(t)}yt.addValue=fr});var Co=ae(Dr=>{"use strict";Object.defineProperty(Dr,"__esModule",{value:!0});var em=oo(),Qr=po(),go=Do();function tm(e){let t=go.makeInMemoryMemory(),n=go.addValue(t,e,void 0);return[go.memToValues(t),n]}Dr.compress=tm;function rm(e,t){if(t==="o|")return{};let n={},r=t.split("|"),i=r[1],a=dr(e,i),o=r.length;o-2===1&&!Array.isArray(a)&&(a=[a]);for(let s=2;s<o;s++){let u=a[s-2],l=r[s];l=dr(e,l),n[u]=l}return n}function nm(e,t){if(t==="a|")return[];let n=t.split("|"),r=n.length-1,i=new Array(r);for(let a=0;a<r;a++){let o=n[a+1];o=dr(e,o),i[a]=o}return i}function dr(e,t){if(t===""||t==="_")return null;let n=Qr.decodeKey(t),r=e[n];if(r===null)return r;switch(typeof r){case"undefined":return r;case"number":return r;case"string":switch(r[0]+r[1]){case"b|":return Qr.decodeBool(r);case"o|":return rm(e,r);case"n|":return Qr.decodeNum(r);case"a|":return nm(e,r);default:return Qr.decodeStr(r)}}return em.throwUnknownDataType(r)}Dr.decode=dr;function om(e){let[t,n]=e;return dr(t,n)}Dr.decompress=om});var ws=ae(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});function im(e){for(let t in e)e[t]===void 0&&delete e[t]}Yr.trimUndefined=im;function am(e){vs(e,new Set)}Yr.trimUndefinedRecursively=am;function vs(e,t){t.add(e);for(let n in e)if(e[n]===void 0)delete e[n];else{let r=e[n];r&&typeof r=="object"&&!t.has(r)&&vs(r,t)}}});var Ts=ae(ut=>{"use strict";Object.defineProperty(ut,"__esModule",{value:!0});var bs=Co();ut.compress=bs.compress;ut.decompress=bs.decompress;var sm=Co();ut.decode=sm.decode;var um=Do();ut.addValue=um.addValue;var Ps=ws();ut.trimUndefined=Ps.trimUndefined;ut.trimUndefinedRecursively=Ps.trimUndefinedRecursively});var zs=ae(zt=>{"use strict";zt.__esModule=!0;zt.distance=zt.closest=void 0;var et=new Uint32Array(65536),Dm=function(e,t){for(var n=e.length,r=t.length,i=1<<n-1,a=-1,o=0,s=n,u=n;u--;)et[e.charCodeAt(u)]|=1<<u;for(u=0;u<r;u++){var l=et[t.charCodeAt(u)],c=l|o;l|=(l&a)+a^a,o|=~(l|a),a&=l,o&i&&s++,a&i&&s--,o=o<<1|1,a=a<<1|~(c|o),o&=c}for(u=n;u--;)et[e.charCodeAt(u)]=0;return s},gm=function(e,t){for(var n=t.length,r=e.length,i=[],a=[],o=Math.ceil(n/32),s=Math.ceil(r/32),u=0;u<o;u++)a[u]=-1,i[u]=0;for(var l=0;l<s-1;l++){for(var c=0,p=-1,m=l*32,C=Math.min(32,r)+m,D=m;D<C;D++)et[e.charCodeAt(D)]|=1<<D;for(var u=0;u<n;u++){var g=et[t.charCodeAt(u)],d=a[u/32|0]>>>u&1,f=i[u/32|0]>>>u&1,x=g|c,E=((g|f)&p)+p^p|g|f,S=c|~(E|p),A=p&E;S>>>31^d&&(a[u/32|0]^=1<<u),A>>>31^f&&(i[u/32|0]^=1<<u),S=S<<1|d,A=A<<1|f,p=A|~(x|S),c=S&x}for(var D=m;D<C;D++)et[e.charCodeAt(D)]=0}for(var y=0,$=-1,G=l*32,j=Math.min(32,r-G)+G,D=G;D<j;D++)et[e.charCodeAt(D)]|=1<<D;for(var v=r,u=0;u<n;u++){var g=et[t.charCodeAt(u)],d=a[u/32|0]>>>u&1,f=i[u/32|0]>>>u&1,x=g|y,E=((g|f)&$)+$^$|g|f,S=y|~(E|$),A=$&E;v+=S>>>r-1&1,v-=A>>>r-1&1,S>>>31^d&&(a[u/32|0]^=1<<u),A>>>31^f&&(i[u/32|0]^=1<<u),S=S<<1|d,A=A<<1|f,$=A|~(x|S),y=S&x}for(var D=G;D<j;D++)et[e.charCodeAt(D)]=0;return v},Us=function(e,t){if(e.length<t.length){var n=t;t=e,e=n}return t.length===0?e.length:e.length<=32?Dm(e,t):gm(e,t)};zt.distance=Us;var Cm=function(e,t){for(var n=1/0,r=0,i=0;i<t.length;i++){var a=Us(e,t[i]);a<n&&(n=a,r=i)}return t[r]};zt.closest=Cm});var Qm={};mu(Qm,{createDevToolsServer:()=>au,version:()=>No});module.exports=fu(Qm);var ln=require("node:http");var cn="preview-url";var At="framework",yr="platform",Sr="node",ko="/~builder-connect",mt="/~builder-connected",pn="/~builder-dev-tools",mn="/~builder-dev-tools.js",ft="/~builder-dev-tools-close",Oo="/mappings";function R(e,t=""){return e.ts.createSourceFile("module.tsx",typeof t=="string"?t:"",e.ts.ScriptTarget.Latest,void 0)}function Ar(e,t=""){let n=R(e,t?.trim());if(n.statements.length===0)throw new Error(`No statements found in code: ${t}`);return n.statements[0]}function re(e,t,n){if(t){let r=e.ts.createPrinter({newLine:e.ts.NewLineKind.LineFeed,removeComments:n});return e.ts.isSourceFile(t)?r.printFile(t).trim()+`
|
|
15
15
|
`:r.printNode(e.ts.EmitHint.Unspecified,t,e.ts.createSourceFile("module.tsx","",e.ts.ScriptTarget.Latest)).trim()+`
|
|
16
|
-
`}return""}var
|
|
17
|
-
`,getSourceFile:s=>{if(s=e.normalize(s),s.includes("node_modules")){let l=
|
|
18
|
-
${u}`)}else r(`Request to ${e.url.href} failed with status ${o.statusCode}: ${s}`)})}).on("error",o=>{r(`Error fetching ${e.url.href}, ${o}`)});e.body&&(a.setHeader("Content-Type","application/json"),a.write(e.body)),a.end()})}function
|
|
16
|
+
`}return""}var Mo=I(_o(),1);function he(e){return e.endsWith(".mapper.tsx")||e.endsWith(".mapper.jsx")}function O(e,t,n){t=Ae(t),n=Ae(n),t=e.dirname(t);let r=e.basename(n,e.extname(n));n=e.dirname(n);let i;return r==="index"?i=e.relative(t,n):i=e.relative(t,e.join(n,r)),i=Ae(e.normalize(i)),i.startsWith(".")||(i="./"+i),i}function Ae(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}function dt(e,t){let n=e.extname(t),r=e.basename(t,n).split(/[\/\\]/),i=r[r.length-1];return jo(i==="index"?e.basename(e.dirname(t)):i)}function jo(e){return U(e).replace(/ /g,"")}function xe(e,t){let n=e.extname(t),r=Ae(e.basename(t,n)).split("/").pop();return U(r==="index"?e.basename(e.dirname(t)):r)}function K(e,t){let n=Ae(e.relative(e.getAppRootDir(),t));n=n.split("/").filter(i=>i!=="."&&i!==".."&&i!=="").join("/"),n.endsWith(".tsx")||n.endsWith(".jsx")?n=n.slice(0,-4):(n.endsWith(".ts")||n.endsWith(".js"))&&(n=n.slice(0,-3));let r=e.getFrameworks();return n.startsWith("src/")&&(n=n.slice(4)),r.some(i=>i.name.includes("next"))?"@/"+n:"~/"+n}function L(e,t){let n=t,r=[];for(let i=0;i<2;i++){let a=e.basename(n);if(!a||a==="components")break;r.unshift(a),n=e.dirname(n)}return r.join("/")}function U(e){for(e=e.replace(/([A-Z])/g," $1").replace(/\./g," ").replace(/_/g," ").replace(/-/g," ").replace(/\s/g," ").trim();e.includes(" ");)e=e.replace(/ /g," ");return e.split(" ").map(t=>t.length>2?t[0].toUpperCase()+t.slice(1):t).join("").trim()}function me(e){return e.sort((t,n)=>t.name.toLocaleLowerCase().localeCompare(n.name.toLocaleLowerCase()))}async function V(e,t,n,r){if(typeof n!="string"||n==="")throw new Error(`getComponentId(), exportName must be a non-empty string, received: ${n}, ${t}`);return r&&(t=r),t=e.normalize(t),(await e.hash(t+"#"+n)).substring(0,8)}async function Ko(e){return(await e.hash(e.getAppRootDir())).substring(0,8)}function Wt(e){return typeof e=="number"}function vt(e){return typeof e=="boolean"}function ce(e){return typeof e=="string"}function wt(e){return typeof e=="string"?/^[A-Z][A-Za-z0-9]*$/.test(e):!1}function de(e){return JSON.parse(JSON.stringify(e))}function vr(e,t,n){for(let r of t)if(e.dirname(n).includes(r))return!0;return!1}function Vo(){try{let e=(0,Mo.default)();if(e?.name)return e.name}catch{}return"npm"}function De(e){let t=e.join(e.getAppRootDir(),"tsconfig.json");return e.exists(t)}var Du=["node_modules","dist","build","public"];async function Ee(e,t){async function n(i,a){if(a>10)return;let o=await e.readdir(i);for(let s of o){if(Du.includes(s))continue;let u=e.join(i,s),l=await e.stat(u);if(l){if(l.isFile()&&s.startsWith("builder-registry."))return u;if(l.isDirectory()){let c=await n(u,a+1);if(c)return c}}}}let r=await n(e.getAppRootDir(),0);if(!r){let a=`builder-registry.${await De(e)?"ts":"js"}`;return e.join(t,a)}return r}async function Jt(e,t){let n=e.resolve("/");for(let r=0;r<20;r++){let i=e.join(t,"package.json"),a=await e.readFile(i);if(a)return JSON.parse(a);if(t===n)break;t=e.dirname(t)}return null}async function Uo(e,t){for(let n=0;n<20;n++){let r=e.dirname(t),i=e.join(r,"node_modules");if(await e.exists(i))return i;if(t===e.getAppRootDir())break;t=e.dirname(t)}return e.join(e.getAppRootDir(),"node_modules")}async function Gt(e,t,n){let r=await e.readdir(t);return r.includes(n)?e.join(t,n):(await Promise.all(r.map(async a=>{if(a.startsWith(".")||a==="node_modules")return;let o=e.join(t,a);if((await e.stat(o)).isDirectory()){let u=await Gt(e,o,n);if(u)return u}}))).find(a=>typeof a=="string")}async function ee(e,t,n){if(!Array.isArray(t)||t.length===0)throw new Error(`createTsProgram() Invalid filePaths: ${t}`);let r=await Uo(e,t[0]),i=e.join(r,"typescript","lib"),a=new Map,o={fileExists:s=>{if(s=e.normalize(s),s.includes("node_modules")){let u=Ht.get(s);if(!u){try{e.statSync(s).isFile()?u={exists:!0,content:e.readFileSync(s)}:u={exists:!1}}catch{u={exists:!1}}Ht.set(s,u)}return u.exists}return a.has(s)||a.set(s,e.existsSync(s)),a.get(s)},getCanonicalFileName:s=>e.normalize(s),getCurrentDirectory:()=>e.cwd(),getDefaultLibFileName:()=>e.join(i,"lib.d.ts"),getDefaultLibLocation:()=>i,getNewLine:()=>`
|
|
17
|
+
`,getSourceFile:s=>{if(s=e.normalize(s),s.includes("node_modules")){let l=Ht.get(s);if(l)return R(e,l.content)}let u=e.readFileSync(s);if(u==null){let l=e.basename(s),c=e.extname(l).toLowerCase();if(s.startsWith(i)&&c===".ts"&&(u=qo.get(l),u==null&&typeof self<"u"&&typeof fetch=="function"))throw new br(l)}return s.includes("node_modules")&&(u?Ht.set(s,{exists:!0,content:u}):Ht.set(s,{exists:!1})),R(e,u)},readFile:s=>{let u=e.readFileSync(s);return typeof u=="string"?u:void 0},useCaseSensitiveFileNames:()=>!1,writeFile:()=>{}};for(;;)try{return gu(e,o,t,n)}catch(s){if(s instanceof br){await Cu(e,s.libName);continue}throw console.error("createTsProgram",s),new Error(`createTsProgram() Could not create program for: ${t[0]}`)}}function gu(e,t,n,r){let i={rootNames:[...n],options:{},host:t},a=e.ts.findConfigFile(e.dirname(n[0]),o=>e.existsSync(o));if(a){let o=zo.get(a);if(!o){let s=e.ts.readConfigFile(a,u=>{let l=e.readFileSync(u);return typeof l=="string"?l:void 0});s.error?console.error("error reading tsconfig for createTsProgram"):(o=e.ts.parseJsonConfigFileContent(s.config,e.ts.sys||{useCaseSensitiveFileNames:!1,readDirectory:(l,c)=>e.readdirSync(l),fileExists:l=>e.existsSync(l),readFile:l=>e.readFileSync(l)||void 0},e.dirname(a),void 0,a).options,zo.set(a,o))}o&&(i.options=de(o))}return i.options.noEmit=!0,i.options.isolatedModules=!1,i.options.strict=!1,i.options.jsx=e.ts.JsxEmit.Preserve,i.options.allowJs=!0,Object.assign(i.options,r),e.ts.createProgram(i)}async function bt(e,t,n){n||(n=await ee(e,[t]));let r=n.getSourceFile(t);if(!r)throw new Error(`getTypeChecker() Could not find source file: ${t}`);return{typeChecker:n.getTypeChecker(),sourceFile:r}}var br=class{constructor(t){this.libName=t}};async function Cu(e,t){let n=`https://cdn.jsdelivr.net/npm/typescript@${e.ts.version}/lib/${t}`;wr.has(t)||wr.set(t,fetch(n).then(r=>r.text()).then(r=>{qo.set(t,r)})),await wr.get(t),wr.delete(t)}var qo=new Map,wr=new Map,Ht=new Map,zo=new Map;async function Wo(e,t){let n=await e.readFile(t.filePath);return n==null?{diagnostics:[{messageText:`Error reading: ${t.filePath}`}],code:null,output:null}:fn(e,{code:n,filePath:t.filePath,compilerOptions:t.compilerOptions})}function fn(e,t){let n={diagnostics:[],code:t.code,output:null};try{let r=e.ts.transpileModule(t.code,{compilerOptions:t.compilerOptions,fileName:t.filePath??"module.tsx",reportDiagnostics:!0});r.diagnostics?.forEach(i=>{n.diagnostics.push({messageText:String(i.messageText)})}),n.output=r.outputText}catch(r){console.error("transpileModule",r),n.diagnostics.push({messageText:String(r)})}return n}var Te=require("node:fs/promises");var Dn=require("node:os"),gn=I(require("node:path"),1),xu=I(require("prettier"),1),Eu=I(require("typescript"),1),Fu=I(require("launch-editor"),1);async function Pt(e){let t=[],n=await Jt(e,e.getRepoRootDir());if(n){let r=await Ho(n,e);t.push(...r)}return t}async function Go(e){let t=await Jt(e,e.getRepoRootDir());return t?.scripts?.dev?t.scripts.dev.includes("--turbopack"):!1}async function Ho(e,t){let n=[];if(e&&typeof e=="object"){let r=new Set(Object.keys({...e.dependencies,...e.devDependencies}));for(let i of hu)if(r.has(i)&&!n.some(a=>a.name===i)){let a={name:i};Jo.has(i)&&(a.version=await Jo.get(i)(t)),n.push(a)}}return n}function dn(e){let t=parseInt(e);return Number.isNaN(t)?void 0:t}var Jo=new Map([["next",async e=>{if(!e.spawnSync)return;let t=Vo(),n=t==="npm"?"npx":t,{stdout:r}=e.spawnSync(n,["next","-v"],{encoding:"utf8"});if(!r)return;let i=r.match(/(Next.js v)([\d.]+)/g);if(!i)return;let a=i[0].split("Next.js v")[1],[o,s,u]=a.split(".");return{major:dn(o),minor:dn(s),patch:dn(u)}}]]),hu=["@shopify/remix-oxygen","@shopify/hydrogen","@builder.io/qwik-city","@remix-run/react","@sveltejs/kit","astro","gatsby","next","nuxt","@builder.io/qwik","@angular/core","react","solid-js","svelte","vue"];var mf=I(require("@sentry/node"),1);function Qo(){let e=(0,Dn.homedir)();return gn.default.join(e,".config","builder","dev-tools.json")}function Cn(e,t){return typeof e=="object"&&e!=null&&t in e}async function Tt(){let e=Qo();try{let t=await(0,Te.readFile)(e,"utf-8");if(typeof t=="string")return JSON.parse(t)}catch(t){if(t.code==="ENOENT")return null}return null}async function hn(e){let t=Qo();e=typeof e=="object"&&e!=null?e:{},await(0,Te.mkdir)(gn.default.dirname(t),{recursive:!0}),await(0,Te.writeFile)(t,JSON.stringify(e??{},null,2))}var b={gen1:"Gen 1",gen2:"Gen 2"},Qt={CMS:"cms",VCP:"vcp",HYBRID:"hybrid"};var Yo=require("node:console"),Xo=require("node:http"),Zo=require("node:https");function It(e){let t=Date.now();return new Promise((n,r)=>{let a=yu(e.url)({protocol:e.url.protocol,host:e.url.host,port:e.url.port,path:e.url.pathname+e.url.search,method:e.method,headers:e.headers},o=>{let s="";o.on("data",u=>{s+=u}),o.on("end",()=>{if((0,Yo.debug)(`${e.method} ${e.url.href}, duration: ${Date.now()-t}ms`),typeof o.statusCode=="number"&&o.statusCode>=200&&o.statusCode<300)if(typeof o.headers["content-type"]!="string"||!o.headers["content-type"].includes("application/json"))r(`Response from ${e.url.href} content-type is ${o.headers["content-type"]}`);else try{n(JSON.parse(s))}catch(u){r(`Response from ${e.url.href} is not valid JSON: ${s}
|
|
18
|
+
${u}`)}else r(`Request to ${e.url.href} failed with status ${o.statusCode}: ${s}`)})}).on("error",o=>{r(`Error fetching ${e.url.href}, ${o}`)});e.body&&(a.setHeader("Content-Type","application/json"),a.write(e.body)),a.end()})}function yu(e){if(e.protocol==="https:")return Zo.request;if(e.protocol==="http:")return Xo.request;throw new Error(`Unsupported protocol ${e.protocol}`)}async function ei(e){let t=new URL(`https://cdn.builder.io/api/v3/query/${e.publicApiKey}/${e.model}`);return t.searchParams.set("omit","meta.componentsUsed"),t.searchParams.set("apiKey",e.publicApiKey),t.searchParams.set("userAttributes.urlPath",e.pageUrl),t.searchParams.set("options.page.model",`"${e.model}"`),t.searchParams.set("cachebust","true"),(await It({url:t,method:"GET"}))[e.model]}async function ti(e,t){if(t.kind===Qt.VCP)return!0;let n=new URL("https://cdn.builder.io/api/v2/admin"),r={query:`query {
|
|
19
19
|
models {
|
|
20
20
|
id
|
|
21
21
|
name
|
|
22
22
|
}
|
|
23
|
-
}`};e.debug(`Get model id for model name "${t.model}"`);let a=(await
|
|
23
|
+
}`};e.debug(`Get model id for model name "${t.model}"`);let a=(await It({url:n,method:"POST",headers:{Authorization:`Bearer ${t.privateAuthKey}`,"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(r)})).data.models.find(u=>u.name===t.model);if(!a)return e.debug(`No model found for model name "${t.model}"`),!1;e.debug(`Data query, modelId: "${a.id}", urlPath: "${t.pageUrl}"`);let o=new URL("https://cdn.builder.io/api/v3/data");o.searchParams.set("limit","1"),o.searchParams.set("cachebust","true"),o.searchParams.set("collection","content"),o.searchParams.set("query.published.$ne","archived"),o.searchParams.set("query.query.$elemMatch.$and[0].property","urlPath"),o.searchParams.set("query.query.$elemMatch.$and[0].operator","is"),o.searchParams.set("query.query.$elemMatch.$and[0].value",t.pageUrl),o.searchParams.set("query.modelId",a.id),o.searchParams.set("apiKey",t.publicApiKey);let s=await It({url:o,method:"GET"});return e.debug(`Data results (${s.results.length}): ${o.href}`),s.results.length>0}async function ri(e,t){let n=new URL(`https://cdn.builder.io/api/v3/content/${t.model}`);n.searchParams.set("apiKey",t.publicApiKey),n.searchParams.set("cachebust","true"),n.searchParams.set("cb",Date.now().toString()),t.pageUrl&&(n.searchParams.set("url",t.pageUrl),e.debug(`get model: "${t.model}", pageUrl: "${t.pageUrl}":`,n.href)),t.id&&(n.searchParams.set("query.id",t.id),e.debug(`get model: "${t.model}", id: "${t.id}":`,n.href));let r=await It({url:n,method:"GET"});return e.debug(`get content results: ${r.results.length}`),r}async function ni(e,t){let n=new URL(`https://cdn.builder.io/api/v1/write/${t.model}`);e.debug(`writing "${t.model}" content:`,n.href),await It({url:n,method:"POST",headers:{Authorization:`Bearer ${t.privateAuthKey}`},body:t.body})}var Bt="page",oi="integration-welcome-screens",ii="8d9ee72a33344b4b867918b442ebd0af";async function ai(e,t){let n=await ri(e,{model:oi,publicApiKey:ii,id:t.templateContentId});if(!Array.isArray(n?.results)||n.results.length===0||!n.results[0].data?.blocks)throw new Error(`No Builder content found for id ${t.templateContentId}`);let r=JSON.stringify(n.results[0].data.blocks),i=Su(t.publicApiKey,t.pathname,t.title,r);await ni(e,{privateAuthKey:t.privateAuthKey,model:Bt,body:i})}function Su(e,t,n,r){return JSON.stringify({name:n,ownerId:e,published:"published",query:[{property:"urlPath",value:[t],operator:"is"}],data:{title:n,blocksString:r}})}async function si(e,t,n,r){e.debug(`connect builder with public key: ${t}`),e.publicApiKey=t;let i=e.closeAppServer(),a=await e.setPublicApiKey({publicApiKey:t});e.debug(`set public key: process.env.${a.envKey}=${t}`),process.env[a.envKey]=t;let o=await e.builderPageOptions();e.debug(`builder model: ${Bt}, path: ${o.pathname}, template: ${o.templateContentId}`);let s=await ti(e,{model:Bt,pageUrl:o.pathname,publicApiKey:t,privateAuthKey:n,kind:r});if(!s){await ai(e,{templateContentId:o.templateContentId,pathname:o.pathname,title:o.title,publicApiKey:t,privateAuthKey:n});let c=5,p=0;for(;!s&&p<c;){await new Promise(C=>setTimeout(C,1e3));let m=await ei({model:Bt,pageUrl:o.pathname,publicApiKey:t,privateAuthKey:n});p++,m&&m.length>0&&(s=!0)}}await i,e.debug("ensure builder setup");let u=[];r===Qt.VCP?u=await e.ensureFigmaImportPage():u=await e.ensureBuilderSetup(),a.modifiedType&&u.push({filePath:a.file,modifiedType:a.modifiedType}),u.forEach(c=>{c.displayFilePath=e.relative(e.getAppRootDir(),c.filePath)}),u.sort((c,p)=>c.filePath.localeCompare(p.filePath)),u.length>0?(e.debug(`modified files: ${u.map(c=>c.displayFilePath).join(", ")}`),await e.restartAppServer(),await new Promise(c=>setTimeout(c,500))):e.debug("no modified files");let l={success:!0,pathname:o.localePathname||o.pathname,modifiedFiles:u,platform:e.platform(),kind:r};return r===Qt.VCP&&(l.pathname="/"),e.debug(`connected builder: ${l.pathname}`),l}async function ui(e){let t=await e.builderPageOptions();e.debug(`validateBuilder, pathname: ${t.pathname}, localePathname: ${t.localePathname}, isValid: ${e.isValid}`);let n={isValid:e.isValid,pathname:t.localePathname||t.pathname,platform:e.platform()};if(e.isValid)return n;let r=await e.getPublicApiKey();return r.envValue?(e.debug(`public api key: ${r.envValue}, ${r.file}`),e.publicApiKey=r.envValue,e.debug("builder connection is valid"),n.isValid=!0,e.isValid=!0,n):(e.debug("missing public api key"),n)}async function li(e,t){let n={type:t.type};switch(t.type){case"getCache":{n.data=await e.getCache();break}case"setCache":{await e.setCache(t.data);break}case"connectBuilder":{n.data=await si(e,t.data.publicApiKey,t.data.privateAuthKey,t.data.kind);break}case"enableDevTools":{n.data=wu(e,t.data.enabled);break}case"getRegistry":{n.data=await e.getRegistry(t.data);break}case"launchEditor":{n.data=await e.launchEditor(t.data);break}case"validateBuilder":{n.data=await ui(e);break}case"loadComponent":{n.data=await e.loadComponent(t.data);break}case"registerComponent":{n.data=await e.registerComponent(t.data),e.serverShouldRestart=!0;break}case"setComponentInfo":{n.data=await e.setRegisteredComponentInfo(t.data),e.serverShouldRestart=!0;break}case"setComponentInput":{n.data=await e.setRegisteredComponentInput(t.data),e.serverShouldRestart=!0;break}case"unregisterComponent":{n.data=await e.unregisterComponent(t.data),e.serverShouldRestart=!0;break}case"getFrameworks":{n.data=e.getFrameworks();break}case"readdir":{xn(e,t.path)?n.data=await e.readdir(t.path,!0):n.errors=[`Invalid file request: ${t.path}`];break}case"readFile":{xn(e,t.path)?n.data=await e.readFile(t.path):n.errors=[`Invalid file request: ${t.path}`];break}case"writeFile":{xn(e,t.path)?await e.writeFile(t.path,t.content):n.errors=[`Invalid file request: ${t.path}`];break}case"ensureFigmaImportPage":{n.data=await e.ensureFigmaImportPage();break}case"transileFile":{n.data=await Wo(e,t);break}case"transileModule":{n.data=fn(e,t);break}case"getPastSyncInfo":{n.data=await e.getPastSyncInfo?.(t.data);break}case"resyncSnippet":{n.data=await e.resyncSnippet?.(t.data);break}case"localConfig":{n.data=await Tt();break}default:{n.errors=[`Unknown request type: ${JSON.stringify(t)}`];let r=t}}return n}function xn(e,t){if(!t||t.includes(".."))return!1;t=t.replace(/\\/g,"/");let n=t.split("/"),r=n[n.length-1];if(r.length>0){let i=r.split(".").pop();if(i&&(i=`.${i}`.toLocaleLowerCase(),i=i.split("?")[0],!vu.includes(i)))return!1}return Au(e,t),!1}function Au(e,t){if(!t)return!1;t=e.normalize(e.resolve(t));let n=e.getAppRootDir();return!(!t.startsWith(n)&&!t.includes("node_modules"))}var vu=[".js",".jsx",".ts",".tsx",".json",".css",".scss",".sass",".less",".html",".htm",".xml",".svg",".png",".jpg",".jpeg",".gif",".ico",".webp",".woff",".woff2",".ttf",".eot",".mp4",".webm",".ogg",".md",".txt",".csv",".pdf"];function wu(e,t){return!t&&e.serverShouldRestart&&setTimeout(()=>{console.log(`
|
|
24
24
|
Restarting server after Builder Devtools update...
|
|
25
|
-
`),e.restartAppServer()},10),e.enableAppWatch(!t),{enabled:t,platform:e.platform()}}async function Go(e){return Qo(e,`"use strict";(()=>{var Hr=Object.defineProperty;var qr=(t,e)=>{for(var n in e)Hr(t,n,{get:e[n],enumerable:!0})};var W=(t,e)=>{It(t);let n=t.querySelector("aside");n.dataset.view=e,n.classList.remove("section-ready"),setTimeout(()=>{n.classList.add("section-ready")},200)},pn=t=>{Array.from(t.querySelectorAll(".back-button")).forEach(e=>{e.addEventListener("click",n=>{It(t),n.preventDefault(),n.stopPropagation();let r=n.target;W(t,r?.dataset.back||"nav-home")})})},Tt=(t,e)=>{It(t);let n=t.querySelector("aside"),r=document.createElement("div");r.className="ui-toast",r.innerHTML=e,n.appendChild(r),setTimeout(()=>{r.classList.add("ui-toast-show"),setTimeout(()=>{r.classList.remove("ui-toast-show"),setTimeout(()=>{r.remove()},500)},4e3)},30)},It=t=>{let e=t.querySelector("aside");Array.from(e.querySelectorAll(".ui-toast")).forEach(r=>{r.classList.remove("ui-toast-show")})},ke=()=>{let t=fn();return localStorage.getItem(t)!=="true"},bt=t=>{let e=fn();t?localStorage.removeItem(e):localStorage.setItem(e,"true")},fn=()=>jr("disableEdit"),jr=t=>\`builder.__LOCAL_APP_ID__.\${t}\`,mn=()=>{let e=document.body.querySelector("[builder-content-id]")?.getAttribute("builder-content-id");return Ee(e)},Ee=(t,e)=>{let n="/content";t&&(n+="/"+t+"/edit");let r=new URL(n,"https://builder.io");t&&e&&r.searchParams.set("selectedBlock",e);let i=new URL(location.pathname,location.href);return r.searchParams.set("overridePreviewUrl",i.href),r.href},Oe="__DEV_TOOLS_URL__",A={components:[],registryPath:"",registryDisplayPath:"",frameworks:[],dependencies:[],publicApiKey:void 0,devToolsVersion:""},J=t=>{A.components=t.components,A.registryPath=t.registryPath,A.registryDisplayPath=t.registryDisplayPath,A.dependencies=t.dependencies,A.publicApiKey=t.publicApiKey};function vn(t){let e=null,n=document.querySelector("builder-dev-tools-menu"),r=()=>{t.hide()},i=u=>{let c=u.target;if(!c){r();return}if(c.closest("builder-dev-tools-edit"))return;let a=c.closest("[builder-content-id]"),l=c.closest("[builder-id]");if(!a||!l){t.hide();return}let d=t.show(a,l);!d||d===e||(n.highlightOpener(),e=d)};document.addEventListener("pointerover",i,{passive:!0}),document.addEventListener("pointerleave",r,{passive:!0}),document.addEventListener("pointercancel",r,{passive:!0}),document.addEventListener("visibilitychange",r,{passive:!0}),window.addEventListener("popstate",r,{passive:!0});let o=history.pushState;history.pushState=function(...u){t.hide(),o.apply(this,u)};let s=history.replaceState;history.replaceState=function(...u){t.hide(),s.apply(this,u)}}var Ue=class extends HTMLElement{openInBuilder=null;block=null;constructor(){super()}connectedCallback(){this.setAttribute("aria-hidden","true");let e=this.attachShadow({mode:"open"});e.innerHTML='<style>*,*:before,*:after{box-sizing:border-box}:host{--background-color: rgba(40, 40, 40, 1);--primary-color: rgba(72, 161, 255, 1);--primary-color-subdued: rgb(72, 161, 255, .6);--primary-color-highlight: rgb(126, 188, 255);--primary-contrast-color: white;--edit-color: #1d74e2;--edit-color-highlight: #1c6bd1;--edit-color-alpha: rgb(72, 161, 255, .15);--error-color: #ff2b55;--text-color: white;--text-color-highlight: white;--border-color: #454545;--button-background-color-hover: rgba(255, 255, 255, .1);--menu-width: 320px;--transition-time: .15s;--font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";font-family:var(--font-family);line-height:1.6}button{cursor:pointer;color:var(--text-color);-webkit-tap-highlight-color:transparent}input,select,button{font-family:var(--font-family)}:host{display:none;position:absolute;top:0;left:0;width:100%;height:100%;z-index:2147483646;user-select:none;pointer-events:none;color:var(--text-color)}#content-highlight,#block{position:absolute}#content-highlight{border:3px solid var(--primary-color);background-color:var(--primary-color-alpha)}a{position:absolute;top:-33px;left:0;display:block;padding:5px 10px 8px;pointer-events:auto;z-index:100;text-decoration:none}a:hover{text-decoration:none}a span{display:block;padding:3px 6px;font-size:10px;font-weight:300;border-radius:3px;text-align:center;text-decoration:none;pointer-events:none;background-color:var(--edit-color);color:var(--text-color);white-space:nowrap}a:hover span{background-color:var(--edit-color-highlight)}a:hover~.outline{border-color:var(--edit-color-highlight)}#open-in-editor{display:none}.outline{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid var(--edit-color);background-color:var(--edit-color-alpha)}</style><div id="block"> <a id="open-in-builder" target="builder"><span>Open In Builder</span></a> <a id="open-in-editor" href="#open-in-editor"><span>Open In Editor</span></a> <div class="outline"></div> </div>',this.openInBuilder=e.getElementById("open-in-builder"),this.block=e.getElementById("block"),vn(this)}show(e,n){if(!ke())return this.hide(),null;let r=e.getAttribute("builder-content-id"),i=n.getAttribute("builder-id");if(!r||!i)return this.hide(),null;let o=this.block,s=this.openInBuilder,u=n.getBoundingClientRect();o.style.top=u.top+window.scrollY-1+"px",o.style.left=u.left+window.scrollX+"px",o.style.width=u.width+"px",o.style.height=u.height+1+"px";let c=s.getBoundingClientRect();if(c.width>u.width){let a=c.width-u.width;s.style.left=a/2*-1+"px"}else s.style.left="";return s.href=Ee(r,i),this.style.display="block",i}hide(){this.style.display=""}};var gn="preview-url";var hn="_b-uid";var yn="/~builder-connect";var _n="/~builder-dev-tools";var En="https://cdn.builder.io/api/v1/proxy-api?url=https://api2.amplitude.com/2/httpapi";var Tn=()=>$({type:"validateBuilder"}),ve=t=>$({type:"launchEditor",data:t}),In=t=>$({type:"getRegistry",data:t}),bn=t=>$({type:"loadComponent",data:t}),Sn=t=>$({type:"registerComponent",data:t}),xn=t=>$({type:"setComponentInfo",data:t}),Me=t=>$({type:"setComponentInput",data:t}),Ln=t=>$({type:"unregisterComponent",data:t}),wn=t=>$({type:"enableDevTools",data:{enabled:t}}),Cn=()=>$({type:"localConfig"}),$=async t=>{let e=new URL(_n,Oe),n;try{n=await fetch(e,{method:"POST",body:JSON.stringify(t)})}catch(i){throw console.error(\`Devtools Fetch Error, \${e.href}\`,i),new Error("Builder Devtools Fetch Error")}if((n.headers.get("content-type")||"").includes("application/json")){let i=await n.json();if(n.ok)return i.data;if(Array.isArray(i.errors)&&i.errors.length>0)throw i.errors.forEach(o=>console.error(o)),new Error(\`Builder Devtools Fetch Error: \${i.errors[0]}\`)}throw new Error(\`Builder Devtools Fetch Error: \${n.status}, \${await n.text()}\`)};var Pn=[{value:"boolean",text:"boolean"},{value:"color",text:"color (provides a color in hex or rgb)"},{value:"date",text:"date (same format as the Date constructor)"},{value:"email",text:"email"},{value:"file",text:"file (uploads a file and provides a url)"},{value:"list",text:"list (collection of items)"},{value:"longText",text:"longText (multiline text editor)"},{value:"number",text:"number"},{value:"object",text:"object (set of specific names and values)"},{value:"richText",text:"richText (provides value as html)"},{value:"string",text:"string"}],Ne=["color","date","email","file","longText","richText","string"],Be=["number"],Fe=["boolean"],Ve=["list"],He=["object"];function qe(t){return Ne.includes(t)?"string":Be.includes(t)?"number":Fe.includes(t)?"boolean":Ve.includes(t)?"array":He.includes(t)?"object":"string"}var $i=new Set(["about","accessKey","accessKeyLabel","asChild","autoCapitalize","autoCorrect","autoFocus","autoSave","blur","contentEditable","contextMenu","dangerouslySetInnerHTML","datatype","defaultChecked","defaultValue","dir","draggable","enterKeyHint","focus","form","formAction","formEncType","formMethod","formNoValidate","formTarget","inlist","innerText","inputMode","is","isContentEditable","itemID","itemProp","itemRef","itemScope","itemType","lang","nonce","offsetHeight","offsetLeft","offsetTop","offsetWidth","outerText","prefix","property","radioGroup","rel","resource","results","rev","role","security","slot","spellCheck","suppressContentEditableWarning","suppressHydrationWarning","tabIndex","translate","typeof","unselectable","vocab"].map(t=>t.toLowerCase()));var St=function(t,e){return St=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},St(t,e)};function V(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");St(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var v=function(){return v=Object.assign||function(e){for(var n,r=1,i=arguments.length;r<i;r++){n=arguments[r];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},v.apply(this,arguments)};function Te(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n}function p(t,e,n,r){function i(o){return o instanceof n?o:new n(function(s){s(o)})}return new(n||(n=Promise))(function(o,s){function u(l){try{a(r.next(l))}catch(d){s(d)}}function c(l){try{a(r.throw(l))}catch(d){s(d)}}function a(l){l.done?o(l.value):i(l.value).then(u,c)}a((r=r.apply(t,e||[])).next())})}function f(t,e){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:u(0),throw:u(1),return:u(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function u(a){return function(l){return c([a,l])}}function c(a){if(r)throw new TypeError("Generator is already executing.");for(;s&&(s=0,a[0]&&(n=0)),n;)try{if(r=1,i&&(o=a[0]&2?i.return:a[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,a[1])).done)return o;switch(i=0,o&&(a=[a[0]&2,o.value]),a[0]){case 0:case 1:o=a;break;case 4:return n.label++,{value:a[1],done:!1};case 5:n.label++,i=a[1],a=[0];continue;case 7:a=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(a[0]===6||a[0]===2)){n=0;continue}if(a[0]===3&&(!o||a[1]>o[0]&&a[1]<o[3])){n.label=a[1];break}if(a[0]===6&&n.label<o[1]){n.label=o[1],o=a;break}if(o&&n.label<o[2]){n.label=o[2],n.ops.push(a);break}o[2]&&n.ops.pop(),n.trys.pop();continue}a=e.call(t,n)}catch(l){a=[6,l],i=0}finally{r=o=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}}function Y(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function L(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,o=[],s;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)o.push(i.value)}catch(u){s={error:u}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(s)throw s.error}}return o}function q(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,o;r<i;r++)(o||!(r in e))&&(o||(o=Array.prototype.slice.call(e,0,r)),o[r]=e[r]);return t.concat(o||Array.prototype.slice.call(e))}var Rn="Event tracked successfully",Dn="Unexpected error occurred",An="Event rejected due to exceeded retry count",kn="Event skipped due to optOut config",On="Event rejected due to missing API key",Un="Invalid API key",Mn="Client not initialized";var Ge={};qr(Ge,{IdentifyOperation:()=>w,LogLevel:()=>M,OfflineDisabled:()=>Ke,RevenueProperty:()=>Q,ServerZone:()=>je,SpecialEventType:()=>ee,Status:()=>x});var w;(function(t){t.SET="$set",t.SET_ONCE="$setOnce",t.ADD="$add",t.APPEND="$append",t.PREPEND="$prepend",t.REMOVE="$remove",t.PREINSERT="$preInsert",t.POSTINSERT="$postInsert",t.UNSET="$unset",t.CLEAR_ALL="$clearAll"})(w||(w={}));var Q;(function(t){t.REVENUE_PRODUCT_ID="$productId",t.REVENUE_QUANTITY="$quantity",t.REVENUE_PRICE="$price",t.REVENUE_TYPE="$revenueType",t.REVENUE="$revenue"})(Q||(Q={}));var ee;(function(t){t.IDENTIFY="$identify",t.GROUP_IDENTIFY="$groupidentify",t.REVENUE="revenue_amount"})(ee||(ee={}));var M;(function(t){t[t.None=0]="None",t[t.Error=1]="Error",t[t.Warn=2]="Warn",t[t.Verbose=3]="Verbose",t[t.Debug=4]="Debug"})(M||(M={}));var je;(function(t){t.US="US",t.EU="EU"})(je||(je={}));var x;(function(t){t.Unknown="unknown",t.Skipped="skipped",t.Success="success",t.RateLimit="rate_limit",t.PayloadTooLarge="payload_too_large",t.Invalid="invalid",t.Failed="failed",t.Timeout="Timeout",t.SystemError="SystemError"})(x||(x={}));var Ke=null;var te=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=x.Unknown),{event:t,code:e,message:n}};var X=function(t){return t?(t^Math.random()*16>>t/4).toString(16):(String(1e7)+String(-1e3)+String(-4e3)+String(-8e3)+String(-1e11)).replace(/[018]/g,X)};var Nn=function(){function t(e){this.client=e,this.queue=[],this.applying=!1,this.plugins=[]}return t.prototype.register=function(e,n){var r,i,o;return p(this,void 0,void 0,function(){return f(this,function(s){switch(s.label){case 0:return e.name=(r=e.name)!==null&&r!==void 0?r:X(),e.type=(i=e.type)!==null&&i!==void 0?i:"enrichment",[4,(o=e.setup)===null||o===void 0?void 0:o.call(e,n,this.client)];case 1:return s.sent(),this.plugins.push(e),[2]}})})},t.prototype.deregister=function(e){var n;return p(this,void 0,void 0,function(){var r,i;return f(this,function(o){switch(o.label){case 0:return r=this.plugins.findIndex(function(s){return s.name===e}),i=this.plugins[r],this.plugins.splice(r,1),[4,(n=i.teardown)===null||n===void 0?void 0:n.call(i)];case 1:return o.sent(),[2]}})})},t.prototype.reset=function(e){this.applying=!1;var n=this.plugins;n.map(function(r){var i;return(i=r.teardown)===null||i===void 0?void 0:i.call(r)}),this.plugins=[],this.client=e},t.prototype.push=function(e){var n=this;return new Promise(function(r){n.queue.push([e,r]),n.scheduleApply(0)})},t.prototype.scheduleApply=function(e){var n=this;this.applying||(this.applying=!0,setTimeout(function(){n.apply(n.queue.shift()).then(function(){n.applying=!1,n.queue.length>0&&n.scheduleApply(0)})},e))},t.prototype.apply=function(e){return p(this,void 0,void 0,function(){var n,r,i,o,s,u,c,y,g,a,l,d,m,y,g,T,h,_,U,I,k,F;return f(this,function(b){switch(b.label){case 0:if(!e)return[2];n=L(e,1),r=n[0],i=L(e,2),o=i[1],s=this.plugins.filter(function(S){return S.type==="before"}),b.label=1;case 1:b.trys.push([1,6,7,8]),u=Y(s),c=u.next(),b.label=2;case 2:return c.done?[3,5]:(y=c.value,y.execute?[4,y.execute(v({},r))]:[3,4]);case 3:if(g=b.sent(),g===null)return o({event:r,code:0,message:""}),[2];r=g,b.label=4;case 4:return c=u.next(),[3,2];case 5:return[3,8];case 6:return a=b.sent(),U={error:a},[3,8];case 7:try{c&&!c.done&&(I=u.return)&&I.call(u)}finally{if(U)throw U.error}return[7];case 8:l=this.plugins.filter(function(S){return S.type==="enrichment"||S.type===void 0}),b.label=9;case 9:b.trys.push([9,14,15,16]),d=Y(l),m=d.next(),b.label=10;case 10:return m.done?[3,13]:(y=m.value,y.execute?[4,y.execute(v({},r))]:[3,12]);case 11:if(g=b.sent(),g===null)return o({event:r,code:0,message:""}),[2];r=g,b.label=12;case 12:return m=d.next(),[3,10];case 13:return[3,16];case 14:return T=b.sent(),k={error:T},[3,16];case 15:try{m&&!m.done&&(F=d.return)&&F.call(d)}finally{if(k)throw k.error}return[7];case 16:return h=this.plugins.filter(function(S){return S.type==="destination"}),_=h.map(function(S){var O=v({},r);return S.execute(O).catch(function(B){return te(O,0,String(B))})}),Promise.all(_).then(function(S){var O=L(S,1),B=O[0],Z=B||te(r,100,"Event not tracked, no destination plugins on the instance");o(Z)}),[2]}})})},t.prototype.flush=function(){return p(this,void 0,void 0,function(){var e,n,r,i=this;return f(this,function(o){switch(o.label){case 0:return e=this.queue,this.queue=[],[4,Promise.all(e.map(function(s){return i.apply(s)}))];case 1:return o.sent(),n=this.plugins.filter(function(s){return s.type==="destination"}),r=n.map(function(s){return s.flush&&s.flush()}),[4,Promise.all(r)];case 2:return o.sent(),[2]}})})},t}();var xt="-",de="AMP",Lt="".concat(de,"_unsent"),wt="https://api2.amplitude.com/2/httpapi",Bn="https://api.eu.amplitude.com/2/httpapi",Fn="https://api2.amplitude.com/batch",Vn="https://api.eu.amplitude.com/batch";var Kr=1e3,We=function(t){if(Object.keys(t).length>Kr)return!1;for(var e in t){var n=t[e];if(!Ct(e,n))return!1}return!0},Ct=function(t,e){var n,r;if(typeof t!="string")return!1;if(Array.isArray(e)){var i=!0;try{for(var o=Y(e),s=o.next();!s.done;s=o.next()){var u=s.value;if(Array.isArray(u))return!1;if(typeof u=="object")i=i&&We(u);else if(!["number","string"].includes(typeof u))return!1;if(!i)return!1}}catch(c){n={error:c}}finally{try{s&&!s.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}}else{if(e==null)return!1;if(typeof e=="object")return We(e);if(!["number","string","boolean"].includes(typeof e))return!1}return!0};var G=function(){function t(){this._propertySet=new Set,this._properties={}}return t.prototype.getUserProperties=function(){return v({},this._properties)},t.prototype.set=function(e,n){return this._safeSet(w.SET,e,n),this},t.prototype.setOnce=function(e,n){return this._safeSet(w.SET_ONCE,e,n),this},t.prototype.append=function(e,n){return this._safeSet(w.APPEND,e,n),this},t.prototype.prepend=function(e,n){return this._safeSet(w.PREPEND,e,n),this},t.prototype.postInsert=function(e,n){return this._safeSet(w.POSTINSERT,e,n),this},t.prototype.preInsert=function(e,n){return this._safeSet(w.PREINSERT,e,n),this},t.prototype.remove=function(e,n){return this._safeSet(w.REMOVE,e,n),this},t.prototype.add=function(e,n){return this._safeSet(w.ADD,e,n),this},t.prototype.unset=function(e){return this._safeSet(w.UNSET,e,xt),this},t.prototype.clearAll=function(){return this._properties={},this._properties[w.CLEAR_ALL]=xt,this},t.prototype._safeSet=function(e,n,r){if(this._validate(e,n,r)){var i=this._properties[e];return i===void 0&&(i={},this._properties[e]=i),i[n]=r,this._propertySet.add(n),!0}return!1},t.prototype._validate=function(e,n,r){return this._properties[w.CLEAR_ALL]!==void 0||this._propertySet.has(n)?!1:e===w.ADD?typeof r=="number":e!==w.UNSET&&e!==w.REMOVE?Ct(n,r):!0},t}();var Hn=function(t,e,n){var r=typeof t=="string"?{event_type:t}:t;return v(v(v({},r),n),e&&{event_properties:e})},Ie=function(t,e){var n=v(v({},e),{event_type:ee.IDENTIFY,user_properties:t.getUserProperties()});return n},qn=function(t,e,n,r){var i,o=v(v({},r),{event_type:ee.GROUP_IDENTIFY,group_properties:n.getUserProperties(),groups:(i={},i[t]=e,i)});return o},jn=function(t,e,n){var r,i=new G;i.set(t,e);var o=v(v({},n),{event_type:ee.IDENTIFY,user_properties:i.getUserProperties(),groups:(r={},r[t]=e,r)});return o},Kn=function(t,e){return v(v({},e),{event_type:ee.REVENUE,event_properties:t.getEventProperties()})};var H=function(t){return{promise:t||Promise.resolve()}};var Pt=function(){function t(e){e===void 0&&(e="$default"),this.initializing=!1,this.q=[],this.dispatchQ=[],this.logEvent=this.track.bind(this),this.timeline=new Nn(this),this.name=e}return t.prototype._init=function(e){return p(this,void 0,void 0,function(){return f(this,function(n){switch(n.label){case 0:return this.config=e,this.timeline.reset(this),[4,this.runQueuedFunctions("q")];case 1:return n.sent(),[2]}})})},t.prototype.runQueuedFunctions=function(e){return p(this,void 0,void 0,function(){var n,r,i,o,s,u,c;return f(this,function(a){switch(a.label){case 0:n=this[e],this[e]=[],a.label=1;case 1:a.trys.push([1,6,7,8]),r=Y(n),i=r.next(),a.label=2;case 2:return i.done?[3,5]:(o=i.value,[4,o()]);case 3:a.sent(),a.label=4;case 4:return i=r.next(),[3,2];case 5:return[3,8];case 6:return s=a.sent(),u={error:s},[3,8];case 7:try{i&&!i.done&&(c=r.return)&&c.call(r)}finally{if(u)throw u.error}return[7];case 8:return[2]}})})},t.prototype.track=function(e,n,r){var i=Hn(e,n,r);return H(this.dispatch(i))},t.prototype.identify=function(e,n){var r=Ie(e,n);return H(this.dispatch(r))},t.prototype.groupIdentify=function(e,n,r,i){var o=qn(e,n,r,i);return H(this.dispatch(o))},t.prototype.setGroup=function(e,n,r){var i=jn(e,n,r);return H(this.dispatch(i))},t.prototype.revenue=function(e,n){var r=Kn(e,n);return H(this.dispatch(r))},t.prototype.add=function(e){return this.config?H(this.timeline.register(e,this.config)):(this.q.push(this.add.bind(this,e)),H())},t.prototype.remove=function(e){return this.config?H(this.timeline.deregister(e)):(this.q.push(this.remove.bind(this,e)),H())},t.prototype.dispatchWithCallback=function(e,n){if(!this.config)return n(te(e,0,Mn));this.process(e).then(n)},t.prototype.dispatch=function(e){return p(this,void 0,void 0,function(){var n=this;return f(this,function(r){return this.config?[2,this.process(e)]:[2,new Promise(function(i){n.dispatchQ.push(n.dispatchWithCallback.bind(n,e,i))})]})})},t.prototype.process=function(e){return p(this,void 0,void 0,function(){var i,n,r,i;return f(this,function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),this.config.optOut?[2,te(e,0,kn)]:[4,this.timeline.push(e)];case 1:return i=o.sent(),i.code===200?this.config.loggerProvider.log(i.message):i.code===100?this.config.loggerProvider.warn(i.message):this.config.loggerProvider.error(i.message),[2,i];case 2:return n=o.sent(),r=String(n),this.config.loggerProvider.error(r),i=te(e,0,r),[2,i];case 3:return[2]}})})},t.prototype.setOptOut=function(e){if(!this.config){this.q.push(this.setOptOut.bind(this,!!e));return}this.config.optOut=!!e},t.prototype.flush=function(){return H(this.timeline.flush())},t}();var $e=function(){function t(){this.productId="",this.quantity=1,this.price=0}return t.prototype.setProductId=function(e){return this.productId=e,this},t.prototype.setQuantity=function(e){return e>0&&(this.quantity=e),this},t.prototype.setPrice=function(e){return this.price=e,this},t.prototype.setRevenueType=function(e){return this.revenueType=e,this},t.prototype.setRevenue=function(e){return this.revenue=e,this},t.prototype.setEventProperties=function(e){return We(e)&&(this.properties=e),this},t.prototype.getEventProperties=function(){var e=this.properties?v({},this.properties):{};return e[Q.REVENUE_PRODUCT_ID]=this.productId,e[Q.REVENUE_QUANTITY]=this.quantity,e[Q.REVENUE_PRICE]=this.price,e[Q.REVENUE_TYPE]=this.revenueType,e[Q.REVENUE]=this.revenue,e},t}();var Gn=function(t,e){var n=Math.max(e,1);return t.reduce(function(r,i,o){var s=Math.floor(o/n);return r[s]||(r[s]=[]),r[s].push(i),r},[])};var Ye="Amplitude Logger ",be=function(){function t(){this.logLevel=M.None}return t.prototype.disable=function(){this.logLevel=M.None},t.prototype.enable=function(e){e===void 0&&(e=M.Warn),this.logLevel=e},t.prototype.log=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];this.logLevel<M.Verbose||console.log("".concat(Ye,"[Log]: ").concat(e.join(" ")))},t.prototype.warn=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];this.logLevel<M.Warn||console.warn("".concat(Ye,"[Warn]: ").concat(e.join(" ")))},t.prototype.error=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];this.logLevel<M.Error||console.error("".concat(Ye,"[Error]: ").concat(e.join(" ")))},t.prototype.debug=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];this.logLevel<M.Debug||console.log("".concat(Ye,"[Debug]: ").concat(e.join(" ")))},t}();var Qe=function(){return{flushMaxRetries:12,flushQueueSize:200,flushIntervalMillis:1e4,instanceName:"$default_instance",logLevel:M.Warn,loggerProvider:new be,offline:!1,optOut:!1,serverUrl:wt,serverZone:"US",useBatch:!1}},Rt=function(){function t(e){var n,r,i,o;this._optOut=!1;var s=Qe();this.apiKey=e.apiKey,this.flushIntervalMillis=(n=e.flushIntervalMillis)!==null&&n!==void 0?n:s.flushIntervalMillis,this.flushMaxRetries=e.flushMaxRetries||s.flushMaxRetries,this.flushQueueSize=e.flushQueueSize||s.flushQueueSize,this.instanceName=e.instanceName||s.instanceName,this.loggerProvider=e.loggerProvider||s.loggerProvider,this.logLevel=(r=e.logLevel)!==null&&r!==void 0?r:s.logLevel,this.minIdLength=e.minIdLength,this.plan=e.plan,this.ingestionMetadata=e.ingestionMetadata,this.offline=e.offline!==void 0?e.offline:s.offline,this.optOut=(i=e.optOut)!==null&&i!==void 0?i:s.optOut,this.serverUrl=e.serverUrl,this.serverZone=e.serverZone||s.serverZone,this.storageProvider=e.storageProvider,this.transportProvider=e.transportProvider,this.useBatch=(o=e.useBatch)!==null&&o!==void 0?o:s.useBatch,this.loggerProvider.enable(this.logLevel);var u=Dt(e.serverUrl,e.serverZone,e.useBatch);this.serverZone=u.serverZone,this.serverUrl=u.serverUrl}return Object.defineProperty(t.prototype,"optOut",{get:function(){return this._optOut},set:function(e){this._optOut=e},enumerable:!1,configurable:!0}),t}();var Gr=function(t,e){return t==="EU"?e?Vn:Bn:e?Fn:wt},Dt=function(t,e,n){if(t===void 0&&(t=""),e===void 0&&(e=Qe().serverZone),n===void 0&&(n=Qe().useBatch),t)return{serverUrl:t,serverZone:void 0};var r=["US","EU"].includes(e)?e:Qe().serverZone;return{serverZone:r,serverUrl:Gr(r,n)}};function Wr(t){return t instanceof Error?t.message:String(t)}function Xe(t){var e="";try{"body"in t&&(e=JSON.stringify(t.body,null,2))}catch{}return e}var At=function(){function t(){this.name="amplitude",this.type="destination",this.retryTimeout=1e3,this.throttleTimeout=3e4,this.storageKey="",this.scheduled=null,this.queue=[]}return t.prototype.setup=function(e){var n;return p(this,void 0,void 0,function(){var r,i=this;return f(this,function(o){switch(o.label){case 0:return this.config=e,this.storageKey="".concat(Lt,"_").concat(this.config.apiKey.substring(0,10)),[4,(n=this.config.storageProvider)===null||n===void 0?void 0:n.get(this.storageKey)];case 1:return r=o.sent(),this.saveEvents(),r&&r.length>0&&Promise.all(r.map(function(s){return i.execute(s)})).catch(),[2,Promise.resolve(void 0)]}})})},t.prototype.execute=function(e){var n=this;return new Promise(function(r){var i={event:e,attempts:0,callback:function(o){return r(o)},timeout:0};n.addToQueue(i)})},t.prototype.addToQueue=function(){for(var e=this,n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];var i=n.filter(function(o){return o.attempts<e.config.flushMaxRetries?(o.attempts+=1,!0):(e.fulfillRequest([o],500,An),!1)});i.forEach(function(o){if(e.queue=e.queue.concat(o),o.timeout===0){e.schedule(e.config.flushIntervalMillis);return}setTimeout(function(){o.timeout=0,e.schedule(0)},o.timeout)}),this.saveEvents()},t.prototype.schedule=function(e){var n=this;this.scheduled||this.config.offline||(this.scheduled=setTimeout(function(){n.flush(!0).then(function(){n.queue.length>0&&n.schedule(e)})},e))},t.prototype.flush=function(e){return e===void 0&&(e=!1),p(this,void 0,void 0,function(){var n,r,i,o=this;return f(this,function(s){switch(s.label){case 0:return this.config.offline?(this.config.loggerProvider.debug("Skipping flush while offline."),[2]):(n=[],r=[],this.queue.forEach(function(u){return u.timeout===0?n.push(u):r.push(u)}),this.queue=r,this.scheduled&&(clearTimeout(this.scheduled),this.scheduled=null),i=Gn(n,this.config.flushQueueSize),[4,Promise.all(i.map(function(u){return o.send(u,e)}))]);case 1:return s.sent(),[2]}})})},t.prototype.send=function(e,n){return n===void 0&&(n=!0),p(this,void 0,void 0,function(){var r,i,o,s,u;return f(this,function(c){switch(c.label){case 0:if(!this.config.apiKey)return[2,this.fulfillRequest(e,400,On)];r={api_key:this.config.apiKey,events:e.map(function(a){var l=a.event,d=l.extra,m=Te(l,["extra"]);return m}),options:{min_id_length:this.config.minIdLength},client_upload_time:new Date().toISOString()},c.label=1;case 1:return c.trys.push([1,3,,4]),i=Dt(this.config.serverUrl,this.config.serverZone,this.config.useBatch).serverUrl,[4,this.config.transportProvider.send(i,r)];case 2:return o=c.sent(),o===null?(this.fulfillRequest(e,0,Dn),[2]):n?(this.handleResponse(o,e),[3,4]):("body"in o?this.fulfillRequest(e,o.statusCode,"".concat(o.status,": ").concat(Xe(o))):this.fulfillRequest(e,o.statusCode,o.status),[2]);case 3:return s=c.sent(),u=Wr(s),this.config.loggerProvider.error(u),this.fulfillRequest(e,0,u),[3,4];case 4:return[2]}})})},t.prototype.handleResponse=function(e,n){var r=e.status;switch(r){case x.Success:{this.handleSuccessResponse(e,n);break}case x.Invalid:{this.handleInvalidResponse(e,n);break}case x.PayloadTooLarge:{this.handlePayloadTooLargeResponse(e,n);break}case x.RateLimit:{this.handleRateLimitResponse(e,n);break}default:{this.config.loggerProvider.warn(\`{code: 0, error: "Status '\`.concat(r,"' provided for ").concat(n.length,' events"}')),this.handleOtherResponse(n);break}}},t.prototype.handleSuccessResponse=function(e,n){this.fulfillRequest(n,e.statusCode,Rn)},t.prototype.handleInvalidResponse=function(e,n){var r=this;if(e.body.missingField||e.body.error.startsWith(Un)){this.fulfillRequest(n,e.statusCode,e.body.error);return}var i=q(q(q(q([],L(Object.values(e.body.eventsWithInvalidFields)),!1),L(Object.values(e.body.eventsWithMissingFields)),!1),L(Object.values(e.body.eventsWithInvalidIdLengths)),!1),L(e.body.silencedEvents),!1).flat(),o=new Set(i),s=n.filter(function(u,c){if(o.has(c)){r.fulfillRequest([u],e.statusCode,e.body.error);return}return!0});s.length>0&&this.config.loggerProvider.warn(Xe(e)),this.addToQueue.apply(this,q([],L(s),!1))},t.prototype.handlePayloadTooLargeResponse=function(e,n){if(n.length===1){this.fulfillRequest(n,e.statusCode,e.body.error);return}this.config.loggerProvider.warn(Xe(e)),this.config.flushQueueSize/=2,this.addToQueue.apply(this,q([],L(n),!1))},t.prototype.handleRateLimitResponse=function(e,n){var r=this,i=Object.keys(e.body.exceededDailyQuotaUsers),o=Object.keys(e.body.exceededDailyQuotaDevices),s=e.body.throttledEvents,u=new Set(i),c=new Set(o),a=new Set(s),l=n.filter(function(d,m){if(d.event.user_id&&u.has(d.event.user_id)||d.event.device_id&&c.has(d.event.device_id)){r.fulfillRequest([d],e.statusCode,e.body.error);return}return a.has(m)&&(d.timeout=r.throttleTimeout),!0});l.length>0&&this.config.loggerProvider.warn(Xe(e)),this.addToQueue.apply(this,q([],L(l),!1))},t.prototype.handleOtherResponse=function(e){var n=this;this.addToQueue.apply(this,q([],L(e.map(function(r){return r.timeout=r.attempts*n.retryTimeout,r})),!1))},t.prototype.fulfillRequest=function(e,n,r){this.saveEvents(),e.forEach(function(i){return i.callback(te(i.event,n,r))})},t.prototype.saveEvents=function(){if(this.config.storageProvider){var e=Array.from(this.queue.map(function(n){return n.event}));this.config.storageProvider.set(this.storageKey,e)}},t}();var $r=function(t){t===void 0&&(t=0);var e=new Error().stack||"";return e.split(\`
|
|
25
|
+
`),e.restartAppServer()},10),e.enableAppWatch(!t),{enabled:t,platform:e.platform()}}async function ci(e){return mi(e,`"use strict";(()=>{var Hr=Object.defineProperty;var qr=(t,e)=>{for(var n in e)Hr(t,n,{get:e[n],enumerable:!0})};var W=(t,e)=>{It(t);let n=t.querySelector("aside");n.dataset.view=e,n.classList.remove("section-ready"),setTimeout(()=>{n.classList.add("section-ready")},200)},pn=t=>{Array.from(t.querySelectorAll(".back-button")).forEach(e=>{e.addEventListener("click",n=>{It(t),n.preventDefault(),n.stopPropagation();let r=n.target;W(t,r?.dataset.back||"nav-home")})})},Tt=(t,e)=>{It(t);let n=t.querySelector("aside"),r=document.createElement("div");r.className="ui-toast",r.innerHTML=e,n.appendChild(r),setTimeout(()=>{r.classList.add("ui-toast-show"),setTimeout(()=>{r.classList.remove("ui-toast-show"),setTimeout(()=>{r.remove()},500)},4e3)},30)},It=t=>{let e=t.querySelector("aside");Array.from(e.querySelectorAll(".ui-toast")).forEach(r=>{r.classList.remove("ui-toast-show")})},ke=()=>{let t=fn();return localStorage.getItem(t)!=="true"},bt=t=>{let e=fn();t?localStorage.removeItem(e):localStorage.setItem(e,"true")},fn=()=>jr("disableEdit"),jr=t=>\`builder.__LOCAL_APP_ID__.\${t}\`,mn=()=>{let e=document.body.querySelector("[builder-content-id]")?.getAttribute("builder-content-id");return Ee(e)},Ee=(t,e)=>{let n="/content";t&&(n+="/"+t+"/edit");let r=new URL(n,"https://builder.io");t&&e&&r.searchParams.set("selectedBlock",e);let i=new URL(location.pathname,location.href);return r.searchParams.set("overridePreviewUrl",i.href),r.href},Oe="__DEV_TOOLS_URL__",A={components:[],registryPath:"",registryDisplayPath:"",frameworks:[],dependencies:[],publicApiKey:void 0,devToolsVersion:""},J=t=>{A.components=t.components,A.registryPath=t.registryPath,A.registryDisplayPath=t.registryDisplayPath,A.dependencies=t.dependencies,A.publicApiKey=t.publicApiKey};function vn(t){let e=null,n=document.querySelector("builder-dev-tools-menu"),r=()=>{t.hide()},i=u=>{let c=u.target;if(!c){r();return}if(c.closest("builder-dev-tools-edit"))return;let a=c.closest("[builder-content-id]"),l=c.closest("[builder-id]");if(!a||!l){t.hide();return}let d=t.show(a,l);!d||d===e||(n.highlightOpener(),e=d)};document.addEventListener("pointerover",i,{passive:!0}),document.addEventListener("pointerleave",r,{passive:!0}),document.addEventListener("pointercancel",r,{passive:!0}),document.addEventListener("visibilitychange",r,{passive:!0}),window.addEventListener("popstate",r,{passive:!0});let o=history.pushState;history.pushState=function(...u){t.hide(),o.apply(this,u)};let s=history.replaceState;history.replaceState=function(...u){t.hide(),s.apply(this,u)}}var Ue=class extends HTMLElement{openInBuilder=null;block=null;constructor(){super()}connectedCallback(){this.setAttribute("aria-hidden","true");let e=this.attachShadow({mode:"open"});e.innerHTML='<style>*,*:before,*:after{box-sizing:border-box}:host{--background-color: rgba(40, 40, 40, 1);--primary-color: rgba(72, 161, 255, 1);--primary-color-subdued: rgb(72, 161, 255, .6);--primary-color-highlight: rgb(126, 188, 255);--primary-contrast-color: white;--edit-color: #1d74e2;--edit-color-highlight: #1c6bd1;--edit-color-alpha: rgb(72, 161, 255, .15);--error-color: #ff2b55;--text-color: white;--text-color-highlight: white;--border-color: #454545;--button-background-color-hover: rgba(255, 255, 255, .1);--menu-width: 320px;--transition-time: .15s;--font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";font-family:var(--font-family);line-height:1.6}button{cursor:pointer;color:var(--text-color);-webkit-tap-highlight-color:transparent}input,select,button{font-family:var(--font-family)}:host{display:none;position:absolute;top:0;left:0;width:100%;height:100%;z-index:2147483646;user-select:none;pointer-events:none;color:var(--text-color)}#content-highlight,#block{position:absolute}#content-highlight{border:3px solid var(--primary-color);background-color:var(--primary-color-alpha)}a{position:absolute;top:-33px;left:0;display:block;padding:5px 10px 8px;pointer-events:auto;z-index:100;text-decoration:none}a:hover{text-decoration:none}a span{display:block;padding:3px 6px;font-size:10px;font-weight:300;border-radius:3px;text-align:center;text-decoration:none;pointer-events:none;background-color:var(--edit-color);color:var(--text-color);white-space:nowrap}a:hover span{background-color:var(--edit-color-highlight)}a:hover~.outline{border-color:var(--edit-color-highlight)}#open-in-editor{display:none}.outline{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid var(--edit-color);background-color:var(--edit-color-alpha)}</style><div id="block"> <a id="open-in-builder" target="builder"><span>Open In Builder</span></a> <a id="open-in-editor" href="#open-in-editor"><span>Open In Editor</span></a> <div class="outline"></div> </div>',this.openInBuilder=e.getElementById("open-in-builder"),this.block=e.getElementById("block"),vn(this)}show(e,n){if(!ke())return this.hide(),null;let r=e.getAttribute("builder-content-id"),i=n.getAttribute("builder-id");if(!r||!i)return this.hide(),null;let o=this.block,s=this.openInBuilder,u=n.getBoundingClientRect();o.style.top=u.top+window.scrollY-1+"px",o.style.left=u.left+window.scrollX+"px",o.style.width=u.width+"px",o.style.height=u.height+1+"px";let c=s.getBoundingClientRect();if(c.width>u.width){let a=c.width-u.width;s.style.left=a/2*-1+"px"}else s.style.left="";return s.href=Ee(r,i),this.style.display="block",i}hide(){this.style.display=""}};var gn="preview-url";var hn="_b-uid";var yn="/~builder-connect";var _n="/~builder-dev-tools";var En="https://cdn.builder.io/api/v1/proxy-api?url=https://api2.amplitude.com/2/httpapi";var Tn=()=>$({type:"validateBuilder"}),ve=t=>$({type:"launchEditor",data:t}),In=t=>$({type:"getRegistry",data:t}),bn=t=>$({type:"loadComponent",data:t}),Sn=t=>$({type:"registerComponent",data:t}),xn=t=>$({type:"setComponentInfo",data:t}),Me=t=>$({type:"setComponentInput",data:t}),Ln=t=>$({type:"unregisterComponent",data:t}),wn=t=>$({type:"enableDevTools",data:{enabled:t}}),Cn=()=>$({type:"localConfig"}),$=async t=>{let e=new URL(_n,Oe),n;try{n=await fetch(e,{method:"POST",body:JSON.stringify(t)})}catch(i){throw console.error(\`Devtools Fetch Error, \${e.href}\`,i),new Error("Builder Devtools Fetch Error")}if((n.headers.get("content-type")||"").includes("application/json")){let i=await n.json();if(n.ok)return i.data;if(Array.isArray(i.errors)&&i.errors.length>0)throw i.errors.forEach(o=>console.error(o)),new Error(\`Builder Devtools Fetch Error: \${i.errors[0]}\`)}throw new Error(\`Builder Devtools Fetch Error: \${n.status}, \${await n.text()}\`)};var Pn=[{value:"boolean",text:"boolean"},{value:"color",text:"color (provides a color in hex or rgb)"},{value:"date",text:"date (same format as the Date constructor)"},{value:"email",text:"email"},{value:"file",text:"file (uploads a file and provides a url)"},{value:"list",text:"list (collection of items)"},{value:"longText",text:"longText (multiline text editor)"},{value:"number",text:"number"},{value:"object",text:"object (set of specific names and values)"},{value:"richText",text:"richText (provides value as html)"},{value:"string",text:"string"}],Ne=["color","date","email","file","longText","richText","string"],Be=["number"],Fe=["boolean"],Ve=["list"],He=["object"];function qe(t){return Ne.includes(t)?"string":Be.includes(t)?"number":Fe.includes(t)?"boolean":Ve.includes(t)?"array":He.includes(t)?"object":"string"}var $i=new Set(["about","accessKey","accessKeyLabel","asChild","autoCapitalize","autoCorrect","autoFocus","autoSave","blur","contentEditable","contextMenu","dangerouslySetInnerHTML","datatype","defaultChecked","defaultValue","dir","draggable","enterKeyHint","focus","form","formAction","formEncType","formMethod","formNoValidate","formTarget","inlist","innerText","inputMode","is","isContentEditable","itemID","itemProp","itemRef","itemScope","itemType","lang","nonce","offsetHeight","offsetLeft","offsetTop","offsetWidth","outerText","prefix","property","radioGroup","rel","resource","results","rev","role","security","slot","spellCheck","suppressContentEditableWarning","suppressHydrationWarning","tabIndex","translate","typeof","unselectable","vocab"].map(t=>t.toLowerCase()));var St=function(t,e){return St=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},St(t,e)};function V(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");St(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var v=function(){return v=Object.assign||function(e){for(var n,r=1,i=arguments.length;r<i;r++){n=arguments[r];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},v.apply(this,arguments)};function Te(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n}function p(t,e,n,r){function i(o){return o instanceof n?o:new n(function(s){s(o)})}return new(n||(n=Promise))(function(o,s){function u(l){try{a(r.next(l))}catch(d){s(d)}}function c(l){try{a(r.throw(l))}catch(d){s(d)}}function a(l){l.done?o(l.value):i(l.value).then(u,c)}a((r=r.apply(t,e||[])).next())})}function f(t,e){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,s;return s={next:u(0),throw:u(1),return:u(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function u(a){return function(l){return c([a,l])}}function c(a){if(r)throw new TypeError("Generator is already executing.");for(;s&&(s=0,a[0]&&(n=0)),n;)try{if(r=1,i&&(o=a[0]&2?i.return:a[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,a[1])).done)return o;switch(i=0,o&&(a=[a[0]&2,o.value]),a[0]){case 0:case 1:o=a;break;case 4:return n.label++,{value:a[1],done:!1};case 5:n.label++,i=a[1],a=[0];continue;case 7:a=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(a[0]===6||a[0]===2)){n=0;continue}if(a[0]===3&&(!o||a[1]>o[0]&&a[1]<o[3])){n.label=a[1];break}if(a[0]===6&&n.label<o[1]){n.label=o[1],o=a;break}if(o&&n.label<o[2]){n.label=o[2],n.ops.push(a);break}o[2]&&n.ops.pop(),n.trys.pop();continue}a=e.call(t,n)}catch(l){a=[6,l],i=0}finally{r=o=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}}function Y(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function L(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,o=[],s;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)o.push(i.value)}catch(u){s={error:u}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(s)throw s.error}}return o}function q(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,o;r<i;r++)(o||!(r in e))&&(o||(o=Array.prototype.slice.call(e,0,r)),o[r]=e[r]);return t.concat(o||Array.prototype.slice.call(e))}var Rn="Event tracked successfully",Dn="Unexpected error occurred",An="Event rejected due to exceeded retry count",kn="Event skipped due to optOut config",On="Event rejected due to missing API key",Un="Invalid API key",Mn="Client not initialized";var Ge={};qr(Ge,{IdentifyOperation:()=>w,LogLevel:()=>M,OfflineDisabled:()=>Ke,RevenueProperty:()=>Q,ServerZone:()=>je,SpecialEventType:()=>ee,Status:()=>x});var w;(function(t){t.SET="$set",t.SET_ONCE="$setOnce",t.ADD="$add",t.APPEND="$append",t.PREPEND="$prepend",t.REMOVE="$remove",t.PREINSERT="$preInsert",t.POSTINSERT="$postInsert",t.UNSET="$unset",t.CLEAR_ALL="$clearAll"})(w||(w={}));var Q;(function(t){t.REVENUE_PRODUCT_ID="$productId",t.REVENUE_QUANTITY="$quantity",t.REVENUE_PRICE="$price",t.REVENUE_TYPE="$revenueType",t.REVENUE="$revenue"})(Q||(Q={}));var ee;(function(t){t.IDENTIFY="$identify",t.GROUP_IDENTIFY="$groupidentify",t.REVENUE="revenue_amount"})(ee||(ee={}));var M;(function(t){t[t.None=0]="None",t[t.Error=1]="Error",t[t.Warn=2]="Warn",t[t.Verbose=3]="Verbose",t[t.Debug=4]="Debug"})(M||(M={}));var je;(function(t){t.US="US",t.EU="EU"})(je||(je={}));var x;(function(t){t.Unknown="unknown",t.Skipped="skipped",t.Success="success",t.RateLimit="rate_limit",t.PayloadTooLarge="payload_too_large",t.Invalid="invalid",t.Failed="failed",t.Timeout="Timeout",t.SystemError="SystemError"})(x||(x={}));var Ke=null;var te=function(t,e,n){return e===void 0&&(e=0),n===void 0&&(n=x.Unknown),{event:t,code:e,message:n}};var X=function(t){return t?(t^Math.random()*16>>t/4).toString(16):(String(1e7)+String(-1e3)+String(-4e3)+String(-8e3)+String(-1e11)).replace(/[018]/g,X)};var Nn=function(){function t(e){this.client=e,this.queue=[],this.applying=!1,this.plugins=[]}return t.prototype.register=function(e,n){var r,i,o;return p(this,void 0,void 0,function(){return f(this,function(s){switch(s.label){case 0:return e.name=(r=e.name)!==null&&r!==void 0?r:X(),e.type=(i=e.type)!==null&&i!==void 0?i:"enrichment",[4,(o=e.setup)===null||o===void 0?void 0:o.call(e,n,this.client)];case 1:return s.sent(),this.plugins.push(e),[2]}})})},t.prototype.deregister=function(e){var n;return p(this,void 0,void 0,function(){var r,i;return f(this,function(o){switch(o.label){case 0:return r=this.plugins.findIndex(function(s){return s.name===e}),i=this.plugins[r],this.plugins.splice(r,1),[4,(n=i.teardown)===null||n===void 0?void 0:n.call(i)];case 1:return o.sent(),[2]}})})},t.prototype.reset=function(e){this.applying=!1;var n=this.plugins;n.map(function(r){var i;return(i=r.teardown)===null||i===void 0?void 0:i.call(r)}),this.plugins=[],this.client=e},t.prototype.push=function(e){var n=this;return new Promise(function(r){n.queue.push([e,r]),n.scheduleApply(0)})},t.prototype.scheduleApply=function(e){var n=this;this.applying||(this.applying=!0,setTimeout(function(){n.apply(n.queue.shift()).then(function(){n.applying=!1,n.queue.length>0&&n.scheduleApply(0)})},e))},t.prototype.apply=function(e){return p(this,void 0,void 0,function(){var n,r,i,o,s,u,c,y,g,a,l,d,m,y,g,T,h,_,U,I,k,F;return f(this,function(b){switch(b.label){case 0:if(!e)return[2];n=L(e,1),r=n[0],i=L(e,2),o=i[1],s=this.plugins.filter(function(S){return S.type==="before"}),b.label=1;case 1:b.trys.push([1,6,7,8]),u=Y(s),c=u.next(),b.label=2;case 2:return c.done?[3,5]:(y=c.value,y.execute?[4,y.execute(v({},r))]:[3,4]);case 3:if(g=b.sent(),g===null)return o({event:r,code:0,message:""}),[2];r=g,b.label=4;case 4:return c=u.next(),[3,2];case 5:return[3,8];case 6:return a=b.sent(),U={error:a},[3,8];case 7:try{c&&!c.done&&(I=u.return)&&I.call(u)}finally{if(U)throw U.error}return[7];case 8:l=this.plugins.filter(function(S){return S.type==="enrichment"||S.type===void 0}),b.label=9;case 9:b.trys.push([9,14,15,16]),d=Y(l),m=d.next(),b.label=10;case 10:return m.done?[3,13]:(y=m.value,y.execute?[4,y.execute(v({},r))]:[3,12]);case 11:if(g=b.sent(),g===null)return o({event:r,code:0,message:""}),[2];r=g,b.label=12;case 12:return m=d.next(),[3,10];case 13:return[3,16];case 14:return T=b.sent(),k={error:T},[3,16];case 15:try{m&&!m.done&&(F=d.return)&&F.call(d)}finally{if(k)throw k.error}return[7];case 16:return h=this.plugins.filter(function(S){return S.type==="destination"}),_=h.map(function(S){var O=v({},r);return S.execute(O).catch(function(B){return te(O,0,String(B))})}),Promise.all(_).then(function(S){var O=L(S,1),B=O[0],Z=B||te(r,100,"Event not tracked, no destination plugins on the instance");o(Z)}),[2]}})})},t.prototype.flush=function(){return p(this,void 0,void 0,function(){var e,n,r,i=this;return f(this,function(o){switch(o.label){case 0:return e=this.queue,this.queue=[],[4,Promise.all(e.map(function(s){return i.apply(s)}))];case 1:return o.sent(),n=this.plugins.filter(function(s){return s.type==="destination"}),r=n.map(function(s){return s.flush&&s.flush()}),[4,Promise.all(r)];case 2:return o.sent(),[2]}})})},t}();var xt="-",de="AMP",Lt="".concat(de,"_unsent"),wt="https://api2.amplitude.com/2/httpapi",Bn="https://api.eu.amplitude.com/2/httpapi",Fn="https://api2.amplitude.com/batch",Vn="https://api.eu.amplitude.com/batch";var Kr=1e3,We=function(t){if(Object.keys(t).length>Kr)return!1;for(var e in t){var n=t[e];if(!Ct(e,n))return!1}return!0},Ct=function(t,e){var n,r;if(typeof t!="string")return!1;if(Array.isArray(e)){var i=!0;try{for(var o=Y(e),s=o.next();!s.done;s=o.next()){var u=s.value;if(Array.isArray(u))return!1;if(typeof u=="object")i=i&&We(u);else if(!["number","string"].includes(typeof u))return!1;if(!i)return!1}}catch(c){n={error:c}}finally{try{s&&!s.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}}else{if(e==null)return!1;if(typeof e=="object")return We(e);if(!["number","string","boolean"].includes(typeof e))return!1}return!0};var G=function(){function t(){this._propertySet=new Set,this._properties={}}return t.prototype.getUserProperties=function(){return v({},this._properties)},t.prototype.set=function(e,n){return this._safeSet(w.SET,e,n),this},t.prototype.setOnce=function(e,n){return this._safeSet(w.SET_ONCE,e,n),this},t.prototype.append=function(e,n){return this._safeSet(w.APPEND,e,n),this},t.prototype.prepend=function(e,n){return this._safeSet(w.PREPEND,e,n),this},t.prototype.postInsert=function(e,n){return this._safeSet(w.POSTINSERT,e,n),this},t.prototype.preInsert=function(e,n){return this._safeSet(w.PREINSERT,e,n),this},t.prototype.remove=function(e,n){return this._safeSet(w.REMOVE,e,n),this},t.prototype.add=function(e,n){return this._safeSet(w.ADD,e,n),this},t.prototype.unset=function(e){return this._safeSet(w.UNSET,e,xt),this},t.prototype.clearAll=function(){return this._properties={},this._properties[w.CLEAR_ALL]=xt,this},t.prototype._safeSet=function(e,n,r){if(this._validate(e,n,r)){var i=this._properties[e];return i===void 0&&(i={},this._properties[e]=i),i[n]=r,this._propertySet.add(n),!0}return!1},t.prototype._validate=function(e,n,r){return this._properties[w.CLEAR_ALL]!==void 0||this._propertySet.has(n)?!1:e===w.ADD?typeof r=="number":e!==w.UNSET&&e!==w.REMOVE?Ct(n,r):!0},t}();var Hn=function(t,e,n){var r=typeof t=="string"?{event_type:t}:t;return v(v(v({},r),n),e&&{event_properties:e})},Ie=function(t,e){var n=v(v({},e),{event_type:ee.IDENTIFY,user_properties:t.getUserProperties()});return n},qn=function(t,e,n,r){var i,o=v(v({},r),{event_type:ee.GROUP_IDENTIFY,group_properties:n.getUserProperties(),groups:(i={},i[t]=e,i)});return o},jn=function(t,e,n){var r,i=new G;i.set(t,e);var o=v(v({},n),{event_type:ee.IDENTIFY,user_properties:i.getUserProperties(),groups:(r={},r[t]=e,r)});return o},Kn=function(t,e){return v(v({},e),{event_type:ee.REVENUE,event_properties:t.getEventProperties()})};var H=function(t){return{promise:t||Promise.resolve()}};var Pt=function(){function t(e){e===void 0&&(e="$default"),this.initializing=!1,this.q=[],this.dispatchQ=[],this.logEvent=this.track.bind(this),this.timeline=new Nn(this),this.name=e}return t.prototype._init=function(e){return p(this,void 0,void 0,function(){return f(this,function(n){switch(n.label){case 0:return this.config=e,this.timeline.reset(this),[4,this.runQueuedFunctions("q")];case 1:return n.sent(),[2]}})})},t.prototype.runQueuedFunctions=function(e){return p(this,void 0,void 0,function(){var n,r,i,o,s,u,c;return f(this,function(a){switch(a.label){case 0:n=this[e],this[e]=[],a.label=1;case 1:a.trys.push([1,6,7,8]),r=Y(n),i=r.next(),a.label=2;case 2:return i.done?[3,5]:(o=i.value,[4,o()]);case 3:a.sent(),a.label=4;case 4:return i=r.next(),[3,2];case 5:return[3,8];case 6:return s=a.sent(),u={error:s},[3,8];case 7:try{i&&!i.done&&(c=r.return)&&c.call(r)}finally{if(u)throw u.error}return[7];case 8:return[2]}})})},t.prototype.track=function(e,n,r){var i=Hn(e,n,r);return H(this.dispatch(i))},t.prototype.identify=function(e,n){var r=Ie(e,n);return H(this.dispatch(r))},t.prototype.groupIdentify=function(e,n,r,i){var o=qn(e,n,r,i);return H(this.dispatch(o))},t.prototype.setGroup=function(e,n,r){var i=jn(e,n,r);return H(this.dispatch(i))},t.prototype.revenue=function(e,n){var r=Kn(e,n);return H(this.dispatch(r))},t.prototype.add=function(e){return this.config?H(this.timeline.register(e,this.config)):(this.q.push(this.add.bind(this,e)),H())},t.prototype.remove=function(e){return this.config?H(this.timeline.deregister(e)):(this.q.push(this.remove.bind(this,e)),H())},t.prototype.dispatchWithCallback=function(e,n){if(!this.config)return n(te(e,0,Mn));this.process(e).then(n)},t.prototype.dispatch=function(e){return p(this,void 0,void 0,function(){var n=this;return f(this,function(r){return this.config?[2,this.process(e)]:[2,new Promise(function(i){n.dispatchQ.push(n.dispatchWithCallback.bind(n,e,i))})]})})},t.prototype.process=function(e){return p(this,void 0,void 0,function(){var i,n,r,i;return f(this,function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),this.config.optOut?[2,te(e,0,kn)]:[4,this.timeline.push(e)];case 1:return i=o.sent(),i.code===200?this.config.loggerProvider.log(i.message):i.code===100?this.config.loggerProvider.warn(i.message):this.config.loggerProvider.error(i.message),[2,i];case 2:return n=o.sent(),r=String(n),this.config.loggerProvider.error(r),i=te(e,0,r),[2,i];case 3:return[2]}})})},t.prototype.setOptOut=function(e){if(!this.config){this.q.push(this.setOptOut.bind(this,!!e));return}this.config.optOut=!!e},t.prototype.flush=function(){return H(this.timeline.flush())},t}();var $e=function(){function t(){this.productId="",this.quantity=1,this.price=0}return t.prototype.setProductId=function(e){return this.productId=e,this},t.prototype.setQuantity=function(e){return e>0&&(this.quantity=e),this},t.prototype.setPrice=function(e){return this.price=e,this},t.prototype.setRevenueType=function(e){return this.revenueType=e,this},t.prototype.setRevenue=function(e){return this.revenue=e,this},t.prototype.setEventProperties=function(e){return We(e)&&(this.properties=e),this},t.prototype.getEventProperties=function(){var e=this.properties?v({},this.properties):{};return e[Q.REVENUE_PRODUCT_ID]=this.productId,e[Q.REVENUE_QUANTITY]=this.quantity,e[Q.REVENUE_PRICE]=this.price,e[Q.REVENUE_TYPE]=this.revenueType,e[Q.REVENUE]=this.revenue,e},t}();var Gn=function(t,e){var n=Math.max(e,1);return t.reduce(function(r,i,o){var s=Math.floor(o/n);return r[s]||(r[s]=[]),r[s].push(i),r},[])};var Ye="Amplitude Logger ",be=function(){function t(){this.logLevel=M.None}return t.prototype.disable=function(){this.logLevel=M.None},t.prototype.enable=function(e){e===void 0&&(e=M.Warn),this.logLevel=e},t.prototype.log=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];this.logLevel<M.Verbose||console.log("".concat(Ye,"[Log]: ").concat(e.join(" ")))},t.prototype.warn=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];this.logLevel<M.Warn||console.warn("".concat(Ye,"[Warn]: ").concat(e.join(" ")))},t.prototype.error=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];this.logLevel<M.Error||console.error("".concat(Ye,"[Error]: ").concat(e.join(" ")))},t.prototype.debug=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];this.logLevel<M.Debug||console.log("".concat(Ye,"[Debug]: ").concat(e.join(" ")))},t}();var Qe=function(){return{flushMaxRetries:12,flushQueueSize:200,flushIntervalMillis:1e4,instanceName:"$default_instance",logLevel:M.Warn,loggerProvider:new be,offline:!1,optOut:!1,serverUrl:wt,serverZone:"US",useBatch:!1}},Rt=function(){function t(e){var n,r,i,o;this._optOut=!1;var s=Qe();this.apiKey=e.apiKey,this.flushIntervalMillis=(n=e.flushIntervalMillis)!==null&&n!==void 0?n:s.flushIntervalMillis,this.flushMaxRetries=e.flushMaxRetries||s.flushMaxRetries,this.flushQueueSize=e.flushQueueSize||s.flushQueueSize,this.instanceName=e.instanceName||s.instanceName,this.loggerProvider=e.loggerProvider||s.loggerProvider,this.logLevel=(r=e.logLevel)!==null&&r!==void 0?r:s.logLevel,this.minIdLength=e.minIdLength,this.plan=e.plan,this.ingestionMetadata=e.ingestionMetadata,this.offline=e.offline!==void 0?e.offline:s.offline,this.optOut=(i=e.optOut)!==null&&i!==void 0?i:s.optOut,this.serverUrl=e.serverUrl,this.serverZone=e.serverZone||s.serverZone,this.storageProvider=e.storageProvider,this.transportProvider=e.transportProvider,this.useBatch=(o=e.useBatch)!==null&&o!==void 0?o:s.useBatch,this.loggerProvider.enable(this.logLevel);var u=Dt(e.serverUrl,e.serverZone,e.useBatch);this.serverZone=u.serverZone,this.serverUrl=u.serverUrl}return Object.defineProperty(t.prototype,"optOut",{get:function(){return this._optOut},set:function(e){this._optOut=e},enumerable:!1,configurable:!0}),t}();var Gr=function(t,e){return t==="EU"?e?Vn:Bn:e?Fn:wt},Dt=function(t,e,n){if(t===void 0&&(t=""),e===void 0&&(e=Qe().serverZone),n===void 0&&(n=Qe().useBatch),t)return{serverUrl:t,serverZone:void 0};var r=["US","EU"].includes(e)?e:Qe().serverZone;return{serverZone:r,serverUrl:Gr(r,n)}};function Wr(t){return t instanceof Error?t.message:String(t)}function Xe(t){var e="";try{"body"in t&&(e=JSON.stringify(t.body,null,2))}catch{}return e}var At=function(){function t(){this.name="amplitude",this.type="destination",this.retryTimeout=1e3,this.throttleTimeout=3e4,this.storageKey="",this.scheduled=null,this.queue=[]}return t.prototype.setup=function(e){var n;return p(this,void 0,void 0,function(){var r,i=this;return f(this,function(o){switch(o.label){case 0:return this.config=e,this.storageKey="".concat(Lt,"_").concat(this.config.apiKey.substring(0,10)),[4,(n=this.config.storageProvider)===null||n===void 0?void 0:n.get(this.storageKey)];case 1:return r=o.sent(),this.saveEvents(),r&&r.length>0&&Promise.all(r.map(function(s){return i.execute(s)})).catch(),[2,Promise.resolve(void 0)]}})})},t.prototype.execute=function(e){var n=this;return new Promise(function(r){var i={event:e,attempts:0,callback:function(o){return r(o)},timeout:0};n.addToQueue(i)})},t.prototype.addToQueue=function(){for(var e=this,n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];var i=n.filter(function(o){return o.attempts<e.config.flushMaxRetries?(o.attempts+=1,!0):(e.fulfillRequest([o],500,An),!1)});i.forEach(function(o){if(e.queue=e.queue.concat(o),o.timeout===0){e.schedule(e.config.flushIntervalMillis);return}setTimeout(function(){o.timeout=0,e.schedule(0)},o.timeout)}),this.saveEvents()},t.prototype.schedule=function(e){var n=this;this.scheduled||this.config.offline||(this.scheduled=setTimeout(function(){n.flush(!0).then(function(){n.queue.length>0&&n.schedule(e)})},e))},t.prototype.flush=function(e){return e===void 0&&(e=!1),p(this,void 0,void 0,function(){var n,r,i,o=this;return f(this,function(s){switch(s.label){case 0:return this.config.offline?(this.config.loggerProvider.debug("Skipping flush while offline."),[2]):(n=[],r=[],this.queue.forEach(function(u){return u.timeout===0?n.push(u):r.push(u)}),this.queue=r,this.scheduled&&(clearTimeout(this.scheduled),this.scheduled=null),i=Gn(n,this.config.flushQueueSize),[4,Promise.all(i.map(function(u){return o.send(u,e)}))]);case 1:return s.sent(),[2]}})})},t.prototype.send=function(e,n){return n===void 0&&(n=!0),p(this,void 0,void 0,function(){var r,i,o,s,u;return f(this,function(c){switch(c.label){case 0:if(!this.config.apiKey)return[2,this.fulfillRequest(e,400,On)];r={api_key:this.config.apiKey,events:e.map(function(a){var l=a.event,d=l.extra,m=Te(l,["extra"]);return m}),options:{min_id_length:this.config.minIdLength},client_upload_time:new Date().toISOString()},c.label=1;case 1:return c.trys.push([1,3,,4]),i=Dt(this.config.serverUrl,this.config.serverZone,this.config.useBatch).serverUrl,[4,this.config.transportProvider.send(i,r)];case 2:return o=c.sent(),o===null?(this.fulfillRequest(e,0,Dn),[2]):n?(this.handleResponse(o,e),[3,4]):("body"in o?this.fulfillRequest(e,o.statusCode,"".concat(o.status,": ").concat(Xe(o))):this.fulfillRequest(e,o.statusCode,o.status),[2]);case 3:return s=c.sent(),u=Wr(s),this.config.loggerProvider.error(u),this.fulfillRequest(e,0,u),[3,4];case 4:return[2]}})})},t.prototype.handleResponse=function(e,n){var r=e.status;switch(r){case x.Success:{this.handleSuccessResponse(e,n);break}case x.Invalid:{this.handleInvalidResponse(e,n);break}case x.PayloadTooLarge:{this.handlePayloadTooLargeResponse(e,n);break}case x.RateLimit:{this.handleRateLimitResponse(e,n);break}default:{this.config.loggerProvider.warn(\`{code: 0, error: "Status '\`.concat(r,"' provided for ").concat(n.length,' events"}')),this.handleOtherResponse(n);break}}},t.prototype.handleSuccessResponse=function(e,n){this.fulfillRequest(n,e.statusCode,Rn)},t.prototype.handleInvalidResponse=function(e,n){var r=this;if(e.body.missingField||e.body.error.startsWith(Un)){this.fulfillRequest(n,e.statusCode,e.body.error);return}var i=q(q(q(q([],L(Object.values(e.body.eventsWithInvalidFields)),!1),L(Object.values(e.body.eventsWithMissingFields)),!1),L(Object.values(e.body.eventsWithInvalidIdLengths)),!1),L(e.body.silencedEvents),!1).flat(),o=new Set(i),s=n.filter(function(u,c){if(o.has(c)){r.fulfillRequest([u],e.statusCode,e.body.error);return}return!0});s.length>0&&this.config.loggerProvider.warn(Xe(e)),this.addToQueue.apply(this,q([],L(s),!1))},t.prototype.handlePayloadTooLargeResponse=function(e,n){if(n.length===1){this.fulfillRequest(n,e.statusCode,e.body.error);return}this.config.loggerProvider.warn(Xe(e)),this.config.flushQueueSize/=2,this.addToQueue.apply(this,q([],L(n),!1))},t.prototype.handleRateLimitResponse=function(e,n){var r=this,i=Object.keys(e.body.exceededDailyQuotaUsers),o=Object.keys(e.body.exceededDailyQuotaDevices),s=e.body.throttledEvents,u=new Set(i),c=new Set(o),a=new Set(s),l=n.filter(function(d,m){if(d.event.user_id&&u.has(d.event.user_id)||d.event.device_id&&c.has(d.event.device_id)){r.fulfillRequest([d],e.statusCode,e.body.error);return}return a.has(m)&&(d.timeout=r.throttleTimeout),!0});l.length>0&&this.config.loggerProvider.warn(Xe(e)),this.addToQueue.apply(this,q([],L(l),!1))},t.prototype.handleOtherResponse=function(e){var n=this;this.addToQueue.apply(this,q([],L(e.map(function(r){return r.timeout=r.attempts*n.retryTimeout,r})),!1))},t.prototype.fulfillRequest=function(e,n,r){this.saveEvents(),e.forEach(function(i){return i.callback(te(i.event,n,r))})},t.prototype.saveEvents=function(){if(this.config.storageProvider){var e=Array.from(this.queue.map(function(n){return n.event}));this.config.storageProvider.set(this.storageKey,e)}},t}();var $r=function(t){t===void 0&&(t=0);var e=new Error().stack||"";return e.split(\`
|
|
26
26
|
\`).slice(2+t).map(function(n){return n.trim()})},C=function(t){return function(){var e=v({},t.config),n=e.loggerProvider,r=e.logLevel;return{logger:n,logLevel:r}}},Yr=function(t,e){var n,r;e=e.replace(/\\[(\\w+)\\]/g,".$1"),e=e.replace(/^\\./,"");try{for(var i=Y(e.split(".")),o=i.next();!o.done;o=i.next()){var s=o.value;if(s in t)t=t[s];else return}}catch(u){n={error:u}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}return t},P=function(t,e){return function(){var n,r,i={};try{for(var o=Y(e),s=o.next();!s.done;s=o.next()){var u=s.value;i[u]=Yr(t,u)}}catch(c){n={error:c}}finally{try{s&&!s.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}return i}},R=function(t,e,n,r,i){return i===void 0&&(i=null),function(){for(var o=[],s=0;s<arguments.length;s++)o[s]=arguments[s];var u=n(),c=u.logger,a=u.logLevel;if(a&&a<M.Debug||!a||!c)return t.apply(i,o);var l={type:"invoke public method",name:e,args:o,stacktrace:$r(1),time:{start:new Date().toISOString()},states:{}};r&&l.states&&(l.states.before=r());var d=t.apply(i,o);return d&&d.promise?d.promise.then(function(){r&&l.states&&(l.states.after=r()),l.time&&(l.time.end=new Date().toISOString()),c.debug(JSON.stringify(l,null,2))}):(r&&l.states&&(l.states.after=r()),l.time&&(l.time.end=new Date().toISOString()),c.debug(JSON.stringify(l,null,2))),d}};var ze=function(){function t(){this.memoryStorage=new Map}return t.prototype.isEnabled=function(){return p(this,void 0,void 0,function(){return f(this,function(e){return[2,!0]})})},t.prototype.get=function(e){return p(this,void 0,void 0,function(){return f(this,function(n){return[2,this.memoryStorage.get(e)]})})},t.prototype.getRaw=function(e){return p(this,void 0,void 0,function(){var n;return f(this,function(r){switch(r.label){case 0:return[4,this.get(e)];case 1:return n=r.sent(),[2,n?JSON.stringify(n):void 0]}})})},t.prototype.set=function(e,n){return p(this,void 0,void 0,function(){return f(this,function(r){return this.memoryStorage.set(e,n),[2]})})},t.prototype.remove=function(e){return p(this,void 0,void 0,function(){return f(this,function(n){return this.memoryStorage.delete(e),[2]})})},t.prototype.reset=function(){return p(this,void 0,void 0,function(){return f(this,function(e){return this.memoryStorage.clear(),[2]})})},t}();var pe=function(){function t(){}return t.prototype.send=function(e,n){return Promise.resolve(null)},t.prototype.buildResponse=function(e){var n,r,i,o,s,u,c,a,l,d,m,y,g,T,h,_,U,I,k,F,b,S;if(typeof e!="object")return null;var O=e.code||0,B=this.buildStatus(O);switch(B){case x.Success:return{status:B,statusCode:O,body:{eventsIngested:(n=e.events_ingested)!==null&&n!==void 0?n:0,payloadSizeBytes:(r=e.payload_size_bytes)!==null&&r!==void 0?r:0,serverUploadTime:(i=e.server_upload_time)!==null&&i!==void 0?i:0}};case x.Invalid:return{status:B,statusCode:O,body:{error:(o=e.error)!==null&&o!==void 0?o:"",missingField:(s=e.missing_field)!==null&&s!==void 0?s:"",eventsWithInvalidFields:(u=e.events_with_invalid_fields)!==null&&u!==void 0?u:{},eventsWithMissingFields:(c=e.events_with_missing_fields)!==null&&c!==void 0?c:{},eventsWithInvalidIdLengths:(a=e.events_with_invalid_id_lengths)!==null&&a!==void 0?a:{},epsThreshold:(l=e.eps_threshold)!==null&&l!==void 0?l:0,exceededDailyQuotaDevices:(d=e.exceeded_daily_quota_devices)!==null&&d!==void 0?d:{},silencedDevices:(m=e.silenced_devices)!==null&&m!==void 0?m:[],silencedEvents:(y=e.silenced_events)!==null&&y!==void 0?y:[],throttledDevices:(g=e.throttled_devices)!==null&&g!==void 0?g:{},throttledEvents:(T=e.throttled_events)!==null&&T!==void 0?T:[]}};case x.PayloadTooLarge:return{status:B,statusCode:O,body:{error:(h=e.error)!==null&&h!==void 0?h:""}};case x.RateLimit:return{status:B,statusCode:O,body:{error:(_=e.error)!==null&&_!==void 0?_:"",epsThreshold:(U=e.eps_threshold)!==null&&U!==void 0?U:0,throttledDevices:(I=e.throttled_devices)!==null&&I!==void 0?I:{},throttledUsers:(k=e.throttled_users)!==null&&k!==void 0?k:{},exceededDailyQuotaDevices:(F=e.exceeded_daily_quota_devices)!==null&&F!==void 0?F:{},exceededDailyQuotaUsers:(b=e.exceeded_daily_quota_users)!==null&&b!==void 0?b:{},throttledEvents:(S=e.throttled_events)!==null&&S!==void 0?S:[]}};case x.Timeout:default:return{status:B,statusCode:O}}},t.prototype.buildStatus=function(e){return e>=200&&e<300?x.Success:e===429?x.RateLimit:e===413?x.PayloadTooLarge:e===408?x.Timeout:e>=400&&e<500?x.Invalid:e>=500?x.Failed:x.Unknown},t}();var N=function(){if(typeof globalThis<"u")return globalThis;if(typeof window<"u")return window;if(typeof self<"u")return self;if(typeof global<"u")return global};var ge=function(){var t,e=N();if(!(!((t=e?.location)===null||t===void 0)&&t.search))return{};var n=e.location.search.substring(1).split("&").filter(Boolean),r=n.reduce(function(i,o){var s=o.split("=",2),u=Wn(s[0]),c=Wn(s[1]);return c&&(i[u]=c),i},{});return r},Wn=function(t){t===void 0&&(t="");try{return decodeURIComponent(t)}catch{return""}};var $n="utm_campaign",Yn="utm_content",Qn="utm_id",Xn="utm_medium",zn="utm_source",Zn="utm_term",kt="dclid",Ot="fbclid",Ut="gbraid",Mt="gclid",Nt="ko_click_id",Bt="li_fat_id",Ft="msclkid",Vt="rtd_cid",Ht="ttclid",qt="twclid",jt="wbraid";var fe={utm_campaign:void 0,utm_content:void 0,utm_id:void 0,utm_medium:void 0,utm_source:void 0,utm_term:void 0,referrer:void 0,referring_domain:void 0,dclid:void 0,gbraid:void 0,gclid:void 0,fbclid:void 0,ko_click_id:void 0,li_fat_id:void 0,msclkid:void 0,rtd_cid:void 0,ttclid:void 0,twclid:void 0,wbraid:void 0};var Se=function(){function t(){}return t.prototype.parse=function(){return p(this,void 0,void 0,function(){return f(this,function(e){return[2,v(v(v(v({},fe),this.getUtmParam()),this.getReferrer()),this.getClickIds())]})})},t.prototype.getUtmParam=function(){var e=ge(),n=e[$n],r=e[Yn],i=e[Qn],o=e[Xn],s=e[zn],u=e[Zn];return{utm_campaign:n,utm_content:r,utm_id:i,utm_medium:o,utm_source:s,utm_term:u}},t.prototype.getReferrer=function(){var e,n,r={referrer:void 0,referring_domain:void 0};try{r.referrer=document.referrer||void 0,r.referring_domain=(n=(e=r.referrer)===null||e===void 0?void 0:e.split("/")[2])!==null&&n!==void 0?n:void 0}catch{}return r},t.prototype.getClickIds=function(){var e,n=ge();return e={},e[kt]=n[kt],e[Ot]=n[Ot],e[Ut]=n[Ut],e[Mt]=n[Mt],e[Nt]=n[Nt],e[Bt]=n[Bt],e[Ft]=n[Ft],e[Vt]=n[Vt],e[Ht]=n[Ht],e[qt]=n[qt],e[jt]=n[jt],e},t}();var Ze=function(t,e,n){return e===void 0&&(e=""),n===void 0&&(n=10),[de,e,t.substring(0,n)].filter(Boolean).join("_")},Kt=function(t){return"".concat(de.toLowerCase(),"_").concat(t.substring(0,6))};var xe=function(t,e){e===void 0&&(e=Date.now());var n=Date.now(),r=n-e;return r>t};var Le=function(){function t(e){this.options=v({},e)}return t.prototype.isEnabled=function(){return p(this,void 0,void 0,function(){var e,n,r,i;return f(this,function(o){switch(o.label){case 0:if(!N())return[2,!1];t.testValue=String(Date.now()),e=new t(this.options),n="AMP_TEST",o.label=1;case 1:return o.trys.push([1,4,5,7]),[4,e.set(n,t.testValue)];case 2:return o.sent(),[4,e.get(n)];case 3:return r=o.sent(),[2,r===t.testValue];case 4:return i=o.sent(),[2,!1];case 5:return[4,e.remove(n)];case 6:return o.sent(),[7];case 7:return[2]}})})},t.prototype.get=function(e){return p(this,void 0,void 0,function(){var n;return f(this,function(r){switch(r.label){case 0:return[4,this.getRaw(e)];case 1:if(n=r.sent(),!n)return[2,void 0];try{try{n=decodeURIComponent(atob(n))}catch{}return[2,JSON.parse(n)]}catch{return[2,void 0]}return[2]}})})},t.prototype.getRaw=function(e){var n,r;return p(this,void 0,void 0,function(){var i,o,s;return f(this,function(u){return i=N(),o=(r=(n=i?.document)===null||n===void 0?void 0:n.cookie.split("; "))!==null&&r!==void 0?r:[],s=o.find(function(c){return c.indexOf(e+"=")===0}),s?[2,s.substring(e.length+1)]:[2,void 0]})})},t.prototype.set=function(e,n){var r;return p(this,void 0,void 0,function(){var i,o,s,u,c,a;return f(this,function(l){try{i=(r=this.options.expirationDays)!==null&&r!==void 0?r:0,o=n!==null?i:-1,s=void 0,o&&(u=new Date,u.setTime(u.getTime()+o*24*60*60*1e3),s=u),c="".concat(e,"=").concat(btoa(encodeURIComponent(JSON.stringify(n)))),s&&(c+="; expires=".concat(s.toUTCString())),c+="; path=/",this.options.domain&&(c+="; domain=".concat(this.options.domain)),this.options.secure&&(c+="; Secure"),this.options.sameSite&&(c+="; SameSite=".concat(this.options.sameSite)),a=N(),a&&(a.document.cookie=c)}catch{}return[2]})})},t.prototype.remove=function(e){return p(this,void 0,void 0,function(){return f(this,function(n){switch(n.label){case 0:return[4,this.set(e,null)];case 1:return n.sent(),[2]}})})},t.prototype.reset=function(){return p(this,void 0,void 0,function(){return f(this,function(e){return[2]})})},t}();var Gt=function(t){V(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.send=function(n,r){return p(this,void 0,void 0,function(){var i,o,s;return f(this,function(u){switch(u.label){case 0:if(typeof fetch>"u")throw new Error("FetchTransport is not supported");return i={headers:{"Content-Type":"application/json",Accept:"*/*"},body:JSON.stringify(r),method:"POST"},[4,fetch(n,i)];case 1:return o=u.sent(),[4,o.json()];case 2:return s=u.sent(),[2,this.buildResponse(s)]}})})},e}(pe);var Qr=function(){function t(){}return t.prototype.getApplicationContext=function(){return{versionName:this.versionName,language:Xr(),platform:"Web",os:void 0,deviceModel:void 0}},t}(),Xr=function(){return typeof navigator<"u"&&(navigator.languages&&navigator.languages[0]||navigator.language)||""},zr=function(){function t(){this.queue=[]}return t.prototype.logEvent=function(e){this.receiver?this.receiver(e):this.queue.length<512&&this.queue.push(e)},t.prototype.setEventReceiver=function(e){this.receiver=e,this.queue.length>0&&(this.queue.forEach(function(n){e(n)}),this.queue=[])},t}(),ie=function(){return ie=Object.assign||function(e){for(var n,r=1,i=arguments.length;r<i;r++){n=arguments[r];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},ie.apply(this,arguments)},Je=function(t,e){var n=["string","number","boolean","undefined"],r=typeof t,i=typeof e;if(r!==i)return!1;for(var o=0,s=n;o<s.length;o++){var u=s[o];if(u===r)return t===e}if(t==null&&e==null)return!0;if(t==null||e==null||t.length!==e.length)return!1;var c=Array.isArray(t),a=Array.isArray(e);if(c!==a)return!1;if(c&&a){for(var l=0;l<t.length;l++)if(!Je(t[l],e[l]))return!1}else{var d=Object.keys(t).sort(),m=Object.keys(e).sort();if(!Je(d,m))return!1;var y=!0;return Object.keys(t).forEach(function(g){Je(t[g],e[g])||(y=!1)}),y}return!0},Zr="$set",Jr="$unset",ei="$clearAll";Object.entries||(Object.entries=function(t){for(var e=Object.keys(t),n=e.length,r=new Array(n);n--;)r[n]=[e[n],t[e[n]]];return r});var ti=function(){function t(){this.identity={userProperties:{}},this.listeners=new Set}return t.prototype.editIdentity=function(){var e=this,n=ie({},this.identity.userProperties),r=ie(ie({},this.identity),{userProperties:n});return{setUserId:function(i){return r.userId=i,this},setDeviceId:function(i){return r.deviceId=i,this},setUserProperties:function(i){return r.userProperties=i,this},setOptOut:function(i){return r.optOut=i,this},updateUserProperties:function(i){for(var o=r.userProperties||{},s=0,u=Object.entries(i);s<u.length;s++){var c=u[s],a=c[0],l=c[1];switch(a){case Zr:for(var d=0,m=Object.entries(l);d<m.length;d++){var y=m[d],g=y[0],T=y[1];o[g]=T}break;case Jr:for(var h=0,_=Object.keys(l);h<_.length;h++){var g=_[h];delete o[g]}break;case ei:o={};break}}return r.userProperties=o,this},commit:function(){return e.setIdentity(r),this}}},t.prototype.getIdentity=function(){return ie({},this.identity)},t.prototype.setIdentity=function(e){var n=ie({},this.identity);this.identity=ie({},e),Je(n,this.identity)||this.listeners.forEach(function(r){r(e)})},t.prototype.addIdentityListener=function(e){this.listeners.add(e)},t.prototype.removeIdentityListener=function(e){this.listeners.delete(e)},t}(),we=typeof globalThis<"u"?globalThis:typeof global<"u"?global:self,Jn=function(){function t(){this.identityStore=new ti,this.eventBridge=new zr,this.applicationContextProvider=new Qr}return t.getInstance=function(e){return we.analyticsConnectorInstances||(we.analyticsConnectorInstances={}),we.analyticsConnectorInstances[e]||(we.analyticsConnectorInstances[e]=new t),we.analyticsConnectorInstances[e]},t}();var oe=function(t){return t===void 0&&(t="$default_instance"),Jn.getInstance(t)},Wt=function(t,e){oe(e).identityStore.editIdentity().setUserId(t).commit()},$t=function(t,e){oe(e).identityStore.editIdentity().setDeviceId(t).commit()};var Yt=function(){function t(){this.name="identity",this.type="before",this.identityStore=oe().identityStore}return t.prototype.execute=function(e){return p(this,void 0,void 0,function(){var n;return f(this,function(r){return n=e.user_properties,n&&this.identityStore.editIdentity().updateUserProperties(n).commit(),[2,e]})})},t.prototype.setup=function(e){return p(this,void 0,void 0,function(){return f(this,function(n){return e.instanceName&&(this.identityStore=oe(e.instanceName).identityStore),[2]})})},t}();var Qt=function(){var t,e,n,r;if(typeof navigator>"u")return"";var i=navigator.userLanguage;return(r=(n=(e=(t=navigator.languages)===null||t===void 0?void 0:t[0])!==null&&e!==void 0?e:navigator.language)!==null&&n!==void 0?n:i)!==null&&r!==void 0?r:""};var Ce=function(t,e){return typeof t=="boolean"?t:t?.[e]!==!1},et=function(t){return Ce(t,"attribution")},Xt=function(t){return Ce(t,"fileDownloads")},zt=function(t){return Ce(t,"formInteractions")},tt=function(t){return Ce(t,"pageViews")},Zt=function(t){return Ce(t,"sessions")},Jt=function(t){var e=function(){return!1},n=void 0,r,i=t.pageCounter,o=tt(t.defaultTracking);return o&&(e=void 0,r=void 0,t.defaultTracking&&typeof t.defaultTracking=="object"&&t.defaultTracking.pageViews&&typeof t.defaultTracking.pageViews=="object"&&("trackOn"in t.defaultTracking.pageViews&&(e=t.defaultTracking.pageViews.trackOn),"trackHistoryChanges"in t.defaultTracking.pageViews&&(n=t.defaultTracking.pageViews.trackHistoryChanges),"eventType"in t.defaultTracking.pageViews&&t.defaultTracking.pageViews.eventType&&(r=t.defaultTracking.pageViews.eventType))),{trackOn:e,trackHistoryChanges:n,eventType:r,pageCounter:i}},en=function(t){return et(t.defaultTracking)&&t.defaultTracking&&typeof t.defaultTracking=="object"&&t.defaultTracking.attribution&&typeof t.defaultTracking.attribution=="object"?v({},t.defaultTracking.attribution):{}};var nt=function(t,e){for(var n=0;n<e.length;n++){var r=e[n],i=r.name,o=r.args,s=r.resolve,u=t&&t[i];if(typeof u=="function"){var c=u.apply(t,o);typeof s=="function"&&s(c?.promise)}}return t},rt=function(t){var e=t;return e&&e._q!==void 0};var er="2.5.2";var ni="Web",ri="$remote",tr=function(){function t(){this.name="@amplitude/plugin-context-browser",this.type="before",this.library="amplitude-ts/".concat(er),typeof navigator<"u"&&(this.userAgent=navigator.userAgent)}return t.prototype.setup=function(e){return this.config=e,Promise.resolve(void 0)},t.prototype.execute=function(e){var n,r;return p(this,void 0,void 0,function(){var i,o,s,u;return f(this,function(c){return i=new Date().getTime(),o=(n=this.config.lastEventId)!==null&&n!==void 0?n:-1,s=(r=e.event_id)!==null&&r!==void 0?r:o+1,this.config.lastEventId=s,e.time||(this.config.lastEventTime=i),u=v(v(v(v(v(v(v(v({user_id:this.config.userId,device_id:this.config.deviceId,session_id:this.config.sessionId,time:i},this.config.appVersion&&{app_version:this.config.appVersion}),this.config.trackingOptions.platform&&{platform:ni}),this.config.trackingOptions.language&&{language:Qt()}),this.config.trackingOptions.ipAddress&&{ip:ri}),{insert_id:X(),partner_id:this.config.partnerId,plan:this.config.plan}),this.config.ingestionMetadata&&{ingestion_metadata:{source_name:this.config.ingestionMetadata.sourceName,source_version:this.config.ingestionMetadata.sourceVersion}}),e),{event_id:s,library:this.library,user_agent:this.userAgent}),[2,u]})})},t}();var it=function(){function t(e){this.storage=e}return t.prototype.isEnabled=function(){return p(this,void 0,void 0,function(){var e,n,r,i,o;return f(this,function(s){switch(s.label){case 0:if(!this.storage)return[2,!1];e=String(Date.now()),n=new t(this.storage),r="AMP_TEST",s.label=1;case 1:return s.trys.push([1,4,5,7]),[4,n.set(r,e)];case 2:return s.sent(),[4,n.get(r)];case 3:return i=s.sent(),[2,i===e];case 4:return o=s.sent(),[2,!1];case 5:return[4,n.remove(r)];case 6:return s.sent(),[7];case 7:return[2]}})})},t.prototype.get=function(e){return p(this,void 0,void 0,function(){var n,r;return f(this,function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,this.getRaw(e)];case 1:return n=i.sent(),n?[2,JSON.parse(n)]:[2,void 0];case 2:return r=i.sent(),console.error("[Amplitude] Error: Could not get value from storage"),[2,void 0];case 3:return[2]}})})},t.prototype.getRaw=function(e){var n;return p(this,void 0,void 0,function(){return f(this,function(r){return[2,((n=this.storage)===null||n===void 0?void 0:n.getItem(e))||void 0]})})},t.prototype.set=function(e,n){var r;return p(this,void 0,void 0,function(){return f(this,function(i){try{(r=this.storage)===null||r===void 0||r.setItem(e,JSON.stringify(n))}catch{}return[2]})})},t.prototype.remove=function(e){var n;return p(this,void 0,void 0,function(){return f(this,function(r){try{(n=this.storage)===null||n===void 0||n.removeItem(e)}catch{}return[2]})})},t.prototype.reset=function(){var e;return p(this,void 0,void 0,function(){return f(this,function(n){try{(e=this.storage)===null||e===void 0||e.clear()}catch{}return[2]})})},t}();var ot=1e3,tn=function(t){V(e,t);function e(n){var r=this,i;return r=t.call(this,(i=N())===null||i===void 0?void 0:i.localStorage)||this,r.loggerProvider=n?.loggerProvider,r}return e.prototype.set=function(n,r){var i;return p(this,void 0,void 0,function(){var o;return f(this,function(s){switch(s.label){case 0:return Array.isArray(r)&&r.length>ot?(o=r.length-ot,[4,t.prototype.set.call(this,n,r.slice(0,ot))]):[3,2];case 1:return s.sent(),(i=this.loggerProvider)===null||i===void 0||i.error("Failed to save ".concat(o," events because the queue length exceeded ").concat(ot,".")),[3,4];case 2:return[4,t.prototype.set.call(this,n,r)];case 3:s.sent(),s.label=4;case 4:return[2]}})})},e}(it);var nr=function(t){V(e,t);function e(){var n;return t.call(this,(n=N())===null||n===void 0?void 0:n.sessionStorage)||this}return e}(it);var rr=function(t){V(e,t);function e(){var n=t!==null&&t.apply(this,arguments)||this;return n.state={done:4},n}return e.prototype.send=function(n,r){return p(this,void 0,void 0,function(){var i=this;return f(this,function(o){return[2,new Promise(function(s,u){typeof XMLHttpRequest>"u"&&u(new Error("XHRTransport is not supported."));var c=new XMLHttpRequest;c.open("POST",n,!0),c.onreadystatechange=function(){if(c.readyState===i.state.done)try{var a=c.responseText,l=JSON.parse(a),d=i.buildResponse(l);s(d)}catch(m){u(m)}},c.setRequestHeader("Content-Type","application/json"),c.setRequestHeader("Accept","*/*"),c.send(JSON.stringify(r))})]})})},e}(pe);var ir=function(t){V(e,t);function e(){return t!==null&&t.apply(this,arguments)||this}return e.prototype.send=function(n,r){return p(this,void 0,void 0,function(){var i=this;return f(this,function(o){return[2,new Promise(function(s,u){var c=N();if(!c?.navigator.sendBeacon)throw new Error("SendBeaconTransport is not supported");try{var a=JSON.stringify(r),l=c.navigator.sendBeacon(n,JSON.stringify(r));return s(l?i.buildResponse({code:200,events_ingested:r.events.length,payload_size_bytes:a.length,server_upload_time:Date.now()}):i.buildResponse({code:500}))}catch(d){u(d)}})]})})},e}(pe);var or=function(t,e,n){return n===void 0&&(n=!0),p(void 0,void 0,void 0,function(){var r,i,o,s,u,c,a,l,d;return f(this,function(m){switch(m.label){case 0:return r=Kt(t),[4,e.getRaw(r)];case 1:return i=m.sent(),i?n?[4,e.remove(r)]:[3,3]:[2,{optOut:!1}];case 2:m.sent(),m.label=3;case 3:return o=L(i.split("."),6),s=o[0],u=o[1],c=o[2],a=o[3],l=o[4],d=o[5],[2,{deviceId:s,userId:ii(u),sessionId:nn(a),lastEventId:nn(d),lastEventTime:nn(l),optOut:!!c}]}})})},nn=function(t){var e=parseInt(t,32);if(!isNaN(e))return e},ii=function(t){if(!(!atob||!escape||!t))try{return decodeURIComponent(escape(atob(t)))}catch{return}};var j="[Amplitude]",ka="".concat(j," Page Viewed"),rn="".concat(j," Form Started"),sr="".concat(j," Form Submitted"),ar="".concat(j," File Downloaded"),on="session_start",sn="session_end",ur="".concat(j," File Extension"),cr="".concat(j," File Name"),lr="".concat(j," Link ID"),dr="".concat(j," Link Text"),pr="".concat(j," Link URL"),st="".concat(j," Form ID"),at="".concat(j," Form Name"),ut="".concat(j," Form Destination"),Pe="cookie",fr="US";var oi=function(t){V(e,t);function e(n,r,i,o,s,u,c,a,l,d,m,y,g,T,h,_,U,I,k,F,b,S,O,B,Z,ne,ce,re,le,ye,_e){i===void 0&&(i=new ze),o===void 0&&(o={domain:"",expiration:365,sameSite:"Lax",secure:!1,upgrade:!0}),c===void 0&&(c=1e3),a===void 0&&(a=5),l===void 0&&(l=30),d===void 0&&(d=Pe),h===void 0&&(h=new be),_===void 0&&(_=M.Warn),I===void 0&&(I=!1),k===void 0&&(k=!1),S===void 0&&(S=""),O===void 0&&(O=fr),Z===void 0&&(Z=30*60*1e3),ne===void 0&&(ne=new tn({loggerProvider:h})),ce===void 0&&(ce={ipAddress:!0,language:!0,platform:!0}),re===void 0&&(re="fetch"),le===void 0&&(le=!1);var E=t.call(this,{apiKey:n,storageProvider:ne,transportProvider:an(re)})||this;return E.apiKey=n,E.appVersion=r,E.cookieOptions=o,E.defaultTracking=s,E.flushIntervalMillis=c,E.flushMaxRetries=a,E.flushQueueSize=l,E.identityStorage=d,E.ingestionMetadata=m,E.instanceName=y,E.loggerProvider=h,E.logLevel=_,E.minIdLength=U,E.offline=I,E.partnerId=F,E.plan=b,E.serverUrl=S,E.serverZone=O,E.sessionTimeout=Z,E.storageProvider=ne,E.trackingOptions=ce,E.transport=re,E.useBatch=le,E._optOut=!1,E._cookieStorage=i,E.deviceId=u,E.lastEventId=g,E.lastEventTime=T,E.optOut=k,E.sessionId=B,E.pageCounter=_e,E.userId=ye,E.loggerProvider.enable(E.logLevel),E}return Object.defineProperty(e.prototype,"cookieStorage",{get:function(){return this._cookieStorage},set:function(n){this._cookieStorage!==n&&(this._cookieStorage=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"deviceId",{get:function(){return this._deviceId},set:function(n){this._deviceId!==n&&(this._deviceId=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"userId",{get:function(){return this._userId},set:function(n){this._userId!==n&&(this._userId=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"sessionId",{get:function(){return this._sessionId},set:function(n){this._sessionId!==n&&(this._sessionId=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"optOut",{get:function(){return this._optOut},set:function(n){this._optOut!==n&&(this._optOut=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"lastEventTime",{get:function(){return this._lastEventTime},set:function(n){this._lastEventTime!==n&&(this._lastEventTime=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"lastEventId",{get:function(){return this._lastEventId},set:function(n){this._lastEventId!==n&&(this._lastEventId=n,this.updateStorage())},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"pageCounter",{get:function(){return this._pageCounter},set:function(n){this._pageCounter!==n&&(this._pageCounter=n,this.updateStorage())},enumerable:!1,configurable:!0}),e.prototype.updateStorage=function(){var n={deviceId:this._deviceId,userId:this._userId,sessionId:this._sessionId,optOut:this._optOut,lastEventTime:this._lastEventTime,lastEventId:this._lastEventId,pageCounter:this._pageCounter};this.cookieStorage.set(Ze(this.apiKey),n)},e}(Rt);var mr=function(t,e,n){return e===void 0&&(e={}),p(void 0,void 0,void 0,function(){var r,i,o,s,u,c,a,l,d,m,y,g,T,h,_,U,I,k,F,b,S,O,B,Z,ne,ce,re,le,ye,_e,E,pt,ft,mt,vt,gt,ht,yt,_t,Et;return f(this,function(me){switch(me.label){case 0:return r=e.identityStorage||Pe,I={},r===Pe?[3,1]:(o="",[3,5]);case 1:return(F=(k=e.cookieOptions)===null||k===void 0?void 0:k.domain)!==null&&F!==void 0?(s=F,[3,4]):[3,2];case 2:return[4,ai()];case 3:s=me.sent(),me.label=4;case 4:o=s,me.label=5;case 5:return i=v.apply(void 0,[(I.domain=o,I.expiration=365,I.sameSite="Lax",I.secure=!1,I.upgrade=!0,I),e.cookieOptions]),u=si(e.identityStorage,i),[4,or(t,u,(S=(b=e.cookieOptions)===null||b===void 0?void 0:b.upgrade)!==null&&S!==void 0?S:!0)];case 6:return c=me.sent(),[4,u.get(Ze(t))];case 7:return a=me.sent(),l=ge(),d=(ne=(Z=(B=(O=e.deviceId)!==null&&O!==void 0?O:l.deviceId)!==null&&B!==void 0?B:a?.deviceId)!==null&&Z!==void 0?Z:c.deviceId)!==null&&ne!==void 0?ne:X(),m=(ce=a?.lastEventId)!==null&&ce!==void 0?ce:c.lastEventId,y=(re=a?.lastEventTime)!==null&&re!==void 0?re:c.lastEventTime,g=(ye=(le=e.optOut)!==null&&le!==void 0?le:a?.optOut)!==null&&ye!==void 0?ye:c.optOut,T=(_e=a?.sessionId)!==null&&_e!==void 0?_e:c.sessionId,h=(pt=(E=e.userId)!==null&&E!==void 0?E:a?.userId)!==null&&pt!==void 0?pt:c.userId,n.previousSessionDeviceId=(ft=a?.deviceId)!==null&&ft!==void 0?ft:c.deviceId,n.previousSessionUserId=(mt=a?.userId)!==null&&mt!==void 0?mt:c.userId,_={ipAddress:(gt=(vt=e.trackingOptions)===null||vt===void 0?void 0:vt.ipAddress)!==null&>!==void 0?gt:!0,language:(yt=(ht=e.trackingOptions)===null||ht===void 0?void 0:ht.language)!==null&&yt!==void 0?yt:!0,platform:(Et=(_t=e.trackingOptions)===null||_t===void 0?void 0:_t.platform)!==null&&Et!==void 0?Et:!0},U=a?.pageCounter,[2,new oi(t,e.appVersion,u,i,e.defaultTracking,d,e.flushIntervalMillis,e.flushMaxRetries,e.flushQueueSize,r,e.ingestionMetadata,e.instanceName,m,y,e.loggerProvider,e.logLevel,e.minIdLength,e.offline,g,e.partnerId,e.plan,e.serverUrl,e.serverZone,T,e.sessionTimeout,e.storageProvider,_,e.transport,e.useBatch,h,U)]}})})},si=function(t,e){switch(t===void 0&&(t=Pe),e===void 0&&(e={}),t){case"localStorage":return new tn;case"sessionStorage":return new nr;case"none":return new ze;case"cookie":default:return new Le(v(v({},e),{expirationDays:e.expiration}))}},an=function(t){return t==="xhr"?new rr:t==="beacon"?new ir:new Gt},ai=function(t){return p(void 0,void 0,void 0,function(){var e,n,r,i,o,o,s,u,c,a;return f(this,function(l){switch(l.label){case 0:return[4,new Le().isEnabled()];case 1:if(!l.sent()||!t&&typeof location>"u")return[2,""];for(e=t??location.hostname,n=e.split("."),r=[],i="AMP_TLDTEST",o=n.length-2;o>=0;--o)r.push(n.slice(o).join("."));o=0,l.label=2;case 2:return o<r.length?(s=r[o],u={domain:"."+s},c=new Le(u),[4,c.set(i,1)]):[3,7];case 3:return l.sent(),[4,c.get(i)];case 4:return a=l.sent(),a?[4,c.remove(i)]:[3,6];case 5:return l.sent(),[2,"."+s];case 6:return o++,[3,2];case 7:return[2,""]}})})};var gr=function(t,e,n){return e===void 0&&(e=""),n===void 0&&(n=10),[de,e,t.substring(0,n)].filter(Boolean).join("_")},vr=function(t){var e=t.split(".");return e.length<=2?t:e.slice(e.length-2,e.length).join(".")},ui=function(t){return Object.values(t).every(function(e){return!e})},hr=function(t,e,n,r){r===void 0&&(r=!0);var i=t.referrer,o=t.referring_domain,s=Te(t,["referrer","referring_domain"]),u=e||{},c=u.referrer,a=u.referring_domain,l=Te(u,["referrer","referring_domain"]);if(ci(n.excludeReferrers,t.referring_domain)||!r&&ui(t)&&e)return!1;var d=JSON.stringify(s)!==JSON.stringify(l),m=vr(o||"")!==vr(a||"");return!e||d||m},ci=function(t,e){return t===void 0&&(t=[]),e===void 0&&(e=""),t.some(function(n){return n instanceof RegExp?n.test(e):n===e})},yr=function(t,e){var n=v(v({},fe),t),r=Object.entries(n).reduce(function(i,o){var s,u=L(o,2),c=u[0],a=u[1];return i.setOnce("initial_".concat(c),(s=a??e.initialEmptyValue)!==null&&s!==void 0?s:"EMPTY"),a?i.set(c,a):i.unset(c)},new G);return Ie(r)},_r=function(t){var e=t;return e?(e.startsWith(".")&&(e=e.substring(1)),[new RegExp("".concat(e.replace(".","\\\\."),"$"))]):[]};var un=function(t){var e=this;t===void 0&&(t={});var n={name:"@amplitude/plugin-web-attribution-browser",type:"before",setup:function(r,i){var o;return p(this,void 0,void 0,function(){var s,u,c,a,l,d,m,y;return f(this,function(g){switch(g.label){case 0:return s=v({initialEmptyValue:"EMPTY",resetSessionOnNewCampaign:!1,excludeReferrers:_r((o=r.cookieOptions)===null||o===void 0?void 0:o.domain)},t),r.loggerProvider.log("Installing @amplitude/plugin-web-attribution-browser."),u=r.cookieStorage,c=gr(r.apiKey,"MKTG"),[4,Promise.all([new Se().parse(),u.get(c)])];case 1:return a=L.apply(void 0,[g.sent(),2]),l=a[0],d=a[1],m=xe(r.sessionTimeout,r.lastEventTime),hr(l,d,s,m)&&(s.resetSessionOnNewCampaign&&(i.setSessionId(Date.now()),r.loggerProvider.log("Created a new session for new campaign.")),r.loggerProvider.log("Tracking attribution."),y=yr(l,s),i.track(y),u.set(c,l)),[2]}})})},execute:function(r){return p(e,void 0,void 0,function(){return f(this,function(i){return[2,r]})})}};return n};var Er=function(t){var e={};for(var n in t){var r=t[n];r&&(e[n]=r)}return e};var cn=function(t){t===void 0&&(t={});var e,n=N(),r=void 0,i,o,s=function(){return p(void 0,void 0,void 0,function(){var m,y,g;return f(this,function(T){switch(T.label){case 0:return o.pageCounter=o.pageCounter?o.pageCounter+1:1,y={event_type:(g=t.eventType)!==null&&g!==void 0?g:"[Amplitude] Page Viewed"},m=[{}],[4,li()];case 1:return[2,(y.event_properties=v.apply(void 0,[v.apply(void 0,m.concat([T.sent()])),{"[Amplitude] Page Domain":typeof location<"u"&&location.hostname||"","[Amplitude] Page Location":typeof location<"u"&&location.href||"","[Amplitude] Page Path":typeof location<"u"&&location.pathname||"","[Amplitude] Page Title":typeof document<"u"&&document.title||"","[Amplitude] Page URL":typeof location<"u"&&location.href.split("?")[0]||"","[Amplitude] Page Counter":o.pageCounter}]),y)]}})})},u=function(){return typeof t.trackOn>"u"||typeof t.trackOn=="function"&&t.trackOn()},c=typeof location<"u"?location.href:null,a=function(){return p(void 0,void 0,void 0,function(){var m,y,g,T,h;return f(this,function(_){switch(_.label){case 0:return m=location.href,y=pi(t.trackHistoryChanges,m,c||"")&&u(),c=m,y?(r?.log("Tracking page view event"),e!=null?[3,1]:(g=void 0,[3,3])):[3,4];case 1:return h=(T=e).track,[4,s()];case 2:g=h.apply(T,[_.sent()]),_.label=3;case 3:_.label=4;case 4:return[2]}})})},l=function(){a()},d={name:"@amplitude/plugin-page-view-tracking-browser",type:"enrichment",setup:function(m,y){return p(void 0,void 0,void 0,function(){var g,T;return f(this,function(h){switch(h.label){case 0:return e=y,o=m,r=m.loggerProvider,r.log("Installing @amplitude/plugin-page-view-tracking-browser"),n&&(n.addEventListener("popstate",l),i=n.history.pushState,n.history.pushState=new Proxy(n.history.pushState,{apply:function(_,U,I){var k=L(I,3),F=k[0],b=k[1],S=k[2];_.apply(U,[F,b,S]),a()}})),u()?(r.log("Tracking page view event"),T=(g=e).track,[4,s()]):[3,2];case 1:T.apply(g,[h.sent()]),h.label=2;case 2:return[2]}})})},execute:function(m){return p(void 0,void 0,void 0,function(){var y;return f(this,function(g){switch(g.label){case 0:return t.trackOn==="attribution"&&di(m)?(r?.log("Enriching campaign event to page view event with campaign parameters"),[4,s()]):[3,2];case 1:y=g.sent(),m.event_type=y.event_type,m.event_properties=v(v({},m.event_properties),y.event_properties),g.label=2;case 2:return[2,m]}})})},teardown:function(){return p(void 0,void 0,void 0,function(){return f(this,function(m){return n&&(n.removeEventListener("popstate",l),i&&(n.history.pushState=i)),[2]})})}};return d},li=function(){return p(void 0,void 0,void 0,function(){var t;return f(this,function(e){switch(e.label){case 0:return t=Er,[4,new Se().parse()];case 1:return[2,t.apply(void 0,[e.sent()])]}})})},di=function(t){if(t.event_type==="$identify"&&t.user_properties){var e=t.user_properties,n=e[w.SET]||{},r=e[w.UNSET]||{},i=q(q([],L(Object.keys(n)),!1),L(Object.keys(r)),!1);return Object.keys(fe).every(function(o){return i.includes(o)})}return!1},pi=function(t,e,n){switch(t){case"pathOnly":return e.split("?")[0]!==n.split("?")[0];default:return e!==n}};var Tr=function(){var t,e=[],n=function(a,l,d){a.addEventListener(l,d),e.push({element:a,type:l,handler:d})},r=function(){e.forEach(function(a){var l=a.element,d=a.type,m=a.handler;l?.removeEventListener(d,m)}),e=[]},i="@amplitude/plugin-form-interaction-tracking-browser",o="enrichment",s=function(a,l){return p(void 0,void 0,void 0,function(){var d,m;return f(this,function(y){return l?typeof document>"u"?[2]:(d=function(g){var T=!1;n(g,"change",function(){var h;T||l.track(rn,(h={},h[st]=he(g.id),h[at]=he(g.name),h[ut]=g.action,h)),T=!0}),n(g,"submit",function(){var h,_;T||l.track(rn,(h={},h[st]=he(g.id),h[at]=he(g.name),h[ut]=g.action,h)),l.track(sr,(_={},_[st]=he(g.id),_[at]=he(g.name),_[ut]=g.action,_)),T=!1})},m=Array.from(document.getElementsByTagName("form")),m.forEach(d),typeof MutationObserver<"u"&&(t=new MutationObserver(function(g){g.forEach(function(T){T.addedNodes.forEach(function(h){h.nodeName==="FORM"&&d(h),"querySelectorAll"in h&&typeof h.querySelectorAll=="function"&&Array.from(h.querySelectorAll("form")).map(d)})})}),t.observe(document.body,{subtree:!0,childList:!0})),[2]):(a.loggerProvider.warn("Form interaction tracking requires a later version of @amplitude/analytics-browser. Form interaction events are not tracked."),[2])})})},u=function(a){return p(void 0,void 0,void 0,function(){return f(this,function(l){return[2,a]})})},c=function(){return p(void 0,void 0,void 0,function(){return f(this,function(a){return t?.disconnect(),r(),[2]})})};return{name:i,type:o,setup:s,execute:u,teardown:c}},he=function(t){if(typeof t=="string")return t};var Ir=function(){var t,e=[],n=function(a,l,d){a.addEventListener(l,d),e.push({element:a,type:l,handler:d})},r=function(){e.forEach(function(a){var l=a.element,d=a.type,m=a.handler;l?.removeEventListener(d,m)}),e=[]},i="@amplitude/plugin-file-download-tracking-browser",o="enrichment",s=function(a,l){return p(void 0,void 0,void 0,function(){var d,m,y;return f(this,function(g){return l?typeof document>"u"?[2]:(d=function(T){var h;try{h=new URL(T.href,window.location.href)}catch{return}var _=m.exec(h.href),U=_?.[1];U&&n(T,"click",function(){var I;U&&l.track(ar,(I={},I[ur]=U,I[cr]=h.pathname,I[lr]=T.id,I[dr]=T.text,I[pr]=T.href,I))})},m=/\\.(pdf|xlsx?|docx?|txt|rtf|csv|exe|key|pp(s|t|tx)|7z|pkg|rar|gz|zip|avi|mov|mp4|mpe?g|wmv|midi?|mp3|wav|wma)$/,y=Array.from(document.getElementsByTagName("a")),y.forEach(d),typeof MutationObserver<"u"&&(t=new MutationObserver(function(T){T.forEach(function(h){h.addedNodes.forEach(function(_){_.nodeName==="A"&&d(_),"querySelectorAll"in _&&typeof _.querySelectorAll=="function"&&Array.from(_.querySelectorAll("a")).map(d)})})}),t.observe(document.body,{subtree:!0,childList:!0})),[2]):(a.loggerProvider.warn("File download tracking requires a later version of @amplitude/analytics-browser. File download events are not tracked."),[2])})})},u=function(a){return p(void 0,void 0,void 0,function(){return f(this,function(l){return[2,a]})})},c=function(){return p(void 0,void 0,void 0,function(){return f(this,function(a){return t?.disconnect(),r(),[2]})})};return{name:i,type:o,setup:s,execute:u,teardown:c}};var br=!1,Sr=function(t){if(!(br||t.defaultTracking!==void 0)){var e=\`\\\`options.defaultTracking\\\` is set to undefined. This implicitly configures your Amplitude instance to track Page Views, Sessions, File Downloads, and Form Interactions. You can suppress this warning by explicitly setting a value to \\\`options.defaultTracking\\\`. The value must either be a boolean, to enable and disable all default events, or an object, for advanced configuration. For example:
|
|
27
27
|
|
|
28
28
|
amplitude.init(<YOUR_API_KEY>, {
|
|
@@ -39,7 +39,7 @@ Visit https://www.docs.developers.amplitude.com/data/sdks/browser-2/#tracking-de
|
|
|
39
39
|
<h3>How's Devtools working for you?</h3>
|
|
40
40
|
<p>We'd love your feedback!</p>
|
|
41
41
|
</div>
|
|
42
|
-
\`,t.appendChild(e),setTimeout(()=>{e.classList.add("menu-toggle-tooltip-show"),e.addEventListener("click",()=>{e.classList.remove("menu-toggle-tooltip-show")})},1e3)};function Br(t){t.getElementById("go-to-builder").addEventListener("click",s=>{s.preventDefault(),s.stopPropagation(),ue(t,!1),window.open(mn(),"builder")}),t.getElementById("components-link").addEventListener("click",s=>{s.preventDefault(),s.stopPropagation();let u=t.querySelector(".nav-cmp-list .section-content");u.scrollTop=0,W(t,"nav-cmp-list"),Mr(t)}),t.getElementById("settings-link").addEventListener("click",s=>{s.preventDefault(),s.stopPropagation(),W(t,"nav-settings")}),t.getElementById("add-page-link").addEventListener("click",s=>{s.preventDefault(),s.stopPropagation(),ue(t,!1),window.open(Ee(),"builder")}),t.getElementById("import-from-figma").addEventListener("click",s=>{s.preventDefault(),s.stopPropagation(),ue(t,!1),window.open("https://www.figma.com/community/plugin/747985167520967365/builder-io-ai-powered-figma-to-code-react-vue-tailwind-more")})}function Fr(t){let e=t.getElementById("enable-edit");e.addEventListener("change",n=>{n.stopPropagation(),bt(e.checked)}),e.checked=ke(),bt(e.checked)}var lt=class extends HTMLElement{constructor(){super()}connectedCallback(){let e=this.attachShadow({mode:"open"});e.innerHTML=\`<style>*,*:before,*:after{box-sizing:border-box}:host{--background-color: rgba(40, 40, 40, 1);--primary-color: rgba(72, 161, 255, 1);--primary-color-subdued: rgb(72, 161, 255, .6);--primary-color-highlight: rgb(126, 188, 255);--primary-contrast-color: white;--edit-color: #1d74e2;--edit-color-highlight: #1c6bd1;--edit-color-alpha: rgb(72, 161, 255, .15);--error-color: #ff2b55;--text-color: white;--text-color-highlight: white;--border-color: #454545;--button-background-color-hover: rgba(255, 255, 255, .1);--menu-width: 320px;--transition-time: .15s;--font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";font-family:var(--font-family);line-height:1.6}button{cursor:pointer;color:var(--text-color);-webkit-tap-highlight-color:transparent}input,select,button{font-family:var(--font-family)}.menu-toggle{position:absolute;right:0;bottom:0;pointer-events:auto;padding:8px;background:transparent;border:none;appearance:none}.menu-toggle div{position:relative;width:64px;height:64px;pointer-events:none;border-radius:50%;background:#000;border:1px solid white;box-shadow:#00000054 0 0 8px}.menu-toggle:hover div{background-color:var(--background-color);border:1px solid rgb(220,220,220)}.menu-toggle svg{position:absolute;top:15px;left:15px;width:33px;height:32px}div.highlight-bg{position:absolute;top:-1px;left:-1px;background-color:#1a1a1a;pointer-events:none;transition:all .4s ease-out;opacity:0}.menu-toggle-highlight-no-transition div.highlight-bg{transition:none}.menu-toggle-highlight div.highlight-bg{opacity:1}.menu-toggle-tooltip{position:absolute;bottom:0;right:0;width:382px;height:72px;padding:0;text-align:left;appearance:none;background-color:transparent;border:none;pointer-events:none;transform:translate3d(320px,0,0);opacity:0;transition:all .15s ease-in-out;color:#fff}.menu-toggle-tooltip.menu-toggle-tooltip-show{pointer-events:auto;opacity:1;transform:translateZ(0)}.menu-toggle-tooltip-content{position:absolute;inset:0 95px 10px 0;padding:8px 12px;background-color:var(--primary-color);box-shadow:#00000054 0 0 20px;border-radius:2px}.menu-toggle-tooltip-content:before{content:"";position:absolute;bottom:15px;right:-6px;width:30px;height:30px;background-color:var(--primary-color);transform:rotate(45deg)}.menu-toggle-tooltip:hover .menu-toggle-tooltip-content,.menu-toggle-tooltip:hover .menu-toggle-tooltip-content:before{background-color:var(--primary-color-highlight)}.menu-toggle-tooltip-content h3{margin:0;font-size:16px}.menu-toggle-tooltip-content p{margin:0;font-size:12px}section{position:absolute;display:grid;grid-template-rows:64px auto 64px;top:0;left:0;width:100%;height:100%;padding:0;pointer-events:none}.section-content{margin:0;padding:0 0 10px;font-weight:300;transform:translate3d(105%,0,0);transition:transform var(--transition-time) ease-in-out;overflow-y:auto}.section-content .error{color:var(--error-color);font-weight:700}section a{text-decoration:none;color:var(--text-color)}section h3,section p{margin-left:16px;margin-right:16px}.info{font-size:12px}ul.list{list-style:none;padding:0;margin:0}ul.list li{display:block;padding:0;margin:0}ul.list a,ul.list button{display:grid;grid-template-columns:24px auto;grid-gap:16px;padding:12px;margin:8px 0;border:none;background:transparent;appearance:none;width:100%;font-weight:300;text-align:left;text-decoration:none;color:var(--text-color)}ul.list a:hover,ul.list button:hover{text-decoration:none;color:var(--text-color);background-color:var(--button-background-color-hover)}ul.list a span,ul.list button span{display:block;font-size:16px;font-weight:500;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}header{position:relative;display:grid;grid-template-columns:44px 1fr;gap:8px;padding-left:8px;border-bottom:1px solid var(--border-color);transition:opacity var(--transition-time) ease-in-out;opacity:0;pointer-events:none}header>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-home header>div{margin-right:56px}header h2{margin:7px 0 0;font-size:18px;font-weight:500;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header p{margin:2px 0 0;font-size:12px;font-weight:300;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header p button{display:block;margin:0;padding:0;width:100%;font-size:12px;font-weight:300;text-decoration:none;appearance:none;text-align:left;background-color:transparent;border:none;color:var(--primary-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header p button:hover{text-decoration:underline;color:var(--primary-color)}.builder-logo{margin:12px 0 0 8px}#close{display:block;position:absolute;appearance:none;background:transparent;border:none;border-radius:50%;margin:0;padding:0;right:4px;top:8px;width:48px;height:48px;z-index:1;opacity:.7}#close:hover{opacity:1;background-color:var(--button-background-color-hover)}#close svg{position:absolute;top:12px;left:12px;width:24px;height:24px;fill:currentColor;pointer-events:none}.back-button{position:relative;display:block;margin:7px 0 0 -2px;width:48px;height:48px;background:transparent;border:none;appearance:none;border-radius:50%}.back-button:hover{background-color:var(--button-background-color-hover)}.back-button svg{position:absolute;top:12px;left:12px;width:24px;height:24px;fill:currentColor;pointer-events:none}footer{border-top:1px solid var(--border-color);transition:opacity var(--transition-time) ease-in-out;opacity:0;pointer-events:none}section.nav-cmp-list{grid-template-rows:64px auto 120px}footer a{text-decoration:underline;color:var(--primary-color)}footer a:hover{color:var(--primary-color);text-decoration:none}.nav-list{padding:2px 0}.nav-loading{pointer-events:none}.nav-loading-icon{position:absolute;display:inline-block;top:170px;left:0;width:100%;transform:translateZ(0);pointer-events:auto;opacity:0;transition:all 50ms ease-in-out;transition-delay:50ms;pointer-events:none}.nav-loading .nav-loading-icon{opacity:.5}.nav-list h4{margin:8px 8px 8px 10px;font-size:14px;font-weight:600}.nav-list .nav-list-item+h4{margin-top:30px}.nav-list-item{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:relative;margin:2px 0;padding:8px 28px 8px 46px;width:100%;font-size:14px;font-weight:300;text-align:left;border:none;background:transparent;appearance:none}.nav-list-item:hover{background-color:var(--button-background-color-hover)}.nav-list-item-icon{position:absolute;top:4px;left:10px;width:24px;height:24px;object-fit:contain;filter:invert(100%);background-size:24px 24px;background-repeat:no-repeat;background-position:center center}.nav-list-item span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.nav-list-item:after{display:block;position:absolute;content:"";background-image:url('data:image/svg+xml,<svg width="8" height="14" viewBox="0 0 8 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L7 7L1 13" stroke="%23F2F2F2" stroke-opacity="0.5" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/></svg>');background-repeat:no-repeat;background-position:12px 9px;top:0;right:0;width:32px;height:32px;pointer-events:none}.nav-list-item-note{opacity:0;font-size:12px;padding-top:1px;text-align:right}.nav-list-item:hover .nav-list-item-note{opacity:.5}.ui-select{display:block;margin:8px 0 16px;padding:8px 16px;cursor:pointer}.ui-select h3{margin:0;font-size:14px;font-weight:500}.ui-select p{margin:8px 0;font-size:12px;font-weight:300}.ui-select .select{position:relative;margin:8px 0;border-radius:4px;padding:0;line-height:1.1;overflow:hidden;border:1px solid var(--border-color)}.ui-select select{appearance:none;background-color:transparent;border:none;outline:none;padding:8px 32px 8px 8px;margin:0;width:100%;font-size:14px;cursor:pointer;text-overflow:ellipsis;opacity:.6;color:var(--text-color)}.ui-select .select:after{content:"";top:6px;right:5px;width:24px;height:24px;position:absolute;background-image:url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="%23F2F2F2" d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"/></svg>');background-repeat:no-repeat;background-position:center;pointer-events:none;opacity:.6}.ui-select .select:hover{border-color:var(--primary-color-subdued)}.ui-text-input .select:focus-within{border-color:var(--primary-color)}.ui-text-input .select:focus-within select{opacity:1}.spinner:after{content:" ";display:block;width:32px;height:32px;margin:0 auto;pointer-events:auto;border-radius:50%;border:3px solid var(--text-color);border-color:var(--text-color) transparent var(--text-color) transparent;animation:spinner .75s linear infinite}@keyframes spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ui-switch{display:grid;grid-template-columns:auto 48px;grid-gap:20px;margin:8px 0 16px;padding:8px 0 8px 16px;cursor:pointer}.ui-switch>*{pointer-events:none}.ui-switch input{display:none;visibility:hidden}.ui-switch .switcher{display:inline-block;border-radius:100px;width:35px;height:14px;background-color:#ccc;position:relative;top:6px;vertical-align:middle;cursor:pointer}.ui-switch input[type=checkbox]:checked+.switcher{background-color:var(--primary-color-subdued)}.ui-switch .switcher:before{content:"";display:block;width:20px;height:20px;background-color:var(--text-color);box-shadow:0 1px 3px #0009;border-radius:50%;position:absolute;top:-3px;left:0;margin-right:0;transition:all .15s}.ui-switch input[type=checkbox]:checked+.switcher:before{left:100%;margin-left:-20px;background-color:var(--primary-color)}.ui-switch h3{margin:0;font-size:14px;font-weight:500}.ui-switch p{margin:4px 0 0;font-size:12px;font-weight:300}.ui-text-input{display:block;margin:8px 0 16px;padding:8px 16px;cursor:pointer}.ui-text-input h3{margin:0;font-size:14px;font-weight:500}.ui-text-input p{margin:8px 0;font-size:12px;font-weight:300}.ui-text-input .input{position:relative;margin:8px 0;border:1px solid var(--border-color);border-radius:4px;background:transparent;padding:2px;overflow:hidden}.ui-text-input input{display:block;width:235px;font-size:14px;border:none;background:transparent;padding:6px;appearance:none;color:var(--text-color);opacity:.6;outline:none}.ui-text-input .input:hover{border-color:var(--primary-color-subdued)}.ui-text-input .input:focus-within{border-color:var(--primary-color)}.ui-text-input .input:focus-within input{opacity:1}.ui-text-input .input:after{content:"";position:absolute;top:5px;right:14px;width:8px;height:17px;border:2px solid rgba(51,181,51,1);border-top:none;border-left:none;transform:rotate(45deg);opacity:0;transition:opacity 80ms ease-in-out;pointer-events:none}.ui-text-input.saved .input:after{opacity:1}.ui-toast{position:fixed;bottom:8px;left:8px;right:8px;padding:6px 12px;font-size:14px;border-radius:4px;transform:translate3d(0,150%,0);opacity:0;transition:all var(--transition-time) ease-in-out;background-color:var(--primary-color-subdued);color:var(--text-color);pointer-events:none}.ui-toast.ui-toast-show{transform:translateZ(0);opacity:1;pointer-events:auto}[data-view=nav-home] .nav-home .section-content,[data-view=nav-cmp-list] .nav-cmp-list .section-content,[data-view=nav-cmp-detail] .nav-cmp-detail .section-content,[data-view=nav-cmp-input] .nav-cmp-input .section-content,[data-view=nav-settings] .nav-settings .section-content{transform:translateZ(0);pointer-events:auto}[data-view=nav-home] .nav-home header,[data-view=nav-home] .nav-home footer,[data-view=nav-cmp-list] .nav-cmp-list header,[data-view=nav-cmp-list] .nav-cmp-list footer,[data-view=nav-cmp-detail] .nav-cmp-detail header,[data-view=nav-cmp-detail] .nav-cmp-detail footer,[data-view=nav-cmp-input] .nav-cmp-input header,[data-view=nav-cmp-input] .nav-cmp-input footer,[data-view=nav-settings] .nav-settings header,[data-view=nav-settings] .nav-settings footer{opacity:1;pointer-events:auto}[data-view=nav-cmp-list] .nav-home .section-content,[data-view=nav-cmp-detail] .nav-home .section-content,[data-view=nav-cmp-detail] .nav-cmp-list .section-content,[data-view=nav-cmp-input] .nav-home .section-content,[data-view=nav-cmp-input] .nav-cmp-list .section-content,[data-view=nav-cmp-input] .nav-cmp-detail .section-content,[data-view=nav-settings] .nav-home .section-content{transform:translate3d(-105%,0,0)}.cmp-item .nav-list-item-icon{background-image:url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20.83 16.809C20.94 16.561 21 16.289 21 16.008V7.99001C20.9994 7.64108 20.9066 7.29851 20.731 6.99699C20.5554 6.69547 20.3032 6.44571 20 6.27301L13 2.26501C12.6954 2.09103 12.3508 1.99951 12 1.99951C11.6492 1.99951 11.3046 2.09103 11 2.26501L7.988 3.99001M5.441 5.44801L4 6.27301C3.381 6.62801 3 7.28301 3 7.99101V16.009C3 16.718 3.381 17.372 4 17.726L11 21.734C11.3046 21.908 11.6492 21.9995 12 21.9995C12.3508 21.9995 12.6954 21.908 13 21.734L18.544 18.56" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 22V12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M14.532 10.538L20.73 6.95996" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M3.27002 6.95996L12 12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M3 3L21 21" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/></svg>');opacity:.3}.cmp-item.registered .nav-list-item-icon{background-image:url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21 16.008V7.99001C20.9994 7.64108 20.9066 7.29851 20.731 6.99699C20.5554 6.69547 20.3032 6.44571 20 6.27301L13 2.26501C12.6954 2.09103 12.3508 1.99951 12 1.99951C11.6492 1.99951 11.3046 2.09103 11 2.26501L4 6.27301C3.381 6.62801 3 7.28301 3 7.99101V16.009C3 16.718 3.381 17.372 4 17.726L11 21.734C11.3046 21.908 11.6492 21.9995 12 21.9995C12.3508 21.9995 12.6954 21.908 13 21.734L20 17.726C20.619 17.371 21 16.716 21 16.008Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 22V12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 12L20.73 6.95996" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M3.26999 6.95996L12 12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /></svg>');opacity:.8}.search-highlight{background-color:var(--primary-color-alpha);padding:0 2px;border-radius:2px;font-weight:500}.search-container{position:sticky;top:0;z-index:10;padding:12px 16px;background:var(--background-color);border-bottom:1px solid var(--border-color)}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:var(--text-color-secondary);pointer-events:none}.component-search-input{width:100%;height:36px;padding:8px 36px;border:1px solid var(--border-color);border-radius:6px;background:var(--input-background);color:var(--text-color);font-size:14px;transition:border-color .2s,box-shadow .2s}.component-search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-alpha)}.component-search-input::placeholder{color:var(--text-color-tertiary)}.clear-search-button{position:absolute;right:8px;padding:4px;color:var(--text-color-secondary);border:none;background:transparent;border-radius:4px;cursor:pointer;opacity:0;transition:opacity .2s,background-color .2s;display:flex;align-items:center;justify-content:center}.clear-search-button:hover{background-color:var(--hover-color)}.component-search-input:not(:placeholder-shown)+.clear-search-button{opacity:1}.no-results{padding:32px 16px;text-align:center;color:var(--text-color-secondary);font-size:14px}#cmp-detail{position:relative}.cmp-loading{pointer-events:none!important}.cmp-loading-icon{position:absolute;display:inline-block;top:170px;left:0;width:100%;transform:translateZ(0);pointer-events:auto;opacity:0;transition:all 50ms ease-in-out;transition-delay:50ms;pointer-events:none}.cmp-loading .cmp-loading-icon{opacity:.5}.cmp-cover{position:absolute;top:160px;left:0;width:100%;height:100vh;background:var(--background-color);transform:translateZ(0);pointer-events:none;display:none}[data-view=nav-cmp-detail] .cmp-cover{display:block;pointer-events:auto}.cmp-enabled .cmp-cover{transform:translate3d(0,105%,0);pointer-events:none}.section-ready .cmp-cover{transition:all var(--transition-time) ease-in-out}.cmp-detail-inputs-container{margin:8px 0 16px;padding:0}.cmp-detail-inputs-container h3{margin:0 0 6px;padding-left:16px;padding-right:8px;font-size:14px;font-weight:500;display:flex;justify-content:space-between;align-items:center}.cmp-detail-inputs-reload{font-weight:300;font-size:.9em;text-decoration:none;appearance:none;text-align:left;background-color:transparent;border:none;color:var(--primary-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmp-detail-inputs-reload:hover{text-decoration:underline;color:var(--primary-color)}.cmp-detail-inputs-container .cmp-inputs-empty{padding:0;margin-top:12px;font-size:12px;font-weight:300;opacity:.5;font-style:italic}.cmp-detail-inputs-container .nav-list-item-icon{opacity:.8;background-size:20px 20px;background-position:4px center}.input-icon{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path></svg>')}.input-icon-array{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 16v-6a2 2 0 1 1 4 0v6"></path> <path d="M10 13h4"></path></svg>')}.input-icon-boolean{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 16h2a2 2 0 1 0 0 -4h-2h2a2 2 0 1 0 0 -4h-2v8z"></path></svg>')}.input-icon-number{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 16v-8l4 8v-8"></path></svg>')}.input-icon-object{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M12 8a2 2 0 0 1 2 2v4a2 2 0 1 1 -4 0v-4a2 2 0 0 1 2 -2z"></path></svg>')}.input-icon-string{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 15a1 1 0 0 0 1 1h2a1 1 0 0 0 1 -1v-2a1 1 0 0 0 -1 -1h-2a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1"></path></svg>')}.cmp-input-item-unregistered{opacity:.4}.cmp-input-item-unregistered .input-icon:after{content:"";position:absolute;top:11px;left:4px;width:20px;height:2px;background-color:#000;transform:rotate(-45deg)}.cmp-prop-info{border-bottom:1px solid var(--border-color)}.cmp-input-readonly{margin:16px 0;padding:0 16px;display:grid;grid-template-columns:50% 50%;gap:12px}.cmp-input-readonly h3{margin:0;font-size:14px;font-weight:500}.cmp-input-readonly span{margin-top:2px;font-size:12px;font-weight:300;opacity:.8}.cmp-input-detail{margin:16px 0}.cmp-input-detail a{color:var(--primary-color);text-decoration:none}.cmp-input-detail a:hover{text-decoration:underline}.input-cover{position:absolute;top:175px;left:0;width:100%;height:100%;background:var(--background-color);transform:translateZ(0);transition:all var(--transition-time) ease-in-out;pointer-events:auto}.input-enabled .input-cover{transform:translate3d(0,105%,0);pointer-events:none}.input-loading-icon{position:absolute;display:inline-block;top:190px;left:0;width:100%;transform:translateZ(0);pointer-events:auto;opacity:0;transition:all 50ms ease-in-out;transition-delay:50ms;pointer-events:none}.input-loading .input-loading-icon{opacity:.5}:host{position:fixed;inset:0;z-index:2147483646;user-select:none;pointer-events:none;color:var(--text-color)}aside{position:absolute;top:0;right:0;width:var(--menu-width);height:100%;transform:translate3d(105%,0,0);transition:transform var(--transition-time) ease-in-out;background:var(--background-color);box-shadow:#000000c9 5px 0 20px;overflow:hidden;z-index:1}:host(.show-builder-menu) aside{pointer-events:auto;transform:translateZ(0)}#hit{position:absolute;inset:0;display:none}:host(.show-builder-menu) #hit{display:block;pointer-events:auto}#version{position:absolute;bottom:6px;right:6px;font-size:8px;color:#9b9b9b}</style><div id="hit"></div> <aside data-view="nav-home"> <section class="nav-home"> <header> <svg class="builder-logo" viewBox="0 0 31 36" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M31 9.96854C31.0016 11.4553 30.6701 12.9236 30.03 14.2654C29.3898 15.6072 28.4572 16.7884 27.3007 17.7221L0.702841 2.61812C0.601104 2.56012 0.506714 2.49008 0.421705 2.40951C0.288323 2.27871 0.182333 2.12263 0.109928 1.95039C0.0375215 1.77814 0.000151253 1.59319 0 1.40633C0 1.03335 0.148098 0.675643 0.411715 0.411905C0.675332 0.148167 1.03287 0 1.40568 0L21.036 0C23.6786 0 26.213 1.05025 28.0816 2.91972C29.9502 4.78918 31 7.32472 31 9.96854Z" fill="#18B4F4" /> <path d="M31 25.4757C31.0004 26.7849 30.7429 28.0815 30.2423 29.2912C29.7417 30.5009 29.0078 31.6001 28.0825 32.526C27.1572 33.4519 26.0587 34.1864 24.8497 34.6875C23.6406 35.1886 22.3448 35.4465 21.0361 35.4465H1.40573C1.12766 35.4436 0.856725 35.3581 0.627199 35.201C0.397672 35.044 0.219871 34.8223 0.116289 34.5641C0.0127078 34.3059 -0.011999 34.0228 0.0452946 33.7505C0.102588 33.4783 0.239308 33.2292 0.438156 33.0347C0.517415 32.9551 0.606358 32.8858 0.702893 32.8284L11.1705 26.8843L27.2984 17.7244C28.4548 18.6579 29.3874 19.8387 30.028 21.18C30.6685 22.5213 31.0007 23.9891 31 25.4757Z" fill="#FD6B3C" /> <path d="M27.3011 17.7221L11.1709 26.8843L0.703209 32.8284C0.602697 32.8843 0.509784 32.9528 0.426758 33.0323C4.41799 28.9369 6.6496 23.442 6.64456 17.7221C6.65208 12.0015 4.42111 6.50517 0.429101 2.40948C0.51411 2.49005 0.6085 2.56009 0.710237 2.61809L27.3011 17.7221Z" fill="#A97FF2" /> </svg> <div> <h2 class="builder-home-title">Builder Devtools</h2> <p><button id="go-to-builder">Go to Builder</button></p> </div> <button id="close" aria-label="Close Menu"> <svg viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" > <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M18 6l-12 12" /> <path d="M6 6l12 12" /> </svg> </button> </header> <div class="section-content"> <ul class="list"> <li> <button id="components-link"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M21 16.008V7.99001C20.9994 7.64108 20.9066 7.29851 20.731 6.99699C20.5554 6.69547 20.3032 6.44571 20 6.27301L13 2.26501C12.6954 2.09103 12.3508 1.99951 12 1.99951C11.6492 1.99951 11.3046 2.09103 11 2.26501L4 6.27301C3.381 6.62801 3 7.28301 3 7.99101V16.009C3 16.718 3.381 17.372 4 17.726L11 21.734C11.3046 21.908 11.6492 21.9995 12 21.9995C12.3508 21.9995 12.6954 21.908 13 21.734L20 17.726C20.619 17.371 21 16.716 21 16.008Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 22V12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 12L20.73 6.95996" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M3.26999 6.95996L12 12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> </svg> <span>Components</span> </button> </li> <li> <button id="settings-link"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M10.325 4.317C10.751 2.561 13.249 2.561 13.675 4.317C13.7389 4.5808 13.8642 4.82578 14.0407 5.032C14.2172 5.23822 14.4399 5.39985 14.6907 5.50375C14.9414 5.60764 15.2132 5.65085 15.4838 5.62987C15.7544 5.60889 16.0162 5.5243 16.248 5.383C17.791 4.443 19.558 6.209 18.618 7.753C18.4769 7.98466 18.3924 8.24634 18.3715 8.51677C18.3506 8.78721 18.3938 9.05877 18.4975 9.30938C18.6013 9.55999 18.7627 9.78258 18.9687 9.95905C19.1747 10.1355 19.4194 10.2609 19.683 10.325C21.439 10.751 21.439 13.249 19.683 13.675C19.4192 13.7389 19.1742 13.8642 18.968 14.0407C18.7618 14.2172 18.6001 14.4399 18.4963 14.6907C18.3924 14.9414 18.3491 15.2132 18.3701 15.4838C18.3911 15.7544 18.4757 16.0162 18.617 16.248C19.557 17.791 17.791 19.558 16.247 18.618C16.0153 18.4769 15.7537 18.3924 15.4832 18.3715C15.2128 18.3506 14.9412 18.3938 14.6906 18.4975C14.44 18.6013 14.2174 18.7627 14.0409 18.9687C13.8645 19.1747 13.7391 19.4194 13.675 19.683C13.249 21.439 10.751 21.439 10.325 19.683C10.2611 19.4192 10.1358 19.1742 9.95929 18.968C9.7828 18.7618 9.56011 18.6001 9.30935 18.4963C9.05859 18.3924 8.78683 18.3491 8.51621 18.3701C8.24559 18.3911 7.98375 18.4757 7.752 18.617C6.209 19.557 4.442 17.791 5.382 16.247C5.5231 16.0153 5.60755 15.7537 5.62848 15.4832C5.64942 15.2128 5.60624 14.9412 5.50247 14.6906C5.3987 14.44 5.23726 14.2174 5.03127 14.0409C4.82529 13.8645 4.58056 13.7391 4.317 13.675C2.561 13.249 2.561 10.751 4.317 10.325C4.5808 10.2611 4.82578 10.1358 5.032 9.95929C5.23822 9.7828 5.39985 9.56011 5.50375 9.30935C5.60764 9.05859 5.65085 8.78683 5.62987 8.51621C5.60889 8.24559 5.5243 7.98375 5.383 7.752C4.443 6.209 6.209 4.442 7.753 5.382C8.753 5.99 10.049 5.452 10.325 4.317Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M9 12C9 12.7956 9.31607 13.5587 9.87868 14.1213C10.4413 14.6839 11.2044 15 12 15C12.7956 15 13.5587 14.6839 14.1213 14.1213C14.6839 13.5587 15 12.7956 15 12C15 11.2044 14.6839 10.4413 14.1213 9.87868C13.5587 9.31607 12.7956 9 12 9C11.2044 9 10.4413 9.31607 9.87868 9.87868C9.31607 10.4413 9 11.2044 9 12Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> </svg> <span>Settings</span> </button> </li> <li> <button id="add-page-link"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" > <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M14 3v4a1 1 0 0 0 1 1h4" /> <path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z" /> <path d="M12 11l0 6" /> <path d="M9 14l6 0" /> </svg> <span>Add Builder Page</span> </button> </li> <li> <button id="import-from-figma"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-figma" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" > <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M15 12m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" /> <path d="M6 3m0 3a3 3 0 0 1 3 -3h6a3 3 0 0 1 3 3v0a3 3 0 0 1 -3 3h-6a3 3 0 0 1 -3 -3z" /> <path d="M9 9a3 3 0 0 0 0 6h3m-3 0a3 3 0 1 0 3 3v-15" /> </svg> <span>Import From Figma</span> </button> </li> </ul> </div> <footer> <ul class="list"> <li> <a href="https://docs.google.com/forms/d/e/1FAIpQLSdqZcJpRtm_Ia5DTHP6SDY9Xa6LID3KiTjRWkjMzWyJRUtSHw/viewform" target="_blank" > <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M11.013 17.0114L10.013 18.0114L2.513 10.5834C2.0183 10.102 1.62864 9.52342 1.36854 8.88404C1.10845 8.24466 0.983558 7.55836 1.00173 6.86834C1.01991 6.17832 1.18076 5.49954 1.47415 4.87474C1.76755 4.24994 2.18713 3.69266 2.70648 3.23799C3.22583 2.78331 3.8337 2.4411 4.49181 2.23289C5.14991 2.02468 5.844 1.95499 6.53036 2.02821C7.21673 2.10143 7.8805 2.31596 8.47987 2.65831C9.07925 3.00066 9.60124 3.46341 10.013 4.01741C10.8086 2.95654 11.9931 2.2552 13.3059 2.06766C14.6186 1.88012 15.9521 2.22176 17.013 3.01741C18.0739 3.81306 18.7752 4.99755 18.9627 6.3103C19.1503 7.62305 18.8086 8.95654 18.013 10.0174" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> <path d="M18.2006 19.8175L16.0286 20.9555C15.9642 20.989 15.8917 21.004 15.8192 20.9987C15.7467 20.9934 15.6771 20.9681 15.6182 20.9256C15.5593 20.8831 15.5134 20.825 15.4855 20.7579C15.4577 20.6907 15.4491 20.6172 15.4606 20.5455L15.8756 18.1345L14.1186 16.4275C14.0662 16.3768 14.0291 16.3123 14.0115 16.2416C13.9939 16.1708 13.9966 16.0965 14.0192 16.0271C14.0418 15.9578 14.0835 15.8962 14.1394 15.8494C14.1954 15.8026 14.2634 15.7725 14.3356 15.7625L16.7636 15.4105L17.8496 13.2175C17.8821 13.1521 17.9322 13.0972 17.9942 13.0588C18.0562 13.0204 18.1277 13 18.2006 13C18.2736 13 18.3451 13.0204 18.4071 13.0588C18.4691 13.0972 18.5191 13.1521 18.5516 13.2175L19.6376 15.4105L22.0656 15.7625C22.1377 15.7728 22.2054 15.8031 22.2611 15.85C22.3168 15.8968 22.3583 15.9583 22.3809 16.0275C22.4034 16.0967 22.4062 16.1708 22.3888 16.2415C22.3715 16.3122 22.3347 16.3766 22.2826 16.4275L20.5256 18.1345L20.9396 20.5445C20.9521 20.6163 20.9441 20.6902 20.9166 20.7578C20.8891 20.8254 20.8433 20.8839 20.7842 20.9267C20.7252 20.9695 20.6553 20.9949 20.5825 21C20.5098 21.005 20.4371 20.9896 20.3726 20.9555L18.2006 19.8175Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> </svg> <span>Give Feedback</span> </a> </li> </ul> <div id="version"></div> </footer> </section> <section class="nav-cmp-list"> <header> <button class="back-button"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div class="search-container"> <div class="search-input-wrapper"> <svg class="search-icon" viewBox="0 0 24 24" width="16" height="16"> <path fill="none" stroke="currentColor" stroke-width="2" d="M15.5 15.5L20 20M10 17C6.13401 17 3 13.866 3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10C17 13.866 13.866 17 10 17Z" /> </svg> <input type="text" id="component-search" class="component-search-input" placeholder="Search components..." autocomplete="off" spellcheck="false" /> <button id="clear-search" class="clear-search-button" type="button" aria-label="Clear search" > <svg viewBox="0 0 24 24" width="16" height="16"> <path fill="none" stroke="currentColor" stroke-width="2" d="M6 6l12 12M6 18L18 6" /> </svg> </button> </div> </div> <div> <h2>Custom Components</h2> <p> <button id="open-builder-registry"></button> </p> </div> </header> <div class="section-content"> <div id="cmp-list" class="cmp-list nav-list"></div> </div> <div class="nav-loading-icon spinner"></div> <footer> <p class="info"> Expand on Builder's selection of built-in blocks by <a target="_blank" href="https://www.builder.io/c/docs/custom-components-intro" >registering components</a > from your codebase. This way, teammates can drag and drop your components within Builder's Visual Editor just like any other block. </p> </footer> </section> <section class="nav-cmp-detail"> <header> <button class="back-button" data-back="nav-cmp-list"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div> <h2 id="cmp-detail-title"></h2> <p> <button id="cmp-open-source"></button> </p> </div> </header> <div class="section-content"> <div id="cmp-error"></div> <label class="ui-switch"> <div> <h3>Register Component</h3> <p> Registers this component so it can be used within Builder Visual CMS </p> </div> <input type="checkbox" role="switch" id="cmp-register" /> <span class="switcher"></span> </label> <div id="cmp-detail"> <label class="ui-text-input"> <h3>Component Name</h3> <div class="input"> <input type="text" id="cmp-name" autocapitalize="off" autocorrect="off" spellcheck="false" autocomplete="off" minlength="2" maxlength="30" required placeholder="e.g. My Counter" /> </div> <p> Unique name to identify this custom component within Builder. Press ESC to cancel </p> </label> <div class="cmp-detail-inputs-container"> <h3> <span>Builder Inputs (Props)</span> <button class="cmp-detail-inputs-reload" id="btn-inputs-reload"> Reload </button> </h3> <div id="cmp-detail-inputs"></div> </div> </div> </div> <div class="cmp-cover"></div> <div class="cmp-loading-icon spinner"></div> </section> <section class="nav-cmp-input"> <header> <button class="back-button" data-back="nav-cmp-detail"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div> <h2 id="cmp-input-title"></h2> <p> <button id="input-open-source"></button> </p> </div> </header> <div class="section-content"> <label class="ui-switch"> <div> <h3>Enable Input</h3> <p>Add this component prop as a Builder input</p> </div> <input type="checkbox" role="switch" id="input-register" /> <span class="switcher"></span> </label> <div class="cmp-prop-info"> <div class="cmp-input-readonly"> <h3>Prop Name</h3> <span id="cmp-prop-name"></span> </div> <div class="cmp-input-readonly"> <h3>Prop Type</h3> <span id="cmp-prop-type"></span> </div> </div> <div class="cmp-input-detail"> <label class="ui-text-input"> <h3>Builder Input Name</h3> <div class="input"> <input type="text" id="input-name" autocapitalize="off" autocorrect="off" spellcheck="false" autocomplete="off" minlength="1" maxlength="30" required placeholder="e.g. Text" /> </div> <p> Friendly name to identify this component prop as a Builder input. Press ESC to cancel </p> </label> <label class="ui-select"> <h3>Builder Input Type</h3> <div class="select"> <select id="input-type"></select> </div> <p> Correlate to what editing UI is appropriate for this Builder input. <a href="https://www.builder.io/c/docs/custom-components-input-types" target="_blank" >Read more about input types.</a > </p> </label> </div> <div class="input-cover"></div> <div class="input-loading-icon spinner"></div> </div> </section> <section class="nav-settings"> <header> <button class="back-button"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div> <h2>Settings</h2> <p>Configure Builder's Devtools</p> </div> </header> <div class="section-content"> <label class="ui-switch"> <div> <h3>Enable edit button in UI</h3> <p>Enables the edit button so you can edit content in Builder</p> </div> <input type="checkbox" role="switch" id="enable-edit" /> <span class="switcher"></span> </label> </div> </section> <div class="ui-toast" id="toast"></div> </aside> <button class="menu-toggle" aria-label="Toggle Builder Devtools"> <div> <div class="highlight-bg"></div> <svg viewBox="0 0 31 36" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M31 9.96854C31.0016 11.4553 30.6701 12.9236 30.03 14.2654C29.3898 15.6072 28.4572 16.7884 27.3007 17.7221L0.702841 2.61812C0.601104 2.56012 0.506714 2.49008 0.421705 2.40951C0.288323 2.27871 0.182333 2.12263 0.109928 1.95039C0.0375215 1.77814 0.000151253 1.59319 0 1.40633C0 1.03335 0.148098 0.675643 0.411715 0.411905C0.675332 0.148167 1.03287 0 1.40568 0L21.036 0C23.6786 0 26.213 1.05025 28.0816 2.91972C29.9502 4.78918 31 7.32472 31 9.96854Z" fill="#18B4F4" /> <path d="M31 25.4757C31.0004 26.7849 30.7429 28.0815 30.2423 29.2912C29.7417 30.5009 29.0078 31.6001 28.0825 32.526C27.1572 33.4519 26.0587 34.1864 24.8497 34.6875C23.6406 35.1886 22.3448 35.4465 21.0361 35.4465H1.40573C1.12766 35.4436 0.856725 35.3581 0.627199 35.201C0.397672 35.044 0.219871 34.8223 0.116289 34.5641C0.0127078 34.3059 -0.011999 34.0228 0.0452946 33.7505C0.102588 33.4783 0.239308 33.2292 0.438156 33.0347C0.517415 32.9551 0.606358 32.8858 0.702893 32.8284L11.1705 26.8843L27.2984 17.7244C28.4548 18.6579 29.3874 19.8387 30.028 21.18C30.6685 22.5213 31.0007 23.9891 31 25.4757Z" fill="#FD6B3C" /> <path d="M27.3011 17.7221L11.1709 26.8843L0.703209 32.8284C0.602697 32.8843 0.509784 32.9528 0.426758 33.0323C4.41799 28.9369 6.6496 23.442 6.64456 17.7221C6.65208 12.0015 4.42111 6.50517 0.429101 2.40948C0.51411 2.49005 0.6085 2.56009 0.710237 2.61809L27.3011 17.7221Z" fill="#A97FF2" /> </svg> </div> </button>\`,Nr(e),Br(e),Ur(e),Ar(e),Dr(e),Fr(e),this.setAttribute("aria-hidden","true"),e.getElementById("version").textContent="v1.5.6"}highlightOpener(){let e=this.shadowRoot.querySelector(".menu-toggle");e.classList.add("menu-toggle-highlight"),e.classList.add("menu-toggle-highlight-no-transition"),setTimeout(()=>{e.classList.remove("menu-toggle-highlight-no-transition"),setTimeout(()=>{e.classList.remove("menu-toggle-highlight")},20)},20)}};var ki=\`<style>*,*:before,*:after{box-sizing:border-box}html,body,:host{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:2147483646;margin:0;padding:0;line-height:1.8;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";background-color:#252525;color:#fff;transition:opacity .25s ease-in-out}:host([aria-hidden="true"]){opacity:0;pointer-events:none}main{position:absolute;top:0;left:0;width:100%;height:100vh}h1{margin-top:0;font-size:24px;font-weight:300;line-height:1.4}p{margin:20px 0;font-weight:300}button{cursor:pointer}aside{position:absolute;top:0;left:0;width:350px;height:100vh;padding:60px 0 0 50px;background-color:#121212}aside ul{margin:30px 0 0;padding:0;list-style:none}aside li{position:relative;margin:0;padding:20px 10px;font-weight:300}aside li.highlight{color:#48a1ff}aside li.active{font-weight:700}aside li .circle{position:absolute;top:20px;left:10px;width:24px;height:24px;border:3px solid white;border-radius:50%;font-size:14px}aside li.highlight .circle{border-color:#48a1ff}aside li.active .circle:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background-color:#48a1ff}aside li.completed .circle{background-color:#48a1ff}aside li.completed .circle:after{content:"";position:absolute;top:2px;left:6px;width:6px;height:13px;border:3px solid black;border-top:none;border-left:none;transform:rotate(45deg)}aside li .line{position:absolute;top:44px;left:21px;width:3px;height:45px;background-color:#fff}aside li.completed .line{background-color:#48a1ff}aside li span{display:block;margin-left:44px}nav{margin-top:30px}section{position:absolute;top:135px;left:350px;padding:0 80px 0 140px;transition:opacity .15s ease-in-out}section[aria-hidden=true]{pointer-events:none;opacity:0}section h1,section p{min-width:300px;max-width:600px}.button{position:relative;display:inline-block;color:#fff;background-color:#48a1ff;border-radius:4px;text-decoration:none;padding:10px 40px 10px 20px;white-space:nowrap}.button:hover{background-color:#48a1ffd9}#button-icon{position:absolute;top:1px;right:5px;bottom:0;width:30px;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="none" stroke="white" stroke-linecap="square" stroke-miterlimit="10" stroke-width="48" d="M184 112l144 144-144 144"/></svg>');background-repeat:no-repeat;background-position:center;background-size:24px 24px}.button[aria-disabled=true]{opacity:.9;background-color:#ffffff4d;pointer-events:none;padding-right:60px}.button[aria-disabled=true] #button-icon{top:21px;right:29px;width:8px;height:8px;border-radius:4px;background:#fff;color:#fff;animation:dot-flashing .5s infinite linear alternate;animation-delay:.25s}.button[aria-disabled=true] #button-icon:before,.button[aria-disabled=true] #button-icon:after{content:"";display:inline-block;position:absolute;top:0}.button[aria-disabled=true] #button-icon:before{left:-12px;width:8px;height:8px;border-radius:4px;background-color:#fff;color:#fff;animation:dot-flashing .5s infinite alternate;animation-delay:0s}.button[aria-disabled=true] #button-icon:after{left:12px;width:8px;height:8px;border-radius:4px;background-color:#fff;color:#fff;animation:dot-flashing .5s infinite alternate;animation-delay:.5s}@keyframes dot-flashing{0%{background-color:#fff}50%,to{background-color:#ffffff4d}}.logo{margin-left:9px;background:url('data:image/svg+xml,<svg viewBox="0 0 150 32" fill="none" xmlns="http://www.w3.org/2000/svg" > <g clip-path="url(%23clip0_4_304)"> <path d="M27.9858 8.99927C27.9872 10.3415 27.688 11.667 27.1101 12.8783C26.5321 14.0896 25.6902 15.156 24.6462 15.9989V15.9989L0.634502 2.36355C0.542657 2.31119 0.457444 2.24796 0.380701 2.17523C0.260289 2.05715 0.164605 1.91624 0.0992389 1.76075C0.0338732 1.60525 0.000136546 1.43828 0 1.26959C0 0.932873 0.133698 0.609948 0.371683 0.371854C0.609667 0.13376 0.932443 0 1.269 0L18.9906 0C21.3763 0 23.6642 0.948135 25.3512 2.63583C27.0381 4.32352 27.9858 6.61252 27.9858 8.99927V8.99927Z" fill="%2318B4F4" /> <path d="M27.9858 22.9986C27.9861 24.1806 27.7536 25.351 27.3017 26.4431C26.8498 27.5352 26.1873 28.5275 25.352 29.3634C24.5167 30.1993 23.5249 30.8624 22.4335 31.3147C21.342 31.7671 20.1721 32 18.9907 32H1.26906C1.01802 31.9973 0.77343 31.9202 0.566221 31.7784C0.359012 31.6366 0.198499 31.4364 0.104989 31.2034C0.0114791 30.9703 -0.0108254 30.7147 0.0408974 30.4689C0.0926201 30.2231 0.216046 29.9982 0.395559 29.8226V29.8226C0.467112 29.7508 0.547407 29.6882 0.634555 29.6364L10.0844 24.2703L24.6441 16.001C25.688 16.8438 26.53 17.9097 27.1083 19.1206C27.6866 20.3315 27.9864 21.6566 27.9858 22.9986V22.9986Z" fill="%23FD6B3C" /> <path d="M24.6461 15.9989L10.0843 24.2703L0.634458 29.6365C0.54372 29.6868 0.459841 29.7487 0.384888 29.8205C3.98804 26.1233 6.00266 21.1627 5.99812 15.9989C6.0049 10.8346 3.99085 5.87268 0.387003 2.17523C0.463746 2.24796 0.548959 2.31119 0.640803 2.36355L24.6461 15.9989Z" fill="%23A97FF2" /> <path d="M47.6659 11.7352C51.8177 11.7352 54.1632 15.0531 54.1632 19.0714C54.1632 23.0896 51.8177 26.3821 47.6659 26.3821C45.5086 26.3821 43.8589 25.5188 42.9473 24.0545L42.5709 26.052H39.9736V6.77115H43.1884V13.8914C43.971 12.6959 45.5086 11.7352 47.6659 11.7352ZM47.0187 23.5488C49.4446 23.5488 50.9547 21.5809 50.9547 19.0714C50.9547 16.5089 49.4446 14.5664 47.0187 14.5664C44.5928 14.5664 43.0806 16.5047 43.0806 19.0714C43.0806 21.583 44.5653 23.5488 47.0187 23.5488V23.5488Z" fill="white" /> <path d="M65.4595 20.2859V12.0611H68.668V20.123C68.668 23.7202 67.0246 26.3821 62.4943 26.3821C57.9639 26.3821 56.3206 23.7117 56.3206 20.123V12.0611H59.529V20.2859C59.529 22.4696 60.5527 23.5488 62.49 23.5488C64.4274 23.5488 65.4595 22.4696 65.4595 20.2859Z" fill="white" /> <path d="M71.2355 7.74451C71.2247 7.46284 71.2724 7.18199 71.3755 6.91968C71.4787 6.65737 71.6351 6.41929 71.8348 6.22047C72.0345 6.02165 72.2732 5.8664 72.5359 5.76452C72.7986 5.66264 73.0796 5.61633 73.3611 5.62853C74.5793 5.62853 75.4571 6.50666 75.4571 7.75509C75.4571 9.00352 74.5793 9.8224 73.3611 9.8224C72.1428 9.8224 71.2355 8.9612 71.2355 7.74451Z" fill="white" /> <path d="M128.476 7.74451C128.465 7.46376 128.513 7.18383 128.615 6.92227C128.718 6.66071 128.873 6.42315 129.072 6.22449C129.27 6.02583 129.508 5.87035 129.769 5.7678C130.031 5.66524 130.31 5.61783 130.591 5.62852C131.809 5.62852 132.687 6.50666 132.687 7.75509C132.687 9.00352 131.809 9.8224 130.591 9.8224C129.373 9.8224 128.476 8.9612 128.476 7.74451Z" fill="white" /> <path d="M122.302 24.1031C122.291 23.8223 122.339 23.5422 122.441 23.2805C122.543 23.0188 122.699 22.7811 122.897 22.5824C123.096 22.3837 123.334 22.2282 123.595 22.1258C123.857 22.0233 124.137 21.9761 124.417 21.9872C125.636 21.9872 126.513 22.8653 126.513 24.1031C126.513 25.341 125.636 26.1726 124.417 26.1726C123.199 26.1726 122.302 25.3219 122.302 24.1031Z" fill="white" /> <path d="M74.9516 12.059H71.7432V26.0583H74.9516V12.059Z" fill="white" /> <path d="M78.16 26.0583V6.77115H81.3685V26.0626L78.16 26.0583Z" fill="white" /> <path d="M94.6063 6.77115H97.8148V26.0626H95.2239L94.8474 24.0651C93.9591 25.523 92.3094 26.3927 90.131 26.3927C86.0046 26.3927 83.6591 23.0748 83.6591 19.0819C83.6591 15.0891 86.0046 11.7458 90.131 11.7458C92.3137 11.7458 93.8238 12.7149 94.6063 13.902V6.77115ZM90.7993 14.5707C88.3734 14.5707 86.8633 16.5131 86.8633 19.0756C86.8633 21.5851 88.3734 23.553 90.7993 23.553C93.2252 23.553 94.7354 21.5851 94.7354 19.0756C94.7396 16.5047 93.257 14.5664 90.8036 14.5664L90.7993 14.5707Z" fill="white" /> <path d="M113.479 22.2284C112.482 24.7359 110.162 26.3821 107.117 26.3821C102.887 26.3821 100.137 23.225 100.137 19.0439C100.137 14.9706 102.942 11.7353 107.093 11.7353C111.245 11.7353 113.969 14.8902 113.969 18.991C113.982 19.3255 113.953 19.6604 113.883 19.9876H103.288C103.53 22.2009 104.959 23.6292 107.197 23.6292C108.735 23.6292 110.001 22.8738 110.594 21.473L113.479 22.2284ZM103.341 17.6156H110.784C110.513 15.6731 109.166 14.3506 107.089 14.3506C105.012 14.3506 103.665 15.7006 103.341 17.6156V17.6156Z" fill="white" /> <path d="M123.779 14.9452C123.538 14.9117 123.295 14.8933 123.051 14.8902C120.786 14.8902 119.439 16.0772 119.439 18.7751V26.0583H116.23V12.0611H118.821L119.195 14.0014C119.707 13.1127 120.887 11.9257 123.322 11.9257C123.455 11.9257 123.779 11.9532 123.779 11.9532V14.9452Z" fill="white" /> <path d="M132.192 12.059H128.984V26.0583H132.192V12.059Z" fill="white" /> <path d="M134.483 19.0714C134.483 15.1335 137.287 11.7353 141.735 11.7353C146.183 11.7353 149.015 15.1335 149.015 19.0714C149.015 23.0092 146.213 26.3821 141.735 26.3821C137.258 26.3821 134.483 23.0092 134.483 19.0714ZM141.735 23.5488C144.083 23.5488 145.806 21.7692 145.806 19.0714C145.806 16.3735 144.083 14.5664 141.735 14.5664C139.387 14.5664 137.687 16.346 137.687 19.0714C137.687 21.7968 139.417 23.5488 141.735 23.5488V23.5488Z" fill="white" /> </g> <defs> <clipPath id="clip0_4_304"> <rect width="149.015" height="32" fill="white" /> </clipPath> </defs> </svg>');background-repeat:no-repeat;width:150px;height:32px}@media (max-width: 840px){aside{width:250px;padding:60px 0 0 20px}section{left:250px;padding:0 80px}}@media (max-width: 590px){aside{width:230px;padding:60px 0 0 10px}section{left:230px;padding:0 40px}}#modified-files-message a{color:#cbcbcb;font-weight:300;text-decoration:underline}#modified-files-message a:hover{color:#fff;text-decoration:none}#restart-warning{border-radius:4px;padding:8px 16px;border:1px solid #fd6b3c;background:#fd6b3c1a}#react-router-steps{margin:0 0 5px;padding:0 20px}#need-help{color:#48a1ff;text-decoration:none}#router-message{border-radius:4px;padding:16px;border:1px solid #48a1ff}#router-finish-button{margin-top:12px}#router-checkbox-div{display:flex;align-items:center}#router-checkbox{margin-right:10px;width:15px;height:15px}#success-title{display:flex;align-items:center;gap:10px}#success-title .check-icon{display:inline-block;width:24px;height:24px;border:2px solid #28a745;border-radius:50%;position:relative}#success-title .check-icon:before{content:"";position:absolute;top:50%;left:50%;width:6px;height:12px;border:solid #28a745;border-width:0 2px 2px 0;transform:translate(-50%,-60%) rotate(45deg)}
|
|
42
|
+
\`,t.appendChild(e),setTimeout(()=>{e.classList.add("menu-toggle-tooltip-show"),e.addEventListener("click",()=>{e.classList.remove("menu-toggle-tooltip-show")})},1e3)};function Br(t){t.getElementById("go-to-builder").addEventListener("click",s=>{s.preventDefault(),s.stopPropagation(),ue(t,!1),window.open(mn(),"builder")}),t.getElementById("components-link").addEventListener("click",s=>{s.preventDefault(),s.stopPropagation();let u=t.querySelector(".nav-cmp-list .section-content");u.scrollTop=0,W(t,"nav-cmp-list"),Mr(t)}),t.getElementById("settings-link").addEventListener("click",s=>{s.preventDefault(),s.stopPropagation(),W(t,"nav-settings")}),t.getElementById("add-page-link").addEventListener("click",s=>{s.preventDefault(),s.stopPropagation(),ue(t,!1),window.open(Ee(),"builder")}),t.getElementById("import-from-figma").addEventListener("click",s=>{s.preventDefault(),s.stopPropagation(),ue(t,!1),window.open("https://www.figma.com/community/plugin/747985167520967365/builder-io-ai-powered-figma-to-code-react-vue-tailwind-more")})}function Fr(t){let e=t.getElementById("enable-edit");e.addEventListener("change",n=>{n.stopPropagation(),bt(e.checked)}),e.checked=ke(),bt(e.checked)}var lt=class extends HTMLElement{constructor(){super()}connectedCallback(){let e=this.attachShadow({mode:"open"});e.innerHTML=\`<style>*,*:before,*:after{box-sizing:border-box}:host{--background-color: rgba(40, 40, 40, 1);--primary-color: rgba(72, 161, 255, 1);--primary-color-subdued: rgb(72, 161, 255, .6);--primary-color-highlight: rgb(126, 188, 255);--primary-contrast-color: white;--edit-color: #1d74e2;--edit-color-highlight: #1c6bd1;--edit-color-alpha: rgb(72, 161, 255, .15);--error-color: #ff2b55;--text-color: white;--text-color-highlight: white;--border-color: #454545;--button-background-color-hover: rgba(255, 255, 255, .1);--menu-width: 320px;--transition-time: .15s;--font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";font-family:var(--font-family);line-height:1.6}button{cursor:pointer;color:var(--text-color);-webkit-tap-highlight-color:transparent}input,select,button{font-family:var(--font-family)}.menu-toggle{position:absolute;right:0;bottom:0;pointer-events:auto;padding:8px;background:transparent;border:none;appearance:none}.menu-toggle div{position:relative;width:64px;height:64px;pointer-events:none;border-radius:50%;background:#000;border:1px solid white;box-shadow:#00000054 0 0 8px}.menu-toggle:hover div{background-color:var(--background-color);border:1px solid rgb(220,220,220)}.menu-toggle svg{position:absolute;top:15px;left:15px;width:33px;height:32px}div.highlight-bg{position:absolute;top:-1px;left:-1px;background-color:#1a1a1a;pointer-events:none;transition:all .4s ease-out;opacity:0}.menu-toggle-highlight-no-transition div.highlight-bg{transition:none}.menu-toggle-highlight div.highlight-bg{opacity:1}.menu-toggle-tooltip{position:absolute;bottom:0;right:0;width:382px;height:72px;padding:0;text-align:left;appearance:none;background-color:transparent;border:none;pointer-events:none;transform:translate3d(320px,0,0);opacity:0;transition:all .15s ease-in-out;color:#fff}.menu-toggle-tooltip.menu-toggle-tooltip-show{pointer-events:auto;opacity:1;transform:translateZ(0)}.menu-toggle-tooltip-content{position:absolute;inset:0 95px 10px 0;padding:8px 12px;background-color:var(--primary-color);box-shadow:#00000054 0 0 20px;border-radius:2px}.menu-toggle-tooltip-content:before{content:"";position:absolute;bottom:15px;right:-6px;width:30px;height:30px;background-color:var(--primary-color);transform:rotate(45deg)}.menu-toggle-tooltip:hover .menu-toggle-tooltip-content,.menu-toggle-tooltip:hover .menu-toggle-tooltip-content:before{background-color:var(--primary-color-highlight)}.menu-toggle-tooltip-content h3{margin:0;font-size:16px}.menu-toggle-tooltip-content p{margin:0;font-size:12px}section{position:absolute;display:grid;grid-template-rows:64px auto 64px;top:0;left:0;width:100%;height:100%;padding:0;pointer-events:none}.section-content{margin:0;padding:0 0 10px;font-weight:300;transform:translate3d(105%,0,0);transition:transform var(--transition-time) ease-in-out;overflow-y:auto}.section-content .error{color:var(--error-color);font-weight:700}section a{text-decoration:none;color:var(--text-color)}section h3,section p{margin-left:16px;margin-right:16px}.info{font-size:12px}ul.list{list-style:none;padding:0;margin:0}ul.list li{display:block;padding:0;margin:0}ul.list a,ul.list button{display:grid;grid-template-columns:24px auto;grid-gap:16px;padding:12px;margin:8px 0;border:none;background:transparent;appearance:none;width:100%;font-weight:300;text-align:left;text-decoration:none;color:var(--text-color)}ul.list a:hover,ul.list button:hover{text-decoration:none;color:var(--text-color);background-color:var(--button-background-color-hover)}ul.list a span,ul.list button span{display:block;font-size:16px;font-weight:500;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}header{position:relative;display:grid;grid-template-columns:44px 1fr;gap:8px;padding-left:8px;border-bottom:1px solid var(--border-color);transition:opacity var(--transition-time) ease-in-out;opacity:0;pointer-events:none}header>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-home header>div{margin-right:56px}header h2{margin:7px 0 0;font-size:18px;font-weight:500;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header p{margin:2px 0 0;font-size:12px;font-weight:300;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header p button{display:block;margin:0;padding:0;width:100%;font-size:12px;font-weight:300;text-decoration:none;appearance:none;text-align:left;background-color:transparent;border:none;color:var(--primary-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header p button:hover{text-decoration:underline;color:var(--primary-color)}.builder-logo{margin:12px 0 0 8px}#close{display:block;position:absolute;appearance:none;background:transparent;border:none;border-radius:50%;margin:0;padding:0;right:4px;top:8px;width:48px;height:48px;z-index:1;opacity:.7}#close:hover{opacity:1;background-color:var(--button-background-color-hover)}#close svg{position:absolute;top:12px;left:12px;width:24px;height:24px;fill:currentColor;pointer-events:none}.back-button{position:relative;display:block;margin:7px 0 0 -2px;width:48px;height:48px;background:transparent;border:none;appearance:none;border-radius:50%}.back-button:hover{background-color:var(--button-background-color-hover)}.back-button svg{position:absolute;top:12px;left:12px;width:24px;height:24px;fill:currentColor;pointer-events:none}footer{border-top:1px solid var(--border-color);transition:opacity var(--transition-time) ease-in-out;opacity:0;pointer-events:none}section.nav-cmp-list{grid-template-rows:64px auto 120px}footer a{text-decoration:underline;color:var(--primary-color)}footer a:hover{color:var(--primary-color);text-decoration:none}.nav-list{padding:2px 0}.nav-loading{pointer-events:none}.nav-loading-icon{position:absolute;display:inline-block;top:170px;left:0;width:100%;transform:translateZ(0);pointer-events:auto;opacity:0;transition:all 50ms ease-in-out;transition-delay:50ms;pointer-events:none}.nav-loading .nav-loading-icon{opacity:.5}.nav-list h4{margin:8px 8px 8px 10px;font-size:14px;font-weight:600}.nav-list .nav-list-item+h4{margin-top:30px}.nav-list-item{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:relative;margin:2px 0;padding:8px 28px 8px 46px;width:100%;font-size:14px;font-weight:300;text-align:left;border:none;background:transparent;appearance:none}.nav-list-item:hover{background-color:var(--button-background-color-hover)}.nav-list-item-icon{position:absolute;top:4px;left:10px;width:24px;height:24px;object-fit:contain;filter:invert(100%);background-size:24px 24px;background-repeat:no-repeat;background-position:center center}.nav-list-item span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.nav-list-item:after{display:block;position:absolute;content:"";background-image:url('data:image/svg+xml,<svg width="8" height="14" viewBox="0 0 8 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L7 7L1 13" stroke="%23F2F2F2" stroke-opacity="0.5" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/></svg>');background-repeat:no-repeat;background-position:12px 9px;top:0;right:0;width:32px;height:32px;pointer-events:none}.nav-list-item-note{opacity:0;font-size:12px;padding-top:1px;text-align:right}.nav-list-item:hover .nav-list-item-note{opacity:.5}.ui-select{display:block;margin:8px 0 16px;padding:8px 16px;cursor:pointer}.ui-select h3{margin:0;font-size:14px;font-weight:500}.ui-select p{margin:8px 0;font-size:12px;font-weight:300}.ui-select .select{position:relative;margin:8px 0;border-radius:4px;padding:0;line-height:1.1;overflow:hidden;border:1px solid var(--border-color)}.ui-select select{appearance:none;background-color:transparent;border:none;outline:none;padding:8px 32px 8px 8px;margin:0;width:100%;font-size:14px;cursor:pointer;text-overflow:ellipsis;opacity:.6;color:var(--text-color)}.ui-select .select:after{content:"";top:6px;right:5px;width:24px;height:24px;position:absolute;background-image:url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill="%23F2F2F2" d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"/></svg>');background-repeat:no-repeat;background-position:center;pointer-events:none;opacity:.6}.ui-select .select:hover{border-color:var(--primary-color-subdued)}.ui-text-input .select:focus-within{border-color:var(--primary-color)}.ui-text-input .select:focus-within select{opacity:1}.spinner:after{content:" ";display:block;width:32px;height:32px;margin:0 auto;pointer-events:auto;border-radius:50%;border:3px solid var(--text-color);border-color:var(--text-color) transparent var(--text-color) transparent;animation:spinner .75s linear infinite}@keyframes spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ui-switch{display:grid;grid-template-columns:auto 48px;grid-gap:20px;margin:8px 0 16px;padding:8px 0 8px 16px;cursor:pointer}.ui-switch>*{pointer-events:none}.ui-switch input{display:none;visibility:hidden}.ui-switch .switcher{display:inline-block;border-radius:100px;width:35px;height:14px;background-color:#ccc;position:relative;top:6px;vertical-align:middle;cursor:pointer}.ui-switch input[type=checkbox]:checked+.switcher{background-color:var(--primary-color-subdued)}.ui-switch .switcher:before{content:"";display:block;width:20px;height:20px;background-color:var(--text-color);box-shadow:0 1px 3px #0009;border-radius:50%;position:absolute;top:-3px;left:0;margin-right:0;transition:all .15s}.ui-switch input[type=checkbox]:checked+.switcher:before{left:100%;margin-left:-20px;background-color:var(--primary-color)}.ui-switch h3{margin:0;font-size:14px;font-weight:500}.ui-switch p{margin:4px 0 0;font-size:12px;font-weight:300}.ui-text-input{display:block;margin:8px 0 16px;padding:8px 16px;cursor:pointer}.ui-text-input h3{margin:0;font-size:14px;font-weight:500}.ui-text-input p{margin:8px 0;font-size:12px;font-weight:300}.ui-text-input .input{position:relative;margin:8px 0;border:1px solid var(--border-color);border-radius:4px;background:transparent;padding:2px;overflow:hidden}.ui-text-input input{display:block;width:235px;font-size:14px;border:none;background:transparent;padding:6px;appearance:none;color:var(--text-color);opacity:.6;outline:none}.ui-text-input .input:hover{border-color:var(--primary-color-subdued)}.ui-text-input .input:focus-within{border-color:var(--primary-color)}.ui-text-input .input:focus-within input{opacity:1}.ui-text-input .input:after{content:"";position:absolute;top:5px;right:14px;width:8px;height:17px;border:2px solid rgba(51,181,51,1);border-top:none;border-left:none;transform:rotate(45deg);opacity:0;transition:opacity 80ms ease-in-out;pointer-events:none}.ui-text-input.saved .input:after{opacity:1}.ui-toast{position:fixed;bottom:8px;left:8px;right:8px;padding:6px 12px;font-size:14px;border-radius:4px;transform:translate3d(0,150%,0);opacity:0;transition:all var(--transition-time) ease-in-out;background-color:var(--primary-color-subdued);color:var(--text-color);pointer-events:none}.ui-toast.ui-toast-show{transform:translateZ(0);opacity:1;pointer-events:auto}[data-view=nav-home] .nav-home .section-content,[data-view=nav-cmp-list] .nav-cmp-list .section-content,[data-view=nav-cmp-detail] .nav-cmp-detail .section-content,[data-view=nav-cmp-input] .nav-cmp-input .section-content,[data-view=nav-settings] .nav-settings .section-content{transform:translateZ(0);pointer-events:auto}[data-view=nav-home] .nav-home header,[data-view=nav-home] .nav-home footer,[data-view=nav-cmp-list] .nav-cmp-list header,[data-view=nav-cmp-list] .nav-cmp-list footer,[data-view=nav-cmp-detail] .nav-cmp-detail header,[data-view=nav-cmp-detail] .nav-cmp-detail footer,[data-view=nav-cmp-input] .nav-cmp-input header,[data-view=nav-cmp-input] .nav-cmp-input footer,[data-view=nav-settings] .nav-settings header,[data-view=nav-settings] .nav-settings footer{opacity:1;pointer-events:auto}[data-view=nav-cmp-list] .nav-home .section-content,[data-view=nav-cmp-detail] .nav-home .section-content,[data-view=nav-cmp-detail] .nav-cmp-list .section-content,[data-view=nav-cmp-input] .nav-home .section-content,[data-view=nav-cmp-input] .nav-cmp-list .section-content,[data-view=nav-cmp-input] .nav-cmp-detail .section-content,[data-view=nav-settings] .nav-home .section-content{transform:translate3d(-105%,0,0)}.cmp-item .nav-list-item-icon{background-image:url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20.83 16.809C20.94 16.561 21 16.289 21 16.008V7.99001C20.9994 7.64108 20.9066 7.29851 20.731 6.99699C20.5554 6.69547 20.3032 6.44571 20 6.27301L13 2.26501C12.6954 2.09103 12.3508 1.99951 12 1.99951C11.6492 1.99951 11.3046 2.09103 11 2.26501L7.988 3.99001M5.441 5.44801L4 6.27301C3.381 6.62801 3 7.28301 3 7.99101V16.009C3 16.718 3.381 17.372 4 17.726L11 21.734C11.3046 21.908 11.6492 21.9995 12 21.9995C12.3508 21.9995 12.6954 21.908 13 21.734L18.544 18.56" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 22V12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M14.532 10.538L20.73 6.95996" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M3.27002 6.95996L12 12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/><path d="M3 3L21 21" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/></svg>');opacity:.3}.cmp-item.registered .nav-list-item-icon{background-image:url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21 16.008V7.99001C20.9994 7.64108 20.9066 7.29851 20.731 6.99699C20.5554 6.69547 20.3032 6.44571 20 6.27301L13 2.26501C12.6954 2.09103 12.3508 1.99951 12 1.99951C11.6492 1.99951 11.3046 2.09103 11 2.26501L4 6.27301C3.381 6.62801 3 7.28301 3 7.99101V16.009C3 16.718 3.381 17.372 4 17.726L11 21.734C11.3046 21.908 11.6492 21.9995 12 21.9995C12.3508 21.9995 12.6954 21.908 13 21.734L20 17.726C20.619 17.371 21 16.716 21 16.008Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 22V12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 12L20.73 6.95996" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M3.26999 6.95996L12 12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /></svg>');opacity:.8}.search-highlight{background-color:var(--primary-color-alpha);padding:0 2px;border-radius:2px;font-weight:500}.search-container{position:sticky;top:0;z-index:10;padding:12px 16px;background:var(--background-color);border-bottom:1px solid var(--border-color)}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:var(--text-color-secondary);pointer-events:none}.component-search-input{width:100%;height:36px;padding:8px 36px;border:1px solid var(--border-color);border-radius:6px;background:var(--input-background);color:var(--text-color);font-size:14px;transition:border-color .2s,box-shadow .2s}.component-search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-alpha)}.component-search-input::placeholder{color:var(--text-color-tertiary)}.clear-search-button{position:absolute;right:8px;padding:4px;color:var(--text-color-secondary);border:none;background:transparent;border-radius:4px;cursor:pointer;opacity:0;transition:opacity .2s,background-color .2s;display:flex;align-items:center;justify-content:center}.clear-search-button:hover{background-color:var(--hover-color)}.component-search-input:not(:placeholder-shown)+.clear-search-button{opacity:1}.no-results{padding:32px 16px;text-align:center;color:var(--text-color-secondary);font-size:14px}#cmp-detail{position:relative}.cmp-loading{pointer-events:none!important}.cmp-loading-icon{position:absolute;display:inline-block;top:170px;left:0;width:100%;transform:translateZ(0);pointer-events:auto;opacity:0;transition:all 50ms ease-in-out;transition-delay:50ms;pointer-events:none}.cmp-loading .cmp-loading-icon{opacity:.5}.cmp-cover{position:absolute;top:160px;left:0;width:100%;height:100vh;background:var(--background-color);transform:translateZ(0);pointer-events:none;display:none}[data-view=nav-cmp-detail] .cmp-cover{display:block;pointer-events:auto}.cmp-enabled .cmp-cover{transform:translate3d(0,105%,0);pointer-events:none}.section-ready .cmp-cover{transition:all var(--transition-time) ease-in-out}.cmp-detail-inputs-container{margin:8px 0 16px;padding:0}.cmp-detail-inputs-container h3{margin:0 0 6px;padding-left:16px;padding-right:8px;font-size:14px;font-weight:500;display:flex;justify-content:space-between;align-items:center}.cmp-detail-inputs-reload{font-weight:300;font-size:.9em;text-decoration:none;appearance:none;text-align:left;background-color:transparent;border:none;color:var(--primary-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmp-detail-inputs-reload:hover{text-decoration:underline;color:var(--primary-color)}.cmp-detail-inputs-container .cmp-inputs-empty{padding:0;margin-top:12px;font-size:12px;font-weight:300;opacity:.5;font-style:italic}.cmp-detail-inputs-container .nav-list-item-icon{opacity:.8;background-size:20px 20px;background-position:4px center}.input-icon{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path></svg>')}.input-icon-array{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 16v-6a2 2 0 1 1 4 0v6"></path> <path d="M10 13h4"></path></svg>')}.input-icon-boolean{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 16h2a2 2 0 1 0 0 -4h-2h2a2 2 0 1 0 0 -4h-2v8z"></path></svg>')}.input-icon-number{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 16v-8l4 8v-8"></path></svg>')}.input-icon-object{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M12 8a2 2 0 0 1 2 2v4a2 2 0 1 1 -4 0v-4a2 2 0 0 1 2 -2z"></path></svg>')}.input-icon-string{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path> <path d="M10 15a1 1 0 0 0 1 1h2a1 1 0 0 0 1 -1v-2a1 1 0 0 0 -1 -1h-2a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1"></path></svg>')}.cmp-input-item-unregistered{opacity:.4}.cmp-input-item-unregistered .input-icon:after{content:"";position:absolute;top:11px;left:4px;width:20px;height:2px;background-color:#000;transform:rotate(-45deg)}.cmp-prop-info{border-bottom:1px solid var(--border-color)}.cmp-input-readonly{margin:16px 0;padding:0 16px;display:grid;grid-template-columns:50% 50%;gap:12px}.cmp-input-readonly h3{margin:0;font-size:14px;font-weight:500}.cmp-input-readonly span{margin-top:2px;font-size:12px;font-weight:300;opacity:.8}.cmp-input-detail{margin:16px 0}.cmp-input-detail a{color:var(--primary-color);text-decoration:none}.cmp-input-detail a:hover{text-decoration:underline}.input-cover{position:absolute;top:175px;left:0;width:100%;height:100%;background:var(--background-color);transform:translateZ(0);transition:all var(--transition-time) ease-in-out;pointer-events:auto}.input-enabled .input-cover{transform:translate3d(0,105%,0);pointer-events:none}.input-loading-icon{position:absolute;display:inline-block;top:190px;left:0;width:100%;transform:translateZ(0);pointer-events:auto;opacity:0;transition:all 50ms ease-in-out;transition-delay:50ms;pointer-events:none}.input-loading .input-loading-icon{opacity:.5}:host{position:fixed;inset:0;z-index:2147483646;user-select:none;pointer-events:none;color:var(--text-color)}aside{position:absolute;top:0;right:0;width:var(--menu-width);height:100%;transform:translate3d(105%,0,0);transition:transform var(--transition-time) ease-in-out;background:var(--background-color);box-shadow:#000000c9 5px 0 20px;overflow:hidden;z-index:1}:host(.show-builder-menu) aside{pointer-events:auto;transform:translateZ(0)}#hit{position:absolute;inset:0;display:none}:host(.show-builder-menu) #hit{display:block;pointer-events:auto}#version{position:absolute;bottom:6px;right:6px;font-size:8px;color:#9b9b9b}</style><div id="hit"></div> <aside data-view="nav-home"> <section class="nav-home"> <header> <svg class="builder-logo" viewBox="0 0 31 36" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M31 9.96854C31.0016 11.4553 30.6701 12.9236 30.03 14.2654C29.3898 15.6072 28.4572 16.7884 27.3007 17.7221L0.702841 2.61812C0.601104 2.56012 0.506714 2.49008 0.421705 2.40951C0.288323 2.27871 0.182333 2.12263 0.109928 1.95039C0.0375215 1.77814 0.000151253 1.59319 0 1.40633C0 1.03335 0.148098 0.675643 0.411715 0.411905C0.675332 0.148167 1.03287 0 1.40568 0L21.036 0C23.6786 0 26.213 1.05025 28.0816 2.91972C29.9502 4.78918 31 7.32472 31 9.96854Z" fill="#18B4F4" /> <path d="M31 25.4757C31.0004 26.7849 30.7429 28.0815 30.2423 29.2912C29.7417 30.5009 29.0078 31.6001 28.0825 32.526C27.1572 33.4519 26.0587 34.1864 24.8497 34.6875C23.6406 35.1886 22.3448 35.4465 21.0361 35.4465H1.40573C1.12766 35.4436 0.856725 35.3581 0.627199 35.201C0.397672 35.044 0.219871 34.8223 0.116289 34.5641C0.0127078 34.3059 -0.011999 34.0228 0.0452946 33.7505C0.102588 33.4783 0.239308 33.2292 0.438156 33.0347C0.517415 32.9551 0.606358 32.8858 0.702893 32.8284L11.1705 26.8843L27.2984 17.7244C28.4548 18.6579 29.3874 19.8387 30.028 21.18C30.6685 22.5213 31.0007 23.9891 31 25.4757Z" fill="#FD6B3C" /> <path d="M27.3011 17.7221L11.1709 26.8843L0.703209 32.8284C0.602697 32.8843 0.509784 32.9528 0.426758 33.0323C4.41799 28.9369 6.6496 23.442 6.64456 17.7221C6.65208 12.0015 4.42111 6.50517 0.429101 2.40948C0.51411 2.49005 0.6085 2.56009 0.710237 2.61809L27.3011 17.7221Z" fill="#A97FF2" /> </svg> <div> <h2 class="builder-home-title">Builder Devtools</h2> <p><button id="go-to-builder">Go to Builder</button></p> </div> <button id="close" aria-label="Close Menu"> <svg viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" > <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M18 6l-12 12" /> <path d="M6 6l12 12" /> </svg> </button> </header> <div class="section-content"> <ul class="list"> <li> <button id="components-link"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M21 16.008V7.99001C20.9994 7.64108 20.9066 7.29851 20.731 6.99699C20.5554 6.69547 20.3032 6.44571 20 6.27301L13 2.26501C12.6954 2.09103 12.3508 1.99951 12 1.99951C11.6492 1.99951 11.3046 2.09103 11 2.26501L4 6.27301C3.381 6.62801 3 7.28301 3 7.99101V16.009C3 16.718 3.381 17.372 4 17.726L11 21.734C11.3046 21.908 11.6492 21.9995 12 21.9995C12.3508 21.9995 12.6954 21.908 13 21.734L20 17.726C20.619 17.371 21 16.716 21 16.008Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 22V12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M12 12L20.73 6.95996" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M3.26999 6.95996L12 12" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> </svg> <span>Components</span> </button> </li> <li> <button id="settings-link"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M10.325 4.317C10.751 2.561 13.249 2.561 13.675 4.317C13.7389 4.5808 13.8642 4.82578 14.0407 5.032C14.2172 5.23822 14.4399 5.39985 14.6907 5.50375C14.9414 5.60764 15.2132 5.65085 15.4838 5.62987C15.7544 5.60889 16.0162 5.5243 16.248 5.383C17.791 4.443 19.558 6.209 18.618 7.753C18.4769 7.98466 18.3924 8.24634 18.3715 8.51677C18.3506 8.78721 18.3938 9.05877 18.4975 9.30938C18.6013 9.55999 18.7627 9.78258 18.9687 9.95905C19.1747 10.1355 19.4194 10.2609 19.683 10.325C21.439 10.751 21.439 13.249 19.683 13.675C19.4192 13.7389 19.1742 13.8642 18.968 14.0407C18.7618 14.2172 18.6001 14.4399 18.4963 14.6907C18.3924 14.9414 18.3491 15.2132 18.3701 15.4838C18.3911 15.7544 18.4757 16.0162 18.617 16.248C19.557 17.791 17.791 19.558 16.247 18.618C16.0153 18.4769 15.7537 18.3924 15.4832 18.3715C15.2128 18.3506 14.9412 18.3938 14.6906 18.4975C14.44 18.6013 14.2174 18.7627 14.0409 18.9687C13.8645 19.1747 13.7391 19.4194 13.675 19.683C13.249 21.439 10.751 21.439 10.325 19.683C10.2611 19.4192 10.1358 19.1742 9.95929 18.968C9.7828 18.7618 9.56011 18.6001 9.30935 18.4963C9.05859 18.3924 8.78683 18.3491 8.51621 18.3701C8.24559 18.3911 7.98375 18.4757 7.752 18.617C6.209 19.557 4.442 17.791 5.382 16.247C5.5231 16.0153 5.60755 15.7537 5.62848 15.4832C5.64942 15.2128 5.60624 14.9412 5.50247 14.6906C5.3987 14.44 5.23726 14.2174 5.03127 14.0409C4.82529 13.8645 4.58056 13.7391 4.317 13.675C2.561 13.249 2.561 10.751 4.317 10.325C4.5808 10.2611 4.82578 10.1358 5.032 9.95929C5.23822 9.7828 5.39985 9.56011 5.50375 9.30935C5.60764 9.05859 5.65085 8.78683 5.62987 8.51621C5.60889 8.24559 5.5243 7.98375 5.383 7.752C4.443 6.209 6.209 4.442 7.753 5.382C8.753 5.99 10.049 5.452 10.325 4.317Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> <path d="M9 12C9 12.7956 9.31607 13.5587 9.87868 14.1213C10.4413 14.6839 11.2044 15 12 15C12.7956 15 13.5587 14.6839 14.1213 14.1213C14.6839 13.5587 15 12.7956 15 12C15 11.2044 14.6839 10.4413 14.1213 9.87868C13.5587 9.31607 12.7956 9 12 9C11.2044 9 10.4413 9.31607 9.87868 9.87868C9.31607 10.4413 9 11.2044 9 12Z" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" /> </svg> <span>Settings</span> </button> </li> <li> <button id="add-page-link"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" > <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M14 3v4a1 1 0 0 0 1 1h4" /> <path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z" /> <path d="M12 11l0 6" /> <path d="M9 14l6 0" /> </svg> <span>Add Builder Page</span> </button> </li> <li> <button id="import-from-figma"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-figma" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" > <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M15 12m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" /> <path d="M6 3m0 3a3 3 0 0 1 3 -3h6a3 3 0 0 1 3 3v0a3 3 0 0 1 -3 3h-6a3 3 0 0 1 -3 -3z" /> <path d="M9 9a3 3 0 0 0 0 6h3m-3 0a3 3 0 1 0 3 3v-15" /> </svg> <span>Import From Figma</span> </button> </li> </ul> </div> <footer> <ul class="list"> <li> <a href="https://docs.google.com/forms/d/e/1FAIpQLSdqZcJpRtm_Ia5DTHP6SDY9Xa6LID3KiTjRWkjMzWyJRUtSHw/viewform" target="_blank" > <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" > <path d="M11.013 17.0114L10.013 18.0114L2.513 10.5834C2.0183 10.102 1.62864 9.52342 1.36854 8.88404C1.10845 8.24466 0.983558 7.55836 1.00173 6.86834C1.01991 6.17832 1.18076 5.49954 1.47415 4.87474C1.76755 4.24994 2.18713 3.69266 2.70648 3.23799C3.22583 2.78331 3.8337 2.4411 4.49181 2.23289C5.14991 2.02468 5.844 1.95499 6.53036 2.02821C7.21673 2.10143 7.8805 2.31596 8.47987 2.65831C9.07925 3.00066 9.60124 3.46341 10.013 4.01741C10.8086 2.95654 11.9931 2.2552 13.3059 2.06766C14.6186 1.88012 15.9521 2.22176 17.013 3.01741C18.0739 3.81306 18.7752 4.99755 18.9627 6.3103C19.1503 7.62305 18.8086 8.95654 18.013 10.0174" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> <path d="M18.2006 19.8175L16.0286 20.9555C15.9642 20.989 15.8917 21.004 15.8192 20.9987C15.7467 20.9934 15.6771 20.9681 15.6182 20.9256C15.5593 20.8831 15.5134 20.825 15.4855 20.7579C15.4577 20.6907 15.4491 20.6172 15.4606 20.5455L15.8756 18.1345L14.1186 16.4275C14.0662 16.3768 14.0291 16.3123 14.0115 16.2416C13.9939 16.1708 13.9966 16.0965 14.0192 16.0271C14.0418 15.9578 14.0835 15.8962 14.1394 15.8494C14.1954 15.8026 14.2634 15.7725 14.3356 15.7625L16.7636 15.4105L17.8496 13.2175C17.8821 13.1521 17.9322 13.0972 17.9942 13.0588C18.0562 13.0204 18.1277 13 18.2006 13C18.2736 13 18.3451 13.0204 18.4071 13.0588C18.4691 13.0972 18.5191 13.1521 18.5516 13.2175L19.6376 15.4105L22.0656 15.7625C22.1377 15.7728 22.2054 15.8031 22.2611 15.85C22.3168 15.8968 22.3583 15.9583 22.3809 16.0275C22.4034 16.0967 22.4062 16.1708 22.3888 16.2415C22.3715 16.3122 22.3347 16.3766 22.2826 16.4275L20.5256 18.1345L20.9396 20.5445C20.9521 20.6163 20.9441 20.6902 20.9166 20.7578C20.8891 20.8254 20.8433 20.8839 20.7842 20.9267C20.7252 20.9695 20.6553 20.9949 20.5825 21C20.5098 21.005 20.4371 20.9896 20.3726 20.9555L18.2006 19.8175Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> </svg> <span>Give Feedback</span> </a> </li> </ul> <div id="version"></div> </footer> </section> <section class="nav-cmp-list"> <header> <button class="back-button"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div class="search-container"> <div class="search-input-wrapper"> <svg class="search-icon" viewBox="0 0 24 24" width="16" height="16"> <path fill="none" stroke="currentColor" stroke-width="2" d="M15.5 15.5L20 20M10 17C6.13401 17 3 13.866 3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10C17 13.866 13.866 17 10 17Z" /> </svg> <input type="text" id="component-search" class="component-search-input" placeholder="Search components..." autocomplete="off" spellcheck="false" /> <button id="clear-search" class="clear-search-button" type="button" aria-label="Clear search" > <svg viewBox="0 0 24 24" width="16" height="16"> <path fill="none" stroke="currentColor" stroke-width="2" d="M6 6l12 12M6 18L18 6" /> </svg> </button> </div> </div> <div> <h2>Custom Components</h2> <p> <button id="open-builder-registry"></button> </p> </div> </header> <div class="section-content"> <div id="cmp-list" class="cmp-list nav-list"></div> </div> <div class="nav-loading-icon spinner"></div> <footer> <p class="info"> Expand on Builder's selection of built-in blocks by <a target="_blank" href="https://www.builder.io/c/docs/custom-components-intro" >registering components</a > from your codebase. This way, teammates can drag and drop your components within Builder's Visual Editor just like any other block. </p> </footer> </section> <section class="nav-cmp-detail"> <header> <button class="back-button" data-back="nav-cmp-list"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div> <h2 id="cmp-detail-title"></h2> <p> <button id="cmp-open-source"></button> </p> </div> </header> <div class="section-content"> <div id="cmp-error"></div> <label class="ui-switch"> <div> <h3>Register Component</h3> <p> Registers this component so it can be used within Builder Visual CMS </p> </div> <input type="checkbox" role="switch" id="cmp-register" /> <span class="switcher"></span> </label> <div id="cmp-detail"> <label class="ui-text-input"> <h3>Component Name</h3> <div class="input"> <input type="text" id="cmp-name" autocapitalize="off" autocorrect="off" spellcheck="false" autocomplete="off" minlength="2" maxlength="30" required placeholder="e.g. My Counter" /> </div> <p> Unique name to identify this custom component within Builder. Press ESC to cancel </p> </label> <div class="cmp-detail-inputs-container"> <h3> <span>Builder Inputs (Props)</span> <button class="cmp-detail-inputs-reload" id="btn-inputs-reload"> Reload </button> </h3> <div id="cmp-detail-inputs"></div> </div> </div> </div> <div class="cmp-cover"></div> <div class="cmp-loading-icon spinner"></div> </section> <section class="nav-cmp-input"> <header> <button class="back-button" data-back="nav-cmp-detail"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div> <h2 id="cmp-input-title"></h2> <p> <button id="input-open-source"></button> </p> </div> </header> <div class="section-content"> <label class="ui-switch"> <div> <h3>Enable Input</h3> <p>Add this component prop as a Builder input</p> </div> <input type="checkbox" role="switch" id="input-register" /> <span class="switcher"></span> </label> <div class="cmp-prop-info"> <div class="cmp-input-readonly"> <h3>Prop Name</h3> <span id="cmp-prop-name"></span> </div> <div class="cmp-input-readonly"> <h3>Prop Type</h3> <span id="cmp-prop-type"></span> </div> </div> <div class="cmp-input-detail"> <label class="ui-text-input"> <h3>Builder Input Name</h3> <div class="input"> <input type="text" id="input-name" autocapitalize="off" autocorrect="off" spellcheck="false" autocomplete="off" minlength="1" maxlength="30" required placeholder="e.g. Text" /> </div> <p> Friendly name to identify this component prop as a Builder input. Press ESC to cancel </p> </label> <label class="ui-select"> <h3>Builder Input Type</h3> <div class="select"> <select id="input-type"></select> </div> <p> Correlate to what editing UI is appropriate for this Builder input. <a href="https://www.builder.io/c/docs/custom-components-input-types" target="_blank" >Read more about input types.</a > </p> </label> </div> <div class="input-cover"></div> <div class="input-loading-icon spinner"></div> </div> </section> <section class="nav-settings"> <header> <button class="back-button"> <svg viewBox="0 0 24 24"> <path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" /> </svg> </button> <div> <h2>Settings</h2> <p>Configure Builder's Devtools</p> </div> </header> <div class="section-content"> <label class="ui-switch"> <div> <h3>Enable edit button in UI</h3> <p>Enables the edit button so you can edit content in Builder</p> </div> <input type="checkbox" role="switch" id="enable-edit" /> <span class="switcher"></span> </label> </div> </section> <div class="ui-toast" id="toast"></div> </aside> <button class="menu-toggle" aria-label="Toggle Builder Devtools"> <div> <div class="highlight-bg"></div> <svg viewBox="0 0 31 36" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M31 9.96854C31.0016 11.4553 30.6701 12.9236 30.03 14.2654C29.3898 15.6072 28.4572 16.7884 27.3007 17.7221L0.702841 2.61812C0.601104 2.56012 0.506714 2.49008 0.421705 2.40951C0.288323 2.27871 0.182333 2.12263 0.109928 1.95039C0.0375215 1.77814 0.000151253 1.59319 0 1.40633C0 1.03335 0.148098 0.675643 0.411715 0.411905C0.675332 0.148167 1.03287 0 1.40568 0L21.036 0C23.6786 0 26.213 1.05025 28.0816 2.91972C29.9502 4.78918 31 7.32472 31 9.96854Z" fill="#18B4F4" /> <path d="M31 25.4757C31.0004 26.7849 30.7429 28.0815 30.2423 29.2912C29.7417 30.5009 29.0078 31.6001 28.0825 32.526C27.1572 33.4519 26.0587 34.1864 24.8497 34.6875C23.6406 35.1886 22.3448 35.4465 21.0361 35.4465H1.40573C1.12766 35.4436 0.856725 35.3581 0.627199 35.201C0.397672 35.044 0.219871 34.8223 0.116289 34.5641C0.0127078 34.3059 -0.011999 34.0228 0.0452946 33.7505C0.102588 33.4783 0.239308 33.2292 0.438156 33.0347C0.517415 32.9551 0.606358 32.8858 0.702893 32.8284L11.1705 26.8843L27.2984 17.7244C28.4548 18.6579 29.3874 19.8387 30.028 21.18C30.6685 22.5213 31.0007 23.9891 31 25.4757Z" fill="#FD6B3C" /> <path d="M27.3011 17.7221L11.1709 26.8843L0.703209 32.8284C0.602697 32.8843 0.509784 32.9528 0.426758 33.0323C4.41799 28.9369 6.6496 23.442 6.64456 17.7221C6.65208 12.0015 4.42111 6.50517 0.429101 2.40948C0.51411 2.49005 0.6085 2.56009 0.710237 2.61809L27.3011 17.7221Z" fill="#A97FF2" /> </svg> </div> </button>\`,Nr(e),Br(e),Ur(e),Ar(e),Dr(e),Fr(e),this.setAttribute("aria-hidden","true"),e.getElementById("version").textContent="v1.5.8"}highlightOpener(){let e=this.shadowRoot.querySelector(".menu-toggle");e.classList.add("menu-toggle-highlight"),e.classList.add("menu-toggle-highlight-no-transition"),setTimeout(()=>{e.classList.remove("menu-toggle-highlight-no-transition"),setTimeout(()=>{e.classList.remove("menu-toggle-highlight")},20)},20)}};var ki=\`<style>*,*:before,*:after{box-sizing:border-box}html,body,:host{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:2147483646;margin:0;padding:0;line-height:1.8;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";background-color:#252525;color:#fff;transition:opacity .25s ease-in-out}:host([aria-hidden="true"]){opacity:0;pointer-events:none}main{position:absolute;top:0;left:0;width:100%;height:100vh}h1{margin-top:0;font-size:24px;font-weight:300;line-height:1.4}p{margin:20px 0;font-weight:300}button{cursor:pointer}aside{position:absolute;top:0;left:0;width:350px;height:100vh;padding:60px 0 0 50px;background-color:#121212}aside ul{margin:30px 0 0;padding:0;list-style:none}aside li{position:relative;margin:0;padding:20px 10px;font-weight:300}aside li.highlight{color:#48a1ff}aside li.active{font-weight:700}aside li .circle{position:absolute;top:20px;left:10px;width:24px;height:24px;border:3px solid white;border-radius:50%;font-size:14px}aside li.highlight .circle{border-color:#48a1ff}aside li.active .circle:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background-color:#48a1ff}aside li.completed .circle{background-color:#48a1ff}aside li.completed .circle:after{content:"";position:absolute;top:2px;left:6px;width:6px;height:13px;border:3px solid black;border-top:none;border-left:none;transform:rotate(45deg)}aside li .line{position:absolute;top:44px;left:21px;width:3px;height:45px;background-color:#fff}aside li.completed .line{background-color:#48a1ff}aside li span{display:block;margin-left:44px}nav{margin-top:30px}section{position:absolute;top:135px;left:350px;padding:0 80px 0 140px;transition:opacity .15s ease-in-out}section[aria-hidden=true]{pointer-events:none;opacity:0}section h1,section p{min-width:300px;max-width:600px}.button{position:relative;display:inline-block;color:#fff;background-color:#48a1ff;border-radius:4px;text-decoration:none;padding:10px 40px 10px 20px;white-space:nowrap}.button:hover{background-color:#48a1ffd9}#button-icon{position:absolute;top:1px;right:5px;bottom:0;width:30px;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="none" stroke="white" stroke-linecap="square" stroke-miterlimit="10" stroke-width="48" d="M184 112l144 144-144 144"/></svg>');background-repeat:no-repeat;background-position:center;background-size:24px 24px}.button[aria-disabled=true]{opacity:.9;background-color:#ffffff4d;pointer-events:none;padding-right:60px}.button[aria-disabled=true] #button-icon{top:21px;right:29px;width:8px;height:8px;border-radius:4px;background:#fff;color:#fff;animation:dot-flashing .5s infinite linear alternate;animation-delay:.25s}.button[aria-disabled=true] #button-icon:before,.button[aria-disabled=true] #button-icon:after{content:"";display:inline-block;position:absolute;top:0}.button[aria-disabled=true] #button-icon:before{left:-12px;width:8px;height:8px;border-radius:4px;background-color:#fff;color:#fff;animation:dot-flashing .5s infinite alternate;animation-delay:0s}.button[aria-disabled=true] #button-icon:after{left:12px;width:8px;height:8px;border-radius:4px;background-color:#fff;color:#fff;animation:dot-flashing .5s infinite alternate;animation-delay:.5s}@keyframes dot-flashing{0%{background-color:#fff}50%,to{background-color:#ffffff4d}}.logo{margin-left:9px;background:url('data:image/svg+xml,<svg viewBox="0 0 150 32" fill="none" xmlns="http://www.w3.org/2000/svg" > <g clip-path="url(%23clip0_4_304)"> <path d="M27.9858 8.99927C27.9872 10.3415 27.688 11.667 27.1101 12.8783C26.5321 14.0896 25.6902 15.156 24.6462 15.9989V15.9989L0.634502 2.36355C0.542657 2.31119 0.457444 2.24796 0.380701 2.17523C0.260289 2.05715 0.164605 1.91624 0.0992389 1.76075C0.0338732 1.60525 0.000136546 1.43828 0 1.26959C0 0.932873 0.133698 0.609948 0.371683 0.371854C0.609667 0.13376 0.932443 0 1.269 0L18.9906 0C21.3763 0 23.6642 0.948135 25.3512 2.63583C27.0381 4.32352 27.9858 6.61252 27.9858 8.99927V8.99927Z" fill="%2318B4F4" /> <path d="M27.9858 22.9986C27.9861 24.1806 27.7536 25.351 27.3017 26.4431C26.8498 27.5352 26.1873 28.5275 25.352 29.3634C24.5167 30.1993 23.5249 30.8624 22.4335 31.3147C21.342 31.7671 20.1721 32 18.9907 32H1.26906C1.01802 31.9973 0.77343 31.9202 0.566221 31.7784C0.359012 31.6366 0.198499 31.4364 0.104989 31.2034C0.0114791 30.9703 -0.0108254 30.7147 0.0408974 30.4689C0.0926201 30.2231 0.216046 29.9982 0.395559 29.8226V29.8226C0.467112 29.7508 0.547407 29.6882 0.634555 29.6364L10.0844 24.2703L24.6441 16.001C25.688 16.8438 26.53 17.9097 27.1083 19.1206C27.6866 20.3315 27.9864 21.6566 27.9858 22.9986V22.9986Z" fill="%23FD6B3C" /> <path d="M24.6461 15.9989L10.0843 24.2703L0.634458 29.6365C0.54372 29.6868 0.459841 29.7487 0.384888 29.8205C3.98804 26.1233 6.00266 21.1627 5.99812 15.9989C6.0049 10.8346 3.99085 5.87268 0.387003 2.17523C0.463746 2.24796 0.548959 2.31119 0.640803 2.36355L24.6461 15.9989Z" fill="%23A97FF2" /> <path d="M47.6659 11.7352C51.8177 11.7352 54.1632 15.0531 54.1632 19.0714C54.1632 23.0896 51.8177 26.3821 47.6659 26.3821C45.5086 26.3821 43.8589 25.5188 42.9473 24.0545L42.5709 26.052H39.9736V6.77115H43.1884V13.8914C43.971 12.6959 45.5086 11.7352 47.6659 11.7352ZM47.0187 23.5488C49.4446 23.5488 50.9547 21.5809 50.9547 19.0714C50.9547 16.5089 49.4446 14.5664 47.0187 14.5664C44.5928 14.5664 43.0806 16.5047 43.0806 19.0714C43.0806 21.583 44.5653 23.5488 47.0187 23.5488V23.5488Z" fill="white" /> <path d="M65.4595 20.2859V12.0611H68.668V20.123C68.668 23.7202 67.0246 26.3821 62.4943 26.3821C57.9639 26.3821 56.3206 23.7117 56.3206 20.123V12.0611H59.529V20.2859C59.529 22.4696 60.5527 23.5488 62.49 23.5488C64.4274 23.5488 65.4595 22.4696 65.4595 20.2859Z" fill="white" /> <path d="M71.2355 7.74451C71.2247 7.46284 71.2724 7.18199 71.3755 6.91968C71.4787 6.65737 71.6351 6.41929 71.8348 6.22047C72.0345 6.02165 72.2732 5.8664 72.5359 5.76452C72.7986 5.66264 73.0796 5.61633 73.3611 5.62853C74.5793 5.62853 75.4571 6.50666 75.4571 7.75509C75.4571 9.00352 74.5793 9.8224 73.3611 9.8224C72.1428 9.8224 71.2355 8.9612 71.2355 7.74451Z" fill="white" /> <path d="M128.476 7.74451C128.465 7.46376 128.513 7.18383 128.615 6.92227C128.718 6.66071 128.873 6.42315 129.072 6.22449C129.27 6.02583 129.508 5.87035 129.769 5.7678C130.031 5.66524 130.31 5.61783 130.591 5.62852C131.809 5.62852 132.687 6.50666 132.687 7.75509C132.687 9.00352 131.809 9.8224 130.591 9.8224C129.373 9.8224 128.476 8.9612 128.476 7.74451Z" fill="white" /> <path d="M122.302 24.1031C122.291 23.8223 122.339 23.5422 122.441 23.2805C122.543 23.0188 122.699 22.7811 122.897 22.5824C123.096 22.3837 123.334 22.2282 123.595 22.1258C123.857 22.0233 124.137 21.9761 124.417 21.9872C125.636 21.9872 126.513 22.8653 126.513 24.1031C126.513 25.341 125.636 26.1726 124.417 26.1726C123.199 26.1726 122.302 25.3219 122.302 24.1031Z" fill="white" /> <path d="M74.9516 12.059H71.7432V26.0583H74.9516V12.059Z" fill="white" /> <path d="M78.16 26.0583V6.77115H81.3685V26.0626L78.16 26.0583Z" fill="white" /> <path d="M94.6063 6.77115H97.8148V26.0626H95.2239L94.8474 24.0651C93.9591 25.523 92.3094 26.3927 90.131 26.3927C86.0046 26.3927 83.6591 23.0748 83.6591 19.0819C83.6591 15.0891 86.0046 11.7458 90.131 11.7458C92.3137 11.7458 93.8238 12.7149 94.6063 13.902V6.77115ZM90.7993 14.5707C88.3734 14.5707 86.8633 16.5131 86.8633 19.0756C86.8633 21.5851 88.3734 23.553 90.7993 23.553C93.2252 23.553 94.7354 21.5851 94.7354 19.0756C94.7396 16.5047 93.257 14.5664 90.8036 14.5664L90.7993 14.5707Z" fill="white" /> <path d="M113.479 22.2284C112.482 24.7359 110.162 26.3821 107.117 26.3821C102.887 26.3821 100.137 23.225 100.137 19.0439C100.137 14.9706 102.942 11.7353 107.093 11.7353C111.245 11.7353 113.969 14.8902 113.969 18.991C113.982 19.3255 113.953 19.6604 113.883 19.9876H103.288C103.53 22.2009 104.959 23.6292 107.197 23.6292C108.735 23.6292 110.001 22.8738 110.594 21.473L113.479 22.2284ZM103.341 17.6156H110.784C110.513 15.6731 109.166 14.3506 107.089 14.3506C105.012 14.3506 103.665 15.7006 103.341 17.6156V17.6156Z" fill="white" /> <path d="M123.779 14.9452C123.538 14.9117 123.295 14.8933 123.051 14.8902C120.786 14.8902 119.439 16.0772 119.439 18.7751V26.0583H116.23V12.0611H118.821L119.195 14.0014C119.707 13.1127 120.887 11.9257 123.322 11.9257C123.455 11.9257 123.779 11.9532 123.779 11.9532V14.9452Z" fill="white" /> <path d="M132.192 12.059H128.984V26.0583H132.192V12.059Z" fill="white" /> <path d="M134.483 19.0714C134.483 15.1335 137.287 11.7353 141.735 11.7353C146.183 11.7353 149.015 15.1335 149.015 19.0714C149.015 23.0092 146.213 26.3821 141.735 26.3821C137.258 26.3821 134.483 23.0092 134.483 19.0714ZM141.735 23.5488C144.083 23.5488 145.806 21.7692 145.806 19.0714C145.806 16.3735 144.083 14.5664 141.735 14.5664C139.387 14.5664 137.687 16.346 137.687 19.0714C137.687 21.7968 139.417 23.5488 141.735 23.5488V23.5488Z" fill="white" /> </g> <defs> <clipPath id="clip0_4_304"> <rect width="149.015" height="32" fill="white" /> </clipPath> </defs> </svg>');background-repeat:no-repeat;width:150px;height:32px}@media (max-width: 840px){aside{width:250px;padding:60px 0 0 20px}section{left:250px;padding:0 80px}}@media (max-width: 590px){aside{width:230px;padding:60px 0 0 10px}section{left:230px;padding:0 40px}}#modified-files-message a{color:#cbcbcb;font-weight:300;text-decoration:underline}#modified-files-message a:hover{color:#fff;text-decoration:none}#restart-warning{border-radius:4px;padding:8px 16px;border:1px solid #fd6b3c;background:#fd6b3c1a}#react-router-steps{margin:0 0 5px;padding:0 20px}#need-help{color:#48a1ff;text-decoration:none}#router-message{border-radius:4px;padding:16px;border:1px solid #48a1ff}#router-finish-button{margin-top:12px}#router-checkbox-div{display:flex;align-items:center}#router-checkbox{margin-right:10px;width:15px;height:15px}#success-title{display:flex;align-items:center;gap:10px}#success-title .check-icon{display:inline-block;width:24px;height:24px;border:2px solid #28a745;border-radius:50%;position:relative}#success-title .check-icon:before{content:"";position:absolute;top:50%;left:50%;width:6px;height:12px;border:solid #28a745;border-width:0 2px 2px 0;transform:translate(-50%,-60%) rotate(45deg)}
|
|
43
43
|
</style>\`,dt=class extends HTMLElement{constructor(){super()}connectedCallback(){let e=this.attachShadow({mode:"open"});e.innerHTML=ki+\`<main>
|
|
44
44
|
<aside>
|
|
45
45
|
<div class="logo"></div>
|
|
@@ -78,7 +78,7 @@ Visit https://www.docs.developers.amplitude.com/data/sdks/browser-2/#tracking-de
|
|
|
78
78
|
</nav>
|
|
79
79
|
</section>
|
|
80
80
|
</main>
|
|
81
|
-
\`,Oi();let n=new URL(yn,Oe);n.searchParams.set(gn,location.href);let r=e.querySelectorAll(".next-step");for(let i of r)i.setAttribute("href",n.href);se("overview step viewed")}},Oi=()=>{let t=document.head.querySelector("link[rel='icon'], link[rel='icon shortcut']");t?(t.href="https://cdn.builder.io/favicon.ico",t.removeAttribute("type")):(t=document.createElement("link"),t.rel="icon",t.href="https://cdn.builder.io/favicon.ico",document.head.appendChild(t))};var Vr=async()=>{(await Tn()).isValid||Ui()},Ui=()=>{customElements.get("builder-dev-tools-overview")||customElements.define("builder-dev-tools-overview",dt);let t=document.querySelector("builder-dev-tools-overview");t||(t=document.createElement("builder-dev-tools-overview"),t.setAttribute("aria-hidden","true"),document.body.appendChild(t)),setTimeout(()=>{t.removeAttribute("aria-hidden")},32)};var Mi=()=>{try{customElements.get("builder-dev-tools-edit")||customElements.define("builder-dev-tools-edit",Ue),customElements.get("builder-dev-tools-menu")||customElements.define("builder-dev-tools-menu",lt);let t=document.querySelector("builder-dev-tools-menu");t||(t=document.createElement("builder-dev-tools-menu"),t.setAttribute("data-version","1.5.
|
|
81
|
+
\`,Oi();let n=new URL(yn,Oe);n.searchParams.set(gn,location.href);let r=e.querySelectorAll(".next-step");for(let i of r)i.setAttribute("href",n.href);se("overview step viewed")}},Oi=()=>{let t=document.head.querySelector("link[rel='icon'], link[rel='icon shortcut']");t?(t.href="https://cdn.builder.io/favicon.ico",t.removeAttribute("type")):(t=document.createElement("link"),t.rel="icon",t.href="https://cdn.builder.io/favicon.ico",document.head.appendChild(t))};var Vr=async()=>{(await Tn()).isValid||Ui()},Ui=()=>{customElements.get("builder-dev-tools-overview")||customElements.define("builder-dev-tools-overview",dt);let t=document.querySelector("builder-dev-tools-overview");t||(t=document.createElement("builder-dev-tools-overview"),t.setAttribute("aria-hidden","true"),document.body.appendChild(t)),setTimeout(()=>{t.removeAttribute("aria-hidden")},32)};var Mi=()=>{try{customElements.get("builder-dev-tools-edit")||customElements.define("builder-dev-tools-edit",Ue),customElements.get("builder-dev-tools-menu")||customElements.define("builder-dev-tools-menu",lt);let t=document.querySelector("builder-dev-tools-menu");t||(t=document.createElement("builder-dev-tools-menu"),t.setAttribute("data-version","1.5.8"),document.body.appendChild(t));let e=document.querySelector("builder-dev-tools-edit");e||(e=document.createElement("builder-dev-tools-edit"),document.body.appendChild(e));let n=document.getElementById("builder-dev-tools-style");n||(n=document.createElement("style"),n.id="builder-dev-tools-style",n.innerHTML=".builder-no-scroll{overflow:hidden !important}",document.head.appendChild(n)),Vr(),Pr()}catch(t){console.error("Builder Devtools:",t)}};window.location===window.parent.location&&(console.debug("Builder.io Devtools v1.5.8"),Mi());})();`)}async function pi(e){return mi(e,`<!DOCTYPE html>
|
|
82
82
|
<html lang="en" dir="ltr">
|
|
83
83
|
<head>
|
|
84
84
|
<meta charset="utf-8" />
|
|
@@ -244,50 +244,52 @@ Visit https://www.docs.developers.amplitude.com/data/sdks/browser-2/#tracking-de
|
|
|
244
244
|
</script>
|
|
245
245
|
</body>
|
|
246
246
|
</html>
|
|
247
|
-
`)}async function Qo(e,t){let n=await Ao(e),r=e.getFrameworks();return t.replace(/__LOCAL_APP_ID__/g,n).replace(/__DEV_TOOLS_URL__/g,e.devToolsServerUrl).replace(/__CLIENT_ID__/g,e.getClientId()).replace(/__FRAMEWORK__/g,r.length?r[0].name:"")}var Yo=require("node:os");async function Xo(e,t){let n=new URL("/cli-auth","https://builder.io");n.searchParams.set("client_id",e.getClientId()),n.searchParams.set("host",await e.getDeviceId()),n.searchParams.set("response_type","code"),n.searchParams.set("cli","true");let r=new URL(st,e.devToolsServerUrl);r.searchParams.set(gr,(0,Yo.platform)()),r.searchParams.set(Cr,process.versions.node);let i=e.getFrameworks();return i.length>0&&(n.searchParams.set(Et,i[0].name),r.searchParams.set(Et,i[0].name)),n.searchParams.set("redirect_url",r.href),n.searchParams.set("preview_url",t),n.href}var Ns=require("http");var $s=require("os"),Qr=require("path"),Ke=require("fs");var ie=k(ln(),1),bt=require("node:process"),Ze=k(require("node:readline"),1),fn=k(require("node:readline"),1),li=require("node:tty");function du({onlyFirst:e=!1}={}){let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}var Du=du();function ci(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(Du,"")}function pi(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var mi={exports:{}};(function(e){var t={};e.exports=t,t.eastAsianWidth=function(r){var i=r.charCodeAt(0),a=r.length==2?r.charCodeAt(1):0,o=i;return 55296<=i&&i<=56319&&56320<=a&&a<=57343&&(i&=1023,a&=1023,o=i<<10|a,o+=65536),o==12288||65281<=o&&o<=65376||65504<=o&&o<=65510?"F":o==8361||65377<=o&&o<=65470||65474<=o&&o<=65479||65482<=o&&o<=65487||65490<=o&&o<=65495||65498<=o&&o<=65500||65512<=o&&o<=65518?"H":4352<=o&&o<=4447||4515<=o&&o<=4519||4602<=o&&o<=4607||9001<=o&&o<=9002||11904<=o&&o<=11929||11931<=o&&o<=12019||12032<=o&&o<=12245||12272<=o&&o<=12283||12289<=o&&o<=12350||12353<=o&&o<=12438||12441<=o&&o<=12543||12549<=o&&o<=12589||12593<=o&&o<=12686||12688<=o&&o<=12730||12736<=o&&o<=12771||12784<=o&&o<=12830||12832<=o&&o<=12871||12880<=o&&o<=13054||13056<=o&&o<=19903||19968<=o&&o<=42124||42128<=o&&o<=42182||43360<=o&&o<=43388||44032<=o&&o<=55203||55216<=o&&o<=55238||55243<=o&&o<=55291||63744<=o&&o<=64255||65040<=o&&o<=65049||65072<=o&&o<=65106||65108<=o&&o<=65126||65128<=o&&o<=65131||110592<=o&&o<=110593||127488<=o&&o<=127490||127504<=o&&o<=127546||127552<=o&&o<=127560||127568<=o&&o<=127569||131072<=o&&o<=194367||177984<=o&&o<=196605||196608<=o&&o<=262141?"W":32<=o&&o<=126||162<=o&&o<=163||165<=o&&o<=166||o==172||o==175||10214<=o&&o<=10221||10629<=o&&o<=10630?"Na":o==161||o==164||167<=o&&o<=168||o==170||173<=o&&o<=174||176<=o&&o<=180||182<=o&&o<=186||188<=o&&o<=191||o==198||o==208||215<=o&&o<=216||222<=o&&o<=225||o==230||232<=o&&o<=234||236<=o&&o<=237||o==240||242<=o&&o<=243||247<=o&&o<=250||o==252||o==254||o==257||o==273||o==275||o==283||294<=o&&o<=295||o==299||305<=o&&o<=307||o==312||319<=o&&o<=322||o==324||328<=o&&o<=331||o==333||338<=o&&o<=339||358<=o&&o<=359||o==363||o==462||o==464||o==466||o==468||o==470||o==472||o==474||o==476||o==593||o==609||o==708||o==711||713<=o&&o<=715||o==717||o==720||728<=o&&o<=731||o==733||o==735||768<=o&&o<=879||913<=o&&o<=929||931<=o&&o<=937||945<=o&&o<=961||963<=o&&o<=969||o==1025||1040<=o&&o<=1103||o==1105||o==8208||8211<=o&&o<=8214||8216<=o&&o<=8217||8220<=o&&o<=8221||8224<=o&&o<=8226||8228<=o&&o<=8231||o==8240||8242<=o&&o<=8243||o==8245||o==8251||o==8254||o==8308||o==8319||8321<=o&&o<=8324||o==8364||o==8451||o==8453||o==8457||o==8467||o==8470||8481<=o&&o<=8482||o==8486||o==8491||8531<=o&&o<=8532||8539<=o&&o<=8542||8544<=o&&o<=8555||8560<=o&&o<=8569||o==8585||8592<=o&&o<=8601||8632<=o&&o<=8633||o==8658||o==8660||o==8679||o==8704||8706<=o&&o<=8707||8711<=o&&o<=8712||o==8715||o==8719||o==8721||o==8725||o==8730||8733<=o&&o<=8736||o==8739||o==8741||8743<=o&&o<=8748||o==8750||8756<=o&&o<=8759||8764<=o&&o<=8765||o==8776||o==8780||o==8786||8800<=o&&o<=8801||8804<=o&&o<=8807||8810<=o&&o<=8811||8814<=o&&o<=8815||8834<=o&&o<=8835||8838<=o&&o<=8839||o==8853||o==8857||o==8869||o==8895||o==8978||9312<=o&&o<=9449||9451<=o&&o<=9547||9552<=o&&o<=9587||9600<=o&&o<=9615||9618<=o&&o<=9621||9632<=o&&o<=9633||9635<=o&&o<=9641||9650<=o&&o<=9651||9654<=o&&o<=9655||9660<=o&&o<=9661||9664<=o&&o<=9665||9670<=o&&o<=9672||o==9675||9678<=o&&o<=9681||9698<=o&&o<=9701||o==9711||9733<=o&&o<=9734||o==9737||9742<=o&&o<=9743||9748<=o&&o<=9749||o==9756||o==9758||o==9792||o==9794||9824<=o&&o<=9825||9827<=o&&o<=9829||9831<=o&&o<=9834||9836<=o&&o<=9837||o==9839||9886<=o&&o<=9887||9918<=o&&o<=9919||9924<=o&&o<=9933||9935<=o&&o<=9953||o==9955||9960<=o&&o<=9983||o==10045||o==10071||10102<=o&&o<=10111||11093<=o&&o<=11097||12872<=o&&o<=12879||57344<=o&&o<=63743||65024<=o&&o<=65039||o==65533||127232<=o&&o<=127242||127248<=o&&o<=127277||127280<=o&&o<=127337||127344<=o&&o<=127386||917760<=o&&o<=917999||983040<=o&&o<=1048573||1048576<=o&&o<=1114109?"A":"N"},t.characterLength=function(r){var i=this.eastAsianWidth(r);return i=="F"||i=="W"||i=="A"?2:1};function n(r){return r.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}t.length=function(r){for(var i=n(r),a=0,o=0;o<i.length;o++)a=a+this.characterLength(i[o]);return a},t.slice=function(r,i,a){textLen=t.length(r),i=i||0,a=a||1,i<0&&(i=textLen+i),a<0&&(a=textLen+a);for(var o="",s=0,u=n(r),l=0;l<u.length;l++){var c=u[l],p=t.length(c);if(s>=i-(p==2?1:0))if(s+p<=a)o+=c;else break;s+=p}return o}})(mi);var gu=mi.exports,Cu=pi(gu),hu=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},Eu=pi(hu);function Gt(e,t={}){if(typeof e!="string"||e.length===0||(t={ambiguousIsNarrow:!0,...t},e=ci(e),e.length===0))return 0;e=e.replace(Eu()," ");let n=t.ambiguousIsNarrow?1:2,r=0;for(let i of e){let a=i.codePointAt(0);if(!(a<=31||a>=127&&a<=159||a>=768&&a<=879))switch(Cu.eastAsianWidth(i)){case"F":case"W":r+=2;break;case"A":r+=n;break;default:r+=1}}return r}var pn=10,ri=(e=0)=>t=>`\x1B[${t+e}m`,ni=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,oi=(e=0)=>(t,n,r)=>`\x1B[${38+e};2;${t};${n};${r}m`,q={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(q.modifier);var xu=Object.keys(q.color),Fu=Object.keys(q.bgColor);[...xu,...Fu];function yu(){let e=new Map;for(let[t,n]of Object.entries(q)){for(let[r,i]of Object.entries(n))q[r]={open:`\x1B[${i[0]}m`,close:`\x1B[${i[1]}m`},n[r]=q[r],e.set(i[0],i[1]);Object.defineProperty(q,t,{value:n,enumerable:!1})}return Object.defineProperty(q,"codes",{value:e,enumerable:!1}),q.color.close="\x1B[39m",q.bgColor.close="\x1B[49m",q.color.ansi=ri(),q.color.ansi256=ni(),q.color.ansi16m=oi(),q.bgColor.ansi=ri(pn),q.bgColor.ansi256=ni(pn),q.bgColor.ansi16m=oi(pn),Object.defineProperties(q,{rgbToAnsi256:{value:(t,n,r)=>t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5),enumerable:!1},hexToRgb:{value:t=>{let n=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!n)return[0,0,0];let[r]=n;r.length===3&&(r=[...r].map(a=>a+a).join(""));let i=Number.parseInt(r,16);return[i>>16&255,i>>8&255,i&255]},enumerable:!1},hexToAnsi256:{value:t=>q.rgbToAnsi256(...q.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value:t=>{if(t<8)return 30+t;if(t<16)return 90+(t-8);let n,r,i;if(t>=232)n=((t-232)*10+8)/255,r=n,i=n;else{t-=16;let s=t%36;n=Math.floor(t/36)/5,r=Math.floor(s/6)/5,i=s%6/5}let a=Math.max(n,r,i)*2;if(a===0)return 30;let o=30+(Math.round(i)<<2|Math.round(r)<<1|Math.round(n));return a===2&&(o+=60),o},enumerable:!1},rgbToAnsi:{value:(t,n,r)=>q.ansi256ToAnsi(q.rgbToAnsi256(t,n,r)),enumerable:!1},hexToAnsi:{value:t=>q.ansi256ToAnsi(q.hexToAnsi256(t)),enumerable:!1}}),q}var Su=yu(),br=new Set(["\x1B","\x9B"]),Au=39,Dn="\x07",fi="[",vu="]",di="m",gn=`${vu}8;;`,ii=e=>`${br.values().next().value}${fi}${e}${di}`,ai=e=>`${br.values().next().value}${gn}${e}${Dn}`,wu=e=>e.split(" ").map(t=>Gt(t)),mn=(e,t,n)=>{let r=[...t],i=!1,a=!1,o=Gt(ci(e[e.length-1]));for(let[s,u]of r.entries()){let l=Gt(u);if(o+l<=n?e[e.length-1]+=u:(e.push(u),o=0),br.has(u)&&(i=!0,a=r.slice(s+1).join("").startsWith(gn)),i){a?u===Dn&&(i=!1,a=!1):u===di&&(i=!1);continue}o+=l,o===n&&s<r.length-1&&(e.push(""),o=0)}!o&&e[e.length-1].length>0&&e.length>1&&(e[e.length-2]+=e.pop())},bu=e=>{let t=e.split(" "),n=t.length;for(;n>0&&!(Gt(t[n-1])>0);)n--;return n===t.length?e:t.slice(0,n).join(" ")+t.slice(n).join("")},Pu=(e,t,n={})=>{if(n.trim!==!1&&e.trim()==="")return"";let r="",i,a,o=wu(e),s=[""];for(let[l,c]of e.split(" ").entries()){n.trim!==!1&&(s[s.length-1]=s[s.length-1].trimStart());let p=Gt(s[s.length-1]);if(l!==0&&(p>=t&&(n.wordWrap===!1||n.trim===!1)&&(s.push(""),p=0),(p>0||n.trim===!1)&&(s[s.length-1]+=" ",p++)),n.hard&&o[l]>t){let m=t-p,C=1+Math.floor((o[l]-m-1)/t);Math.floor((o[l]-1)/t)<C&&s.push(""),mn(s,c,t);continue}if(p+o[l]>t&&p>0&&o[l]>0){if(n.wordWrap===!1&&p<t){mn(s,c,t);continue}s.push("")}if(p+o[l]>t&&n.wordWrap===!1){mn(s,c,t);continue}s[s.length-1]+=c}n.trim!==!1&&(s=s.map(l=>bu(l)));let u=[...s.join(`
|
|
248
|
-
`)];for(let[l,c]of u.entries()){if(r+=c
|
|
249
|
-
`?(a&&(r+=
|
|
250
|
-
`&&(i&&p&&(r+=
|
|
247
|
+
`)}async function mi(e,t){let n=await Ko(e),r=e.getFrameworks();return t.replace(/__LOCAL_APP_ID__/g,n).replace(/__DEV_TOOLS_URL__/g,e.devToolsServerUrl).replace(/__CLIENT_ID__/g,e.getClientId()).replace(/__FRAMEWORK__/g,r.length?r[0].name:"")}var fi=require("node:os");async function di(e,t){let n=new URL("/cli-auth","https://builder.io");n.searchParams.set("client_id",e.getClientId()),n.searchParams.set("host",await e.getDeviceId()),n.searchParams.set("response_type","code"),n.searchParams.set("cli","true");let r=new URL(mt,e.devToolsServerUrl);r.searchParams.set(yr,(0,fi.platform)()),r.searchParams.set(Sr,process.versions.node);let i=e.getFrameworks();return i.length>0&&(n.searchParams.set(At,i[0].name),r.searchParams.set(At,i[0].name)),n.searchParams.set("redirect_url",r.href),n.searchParams.set("preview_url",t),n.href}var Xs=require("http");var Zs=require("os"),un=require("path"),ze=require("fs");var ge=I(Pr(),1),Nr=require("node:process");var vn=I(require("node:readline"),1),vi=require("node:tty");function Nu({onlyFirst:e=!1}={}){let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}var $u=Nu();function wi(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace($u,"")}function bi(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Pi={exports:{}};(function(e){var t={};e.exports=t,t.eastAsianWidth=function(r){var i=r.charCodeAt(0),a=r.length==2?r.charCodeAt(1):0,o=i;return 55296<=i&&i<=56319&&56320<=a&&a<=57343&&(i&=1023,a&=1023,o=i<<10|a,o+=65536),o==12288||65281<=o&&o<=65376||65504<=o&&o<=65510?"F":o==8361||65377<=o&&o<=65470||65474<=o&&o<=65479||65482<=o&&o<=65487||65490<=o&&o<=65495||65498<=o&&o<=65500||65512<=o&&o<=65518?"H":4352<=o&&o<=4447||4515<=o&&o<=4519||4602<=o&&o<=4607||9001<=o&&o<=9002||11904<=o&&o<=11929||11931<=o&&o<=12019||12032<=o&&o<=12245||12272<=o&&o<=12283||12289<=o&&o<=12350||12353<=o&&o<=12438||12441<=o&&o<=12543||12549<=o&&o<=12589||12593<=o&&o<=12686||12688<=o&&o<=12730||12736<=o&&o<=12771||12784<=o&&o<=12830||12832<=o&&o<=12871||12880<=o&&o<=13054||13056<=o&&o<=19903||19968<=o&&o<=42124||42128<=o&&o<=42182||43360<=o&&o<=43388||44032<=o&&o<=55203||55216<=o&&o<=55238||55243<=o&&o<=55291||63744<=o&&o<=64255||65040<=o&&o<=65049||65072<=o&&o<=65106||65108<=o&&o<=65126||65128<=o&&o<=65131||110592<=o&&o<=110593||127488<=o&&o<=127490||127504<=o&&o<=127546||127552<=o&&o<=127560||127568<=o&&o<=127569||131072<=o&&o<=194367||177984<=o&&o<=196605||196608<=o&&o<=262141?"W":32<=o&&o<=126||162<=o&&o<=163||165<=o&&o<=166||o==172||o==175||10214<=o&&o<=10221||10629<=o&&o<=10630?"Na":o==161||o==164||167<=o&&o<=168||o==170||173<=o&&o<=174||176<=o&&o<=180||182<=o&&o<=186||188<=o&&o<=191||o==198||o==208||215<=o&&o<=216||222<=o&&o<=225||o==230||232<=o&&o<=234||236<=o&&o<=237||o==240||242<=o&&o<=243||247<=o&&o<=250||o==252||o==254||o==257||o==273||o==275||o==283||294<=o&&o<=295||o==299||305<=o&&o<=307||o==312||319<=o&&o<=322||o==324||328<=o&&o<=331||o==333||338<=o&&o<=339||358<=o&&o<=359||o==363||o==462||o==464||o==466||o==468||o==470||o==472||o==474||o==476||o==593||o==609||o==708||o==711||713<=o&&o<=715||o==717||o==720||728<=o&&o<=731||o==733||o==735||768<=o&&o<=879||913<=o&&o<=929||931<=o&&o<=937||945<=o&&o<=961||963<=o&&o<=969||o==1025||1040<=o&&o<=1103||o==1105||o==8208||8211<=o&&o<=8214||8216<=o&&o<=8217||8220<=o&&o<=8221||8224<=o&&o<=8226||8228<=o&&o<=8231||o==8240||8242<=o&&o<=8243||o==8245||o==8251||o==8254||o==8308||o==8319||8321<=o&&o<=8324||o==8364||o==8451||o==8453||o==8457||o==8467||o==8470||8481<=o&&o<=8482||o==8486||o==8491||8531<=o&&o<=8532||8539<=o&&o<=8542||8544<=o&&o<=8555||8560<=o&&o<=8569||o==8585||8592<=o&&o<=8601||8632<=o&&o<=8633||o==8658||o==8660||o==8679||o==8704||8706<=o&&o<=8707||8711<=o&&o<=8712||o==8715||o==8719||o==8721||o==8725||o==8730||8733<=o&&o<=8736||o==8739||o==8741||8743<=o&&o<=8748||o==8750||8756<=o&&o<=8759||8764<=o&&o<=8765||o==8776||o==8780||o==8786||8800<=o&&o<=8801||8804<=o&&o<=8807||8810<=o&&o<=8811||8814<=o&&o<=8815||8834<=o&&o<=8835||8838<=o&&o<=8839||o==8853||o==8857||o==8869||o==8895||o==8978||9312<=o&&o<=9449||9451<=o&&o<=9547||9552<=o&&o<=9587||9600<=o&&o<=9615||9618<=o&&o<=9621||9632<=o&&o<=9633||9635<=o&&o<=9641||9650<=o&&o<=9651||9654<=o&&o<=9655||9660<=o&&o<=9661||9664<=o&&o<=9665||9670<=o&&o<=9672||o==9675||9678<=o&&o<=9681||9698<=o&&o<=9701||o==9711||9733<=o&&o<=9734||o==9737||9742<=o&&o<=9743||9748<=o&&o<=9749||o==9756||o==9758||o==9792||o==9794||9824<=o&&o<=9825||9827<=o&&o<=9829||9831<=o&&o<=9834||9836<=o&&o<=9837||o==9839||9886<=o&&o<=9887||9918<=o&&o<=9919||9924<=o&&o<=9933||9935<=o&&o<=9953||o==9955||9960<=o&&o<=9983||o==10045||o==10071||10102<=o&&o<=10111||11093<=o&&o<=11097||12872<=o&&o<=12879||57344<=o&&o<=63743||65024<=o&&o<=65039||o==65533||127232<=o&&o<=127242||127248<=o&&o<=127277||127280<=o&&o<=127337||127344<=o&&o<=127386||917760<=o&&o<=917999||983040<=o&&o<=1048573||1048576<=o&&o<=1114109?"A":"N"},t.characterLength=function(r){var i=this.eastAsianWidth(r);return i=="F"||i=="W"||i=="A"?2:1};function n(r){return r.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}t.length=function(r){for(var i=n(r),a=0,o=0;o<i.length;o++)a=a+this.characterLength(i[o]);return a},t.slice=function(r,i,a){textLen=t.length(r),i=i||0,a=a||1,i<0&&(i=textLen+i),a<0&&(a=textLen+a);for(var o="",s=0,u=n(r),l=0;l<u.length;l++){var c=u[l],p=t.length(c);if(s>=i-(p==2?1:0))if(s+p<=a)o+=c;else break;s+=p}return o}})(Pi);var ku=Pi.exports,Ou=bi(ku),Lu=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},_u=bi(Lu);function Yt(e,t={}){if(typeof e!="string"||e.length===0||(t={ambiguousIsNarrow:!0,...t},e=wi(e),e.length===0))return 0;e=e.replace(_u()," ");let n=t.ambiguousIsNarrow?1:2,r=0;for(let i of e){let a=i.codePointAt(0);if(!(a<=31||a>=127&&a<=159||a>=768&&a<=879))switch(Ou.eastAsianWidth(i)){case"F":case"W":r+=2;break;case"A":r+=n;break;default:r+=1}}return r}var Sn=10,hi=(e=0)=>t=>`\x1B[${t+e}m`,xi=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,Ei=(e=0)=>(t,n,r)=>`\x1B[${38+e};2;${t};${n};${r}m`,W={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(W.modifier);var ju=Object.keys(W.color),Mu=Object.keys(W.bgColor);[...ju,...Mu];function Ku(){let e=new Map;for(let[t,n]of Object.entries(W)){for(let[r,i]of Object.entries(n))W[r]={open:`\x1B[${i[0]}m`,close:`\x1B[${i[1]}m`},n[r]=W[r],e.set(i[0],i[1]);Object.defineProperty(W,t,{value:n,enumerable:!1})}return Object.defineProperty(W,"codes",{value:e,enumerable:!1}),W.color.close="\x1B[39m",W.bgColor.close="\x1B[49m",W.color.ansi=hi(),W.color.ansi256=xi(),W.color.ansi16m=Ei(),W.bgColor.ansi=hi(Sn),W.bgColor.ansi256=xi(Sn),W.bgColor.ansi16m=Ei(Sn),Object.defineProperties(W,{rgbToAnsi256:{value:(t,n,r)=>t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5),enumerable:!1},hexToRgb:{value:t=>{let n=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!n)return[0,0,0];let[r]=n;r.length===3&&(r=[...r].map(a=>a+a).join(""));let i=Number.parseInt(r,16);return[i>>16&255,i>>8&255,i&255]},enumerable:!1},hexToAnsi256:{value:t=>W.rgbToAnsi256(...W.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value:t=>{if(t<8)return 30+t;if(t<16)return 90+(t-8);let n,r,i;if(t>=232)n=((t-232)*10+8)/255,r=n,i=n;else{t-=16;let s=t%36;n=Math.floor(t/36)/5,r=Math.floor(s/6)/5,i=s%6/5}let a=Math.max(n,r,i)*2;if(a===0)return 30;let o=30+(Math.round(i)<<2|Math.round(r)<<1|Math.round(n));return a===2&&(o+=60),o},enumerable:!1},rgbToAnsi:{value:(t,n,r)=>W.ansi256ToAnsi(W.rgbToAnsi256(t,n,r)),enumerable:!1},hexToAnsi:{value:t=>W.ansi256ToAnsi(W.hexToAnsi256(t)),enumerable:!1}}),W}var Vu=Ku(),$r=new Set(["\x1B","\x9B"]),Uu=39,bn="\x07",Ti="[",zu="]",Ii="m",Pn=`${zu}8;;`,Fi=e=>`${$r.values().next().value}${Ti}${e}${Ii}`,yi=e=>`${$r.values().next().value}${Pn}${e}${bn}`,qu=e=>e.split(" ").map(t=>Yt(t)),An=(e,t,n)=>{let r=[...t],i=!1,a=!1,o=Yt(wi(e[e.length-1]));for(let[s,u]of r.entries()){let l=Yt(u);if(o+l<=n?e[e.length-1]+=u:(e.push(u),o=0),$r.has(u)&&(i=!0,a=r.slice(s+1).join("").startsWith(Pn)),i){a?u===bn&&(i=!1,a=!1):u===Ii&&(i=!1);continue}o+=l,o===n&&s<r.length-1&&(e.push(""),o=0)}!o&&e[e.length-1].length>0&&e.length>1&&(e[e.length-2]+=e.pop())},Wu=e=>{let t=e.split(" "),n=t.length;for(;n>0&&!(Yt(t[n-1])>0);)n--;return n===t.length?e:t.slice(0,n).join(" ")+t.slice(n).join("")},Ju=(e,t,n={})=>{if(n.trim!==!1&&e.trim()==="")return"";let r="",i,a,o=qu(e),s=[""];for(let[l,c]of e.split(" ").entries()){n.trim!==!1&&(s[s.length-1]=s[s.length-1].trimStart());let p=Yt(s[s.length-1]);if(l!==0&&(p>=t&&(n.wordWrap===!1||n.trim===!1)&&(s.push(""),p=0),(p>0||n.trim===!1)&&(s[s.length-1]+=" ",p++)),n.hard&&o[l]>t){let m=t-p,C=1+Math.floor((o[l]-m-1)/t);Math.floor((o[l]-1)/t)<C&&s.push(""),An(s,c,t);continue}if(p+o[l]>t&&p>0&&o[l]>0){if(n.wordWrap===!1&&p<t){An(s,c,t);continue}s.push("")}if(p+o[l]>t&&n.wordWrap===!1){An(s,c,t);continue}s[s.length-1]+=c}n.trim!==!1&&(s=s.map(l=>Wu(l)));let u=[...s.join(`
|
|
248
|
+
`)];for(let[l,c]of u.entries()){if(r+=c,$r.has(c)){let{groups:m}=new RegExp(`(?:\\${Ti}(?<code>\\d+)m|\\${Pn}(?<uri>.*)${bn})`).exec(u.slice(l).join(""))||{groups:{}};if(m.code!==void 0){let C=Number.parseFloat(m.code);i=C===Uu?void 0:C}else m.uri!==void 0&&(a=m.uri.length===0?void 0:m.uri)}let p=Vu.codes.get(Number(i));u[l+1]===`
|
|
249
|
+
`?(a&&(r+=yi("")),i&&p&&(r+=Fi(p))):c===`
|
|
250
|
+
`&&(i&&p&&(r+=Fi(i)),a&&(r+=yi(a)))}return r};function Si(e,t,n){return String(e).normalize().replace(/\r\n/g,`
|
|
251
251
|
`).split(`
|
|
252
|
-
`).map(r=>
|
|
253
|
-
`)}var
|
|
252
|
+
`).map(r=>Ju(r,t,n)).join(`
|
|
253
|
+
`)}var Gu=Object.defineProperty,Hu=(e,t,n)=>t in e?Gu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Fe=(e,t,n)=>(Hu(e,typeof t!="symbol"?t+"":t,n),n);function Qu(e,t){if(e===t)return;let n=e.split(`
|
|
254
254
|
`),r=t.split(`
|
|
255
|
-
`),i=[];for(let a=0;a<Math.max(n.length,r.length);a++)n[a]!==r[a]&&i.push(a);return i}var
|
|
256
|
-
`),
|
|
257
|
-
`).length-1;this.output.write(
|
|
258
|
-
`);this.output.write(i[r]),this._prevFrame=t,this.output.write(
|
|
255
|
+
`),i=[];for(let a=0;a<Math.max(n.length,r.length);a++)n[a]!==r[a]&&i.push(a);return i}var Bi=Symbol("clack:cancel");function Dt(e){return e===Bi}function Br(e,t){e.isTTY&&e.setRawMode(t)}var Ai=new Map([["k","up"],["j","down"],["h","left"],["l","right"]]),Yu=new Set(["up","down","left","right","space","enter"]),wn=class{constructor({render:t,input:n=Nr.stdin,output:r=Nr.stdout,...i},a=!0){Fe(this,"input"),Fe(this,"output"),Fe(this,"rl"),Fe(this,"opts"),Fe(this,"_track",!1),Fe(this,"_render"),Fe(this,"_cursor",0),Fe(this,"state","initial"),Fe(this,"value"),Fe(this,"error",""),Fe(this,"subscribers",new Map),Fe(this,"_prevFrame",""),this.opts=i,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=t.bind(this),this._track=a,this.input=n,this.output=r}prompt(){let t=new vi.WriteStream(0);return t._write=(n,r,i)=>{this._track&&(this.value=this.rl.line.replace(/\t/g,""),this._cursor=this.rl.cursor,this.emit("value",this.value)),i()},this.input.pipe(t),this.rl=vn.default.createInterface({input:this.input,output:t,tabSize:2,prompt:"",escapeCodeTimeout:50}),vn.default.emitKeypressEvents(this.input,this.rl),this.rl.prompt(),this.opts.initialValue!==void 0&&this._track&&this.rl.write(this.opts.initialValue),this.input.on("keypress",this.onKeypress),Br(this.input,!0),this.output.on("resize",this.render),this.render(),new Promise((n,r)=>{this.once("submit",()=>{this.output.write(ge.cursor.show),this.output.off("resize",this.render),Br(this.input,!1),n(this.value)}),this.once("cancel",()=>{this.output.write(ge.cursor.show),this.output.off("resize",this.render),Br(this.input,!1),n(Bi)})})}on(t,n){let r=this.subscribers.get(t)??[];r.push({cb:n}),this.subscribers.set(t,r)}once(t,n){let r=this.subscribers.get(t)??[];r.push({cb:n,once:!0}),this.subscribers.set(t,r)}emit(t,...n){let r=this.subscribers.get(t)??[],i=[];for(let a of r)a.cb(...n),a.once&&i.push(()=>r.splice(r.indexOf(a),1));for(let a of i)a()}unsubscribe(){this.subscribers.clear()}onKeypress(t,n){if(this.state==="error"&&(this.state="active"),n?.name&&!this._track&&Ai.has(n.name)&&this.emit("cursor",Ai.get(n.name)),n?.name&&Yu.has(n.name)&&this.emit("cursor",n.name),t&&(t.toLowerCase()==="y"||t.toLowerCase()==="n")&&this.emit("confirm",t.toLowerCase()==="y"),t===" "&&this.opts.placeholder&&(this.value||(this.rl.write(this.opts.placeholder),this.emit("value",this.opts.placeholder))),t&&this.emit("key",t.toLowerCase()),n?.name==="return"){if(this.opts.validate){let r=this.opts.validate(this.value);r&&(this.error=r,this.state="error",this.rl.write(this.value))}this.state!=="error"&&(this.state="submit")}t===""&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
|
|
256
|
+
`),Br(this.input,!1),this.rl.close(),this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let t=Si(this._prevFrame,process.stdout.columns,{hard:!0}).split(`
|
|
257
|
+
`).length-1;this.output.write(ge.cursor.move(-999,t*-1))}render(){let t=Si(this._render(this)??"",process.stdout.columns,{hard:!0});if(t!==this._prevFrame){if(this.state==="initial")this.output.write(ge.cursor.hide);else{let n=Qu(this._prevFrame,t);if(this.restoreCursor(),n&&n?.length===1){let r=n[0];this.output.write(ge.cursor.move(0,r)),this.output.write(ge.erase.lines(1));let i=t.split(`
|
|
258
|
+
`);this.output.write(i[r]),this._prevFrame=t,this.output.write(ge.cursor.move(0,i.length-r-1));return}else if(n&&n?.length>1){let r=n[0];this.output.write(ge.cursor.move(0,r)),this.output.write(ge.erase.down());let i=t.split(`
|
|
259
259
|
`).slice(r);this.output.write(i.join(`
|
|
260
|
-
`)),this._prevFrame=t;return}this.output.write(
|
|
261
|
-
${
|
|
262
|
-
`,i=this.value?t:n;switch(this.state){case"submit":return`${r}${
|
|
263
|
-
${
|
|
264
|
-
${
|
|
265
|
-
`}}}).prompt()};var
|
|
266
|
-
|
|
267
|
-
`)}
|
|
268
|
-
`)
|
|
260
|
+
`)),this._prevFrame=t;return}this.output.write(ge.erase.down())}this.output.write(t),this.state==="initial"&&(this.state="active"),this._prevFrame=t}}},Rr=class extends wn{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(t){super(t,!1),this.value=!!t.initialValue,this.on("value",()=>{this.value=this._value}),this.on("confirm",n=>{this.output.write(ge.cursor.move(0,-1)),this.value=n,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}};var _f=globalThis.process.platform.startsWith("win");var ye=I(require("node:process"),1),N=I(qe(),1),$i=I(Pr(),1);function Xu(){return ye.default.platform!=="win32"?ye.default.env.TERM!=="linux":!!ye.default.env.CI||!!ye.default.env.WT_SESSION||!!ye.default.env.TERMINUS_SUBLIME||ye.default.env.ConEmuTask==="{cmd::Cmder}"||ye.default.env.TERM_PROGRAM==="Terminus-Sublime"||ye.default.env.TERM_PROGRAM==="vscode"||ye.default.env.TERM==="xterm-256color"||ye.default.env.TERM==="alacritty"||ye.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var Zu=Xu(),Y=(e,t)=>Zu?e:t,el=Y("\u25C6","*"),tl=Y("\u25A0","x"),rl=Y("\u25B2","x"),ki=Y("\u25C7","o"),nl=Y("\u250C","T"),We=Y("\u2502","|"),Tn=Y("\u2514","\u2014"),Ri=Y("\u25CF",">"),Ni=Y("\u25CB"," "),Gf=Y("\u25FB","[\u2022]"),Hf=Y("\u25FC","[+]"),Qf=Y("\u25FB","[ ]"),Yf=Y("\u25AA","\u2022"),Xf=Y("\u2500","-"),Zf=Y("\u256E","+"),ed=Y("\u251C","+"),td=Y("\u256F","+"),ol=Y("\u25CF","\u2022"),il=Y("\u25C6","*"),al=Y("\u25B2","!"),sl=Y("\u25A0","x"),ul=e=>{switch(e){case"initial":case"active":return N.default.cyan(el);case"cancel":return N.default.red(tl);case"error":return N.default.yellow(rl);case"submit":return N.default.green(ki)}};var Xt=e=>{let t=e.active??"Yes",n=e.inactive??"No";return new Rr({active:t,inactive:n,initialValue:e.initialValue??!0,render(){let r=`${N.default.gray(We)}
|
|
261
|
+
${ul(this.state)} ${e.message}
|
|
262
|
+
`,i=this.value?t:n;switch(this.state){case"submit":return`${r}${N.default.gray(We)} ${N.default.dim(i)}`;case"cancel":return`${r}${N.default.gray(We)} ${N.default.strikethrough(N.default.dim(i))}
|
|
263
|
+
${N.default.gray(We)}`;default:return`${r}${N.default.cyan(We)} ${this.value?`${N.default.green(Ri)} ${t}`:`${N.default.dim(Ni)} ${N.default.dim(t)}`} ${N.default.dim("/")} ${this.value?`${N.default.dim(Ni)} ${N.default.dim(n)}`:`${N.default.green(Ri)} ${n}`}
|
|
264
|
+
${N.default.cyan(Tn)}
|
|
265
|
+
`}}}).prompt()};var Zt=(e="")=>{process.stdout.write(`${N.default.gray(Tn)} ${N.default.red(e)}
|
|
266
|
+
|
|
267
|
+
`)},Rt=(e="")=>{process.stdout.write(`${N.default.gray(nl)} ${e}
|
|
268
|
+
`)},er=(e="")=>{process.stdout.write(`${N.default.gray(We)}
|
|
269
|
+
${N.default.gray(Tn)} ${e}
|
|
270
|
+
|
|
271
|
+
`)},J={message:(e="",{symbol:t=N.default.gray(We)}={})=>{let n=[`${N.default.gray(We)}`];if(e){let[r,...i]=e.split(`
|
|
272
|
+
`);n.push(`${t} ${r}`,...i.map(a=>`${N.default.gray(We)} ${a}`))}process.stdout.write(`${n.join(`
|
|
269
273
|
`)}
|
|
270
|
-
`)},info:e=>{
|
|
271
|
-
`)
|
|
272
|
-
`),
|
|
273
|
-
`),r;for(;(r=Ku.exec(n))!=null;){let i=r[1],a=r[2]||"";a=a.trim();let o=a[0];a=a.replace(/^(['"`])([\s\S]*)\1$/gm,"$2"),o==='"'&&(a=a.replace(/\\n/g,`
|
|
274
|
-
`),a=a.replace(/\\r/g,"\r")),t[i]=a}return t}var Ku=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;async function tt(e,t,n,r){let i="# https://www.builder.io/c/docs/using-your-api-key",a=await e.readFile(t);if(a)if(a.includes(n))if(a.includes(r))e.debug(`"${n}" with "${r}" already set in ${t}`);else return e.debug(`Replace "${n}" in ${t}`),a=a.replace(new RegExp(`${n}=.*`),`${n}=${r}`),await e.writeFile(t,a),"update";else return e.debug(`Append "${n}" to ${t}`),a+=`
|
|
274
|
+
`)},info:e=>{J.message(e,{symbol:N.default.blue(ol)})},success:e=>{J.message(e,{symbol:N.default.green(il)})},step:e=>{J.message(e,{symbol:N.default.green(ki)})},warn:e=>{J.message(e,{symbol:N.default.yellow(al)})},warning:e=>{J.warn(e)},error:e=>{J.message(e,{symbol:N.default.red(sl)})}};var ct=I(qe(),1),rt=I(require("@sentry/node"),1);var Q=I(require("typescript"),1);var bo=I(require("@sentry/node"),1);var Z=I(qe(),1);async function Ie(e){let t=Oi(e),n=await e.readFile(t);return typeof n=="string"?JSON.parse(n):{}}async function Be(e,t){t=typeof t=="object"&&t!=null?t:{};let n=Oi(e);await e.writeFile(n,JSON.stringify(t??{},null,2))}function Oi(e){let t=e.getAppRootDir();return e.join(t,"node_modules",".builder","builder-cache.json")}async function nt(e,t,n){let r={envKey:n,envValue:null,file:""};for(let i of t){let a=e.join(e.getAppRootDir(),i),o=await ll(e,a);if(o){let s=o[n];if(typeof s=="string"&&s.length>0&&s!=="YOUR_API_KEY")return r.envValue=s,r.file=a,r}}return r.file=e.join(e.getAppRootDir(),t[t.length-1]),r}async function ll(e,t){let n=await e.readFile(t);return typeof n=="string"?Li(n):null}function Li(e){let t={},n=e.replace(/\r\n?/gm,`
|
|
275
|
+
`),r;for(;(r=cl.exec(n))!=null;){let i=r[1],a=r[2]||"";a=a.trim();let o=a[0];a=a.replace(/^(['"`])([\s\S]*)\1$/gm,"$2"),o==='"'&&(a=a.replace(/\\n/g,`
|
|
276
|
+
`),a=a.replace(/\\r/g,"\r")),t[i]=a}return t}var cl=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;async function ot(e,t,n,r){let i="# https://www.builder.io/c/docs/using-your-api-key",a=await e.readFile(t);if(a)if(a.includes(n))if(a.includes(r))e.debug(`"${n}" with "${r}" already set in ${t}`);else return e.debug(`Replace "${n}" in ${t}`),a=a.replace(new RegExp(`${n}=.*`),`${n}=${r}`),await e.writeFile(t,a),"update";else return e.debug(`Append "${n}" to ${t}`),a+=`
|
|
275
277
|
|
|
276
278
|
${i}
|
|
277
279
|
${n}=${r}
|
|
278
280
|
|
|
279
281
|
`,await e.writeFile(t,a),"update";else return e.debug(`Creating new .env file with "${n}" at ${t}`),a=[i,`${n}=${r}`,""].join(`
|
|
280
|
-
`),await e.writeFile(t,a),"create";return null}async function Yt(e){return await et(e,[".env.local",".env.development.local",".env.production.local",".env.development",".env.production",".env"],Ie)}async function Ai(e,t){let n=await Yt(e),r=await tt(e,n.file,n.envKey,t);return{...n,modifiedType:r}}var Ie="NEXT_PUBLIC_BUILDER_API_KEY";function It(e,t,n,r,i=!0){let a=t.properties.filter(s=>e.ts.isPropertyAssignment(s)),o=Uu(e,t,n);return o>-1?r==null&&i?e.ts.factory.updateObjectLiteralExpression(t,a.filter((s,u)=>u!==o)):(a[o]=e.ts.factory.updatePropertyAssignment(a[o],a[o].name,Xt(e,r)),e.ts.factory.updateObjectLiteralExpression(t,a)):(r!=null&&a.push(e.ts.factory.createPropertyAssignment(n,Xt(e,r))),e.ts.factory.updateObjectLiteralExpression(t,a))}function Uu(e,t,n){return t.properties.findIndex(r=>L(e,r)===n)}function Zt(e,t){switch(t.kind){case e.ts.SyntaxKind.ArrayLiteralExpression:return qu(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return zu(e,t);case e.ts.SyntaxKind.StringLiteral:return t.text;case e.ts.SyntaxKind.NumericLiteral:return Number(t.text);case e.ts.SyntaxKind.NoSubstitutionTemplateLiteral:return t.text;case e.ts.SyntaxKind.TrueKeyword:return!0;case e.ts.SyntaxKind.FalseKeyword:return!1;case e.ts.SyntaxKind.Identifier:switch(t.escapedText){case"undefined":return;case"null":return null;case"String":return String;case"Number":return Number;case"Boolean":return Boolean;case"NaN":return NaN}}}function zu(e,t){let n={};if(t&&e.ts.isObjectLiteralExpression(t)){for(let r of t.properties)if(e.ts.isPropertyAssignment(r)){let i=L(e,r);i&&(n[i]=Zt(e,r.initializer))}}return n}function qu(e,t){return t&&e.ts.isArrayLiteralExpression(t)?t.elements.map(n=>Zt(e,n)):[]}function L(e,t){if(t&&e.ts.isPropertyAssignment(t)){let n=t.name;switch(n.kind){case e.ts.SyntaxKind.Identifier:return n.text;case e.ts.SyntaxKind.StringLiteral:case e.ts.SyntaxKind.NumericLiteral:return n.text;case e.ts.SyntaxKind.ComputedPropertyName:let r=n.expression;if(e.ts.isStringLiteral(r)||e.ts.isNumericLiteral(r))return n.expression.text}}}function Xt(e,t){return En(e,t,new WeakSet)}function En(e,t,n){return t===void 0?e.ts.factory.createIdentifier("undefined"):t===null?e.ts.factory.createIdentifier("null"):typeof t=="string"?e.ts.factory.createStringLiteral(t):typeof t=="number"?isNaN(t)?e.ts.factory.createIdentifier("NaN"):e.ts.factory.createNumericLiteral(t):t===!0?e.ts.factory.createTrue():t===!1?e.ts.factory.createFalse():t===String?e.ts.factory.createIdentifier("String"):t===Number?e.ts.factory.createIdentifier("Number"):t===Boolean?e.ts.factory.createIdentifier("Boolean"):Array.isArray(t)?Wu(e,t,n):typeof t=="object"?Ju(e,t,n):e.ts.factory.createIdentifier(t)}function Wu(e,t,n){let r=t.map(i=>En(e,i,n));return e.ts.factory.createArrayLiteralExpression(r,!0)}function Ju(e,t,n){if(n.has(t))return e.ts.factory.createIdentifier("undefined");n.add(t);let r=Object.keys(t).map(i=>e.ts.factory.createPropertyAssignment(i,En(e,t[i],n)));return e.ts.factory.createObjectLiteralExpression(r,!0)}function pt(e,t,n){let r=[];if(!n)return r;let i=null;if(e.ts.isArrowFunction(n)||e.ts.isFunctionExpression(n)||e.ts.isFunctionDeclaration(n)){let a=n.parameters;if(a.length>0){let o=a[0],s=t.getTypeAtLocation(o);s.aliasTypeArguments&&s.aliasTypeArguments.length>0?i=s.aliasTypeArguments[0].getProperties():i=s.getProperties()}}else if(e.ts.isIdentifier(n)){let a=t.getTypeAtLocation(n),o=a.symbol?.valueDeclaration;if(o&&e.ts.isClassDeclaration(o)){let u=o.heritageClauses?.find(l=>l.token===e.ts.SyntaxKind.ExtendsKeyword)?.types;if(u){for(let l of u)if(t.getSymbolAtLocation(l.expression)?.name==="Component"){if(e.ts.isExpressionWithTypeArguments(l)){let p=l.typeArguments;if(p){let m=p[0];i=t.getTypeFromTypeNode(m).getProperties()}}break}}}if(!i){let s=a.getCallSignatures();if(s.length>0){let u=s[0].getParameters();u.length>0&&(i=t.getTypeOfSymbolAtLocation(u[0],n).getProperties())}}}else if(e.ts.isExportSpecifier(n)){let a=t.getSymbolAtLocation(n.name);if(a){let s=t.getTypeOfSymbolAtLocation(a,n).getCallSignatures();if(s.length>0){let u=s[0].getParameters();u.length>0&&(i=t.getTypeOfSymbolAtLocation(u[0],n).getProperties())}}}if(i)for(let a of i){let o=Gu(e,t,a);o&&r.push(o)}return r=r.filter(wi),r.length>0?r:Hu(e,n)}function Gu(e,t,n){let r=n.valueDeclaration,i=n.getName();if(r||(r=n.getDeclarations()?.[0]),r&&e.ts.isPropertySignature(r)){if(i!=="children"&&r.getSourceFile().fileName.includes("node_modules/@types/"))return null;let a="string",o;if(r?.type){let u=t.getTypeFromTypeNode(r.type),l=t.typeToString(u),c=xn(l);c.knownType?a=c.builderType:Yu(l)||u.flags&e.ts.TypeFlags.StringLike?a="string":u.flags&e.ts.TypeFlags.NumberLike?a="number":u.flags&e.ts.TypeFlags.IndexedAccess?a="list":u.flags&e.ts.TypeFlags.Object||u.isUnion()&&u.types.every(p=>p.flags&e.ts.TypeFlags.Object)||u.isIntersection()&&u.types.some(p=>p.flags&e.ts.TypeFlags.Object)?a="object":a="string",l!==a&&(o=l)}let s={name:i,type:a,isRegistered:!1};if(o&&r.type){let u=tl(e,t,t.getTypeFromTypeNode(r.type));s.meta=s.meta||{},u&&u.length>0&&s.type==="string"&&u.every(Zu)?s.enum=u.map(el):s.meta.ts=o}return r.questionToken||(s.required=!0),s}return null}function Hu(e,t){let n=[],r=e.ts.getJSDocCommentsAndTags(t);for(let i of r)if(!(!e.ts.isJSDoc(i)||!i.tags))for(let a of i.tags){if(!e.ts.isJSDocParameterTag(a)||a.tagName.text!=="param")continue;let s=a.typeExpression?.type;if(!s||!e.ts.isJSDocTypeLiteral(s))continue;let u=s.jsDocPropertyTags;if(u)for(let l of u){if(!e.ts.isJSDocPropertyLikeTag(l))continue;let c=l.name;if(!e.ts.isQualifiedName(c))continue;let p=l.typeExpression;if(!p)continue;let m="";switch(p.type.kind){case e.ts.SyntaxKind.StringKeyword:{m="string";break}case e.ts.SyntaxKind.NumberKeyword:{m="number";break}case e.ts.SyntaxKind.BooleanKeyword:{m="boolean";break}default:continue}let D={name:c.right.text,type:m,isRegistered:!1};n.push(D)}}return n.filter(wi)}var Qu=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function Yu(e){return typeof e!="string"?!1:!!Qu.some(t=>e.includes(t))}function xn(e){return typeof e=="string"&&(e=e.trim(),Xu.some(t=>t.value===e))?{builderType:e,knownType:!0}:{builderType:"string",knownType:!1}}var Xu=[{value:"boolean",text:"boolean"},{value:"color",text:"color (provides a color in hex or rgb)"},{value:"date",text:"date (same format as the Date constructor)"},{value:"email",text:"email"},{value:"file",text:"file (uploads a file and provides a url)"},{value:"list",text:"list (collection of items)"},{value:"longText",text:"longText (multiline text editor)"},{value:"number",text:"number"},{value:"object",text:"object (set of specific names and values)"},{value:"richText",text:"richText (provides value as html)"},{value:"string",text:"string"}];function Zu(e){return/^['"].*['"]$/.test(e)}function el(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var tl=(e,t,n)=>{let r=new Set;vi(e,t,n,r);let i=r.delete("true"),a=r.delete("false");(i||a)&&r.add("boolean");let o=Array.from(r.keys()).sort();if(o.length>1&&(o=o.map(s=>s.indexOf("=>")>=0?`(${s})`:s)),!(o.length>20))return o},rl=(e,t,n)=>{let r=e.ts.TypeFormatFlags.InElementType|e.ts.TypeFormatFlags.NoTruncation;return t.typeToString(n,void 0,r)},vi=(e,t,n,r)=>{if(n.isUnion())n.types.forEach(i=>{vi(e,t,i,r)});else if(n.isLiteral()){let i=rl(e,t,n);r.add(i)}};function wi(e){let t=e?.name;if(typeof t!="string"||t===""||t.startsWith("aria")||t.startsWith("data-"))return!1;if(t.startsWith("on")&&t.length>2){let n=t.charAt(2);if(n.toUpperCase()===n)return!1}return!nl.has(t.toLowerCase())}var nl=new Set(["about","accessKey","accessKeyLabel","asChild","autoCapitalize","autoCorrect","autoFocus","autoSave","blur","contentEditable","contextMenu","dangerouslySetInnerHTML","datatype","defaultChecked","defaultValue","dir","draggable","enterKeyHint","focus","form","formAction","formEncType","formMethod","formNoValidate","formTarget","inlist","innerText","inputMode","is","isContentEditable","itemID","itemProp","itemRef","itemScope","itemType","lang","nonce","offsetHeight","offsetLeft","offsetTop","offsetWidth","outerText","prefix","property","radioGroup","rel","resource","results","rev","role","security","slot","spellCheck","suppressContentEditableWarning","suppressHydrationWarning","tabIndex","translate","typeof","unselectable","vocab"].map(e=>e.toLowerCase()));function me(e,t,n){for(let r of n.properties){if(!e.ts.isPropertyAssignment(r))continue;let i=L(e,r);if(i==="name"&&e.ts.isStringLiteral(r.initializer)){t.name=r.initializer.text;continue}if(i==="description"&&e.ts.isStringLiteral(r.initializer)){t.description=r.initializer.text;continue}if(i==="image"&&e.ts.isStringLiteral(r.initializer)){t.image=r.initializer.text;continue}if(i==="inputs"&&e.ts.isArrayLiteralExpression(r.initializer)){let a=ol(e,r.initializer);De(t,a);continue}if(i==="meta"&&e.ts.isObjectLiteralExpression(r.initializer)){let a=Zt(e,r.initializer);a&&typeof a=="object"&&(t.meta=a);continue}}return t}function ol(e,t){let n=[];for(let r of t.elements)e.ts.isObjectLiteralExpression(r)&&n.push(il(e,r));return n}function il(e,t){let n=Zt(e,t),r=ml(n);return r.isRegistered=!0,r}function Z(e,t,n){let r=sl(n);return t=It(e,t,"name",r.name,!1),t=It(e,t,"description",r.description),t=It(e,t,"image",r.image),t=It(e,t,"meta",r.meta),t=al(e,t,r),fl(e,t)}function al(e,t,n){let r=null,i=t.properties.filter(s=>e.ts.isPropertyAssignment(s)&&e.ts.isIdentifier(s.name)),a=i.findIndex(s=>e.ts.isIdentifier(s.name)&&s.name.text==="inputs"),o=[...n.inputs??[]];if(a>-1){if(o.length===0)return It(e,t,"inputs",null);let s=i[a];e.ts.isPropertyAssignment(s)&&e.ts.isArrayLiteralExpression(s.initializer)&&(r=s.initializer)}return o.length===0?t:(r=ll(e,r||e.ts.factory.createArrayLiteralExpression(),o),a>-1?i[a]=e.ts.factory.updatePropertyAssignment(i[a],i[a].name,r):i.push(e.ts.factory.createPropertyAssignment("inputs",r)),e.ts.factory.updateObjectLiteralExpression(t,i))}function sl(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(n=>n.isRegistered).map(ul),...e.meta?{meta:{...e.meta}}:{}}}function ul(e){let t={name:e.name,type:e.type};return(ue(e.defaultValue)||Ut(e.defaultValue)||xt(e.defaultValue))&&(t.defaultValue=e.defaultValue),ue(e.friendlyName)&&(t.friendlyName=e.friendlyName),ue(e.helperText)&&(t.helperText=e.helperText),e.required===!0&&(t.required=!0),Array.isArray(e.enum)&&(t.enum=e.enum),e.hideFromUI===!0&&(t.hideFromUI=!0),typeof e.meta=="object"&&e.meta!=null&&Object.keys(e.meta).length>0&&(t.meta=e.meta),t}function ll(e,t,n){let r=t.elements.filter(i=>{if(!e.ts.isObjectLiteralExpression(i))return!1;let a=i.properties.find(s=>L(e,s)==="name");if(!a)return!1;let o=a.initializer;return e.ts.isStringLiteral(o)?n.some(s=>s.name===o.text):!1});for(let i of n)r=cl(e,r,i);return r.sort((i,a)=>{let o=i.properties.find(m=>L(e,m)==="name"),s=a.properties.find(m=>L(e,m)==="name"),u=o?.initializer,l=s?.initializer,c=u&&e.ts.isStringLiteral(u)?u.text:"zz",p=l&&e.ts.isStringLiteral(l)?l.text:"zz";return c.toLowerCase().localeCompare(p.toLowerCase())}),e.ts.factory.updateArrayLiteralExpression(t,r)}function cl(e,t,n){let r=t.findIndex(i=>i.properties.some(a=>{let o=L(e,a);return e.ts.isPropertyAssignment(a)&&o==="name"&&e.ts.isStringLiteral(a.initializer)&&a.initializer.text===n.name}));if(r>-1)t[r]=bi(e,t[r],n);else{let i=bi(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("name",e.ts.factory.createStringLiteral(n.name))],!0),n);t.push(i)}return t}function bi(e,t,n){let r=t.properties.filter(a=>e.ts.isPropertyAssignment(a)),i=Object.keys(n).filter(a=>a!=="isRegistered");for(let a of i)r=pl(e,r,n,a);return r=dl(e,r.filter(a=>{let o=L(e,a);return i.includes(o)})),e.ts.factory.updateObjectLiteralExpression(t,r)}function pl(e,t,n,r){let i=t.findIndex(a=>e.ts.isIdentifier(a.name)&&a.name.text===r);return i>-1?t[i]=e.ts.factory.updatePropertyAssignment(t[i],t[i].name,Xt(e,n[r])):t.push(e.ts.factory.createPropertyAssignment(r,Xt(e,n[r]))),t}function De(e,t){for(let n of t){let r=e.inputs.findIndex(i=>i.name===n.name);r>-1?(n.isRegistered||!e.inputs[r].isRegistered)&&(e.inputs[r]=n):e.inputs.push(n)}e.acceptsChildren=Fn(e)}function ml(e){let t=xn(e.type),n={name:e.name.trim(),type:t.builderType};return ue(e.friendlyName)&&e.friendlyName.trim()!==e.name.trim()&&(n.friendlyName=e.friendlyName),(ue(e.defaultValue)||Ut(e.defaultValue)||xt(e.defaultValue))&&(n.defaultValue=e.defaultValue),ue(e.helperText)&&(n.helperText=e.helperText),xt(e.required)&&(n.required=e.required),typeof e.meta=="object"&&e.meta!=null&&Object.keys(e.meta).length>0&&(n.meta=e.meta),Array.isArray(e.enum)&&e.enum.length>0&&(n.enum=e.enum),e.hideFromUI===!0&&(n.hideFromUI=!0),yn(n)}function Fn(e){let t=e.inputs.some(r=>r.name==="children"),n=e.inputs.some(r=>r.meta?.ts==="ReactNode");return!!(t||n||e.acceptsChildren===!0)}function yn(e){if(e.name==="children"&&(e.hideFromUI=!0,delete e.required),e.type==="object"&&e.defaultValue==null&&(e.hideFromUI=!0),e.type==="list"&&e.defaultValue==null&&(e.hideFromUI=!0),e.meta){let t=e.meta.ts;typeof t=="string"&&(t=t.trim(),t.endsWith("ReactNode")&&(t="ReactNode"),e.meta.ts=t,t==="ReactNode"&&(e.hideFromUI=!0))}return e}function fl(e,t){let n=[...t.properties].sort((r,i)=>{let a=L(e,r)||"zz",o=L(e,i)||"zz";if(a==="inputs")return 1;let s=Pi.indexOf(a),u=Pi.indexOf(o);return s>-1?u>-1&&s>u?1:-1:u>-1?s>-1&&u<s?-1:1:a.localeCompare(o)});return e.ts.factory.updateObjectLiteralExpression(t,n)}var Pi=["component","name","description"];function dl(e,t){return[...t].sort((r,i)=>{let a=L(e,r)||"zz",o=L(e,i)||"zz",s=Ti.indexOf(a),u=Ti.indexOf(o);return s>-1?u>-1&&s>u?1:-1:u>-1?s>-1&&u<s?-1:1:a.localeCompare(o)})}var Ti=["name","type"];function Bt(e,t){for(let n of t.properties){if(!e.ts.isPropertyAssignment(n)||!e.ts.isIdentifier(n.name))continue;if(L(e,n)==="canHaveChildren"){let{initializer:i}=n;return i.kind===e.ts.SyntaxKind.TrueKeyword}}return!1}function Ii(e,t){let n=`Builder.registerComponent(
|
|
282
|
+
`),await e.writeFile(t,a),"create";return null}async function tr(e){return await nt(e,[".env.local",".env.development.local",".env.production.local",".env.development",".env.production",".env"],Re)}async function _i(e,t){let n=await tr(e),r=await ot(e,n.file,n.envKey,t);return{...n,modifiedType:r}}var Re="NEXT_PUBLIC_BUILDER_API_KEY";function Nt(e,t,n,r,i=!0){let a=t.properties.filter(s=>e.ts.isPropertyAssignment(s)),o=pl(e,t,n);return o>-1?r==null&&i?e.ts.factory.updateObjectLiteralExpression(t,a.filter((s,u)=>u!==o)):(a[o]=e.ts.factory.updatePropertyAssignment(a[o],a[o].name,rr(e,r)),e.ts.factory.updateObjectLiteralExpression(t,a)):(r!=null&&a.push(e.ts.factory.createPropertyAssignment(n,rr(e,r))),e.ts.factory.updateObjectLiteralExpression(t,a))}function pl(e,t,n){return t.properties.findIndex(r=>_(e,r)===n)}function nr(e,t){switch(t.kind){case e.ts.SyntaxKind.ArrayLiteralExpression:return fl(e,t);case e.ts.SyntaxKind.ObjectLiteralExpression:return ml(e,t);case e.ts.SyntaxKind.StringLiteral:return t.text;case e.ts.SyntaxKind.NumericLiteral:return Number(t.text);case e.ts.SyntaxKind.NoSubstitutionTemplateLiteral:return t.text;case e.ts.SyntaxKind.TrueKeyword:return!0;case e.ts.SyntaxKind.FalseKeyword:return!1;case e.ts.SyntaxKind.Identifier:switch(t.escapedText){case"undefined":return;case"null":return null;case"String":return String;case"Number":return Number;case"Boolean":return Boolean;case"NaN":return NaN}}}function ml(e,t){let n={};if(t&&e.ts.isObjectLiteralExpression(t)){for(let r of t.properties)if(e.ts.isPropertyAssignment(r)){let i=_(e,r);i&&(n[i]=nr(e,r.initializer))}}return n}function fl(e,t){return t&&e.ts.isArrayLiteralExpression(t)?t.elements.map(n=>nr(e,n)):[]}function _(e,t){if(t&&e.ts.isPropertyAssignment(t)){let n=t.name;switch(n.kind){case e.ts.SyntaxKind.Identifier:return n.text;case e.ts.SyntaxKind.StringLiteral:case e.ts.SyntaxKind.NumericLiteral:return n.text;case e.ts.SyntaxKind.ComputedPropertyName:let r=n.expression;if(e.ts.isStringLiteral(r)||e.ts.isNumericLiteral(r))return n.expression.text}}}function rr(e,t){return In(e,t,new WeakSet)}function In(e,t,n){return t===void 0?e.ts.factory.createIdentifier("undefined"):t===null?e.ts.factory.createIdentifier("null"):typeof t=="string"?e.ts.factory.createStringLiteral(t):typeof t=="number"?isNaN(t)?e.ts.factory.createIdentifier("NaN"):e.ts.factory.createNumericLiteral(t):t===!0?e.ts.factory.createTrue():t===!1?e.ts.factory.createFalse():t===String?e.ts.factory.createIdentifier("String"):t===Number?e.ts.factory.createIdentifier("Number"):t===Boolean?e.ts.factory.createIdentifier("Boolean"):Array.isArray(t)?dl(e,t,n):typeof t=="object"?Dl(e,t,n):e.ts.factory.createIdentifier(t)}function dl(e,t,n){let r=t.map(i=>In(e,i,n));return e.ts.factory.createArrayLiteralExpression(r,!0)}function Dl(e,t,n){if(n.has(t))return e.ts.factory.createIdentifier("undefined");n.add(t);let r=Object.keys(t).map(i=>e.ts.factory.createPropertyAssignment(i,In(e,t[i],n)));return e.ts.factory.createObjectLiteralExpression(r,!0)}function gt(e,t,n){let r=[];if(!n)return r;let i=null;if(e.ts.isArrowFunction(n)||e.ts.isFunctionExpression(n)||e.ts.isFunctionDeclaration(n)){let a=n.parameters;if(a.length>0){let o=a[0],s=t.getTypeAtLocation(o);s.aliasTypeArguments&&s.aliasTypeArguments.length>0?i=s.aliasTypeArguments[0].getProperties():i=s.getProperties()}}else if(e.ts.isIdentifier(n)){let a=t.getTypeAtLocation(n),o=a.symbol?.valueDeclaration;if(o&&e.ts.isClassDeclaration(o)){let u=o.heritageClauses?.find(l=>l.token===e.ts.SyntaxKind.ExtendsKeyword)?.types;if(u){for(let l of u)if(t.getSymbolAtLocation(l.expression)?.name==="Component"){if(e.ts.isExpressionWithTypeArguments(l)){let p=l.typeArguments;if(p){let m=p[0];i=t.getTypeFromTypeNode(m).getProperties()}}break}}}if(!i){let s=a.getCallSignatures();if(s.length>0){let u=s[0].getParameters();u.length>0&&(i=t.getTypeOfSymbolAtLocation(u[0],n).getProperties())}}}else if(e.ts.isExportSpecifier(n)){let a=t.getSymbolAtLocation(n.name);if(a){let s=t.getTypeOfSymbolAtLocation(a,n).getCallSignatures();if(s.length>0){let u=s[0].getParameters();u.length>0&&(i=t.getTypeOfSymbolAtLocation(u[0],n).getProperties())}}}if(i)for(let a of i){let o=gl(e,t,a);o&&r.push(o)}return r=r.filter(Mi),r.length>0?r:Cl(e,n)}function gl(e,t,n){let r=n.valueDeclaration,i=n.getName();if(r||(r=n.getDeclarations()?.[0]),r&&e.ts.isPropertySignature(r)){if(i!=="children"&&r.getSourceFile().fileName.includes("node_modules/@types/"))return null;let a="string",o;if(r?.type){let u=t.getTypeFromTypeNode(r.type),l=t.typeToString(u),c=Bn(l);c.knownType?a=c.builderType:xl(l)||u.flags&e.ts.TypeFlags.StringLike?a="string":u.flags&e.ts.TypeFlags.NumberLike?a="number":u.flags&e.ts.TypeFlags.IndexedAccess?a="list":u.flags&e.ts.TypeFlags.Object||u.isUnion()&&u.types.every(p=>p.flags&e.ts.TypeFlags.Object)||u.isIntersection()&&u.types.some(p=>p.flags&e.ts.TypeFlags.Object)?a="object":a="string",l!==a&&(o=l)}let s={name:i,type:a,isRegistered:!1};if(o&&r.type){let u=Sl(e,t,t.getTypeFromTypeNode(r.type));s.meta=s.meta||{},u&&u.length>0&&s.type==="string"&&u.every(Fl)?s.enum=u.map(yl):s.meta.ts=o}return r.questionToken||(s.required=!0),s}return null}function Cl(e,t){let n=[],r=e.ts.getJSDocCommentsAndTags(t);for(let i of r)if(!(!e.ts.isJSDoc(i)||!i.tags))for(let a of i.tags){if(!e.ts.isJSDocParameterTag(a)||a.tagName.text!=="param")continue;let s=a.typeExpression?.type;if(!s||!e.ts.isJSDocTypeLiteral(s))continue;let u=s.jsDocPropertyTags;if(u)for(let l of u){if(!e.ts.isJSDocPropertyLikeTag(l))continue;let c=l.name;if(!e.ts.isQualifiedName(c))continue;let p=l.typeExpression;if(!p)continue;let m="";switch(p.type.kind){case e.ts.SyntaxKind.StringKeyword:{m="string";break}case e.ts.SyntaxKind.NumberKeyword:{m="number";break}case e.ts.SyntaxKind.BooleanKeyword:{m="boolean";break}default:continue}let D={name:c.right.text,type:m,isRegistered:!1};n.push(D)}}return n.filter(Mi)}var hl=["ClassicComponent","FunctionComponent","IntrinsicElements","JSX","ReactNode","ReactElement","ReactPortal"];function xl(e){return typeof e!="string"?!1:!!hl.some(t=>e.includes(t))}function Bn(e){return typeof e=="string"&&(e=e.trim(),El.some(t=>t.value===e))?{builderType:e,knownType:!0}:{builderType:"string",knownType:!1}}var El=[{value:"boolean",text:"boolean"},{value:"color",text:"color (provides a color in hex or rgb)"},{value:"date",text:"date (same format as the Date constructor)"},{value:"email",text:"email"},{value:"file",text:"file (uploads a file and provides a url)"},{value:"list",text:"list (collection of items)"},{value:"longText",text:"longText (multiline text editor)"},{value:"number",text:"number"},{value:"object",text:"object (set of specific names and values)"},{value:"richText",text:"richText (provides value as html)"},{value:"string",text:"string"}];function Fl(e){return/^['"].*['"]$/.test(e)}function yl(e){return(e.startsWith('"')||e.startsWith("'"))&&(e.endsWith('"')||e.endsWith("'"))?e.slice(1,-1):e}var Sl=(e,t,n)=>{let r=new Set;ji(e,t,n,r);let i=r.delete("true"),a=r.delete("false");(i||a)&&r.add("boolean");let o=Array.from(r.keys()).sort();if(o.length>1&&(o=o.map(s=>s.indexOf("=>")>=0?`(${s})`:s)),!(o.length>20))return o},Al=(e,t,n)=>{let r=e.ts.TypeFormatFlags.InElementType|e.ts.TypeFormatFlags.NoTruncation;return t.typeToString(n,void 0,r)},ji=(e,t,n,r)=>{if(n.isUnion())n.types.forEach(i=>{ji(e,t,i,r)});else if(n.isLiteral()){let i=Al(e,t,n);r.add(i)}};function Mi(e){let t=e?.name;if(typeof t!="string"||t===""||t.startsWith("aria")||t.startsWith("data-"))return!1;if(t.startsWith("on")&&t.length>2){let n=t.charAt(2);if(n.toUpperCase()===n)return!1}return!vl.has(t.toLowerCase())}var vl=new Set(["about","accessKey","accessKeyLabel","asChild","autoCapitalize","autoCorrect","autoFocus","autoSave","blur","contentEditable","contextMenu","dangerouslySetInnerHTML","datatype","defaultChecked","defaultValue","dir","draggable","enterKeyHint","focus","form","formAction","formEncType","formMethod","formNoValidate","formTarget","inlist","innerText","inputMode","is","isContentEditable","itemID","itemProp","itemRef","itemScope","itemType","lang","nonce","offsetHeight","offsetLeft","offsetTop","offsetWidth","outerText","prefix","property","radioGroup","rel","resource","results","rev","role","security","slot","spellCheck","suppressContentEditableWarning","suppressHydrationWarning","tabIndex","translate","typeof","unselectable","vocab"].map(e=>e.toLowerCase()));function fe(e,t,n){for(let r of n.properties){if(!e.ts.isPropertyAssignment(r))continue;let i=_(e,r);if(i==="name"&&e.ts.isStringLiteral(r.initializer)){t.name=r.initializer.text;continue}if(i==="description"&&e.ts.isStringLiteral(r.initializer)){t.description=r.initializer.text;continue}if(i==="image"&&e.ts.isStringLiteral(r.initializer)){t.image=r.initializer.text;continue}if(i==="inputs"&&e.ts.isArrayLiteralExpression(r.initializer)){let a=wl(e,r.initializer);Ce(t,a);continue}if(i==="meta"&&e.ts.isObjectLiteralExpression(r.initializer)){let a=nr(e,r.initializer);a&&typeof a=="object"&&(t.meta=a);continue}}return t}function wl(e,t){let n=[];for(let r of t.elements)e.ts.isObjectLiteralExpression(r)&&n.push(bl(e,r));return n}function bl(e,t){let n=nr(e,t),r=$l(n);return r.isRegistered=!0,r}function te(e,t,n){let r=Tl(n);return t=Nt(e,t,"name",r.name,!1),t=Nt(e,t,"description",r.description),t=Nt(e,t,"image",r.image),t=Nt(e,t,"meta",r.meta),t=Pl(e,t,r),kl(e,t)}function Pl(e,t,n){let r=null,i=t.properties.filter(s=>e.ts.isPropertyAssignment(s)&&e.ts.isIdentifier(s.name)),a=i.findIndex(s=>e.ts.isIdentifier(s.name)&&s.name.text==="inputs"),o=[...n.inputs??[]];if(a>-1){if(o.length===0)return Nt(e,t,"inputs",null);let s=i[a];e.ts.isPropertyAssignment(s)&&e.ts.isArrayLiteralExpression(s.initializer)&&(r=s.initializer)}return o.length===0?t:(r=Bl(e,r||e.ts.factory.createArrayLiteralExpression(),o),a>-1?i[a]=e.ts.factory.updatePropertyAssignment(i[a],i[a].name,r):i.push(e.ts.factory.createPropertyAssignment("inputs",r)),e.ts.factory.updateObjectLiteralExpression(t,i))}function Tl(e){return{name:e.name,description:e.description,image:e.image,inputs:(e.inputs||[]).filter(n=>n.isRegistered).map(Il),...e.meta?{meta:{...e.meta}}:{}}}function Il(e){let t={name:e.name,type:e.type};return(ce(e.defaultValue)||Wt(e.defaultValue)||vt(e.defaultValue))&&(t.defaultValue=e.defaultValue),ce(e.friendlyName)&&(t.friendlyName=e.friendlyName),ce(e.helperText)&&(t.helperText=e.helperText),e.required===!0&&(t.required=!0),Array.isArray(e.enum)&&(t.enum=e.enum),e.hideFromUI===!0&&(t.hideFromUI=!0),typeof e.meta=="object"&&e.meta!=null&&Object.keys(e.meta).length>0&&(t.meta=e.meta),t}function Bl(e,t,n){let r=t.elements.filter(i=>{if(!e.ts.isObjectLiteralExpression(i))return!1;let a=i.properties.find(s=>_(e,s)==="name");if(!a)return!1;let o=a.initializer;return e.ts.isStringLiteral(o)?n.some(s=>s.name===o.text):!1});for(let i of n)r=Rl(e,r,i);return r.sort((i,a)=>{let o=i.properties.find(m=>_(e,m)==="name"),s=a.properties.find(m=>_(e,m)==="name"),u=o?.initializer,l=s?.initializer,c=u&&e.ts.isStringLiteral(u)?u.text:"zz",p=l&&e.ts.isStringLiteral(l)?l.text:"zz";return c.toLowerCase().localeCompare(p.toLowerCase())}),e.ts.factory.updateArrayLiteralExpression(t,r)}function Rl(e,t,n){let r=t.findIndex(i=>i.properties.some(a=>{let o=_(e,a);return e.ts.isPropertyAssignment(a)&&o==="name"&&e.ts.isStringLiteral(a.initializer)&&a.initializer.text===n.name}));if(r>-1)t[r]=Ki(e,t[r],n);else{let i=Ki(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("name",e.ts.factory.createStringLiteral(n.name))],!0),n);t.push(i)}return t}function Ki(e,t,n){let r=t.properties.filter(a=>e.ts.isPropertyAssignment(a)),i=Object.keys(n).filter(a=>a!=="isRegistered");for(let a of i)r=Nl(e,r,n,a);return r=Ol(e,r.filter(a=>{let o=_(e,a);return i.includes(o)})),e.ts.factory.updateObjectLiteralExpression(t,r)}function Nl(e,t,n,r){let i=t.findIndex(a=>e.ts.isIdentifier(a.name)&&a.name.text===r);return i>-1?t[i]=e.ts.factory.updatePropertyAssignment(t[i],t[i].name,rr(e,n[r])):t.push(e.ts.factory.createPropertyAssignment(r,rr(e,n[r]))),t}function Ce(e,t){for(let n of t){let r=e.inputs.findIndex(i=>i.name===n.name);r>-1?(n.isRegistered||!e.inputs[r].isRegistered)&&(e.inputs[r]=n):e.inputs.push(n)}e.acceptsChildren=Rn(e)}function $l(e){let t=Bn(e.type),n={name:e.name.trim(),type:t.builderType};return ce(e.friendlyName)&&e.friendlyName.trim()!==e.name.trim()&&(n.friendlyName=e.friendlyName),(ce(e.defaultValue)||Wt(e.defaultValue)||vt(e.defaultValue))&&(n.defaultValue=e.defaultValue),ce(e.helperText)&&(n.helperText=e.helperText),vt(e.required)&&(n.required=e.required),typeof e.meta=="object"&&e.meta!=null&&Object.keys(e.meta).length>0&&(n.meta=e.meta),Array.isArray(e.enum)&&e.enum.length>0&&(n.enum=e.enum),e.hideFromUI===!0&&(n.hideFromUI=!0),Nn(n)}function Rn(e){let t=e.inputs.some(r=>r.name==="children"),n=e.inputs.some(r=>r.meta?.ts==="ReactNode");return!!(t||n||e.acceptsChildren===!0)}function Nn(e){if(e.name==="children"&&(e.hideFromUI=!0,delete e.required),e.type==="object"&&e.defaultValue==null&&(e.hideFromUI=!0),e.type==="list"&&e.defaultValue==null&&(e.hideFromUI=!0),e.meta){let t=e.meta.ts;typeof t=="string"&&(t=t.trim(),t.endsWith("ReactNode")&&(t="ReactNode"),e.meta.ts=t,t==="ReactNode"&&(e.hideFromUI=!0))}return e}function kl(e,t){let n=[...t.properties].sort((r,i)=>{let a=_(e,r)||"zz",o=_(e,i)||"zz";if(a==="inputs")return 1;let s=Vi.indexOf(a),u=Vi.indexOf(o);return s>-1?u>-1&&s>u?1:-1:u>-1?s>-1&&u<s?-1:1:a.localeCompare(o)});return e.ts.factory.updateObjectLiteralExpression(t,n)}var Vi=["component","name","description"];function Ol(e,t){return[...t].sort((r,i)=>{let a=_(e,r)||"zz",o=_(e,i)||"zz",s=Ui.indexOf(a),u=Ui.indexOf(o);return s>-1?u>-1&&s>u?1:-1:u>-1?s>-1&&u<s?-1:1:a.localeCompare(o)})}var Ui=["name","type"];function $t(e,t){for(let n of t.properties){if(!e.ts.isPropertyAssignment(n)||!e.ts.isIdentifier(n.name))continue;if(_(e,n)==="canHaveChildren"){let{initializer:i}=n;return i.kind===e.ts.SyntaxKind.TrueKeyword}}return!1}function zi(e,t){let n=`Builder.registerComponent(
|
|
281
283
|
`;if(e.appDir)t.acceptsChildren?n+=` withChildren(${t.importName}),
|
|
282
284
|
`:n+=` ${t.importName},
|
|
283
|
-
`;else{let i=t.externalImportPath?t.externalImportPath
|
|
285
|
+
`;else{let i=t.externalImportPath?t.externalImportPath:O(e,e.registryPath,t.filePath);t.exportName==="default"?t.acceptsChildren?n+=` withChildren(dynamic(() => import(${JSON.stringify(i)}))),
|
|
284
286
|
`:n+=` dynamic(() => import(${JSON.stringify(i)})),
|
|
285
287
|
`:t.acceptsChildren?n+=` withChildren(dynamic(async () => (await import(${JSON.stringify(i)})).${t.exportName})),
|
|
286
288
|
`:n+=` dynamic(async () => (await import(${JSON.stringify(i)})).${t.exportName}),
|
|
287
289
|
`}n+=` {
|
|
288
290
|
name: "${t.name}",
|
|
289
291
|
}
|
|
290
|
-
`,n+=");";let r=hr(e,n);return Sn(e,r,t)}function Sn(e,t,n){if(!e.ts.isExpressionStatement(t))return t;let r=t.expression;if(!e.ts.isCallExpression(r))return t;let i=[...r.arguments];if(i.length<2)return t;n.acceptsChildren?e.ts.isCallExpression(i[0])&&e.ts.isIdentifier(i[0].expression)&&i[0].expression.text==="withChildren"||(i[0]=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("withChildren"),void 0,[i[0]])):e.ts.isCallExpression(i[0])&&e.ts.isIdentifier(i[0].expression)&&i[0].expression.text==="withChildren"&&(i[0]=i[0].arguments[0]);let a=i[1];return e.ts.isObjectLiteralExpression(a)?(i[1]=Z(e,a,n),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(r,r.expression,r.typeArguments,i))):t}function N(e,t,n,r="esm"){return Array.isArray(n.namedImports)&&n.namedImports.forEach(i=>{t=Dl(e,t,i,n.importPath,!!n.isTypeOnly,r)}),typeof n.defaultImport=="string"&&(t=gl(e,t,n.defaultImport,n.importPath,r)),t}function Dl(e,t,n,r,i,a){return a==="cjs"?Ri(e,t,null,n,r):Bi(e,t,null,n,r,i)}function gl(e,t,n,r,i){return i==="cjs"?Ri(e,t,n,null,r):Bi(e,t,n,null,r,!1)}function Bi(e,t,n,r,i,a){let o=[...t.statements],s=0,u=!1,l=!1;for(let C=0;C<o.length;C++){let D=o[C];if(!e.ts.isImportDeclaration(D)||(s=C,!D.moduleSpecifier||!e.ts.isStringLiteral(D.moduleSpecifier))||D.moduleSpecifier.text!==i||!!D.importClause?.isTypeOnly!==a)continue;let g=[],d=D.importClause?.namedBindings;if(d&&e.ts.isNamedImports(d)&&d.elements&&g.push(...d.elements),typeof r=="string"){if(g.some(E=>E.name.text===r))return t;g.push(e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(r))),g.sort((E,x)=>E.name.text.localeCompare(x.name.text)),u=!0}let f=D.importClause?D.importClause.name:void 0;if(typeof n=="string"){if(f&&f.text===n)return t;f=e.ts.factory.createIdentifier(n),l=!0}if(u||l)return o[C]=e.ts.factory.updateImportDeclaration(D,void 0,e.ts.factory.createImportClause(a,f,e.ts.factory.createNamedImports(g)),D.moduleSpecifier,void 0),e.ts.factory.updateSourceFile(t,o)}let c,p;typeof n=="string"&&(c=e.ts.factory.createIdentifier(n)),typeof r=="string"&&(p=e.ts.factory.createNamedImports([e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(r))]));let m=e.ts.factory.createImportDeclaration(void 0,e.ts.factory.createImportClause(a,c,p),e.ts.factory.createStringLiteral(i));return o.splice(s,0,m),e.ts.factory.updateSourceFile(t,o)}function Ri(e,t,n,r,i){let a=[...t.statements],o=0;for(let s=0;s<a.length;s++){let u=a[s];if(e.ts.isVariableStatement(u))for(let l=0;l<u.declarationList.declarations.length;l++){let c=[...u.declarationList.declarations],p=c[l],m=p.initializer;if(!m||!e.ts.isCallExpression(m))continue;let C=m.expression;if(!e.ts.isIdentifier(C)||C.text!=="require"||m.arguments.length!==1)continue;let D=m.arguments[0];if(e.ts.isStringLiteral(D)&&(o=s,D.text===i)){if(e.ts.isIdentifier(p.name)&&typeof n=="string")return p.name.text===n?t:(c[l]=e.ts.factory.updateVariableDeclaration(p,e.ts.factory.createIdentifier(n),p.exclamationToken,p.type,p.initializer),a[s]=e.ts.factory.updateVariableStatement(u,u.modifiers,e.ts.factory.updateVariableDeclarationList(u.declarationList,c)),e.ts.factory.updateSourceFile(t,a));if(e.ts.isObjectBindingPattern(p.name)&&typeof r=="string"){let g=[...p.name.elements];return g.some(f=>!e.ts.isBindingElement(f)||!e.ts.isIdentifier(f.name)?!1:f.name.text===r)?t:(g.push(e.ts.factory.createBindingElement(void 0,void 0,r)),g.sort((f,E)=>!e.ts.isBindingElement(f)||!e.ts.isIdentifier(f.name)||!e.ts.isBindingElement(E)||!e.ts.isIdentifier(E.name)?0:f.name.text.localeCompare(E.name.text)),c[l]=e.ts.factory.updateVariableDeclaration(p,e.ts.factory.createObjectBindingPattern(g),p.exclamationToken,p.type,p.initializer),a[s]=e.ts.factory.updateVariableStatement(u,u.modifiers,e.ts.factory.updateVariableDeclarationList(u.declarationList,c)),e.ts.factory.updateSourceFile(t,a))}}}}if(typeof n=="string"){let s=e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(n,void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral(i)]))],e.ts.NodeFlags.Const));return a.splice(o,0,s),e.ts.factory.updateSourceFile(t,a)}if(typeof r=="string"){let s=e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(e.ts.factory.createObjectBindingPattern([e.ts.factory.createBindingElement(void 0,void 0,r)]),void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral(i)]))],e.ts.NodeFlags.Const));return a.splice(o,0,s),e.ts.factory.updateSourceFile(t,a)}return t}function mt(e,t,n="esm"){return n==="cjs"?hl(e,t):Cl(e,t)}function Cl(e,t){let n=[];for(let r of t.statements){if(e.ts.isExportDeclaration(r)){if(r.exportClause&&e.ts.isNamedExports(r.exportClause)){for(let i of r.exportClause.elements)if(r.moduleSpecifier&&n.push({isDefaultExport:!1,statement:r,node:i}),e.ts.isIdentifier(i.name)){let a=i.name.text;for(let o of t.statements)if(e.ts.isVariableStatement(o))for(let s of o.declarationList.declarations)e.ts.isIdentifier(s.name)&&s.name.text===a&&n.push({isDefaultExport:!1,statement:o,node:o});else e.ts.isFunctionDeclaration(o)&&o.name&&o.name.text===a&&n.push({isDefaultExport:!1,statement:o,node:o})}}else!r.exportClause&&r.moduleSpecifier&&n.push({isDefaultExport:!1,statement:r,node:r});continue}if(e.ts.isExportAssignment(r)){let i=r.flags===e.ts.NodeFlags.None,a=r.expression;if(e.ts.isIdentifier(a)){let o=a.text;for(let s of t.statements){if(e.ts.isVariableStatement(s))for(let u of s.declarationList.declarations)e.ts.isIdentifier(u.name)&&u.name.text===o&&n.push({isDefaultExport:i,statement:s,node:s});e.ts.isFunctionDeclaration(s)&&s.name?.text===o&&n.push({isDefaultExport:i,statement:s,node:s})}}else(e.ts.isArrowFunction(a)||e.ts.isCallExpression(a)||e.ts.isFunctionDeclaration(a)||e.ts.isObjectLiteralExpression(a))&&n.push({isDefaultExport:i,statement:r,node:a});continue}if((e.ts.isVariableStatement(r)||e.ts.isFunctionDeclaration(r))&&r.modifiers&&r.modifiers.some(i=>i.kind===e.ts.SyntaxKind.ExportKeyword)){n.push({isDefaultExport:r.modifiers.some(i=>i.kind===e.ts.SyntaxKind.DefaultKeyword),statement:r,node:r});continue}}return n}function hl(e,t){let n=[];for(let r of t.statements)if(e.ts.isExpressionStatement(r)&&e.ts.isBinaryExpression(r.expression)&&e.ts.isPropertyAccessExpression(r.expression.left)){let i=r.expression.left,a=r.expression.right;if(!e.ts.isIdentifier(i.expression))continue;if(i.expression.text==="module"&&i.name.text==="exports"){if(e.ts.isIdentifier(a)){let o=a.text;for(let s of t.statements)if(e.ts.isVariableStatement(s))for(let u of s.declarationList.declarations)e.ts.isIdentifier(u.name)&&u.name.text===o&&n.push({isDefaultExport:!0,statement:s,node:s});else e.ts.isFunctionDeclaration(s)&&s.name&&s.name.text===o&&n.push({isDefaultExport:!0,statement:s,node:s})}else n.push({isDefaultExport:!0,statement:r,node:a});continue}}return n}function El(e,t,n){for(let r of t.statements)if(e.ts.isImportDeclaration(r)&&r.importClause){if(r.importClause.namedBindings&&e.ts.isNamedImports(r.importClause.namedBindings)){for(let i of r.importClause.namedBindings.elements)if(e.ts.isIdentifier(i.name)&&i.name.text===n&&e.ts.isStringLiteral(r.moduleSpecifier))return{importPath:r.moduleSpecifier.text,exportType:"named"}}if(r.importClause.name&&r.importClause.name.text===n&&e.ts.isStringLiteral(r.moduleSpecifier))return{importPath:r.moduleSpecifier.text,exportType:"default"}}return null}async function Be(e,t,n,r){let i=El(e,n,r);if(i){let a=await er(e,e.normalize(e.resolve(e.dirname(t),i.importPath))),o=e.relative(e.getAppRootDir(),a);return{displayFilePath:O(e,a),filePath:a,relFilePath:o,importPath:i.importPath,exportType:i.exportType}}return null}function Rt(e,t,n){for(let r=0;r<t.statements.length;r++){let i=t.statements[r];if(e.ts.isVariableStatement(i)){for(let a of i.declarationList.declarations)if(e.ts.isIdentifier(a.name)&&a.name.text===n)return{statement:i,statementIndex:r}}}return null}function Q(e,t,n){let r=Rt(e,t,n);if(r&&r.statement.declarationList.declarations.length>0){let i=r.statement.declarationList.declarations[0];if(i.initializer&&e.ts.isArrayLiteralExpression(i.initializer))return{statement:r.statement,statementIndex:r.statementIndex,variableDeclaration:i,arrayLiteralExp:i.initializer}}return null}function Pr(e,t){if(t){if(xl(e,t))return!0;let n=!1;if(t.forEachChild(r=>{Pr(e,r)&&(n=!0)}),n)return!0}return!1}function xl(e,t){return e.ts.isJsxElement(t)||e.ts.isJsxOpeningElement(t)||e.ts.isJsxOpeningFragment(t)||e.ts.isJsxSelfClosingElement(t)||e.ts.isJsxFragment(t)||e.ts.isJsxChild(t)}async function er(e,t){let n=e.extname(t).toLowerCase();if(n===""||!An.includes(n)){for(let r of An){let i=t+r;if(await e.exists(i))return i}for(let r of An){let i=e.join(t,"index"+r);if(await e.exists(i))return i}}return t}var An=[".tsx",".jsx",".ts",".js"];function Nt(e,t,n){if(!n||!t)return;let r=t.getSymbolAtLocation(n);if(!r)return;let i=r.valueDeclaration;if(!i)return;let a=i.getSourceFile().fileName,o=Fl(e,a);return o?[{name:o}]:void 0}function Fl(e,t){if(typeof t=="string"){t=e.normalize(ye(t));let n=t.split("/"),r=n.lastIndexOf("node_modules");if(r>-1){let i=n.slice(r+1),a=i[0];if(a)return a.startsWith("@")&&i[1]&&(a+="/"+i[1]),a}}}function Re(e){let t=[];for(let n of e)if(n.dependencies)for(let r of n.dependencies)t.some(i=>i.name===r.name)||t.push({...r});return t.sort((n,r)=>n.name.localeCompare(r.name))}function Ni(e,t,n="esm"){return n==="cjs"?Al(e,t):Sl(e,t)}var yl=/^(@\w|\w)/;function Sl(e,t){let n=[];for(let r of t.statements)if(e.ts.isImportDeclaration(r)&&e.ts.isLiteralExpression(r.moduleSpecifier)){if(!yl.test(r.moduleSpecifier.text)||r.importClause?.isTypeOnly)continue;if(r.importClause&&r.importClause.namedBindings&&e.ts.isNamedImports(r.importClause.namedBindings))for(let i of r.importClause.namedBindings.elements)i.isTypeOnly||n.push({isDefaultExport:!1,statement:r,node:i.name});r.importClause&&r.importClause.name&&n.push({isDefaultExport:!0,statement:r,node:r.importClause.name})}return n}function Al(e,t){return[]}async function $t(e,t){if(!t.some(o=>!o.isRegistered))return t;let r=await X(e,t.map(o=>o.filePath)),i=r.getTypeChecker();return await Promise.all(t.map(async o=>{let s=r.getSourceFile(o.filePath);if(s){let l=(await rt(e,i,o.filePath,s,!1)).find(c=>c.cmpInfo.id===o.id);l&&(o.inputs=pt(e,i,l.node.fnNode))}return o}))}async function kt(e,t,n,r){if(t.node.fnNode){let{sourceFile:i,typeChecker:a}=await yt(e,t.cmpInfo.filePath,n),s=(await rt(e,a,t.cmpInfo.filePath,i,r)).find(u=>u.cmpInfo.id===t.cmpInfo.id);if(!s)throw new Error(`createComponentInputs() Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return pt(e,a,s.node.fnNode)}return[]}async function ki(e,t,n){let r=e.extname(t).toLowerCase();if(r===".tsx"||r===".jsx"||r===".ts"||r===".js"){let i=await e.readFile(t);if(i)return vl(e,t,i,n)}return null}function vl(e,t,n,r=!1){let i=B(e,n);return rt(e,null,t,i,r)}async function rt(e,t,n,r,i){let a=[];for(let s of r.statements)if(e.ts.isExpressionStatement(s)&&e.ts.isStringLiteral(s.expression)&&s.expression.text==="use server")return a;let o=mt(e,r);return i&&o.push(...Ni(e,r)),n=e.normalize(n),await Promise.all(o.map(async s=>{let u=await wl(e,t,n,s);a.push(...u)})),a}async function wl(e,t,n,r){let i=[],a=e.relative(e.getAppRootDir(),n),o=M(e,n);if(e.ts.isVariableStatement(r.node)){for(let s of r.node.declarationList.declarations){if(!e.ts.isIdentifier(s.name)||!Ft(s.name.text))continue;let u=ze(e,t,s.initializer);if(u){let l=u.name||s.name.text,c=r.isDefaultExport?"default":l,p=r.isDefaultExport?"default":"named";i.push({cmpInfo:{id:await V(e,n,c),displayFilePath:O(e,n),name:K(l),inputs:[],exportName:c,exportType:p,importName:l,filePath:n,relFilePath:a,importPath:o,dependencies:u.deps},node:u})}}return i}if(e.ts.isArrowFunction(r.node)){let s=ze(e,t,r.node);if(s){let u=Ce(e,n),l=r.isDefaultExport?"default":u,c=r.isDefaultExport?"default":"named";i.push({cmpInfo:{id:await V(e,n,l),displayFilePath:O(e,n),name:u,inputs:[],exportName:l,exportType:c,importName:lt(e,n),filePath:n,relFilePath:a,importPath:o,dependencies:s.deps},node:s})}return i}if(e.ts.isFunctionExpression(r.node)||e.ts.isFunctionDeclaration(r.node)){let s=r.node.name?.text;if(s&&!Ft(s))return i;let u=ze(e,t,r.node);if(u){let l=u.name||Ce(e,n),c=r.isDefaultExport||!u.name?"default":u.name,p=r.isDefaultExport?"default":"named";i.push({cmpInfo:{id:await V(e,n,c),displayFilePath:O(e,n),name:l,inputs:[],exportName:c,exportType:p,importName:u.name||lt(e,n),filePath:n,relFilePath:a,importPath:o,dependencies:u.deps},node:u})}return i}if((e.ts.isExportSpecifier(r.node)||e.ts.isIdentifier(r.node))&&Ft(r.node.getText())){let s,u=ze(e,t,r.node);if(u){let l=u.name||Ce(e,n),c=r.isDefaultExport||!u.name?"default":u.name,p=r.isDefaultExport?"default":"named",m=bl(e,r.node)?.moduleSpecifier??Pl(e,r.node)?.moduleSpecifier;if(m&&e.ts.isStringLiteral(m)){let C=t?.getSymbolAtLocation(m);if(C&&C.declarations&&C.declarations.length>0){let D=C.declarations[0];(!e.ts.isSourceFile(D)||e.ts.isSourceFile(D)&&D.fileName.includes("node_modules"))&&(s=m.text)}}i.push({cmpInfo:{id:await V(e,n,c,s),displayFilePath:O(e,n),name:l,inputs:[],exportName:c,exportType:p,importName:u.name||lt(e,n),filePath:n,relFilePath:a,importPath:s||o,externalImportPath:s,dependencies:u.deps},node:u})}return i}if(e.ts.isExportDeclaration(r.node)&&r.node.exportClause===void 0){let s=r.node.moduleSpecifier;if(s&&e.ts.isStringLiteral(s)){let u=await Il(e,t,n,s);i.push(...u)}return i}return i}function bl(e,t){for(;t;){if(e.ts.isExportDeclaration(t))return t;t=t.parent}return null}function Pl(e,t){for(;t;){if(e.ts.isImportDeclaration(t))return t;t=t.parent}return null}function ze(e,t,n){if(!n)return null;if(e.ts.isArrowFunction(n))return Pr(e,n.body)?{name:"",fnNode:n,deps:Nt(e,t,n)}:null;if(e.ts.isFunctionExpression(n)||e.ts.isFunctionDeclaration(n))return Pr(e,n.body)?{name:n.name?.text||"",fnNode:n,deps:Nt(e,t,n)}:null;if(e.ts.isCallExpression(n)){let r=n.expression;if(e.ts.isPropertyAccessExpression(r)){let i=n.arguments;if(i.length===0)return null;let a=r.expression;if(!e.ts.isIdentifier(a)||a.text!=="React")return null;let o=r.name;return!e.ts.isIdentifier(o)||o.text!=="forwardRef"?null:ze(e,t,i[0])}else if(e.ts.isIdentifier(r)&&r.text==="observer"){let i=n.arguments;return i.length===0?null:ze(e,t,i[0])}return null}if(!t)return null;if(e.ts.isPropertyAccessExpression(n)){let r=n.expression,i=n.name;if(!e.ts.isIdentifier(r)||!e.ts.isIdentifier(i)||!Ft(i.text))return null;let o=t.getTypeAtLocation(i).getCallSignatures();if(o.length>0&&o[0].getParameters().length>0)return{name:"",fnNode:i,deps:Nt(e,t,i)}}if(e.ts.isExportSpecifier(n)){let r=n.name;return{name:r.text||"",fnNode:r,deps:Nt(e,t,r)}}if(e.ts.isIdentifier(n))return{name:n.text||"",fnNode:n,deps:Nt(e,t,n)};if(e.ts.isExpressionStatement(n)){let r=n.expression;if(e.ts.isAsExpression(r)&&e.ts.isIdentifier(r.type)&&r.type.text==="default")return ze(e,t,r.expression)}if(e.ts.isVariableStatement(n)){for(let r of n.declarationList.declarations)if(r.initializer&&e.ts.isAsExpression(r.initializer)){let i=r.initializer;if(e.ts.isIdentifier(i.type)&&i.type.text==="default"){let a=ze(e,t,i.expression);if(a&&e.ts.isIdentifier(r.name))return{name:r.name.text,fnNode:a.fnNode,deps:a.deps}}}}return null}async function Oi(e,t){let n=[],r=t.getSourceFiles(),i=t.getTypeChecker();return await Promise.all(r.map(async a=>{let o=e.normalize(a.fileName);if(Er(e,Tl,a.fileName)||o===e.reactConfigPath||o===e.builderComponentPath)return;let s=await rt(e,i,o,a,o===e.registryPath);n.push(...s)})),n.sort((a,o)=>a.cmpInfo.name.localeCompare(o.cmpInfo.name))}var Tl=new Set(["node_modules","dist"]);async function Il(e,t,n,r){let i=[],a=r.text;if(!t)return i;try{let o=t.getSymbolAtLocation(r);if(!o)return i;let s=t.getExportsOfModule(o);for(let u of s){let l=u.valueDeclaration||u.declarations?.[0];if(!l)continue;let c=u.name;if(!Ft(c)&&c!=="default"||!Li(e,t,l))continue;let p=ze(e,t,l);if(p){let m=u.name,C=m==="default"?"default":"named",D=K(m),g=m==="default"?lt(e,n):m;i.push({cmpInfo:{id:await V(e,n,m,a),displayFilePath:O(e,n),name:D,inputs:[],exportName:m,exportType:C,importName:g,filePath:n,relFilePath:e.relative(e.getAppRootDir(),n),importPath:a,externalImportPath:a,dependencies:p.deps},node:p})}}}catch(o){console.error(`Error processing module ${a}:`,o)}return i}function Li(e,t,n){if(e.ts.isInterfaceDeclaration(n)||e.ts.isTypeAliasDeclaration(n))return!1;if(e.ts.isExportSpecifier(n)){let r=t.getSymbolAtLocation(n.name);if(r){let a=t.getAliasedSymbol(r).declarations?.[0];if(a)return Li(e,t,a)}return!1}if(e.ts.isFunctionDeclaration(n)||e.ts.isArrowFunction(n)||e.ts.isFunctionExpression(n)){let r=t.getSignatureFromDeclaration(n);if(r){let i=t.getReturnTypeOfSignature(r);return $i(i,t)}}return e.ts.isClassDeclaration(n)?n.heritageClauses?.some(i=>i.types.some(a=>a.expression.getText()==="React.Component"||a.expression.getText()==="Component"))??!1:e.ts.isVariableDeclaration(n)?t.getTypeAtLocation(n).getCallSignatures().some(a=>$i(t.getReturnTypeOfSignature(a),t)):!1}function $i(e,t){let n=t.typeToString(e);return n==="JSX.Element"||n==="Element"||n.includes("ReactElement")||n.includes("React.ReactElement")||n.includes("ReactNode")}async function _i(e,t){let n=[],r=t.getSourceFiles(),i=t.getTypeChecker();return await Promise.all(r.map(async a=>{let o=e.basename(a.fileName);if(e.appDir&&Bl.has(o)||e.dirname(a.fileName).includes("node_modules"))return;let s=e.normalize(a.fileName);if(s===e.nextConfigPath||s===e.builderComponentPath)return;let u=await rt(e,i,s,a,s===e.registryPath||ge(s));n.push(...u)})),n.sort((a,o)=>a.cmpInfo.name.localeCompare(o.cmpInfo.name))}var Bl=new Set(["default.tsx","default.ts","default.jsx","default.js","error.tsx","error.ts","error.jsx","error.js","layout.tsx","layout.ts","layout.jsx","layout.js","loading.tsx","loading.ts","loading.jsx","loading.js","not-found.tsx","not-found.ts","not-found.jsx","not-found.js","page.tsx","page.ts","page.jsx","page.js","route.tsx","route.ts","route.jsx","route.js","template.tsx","template.ts","template.jsx","template.js"]);function Ne(e,t){let n=[],r=[],i=[],a=[];for(let o of t.statements){if(e.ts.isImportDeclaration(o)){if(e.ts.isStringLiteral(o.moduleSpecifier)){let u=o.moduleSpecifier.text;if(!u.startsWith(".")&&!u.startsWith("/")){n.push(o);continue}}let s=o.importClause;if(s){if(s.namedBindings){r.push(o);continue}if(s.name){r.push(o);continue}}i.push(o);continue}a.push(o)}return e.ts.factory.updateSourceFile(t,[...vn(e,n),...vn(e,r),...vn(e,i),...a])}function Se(e){let t=e.split(`
|
|
292
|
+
`,n+=");";let r=Ar(e,n);return $n(e,r,t)}function $n(e,t,n){if(!e.ts.isExpressionStatement(t))return t;let r=t.expression;if(!e.ts.isCallExpression(r))return t;let i=[...r.arguments];if(i.length<2)return t;n.acceptsChildren?e.ts.isCallExpression(i[0])&&e.ts.isIdentifier(i[0].expression)&&i[0].expression.text==="withChildren"||(i[0]=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("withChildren"),void 0,[i[0]])):e.ts.isCallExpression(i[0])&&e.ts.isIdentifier(i[0].expression)&&i[0].expression.text==="withChildren"&&(i[0]=i[0].arguments[0]);let a=i[1];return e.ts.isObjectLiteralExpression(a)?(i[1]=te(e,a,n),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(r,r.expression,r.typeArguments,i))):t}function k(e,t,n,r="esm"){return Array.isArray(n.namedImports)&&n.namedImports.forEach(i=>{t=Ll(e,t,i,n.importPath,!!n.isTypeOnly,r)}),typeof n.defaultImport=="string"&&(t=_l(e,t,n.defaultImport,n.importPath,r)),t}function Ll(e,t,n,r,i,a){return a==="cjs"?Wi(e,t,null,n,r):qi(e,t,null,n,r,i)}function _l(e,t,n,r,i){return i==="cjs"?Wi(e,t,n,null,r):qi(e,t,n,null,r,!1)}function qi(e,t,n,r,i,a){let o=[...t.statements],s=0,u=!1,l=!1;for(let C=0;C<o.length;C++){let D=o[C];if(!e.ts.isImportDeclaration(D)||(s=C,!D.moduleSpecifier||!e.ts.isStringLiteral(D.moduleSpecifier))||D.moduleSpecifier.text!==i||!!D.importClause?.isTypeOnly!==a)continue;let g=[],d=D.importClause?.namedBindings;if(d&&e.ts.isNamedImports(d)&&d.elements&&g.push(...d.elements),typeof r=="string"){if(g.some(x=>x.name.text===r))return t;g.push(e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(r))),g.sort((x,E)=>x.name.text.localeCompare(E.name.text)),u=!0}let f=D.importClause?D.importClause.name:void 0;if(typeof n=="string"){if(f&&f.text===n)return t;f=e.ts.factory.createIdentifier(n),l=!0}if(u||l)return o[C]=e.ts.factory.updateImportDeclaration(D,void 0,e.ts.factory.createImportClause(a,f,e.ts.factory.createNamedImports(g)),D.moduleSpecifier,void 0),e.ts.factory.updateSourceFile(t,o)}let c,p;typeof n=="string"&&(c=e.ts.factory.createIdentifier(n)),typeof r=="string"&&(p=e.ts.factory.createNamedImports([e.ts.factory.createImportSpecifier(!1,void 0,e.ts.factory.createIdentifier(r))]));let m=e.ts.factory.createImportDeclaration(void 0,e.ts.factory.createImportClause(a,c,p),e.ts.factory.createStringLiteral(i));return o.splice(s,0,m),e.ts.factory.updateSourceFile(t,o)}function Wi(e,t,n,r,i){let a=[...t.statements],o=0;for(let s=0;s<a.length;s++){let u=a[s];if(e.ts.isVariableStatement(u))for(let l=0;l<u.declarationList.declarations.length;l++){let c=[...u.declarationList.declarations],p=c[l],m=p.initializer;if(!m||!e.ts.isCallExpression(m))continue;let C=m.expression;if(!e.ts.isIdentifier(C)||C.text!=="require"||m.arguments.length!==1)continue;let D=m.arguments[0];if(e.ts.isStringLiteral(D)&&(o=s,D.text===i)){if(e.ts.isIdentifier(p.name)&&typeof n=="string")return p.name.text===n?t:(c[l]=e.ts.factory.updateVariableDeclaration(p,e.ts.factory.createIdentifier(n),p.exclamationToken,p.type,p.initializer),a[s]=e.ts.factory.updateVariableStatement(u,u.modifiers,e.ts.factory.updateVariableDeclarationList(u.declarationList,c)),e.ts.factory.updateSourceFile(t,a));if(e.ts.isObjectBindingPattern(p.name)&&typeof r=="string"){let g=[...p.name.elements];return g.some(f=>!e.ts.isBindingElement(f)||!e.ts.isIdentifier(f.name)?!1:f.name.text===r)?t:(g.push(e.ts.factory.createBindingElement(void 0,void 0,r)),g.sort((f,x)=>!e.ts.isBindingElement(f)||!e.ts.isIdentifier(f.name)||!e.ts.isBindingElement(x)||!e.ts.isIdentifier(x.name)?0:f.name.text.localeCompare(x.name.text)),c[l]=e.ts.factory.updateVariableDeclaration(p,e.ts.factory.createObjectBindingPattern(g),p.exclamationToken,p.type,p.initializer),a[s]=e.ts.factory.updateVariableStatement(u,u.modifiers,e.ts.factory.updateVariableDeclarationList(u.declarationList,c)),e.ts.factory.updateSourceFile(t,a))}}}}if(typeof n=="string"){let s=e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(n,void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral(i)]))],e.ts.NodeFlags.Const));return a.splice(o,0,s),e.ts.factory.updateSourceFile(t,a)}if(typeof r=="string"){let s=e.ts.factory.createVariableStatement(void 0,e.ts.factory.createVariableDeclarationList([e.ts.factory.createVariableDeclaration(e.ts.factory.createObjectBindingPattern([e.ts.factory.createBindingElement(void 0,void 0,r)]),void 0,void 0,e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("require"),void 0,[e.ts.factory.createStringLiteral(i)]))],e.ts.NodeFlags.Const));return a.splice(o,0,s),e.ts.factory.updateSourceFile(t,a)}return t}function Ct(e,t,n="esm"){return n==="cjs"?Ml(e,t):jl(e,t)}function jl(e,t){let n=[];for(let r of t.statements){if(e.ts.isExportDeclaration(r)){if(r.exportClause&&e.ts.isNamedExports(r.exportClause)){for(let i of r.exportClause.elements)if(r.moduleSpecifier&&n.push({isDefaultExport:!1,statement:r,node:i}),e.ts.isIdentifier(i.name)){let a=i.name.text;for(let o of t.statements)if(e.ts.isVariableStatement(o))for(let s of o.declarationList.declarations)e.ts.isIdentifier(s.name)&&s.name.text===a&&n.push({isDefaultExport:!1,statement:o,node:o});else e.ts.isFunctionDeclaration(o)&&o.name&&o.name.text===a&&n.push({isDefaultExport:!1,statement:o,node:o})}}else!r.exportClause&&r.moduleSpecifier&&n.push({isDefaultExport:!1,statement:r,node:r});continue}if(e.ts.isExportAssignment(r)){let i=r.flags===e.ts.NodeFlags.None,a=r.expression;if(e.ts.isIdentifier(a)){let o=a.text;for(let s of t.statements){if(e.ts.isVariableStatement(s))for(let u of s.declarationList.declarations)e.ts.isIdentifier(u.name)&&u.name.text===o&&n.push({isDefaultExport:i,statement:s,node:s});e.ts.isFunctionDeclaration(s)&&s.name?.text===o&&n.push({isDefaultExport:i,statement:s,node:s})}}else(e.ts.isArrowFunction(a)||e.ts.isCallExpression(a)||e.ts.isFunctionDeclaration(a)||e.ts.isObjectLiteralExpression(a))&&n.push({isDefaultExport:i,statement:r,node:a});continue}if((e.ts.isVariableStatement(r)||e.ts.isFunctionDeclaration(r))&&r.modifiers&&r.modifiers.some(i=>i.kind===e.ts.SyntaxKind.ExportKeyword)){n.push({isDefaultExport:r.modifiers.some(i=>i.kind===e.ts.SyntaxKind.DefaultKeyword),statement:r,node:r});continue}}return n}function Ml(e,t){let n=[];for(let r of t.statements)if(e.ts.isExpressionStatement(r)&&e.ts.isBinaryExpression(r.expression)&&e.ts.isPropertyAccessExpression(r.expression.left)){let i=r.expression.left,a=r.expression.right;if(!e.ts.isIdentifier(i.expression))continue;if(i.expression.text==="module"&&i.name.text==="exports"){if(e.ts.isIdentifier(a)){let o=a.text;for(let s of t.statements)if(e.ts.isVariableStatement(s))for(let u of s.declarationList.declarations)e.ts.isIdentifier(u.name)&&u.name.text===o&&n.push({isDefaultExport:!0,statement:s,node:s});else e.ts.isFunctionDeclaration(s)&&s.name&&s.name.text===o&&n.push({isDefaultExport:!0,statement:s,node:s})}else n.push({isDefaultExport:!0,statement:r,node:a});continue}}return n}function Kl(e,t,n){for(let r of t.statements)if(e.ts.isImportDeclaration(r)&&r.importClause){if(r.importClause.namedBindings&&e.ts.isNamedImports(r.importClause.namedBindings)){for(let i of r.importClause.namedBindings.elements)if(e.ts.isIdentifier(i.name)&&i.name.text===n&&e.ts.isStringLiteral(r.moduleSpecifier))return{importPath:r.moduleSpecifier.text,exportType:"named"}}if(r.importClause.name&&r.importClause.name.text===n&&e.ts.isStringLiteral(r.moduleSpecifier))return{importPath:r.moduleSpecifier.text,exportType:"default"}}return null}async function Ne(e,t,n,r){let i=Kl(e,n,r);if(i){let a=await or(e,e.normalize(e.resolve(e.dirname(t),i.importPath))),o=e.relative(e.getAppRootDir(),a);return{displayFilePath:L(e,a),filePath:a,relFilePath:o,importPath:i.importPath,exportType:i.exportType}}return null}function kt(e,t,n){for(let r=0;r<t.statements.length;r++){let i=t.statements[r];if(e.ts.isVariableStatement(i)){for(let a of i.declarationList.declarations)if(e.ts.isIdentifier(a.name)&&a.name.text===n)return{statement:i,statementIndex:r}}}return null}function X(e,t,n){let r=kt(e,t,n);if(r&&r.statement.declarationList.declarations.length>0){let i=r.statement.declarationList.declarations[0];if(i.initializer&&e.ts.isArrayLiteralExpression(i.initializer))return{statement:r.statement,statementIndex:r.statementIndex,variableDeclaration:i,arrayLiteralExp:i.initializer}}return null}function kr(e,t){if(t){if(Vl(e,t))return!0;let n=!1;if(t.forEachChild(r=>{kr(e,r)&&(n=!0)}),n)return!0}return!1}function Vl(e,t){return e.ts.isJsxElement(t)||e.ts.isJsxOpeningElement(t)||e.ts.isJsxOpeningFragment(t)||e.ts.isJsxSelfClosingElement(t)||e.ts.isJsxFragment(t)||e.ts.isJsxChild(t)}async function or(e,t){let n=e.extname(t).toLowerCase();if(n===""||!kn.includes(n)){for(let r of kn){let i=t+r;if(await e.exists(i))return i}for(let r of kn){let i=e.join(t,"index"+r);if(await e.exists(i))return i}}return t}var kn=[".tsx",".jsx",".ts",".js"];function Ot(e,t,n){if(!n||!t)return;let r=t.getSymbolAtLocation(n);if(!r)return;let i=r.valueDeclaration;if(!i)return;let a=i.getSourceFile().fileName,o=Ul(e,a);return o?[{name:o}]:void 0}function Ul(e,t){if(typeof t=="string"){t=e.normalize(Ae(t));let n=t.split("/"),r=n.lastIndexOf("node_modules");if(r>-1){let i=n.slice(r+1),a=i[0];if(a)return a.startsWith("@")&&i[1]&&(a+="/"+i[1]),a}}}function $e(e){let t=[];for(let n of e)if(n.dependencies)for(let r of n.dependencies)t.some(i=>i.name===r.name)||t.push({...r});return t.sort((n,r)=>n.name.localeCompare(r.name))}function Ji(e,t,n="esm"){return n==="cjs"?Wl(e,t):ql(e,t)}var zl=/^(@\w|\w)/;function ql(e,t){let n=[];for(let r of t.statements)if(e.ts.isImportDeclaration(r)&&e.ts.isLiteralExpression(r.moduleSpecifier)){if(!zl.test(r.moduleSpecifier.text)||r.importClause?.isTypeOnly)continue;if(r.importClause&&r.importClause.namedBindings&&e.ts.isNamedImports(r.importClause.namedBindings))for(let i of r.importClause.namedBindings.elements)i.isTypeOnly||n.push({isDefaultExport:!1,statement:r,node:i.name});r.importClause&&r.importClause.name&&n.push({isDefaultExport:!0,statement:r,node:r.importClause.name})}return n}function Wl(e,t){return[]}async function Lt(e,t){if(!t.some(o=>!o.isRegistered))return t;let r=await ee(e,t.map(o=>o.filePath)),i=r.getTypeChecker();return await Promise.all(t.map(async o=>{let s=r.getSourceFile(o.filePath);if(s){let l=(await it(e,i,o.filePath,s,!1)).find(c=>c.cmpInfo.id===o.id);l&&(o.inputs=gt(e,i,l.node.fnNode))}return o}))}async function _t(e,t,n,r){if(t.node.fnNode){let{sourceFile:i,typeChecker:a}=await bt(e,t.cmpInfo.filePath,n),s=(await it(e,a,t.cmpInfo.filePath,i,r)).find(u=>u.cmpInfo.id===t.cmpInfo.id);if(!s)throw new Error(`createComponentInputs() Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return gt(e,a,s.node.fnNode)}return[]}async function Hi(e,t,n){let r=e.extname(t).toLowerCase();if(r===".tsx"||r===".jsx"||r===".ts"||r===".js"){let i=await e.readFile(t);if(i)return Jl(e,t,i,n)}return null}function Jl(e,t,n,r=!1){let i=R(e,n);return it(e,null,t,i,r)}async function it(e,t,n,r,i){let a=[];for(let s of r.statements)if(e.ts.isExpressionStatement(s)&&e.ts.isStringLiteral(s.expression)&&s.expression.text==="use server")return a;let o=Ct(e,r);return i&&o.push(...Ji(e,r)),n=e.normalize(n),await Promise.all(o.map(async s=>{let u=await Gl(e,t,n,s);a.push(...u)})),a}async function Gl(e,t,n,r){let i=[],a=e.relative(e.getAppRootDir(),n),o=K(e,n);if(e.ts.isVariableStatement(r.node)){for(let s of r.node.declarationList.declarations){if(!e.ts.isIdentifier(s.name)||!wt(s.name.text))continue;let u=Je(e,t,s.initializer);if(u){let l=u.name||s.name.text,c=r.isDefaultExport?"default":l,p=r.isDefaultExport?"default":"named";i.push({cmpInfo:{id:await V(e,n,c),displayFilePath:L(e,n),name:U(l),inputs:[],exportName:c,exportType:p,importName:l,filePath:n,relFilePath:a,importPath:o,dependencies:u.deps},node:u})}}return i}if(e.ts.isArrowFunction(r.node)){let s=Je(e,t,r.node);if(s){let u=xe(e,n),l=r.isDefaultExport?"default":u,c=r.isDefaultExport?"default":"named";i.push({cmpInfo:{id:await V(e,n,l),displayFilePath:L(e,n),name:u,inputs:[],exportName:l,exportType:c,importName:dt(e,n),filePath:n,relFilePath:a,importPath:o,dependencies:s.deps},node:s})}return i}if(e.ts.isFunctionExpression(r.node)||e.ts.isFunctionDeclaration(r.node)){let s=r.node.name?.text;if(s&&!wt(s))return i;let u=Je(e,t,r.node);if(u){let l=u.name||xe(e,n),c=r.isDefaultExport||!u.name?"default":u.name,p=r.isDefaultExport?"default":"named";i.push({cmpInfo:{id:await V(e,n,c),displayFilePath:L(e,n),name:l,inputs:[],exportName:c,exportType:p,importName:u.name||dt(e,n),filePath:n,relFilePath:a,importPath:o,dependencies:u.deps},node:u})}return i}if((e.ts.isExportSpecifier(r.node)||e.ts.isIdentifier(r.node))&&wt(r.node.getText())){let s,u=Je(e,t,r.node);if(u){let l=u.name||xe(e,n),c=r.isDefaultExport||!u.name?"default":u.name,p=r.isDefaultExport?"default":"named",m=Hl(e,r.node)?.moduleSpecifier??Ql(e,r.node)?.moduleSpecifier;if(m&&e.ts.isStringLiteral(m)){let C=t?.getSymbolAtLocation(m);if(C&&C.declarations&&C.declarations.length>0){let D=C.declarations[0];(!e.ts.isSourceFile(D)||e.ts.isSourceFile(D)&&D.fileName.includes("node_modules"))&&(s=m.text)}}i.push({cmpInfo:{id:await V(e,n,c,s),displayFilePath:L(e,n),name:l,inputs:[],exportName:c,exportType:p,importName:u.name||dt(e,n),filePath:n,relFilePath:a,importPath:s||o,externalImportPath:s,dependencies:u.deps},node:u})}return i}if(e.ts.isExportDeclaration(r.node)&&r.node.exportClause===void 0){let s=r.node.moduleSpecifier;if(s&&e.ts.isStringLiteral(s)){let u=await Xl(e,t,n,s);i.push(...u)}return i}return i}function Hl(e,t){for(;t;){if(e.ts.isExportDeclaration(t))return t;t=t.parent}return null}function Ql(e,t){for(;t;){if(e.ts.isImportDeclaration(t))return t;t=t.parent}return null}function Je(e,t,n){if(!n)return null;if(e.ts.isArrowFunction(n))return kr(e,n.body)?{name:"",fnNode:n,deps:Ot(e,t,n)}:null;if(e.ts.isFunctionExpression(n)||e.ts.isFunctionDeclaration(n))return kr(e,n.body)?{name:n.name?.text||"",fnNode:n,deps:Ot(e,t,n)}:null;if(e.ts.isCallExpression(n)){let r=n.expression;if(e.ts.isPropertyAccessExpression(r)){let i=n.arguments;if(i.length===0)return null;let a=r.expression;if(!e.ts.isIdentifier(a)||a.text!=="React")return null;let o=r.name;return!e.ts.isIdentifier(o)||o.text!=="forwardRef"?null:Je(e,t,i[0])}else if(e.ts.isIdentifier(r)&&r.text==="observer"){let i=n.arguments;return i.length===0?null:Je(e,t,i[0])}return null}if(!t)return null;if(e.ts.isPropertyAccessExpression(n)){let r=n.expression,i=n.name;if(!e.ts.isIdentifier(r)||!e.ts.isIdentifier(i)||!wt(i.text))return null;let o=t.getTypeAtLocation(i).getCallSignatures();if(o.length>0&&o[0].getParameters().length>0)return{name:"",fnNode:i,deps:Ot(e,t,i)}}if(e.ts.isExportSpecifier(n)){let r=n.name;return{name:r.text||"",fnNode:r,deps:Ot(e,t,r)}}if(e.ts.isIdentifier(n))return{name:n.text||"",fnNode:n,deps:Ot(e,t,n)};if(e.ts.isExpressionStatement(n)){let r=n.expression;if(e.ts.isAsExpression(r)&&e.ts.isIdentifier(r.type)&&r.type.text==="default")return Je(e,t,r.expression)}if(e.ts.isVariableStatement(n)){for(let r of n.declarationList.declarations)if(r.initializer&&e.ts.isAsExpression(r.initializer)){let i=r.initializer;if(e.ts.isIdentifier(i.type)&&i.type.text==="default"){let a=Je(e,t,i.expression);if(a&&e.ts.isIdentifier(r.name))return{name:r.name.text,fnNode:a.fnNode,deps:a.deps}}}}return null}async function Qi(e,t){let n=[],r=t.getSourceFiles(),i=t.getTypeChecker();return await Promise.all(r.map(async a=>{let o=e.normalize(a.fileName);if(vr(e,Yl,a.fileName)||o===e.reactConfigPath||o===e.builderComponentPath)return;let s=await it(e,i,o,a,o===e.registryPath);n.push(...s)})),n.sort((a,o)=>a.cmpInfo.name.localeCompare(o.cmpInfo.name))}var Yl=new Set(["node_modules","dist"]);async function Xl(e,t,n,r){let i=[],a=r.text;if(!t)return i;try{let o=t.getSymbolAtLocation(r);if(!o)return i;let s=t.getExportsOfModule(o);for(let u of s){let l=u.valueDeclaration||u.declarations?.[0];if(!l)continue;let c=u.name;if(!wt(c)&&c!=="default"||!Yi(e,t,l))continue;let p=Je(e,t,l);if(p){let m=u.name,C=m==="default"?"default":"named",D=U(m),g=m==="default"?dt(e,n):m;i.push({cmpInfo:{id:await V(e,n,m,a),displayFilePath:L(e,n),name:D,inputs:[],exportName:m,exportType:C,importName:g,filePath:n,relFilePath:e.relative(e.getAppRootDir(),n),importPath:a,externalImportPath:a,dependencies:p.deps},node:p})}}}catch(o){console.error(`Error processing module ${a}:`,o)}return i}function Yi(e,t,n){if(e.ts.isInterfaceDeclaration(n)||e.ts.isTypeAliasDeclaration(n))return!1;if(e.ts.isExportSpecifier(n)){let r=t.getSymbolAtLocation(n.name);if(r){let a=t.getAliasedSymbol(r).declarations?.[0];if(a)return Yi(e,t,a)}return!1}if(e.ts.isFunctionDeclaration(n)||e.ts.isArrowFunction(n)||e.ts.isFunctionExpression(n)){let r=t.getSignatureFromDeclaration(n);if(r){let i=t.getReturnTypeOfSignature(r);return Gi(i,t)}}return e.ts.isClassDeclaration(n)?n.heritageClauses?.some(i=>i.types.some(a=>a.expression.getText()==="React.Component"||a.expression.getText()==="Component"))??!1:e.ts.isVariableDeclaration(n)?t.getTypeAtLocation(n).getCallSignatures().some(a=>Gi(t.getReturnTypeOfSignature(a),t)):!1}function Gi(e,t){let n=t.typeToString(e);return n==="JSX.Element"||n==="Element"||n.includes("ReactElement")||n.includes("React.ReactElement")||n.includes("ReactNode")}async function Xi(e,t){let n=[],r=t.getSourceFiles(),i=t.getTypeChecker();return await Promise.all(r.map(async a=>{let o=e.basename(a.fileName);if(e.appDir&&Zl.has(o)||e.dirname(a.fileName).includes("node_modules"))return;let s=e.normalize(a.fileName);if(s===e.nextConfigPath||s===e.builderComponentPath)return;let u=await it(e,i,s,a,s===e.registryPath||he(s));n.push(...u)})),n.sort((a,o)=>a.cmpInfo.name.localeCompare(o.cmpInfo.name))}var Zl=new Set(["default.tsx","default.ts","default.jsx","default.js","error.tsx","error.ts","error.jsx","error.js","layout.tsx","layout.ts","layout.jsx","layout.js","loading.tsx","loading.ts","loading.jsx","loading.js","not-found.tsx","not-found.ts","not-found.jsx","not-found.js","page.tsx","page.ts","page.jsx","page.js","route.tsx","route.ts","route.jsx","route.js","template.tsx","template.ts","template.jsx","template.js"]);function ke(e,t){let n=[],r=[],i=[],a=[];for(let o of t.statements){if(e.ts.isImportDeclaration(o)){if(e.ts.isStringLiteral(o.moduleSpecifier)){let u=o.moduleSpecifier.text;if(!u.startsWith(".")&&!u.startsWith("/")){n.push(o);continue}}let s=o.importClause;if(s){if(s.namedBindings){r.push(o);continue}if(s.name){r.push(o);continue}}i.push(o);continue}a.push(o)}return e.ts.factory.updateSourceFile(t,[...On(e,n),...On(e,r),...On(e,i),...a])}function ve(e){let t=e.split(`
|
|
291
293
|
`).map(r=>r.trimEnd());e="";let n=!1;for(let r=t.length-1;r>=0;r--){let i=t[r];!n&&i.startsWith("import ")&&(n=!0,i=i+`
|
|
292
294
|
`),/^builder.init(.*)$/.test(i)&&(i=i+`
|
|
293
295
|
`),t[r-1]&&!t[r-1].includes("*/")&&(i.trim().startsWith("Builder.registerComponent")&&(i=`
|
|
@@ -296,12 +298,12 @@ ${n}=${r}
|
|
|
296
298
|
`+i),i.trim().startsWith("export ")&&(i=`
|
|
297
299
|
`+i)),e=i+`
|
|
298
300
|
`+e}return e.trim()+`
|
|
299
|
-
`}function
|
|
300
|
-
${e}`),e}function Ki(e,t){let n=t.statements.filter(r=>!(e.ts.isExpressionStatement(r)&&e.ts.isStringLiteral(r.expression)&&e.ts.isStringLiteral(r.expression)&&r.expression.text==="use client"));return e.ts.factory.updateSourceFile(t,n)}function $e(e,t){return t.sort((n,r)=>{if(e.ts.isObjectLiteralExpression(n)&&e.ts.isObjectLiteralExpression(r)){let i=Mi(e,n),a=Mi(e,r);return i.toLocaleLowerCase().localeCompare(a.toLocaleLowerCase())}return 1})}function Mi(e,t){let n=t.properties.find(r=>L(e,r)==="name");return n&&e.ts.isPropertyAssignment(n)&&e.ts.isStringLiteral(n.initializer)?n.initializer.text:"zzzz"}async function Ui(e){let t=await e.readFile(e.registryPath);return t?Rl(e,t):{components:[],sourceFile:B(e,"")}}async function Rl(e,t){let n=B(e,t);return e.sdkVersion===w.gen2?$l(e,n):Nl(e,n)}async function Nl(e,t){let n=[];for(let r=0;r<t.statements.length;r++){let i=t.statements[r];if(!e.ts.isExpressionStatement(i))continue;let a=i.expression;if(!e.ts.isCallExpression(a))continue;let o=a.expression;if(!e.ts.isPropertyAccessExpression(o))continue;let s=o.expression;if(!e.ts.isIdentifier(s)||s.text!=="Builder"||o.name.text!=="registerComponent")continue;let l=a.arguments;if(l.length<2)continue;let c=l[1];if(!e.ts.isObjectLiteralExpression(c))continue;let p=l[0];if(e.ts.isCallExpression(p)){let m=e.ts.isIdentifier(p.expression)&&p.expression.text;if(m==="withChildren"){let D=Pn(e,p.arguments[0]);if(e.ts.isCallExpression(D)){let g=await wn(e,r,D,c,!0);g&&n.push(g)}else{let g=D;if(e.ts.isIdentifier(g)){let d=await bn(e,t,r,g,c,!0);d&&n.push(d)}}continue}if(m==="dynamic"){let D=await wn(e,r,p,c,!1);D&&n.push(D);continue}let C=Pn(e,p.arguments[0]);if(e.ts.isCallExpression(C)&&e.ts.isIdentifier(C.expression)&&C.expression.text==="dynamic"){let D=await wn(e,r,C,c,!1);D&&n.push(D);continue}if(e.ts.isIdentifier(C)){let D=await bn(e,t,r,C,c,!1);D&&n.push(D);continue}continue}if(e.ts.isIdentifier(p)){let m=await bn(e,t,r,p,c,!1);m&&n.push(m);continue}}return{sourceFile:t,components:pe(n)}}function Pn(e,t){return e.ts.isCallExpression(t)?(e.ts.isIdentifier(t.expression)&&t.expression.text)==="dynamic"?t:Pn(e,t.arguments[0]):t}async function wn(e,t,n,r,i){let a={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:t,acceptsChildren:i},o=n.arguments;if(o.length===0)return null;let s=o[0];if(!e.ts.isArrowFunction(s))return null;let u=s.body;if(e.ts.isCallExpression(u)){if(u.expression.kind!==e.ts.SyntaxKind.ImportKeyword||u.arguments.length!==1)return null;let c=u.arguments[0];if(!e.ts.isStringLiteral(c))return null;let p=c.text,m=await Ot(e,p);a.filePath=m,a.relFilePath=e.relative(e.getAppRootDir(),a.filePath),await e.exists(m)?a.importPath=M(e,a.filePath):(a.externalImportPath=p,a.importPath=a.externalImportPath),a.name=Ce(e,a.filePath),a.importName="default",a.exportName="default",a.exportType="default"}else if(e.ts.isPropertyAccessExpression(u)){let l=u.expression;if(!e.ts.isParenthesizedExpression(l))return null;let c=l.expression;if(!e.ts.isAwaitExpression(c))return null;let p=c.expression;if(!e.ts.isCallExpression(p)||p.expression.kind!==e.ts.SyntaxKind.ImportKeyword||p.arguments.length!==1)return null;let C=p.arguments[0];if(!e.ts.isStringLiteral(C)||!e.ts.isIdentifier(u.name))return null;let D=C.text,g=await Ot(e,D);a.filePath=g,a.relFilePath=e.relative(e.getAppRootDir(),a.filePath),await e.exists(g)?a.importPath=M(e,a.filePath):(a.externalImportPath=D,a.importPath=a.externalImportPath),a.name=K(u.name.text),a.importName=u.name.text,a.exportName=u.name.text,a.exportType="named"}else return null;return a=me(e,a,r),a.displayFilePath=O(e,a.filePath),a.filePath&&a.exportName&&(a.id=await V(e,a.filePath,a.exportName,a.externalImportPath)),a}async function bn(e,t,n,r,i,a){let o={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:n,acceptsChildren:a},s=t.statements.filter(l=>e.ts.isImportDeclaration(l)),u=s.find(l=>l.importClause&&l.importClause.name?.text===r.text);if(u){let l=u.moduleSpecifier;if(!e.ts.isStringLiteral(l))return null;let c=await Ot(e,l.text);o.filePath=c,o.relFilePath=e.relative(e.getAppRootDir(),o.filePath),await e.exists(c)?o.importPath=M(e,o.filePath):(o.externalImportPath=l.text,o.importPath=o.externalImportPath),o.name=Ce(e,o.filePath),o.importName=r.text,o.exportName="default",o.exportType="default"}else{let l=s.find(m=>!m.importClause||!m.importClause.namedBindings||!e.ts.isNamedImports(m.importClause.namedBindings)?!1:m.importClause.namedBindings.elements.some(C=>C.name.text===r.text));if(!l)return null;let c=l.moduleSpecifier;if(!e.ts.isStringLiteral(c))return null;let p=await Ot(e,c.text);o.filePath=p,o.relFilePath=e.relative(e.getAppRootDir(),o.filePath),await e.exists(p)?o.importPath=M(e,o.filePath):(o.externalImportPath=c.text,o.importPath=o.externalImportPath),o.name=K(r.text),o.importName=r.text,o.exportName=r.text,o.exportType="named"}return o=me(e,o,i),o.displayFilePath=O(e,o.filePath),o.filePath&&o.exportName&&(o.id=await V(e,o.filePath,o.exportName,o.externalImportPath)),o}function Ot(e,t){return er(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}function zi(e,t,n){let r=!1,i=0,a=[...t.statements];for(let l=0;l<a.length;l++){let c=a[l];if(e.ts.isImportDeclaration(c)){i=l;continue}if(!e.ts.isExpressionStatement(c))continue;let p=c.expression;if(!e.ts.isCallExpression(p))continue;let m=p.expression;if(!e.ts.isPropertyAccessExpression(m))continue;let C=m.expression;if(!e.ts.isIdentifier(C)||C.text!=="builder")continue;if(m.name.text=="init"){r=!0;break}else continue}if(r)return t;let o=e.ts.factory.createPropertyAccessExpression(e.ts.factory.createPropertyAccessExpression(e.ts.factory.createIdentifier("process"),e.ts.factory.createIdentifier("env")),e.ts.factory.createIdentifier(Ie)),s=n?e.ts.factory.createNonNullExpression(o):o,u=e.ts.factory.createExpressionStatement(e.ts.factory.createCallExpression(e.ts.factory.createPropertyAccessExpression(e.ts.factory.createIdentifier("builder"),e.ts.factory.createIdentifier("init")),void 0,[s]));return a.splice(i+1,0,u),e.ts.factory.updateSourceFile(t,a)}async function $l(e,t){let n=[],r=Q(e,t,"CUSTOM_COMPONENTS");return r&&await Promise.all(r.arrayLiteralExp.elements.map(async(i,a)=>{let o=await Tn(e,t,i);o&&(o.nodeIndex=a,n.push(o))})),{sourceFile:t,components:pe(n)}}async function Tn(e,t,n){if(!e.ts.isObjectLiteralExpression(n))return null;let r={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1};Bt(e,n)&&(r.acceptsChildren=!0);for(let a of n.properties){if(!e.ts.isPropertyAssignment(a)||!e.ts.isIdentifier(a.name))continue;if(L(e,a)==="component"){let s,{initializer:u}=a;if(e.ts.isCallExpression(u)&&(e.ts.isIdentifier(u.expression)&&u.expression.text)==="dynamic"){let C=u.arguments;if(C.length===0)return null;let D=C[0];if(!e.ts.isArrowFunction(D))return null;let g=D.body;if(e.ts.isCallExpression(g)){if(g.expression.kind!==e.ts.SyntaxKind.ImportKeyword||g.arguments.length!==1)return null;let f=g.arguments[0];if(!e.ts.isStringLiteral(f))return null;let E=f.text,x=await Ot(e,E);r.filePath=x,r.relFilePath=e.relative(e.getAppRootDir(),r.filePath),await e.exists(x)?r.importPath=M(e,r.filePath):(r.externalImportPath=E,r.importPath=r.externalImportPath),r.name=Ce(e,r.filePath),r.importName="default",r.exportName="default",r.exportType="default"}else if(e.ts.isPropertyAccessExpression(g)){let d=g.expression;if(!e.ts.isParenthesizedExpression(d))return null;let f=d.expression;if(!e.ts.isAwaitExpression(f))return null;let E=f.expression;if(!e.ts.isCallExpression(E)||E.expression.kind!==e.ts.SyntaxKind.ImportKeyword||E.arguments.length!==1)return null;let y=E.arguments[0];if(!e.ts.isStringLiteral(y)||!e.ts.isIdentifier(g.name))return null;let S=y.text,F=await Ot(e,S);r.filePath=F,r.relFilePath=e.relative(e.getAppRootDir(),r.filePath),await e.exists(F)?r.importPath=M(e,r.filePath):(r.externalImportPath=S,r.importPath=r.externalImportPath),r.name=K(g.name.text),r.importName=g.name.text,r.exportName=g.name.text,r.exportType="named"}else return null;return r=me(e,r,n),r.displayFilePath=O(e,r.filePath),r.filePath&&r.exportName&&(r.id=await V(e,r.filePath,r.exportName,r.externalImportPath)),r}if(e.ts.isIdentifier(u)&&(s=u.text),!s)continue;r.name===""&&(r.name=K(s)),r.importName=s;let l=await Be(e,e.registryPath,t,s);if(!l)continue;r.filePath=l.filePath,r.relFilePath=l.relFilePath,await e.exists(l.filePath)?r.importPath=M(e,l.filePath):(r.externalImportPath=l.importPath,r.importPath=r.externalImportPath),r.importPath=M(e,l.filePath),r.displayFilePath=l.displayFilePath,r.exportType=l.exportType;let c=t.statements.filter(m=>e.ts.isImportDeclaration(m)),p=c.find(m=>m.importClause&&m.importClause.name?.text===s);if(p){let m=p.moduleSpecifier;if(!e.ts.isStringLiteral(m))return null;r.exportName="default"}else{let m=c.find(D=>!D.importClause||!D.importClause.namedBindings||!e.ts.isNamedImports(D.importClause.namedBindings)?!1:D.importClause.namedBindings.elements.some(g=>g.name.text===s));if(!m)return null;let C=m.moduleSpecifier;if(!e.ts.isStringLiteral(C))return null;r.exportName=s}continue}}return r=me(e,r,n),r.filePath&&r.exportName&&(r.id=await V(e,r.filePath,r.exportName,r.externalImportPath)),r}function ke(e,t){let n=[...t.statements],r=!1;for(let i=t.statements.length-1;i>=0;i--){let a=t.statements[i];if(e.ts.isImportDeclaration(a)&&a.importClause){let o=!1,s=a.importClause.namedBindings;if(s&&e.ts.isNamedImports(s)&&s.elements){let u=[...s.elements];for(let l=u.length-1;l>=0;l--){let c=u[l];if(e.ts.isImportSpecifier(c)){let p=c.name;if(p&&e.ts.isIdentifier(p)){let m=p.text;qi(e,t,m)||u.splice(l,1)}}}if(u.length===0)o=!0;else if(s.elements.length!==u.length){let l=e.ts.factory.updateImportClause(a.importClause,!1,a.importClause.name,e.ts.factory.createNamedImports(u)),c=e.ts.factory.updateImportDeclaration(a,void 0,l,a.moduleSpecifier,void 0);n[i]=c,r=!0}}else if(a.importClause.name&&e.ts.isIdentifier(a.importClause.name)){let u=a.importClause.name.text;qi(e,t,u)||(o=!0)}o&&(n.splice(i,1),r=!0)}}return r?e.ts.factory.updateSourceFile(t,n):t}function qi(e,t,n){let r=!1;function i(a){if(!e.ts.isImportDeclaration(a)){if(e.ts.isIdentifier(a)&&a.text===n){r=!0;return}e.ts.forEachChild(a,i)}}return e.ts.forEachChild(t,i),r}function Oe(e,t,n,r,i,a,o){let s=null,u=null,l=null,c=-1;t=fe(t),n=fe(n);let p=t.find(C=>C.id===e),m=n.find(C=>C.id===e);if(r)m||(s={...fe(p),inputs:fe(p.inputs).map(C=>(C.isRegistered=!0,C))},c=n.length,n.push(s));else if(typeof m?.nodeIndex=="number"&&m.nodeIndex>-1){if(i)c=m.nodeIndex,u=fe(m),n=n.filter(C=>C.id!==e);else if(a!=null)kl(m,a),c=m.nodeIndex,l=m;else if(o!=null){let C=m.inputs.find(D=>D.name===o.name);C&&(o.registerInput===!1?C.isRegistered=!1:(Ol(C,o),C.isRegistered=!0),l=m,c=m.nodeIndex)}}return{addCmpToRegistry:s,removeCmpFromRegistry:u,updateRegisteredCmp:l,nodeIndex:c,components:Ae(t,n)}}function Ae(e,t){let n=pe([...t.map(r=>(r.isRegistered=!0,r)),...e.filter(r=>!t.some(i=>i.id===r.id)).map(r=>(r.isRegistered=!1,r))]);return n.forEach(r=>{r.inputs=r.inputs.map(yn),r.inputs.sort((o,s)=>o.name.toLowerCase().localeCompare(s.name.toLowerCase()));let i=t.find(o=>o.id===r.id);i&&(i.acceptsChildren=Fn(r));let a=e.find(o=>o.id===r.id&&o.externalImportPath);a&&(r.filePath=a.filePath,r.relFilePath=a.relFilePath)}),n}function kl(e,t){ue(t.name)?e.name=t.name:t.name===null&&(e.name=e.importName),ue(t.description)?e.description=t.description:t.description===null&&delete e.description,ue(t.image)?e.image=t.image:t.image===null&&delete e.image}function Ol(e,t){ue(t.type)&&(e.type=t.type),ue(t.friendlyName)?e.friendlyName=t.friendlyName:t.friendlyName===null&&delete e.friendlyName,ue(t.defaultValue)||Ut(t.defaultValue)||xt(t.defaultValue)?e.defaultValue=t.defaultValue:t.defaultValue===null&&delete e.defaultValue,ue(t.helperText)?e.helperText=t.helperText:t.helperText===null&&delete e.helperText,t.required===!0?e.required=t.required:(t.required===null||t.required===!1)&&delete e.required}async function nt(e){let t=new Set,n=async i=>{let a=await e.readdir(i);await Promise.all(a.map(async o=>{if(o.startsWith(".")||o==="node_modules")return;let s=e.join(i,o),u=e.extname(o).toLowerCase();if(u===".tsx"||u===".jsx"||u===".ts"||u===".js"){t.add(s);return}(await e.stat(s)).isDirectory()&&await n(s)}))};return await n(e.getAppRootDir()),await X(e,[...t])}function Le(e,t,n){return Rt(e,t,n.variableName)?t:Ll(e,t,n)}function Ll(e,t,n){let r=typeof n.arrayType=="string"?e.ts.factory.createArrayTypeNode(e.ts.factory.createTypeReferenceNode(n.arrayType,void 0)):void 0,i=e.ts.factory.createArrayLiteralExpression([]),a=e.ts.factory.createVariableDeclaration(n.variableName,void 0,r,i),o=e.ts.factory.createVariableDeclarationList([a],e.ts.NodeFlags.Const),s=e.ts.factory.createModifier(e.ts.SyntaxKind.ExportKeyword),u=e.ts.factory.createVariableStatement([s],o),l=[...t.statements,u];return e.ts.factory.updateSourceFile(t,l)}async function _e(e,t,n,r,i,a,o,s){let u=await nt(e),[l,c,p,m]=await Promise.all([_i(e,u),Ui(e),de(e),Yt(e)]),C=l.map(x=>x.cmpInfo),D=c.components,g={components:Ae(C,D),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Re(C),publicApiKey:m.envValue??void 0,devToolsVersion:e.version};if(s)return g.components=await $t(e,g.components),g;let d=!1,f=c.sourceFile,E=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(E.length>0){let x=E.map(F=>{let R=l.find(W=>W.cmpInfo.id===F);if(!R)throw new Error(`Component ${F} not found`);return R}),y=Array.from(new Set(x.map(F=>F.cmpInfo.filePath))),S=await X(e,y);for(let F of x){let R=g.components.find(v=>v.id===F.cmpInfo.id),W=await kt(e,F,S,e.registryPath===F.cmpInfo.filePath||ge(F.cmpInfo.filePath));De(R,W);let _=C.findIndex(v=>v.id===F.cmpInfo.id);C[_].inputs=W;let A=Oe(F.cmpInfo.id,C,D,n,r,i,a);if(e.sdkVersion===w.gen2){let{elements:v,elmIndex:ae,statementIndex:Fe,statement:ne,variableDeclaration:j}=await Ml(e,f,F);if(A.addCmpToRegistry)v.push(jl(e,A.addCmpToRegistry)),d=!0;else if(A.removeCmpFromRegistry)v.splice(ae,1),d=!0;else if(A.updateRegisteredCmp){let se=Z(e,v[ae],A.updateRegisteredCmp);v[ae]=e.ts.factory.updateObjectLiteralExpression(se,[Ji(e,A.updateRegisteredCmp),...se.properties.slice(1)]),d=!0}if(d&&o){let se=[...f.statements];se[Fe]=e.ts.factory.updateVariableStatement(ne,ne.modifiers,e.ts.factory.updateVariableDeclarationList(ne.declarationList,[e.ts.factory.updateVariableDeclaration(j,j.name,j.exclamationToken,j.type,e.ts.factory.createArrayLiteralExpression($e(e,v)))])),f=e.ts.factory.updateSourceFile(f,se),f=Wi(e,A,f),f=N(e,f,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-react",isTypeOnly:!0}),f=Le(e,f,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),g.components=A.components,D=A.components.filter(at=>at.isRegistered)}}else{let v=[...f.statements];A.addCmpToRegistry?(v.push(Ii(e,A.addCmpToRegistry)),d=!0):A.removeCmpFromRegistry?(v.splice(A.nodeIndex,1),d=!0):A.updateRegisteredCmp&&(v[A.nodeIndex]=Sn(e,v[A.nodeIndex],A.updateRegisteredCmp),d=!0),d&&o&&(f=e.ts.factory.updateSourceFile(f,v),f=N(e,f,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),f=zi(e,f,p),f=Wi(e,A,f),R?.acceptsChildren&&(f=N(e,f,{namedImports:["withChildren"],importPath:"@builder.io/react"})),g.components=A.components,D=A.components.filter(ae=>ae.isRegistered))}}}if(d&&o){f=ke(e,f),f=Ne(e,f),e.appDir&&(f=Ki(e,f));let x=ee(e,f);x=Se(x),e.appDir&&(x=Vi(x)),x=await e.formatCode(e.registryPath,x),await e.writeFile(e.registryPath,x)}return g}function Ji(e,t){let n=e.ts.factory.createIdentifier(t.importName);return e.appDir?e.ts.factory.createPropertyAssignment("component",n):e.ts.factory.createPropertyAssignment("component",Vl(e,t))}function _l(e){return e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())}function jl(e,t){return Z(e,e.ts.factory.createObjectLiteralExpression([Ji(e,t),...t.acceptsChildren?[_l(e)]:[]],!0),t)}async function Ml(e,t,n){let r=Q(e,t,"CUSTOM_COMPONENTS");if(!r)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let i=r.arrayLiteralExp.elements.filter(o=>e.ts.isObjectLiteralExpression(o)),a=-1;for(let o=0;o<i.length;o++)if((await Tn(e,t,i[o]))?.id===n.cmpInfo.id){a=o;break}return{...r,elements:i,elmIndex:a}}function Wi(e,t,n){if(e.appDir){let r=t.addCmpToRegistry||t.updateRegisteredCmp;if(r){let i=r.externalImportPath?r.externalImportPath:$(e,e.registryPath,r.filePath);r.exportType==="default"?n=N(e,n,{defaultImport:r.importName,importPath:i}):r.exportType==="named"&&(n=N(e,n,{namedImports:[r.importName],importPath:i}))}}else n=N(e,n,{defaultImport:"dynamic",importPath:"next/dynamic"});return n}function Vl(e,t){let n=t.externalImportPath?t.externalImportPath:$(e,e.registryPath,t.filePath),r=t.exportName!=="default",i;r?i=e.ts.factory.createPropertyAccessExpression(e.ts.factory.createAwaitExpression(e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("import"),void 0,[e.ts.factory.createStringLiteral(n)])),e.ts.factory.createIdentifier(t.exportName)):i=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("import"),void 0,[e.ts.factory.createStringLiteral(n)]);let a=e.ts.factory.createArrowFunction(r?[e.ts.factory.createModifier(e.ts.SyntaxKind.AsyncKeyword)]:void 0,void 0,[],void 0,e.ts.factory.createToken(e.ts.SyntaxKind.EqualsGreaterThanToken),i);return e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("dynamic"),void 0,[a])}async function Hi(e){let t=[],n=await Wl(e,t);return await ea(e,t,n),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await Ul(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure builder setup for next.js pages ${e.pagesDir}`),await zl(e,e.pagesDir,t)),t}async function Qi(e){let t=[];return await ea(e,t),e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await Kl(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await ql(e,e.pagesDir,t)),t}async function Kl(e,t,n){let r=`page.${e.typescriptEnabled?"tsx":"jsx"}`,i=e.join(t,"figma-imports",r);if(!await e.exists(i)){let a=await e.formatCode(i,Xi({sys:e,routePath:i,modelName:"figma-imports"}));await e.writeFile(i,a),n.push({filePath:i,modifiedType:"create"})}if(!await e.exists(e.builderComponentPath)){let a=await e.formatCode(e.builderComponentPath,Yi(e));await e.writeFile(e.builderComponentPath,a),n.push({filePath:e.builderComponentPath,modifiedType:"create"})}}async function Ul(e,t,n){let r=`page.${e.typescriptEnabled?"tsx":"jsx"}`,i=e.join(t,"[...page]",r);if(!await e.exists(i)){let a=await e.formatCode(i,Xi({sys:e,routePath:i,modelName:"page"}));await e.writeFile(i,a),n.push({filePath:i,modifiedType:"create"})}if(!await e.exists(e.builderComponentPath)){let a=await e.formatCode(e.builderComponentPath,Yi(e));await e.writeFile(e.builderComponentPath,a),n.push({filePath:e.builderComponentPath,modifiedType:"create"})}}function Yi(e){let t=e.typescriptEnabled;return e.sdkVersion===w.gen2?`
|
|
301
|
+
`}function On(e,t){return t.sort((n,r)=>{let i=Zi(e,n),a=Zi(e,r);return i.toLocaleLowerCase().localeCompare(a.toLocaleLowerCase())})}function Zi(e,t){let n=t.importClause;if(n){let r=n.namedBindings;if(r&&e.ts.isNamedImports(r)&&r.elements.length>0)return r.elements[0].name.text;if(n.name)return n.name.text}return t.moduleSpecifier&&e.ts.isStringLiteral(t.moduleSpecifier)?t.moduleSpecifier.text:""}function ta(e){return typeof e=="string"&&!e.includes("'use client'")&&!e.includes(`"use client"'`)&&(e=`"use client"
|
|
302
|
+
${e}`),e}function ra(e,t){let n=t.statements.filter(r=>!(e.ts.isExpressionStatement(r)&&e.ts.isStringLiteral(r.expression)&&e.ts.isStringLiteral(r.expression)&&r.expression.text==="use client"));return e.ts.factory.updateSourceFile(t,n)}function Oe(e,t){return t.sort((n,r)=>{if(e.ts.isObjectLiteralExpression(n)&&e.ts.isObjectLiteralExpression(r)){let i=ea(e,n),a=ea(e,r);return i.toLocaleLowerCase().localeCompare(a.toLocaleLowerCase())}return 1})}function ea(e,t){let n=t.properties.find(r=>_(e,r)==="name");return n&&e.ts.isPropertyAssignment(n)&&e.ts.isStringLiteral(n.initializer)?n.initializer.text:"zzzz"}async function na(e){let t=await e.readFile(e.registryPath);return t?ec(e,t):{components:[],sourceFile:R(e,"")}}async function ec(e,t){let n=R(e,t);return e.sdkVersion===b.gen2?rc(e,n):tc(e,n)}async function tc(e,t){let n=[];for(let r=0;r<t.statements.length;r++){let i=t.statements[r];if(!e.ts.isExpressionStatement(i))continue;let a=i.expression;if(!e.ts.isCallExpression(a))continue;let o=a.expression;if(!e.ts.isPropertyAccessExpression(o))continue;let s=o.expression;if(!e.ts.isIdentifier(s)||s.text!=="Builder"||o.name.text!=="registerComponent")continue;let l=a.arguments;if(l.length<2)continue;let c=l[1];if(!e.ts.isObjectLiteralExpression(c))continue;let p=l[0];if(e.ts.isCallExpression(p)){let m=e.ts.isIdentifier(p.expression)&&p.expression.text;if(m==="withChildren"){let D=jn(e,p.arguments[0]);if(e.ts.isCallExpression(D)){let g=await Ln(e,r,D,c,!0);g&&n.push(g)}else{let g=D;if(e.ts.isIdentifier(g)){let d=await _n(e,t,r,g,c,!0);d&&n.push(d)}}continue}if(m==="dynamic"){let D=await Ln(e,r,p,c,!1);D&&n.push(D);continue}let C=jn(e,p.arguments[0]);if(e.ts.isCallExpression(C)&&e.ts.isIdentifier(C.expression)&&C.expression.text==="dynamic"){let D=await Ln(e,r,C,c,!1);D&&n.push(D);continue}if(e.ts.isIdentifier(C)){let D=await _n(e,t,r,C,c,!1);D&&n.push(D);continue}continue}if(e.ts.isIdentifier(p)){let m=await _n(e,t,r,p,c,!1);m&&n.push(m);continue}}return{sourceFile:t,components:me(n)}}function jn(e,t){return e.ts.isCallExpression(t)?(e.ts.isIdentifier(t.expression)&&t.expression.text)==="dynamic"?t:jn(e,t.arguments[0]):t}async function Ln(e,t,n,r,i){let a={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:t,acceptsChildren:i},o=n.arguments;if(o.length===0)return null;let s=o[0];if(!e.ts.isArrowFunction(s))return null;let u=s.body;if(e.ts.isCallExpression(u)){if(u.expression.kind!==e.ts.SyntaxKind.ImportKeyword||u.arguments.length!==1)return null;let c=u.arguments[0];if(!e.ts.isStringLiteral(c))return null;let p=c.text,m=await jt(e,p);a.filePath=m,a.relFilePath=e.relative(e.getAppRootDir(),a.filePath),await e.exists(m)?a.importPath=K(e,a.filePath):(a.externalImportPath=p,a.importPath=a.externalImportPath),a.name=xe(e,a.filePath),a.importName="default",a.exportName="default",a.exportType="default"}else if(e.ts.isPropertyAccessExpression(u)){let l=u.expression;if(!e.ts.isParenthesizedExpression(l))return null;let c=l.expression;if(!e.ts.isAwaitExpression(c))return null;let p=c.expression;if(!e.ts.isCallExpression(p)||p.expression.kind!==e.ts.SyntaxKind.ImportKeyword||p.arguments.length!==1)return null;let C=p.arguments[0];if(!e.ts.isStringLiteral(C)||!e.ts.isIdentifier(u.name))return null;let D=C.text,g=await jt(e,D);a.filePath=g,a.relFilePath=e.relative(e.getAppRootDir(),a.filePath),await e.exists(g)?a.importPath=K(e,a.filePath):(a.externalImportPath=D,a.importPath=a.externalImportPath),a.name=U(u.name.text),a.importName=u.name.text,a.exportName=u.name.text,a.exportType="named"}else return null;return a=fe(e,a,r),a.displayFilePath=L(e,a.filePath),a.filePath&&a.exportName&&(a.id=await V(e,a.filePath,a.exportName,a.externalImportPath)),a}async function _n(e,t,n,r,i,a){let o={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:n,acceptsChildren:a},s=t.statements.filter(l=>e.ts.isImportDeclaration(l)),u=s.find(l=>l.importClause&&l.importClause.name?.text===r.text);if(u){let l=u.moduleSpecifier;if(!e.ts.isStringLiteral(l))return null;let c=await jt(e,l.text);o.filePath=c,o.relFilePath=e.relative(e.getAppRootDir(),o.filePath),await e.exists(c)?o.importPath=K(e,o.filePath):(o.externalImportPath=l.text,o.importPath=o.externalImportPath),o.name=xe(e,o.filePath),o.importName=r.text,o.exportName="default",o.exportType="default"}else{let l=s.find(m=>!m.importClause||!m.importClause.namedBindings||!e.ts.isNamedImports(m.importClause.namedBindings)?!1:m.importClause.namedBindings.elements.some(C=>C.name.text===r.text));if(!l)return null;let c=l.moduleSpecifier;if(!e.ts.isStringLiteral(c))return null;let p=await jt(e,c.text);o.filePath=p,o.relFilePath=e.relative(e.getAppRootDir(),o.filePath),await e.exists(p)?o.importPath=K(e,o.filePath):(o.externalImportPath=c.text,o.importPath=o.externalImportPath),o.name=U(r.text),o.importName=r.text,o.exportName=r.text,o.exportType="named"}return o=fe(e,o,i),o.displayFilePath=L(e,o.filePath),o.filePath&&o.exportName&&(o.id=await V(e,o.filePath,o.exportName,o.externalImportPath)),o}function jt(e,t){return or(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}function oa(e,t,n){let r=!1,i=0,a=[...t.statements];for(let l=0;l<a.length;l++){let c=a[l];if(e.ts.isImportDeclaration(c)){i=l;continue}if(!e.ts.isExpressionStatement(c))continue;let p=c.expression;if(!e.ts.isCallExpression(p))continue;let m=p.expression;if(!e.ts.isPropertyAccessExpression(m))continue;let C=m.expression;if(!e.ts.isIdentifier(C)||C.text!=="builder")continue;if(m.name.text=="init"){r=!0;break}else continue}if(r)return t;let o=e.ts.factory.createPropertyAccessExpression(e.ts.factory.createPropertyAccessExpression(e.ts.factory.createIdentifier("process"),e.ts.factory.createIdentifier("env")),e.ts.factory.createIdentifier(Re)),s=n?e.ts.factory.createNonNullExpression(o):o,u=e.ts.factory.createExpressionStatement(e.ts.factory.createCallExpression(e.ts.factory.createPropertyAccessExpression(e.ts.factory.createIdentifier("builder"),e.ts.factory.createIdentifier("init")),void 0,[s]));return a.splice(i+1,0,u),e.ts.factory.updateSourceFile(t,a)}async function rc(e,t){let n=[],r=X(e,t,"CUSTOM_COMPONENTS");return r&&await Promise.all(r.arrayLiteralExp.elements.map(async(i,a)=>{let o=await Mn(e,t,i);o&&(o.nodeIndex=a,n.push(o))})),{sourceFile:t,components:me(n)}}async function Mn(e,t,n){if(!e.ts.isObjectLiteralExpression(n))return null;let r={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1};$t(e,n)&&(r.acceptsChildren=!0);for(let a of n.properties){if(!e.ts.isPropertyAssignment(a)||!e.ts.isIdentifier(a.name))continue;if(_(e,a)==="component"){let s,{initializer:u}=a;if(e.ts.isCallExpression(u)&&(e.ts.isIdentifier(u.expression)&&u.expression.text)==="dynamic"){let C=u.arguments;if(C.length===0)return null;let D=C[0];if(!e.ts.isArrowFunction(D))return null;let g=D.body;if(e.ts.isCallExpression(g)){if(g.expression.kind!==e.ts.SyntaxKind.ImportKeyword||g.arguments.length!==1)return null;let f=g.arguments[0];if(!e.ts.isStringLiteral(f))return null;let x=f.text,E=await jt(e,x);r.filePath=E,r.relFilePath=e.relative(e.getAppRootDir(),r.filePath),await e.exists(E)?r.importPath=K(e,r.filePath):(r.externalImportPath=x,r.importPath=r.externalImportPath),r.name=xe(e,r.filePath),r.importName="default",r.exportName="default",r.exportType="default"}else if(e.ts.isPropertyAccessExpression(g)){let d=g.expression;if(!e.ts.isParenthesizedExpression(d))return null;let f=d.expression;if(!e.ts.isAwaitExpression(f))return null;let x=f.expression;if(!e.ts.isCallExpression(x)||x.expression.kind!==e.ts.SyntaxKind.ImportKeyword||x.arguments.length!==1)return null;let S=x.arguments[0];if(!e.ts.isStringLiteral(S)||!e.ts.isIdentifier(g.name))return null;let A=S.text,y=await jt(e,A);r.filePath=y,r.relFilePath=e.relative(e.getAppRootDir(),r.filePath),await e.exists(y)?r.importPath=K(e,r.filePath):(r.externalImportPath=A,r.importPath=r.externalImportPath),r.name=U(g.name.text),r.importName=g.name.text,r.exportName=g.name.text,r.exportType="named"}else return null;return r=fe(e,r,n),r.displayFilePath=L(e,r.filePath),r.filePath&&r.exportName&&(r.id=await V(e,r.filePath,r.exportName,r.externalImportPath)),r}if(e.ts.isIdentifier(u)&&(s=u.text),!s)continue;r.name===""&&(r.name=U(s)),r.importName=s;let l=await Ne(e,e.registryPath,t,s);if(!l)continue;r.filePath=l.filePath,r.relFilePath=l.relFilePath,await e.exists(l.filePath)?r.importPath=K(e,l.filePath):(r.externalImportPath=l.importPath,r.importPath=r.externalImportPath),r.importPath=K(e,l.filePath),r.displayFilePath=l.displayFilePath,r.exportType=l.exportType;let c=t.statements.filter(m=>e.ts.isImportDeclaration(m)),p=c.find(m=>m.importClause&&m.importClause.name?.text===s);if(p){let m=p.moduleSpecifier;if(!e.ts.isStringLiteral(m))return null;r.exportName="default"}else{let m=c.find(D=>!D.importClause||!D.importClause.namedBindings||!e.ts.isNamedImports(D.importClause.namedBindings)?!1:D.importClause.namedBindings.elements.some(g=>g.name.text===s));if(!m)return null;let C=m.moduleSpecifier;if(!e.ts.isStringLiteral(C))return null;r.exportName=s}continue}}return r=fe(e,r,n),r.filePath&&r.exportName&&(r.id=await V(e,r.filePath,r.exportName,r.externalImportPath)),r}function Le(e,t){let n=[...t.statements],r=!1;for(let i=t.statements.length-1;i>=0;i--){let a=t.statements[i];if(e.ts.isImportDeclaration(a)&&a.importClause){let o=!1,s=a.importClause.namedBindings;if(s&&e.ts.isNamedImports(s)&&s.elements){let u=[...s.elements];for(let l=u.length-1;l>=0;l--){let c=u[l];if(e.ts.isImportSpecifier(c)){let p=c.name;if(p&&e.ts.isIdentifier(p)){let m=p.text;ia(e,t,m)||u.splice(l,1)}}}if(u.length===0)o=!0;else if(s.elements.length!==u.length){let l=e.ts.factory.updateImportClause(a.importClause,!1,a.importClause.name,e.ts.factory.createNamedImports(u)),c=e.ts.factory.updateImportDeclaration(a,void 0,l,a.moduleSpecifier,void 0);n[i]=c,r=!0}}else if(a.importClause.name&&e.ts.isIdentifier(a.importClause.name)){let u=a.importClause.name.text;ia(e,t,u)||(o=!0)}o&&(n.splice(i,1),r=!0)}}return r?e.ts.factory.updateSourceFile(t,n):t}function ia(e,t,n){let r=!1;function i(a){if(!e.ts.isImportDeclaration(a)){if(e.ts.isIdentifier(a)&&a.text===n){r=!0;return}e.ts.forEachChild(a,i)}}return e.ts.forEachChild(t,i),r}function _e(e,t,n,r,i,a,o){let s=null,u=null,l=null,c=-1;t=de(t),n=de(n);let p=t.find(C=>C.id===e),m=n.find(C=>C.id===e);if(r)m||(s={...de(p),inputs:de(p.inputs).map(C=>(C.isRegistered=!0,C))},c=n.length,n.push(s));else if(typeof m?.nodeIndex=="number"&&m.nodeIndex>-1){if(i)c=m.nodeIndex,u=de(m),n=n.filter(C=>C.id!==e);else if(a!=null)nc(m,a),c=m.nodeIndex,l=m;else if(o!=null){let C=m.inputs.find(D=>D.name===o.name);C&&(o.registerInput===!1?C.isRegistered=!1:(oc(C,o),C.isRegistered=!0),l=m,c=m.nodeIndex)}}return{addCmpToRegistry:s,removeCmpFromRegistry:u,updateRegisteredCmp:l,nodeIndex:c,components:we(t,n)}}function we(e,t){let n=me([...t.map(r=>(r.isRegistered=!0,r)),...e.filter(r=>!t.some(i=>i.id===r.id)).map(r=>(r.isRegistered=!1,r))]);return n.forEach(r=>{r.inputs=r.inputs.map(Nn),r.inputs.sort((o,s)=>o.name.toLowerCase().localeCompare(s.name.toLowerCase()));let i=t.find(o=>o.id===r.id);i&&(i.acceptsChildren=Rn(r));let a=e.find(o=>o.id===r.id&&o.externalImportPath);a&&(r.filePath=a.filePath,r.relFilePath=a.relFilePath)}),n}function nc(e,t){ce(t.name)?e.name=t.name:t.name===null&&(e.name=e.importName),ce(t.description)?e.description=t.description:t.description===null&&delete e.description,ce(t.image)?e.image=t.image:t.image===null&&delete e.image}function oc(e,t){ce(t.type)&&(e.type=t.type),ce(t.friendlyName)?e.friendlyName=t.friendlyName:t.friendlyName===null&&delete e.friendlyName,ce(t.defaultValue)||Wt(t.defaultValue)||vt(t.defaultValue)?e.defaultValue=t.defaultValue:t.defaultValue===null&&delete e.defaultValue,ce(t.helperText)?e.helperText=t.helperText:t.helperText===null&&delete e.helperText,t.required===!0?e.required=t.required:(t.required===null||t.required===!1)&&delete e.required}async function at(e){let t=new Set,n=async i=>{let a=await e.readdir(i);await Promise.all(a.map(async o=>{if(o.startsWith(".")||o==="node_modules")return;let s=e.join(i,o),u=e.extname(o).toLowerCase();if(u===".tsx"||u===".jsx"||u===".ts"||u===".js"){t.add(s);return}(await e.stat(s)).isDirectory()&&await n(s)}))};return await n(e.getAppRootDir()),await ee(e,[...t])}function je(e,t,n){return kt(e,t,n.variableName)?t:ic(e,t,n)}function ic(e,t,n){let r=typeof n.arrayType=="string"?e.ts.factory.createArrayTypeNode(e.ts.factory.createTypeReferenceNode(n.arrayType,void 0)):void 0,i=e.ts.factory.createArrayLiteralExpression([]),a=e.ts.factory.createVariableDeclaration(n.variableName,void 0,r,i),o=e.ts.factory.createVariableDeclarationList([a],e.ts.NodeFlags.Const),s=e.ts.factory.createModifier(e.ts.SyntaxKind.ExportKeyword),u=e.ts.factory.createVariableStatement([s],o),l=[...t.statements,u];return e.ts.factory.updateSourceFile(t,l)}async function Me(e,t,n,r,i,a,o,s){let u=await at(e),[l,c,p,m]=await Promise.all([Xi(e,u),na(e),De(e),tr(e)]),C=l.map(E=>E.cmpInfo),D=c.components,g={components:we(C,D),registryPath:e.registryPath,registryDisplayPath:L(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:$e(C),publicApiKey:m.envValue??void 0,devToolsVersion:e.version};if(s)return g.components=await Lt(e,g.components),g;let d=!1,f=c.sourceFile,x=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(x.length>0){let E=x.map(y=>{let $=l.find(G=>G.cmpInfo.id===y);if(!$)throw new Error(`Component ${y} not found`);return $}),S=Array.from(new Set(E.map(y=>y.cmpInfo.filePath))),A=await ee(e,S);for(let y of E){let $=g.components.find(w=>w.id===y.cmpInfo.id),G=await _t(e,y,A,e.registryPath===y.cmpInfo.filePath||he(y.cmpInfo.filePath));Ce($,G);let j=C.findIndex(w=>w.id===y.cmpInfo.id);C[j].inputs=G;let v=_e(y.cmpInfo.id,C,D,n,r,i,a);if(e.sdkVersion===b.gen2){let{elements:w,elmIndex:ue,statementIndex:Se,statement:ie,variableDeclaration:M}=await uc(e,f,y);if(v.addCmpToRegistry)w.push(sc(e,v.addCmpToRegistry)),d=!0;else if(v.removeCmpFromRegistry)w.splice(ue,1),d=!0;else if(v.updateRegisteredCmp){let le=te(e,w[ue],v.updateRegisteredCmp);w[ue]=e.ts.factory.updateObjectLiteralExpression(le,[sa(e,v.updateRegisteredCmp),...le.properties.slice(1)]),d=!0}if(d&&o){let le=[...f.statements];le[Se]=e.ts.factory.updateVariableStatement(ie,ie.modifiers,e.ts.factory.updateVariableDeclarationList(ie.declarationList,[e.ts.factory.updateVariableDeclaration(M,M.name,M.exclamationToken,M.type,e.ts.factory.createArrayLiteralExpression(Oe(e,w)))])),f=e.ts.factory.updateSourceFile(f,le),f=aa(e,v,f),f=k(e,f,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-react",isTypeOnly:!0}),f=je(e,f,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),g.components=v.components,D=v.components.filter(pt=>pt.isRegistered)}}else{let w=[...f.statements];v.addCmpToRegistry?(w.push(zi(e,v.addCmpToRegistry)),d=!0):v.removeCmpFromRegistry?(w.splice(v.nodeIndex,1),d=!0):v.updateRegisteredCmp&&(w[v.nodeIndex]=$n(e,w[v.nodeIndex],v.updateRegisteredCmp),d=!0),d&&o&&(f=e.ts.factory.updateSourceFile(f,w),f=k(e,f,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),f=oa(e,f,p),f=aa(e,v,f),$?.acceptsChildren&&(f=k(e,f,{namedImports:["withChildren"],importPath:"@builder.io/react"})),g.components=v.components,D=v.components.filter(ue=>ue.isRegistered))}}}if(d&&o){f=Le(e,f),f=ke(e,f),e.appDir&&(f=ra(e,f));let E=re(e,f);E=ve(E),e.appDir&&(E=ta(E)),E=await e.formatCode(e.registryPath,E),await e.writeFile(e.registryPath,E)}return g}function sa(e,t){let n=e.ts.factory.createIdentifier(t.importName);return e.appDir?e.ts.factory.createPropertyAssignment("component",n):e.ts.factory.createPropertyAssignment("component",lc(e,t))}function ac(e){return e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())}function sc(e,t){return te(e,e.ts.factory.createObjectLiteralExpression([sa(e,t),...t.acceptsChildren?[ac(e)]:[]],!0),t)}async function uc(e,t,n){let r=X(e,t,"CUSTOM_COMPONENTS");if(!r)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let i=r.arrayLiteralExp.elements.filter(o=>e.ts.isObjectLiteralExpression(o)),a=-1;for(let o=0;o<i.length;o++)if((await Mn(e,t,i[o]))?.id===n.cmpInfo.id){a=o;break}return{...r,elements:i,elmIndex:a}}function aa(e,t,n){if(e.appDir){let r=t.addCmpToRegistry||t.updateRegisteredCmp;if(r){let i=r.externalImportPath?r.externalImportPath:O(e,e.registryPath,r.filePath);r.exportType==="default"?n=k(e,n,{defaultImport:r.importName,importPath:i}):r.exportType==="named"&&(n=k(e,n,{namedImports:[r.importName],importPath:i}))}}else n=k(e,n,{defaultImport:"dynamic",importPath:"next/dynamic"});return n}function lc(e,t){let n=t.externalImportPath?t.externalImportPath:O(e,e.registryPath,t.filePath),r=t.exportName!=="default",i;r?i=e.ts.factory.createPropertyAccessExpression(e.ts.factory.createAwaitExpression(e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("import"),void 0,[e.ts.factory.createStringLiteral(n)])),e.ts.factory.createIdentifier(t.exportName)):i=e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("import"),void 0,[e.ts.factory.createStringLiteral(n)]);let a=e.ts.factory.createArrowFunction(r?[e.ts.factory.createModifier(e.ts.SyntaxKind.AsyncKeyword)]:void 0,void 0,[],void 0,e.ts.factory.createToken(e.ts.SyntaxKind.EqualsGreaterThanToken),i);return e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("dynamic"),void 0,[a])}async function la(e){let t=[],n=await dc(e,t);return await da(e,t,n),e.appDir?(e.debug(`ensure builder setup for next.js app ${e.appDir}`),await pc(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure builder setup for next.js pages ${e.pagesDir}`),await mc(e,e.pagesDir,t)),t}async function ca(e){let t=[];return await da(e,t),e.appDir?(e.debug(`ensure figma-imports setup for next.js app ${e.appDir}`),await cc(e,e.appDir,t)):e.pagesDir&&(e.debug(`ensure figma-imports setup for next.js pages ${e.pagesDir}`),await fc(e,e.pagesDir,t)),t}async function cc(e,t,n){let r=`page.${e.typescriptEnabled?"tsx":"jsx"}`,i=e.join(t,"figma-imports",r);if(!await e.exists(i)){let a=await e.formatCode(i,ma({sys:e,routePath:i,modelName:"figma-imports"}));await e.writeFile(i,a),n.push({filePath:i,modifiedType:"create"})}if(!await e.exists(e.builderComponentPath)){let a=await e.formatCode(e.builderComponentPath,pa(e));await e.writeFile(e.builderComponentPath,a),n.push({filePath:e.builderComponentPath,modifiedType:"create"})}}async function pc(e,t,n){let r=`page.${e.typescriptEnabled?"tsx":"jsx"}`,i=e.join(t,"[...page]",r);if(!await e.exists(i)){let a=await e.formatCode(i,ma({sys:e,routePath:i,modelName:"page"}));await e.writeFile(i,a),n.push({filePath:i,modifiedType:"create"})}if(!await e.exists(e.builderComponentPath)){let a=await e.formatCode(e.builderComponentPath,pa(e));await e.writeFile(e.builderComponentPath,a),n.push({filePath:e.builderComponentPath,modifiedType:"create"})}}function pa(e){let t=e.typescriptEnabled;return e.sdkVersion===b.gen2?`
|
|
301
303
|
"use client";
|
|
302
304
|
import { ${t?"BuilderContent, ":""} isPreviewing, Content } from "@builder.io/sdk-react";
|
|
303
305
|
import DefaultErrorPage from "next/error";
|
|
304
|
-
import { CUSTOM_COMPONENTS } from ${JSON.stringify(
|
|
306
|
+
import { CUSTOM_COMPONENTS } from ${JSON.stringify(O(e,e.builderComponentPath,e.registryPath))};
|
|
305
307
|
${t?`
|
|
306
308
|
interface BuilderPageProps {
|
|
307
309
|
content: BuilderContent | null;
|
|
@@ -309,7 +311,7 @@ interface BuilderPageProps {
|
|
|
309
311
|
}`:""}
|
|
310
312
|
|
|
311
313
|
// Builder Public API Key set in .env file
|
|
312
|
-
const builderApiKey = process.env.${
|
|
314
|
+
const builderApiKey = process.env.${Re}${t?"!":""};
|
|
313
315
|
|
|
314
316
|
export function RenderBuilderContent({ content, model }${t?": BuilderPageProps":""}) {
|
|
315
317
|
// Call the isPreviewing hook to determine if
|
|
@@ -335,12 +337,12 @@ ${t?'import { ComponentProps } from "react";':""}
|
|
|
335
337
|
import { BuilderComponent, useIsPreviewing } from "@builder.io/react";
|
|
336
338
|
import { ${t?"BuilderContent, ":""}builder } from '@builder.io/sdk';
|
|
337
339
|
import DefaultErrorPage from "next/error";
|
|
338
|
-
import ${JSON.stringify(
|
|
340
|
+
import ${JSON.stringify(O(e,e.builderComponentPath,e.registryPath))};
|
|
339
341
|
${t?`
|
|
340
342
|
type BuilderPageProps = ComponentProps<typeof BuilderComponent>;`:""}
|
|
341
343
|
|
|
342
344
|
// Builder Public API Key set in .env file
|
|
343
|
-
builder.init(process.env.${
|
|
345
|
+
builder.init(process.env.${Re}${t?"!":""});
|
|
344
346
|
|
|
345
347
|
export function RenderBuilderContent({ content, model }${t?": BuilderPageProps":""}) {
|
|
346
348
|
// Call the useIsPreviewing hook to determine if
|
|
@@ -356,7 +358,7 @@ export function RenderBuilderContent({ content, model }${t?": BuilderPageProps":
|
|
|
356
358
|
// DefaultErrorPage with a 404.
|
|
357
359
|
return <DefaultErrorPage statusCode={404} />;
|
|
358
360
|
}
|
|
359
|
-
`.trimStart()}function
|
|
361
|
+
`.trimStart()}function ua(e){return e.features.asyncParams?`
|
|
360
362
|
interface PageProps {
|
|
361
363
|
params: Promise<{
|
|
362
364
|
page: string[];
|
|
@@ -366,14 +368,14 @@ interface PageProps {
|
|
|
366
368
|
params: {
|
|
367
369
|
page: string[];
|
|
368
370
|
};
|
|
369
|
-
}`}function
|
|
371
|
+
}`}function ma({sys:e,routePath:t,modelName:n}){let r=e.typescriptEnabled,i=O(e,t,e.builderComponentPath);return e.sdkVersion===b.gen2?`
|
|
370
372
|
import { fetchOneEntry } from "@builder.io/sdk-react";
|
|
371
373
|
import { RenderBuilderContent } from ${JSON.stringify(i)};
|
|
372
374
|
|
|
373
375
|
// Builder Public API Key set in .env file
|
|
374
|
-
const PUBLIC_API_KEY = process.env.${
|
|
376
|
+
const PUBLIC_API_KEY = process.env.${Re}${r?"!":""};
|
|
375
377
|
|
|
376
|
-
${r?
|
|
378
|
+
${r?ua(e):""}
|
|
377
379
|
|
|
378
380
|
export default async function Page(props${r?": PageProps":""}) {
|
|
379
381
|
const builderModelName = "${n}";
|
|
@@ -400,8 +402,8 @@ import { builder } from "@builder.io/sdk";
|
|
|
400
402
|
import { RenderBuilderContent } from ${JSON.stringify(i)};
|
|
401
403
|
|
|
402
404
|
// Builder Public API Key set in .env file
|
|
403
|
-
builder.init(process.env.${
|
|
404
|
-
${r?
|
|
405
|
+
builder.init(process.env.${Re}${r?"!":""});
|
|
406
|
+
${r?ua(e):""}
|
|
405
407
|
|
|
406
408
|
export default async function Page(props${r?": PageProps":""}) {
|
|
407
409
|
const builderModelName = "${n}";
|
|
@@ -424,7 +426,7 @@ export default async function Page(props${r?": PageProps":""}) {
|
|
|
424
426
|
</>
|
|
425
427
|
);
|
|
426
428
|
}
|
|
427
|
-
`.trimStart()}async function
|
|
429
|
+
`.trimStart()}async function mc(e,t,n){let r=`[...page].${e.typescriptEnabled?"tsx":"jsx"}`,i=e.join(t,r);if(!await e.exists(i)){let a=await e.formatCode(i,fa({sys:e,routePath:i,modelName:"page"}));await e.writeFile(i,a),n.push({filePath:i,modifiedType:"create"})}}async function fc(e,t,n){let r=`figma-imports.${e.typescriptEnabled?"tsx":"jsx"}`,i=e.join(t,r);if(!await e.exists(i)){let a=await e.formatCode(i,fa({sys:e,routePath:i,modelName:"figma-imports"}));await e.writeFile(i,a),n.push({filePath:i,modifiedType:"create"})}}function fa({sys:e,routePath:t,modelName:n}){let r=e.typescriptEnabled;return e.sdkVersion===b.gen2?`
|
|
428
430
|
import React from "react";
|
|
429
431
|
import { useRouter } from "next/router";
|
|
430
432
|
${r?'import type { BuilderContent } from "@builder.io/sdk-react";':""}
|
|
@@ -437,9 +439,9 @@ import {
|
|
|
437
439
|
import DefaultErrorPage from "next/error";
|
|
438
440
|
import Head from "next/head";
|
|
439
441
|
${r?'import { GetStaticProps } from "next";':""}
|
|
440
|
-
import { CUSTOM_COMPONENTS } from ${JSON.stringify(
|
|
442
|
+
import { CUSTOM_COMPONENTS } from ${JSON.stringify(O(e,e.builderComponentPath,e.registryPath))};
|
|
441
443
|
|
|
442
|
-
const BUILDER_API_KEY = process.env.${
|
|
444
|
+
const BUILDER_API_KEY = process.env.${Re}${r?"!":""};
|
|
443
445
|
|
|
444
446
|
// Define a function that fetches the Builder
|
|
445
447
|
// content for a given page
|
|
@@ -521,9 +523,9 @@ import DefaultErrorPage from "next/error";
|
|
|
521
523
|
import Head from "next/head";${r?`
|
|
522
524
|
import { BuilderContent } from "@builder.io/sdk";`:""}${r?`
|
|
523
525
|
import { GetStaticProps } from "next";`:""}
|
|
524
|
-
import ${JSON.stringify(
|
|
526
|
+
import ${JSON.stringify(O(e,t,e.registryPath))};
|
|
525
527
|
|
|
526
|
-
builder.init(process.env.${
|
|
528
|
+
builder.init(process.env.${Re}${r?"!":""});
|
|
527
529
|
|
|
528
530
|
// Define a function that fetches the Builder
|
|
529
531
|
// content for a given page
|
|
@@ -588,7 +590,7 @@ export default function Page({ page }${r?": { page: BuilderContent | null }":""}
|
|
|
588
590
|
</>
|
|
589
591
|
);
|
|
590
592
|
}
|
|
591
|
-
`.trimStart()}async function
|
|
593
|
+
`.trimStart()}async function dc(e,t){let r=e.typescriptEnabled?"tsx":"jsx",i=e.join(e.componentsDir,"Counter"),a=e.join(i,`Counter.${r}`),o=e.join(i,"styles.module.css"),{component:s,styles:u}=Dc(e);if(!await e.exists(a)){let l=await e.formatCode(a,s);await e.writeFile(a,l),t.push({filePath:a,modifiedType:"create"})}return await e.exists(o)||(await e.writeFile(o,u),t.push({filePath:o,modifiedType:"create"})),a}function Dc(e){let t=e.typescriptEnabled,n=`
|
|
592
594
|
"use client"
|
|
593
595
|
import React, { useState } from "react";
|
|
594
596
|
import styles from "./styles.module.css";
|
|
@@ -651,18 +653,18 @@ export default Counter;
|
|
|
651
653
|
font-size: 42px;
|
|
652
654
|
text-align: center;
|
|
653
655
|
}
|
|
654
|
-
`.trimStart();return{component:n,styles:r}}async function
|
|
656
|
+
`.trimStart();return{component:n,styles:r}}async function da(e,t,n){if(!await e.exists(e.registryPath)){if(e.sdkVersion===b.gen2){let a=gc(e);await e.writeFile(e.registryPath,a)}else await e.writeFile(e.registryPath,"");t.push({filePath:e.registryPath,modifiedType:"create"})}if(!n)return;let i=(await Me(e,null,!1,!1,null,null,!1,!1)).components.find(a=>a.filePath===n);i&&await Me(e,i.id,!0,!1,null,null,!0,!1)}function gc(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-react";
|
|
655
657
|
|
|
656
658
|
export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
|
|
657
659
|
];`:`export const CUSTOM_COMPONENTS = [
|
|
658
660
|
];
|
|
659
|
-
`}async function
|
|
661
|
+
`}async function Mt(e){let t=await Jt(e,e.getRepoRootDir());if(t&&typeof t=="object"){let n=new Set(Object.keys({...t.dependencies,...t.devDependencies}));if(n.has("@builder.io/sdk-react"))return b.gen2;if(n.has("@builder.io/react"))return b.gen1}return null}async function Da(e){let t=await Cc(e);return{builderPageOptions:async()=>({templateContentId:"3de2f13211234071a4b19a17b4fbc5a7",pathname:"/builder-demo",title:"Builder + Next.js Demo Page"}),ensureBuilderSetup:()=>la(t),ensureFigmaImportPage:()=>ca(t),getRegistryPath:()=>t.registryPath,getRegistry:r=>Me(t,null,!1,!1,null,null,!1,!!r?.readAllInputTypes),addExternalPackage:r=>{t.addExternalPackage(r)},loadComponent:async r=>{let i=await Me(t,r.cmpId,!1,!1,null,null,!1,!1);return{...i,component:i.components.find(a=>a.id===r.cmpId)}},registerComponent:r=>Me(t,r.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:r=>Me(t,r.cmpId,!1,!1,r,null,!0,!1),setRegisteredComponentInput:r=>Me(t,r.cmpId,!1,!1,null,r,!0,!1),unregisterComponent:r=>Me(t,r.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>tr(t),setPublicApiKey:r=>_i(t,r.publicApiKey),getDependencies:r=>r.sdkVersion===b.gen2?[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-react"}]:[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>Ie(t),setCache:r=>Be(t,r)}}async function Cc(e){let t=e.getAppRootDir(),n=e.join(t,"src"),r=await hc(e),i=await De(e),a=e.getFrameworks().find(l=>l.name==="next"),o={asyncParams:a?.version?.major!==void 0&&a.version.major>=15},s={},u={...e,addExternalPackage:l=>{s[e.join(t,l,"index.ts")]=`export * from "${l}";`},readFileSync:l=>s[l]??e.readFileSync(l),existsSync:l=>!!s[l]||e.existsSync(l),readdirSync:l=>{let c=e.readdirSync(l);return l===t?[...c,...Object.keys(s).map(p=>p.slice(t.length+1))]:c},readdir:async l=>{let c=await e.readdir(l);return l===t?[...c,...Object.keys(s).map(p=>p.slice(t.length+1))]:c},appDir:null,pagesDir:null,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",nextConfigPath:r,typescriptEnabled:i,features:o};if(e.sdkVersion?u.sdkVersion=e.sdkVersion:u.sdkVersion=await Mt(u),await e.exists(n)){u.srcDir=n,u.componentsDir=e.join(n,"components");let l=e.join(n,"app");await e.exists(l)&&(u.appDir=l);let c=e.join(n,"pages");await e.exists(c)&&(u.pagesDir=c),u.registryPath=await Ee(e,n)}else u.componentsDir=e.join(t,"components"),u.registryPath=await Ee(e,t);if(u.builderComponentPath=e.join(u.componentsDir,`builder.${i?"tsx":"jsx"}`),!u.appDir){let l=e.join(t,"app");await e.exists(l)&&(u.appDir=l)}if(!u.pagesDir){let l=e.join(t,"pages");await e.exists(l)&&(u.pagesDir=l)}if(!u.appDir&&!u.pagesDir)throw new Error(`Could not find Next.js "app" or "pages" directory. Searched in "${t}".`);return u}async function hc(e){let t=e.join(e.getAppRootDir(),"next.config.ts");if(await e.exists(t))return t;let n=e.join(e.getAppRootDir(),"next.config.mjs");if(await e.exists(n))return n;let r=e.join(e.getAppRootDir(),"next.config.js");if(await e.exists(r))return r;throw new Error(`Could not find Next.js config file. Searched for "next.config.ts", "next.config.mjs" and "next.config.js" in "${e.getAppRootDir()}".`)}async function ir(e){return await nt(e,[".env"],Ca)}async function ga(e,t){xc(t);let n=await ir(e),r=await ot(e,n.file,n.envKey,t);return{...n,modifiedType:r}}function xc(e){typeof process<"u"&&(process.env[Ca]=e)}var Ca="PUBLIC_BUILDER_API_KEY";function ha(e,t,n){if(n.length===0)return e;let r=e.split(`
|
|
660
662
|
`),i=r.findIndex(s=>s.includes(n));if(i===-1||r.some(s=>s.includes(t[0])))return e;let o=["/**",...t.map(s=>` * ${s.trim()}`)," */"];return r.splice(i,0,...o),r.join(`
|
|
661
|
-
`)}async function
|
|
663
|
+
`)}async function Ea(e,t){let n=[],r=t.getSourceFiles(),i=t.getTypeChecker();return await Promise.all(r.map(async a=>{let o=e.basename(a.fileName);if(o.startsWith(".")||yc.has(o))return;let s=e.normalize(a.fileName);if(s===e.registryPath)return;let u=await Or(e,i,s,a);n.push(...u)})),n}async function Fa(e,t){if(e.extname(t).toLowerCase()===".tsx"){let r=await e.readFile(t);if(r)return Ec(e,t,r)}return null}function Ec(e,t,n){let r=R(e,n);return Or(e,null,t,r)}async function Or(e,t,n,r){n=e.normalize(n);let i=[],a=Ct(e,r);return await Promise.all(a.map(async o=>{let s=await Fc(e,t,n,o);s&&i.push(s)})),i}async function Fc(e,t,n,r){let i=e.relative(e.getAppRootDir(),n),a=K(e,n);if(e.ts.isVariableStatement(r.node))for(let o of r.node.declarationList.declarations){let s=xa(e,o.initializer);if(s&&e.ts.isIdentifier(o.name)){let u=o.name.text;return{cmpInfo:{id:await V(e,n,u),displayFilePath:L(e,n),name:U(u),inputs:[],exportName:r.isDefaultExport?"default":u,exportType:r.isDefaultExport?"default":"named",importName:u,filePath:n,relFilePath:i,importPath:a},node:s}}}else if(e.ts.isCallExpression(r.node)){let o=xa(e,r.node);if(o)return{cmpInfo:{id:await V(e,n,"default"),displayFilePath:L(e,n),name:xe(e,n),inputs:[],exportName:"default",exportType:"default",importName:dt(e,n),filePath:n,relFilePath:i,importPath:a},node:o}}return null}function xa(e,t){if(t&&e.ts.isCallExpression(t)&&e.ts.isIdentifier(t.expression)&&t.expression.text==="component$"&&t.arguments.length>0){let n=t.arguments[0];if(e.ts.isArrowFunction(n)||e.ts.isFunctionExpression(n))return{callExpression:t,fnNode:n}}return null}var yc=new Set(["node_modules","layout.tsx","404.tsx","router-head.tsx"]);async function ya(e,t){let n=t.node.fnNode;if((e.ts.isArrowFunction(n)||e.ts.isFunctionExpression(n))&&n.parameters.length>0){let{sourceFile:i,typeChecker:a}=await bt(e,t.cmpInfo.filePath,null);if(!(await Or(e,a,t.cmpInfo.filePath,i)).find(u=>u.cmpInfo.id===t.cmpInfo.id))throw new Error(`createComponentInputs() Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return gt(e,a,n)}return[]}async function Sa(e){return Kn(e)}async function Kn(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Sc),t.push({filePath:e.registryPath,modifiedType:"create"})),t}var Sc=`import type { RegisteredComponent } from "@builder.io/sdk-qwik";
|
|
662
664
|
|
|
663
665
|
export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
|
|
664
666
|
];
|
|
665
|
-
`;async function ca(e){await In(e);let t=await e.readFile(e.registryPath);return t?rc(e,t):{components:[],sourceFile:B(e,"")}}async function rc(e,t){let n=B(e,t);return nc(e,n)}async function nc(e,t){let n=[],r=Q(e,t,"CUSTOM_COMPONENTS");return r&&await Promise.all(r.arrayLiteralExp.elements.map(async(i,a)=>{let o=await Bn(e,t,i);o&&(o.nodeIndex=a,n.push(o))})),{sourceFile:t,components:pe(n)}}async function Bn(e,t,n){if(!e.ts.isObjectLiteralExpression(n))return null;let r={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[]};for(let i of n.properties){if(!e.ts.isPropertyAssignment(i)||!e.ts.isIdentifier(i.name))continue;if(L(e,i)==="component"&&e.ts.isIdentifier(i.initializer)){let o=i.initializer.text;r.name===""&&(r.name=K(o)),r.importName=o;let s=await Be(e,e.registryPath,t,o);if(!s)continue;r.filePath=s.filePath,r.relFilePath=s.relFilePath,r.importPath=M(e,s.filePath),r.displayFilePath=s.displayFilePath,r.exportType=s.exportType;let u=await sa(e,s.filePath);if(u&&u.length>0)if(u.length===1)r.exportName=u[0].cmpInfo.exportName;else{let l=u.find(c=>c.cmpInfo.exportName===o);l&&(r.exportName=l.cmpInfo.exportName)}continue}}return r=me(e,r,n),r.filePath&&r.exportName&&(r.id=await V(e,r.filePath,r.exportName)),r}async function pa(e){let t=new Set,n=async i=>{let a=await e.readdir(i);await Promise.all(a.map(async o=>{if(o.startsWith(".")||o==="node_modules")return;let s=e.join(i,o),u=e.extname(o).toLowerCase();if(u===".tsx"||u===".ts"){t.add(s);return}(await e.stat(s)).isDirectory()&&await n(s)}))};return await n(e.getAppRootDir()),await X(e,[...t])}async function ft(e,t,n,r,i,a,o,s){let u=await pa(e),[l,c,p]=await Promise.all([aa(e,u),ca(e),tr(e)]),m=l.map(g=>g.cmpInfo),C=c.components,D={components:Ae(m,C),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Re(m),publicApiKey:p.envValue??void 0,devToolsVersion:e.version};if(s)return D;if(t!=null){let g=l.find(A=>A.cmpInfo.id===t);if(!g)throw new Error(`Component ${t} not found`);let d=c.sourceFile,f=D.components.find(A=>A.id===t),E=await ua(e,g);De(f,E),t=Array.isArray(t)?t[0]:t;let x=Oe(t,m,C,n,r,i,a),{elements:y,elmIndex:S,statementIndex:F,statement:R,variableDeclaration:W}=await ic(e,d,g),_=!1;if(x.addCmpToRegistry?(y.push(oc(e,x.addCmpToRegistry)),_=!0):x.removeCmpFromRegistry?(y.splice(S,1),_=!0):x.updateRegisteredCmp&&(y[S]=Z(e,y[S],x.updateRegisteredCmp),_=!0),_&&o){let A=[...d.statements];A[F]=e.ts.factory.updateVariableStatement(R,R.modifiers,e.ts.factory.updateVariableDeclarationList(R.declarationList,[e.ts.factory.updateVariableDeclaration(W,W.name,W.exclamationToken,W.type,e.ts.factory.createArrayLiteralExpression($e(e,y)))])),d=e.ts.factory.updateSourceFile(d,A),f.exportType==="named"?d=N(e,d,{namedImports:[f.importName],importPath:$(e,e.registryPath,f.filePath)}):d=N(e,d,{defaultImport:f.importName,importPath:$(e,e.registryPath,f.filePath)}),d=N(e,d,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-qwik",isTypeOnly:!0}),d=Le(e,d,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),d=ke(e,d),d=Ne(e,d);let v=ee(e,d);v=Se(v),v=oa(v,ac,"CUSTOM_COMPONENTS"),v=await e.formatCode(e.registryPath,v),await e.writeFile(e.registryPath,v)}D.components=x.components}return D}function oc(e,t){return Z(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function ic(e,t,n){let r=Q(e,t,"CUSTOM_COMPONENTS");if(!r)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let i=r.arrayLiteralExp.elements.filter(o=>e.ts.isObjectLiteralExpression(o)),a=-1;for(let o=0;o<i.length;o++)if((await Bn(e,t,i[o]))?.id===n.cmpInfo.id){a=o;break}return{...r,elements:i,elmIndex:a}}var ac=["This array is used to integrate custom components within Builder.","https://www.builder.io/c/docs/custom-components-intro","",'These components will be found the "Custom Components"',"section of Builder's visual editor.",'You can also turn on "components only mode" to limit',"editing to only these components.","https://www.builder.io/c/docs/guides/components-only-mode"];async function ma(e){let t=await sc(e);return{builderPageOptions:async()=>({templateContentId:"dc70f1d979ad416d8fd357137eb9ddfb",pathname:"/",title:"Builder + Qwik Demo Page"}),ensureBuilderSetup:()=>la(t),ensureFigmaImportPage:async()=>[],getRegistryPath:()=>t.registryPath,getRegistry:r=>ft(t,null,!1,!1,null,null,!1,!!r?.readAllInputTypes),addExternalPackage:async r=>{},loadComponent:async r=>{let i=await ft(t,r.cmpId,!1,!1,null,null,!1,!1);return{...i,component:i.components.find(a=>a.id===r.cmpId)}},registerComponent:r=>ft(t,r.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:r=>ft(t,r.cmpId,!1,!1,r,null,!0,!1),setRegisteredComponentInput:r=>ft(t,r.cmpId,!1,!1,null,r,!0,!1),unregisterComponent:r=>ft(t,r.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>tr(t),setPublicApiKey:r=>ra(t,r.publicApiKey),getDependencies:r=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-qwik"}],getDevRunCommand:()=>"dev",getCache:()=>Pe(t),setCache:r=>Te(t,r)}}async function sc(e){let t=await qt(e,e.getAppRootDir(),"components");if(!t)throw new Error(`Could not find components directory within project: ${e.getAppRootDir()}`);let n=await he(e,t),r=e.join(e.getAppRootDir(),".env");return{...e,componentsDir:t,registryPath:n,envPath:r}}async function rr(e){return await et(e,[".env"],nr)}async function fa(e,t){let n=await rr(e),r=await tt(e,n.file,n.envKey,t);return{...n,modifiedType:r}}var nr="PUBLIC_BUILDER_KEY";var uc=new Set(["dist","node_modules"]);async function da(e,t){let n=[],r=t.getSourceFiles(),i=t.getTypeChecker(),a=e.join(e.getAppRootDir(),"build");return await Promise.all(r.map(async o=>{let s=e.basename(o.fileName);if(s.startsWith(".")||s==="node_modules"||Er(e,uc,o.fileName)||lc.has(s)||s.includes("$."))return;let u=e.normalize(o.fileName);if(u===e.remixConfigPath||u===a)return;let l=await rt(e,i,u,o,u===e.registryPath);n.push(...l)})),n}var lc=new Set(["root.tsx","root.ts","root.jsx","root.js","_index.tsx","_index.jsx","_index.ts","_index.js"]);async function Da(e){await Ir(e);let t=await e.readFile(e.registryPath);return t?cc(e,t):{components:[],sourceFile:B(e,"")}}async function cc(e,t){let n=B(e,t);return pc(e,n)}async function pc(e,t){let n=[],r=Q(e,t,"CUSTOM_COMPONENTS");return r&&await Promise.all(r.arrayLiteralExp.elements.map(async(i,a)=>{let o=await Rn(e,t,i);o&&(o.nodeIndex=a,n.push(o))})),{sourceFile:t,components:pe(n)}}async function Rn(e,t,n){if(!e.ts.isObjectLiteralExpression(n))return null;let r={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1};e.sdkVersion===w.gen2&&Bt(e,n)&&(r.acceptsChildren=!0);for(let i of n.properties){if(!e.ts.isPropertyAssignment(i)||!e.ts.isIdentifier(i.name))continue;if(L(e,i)==="component"){let o,{initializer:s}=i;if(e.ts.isIdentifier(s))o=s.text;else if(e.ts.isCallExpression(s)){(e.ts.isIdentifier(s.expression)&&s.expression.text)==="withChildren"&&(r.acceptsChildren=!0);let c=s.arguments[0];e.ts.isIdentifier(c)&&(o=c.text)}if(!o)continue;r.name===""&&(r.name=K(o)),r.importName=o;let u=await Be(e,e.registryPath,t,o);if(!u)continue;if(r.filePath=u.filePath,r.relFilePath=u.relFilePath,await e.exists(u.filePath)?r.importPath=M(e,u.filePath):(r.externalImportPath=u.importPath,r.importPath=r.externalImportPath),r.displayFilePath=u.displayFilePath,r.exportType=u.exportType,r.externalImportPath)r.exportName=o;else{let l=await ki(e,u.filePath,e.registryPath===u.filePath||ge(u.filePath));if(l&&l.length>0)if(l.length===1)r.exportName=l[0].cmpInfo.exportName;else{let c=l.find(p=>p.cmpInfo.exportName===o);c&&(r.exportName=c.cmpInfo.exportName)}}continue}}return r=me(e,r,n),r.filePath&&r.exportName&&(r.id=await V(e,r.filePath,r.exportName,r.externalImportPath)),r}async function je(e,t,n,r,i,a,o,s){let u=await nt(e),[l,c,p]=await Promise.all([da(e,u),Da(e),rr(e)]),m=l.map(E=>E.cmpInfo),C=c.components,D={components:Ae(m,C),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Re(m),publicApiKey:p.envValue??void 0,devToolsVersion:e.version};if(s)return D.components=await $t(e,D.components),D;let g=!1,d=c.sourceFile,f=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(f.length>0){let E=f.map(S=>{let F=l.find(R=>R.cmpInfo.id===S);if(!F)throw new Error(`Component ${S} not found`);return F}),x=Array.from(new Set(E.map(S=>S.cmpInfo.filePath))),y=await X(e,x);for(let S of E){let F=D.components.find(j=>j.id===S.cmpInfo.id),R=await kt(e,S,y,e.registryPath===S.cmpInfo.filePath||ge(S.cmpInfo.filePath));De(F,R);let W=m.findIndex(j=>j.id===S.cmpInfo.id);m[W].inputs=R;let _=Oe(S.cmpInfo.id,m,C,n,r,i,a),{elements:A,elmIndex:v,statementIndex:ae,statement:Fe,variableDeclaration:ne}=await fc(e,d,S);if(_.addCmpToRegistry)A.push(mc(e,_.addCmpToRegistry)),g=!0;else if(_.removeCmpFromRegistry)A.splice(v,1),g=!0;else if(_.updateRegisteredCmp){let j=Z(e,A[v],_.updateRegisteredCmp);A[v]=e.ts.factory.updateObjectLiteralExpression(j,[ga(e,_.updateRegisteredCmp),...j.properties.slice(1)]),g=!0}if(g&&o){let j=[...d.statements];j[ae]=e.ts.factory.updateVariableStatement(Fe,Fe.modifiers,e.ts.factory.updateVariableDeclarationList(Fe.declarationList,[e.ts.factory.updateVariableDeclaration(ne,ne.name,ne.exclamationToken,ne.type,e.ts.factory.createArrayLiteralExpression($e(e,A)))])),d=e.ts.factory.updateSourceFile(d,j),F.exportType==="named"?d=N(e,d,{namedImports:[F.importName],importPath:F.externalImportPath?F.externalImportPath:$(e,e.registryPath,F.filePath)}):d=N(e,d,{defaultImport:F.importName,importPath:F.externalImportPath?F.externalImportPath:$(e,e.registryPath,F.filePath)});let se=e.sdkVersion===w.gen2?"@builder.io/sdk-react":"@builder.io/react";d=N(e,d,{namedImports:["RegisteredComponent"],importPath:se,isTypeOnly:!0}),F.acceptsChildren&&e.sdkVersion!==w.gen2&&(d=N(e,d,{namedImports:["withChildren"],importPath:"@builder.io/react"})),d=Le(e,d,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),D.components=_.components,C=_.components.filter(at=>at.isRegistered)}}}if(g&&o){d=ke(e,d),d=Ne(e,d);let E=ee(e,d);E=Se(E),E=await e.formatCode(e.registryPath,E),await e.writeFile(e.registryPath,E)}return D}function ga(e,t){if(e.sdkVersion===w.gen2)return e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName));let n=e.ts.factory.createIdentifier(t.importName),r=t.acceptsChildren?e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("withChildren"),void 0,[n]):n;return e.ts.factory.createPropertyAssignment("component",r)}function mc(e,t){return Z(e,e.ts.factory.createObjectLiteralExpression([ga(e,t),...t.acceptsChildren&&e.sdkVersion===w.gen2?[e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())]:[]],!0),t)}async function fc(e,t,n){let r=Q(e,t,"CUSTOM_COMPONENTS");if(!r)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let i=r.arrayLiteralExp.elements.filter(o=>e.ts.isObjectLiteralExpression(o)),a=-1;for(let o=0;o<i.length;o++)if((await Rn(e,t,i[o]))?.id===n.cmpInfo.id){a=o;break}return{...r,elements:i,elmIndex:a}}async function Ca(e){let t=[],n=await gc(e,t);return t.push(...await Ir(e)),await hc(e,n),await Dc(e,t),t}async function ha(e){let t=[];return t.push(...await Ir(e)),await dc(e,t),t}async function dc(e,t){let n=`figma-imports.${e.typescriptEnabled?"tsx":"jsx"}`;e.hasLocaleParam&&(e.debug("remixEnsureFigmaImportRoute, hasLocaleParam"),n=`($locale).${n}`);let r=e.join(e.routesDir,n),i=await e.exists(r);e.debug(`remixEnsureFigmaImportRoute, hasRoute: ${i}`);let a=await e.formatCode(r,Ea({sys:e,routePath:r,modelName:"figma-imports"}));await e.writeFile(r,a),t.push({filePath:r,modifiedType:i?"update":"create"})}async function Dc(e,t){let n=`$.${e.typescriptEnabled?"tsx":"jsx"}`;e.hasLocaleParam&&(e.debug("remixEnsureAppRoute, hasLocaleParam"),n=`($locale).${n}`),e.sdkVersion===w.gen2&&(n=`($slug)._index.${e.typescriptEnabled?"tsx":"jsx"}`);let r=e.join(e.routesDir,n),i=await e.exists(r);e.debug(`remixEnsureAppRoute, hasRoute: ${i}`);let a=await e.formatCode(r,Ea({sys:e,routePath:r,modelName:"page"}));await e.writeFile(r,a),t.push({filePath:r,modifiedType:i?"update":"create"})}function Ea({sys:e,routePath:t,modelName:n}){let r=e.typescriptEnabled,i=$(e,t,e.registryPath),a="",o="";r&&(a="import type { LoaderArgs } from '@remix-run/server-runtime';",o=": LoaderArgs");let s=`process.env.${nr}`;return e.getFrameworks().some(u=>u.name==="@shopify/remix-oxygen")&&(s=`context.env.${nr}`),r&&(s+="!"),e.sdkVersion===w.gen2?`
|
|
667
|
+
`;async function Aa(e){await Kn(e);let t=await e.readFile(e.registryPath);return t?Ac(e,t):{components:[],sourceFile:R(e,"")}}async function Ac(e,t){let n=R(e,t);return vc(e,n)}async function vc(e,t){let n=[],r=X(e,t,"CUSTOM_COMPONENTS");return r&&await Promise.all(r.arrayLiteralExp.elements.map(async(i,a)=>{let o=await Vn(e,t,i);o&&(o.nodeIndex=a,n.push(o))})),{sourceFile:t,components:me(n)}}async function Vn(e,t,n){if(!e.ts.isObjectLiteralExpression(n))return null;let r={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[]};for(let i of n.properties){if(!e.ts.isPropertyAssignment(i)||!e.ts.isIdentifier(i.name))continue;if(_(e,i)==="component"&&e.ts.isIdentifier(i.initializer)){let o=i.initializer.text;r.name===""&&(r.name=U(o)),r.importName=o;let s=await Ne(e,e.registryPath,t,o);if(!s)continue;r.filePath=s.filePath,r.relFilePath=s.relFilePath,r.importPath=K(e,s.filePath),r.displayFilePath=s.displayFilePath,r.exportType=s.exportType;let u=await Fa(e,s.filePath);if(u&&u.length>0)if(u.length===1)r.exportName=u[0].cmpInfo.exportName;else{let l=u.find(c=>c.cmpInfo.exportName===o);l&&(r.exportName=l.cmpInfo.exportName)}continue}}return r=fe(e,r,n),r.filePath&&r.exportName&&(r.id=await V(e,r.filePath,r.exportName)),r}async function va(e){let t=new Set,n=async i=>{let a=await e.readdir(i);await Promise.all(a.map(async o=>{if(o.startsWith(".")||o==="node_modules")return;let s=e.join(i,o),u=e.extname(o).toLowerCase();if(u===".tsx"||u===".ts"){t.add(s);return}(await e.stat(s)).isDirectory()&&await n(s)}))};return await n(e.getAppRootDir()),await ee(e,[...t])}async function ht(e,t,n,r,i,a,o,s){let u=await va(e),[l,c,p]=await Promise.all([Ea(e,u),Aa(e),ir(e)]),m=l.map(g=>g.cmpInfo),C=c.components,D={components:we(m,C),registryPath:e.registryPath,registryDisplayPath:L(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:$e(m),publicApiKey:p.envValue??void 0,devToolsVersion:e.version};if(s)return D;if(t!=null){let g=l.find(v=>v.cmpInfo.id===t);if(!g)throw new Error(`Component ${t} not found`);let d=c.sourceFile,f=D.components.find(v=>v.id===t),x=await ya(e,g);Ce(f,x),t=Array.isArray(t)?t[0]:t;let E=_e(t,m,C,n,r,i,a),{elements:S,elmIndex:A,statementIndex:y,statement:$,variableDeclaration:G}=await bc(e,d,g),j=!1;if(E.addCmpToRegistry?(S.push(wc(e,E.addCmpToRegistry)),j=!0):E.removeCmpFromRegistry?(S.splice(A,1),j=!0):E.updateRegisteredCmp&&(S[A]=te(e,S[A],E.updateRegisteredCmp),j=!0),j&&o){let v=[...d.statements];v[y]=e.ts.factory.updateVariableStatement($,$.modifiers,e.ts.factory.updateVariableDeclarationList($.declarationList,[e.ts.factory.updateVariableDeclaration(G,G.name,G.exclamationToken,G.type,e.ts.factory.createArrayLiteralExpression(Oe(e,S)))])),d=e.ts.factory.updateSourceFile(d,v),f.exportType==="named"?d=k(e,d,{namedImports:[f.importName],importPath:O(e,e.registryPath,f.filePath)}):d=k(e,d,{defaultImport:f.importName,importPath:O(e,e.registryPath,f.filePath)}),d=k(e,d,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-qwik",isTypeOnly:!0}),d=je(e,d,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),d=Le(e,d),d=ke(e,d);let w=re(e,d);w=ve(w),w=ha(w,Pc,"CUSTOM_COMPONENTS"),w=await e.formatCode(e.registryPath,w),await e.writeFile(e.registryPath,w)}D.components=E.components}return D}function wc(e,t){return te(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName))],!0),t)}async function bc(e,t,n){let r=X(e,t,"CUSTOM_COMPONENTS");if(!r)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let i=r.arrayLiteralExp.elements.filter(o=>e.ts.isObjectLiteralExpression(o)),a=-1;for(let o=0;o<i.length;o++)if((await Vn(e,t,i[o]))?.id===n.cmpInfo.id){a=o;break}return{...r,elements:i,elmIndex:a}}var Pc=["This array is used to integrate custom components within Builder.","https://www.builder.io/c/docs/custom-components-intro","",'These components will be found the "Custom Components"',"section of Builder's visual editor.",'You can also turn on "components only mode" to limit',"editing to only these components.","https://www.builder.io/c/docs/guides/components-only-mode"];async function wa(e){let t=await Tc(e);return{builderPageOptions:async()=>({templateContentId:"dc70f1d979ad416d8fd357137eb9ddfb",pathname:"/",title:"Builder + Qwik Demo Page"}),ensureBuilderSetup:()=>Sa(t),ensureFigmaImportPage:async()=>[],getRegistryPath:()=>t.registryPath,getRegistry:r=>ht(t,null,!1,!1,null,null,!1,!!r?.readAllInputTypes),addExternalPackage:async r=>{},loadComponent:async r=>{let i=await ht(t,r.cmpId,!1,!1,null,null,!1,!1);return{...i,component:i.components.find(a=>a.id===r.cmpId)}},registerComponent:r=>ht(t,r.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:r=>ht(t,r.cmpId,!1,!1,r,null,!0,!1),setRegisteredComponentInput:r=>ht(t,r.cmpId,!1,!1,null,r,!0,!1),unregisterComponent:r=>ht(t,r.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>ir(t),setPublicApiKey:r=>ga(t,r.publicApiKey),getDependencies:r=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-qwik"}],getDevRunCommand:()=>"dev",getCache:()=>Ie(t),setCache:r=>Be(t,r)}}async function Tc(e){let t=await Gt(e,e.getAppRootDir(),"components");if(!t)throw new Error(`Could not find components directory within project: ${e.getAppRootDir()}`);let n=await Ee(e,t),r=e.join(e.getAppRootDir(),".env");return{...e,componentsDir:t,registryPath:n,envPath:r}}async function ar(e){return await nt(e,[".env"],sr)}async function ba(e,t){let n=await ar(e),r=await ot(e,n.file,n.envKey,t);return{...n,modifiedType:r}}var sr="PUBLIC_BUILDER_KEY";var Ic=new Set(["dist","node_modules"]);async function Pa(e,t){let n=[],r=t.getSourceFiles(),i=t.getTypeChecker(),a=e.join(e.getAppRootDir(),"build");return await Promise.all(r.map(async o=>{let s=e.basename(o.fileName);if(s.startsWith(".")||s==="node_modules"||vr(e,Ic,o.fileName)||Bc.has(s)||s.includes("$."))return;let u=e.normalize(o.fileName);if(u===e.remixConfigPath||u===a)return;let l=await it(e,i,u,o,u===e.registryPath);n.push(...l)})),n}var Bc=new Set(["root.tsx","root.ts","root.jsx","root.js","_index.tsx","_index.jsx","_index.ts","_index.js"]);async function Ta(e){await Lr(e);let t=await e.readFile(e.registryPath);return t?Rc(e,t):{components:[],sourceFile:R(e,"")}}async function Rc(e,t){let n=R(e,t);return Nc(e,n)}async function Nc(e,t){let n=[],r=X(e,t,"CUSTOM_COMPONENTS");return r&&await Promise.all(r.arrayLiteralExp.elements.map(async(i,a)=>{let o=await Un(e,t,i);o&&(o.nodeIndex=a,n.push(o))})),{sourceFile:t,components:me(n)}}async function Un(e,t,n){if(!e.ts.isObjectLiteralExpression(n))return null;let r={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1};e.sdkVersion===b.gen2&&$t(e,n)&&(r.acceptsChildren=!0);for(let i of n.properties){if(!e.ts.isPropertyAssignment(i)||!e.ts.isIdentifier(i.name))continue;if(_(e,i)==="component"){let o,{initializer:s}=i;if(e.ts.isIdentifier(s))o=s.text;else if(e.ts.isCallExpression(s)){(e.ts.isIdentifier(s.expression)&&s.expression.text)==="withChildren"&&(r.acceptsChildren=!0);let c=s.arguments[0];e.ts.isIdentifier(c)&&(o=c.text)}if(!o)continue;r.name===""&&(r.name=U(o)),r.importName=o;let u=await Ne(e,e.registryPath,t,o);if(!u)continue;if(r.filePath=u.filePath,r.relFilePath=u.relFilePath,await e.exists(u.filePath)?r.importPath=K(e,u.filePath):(r.externalImportPath=u.importPath,r.importPath=r.externalImportPath),r.displayFilePath=u.displayFilePath,r.exportType=u.exportType,r.externalImportPath)r.exportName=o;else{let l=await Hi(e,u.filePath,e.registryPath===u.filePath||he(u.filePath));if(l&&l.length>0)if(l.length===1)r.exportName=l[0].cmpInfo.exportName;else{let c=l.find(p=>p.cmpInfo.exportName===o);c&&(r.exportName=c.cmpInfo.exportName)}}continue}}return r=fe(e,r,n),r.filePath&&r.exportName&&(r.id=await V(e,r.filePath,r.exportName,r.externalImportPath)),r}async function Ke(e,t,n,r,i,a,o,s){let u=await at(e),[l,c,p]=await Promise.all([Pa(e,u),Ta(e),ar(e)]),m=l.map(x=>x.cmpInfo),C=c.components,D={components:we(m,C),registryPath:e.registryPath,registryDisplayPath:L(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:$e(m),publicApiKey:p.envValue??void 0,devToolsVersion:e.version};if(s)return D.components=await Lt(e,D.components),D;let g=!1,d=c.sourceFile,f=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(f.length>0){let x=f.map(A=>{let y=l.find($=>$.cmpInfo.id===A);if(!y)throw new Error(`Component ${A} not found`);return y}),E=Array.from(new Set(x.map(A=>A.cmpInfo.filePath))),S=await ee(e,E);for(let A of x){let y=D.components.find(M=>M.id===A.cmpInfo.id),$=await _t(e,A,S,e.registryPath===A.cmpInfo.filePath||he(A.cmpInfo.filePath));Ce(y,$);let G=m.findIndex(M=>M.id===A.cmpInfo.id);m[G].inputs=$;let j=_e(A.cmpInfo.id,m,C,n,r,i,a),{elements:v,elmIndex:w,statementIndex:ue,statement:Se,variableDeclaration:ie}=await kc(e,d,A);if(j.addCmpToRegistry)v.push($c(e,j.addCmpToRegistry)),g=!0;else if(j.removeCmpFromRegistry)v.splice(w,1),g=!0;else if(j.updateRegisteredCmp){let M=te(e,v[w],j.updateRegisteredCmp);v[w]=e.ts.factory.updateObjectLiteralExpression(M,[Ia(e,j.updateRegisteredCmp),...M.properties.slice(1)]),g=!0}if(g&&o){let M=[...d.statements];M[ue]=e.ts.factory.updateVariableStatement(Se,Se.modifiers,e.ts.factory.updateVariableDeclarationList(Se.declarationList,[e.ts.factory.updateVariableDeclaration(ie,ie.name,ie.exclamationToken,ie.type,e.ts.factory.createArrayLiteralExpression(Oe(e,v)))])),d=e.ts.factory.updateSourceFile(d,M),y.exportType==="named"?d=k(e,d,{namedImports:[y.importName],importPath:y.externalImportPath?y.externalImportPath:O(e,e.registryPath,y.filePath)}):d=k(e,d,{defaultImport:y.importName,importPath:y.externalImportPath?y.externalImportPath:O(e,e.registryPath,y.filePath)});let le=e.sdkVersion===b.gen2?"@builder.io/sdk-react":"@builder.io/react";d=k(e,d,{namedImports:["RegisteredComponent"],importPath:le,isTypeOnly:!0}),y.acceptsChildren&&e.sdkVersion!==b.gen2&&(d=k(e,d,{namedImports:["withChildren"],importPath:"@builder.io/react"})),d=je(e,d,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),D.components=j.components,C=j.components.filter(pt=>pt.isRegistered)}}}if(g&&o){d=Le(e,d),d=ke(e,d);let x=re(e,d);x=ve(x),x=await e.formatCode(e.registryPath,x),await e.writeFile(e.registryPath,x)}return D}function Ia(e,t){if(e.sdkVersion===b.gen2)return e.ts.factory.createPropertyAssignment("component",e.ts.factory.createIdentifier(t.importName));let n=e.ts.factory.createIdentifier(t.importName),r=t.acceptsChildren?e.ts.factory.createCallExpression(e.ts.factory.createIdentifier("withChildren"),void 0,[n]):n;return e.ts.factory.createPropertyAssignment("component",r)}function $c(e,t){return te(e,e.ts.factory.createObjectLiteralExpression([Ia(e,t),...t.acceptsChildren&&e.sdkVersion===b.gen2?[e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())]:[]],!0),t)}async function kc(e,t,n){let r=X(e,t,"CUSTOM_COMPONENTS");if(!r)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let i=r.arrayLiteralExp.elements.filter(o=>e.ts.isObjectLiteralExpression(o)),a=-1;for(let o=0;o<i.length;o++)if((await Un(e,t,i[o]))?.id===n.cmpInfo.id){a=o;break}return{...r,elements:i,elmIndex:a}}async function Ba(e){let t=[],n=await _c(e,t);return t.push(...await Lr(e)),await Mc(e,n),await Lc(e,t),t}async function Ra(e){let t=[];return t.push(...await Lr(e)),await Oc(e,t),t}async function Oc(e,t){let n=`figma-imports.${e.typescriptEnabled?"tsx":"jsx"}`;e.hasLocaleParam&&(e.debug("remixEnsureFigmaImportRoute, hasLocaleParam"),n=`($locale).${n}`);let r=e.join(e.routesDir,n),i=await e.exists(r);e.debug(`remixEnsureFigmaImportRoute, hasRoute: ${i}`);let a=await e.formatCode(r,Na({sys:e,routePath:r,modelName:"figma-imports"}));await e.writeFile(r,a),t.push({filePath:r,modifiedType:i?"update":"create"})}async function Lc(e,t){let n=`$.${e.typescriptEnabled?"tsx":"jsx"}`;e.hasLocaleParam&&(e.debug("remixEnsureAppRoute, hasLocaleParam"),n=`($locale).${n}`),e.sdkVersion===b.gen2&&(n=`($slug)._index.${e.typescriptEnabled?"tsx":"jsx"}`);let r=e.join(e.routesDir,n),i=await e.exists(r);e.debug(`remixEnsureAppRoute, hasRoute: ${i}`);let a=await e.formatCode(r,Na({sys:e,routePath:r,modelName:"page"}));await e.writeFile(r,a),t.push({filePath:r,modifiedType:i?"update":"create"})}function Na({sys:e,routePath:t,modelName:n}){let r=e.typescriptEnabled,i=O(e,t,e.registryPath),a="",o="";r&&(a="import type { LoaderArgs } from '@remix-run/server-runtime';",o=": LoaderArgs");let s=`process.env.${sr}`;return e.getFrameworks().some(u=>u.name==="@shopify/remix-oxygen")&&(s=`context.env.${sr}`),r&&(s+="!"),e.sdkVersion===b.gen2?`
|
|
666
668
|
|
|
667
669
|
import {
|
|
668
670
|
Content,
|
|
@@ -768,11 +770,11 @@ export default function Page() {
|
|
|
768
770
|
${r?`
|
|
769
771
|
declare global {
|
|
770
772
|
interface Env {
|
|
771
|
-
${
|
|
773
|
+
${sr}: string;
|
|
772
774
|
}
|
|
773
775
|
}
|
|
774
776
|
`:""}
|
|
775
|
-
`}async function
|
|
777
|
+
`}async function _c(e,t){let r=e.typescriptEnabled?"tsx":"jsx",i=e.join(e.componentsDir,"Counter"),a=e.join(i,`Counter.${r}`),o=e.join(i,"styles.module.css"),{component:s,styles:u}=jc(e),l=await e.exists(a);if(e.debug(`remixEnsureCounterComponent, hasCounterCmp: ${l}`),!l){let p=await e.formatCode(a,s);await e.writeFile(a,p),t.push({filePath:a,modifiedType:"create"})}let c=await e.exists(o);return e.debug(`remixEnsureCounterComponent, hasCounterStyles: ${c}`),c||(await e.writeFile(o,u),t.push({filePath:o,modifiedType:"create"})),a}function jc(e){let t=e.typescriptEnabled,n=`
|
|
776
778
|
import { useState } from "react";
|
|
777
779
|
import styles from "./styles.module.css";
|
|
778
780
|
${t?`
|
|
@@ -835,17 +837,17 @@ export default Counter;
|
|
|
835
837
|
font-size: 42px;
|
|
836
838
|
text-align: center;
|
|
837
839
|
}
|
|
838
|
-
`.trimStart();return{component:n,styles:r}}async function
|
|
840
|
+
`.trimStart();return{component:n,styles:r}}async function Mc(e,t){let r=(await Ke(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===t);r&&await Ke(e,r.id,!0,!1,null,null,!0,!1)}async function Lr(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Kc(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}function Kc(e){let t=e.sdkVersion===b.gen2;return e.typescriptEnabled?`import type { RegisteredComponent } from ${t?'"@builder.io/sdk-react"':'"@builder.io/react"'};
|
|
839
841
|
|
|
840
842
|
export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
|
|
841
843
|
];`:`export const CUSTOM_COMPONENTS = [
|
|
842
844
|
];
|
|
843
|
-
`}async function
|
|
845
|
+
`}async function $a(e){let t=await Vc(e);return{builderPageOptions:async()=>{let r="/builder-demo",i=t.hasLocaleParam?`/en-us${r}`:void 0;return{templateContentId:"a5c9eef7909d4fc99554264a17de22c9",pathname:r,localePathname:i,title:"Builder + Remix Demo Page"}},ensureBuilderSetup:()=>Ba(t),ensureFigmaImportPage:()=>Ra(t),getRegistryPath:()=>t.registryPath,getRegistry:r=>Ke(t,null,!1,!1,null,null,!1,!!r?.readAllInputTypes),addExternalPackage:r=>{t.addExternalPackage(r)},loadComponent:async r=>{let i=await Ke(t,r.cmpId,!1,!1,null,null,!1,!1);return{...i,component:i.components.find(a=>a.id===r.cmpId)}},registerComponent:r=>Ke(t,r.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:r=>Ke(t,r.cmpId,!1,!1,r,null,!0,!1),setRegisteredComponentInput:r=>Ke(t,r.cmpId,!1,!1,null,r,!0,!1),unregisterComponent:r=>Ke(t,r.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>ar(t),setPublicApiKey:r=>ba(t,r.publicApiKey),getDependencies:r=>r.sdkVersion===b.gen2?[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-react"}]:[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>Ie(t),setCache:r=>Be(t,r)}}async function Vc(e){let t=await zc(e),n=e.getAppRootDir(),r=await qc(e),i=e.dirname(r),a=e.join(i,"components"),o=await De(e),s=await Ee(e,i),u={},l={...e,registryPath:s,remixConfigPath:t,typescriptEnabled:o,appDir:i,componentsDir:a,routesDir:r,hasLocaleParam:await Uc(e,r),addExternalPackage:c=>{u[e.join(n,c,"index.ts")]=`export * from "${c}";`},readFileSync:c=>u[c]??e.readFileSync(c),existsSync:c=>!!u[c]||e.existsSync(c),readdirSync:c=>{let p=e.readdirSync(c);return c===n?[...p,...Object.keys(u).map(m=>m.slice(n.length+1))]:p},readdir:async c=>{let p=await e.readdir(c);return c===n?[...p,...Object.keys(u).map(m=>m.slice(n.length+1))]:p}};return e.sdkVersion?l.sdkVersion=e.sdkVersion:l.sdkVersion=await Mt(l),l}async function Uc(e,t){return(await e.readdir(t)).some(r=>r.startsWith("($locale)."))}async function zc(e){let t=["remix.config.ts","remix.config.js","vite.config.ts","vite.config.js"];for(let n of t){let r=e.join(e.getAppRootDir(),n);if(await e.exists(r))return r}throw new Error(`Could not find Remix config file. Searched for ${t.join(", ")} in "${e.getAppRootDir()}".`)}async function qc(e){let t=await Gt(e,e.getAppRootDir(),"routes");if(t)return t;throw new Error(`Could not find Remix "routes" directory in "${e.getAppRootDir()}". Please ensure this command is ran from within your Remix project's directory.`)}async function ur(e){let t=[".env"],n=e.configType==="vite"?lr:_r;return await nt(e,t,n)}async function ka(e,t){let n=await ur(e),r=await ot(e,n.file,n.envKey,t);return{...n,modifiedType:r}}var lr="VITE_PUBLIC_BUILDER_KEY",_r="YOUR_PUBLIC_BUILDER_KEY";function Oa(e,t){let n=`Builder.registerComponent(
|
|
844
846
|
`;n+=` ${t.importName},
|
|
845
847
|
`,n+=` {
|
|
846
848
|
name: "${t.name}",
|
|
847
849
|
}
|
|
848
|
-
`,n+=");";let r=
|
|
850
|
+
`,n+=");";let r=Ar(e,n);return zn(e,r,t)}function zn(e,t,n){if(!e.ts.isExpressionStatement(t))return t;let r=t.expression;if(!e.ts.isCallExpression(r))return t;let i=[...r.arguments];if(i.length<2)return t;let a=i[1];return e.ts.isObjectLiteralExpression(a)?(i[1]=te(e,a,n),e.ts.factory.updateExpressionStatement(t,e.ts.factory.updateCallExpression(r,r.expression,r.typeArguments,i))):t}async function La(e){let t=await e.readFile(e.registryPath);return t?Wc(e,t):{components:[],sourceFile:R(e,"")}}async function Wc(e,t){let n=R(e,t);return e.sdkVersion===b.gen2?Hc(e,n):Jc(e,n)}async function Jc(e,t){let n=[];for(let r=0;r<t.statements.length;r++){let i=t.statements[r];if(!e.ts.isExpressionStatement(i))continue;let a=i.expression;if(!e.ts.isCallExpression(a))continue;let o=a.expression;if(!e.ts.isPropertyAccessExpression(o))continue;let s=o.expression;if(!e.ts.isIdentifier(s)||s.text!=="Builder"||o.name.text!=="registerComponent")continue;let l=a.arguments;if(l.length<2)continue;let c=l[1];if(!e.ts.isObjectLiteralExpression(c))continue;let p=l[0];if(e.ts.isIdentifier(p)){let m=await Gc(e,t,r,p,c,!1);m&&n.push(m);continue}}return{sourceFile:t,components:me(n)}}async function Gc(e,t,n,r,i,a){let o={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],nodeIndex:n,acceptsChildren:a},s=t.statements.filter(l=>e.ts.isImportDeclaration(l)),u=s.find(l=>l.importClause&&l.importClause.name?.text===r.text);if(u){let l=u.moduleSpecifier;if(!e.ts.isStringLiteral(l))return null;o.filePath=await qn(e,l.text),o.relFilePath=e.relative(e.getAppRootDir(),o.filePath),o.importPath=K(e,o.filePath),o.name=xe(e,o.filePath),o.importName=r.text,o.exportName="default",o.exportType="default"}else{let l=s.find(m=>!m.importClause||!m.importClause.namedBindings||!e.ts.isNamedImports(m.importClause.namedBindings)?!1:m.importClause.namedBindings.elements.some(C=>C.name.text===r.text));if(!l)return null;let c=l.moduleSpecifier;if(!e.ts.isStringLiteral(c))return null;let p=await qn(e,c.text);o.filePath=await qn(e,c.text),o.relFilePath=e.relative(e.getAppRootDir(),o.filePath),await e.exists(p)?o.importPath=K(e,o.filePath):(o.externalImportPath=c.text,o.importPath=o.externalImportPath),o.name=U(r.text),o.importName=r.text,o.exportName=r.text,o.exportType="named"}return o=fe(e,o,i),o.displayFilePath=L(e,o.filePath),o.filePath&&o.exportName&&(o.id=await V(e,o.filePath,o.exportName,o.externalImportPath)),o}function qn(e,t){return or(e,e.normalize(e.resolve(e.dirname(e.registryPath),t)))}async function Hc(e,t){let n=[],r=X(e,t,"CUSTOM_COMPONENTS");return r&&await Promise.all(r.arrayLiteralExp.elements.map(async(i,a)=>{let o=await Wn(e,t,i);o&&(o.nodeIndex=a,n.push(o))})),{sourceFile:t,components:me(n)}}async function Wn(e,t,n){if(!e.ts.isObjectLiteralExpression(n))return null;let r={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[],acceptsChildren:!1};$t(e,n)&&(r.acceptsChildren=!0);for(let a of n.properties){if(!e.ts.isPropertyAssignment(a)||!e.ts.isIdentifier(a.name))continue;if(_(e,a)==="component"){let s,{initializer:u}=a;if(e.ts.isIdentifier(u)&&(s=u.text),!s)continue;r.name===""&&(r.name=U(s)),r.importName=s;let l=await Ne(e,e.registryPath,t,s);if(!l)continue;r.filePath=l.filePath,r.relFilePath=l.relFilePath,await e.exists(l.filePath)?r.importPath=K(e,l.filePath):(r.externalImportPath=l.importPath,r.importPath=r.externalImportPath),r.displayFilePath=l.displayFilePath,r.exportType=l.exportType;let c=t.statements.filter(m=>e.ts.isImportDeclaration(m)),p=c.find(m=>m.importClause&&m.importClause.name?.text===s);if(p){let m=p.moduleSpecifier;if(!e.ts.isStringLiteral(m))return null;r.exportName="default"}else{let m=c.find(D=>!D.importClause||!D.importClause.namedBindings||!e.ts.isNamedImports(D.importClause.namedBindings)?!1:D.importClause.namedBindings.elements.some(g=>g.name.text===s));if(!m)return null;let C=m.moduleSpecifier;if(!e.ts.isStringLiteral(C))return null;r.exportName=s}continue}}return r=fe(e,r,n),r.filePath&&r.exportName&&(r.id=await V(e,r.filePath,r.exportName,r.externalImportPath)),r}async function Ve(e,t,n,r,i,a,o,s){let u=await at(e),[l,c,p,m]=await Promise.all([Qi(e,u),La(e),De(e),ur(e)]),C=l.map(E=>E.cmpInfo),D=c.components,g={components:we(C,D),registryPath:e.registryPath,registryDisplayPath:L(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:$e(C),publicApiKey:m.envValue??void 0,devToolsVersion:e.version};if(s)return g.components=await Lt(e,g.components),g;let d=!1,f=c.sourceFile,x=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(x.length>0){let E=x.map(y=>{let $=l.find(G=>G.cmpInfo.id===y);if(!$)throw new Error(`Component ${y} not found`);return $}),S=Array.from(new Set(E.map(y=>y.cmpInfo.filePath))),A=await ee(e,S);for(let y of E){let $=g.components.find(w=>w.id===y.cmpInfo.id),G=await _t(e,y,A,e.registryPath===y.cmpInfo.filePath||he(y.cmpInfo.filePath));Ce($,G);let j=C.findIndex(w=>w.id===y.cmpInfo.id);C[j].inputs=G;let v=_e(y.cmpInfo.id,C,D,n,r,i,a);if(e.sdkVersion===b.gen2){let{elements:w,elmIndex:ue,statementIndex:Se,statement:ie,variableDeclaration:M}=await Qc(e,f,y);if(v.addCmpToRegistry)w.push(Yc(e,v.addCmpToRegistry)),d=!0;else if(v.removeCmpFromRegistry)w.splice(ue,1),d=!0;else if(v.updateRegisteredCmp){let le=te(e,w[ue],v.updateRegisteredCmp),pt=e.ts.factory.createIdentifier(v.updateRegisteredCmp.importName);w[ue]=e.ts.factory.updateObjectLiteralExpression(le,[e.ts.factory.createPropertyAssignment("component",pt),...le.properties.slice(1)]),d=!0}if(d&&o){let le=[...f.statements];le[Se]=e.ts.factory.updateVariableStatement(ie,ie.modifiers,e.ts.factory.updateVariableDeclarationList(ie.declarationList,[e.ts.factory.updateVariableDeclaration(M,M.name,M.exclamationToken,M.type,e.ts.factory.createArrayLiteralExpression(Oe(e,w)))])),f=e.ts.factory.updateSourceFile(f,le),f=_a(e,v,f),f=k(e,f,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-react",isTypeOnly:!0}),f=je(e,f,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),g.components=v.components,D=v.components.filter(pt=>pt.isRegistered)}}else{let w=[...f.statements];v.addCmpToRegistry?(w.push(Oa(e,v.addCmpToRegistry)),d=!0):v.removeCmpFromRegistry?(w.splice(v.nodeIndex,1),d=!0):v.updateRegisteredCmp&&(w[v.nodeIndex]=zn(e,w[v.nodeIndex],v.updateRegisteredCmp),d=!0),d&&o&&(f=e.ts.factory.updateSourceFile(f,w),f=k(e,f,{namedImports:["Builder","builder"],importPath:"@builder.io/react"}),f=_a(e,v,f),$?.acceptsChildren&&(f=k(e,f,{namedImports:["withChildren"],importPath:"@builder.io/react"})),g.components=v.components,D=v.components.filter(ue=>ue.isRegistered))}}}if(d&&o){f=Le(e,f),f=ke(e,f);let E=re(e,f);E=ve(E),E=await e.formatCode(e.registryPath,E),await e.writeFile(e.registryPath,E)}return g}async function Qc(e,t,n){let r=X(e,t,"CUSTOM_COMPONENTS");if(!r)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let i=r.arrayLiteralExp.elements.filter(o=>e.ts.isObjectLiteralExpression(o)),a=-1;for(let o=0;o<i.length;o++)if((await Wn(e,t,i[o]))?.id===n.cmpInfo.id){a=o;break}return{...r,elements:i,elmIndex:a}}function Yc(e,t){let n=e.ts.factory.createIdentifier(t.importName);return te(e,e.ts.factory.createObjectLiteralExpression([e.ts.factory.createPropertyAssignment("component",n),...t.acceptsChildren?[e.ts.factory.createPropertyAssignment("canHaveChildren",e.ts.factory.createTrue())]:[]],!0),t)}function _a(e,t,n){let r=t.addCmpToRegistry||t.updateRegisteredCmp;if(r){let i=r.externalImportPath?r.externalImportPath:O(e,e.registryPath,r.filePath);r.exportType==="default"?n=k(e,n,{defaultImport:r.importName,importPath:i}):r.exportType==="named"&&(n=k(e,n,{namedImports:[r.importName],importPath:i}))}return n}async function ja(e){let t=[],n=await Xc(e,t);if(await Va(e,t,n),!await e.exists(e.builderComponentPath)){let r=await e.formatCode(e.builderComponentPath,Ka(e,e.builderComponentPath));await e.writeFile(e.builderComponentPath,r),t.push({filePath:e.builderComponentPath,modifiedType:"create"})}return t}async function Ma(e){let t=[];await Va(e,t);let n=`figma-imports.${e.typescriptEnabled?"tsx":"jsx"}`,r=e.join(e.componentsDir,n);if(!await e.exists(r)){let i=await e.formatCode(r,Ka(e,r,"figma-imports"));await e.writeFile(r,i),t.push({filePath:r,modifiedType:"create"})}return t}function Ka(e,t,n="page"){let r=e.typescriptEnabled;return e.sdkVersion===b.gen2?`
|
|
849
851
|
import React from "react";
|
|
850
852
|
import {
|
|
851
853
|
Content,
|
|
@@ -854,10 +856,10 @@ export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
|
|
|
854
856
|
isPreviewing,
|
|
855
857
|
${r?"type BuilderContent,":""}
|
|
856
858
|
} from "@builder.io/sdk-react";
|
|
857
|
-
import { CUSTOM_COMPONENTS } from ${JSON.stringify(
|
|
859
|
+
import { CUSTOM_COMPONENTS } from ${JSON.stringify(O(e,t,e.registryPath))};
|
|
858
860
|
|
|
859
861
|
// Builder Public API Key set in .env file
|
|
860
|
-
const BUILDER_API_KEY = ${e.configType==="vite"?`import.meta.env.${
|
|
862
|
+
const BUILDER_API_KEY = ${e.configType==="vite"?`import.meta.env.${lr};`:`${_r};`}
|
|
861
863
|
const MODEL_NAME = "${n}";
|
|
862
864
|
|
|
863
865
|
export default function BuilderPage() {
|
|
@@ -907,10 +909,10 @@ export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
|
|
|
907
909
|
`:`
|
|
908
910
|
import React from "react";
|
|
909
911
|
import { BuilderComponent, builder, useIsPreviewing } from "@builder.io/react";
|
|
910
|
-
import ${JSON.stringify(
|
|
912
|
+
import ${JSON.stringify(O(e,t,e.registryPath))};
|
|
911
913
|
|
|
912
914
|
// Builder Public API Key set in .env file
|
|
913
|
-
${e.configType==="vite"?`builder.init(import.meta.env.${
|
|
915
|
+
${e.configType==="vite"?`builder.init(import.meta.env.${lr}${r?"!":""})`:`builder.init("${_r}")`}
|
|
914
916
|
|
|
915
917
|
export default function BuilderPage() {
|
|
916
918
|
const isPreviewingInBuilder = useIsPreviewing();
|
|
@@ -955,7 +957,7 @@ export default function BuilderPage() {
|
|
|
955
957
|
</>
|
|
956
958
|
);
|
|
957
959
|
}
|
|
958
|
-
`.trimStart()}async function
|
|
960
|
+
`.trimStart()}async function Va(e,t,n){if(!await e.exists(e.registryPath)){if(e.sdkVersion===b.gen2){let a=ep(e);await e.writeFile(e.registryPath,a)}else await e.writeFile(e.registryPath,"");t.push({filePath:e.registryPath,modifiedType:"create"})}if(!n)return;let i=(await Ve(e,null,!1,!1,null,null,!1,!1)).components.find(a=>a.filePath===n);i&&await Ve(e,i.id,!0,!1,null,null,!0,!1)}async function Xc(e,t){let r=e.typescriptEnabled?"tsx":"jsx",i=e.join(e.componentsDir,"Counter"),a=e.join(i,`Counter.${r}`),o=e.join(i,"styles.module.css"),{component:s,styles:u}=Zc(e);if(!await e.exists(a)){let l=await e.formatCode(a,s);await e.writeFile(a,l),t.push({filePath:a,modifiedType:"create"})}return await e.exists(o)||(await e.writeFile(o,u),t.push({filePath:o,modifiedType:"create"})),a}function Zc(e){let t=e.typescriptEnabled,n=`
|
|
959
961
|
"use client"
|
|
960
962
|
import React, { useState } from "react";
|
|
961
963
|
import styles from "./styles.module.css";
|
|
@@ -1018,18 +1020,18 @@ export default Counter;
|
|
|
1018
1020
|
font-size: 42px;
|
|
1019
1021
|
text-align: center;
|
|
1020
1022
|
}
|
|
1021
|
-
`.trimStart();return{component:n,styles:r}}function
|
|
1023
|
+
`.trimStart();return{component:n,styles:r}}function ep(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-react";
|
|
1022
1024
|
|
|
1023
1025
|
export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
|
|
1024
1026
|
];`:`export const CUSTOM_COMPONENTS = [
|
|
1025
1027
|
];
|
|
1026
|
-
`}async function
|
|
1028
|
+
`}async function Ua(e){let t=await tp(e);return{builderPageOptions:async()=>({templateContentId:"2e36438034894a8abf279ea9e6d3596f",pathname:"/builder-demo",title:"Builder + React Demo Page"}),ensureBuilderSetup:()=>ja(t),ensureFigmaImportPage:()=>Ma(t),getRegistryPath:()=>t.registryPath,getRegistry:r=>Ve(t,null,!1,!1,null,null,!1,!!r?.readAllInputTypes),addExternalPackage:r=>{t.addExternalPackage(r)},loadComponent:async r=>{let i=await Ve(t,r.cmpId,!1,!1,null,null,!1,!1);return{...i,component:i.components.find(a=>a.id===r.cmpId)}},registerComponent:r=>Ve(t,r.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:r=>Ve(t,r.cmpId,!1,!1,r,null,!0,!1),setRegisteredComponentInput:r=>Ve(t,r.cmpId,!1,!1,null,r,!0,!1),unregisterComponent:r=>Ve(t,r.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>ur(t),setPublicApiKey:r=>ka(t,r.publicApiKey),getDependencies:r=>r.sdkVersion===b.gen2?[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-react"}]:[{name:"@builder.io/dev-tools"},{name:"@builder.io/react"},{name:"@builder.io/sdk"}],getDevRunCommand:()=>"dev",getCache:()=>Ie(t),setCache:r=>Be(t,r)}}async function tp(e){let t=await rp(e),n=e.getAppRootDir(),r=e.join(n,"src"),i=await De(e),a={},o={...e,srcDir:null,builderComponentPath:"",componentsDir:"",registryPath:"",reactConfigPath:t,typescriptEnabled:i,configType:"",addExternalPackage:s=>{a[e.join(n,s,"index.ts")]=`export * from "${s}";`},readFileSync:s=>a[s]??e.readFileSync(s),existsSync:s=>!!a[s]||e.existsSync(s),readdirSync:s=>{let u=e.readdirSync(s);return s===n?[...u,...Object.keys(a).map(l=>l.slice(n.length+1))]:u},readdir:async s=>{let u=await e.readdir(s);return s===n?[...u,...Object.keys(a).map(l=>l.slice(n.length+1))]:u}};return e.sdkVersion?o.sdkVersion=e.sdkVersion:o.sdkVersion=await Mt(o),t.includes("webpack.config")&&(o.configType="webpack"),t.includes("vite.config")&&(o.configType="vite"),await e.exists(r)?(o.srcDir=r,o.componentsDir=e.join(r,"components"),o.registryPath=await Ee(e,r),o.builderComponentPath=e.join(o.srcDir,`builder-page.${i?"tsx":"jsx"}`)):(o.componentsDir=e.join(n,"components"),o.registryPath=await Ee(e,n),o.builderComponentPath=e.join(n,`builder-page.${i?"tsx":"jsx"}`)),o}async function rp(e){let t=["vite.config.ts","vite.config.js","webpack.config.js","webpack.config.ts"];for(let n of t){let r=e.join(e.getAppRootDir(),n);if(await e.exists(r))return r}if(e.ignoreMissingConfig)return"";throw new Error(`Could not find React config file. Searched for ${t.join(", ")} in "${e.getAppRootDir()}".`)}async function cr(e){return await np(e,["environment.ts"],jr)}async function za(e,t){let n=await cr(e),r=await sp(e,n.file,n.envKey,t);return{...n,modifiedType:r}}async function np(e,t,n){let r={envKey:n,envValue:null,file:""};for(let i of t){let a=e.join(e.getAppRootDir(),"src","environments",i),o=await op(e,a);if(typeof o=="string"&&o.length>0&&o!=="YOUR_API_KEY")return r.envValue=o,r.file=a,r}return r.file=e.join(e.getAppRootDir(),"src","environments",t[t.length-1]),r}async function op(e,t){let n=await e.readFile(t);return n?ip(e,n):""}function ip(e,t){let n=R(e,t),r="",a=kt(e,n,"environment");if(a&&a.statement.declarationList.declarations.length>0){let s=a.statement.declarationList.declarations[0].initializer;s&&e.ts.isObjectLiteralExpression(s)&&s.properties.forEach(u=>{e.ts.isPropertyAssignment(u)&&e.ts.isIdentifier(u.name)&&u.name.text===jr&&e.ts.isStringLiteral(u.initializer)&&(r=u.initializer.text)})}return r}async function ap(e,t,n,r){let i=R(e,t),o=kt(e,i,"environment");if(o&&o.statement.declarationList.declarations.length>0){let s=o.statement.declarationList,u=s.declarations[0],l=u.initializer;if(l&&e.ts.isObjectLiteralExpression(l)){let c=e.ts.factory.createPropertyAssignment(e.ts.factory.createIdentifier(n),e.ts.factory.createStringLiteral(r)),p=e.ts.factory.createNodeArray([...l.properties,c]),m=e.ts.factory.updateObjectLiteralExpression(l,p),C=e.ts.factory.updateVariableDeclaration(u,u.name,u.exclamationToken,u.type,m),D=e.ts.factory.updateVariableDeclarationList(s,[C]);return e.ts.factory.updateVariableStatement(o.statement,o.statement.modifiers,D)}return null}return null}async function sp(e,t,n,r){let i=await e.readFile(t);if(i)if(i.includes(n))e.debug(`"${n}" already set in ${t}`);else{e.debug(`Add "${n}" to ${t}`);let a=await ap(e,i,n,r);if(a){let o=re(e,a),s=await e.formatCode(t,o);await e.writeFile(t,s)}return"update"}else{e.debug(`Creating new env file with "${n}" at ${t}`);let a=`
|
|
1027
1029
|
// https://www.builder.io/c/docs/using-your-api-key
|
|
1028
1030
|
export const environment = {
|
|
1029
1031
|
production: false,
|
|
1030
1032
|
builderApiKey: "${r}",
|
|
1031
1033
|
};
|
|
1032
|
-
`.trimStart(),o=await e.formatCode(t,a);return await e.writeFile(t,o),"create"}return null}var Rr="builderApiKey";async function Ra(e,t){let n=[],r=t.getSourceFiles(),i=t.getTypeChecker();return await Promise.all(r.map(async a=>{let o=e.basename(a.fileName);if(Kc(e,a.fileName)||o.startsWith(".")||o==="node_modules"||Mc.has(o))return;let s=e.normalize(a.fileName);if(s===e.registryPath)return;let u=await Nr(e,i,s,a);n.push(...u)})),n.sort((a,o)=>a.cmpInfo.name.localeCompare(o.cmpInfo.name))}var Mc=new Set([]),Vc=new Set(["node_modules"]);function Kc(e,t){for(let n of Vc)if(e.dirname(t).includes(n))return!0;return!1}async function Na(e,t){let n=e.extname(t).toLowerCase();if(n===".tsx"||n===".jsx"||n===".ts"||n===".js"){let r=await e.readFile(t);if(r)return Uc(e,t,r)}return null}function Uc(e,t,n){let r=B(e,n);return Nr(e,null,t,r)}async function Nr(e,t,n,r){let i=[],a={};n=e.normalize(n);let o=r.statements.filter(c=>e.ts.isClassDeclaration(c)&&Gc(e,c)),s=r.statements.find(c=>e.ts.isImportDeclaration(c)&&e.ts.isStringLiteral(c.moduleSpecifier)&&c.moduleSpecifier.text==="@angular/core");if(s&&e.ts.isImportDeclaration(s)){let c=s.importClause?.namedBindings;if(c&&e.ts.isNamedImports(c)){let p=c.elements.find(m=>(m.propertyName??m.name).text==="input");p&&(a.inputSignalImportName=p.name.text)}}let u=await qc(e,t,n,r),l=Hc(e,r);return await Promise.all(o.map(async c=>{let p=await zc(e,t,n,c,l,a);i.push(...p)})),i.push(...u),i}async function On(e,t,n){if(t.node.fnNode){let{sourceFile:r,typeChecker:i}=await yt(e,t.cmpInfo.filePath,n),o=(await Nr(e,i,t.cmpInfo.filePath,r)).find(s=>s.cmpInfo.id===t.cmpInfo.id);if(!o)throw new Error(`Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return o.cmpInfo.inputs}return[]}async function $a(e,t,n){if(!n.some(s=>!s.isRegistered))return n;let i=await X(e,n.map(s=>s.filePath)),a=i.getTypeChecker();return await Promise.all(n.filter(s=>!(s.name.endsWith("Page")||s.name.endsWith("Module")||s.name==="AppComponent")).map(async s=>{if(!s.isRegistered){let u=i.getSourceFile(s.filePath);if(u){let c=(await Nr(e,a,s.filePath,u)).find(p=>p.cmpInfo.id===s.id);if(c){s.inputs=pt(e,a,c.node.fnNode);let p=t.find(m=>m.cmpInfo.id===s.id);if(p){let m=await On(e,p,i);De(s,m)}}}}return s}))}async function zc(e,t,n,r,i,a){let o=[],s=e.relative(e.getAppRootDir(),n),u=M(e,n),l=r.name?.text;if(!l)return o;let c=!1;r.modifiers&&(c=r.modifiers.some(D=>D.kind===e.ts.SyntaxKind.DefaultKeyword));let p=c?"default":l,m=c?"default":"named",C=[];return r.members.forEach(D=>{if(e.ts.isPropertyDeclaration(D)||e.ts.isGetAccessor(D)||e.ts.isSetAccessor(D)){let f=(e.ts.getDecorators(D)??[]).find(x=>Wc(e,x))!==void 0&&e.ts.isIdentifier(D.name),E=a?.inputSignalImportName!==void 0&&e.ts.isIdentifier(D.name)&&Jc(e,D,a.inputSignalImportName);if(f||E){let x="any";if(e.ts.isSetAccessor(D))x=Ba(e,D.parameters[0].type);else if(D.type&&t){let S=t.getTypeAtLocation(D.type);x=t.typeToString(S)}else x=Ba(e,D.type);let y={name:D.name.text,type:i[x]?"string":x};i[x]&&(y.enum=i[x]),C.push(y)}}}),o.push({cmpInfo:{id:await V(e,n,l),displayFilePath:O(e,n),name:K(l),inputs:C,exportName:p,exportType:m,importName:l,filePath:n,relFilePath:s,importPath:u,meta:{...Yc(e,r)}},node:{name:l,fnNode:r,deps:void 0}}),o}async function qc(e,t,n,r){let i=[],a=e.relative(e.getAppRootDir(),n),o=M(e,n);for(let s of r.statements)if(e.ts.isExportDeclaration(s)&&s.exportClause&&e.ts.isNamedExports(s.exportClause))for(let u of s.exportClause.elements){let l=u.name?.text;if(!l)continue;let c=l,p="named",m=[];if(t){let g=t.getSymbolAtLocation(u.name);if(g){let d=t.getDeclaredTypeOfSymbol(g);t.getPropertiesOfType(d).forEach(E=>{let x=E.getDeclarations();x&&x.forEach(y=>{if(e.ts.isPropertyDeclaration(y)){let S=t.getTypeAtLocation(y),F={name:E.getName(),type:Qc(e,t,S)};m.push(F)}})})}}let C=e.ts.isExportSpecifier(u)&&u.parent?u.parent.parent:void 0,D;if(C){let g=C.moduleSpecifier;if(g&&e.ts.isStringLiteral(g)){let d=t?.getSymbolAtLocation(g);if(d&&d.declarations&&d.declarations.length>0){let f=d.declarations[0];(!e.ts.isSourceFile(f)||e.ts.isSourceFile(f)&&f.fileName.includes("node_modules"))&&(D=g.text)}}}i.push({cmpInfo:{id:await V(e,n,l,D),displayFilePath:O(e,n),name:K(l),inputs:m,exportName:c,exportType:p,importName:l,filePath:n,relFilePath:a,importPath:D||o,externalImportPath:D},node:{name:l,fnNode:u,deps:void 0}})}return i}function Wc(e,t){return ka(e,t,"Input")}function Jc(e,t,n){return e.ts.isPropertyDeclaration(t)&&t.initializer!==void 0&&e.ts.isCallExpression(t.initializer)&&e.ts.isIdentifier(t.initializer.expression)&&t.initializer.expression.text===n}function ka(e,t,n){if(e.ts.isCallExpression(t.expression)){let r=t.expression;if(e.ts.isIdentifier(r.expression))return r.expression?.text===n}return!1}function Gc(e,t){return!!e.ts.getDecorators(t)?.some(i=>e.ts.isCallExpression(i.expression)&&e.ts.isIdentifier(i.expression.expression)&&i.expression.expression.text==="Component")}function Ba(e,t){if(!t)return"any";let n="any";switch(t.kind){case e.ts.SyntaxKind.StringKeyword:n="string";break;case e.ts.SyntaxKind.NumberKeyword:n="number";break;case e.ts.SyntaxKind.BooleanKeyword:n="boolean";break;case e.ts.SyntaxKind.TypeReference:e.ts.isTypeReferenceNode(t)&&e.ts.isIdentifier(t.typeName)&&(n=t.typeName.text);break}return n.includes("|")?"string":n}function Hc(e,t){let n={};return e.ts.forEachChild(t,r=>{e.ts.isTypeAliasDeclaration(r)&&e.ts.isUnionTypeNode(r.type)&&r.type.types.every(i=>e.ts.isLiteralTypeNode(i)&&e.ts.isStringLiteral(i.literal))&&(n[r.name.text]=r.type.types.map(i=>i.literal.text))}),n}function Qc(e,t,n){let r=t.typeToString(n);if(r==="any"){let i=n.getSymbol();if(i){let a=i.getDeclarations();if(a&&a.length>0){let o=a[0];if(e.ts.isVariableDeclaration(o)){let s=o.type;s&&(r=t.typeToString(t.getTypeAtLocation(s)))}}}}return r}function Yc(e,t){let{getDecorators:n,isCallExpression:r,isIdentifier:i,isObjectLiteralExpression:a,isPropertyAssignment:o,isStringLiteral:s,SyntaxKind:u}=e.ts,l,c;return n(t)?.forEach(m=>{if(ka(e,m,"Component")){let{expression:C}=m;if(r(C)){let[D]=C.arguments;a(D)&&D.properties.forEach(g=>{o(g)&&i(g.name)&&(g.name.escapedText==="selector"&&s(g.initializer)&&(l=g.initializer.text),g.name.escapedText==="standalone"&&(c=g.initializer.kind===u.TrueKeyword))})}}}),{selector:l,standalone:c}}async function $r(e,t,n){let r=e.typescriptEnabled?".ts":".js",i=`app.module${r}`,a=e.join(e.appDir,i),o=await e.readFile(a);if(!o){console.error(`Unable to read app.module.${r} at ${a}`);return}let s=await Xc(e,a,t,n,o);if(!s){console.error(`Unable to update app.module.${r} at ${a}`);return}return await e.writeFile(a,s),a}async function Xc(e,t,n,r,i){let a=i,o=B(e,i),s=$(e,t,r);o=N(e,o,{namedImports:[n],importPath:s}),o=N(e,o,{namedImports:["Content"],importPath:"@builder.io/sdk-angular"});let u=[];for(let l of o.statements)if(e.ts.isClassDeclaration(l)&&l.name?.text==="AppModule"){let c=Zc(e,n,l);u.push(c)}else u.push(l);return o=e.ts.factory.updateSourceFile(o,u),a=ee(e,o),a}function Zc(e,t,n){let r=e.ts.getDecorators(n);if(r){for(let i of r)if(e.ts.isCallExpression(i.expression)&&e.ts.isIdentifier(i.expression.expression)&&i.expression.expression.text==="NgModule"){let a=i.expression.arguments;if(a.length===1&&e.ts.isObjectLiteralExpression(a[0])){let o=Oa(e,a[0],"declarations",t);if(o){let s=Oa(e,o,"imports","Content");if(s&&(o=s),o){let u=e.ts.factory.updateDecorator(i,e.ts.factory.updateCallExpression(i.expression,i.expression.expression,i.expression.typeArguments,[o])),c=[...r.map(p=>p===i?u:p),...e.ts.getModifiers(n)||[]];return e.ts.factory.updateClassDeclaration(n,c,n.name,n.typeParameters,n.heritageClauses,n.members)}}}}}return n}function Oa(e,t,n,r){let i=[...t.properties],a=i.findIndex(s=>L(e,s)===n);if(a>-1){let s=i[a];if(e.ts.isPropertyAssignment(s)&&s.initializer&&e.ts.isArrayLiteralExpression(s.initializer)){let u=La(e,s.initializer,r);return u?(i[a]=e.ts.factory.updatePropertyAssignment(s,s.name,u),e.ts.factory.updateObjectLiteralExpression(t,i)):null}return null}let o=La(e,e.ts.factory.createArrayLiteralExpression([],!0),r);return o?e.ts.factory.updateObjectLiteralExpression(t,[...i,e.ts.factory.createPropertyAssignment(n,o)]):null}function La(e,t,n){return t.elements.some(i=>e.ts.isIdentifier(i)?i.text===n:!1)?null:e.ts.factory.updateArrayLiteralExpression(t,[...t.elements,e.ts.factory.createIdentifier(n)])}async function Ln(e,t,n,r){try{if(e.magicast){let a=`app.routes${e.typescriptEnabled?".ts":".js"}`,o=e.join(e.appDir,a),s=await e.magicast.loadFile(o);Object.keys(s.exports).length===0&&(s.exports.routes=[]);let l=Object.keys(s.exports)[0],c=s.exports[l];if(c.find(m=>m.path===t))return;let p=e.magicast.builders.raw("{}");if(p.path=t,p.component=e.magicast.builders.raw(n),c.push(p),s.imports.$items.find(m=>m.imported===n))return;s.imports.$append({imported:n,from:r}),await e.magicast.writeFile(s,o)}}catch(i){console.error(i)}}var Ha=k(Ga(),1);async function Qa(e){let t=e.ts.findConfigFile(e.getAppRootDir(),e.existsSync);if(t){let n=await e.readFile(t);if(!n)return;let r=Ha.default.parse(n);if(!r||typeof r!="object"||Array.isArray(r))return;let i=r.compilerOptions;if(!i||typeof i!="object"||Array.isArray(i))return;let a=i.paths;(!a||typeof a!="object"||Array.isArray(a))&&(i.paths={},a=i.paths),Object.assign(i.paths,{"~/*":["./src/*"]}),await e.writeFile(t,JSON.stringify(r,null,2))}}async function Ya(e){let t=[],n=await cp(e,t);t.push(...await jr(e)),await up(e,n);let r="BuilderPage";if(!await e.exists(e.builderPageComponentPath)){let i=await e.formatCode(e.builderPageComponentPath,Za(e,r,e.builderPageComponentPath,"builder-page","page",!0));await e.writeFile(e.builderPageComponentPath,i),t.push({filePath:e.builderPageComponentPath,modifiedType:"create"})}if(e.hasAppModule){await $r(e,"Counter",n);let i=await $r(e,r,e.builderPageComponentPath);i&&t.push({filePath:i,modifiedType:"update"})}return await Ln(e,"**",r,"./components/builder-page.component"),t}async function Xa(e){let t=[];t.push(...await jr(e));let n="FigmaImportsPage",r="figma-imports.component",i=e.join(e.componentsDir,`${r}.${e.typescriptEnabled?"ts":"js"}`);if(!await e.exists(i)){let a=await e.formatCode(i,Za(e,n,i,"figma-imports","figma-imports",!1));await e.writeFile(i,a),t.push({filePath:i,modifiedType:"create"})}if(e.hasAppModule){let a=await $r(e,n,i);a&&t.push({filePath:a,modifiedType:"update"})}return await Ln(e,"figma-imports",n,`./components/${r}`),await Qa(e),t}async function jr(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,lp(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}async function up(e,t){let r=(await Ve(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===t);r&&await Ve(e,r.id,!0,!1,null,null,!0,!1)}function Za(e,t,n,r,i,a){let o=!e.hasAppModule,s=$(e,n,e.registryPath),u=e.join(e.getAppRootDir(),"src","environments","environment.ts"),l=$(e,n,u),c=a?` <ng-container *ngIf="content || isPreviewing; else notFound">
|
|
1034
|
+
`.trimStart(),o=await e.formatCode(t,a);return await e.writeFile(t,o),"create"}return null}var jr="builderApiKey";async function Wa(e,t){let n=[],r=t.getSourceFiles(),i=t.getTypeChecker();return await Promise.all(r.map(async a=>{let o=e.basename(a.fileName);if(cp(e,a.fileName)||o.startsWith(".")||o==="node_modules"||up.has(o))return;let s=e.normalize(a.fileName);if(s===e.registryPath)return;let u=await Mr(e,i,s,a);n.push(...u)})),n.sort((a,o)=>a.cmpInfo.name.localeCompare(o.cmpInfo.name))}var up=new Set([]),lp=new Set(["node_modules"]);function cp(e,t){for(let n of lp)if(e.dirname(t).includes(n))return!0;return!1}async function Ja(e,t){let n=e.extname(t).toLowerCase();if(n===".tsx"||n===".jsx"||n===".ts"||n===".js"){let r=await e.readFile(t);if(r)return pp(e,t,r)}return null}function pp(e,t,n){let r=R(e,n);return Mr(e,null,t,r)}async function Mr(e,t,n,r){let i=[],a={};n=e.normalize(n);let o=r.statements.filter(c=>e.ts.isClassDeclaration(c)&&gp(e,c)),s=r.statements.find(c=>e.ts.isImportDeclaration(c)&&e.ts.isStringLiteral(c.moduleSpecifier)&&c.moduleSpecifier.text==="@angular/core");if(s&&e.ts.isImportDeclaration(s)){let c=s.importClause?.namedBindings;if(c&&e.ts.isNamedImports(c)){let p=c.elements.find(m=>(m.propertyName??m.name).text==="input");p&&(a.inputSignalImportName=p.name.text)}}let u=await fp(e,t,n,r),l=Cp(e,r);return await Promise.all(o.map(async c=>{let p=await mp(e,t,n,c,l,a);i.push(...p)})),i.push(...u),i}async function Jn(e,t,n){if(t.node.fnNode){let{sourceFile:r,typeChecker:i}=await bt(e,t.cmpInfo.filePath,n),o=(await Mr(e,i,t.cmpInfo.filePath,r)).find(s=>s.cmpInfo.id===t.cmpInfo.id);if(!o)throw new Error(`Could not find component ${t.cmpInfo.name} in ${t.cmpInfo.filePath}`);return o.cmpInfo.inputs}return[]}async function Ga(e,t,n){if(!n.some(s=>!s.isRegistered))return n;let i=await ee(e,n.map(s=>s.filePath)),a=i.getTypeChecker();return await Promise.all(n.filter(s=>!(s.name.endsWith("Page")||s.name.endsWith("Module")||s.name==="AppComponent")).map(async s=>{if(!s.isRegistered){let u=i.getSourceFile(s.filePath);if(u){let c=(await Mr(e,a,s.filePath,u)).find(p=>p.cmpInfo.id===s.id);if(c){s.inputs=gt(e,a,c.node.fnNode);let p=t.find(m=>m.cmpInfo.id===s.id);if(p){let m=await Jn(e,p,i);Ce(s,m)}}}}return s}))}async function mp(e,t,n,r,i,a){let o=[],s=e.relative(e.getAppRootDir(),n),u=K(e,n),l=r.name?.text;if(!l)return o;let c=!1;r.modifiers&&(c=r.modifiers.some(D=>D.kind===e.ts.SyntaxKind.DefaultKeyword));let p=c?"default":l,m=c?"default":"named",C=[];return r.members.forEach(D=>{if(e.ts.isPropertyDeclaration(D)||e.ts.isGetAccessor(D)||e.ts.isSetAccessor(D)){let f=(e.ts.getDecorators(D)??[]).find(E=>dp(e,E))!==void 0&&e.ts.isIdentifier(D.name),x=a?.inputSignalImportName!==void 0&&e.ts.isIdentifier(D.name)&&Dp(e,D,a.inputSignalImportName);if(f||x){let E="any";if(e.ts.isSetAccessor(D))E=qa(e,D.parameters[0].type);else if(D.type&&t){let A=t.getTypeAtLocation(D.type);E=t.typeToString(A)}else E=qa(e,D.type);let S={name:D.name.text,type:i[E]?"string":E};i[E]&&(S.enum=i[E]),C.push(S)}}}),o.push({cmpInfo:{id:await V(e,n,l),displayFilePath:L(e,n),name:U(l),inputs:C,exportName:p,exportType:m,importName:l,filePath:n,relFilePath:s,importPath:u,meta:{...xp(e,r)}},node:{name:l,fnNode:r,deps:void 0}}),o}async function fp(e,t,n,r){let i=[],a=e.relative(e.getAppRootDir(),n),o=K(e,n);for(let s of r.statements)if(e.ts.isExportDeclaration(s)&&s.exportClause&&e.ts.isNamedExports(s.exportClause))for(let u of s.exportClause.elements){let l=u.name?.text;if(!l)continue;let c=l,p="named",m=[];if(t){let g=t.getSymbolAtLocation(u.name);if(g){let d=t.getDeclaredTypeOfSymbol(g);t.getPropertiesOfType(d).forEach(x=>{let E=x.getDeclarations();E&&E.forEach(S=>{if(e.ts.isPropertyDeclaration(S)){let A=t.getTypeAtLocation(S),y={name:x.getName(),type:hp(e,t,A)};m.push(y)}})})}}let C=e.ts.isExportSpecifier(u)&&u.parent?u.parent.parent:void 0,D;if(C){let g=C.moduleSpecifier;if(g&&e.ts.isStringLiteral(g)){let d=t?.getSymbolAtLocation(g);if(d&&d.declarations&&d.declarations.length>0){let f=d.declarations[0];(!e.ts.isSourceFile(f)||e.ts.isSourceFile(f)&&f.fileName.includes("node_modules"))&&(D=g.text)}}}i.push({cmpInfo:{id:await V(e,n,l,D),displayFilePath:L(e,n),name:U(l),inputs:m,exportName:c,exportType:p,importName:l,filePath:n,relFilePath:a,importPath:D||o,externalImportPath:D},node:{name:l,fnNode:u,deps:void 0}})}return i}function dp(e,t){return Ha(e,t,"Input")}function Dp(e,t,n){return e.ts.isPropertyDeclaration(t)&&t.initializer!==void 0&&e.ts.isCallExpression(t.initializer)&&e.ts.isIdentifier(t.initializer.expression)&&t.initializer.expression.text===n}function Ha(e,t,n){if(e.ts.isCallExpression(t.expression)){let r=t.expression;if(e.ts.isIdentifier(r.expression))return r.expression?.text===n}return!1}function gp(e,t){return!!e.ts.getDecorators(t)?.some(i=>e.ts.isCallExpression(i.expression)&&e.ts.isIdentifier(i.expression.expression)&&i.expression.expression.text==="Component")}function qa(e,t){if(!t)return"any";let n="any";switch(t.kind){case e.ts.SyntaxKind.StringKeyword:n="string";break;case e.ts.SyntaxKind.NumberKeyword:n="number";break;case e.ts.SyntaxKind.BooleanKeyword:n="boolean";break;case e.ts.SyntaxKind.TypeReference:e.ts.isTypeReferenceNode(t)&&e.ts.isIdentifier(t.typeName)&&(n=t.typeName.text);break}return n.includes("|")?"string":n}function Cp(e,t){let n={};return e.ts.forEachChild(t,r=>{e.ts.isTypeAliasDeclaration(r)&&e.ts.isUnionTypeNode(r.type)&&r.type.types.every(i=>e.ts.isLiteralTypeNode(i)&&e.ts.isStringLiteral(i.literal))&&(n[r.name.text]=r.type.types.map(i=>i.literal.text))}),n}function hp(e,t,n){let r=t.typeToString(n);if(r==="any"){let i=n.getSymbol();if(i){let a=i.getDeclarations();if(a&&a.length>0){let o=a[0];if(e.ts.isVariableDeclaration(o)){let s=o.type;s&&(r=t.typeToString(t.getTypeAtLocation(s)))}}}}return r}function xp(e,t){let{getDecorators:n,isCallExpression:r,isIdentifier:i,isObjectLiteralExpression:a,isPropertyAssignment:o,isStringLiteral:s,SyntaxKind:u}=e.ts,l,c;return n(t)?.forEach(m=>{if(Ha(e,m,"Component")){let{expression:C}=m;if(r(C)){let[D]=C.arguments;a(D)&&D.properties.forEach(g=>{o(g)&&i(g.name)&&(g.name.escapedText==="selector"&&s(g.initializer)&&(l=g.initializer.text),g.name.escapedText==="standalone"&&(c=g.initializer.kind===u.TrueKeyword))})}}}),{selector:l,standalone:c}}async function Kr(e,t,n){let r=e.typescriptEnabled?".ts":".js",i=`app.module${r}`,a=e.join(e.appDir,i),o=await e.readFile(a);if(!o){console.error(`Unable to read app.module.${r} at ${a}`);return}let s=await Ep(e,a,t,n,o);if(!s){console.error(`Unable to update app.module.${r} at ${a}`);return}return await e.writeFile(a,s),a}async function Ep(e,t,n,r,i){let a=i,o=R(e,i),s=O(e,t,r);o=k(e,o,{namedImports:[n],importPath:s}),o=k(e,o,{namedImports:["Content"],importPath:"@builder.io/sdk-angular"});let u=[];for(let l of o.statements)if(e.ts.isClassDeclaration(l)&&l.name?.text==="AppModule"){let c=Fp(e,n,l);u.push(c)}else u.push(l);return o=e.ts.factory.updateSourceFile(o,u),a=re(e,o),a}function Fp(e,t,n){let r=e.ts.getDecorators(n);if(r){for(let i of r)if(e.ts.isCallExpression(i.expression)&&e.ts.isIdentifier(i.expression.expression)&&i.expression.expression.text==="NgModule"){let a=i.expression.arguments;if(a.length===1&&e.ts.isObjectLiteralExpression(a[0])){let o=Qa(e,a[0],"declarations",t);if(o){let s=Qa(e,o,"imports","Content");if(s&&(o=s),o){let u=e.ts.factory.updateDecorator(i,e.ts.factory.updateCallExpression(i.expression,i.expression.expression,i.expression.typeArguments,[o])),c=[...r.map(p=>p===i?u:p),...e.ts.getModifiers(n)||[]];return e.ts.factory.updateClassDeclaration(n,c,n.name,n.typeParameters,n.heritageClauses,n.members)}}}}}return n}function Qa(e,t,n,r){let i=[...t.properties],a=i.findIndex(s=>_(e,s)===n);if(a>-1){let s=i[a];if(e.ts.isPropertyAssignment(s)&&s.initializer&&e.ts.isArrayLiteralExpression(s.initializer)){let u=Ya(e,s.initializer,r);return u?(i[a]=e.ts.factory.updatePropertyAssignment(s,s.name,u),e.ts.factory.updateObjectLiteralExpression(t,i)):null}return null}let o=Ya(e,e.ts.factory.createArrayLiteralExpression([],!0),r);return o?e.ts.factory.updateObjectLiteralExpression(t,[...i,e.ts.factory.createPropertyAssignment(n,o)]):null}function Ya(e,t,n){return t.elements.some(i=>e.ts.isIdentifier(i)?i.text===n:!1)?null:e.ts.factory.updateArrayLiteralExpression(t,[...t.elements,e.ts.factory.createIdentifier(n)])}async function Gn(e,t,n,r){try{if(e.magicast){let a=`app.routes${e.typescriptEnabled?".ts":".js"}`,o=e.join(e.appDir,a),s=await e.magicast.loadFile(o);Object.keys(s.exports).length===0&&(s.exports.routes=[]);let l=Object.keys(s.exports)[0],c=s.exports[l];if(c.find(m=>m.path===t))return;let p=e.magicast.builders.raw("{}");if(p.path=t,p.component=e.magicast.builders.raw(n),c.push(p),s.imports.$items.find(m=>m.imported===n))return;s.imports.$append({imported:n,from:r}),await e.magicast.writeFile(s,o)}}catch(i){console.error(i)}}var ls=I(us(),1);async function cs(e){let t=e.ts.findConfigFile(e.getAppRootDir(),e.existsSync);if(t){let n=await e.readFile(t);if(!n)return;let r=ls.default.parse(n);if(!r||typeof r!="object"||Array.isArray(r))return;let i=r.compilerOptions;if(!i||typeof i!="object"||Array.isArray(i))return;let a=i.paths;(!a||typeof a!="object"||Array.isArray(a))&&(i.paths={},a=i.paths),Object.assign(i.paths,{"~/*":["./src/*"]}),await e.writeFile(t,JSON.stringify(r,null,2))}}async function ps(e){let t=[],n=await Rp(e,t);t.push(...await Wr(e)),await Ip(e,n);let r="BuilderPage";if(!await e.exists(e.builderPageComponentPath)){let i=await e.formatCode(e.builderPageComponentPath,fs(e,r,e.builderPageComponentPath,"builder-page","page",!0));await e.writeFile(e.builderPageComponentPath,i),t.push({filePath:e.builderPageComponentPath,modifiedType:"create"})}if(e.hasAppModule){await Kr(e,"Counter",n);let i=await Kr(e,r,e.builderPageComponentPath);i&&t.push({filePath:i,modifiedType:"update"})}return await Gn(e,"**",r,"./components/builder-page.component"),t}async function ms(e){let t=[];t.push(...await Wr(e));let n="FigmaImportsPage",r="figma-imports.component",i=e.join(e.componentsDir,`${r}.${e.typescriptEnabled?"ts":"js"}`);if(!await e.exists(i)){let a=await e.formatCode(i,fs(e,n,i,"figma-imports","figma-imports",!1));await e.writeFile(i,a),t.push({filePath:i,modifiedType:"create"})}if(e.hasAppModule){let a=await Kr(e,n,i);a&&t.push({filePath:a,modifiedType:"update"})}return await Gn(e,"figma-imports",n,`./components/${r}`),await cs(e),t}async function Wr(e){let t=[];return await e.exists(e.registryPath)||(await e.writeFile(e.registryPath,Bp(e)),t.push({filePath:e.registryPath,modifiedType:"create"})),t}async function Ip(e,t){let r=(await Ue(e,null,!1,!1,null,null,!1,!1)).components.find(i=>i.filePath===t);r&&await Ue(e,r.id,!0,!1,null,null,!0,!1)}function fs(e,t,n,r,i,a){let o=!e.hasAppModule,s=O(e,n,e.registryPath),u=e.join(e.getAppRootDir(),"src","environments","environment.ts"),l=O(e,n,u),c=a?` <ng-container *ngIf="content || isPreviewing; else notFound">
|
|
1033
1035
|
<builder-content
|
|
1034
1036
|
[model]="model"
|
|
1035
1037
|
[content]="content"
|
|
@@ -1067,7 +1069,7 @@ export class ${t} {
|
|
|
1067
1069
|
`:""}
|
|
1068
1070
|
@Input() model = '${i}';
|
|
1069
1071
|
|
|
1070
|
-
apiKey = environment.${
|
|
1072
|
+
apiKey = environment.${jr};
|
|
1071
1073
|
${e.typescriptEnabled?`
|
|
1072
1074
|
content: BuilderContent | null = null;
|
|
1073
1075
|
`:`
|
|
@@ -1095,12 +1097,12 @@ export class ${t} {
|
|
|
1095
1097
|
}
|
|
1096
1098
|
}
|
|
1097
1099
|
|
|
1098
|
-
`.trimStart()}function
|
|
1100
|
+
`.trimStart()}function Bp(e){return e.typescriptEnabled?`import type { RegisteredComponent } from "@builder.io/sdk-angular";
|
|
1099
1101
|
|
|
1100
1102
|
export const CUSTOM_COMPONENTS: RegisteredComponent[] = [
|
|
1101
1103
|
];`:`export const CUSTOM_COMPONENTS = [
|
|
1102
1104
|
];
|
|
1103
|
-
`}async function
|
|
1105
|
+
`}async function Rp(e,t){let r=e.typescriptEnabled?"ts":"js",i=e.join(e.componentsDir,`counter.component.${r}`),a=await e.exists(i);e.debug(`angularEnsureCounterComponent, hasCounterCmp: ${a}`);let o=Np(e);if(!a){let s=await e.formatCode(i,o);await e.writeFile(i,s),t.push({filePath:i,modifiedType:"create"})}return i}function Np(e){return`
|
|
1104
1106
|
import { Component, Input } from '@angular/core';
|
|
1105
1107
|
|
|
1106
1108
|
@Component({
|
|
@@ -1168,28 +1170,136 @@ export class Counter {
|
|
|
1168
1170
|
}
|
|
1169
1171
|
}
|
|
1170
1172
|
|
|
1171
|
-
`.trimStart()}async function es(e){await jr(e);let t=await e.readFile(e.registryPath);return t?mp(e,t):{components:[],sourceFile:B(e,"")}}async function mp(e,t){let n=B(e,t);return fp(e,n)}async function fp(e,t){let n=[],r=Q(e,t,"CUSTOM_COMPONENTS");return r&&await Promise.all(r.arrayLiteralExp.elements.map(async(i,a)=>{let o=await Wn(e,t,i);o&&(o.nodeIndex=a,n.push(o))})),{sourceFile:t,components:pe(n)}}async function Wn(e,t,n){if(!e.ts.isObjectLiteralExpression(n))return null;let r={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[]};for(let i of n.properties){if(!e.ts.isPropertyAssignment(i)||!e.ts.isIdentifier(i.name))continue;if(L(e,i)==="component"){let o,{initializer:s}=i;if(e.ts.isIdentifier(s))o=s.text;else if(e.ts.isCallExpression(s)){let l=s.arguments[0];e.ts.isIdentifier(l)&&(o=l.text)}if(!o)continue;r.name===""&&(r.name=K(o)),r.importName=o;let u=await Be(e,e.registryPath,t,o);if(!u)continue;if(r.filePath=u.filePath,r.relFilePath=u.relFilePath,await e.exists(u.filePath)?r.importPath=M(e,u.filePath):(r.externalImportPath=u.importPath,r.importPath=r.externalImportPath),r.displayFilePath=u.displayFilePath,r.exportType=u.exportType,r.externalImportPath)r.exportName=o;else{let l=await Na(e,u.filePath);if(l&&l.length>0)if(l.length===1)r.exportName=l[0].cmpInfo.exportName;else{let c=l.find(p=>p.cmpInfo.exportName===o);c&&(r.exportName=c.cmpInfo.exportName)}}continue}}return r=me(e,r,n),r.filePath&&r.exportName&&(r.id=await V(e,r.filePath,r.exportName,r.externalImportPath)),r}async function Ve(e,t,n,r,i,a,o,s){let u=await nt(e),[l,c,p]=await Promise.all([Ra(e,u),es(e),ar(e)]),m=l.map(E=>E.cmpInfo),C=c.components,D={components:Ae(m,C),registryPath:e.registryPath,registryDisplayPath:O(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:Re(m),publicApiKey:p.envValue??void 0,devToolsVersion:e.version};if(s)return D.components=await $a(e,l,D.components),D;let g=!1,d=c.sourceFile,f=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(f.length>0){let E=f.map(S=>{let F=l.find(R=>R.cmpInfo.id===S);if(!F)throw new Error(`Component ${S} not found`);return F}),x=Array.from(new Set(E.map(S=>S.cmpInfo.filePath))),y=await X(e,x);for(let S of E){let F=D.components.find(j=>j.id===S.cmpInfo.id),R=await On(e,S,y);De(F,R);let W=m.findIndex(j=>j.id===S.cmpInfo.id);m[W].inputs=R;let _=Oe(S.cmpInfo.id,m,C,n,r,i,a),{elements:A,elmIndex:v,statementIndex:ae,statement:Fe,variableDeclaration:ne}=await Dp(e,d,S);if(_.addCmpToRegistry)A.push(dp(e,_.addCmpToRegistry)),g=!0;else if(_.removeCmpFromRegistry)A.splice(v,1),g=!0;else if(_.updateRegisteredCmp){let j=Z(e,A[v],_.updateRegisteredCmp);A[v]=e.ts.factory.updateObjectLiteralExpression(j,[ts(e,_.updateRegisteredCmp),...j.properties.slice(1)]),g=!0}if(g&&o){let j=[...d.statements];j[ae]=e.ts.factory.updateVariableStatement(Fe,Fe.modifiers,e.ts.factory.updateVariableDeclarationList(Fe.declarationList,[e.ts.factory.updateVariableDeclaration(ne,ne.name,ne.exclamationToken,ne.type,e.ts.factory.createArrayLiteralExpression($e(e,A)))])),d=e.ts.factory.updateSourceFile(d,j),F.exportType==="named"?d=N(e,d,{namedImports:[F.importName],importPath:F.externalImportPath?F.externalImportPath:$(e,e.registryPath,F.filePath)}):d=N(e,d,{defaultImport:F.importName,importPath:F.externalImportPath?F.externalImportPath:$(e,e.registryPath,F.filePath)}),d=N(e,d,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-angular",isTypeOnly:!0}),d=Le(e,d,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),D.components=_.components,C=_.components.filter(se=>se.isRegistered)}}}if(g&&o){d=ke(e,d),d=Ne(e,d);let E=ee(e,d);E=Se(E),E=await e.formatCode(e.registryPath,E),await e.writeFile(e.registryPath,E)}return D}function ts(e,t){let n=e.ts.factory.createIdentifier(t.importName);return e.ts.factory.createPropertyAssignment("component",n)}function dp(e,t){return Z(e,e.ts.factory.createObjectLiteralExpression([ts(e,t)],!0),t)}async function Dp(e,t,n){let r=Q(e,t,"CUSTOM_COMPONENTS");if(!r)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let i=r.arrayLiteralExp.elements.filter(o=>e.ts.isObjectLiteralExpression(o)),a=-1;for(let o=0;o<i.length;o++)if((await Wn(e,t,i[o]))?.id===n.cmpInfo.id){a=o;break}return{...r,elements:i,elmIndex:a}}async function rs(e){let t=await gp(e),n={};return{builderPageOptions:async()=>({templateContentId:"f0b8016ac92e474699293211a268ebaa",pathname:"/builder-demo",title:"Builder + Angular Demo Page"}),ensureBuilderSetup:()=>Ya(t),ensureFigmaImportPage:()=>Xa(t),getRegistryPath:()=>t.registryPath,getRegistry:i=>Ve(t,null,!1,!1,null,null,!1,!!i?.readAllInputTypes),addExternalPackage:async i=>{n[i]||(n[i]=`export * from "${i}";`)},loadComponent:async i=>{let a=await Ve(t,i.cmpId,!1,!1,null,null,!1,!1);return{...a,component:a.components.find(o=>o.id===i.cmpId)}},registerComponent:i=>Ve(t,i.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:i=>Ve(t,i.cmpId,!1,!1,i,null,!0,!1),setRegisteredComponentInput:i=>Ve(t,i.cmpId,!1,!1,null,i,!0,!1),unregisterComponent:i=>Ve(t,i.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>ar(t),setPublicApiKey:i=>Ia(t,i.publicApiKey),getDependencies:i=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-angular"},{name:"concurrently"}],getDevRunCommand:()=>"builder-dev",getCache:()=>Pe(t),setCache:i=>Te(t,i)}}async function gp(e){let t=await Cp(e),n=e.getAppRootDir(),r=e.join(n,"src"),i=await de(e),a=e.join(r,"app"),o=await he(e,a),s={...e,srcDir:"",appDir:"",componentsDir:"",registryPath:o,angularConfigPath:t,typescriptEnabled:i,builderPageComponentPath:"",hasAppModule:!1};if(!await e.exists(r))throw new Error(`Could not find src directory. Searched for src in "${e.getAppRootDir()}".`);s.srcDir=r,s.appDir=a,s.componentsDir=e.join(s.appDir,"components"),s.builderPageComponentPath=e.join(s.componentsDir,`builder-page.component.${i?"ts":"js"}`);let u=`app.module.${i?"ts":"js"}`,l=e.join(s.appDir,u);return await e.exists(l)&&(s.hasAppModule=!0),s}async function Cp(e){let t=e.join(e.getAppRootDir(),"angular.json");if(await e.exists(t))return t;let n=e.join(e.getAppRootDir(),"project.json");if(await e.exists(n))return n;throw new Error(`Could not find Angular config file. Searched for angular.json & project.json in "${e.getAppRootDir()}".`)}var qr=k(Ds(),1);async function gs(e,t){let r={components:(await t.getRegistry()).components.filter(a=>a.isRegistered).map(a=>{let o={filePath:ye(e.relative(e.getAppRootDir(),a.filePath)),name:a.name,image:a.image,description:a.description,exportName:a.exportName,inputs:fe(a.inputs)};return fe(o)}),version:1};e.debug("exporting registry components:",r.components.length);let i=(0,qr.compress)(r);return btoa(JSON.stringify(i))}async function Cs(e,t,n){if(typeof n!="string")throw new Error("Invalid registry to import");let r=await t.getRegistry(),i=JSON.parse(atob(n)),a=(0,qr.decompress)(i),o=fe(r);e.debug("importing registry components:",a.components.length);for(let s of a.components){let u=ye(e.normalize(s.filePath)),l=r.components.find(p=>ye(p.filePath).endsWith(u)&&p.exportName===s.exportName);if(!l){console.error(`Could not find component to register: ${s.filePath}, ${s.exportName}`);continue}e.debug(`register (${l.id})`,l.filePath),await t.registerComponent({cmpId:l.id});for(let p of s.inputs)e.debug(`set input (${l.id})`),await t.setRegisteredComponentInput({cmpId:l.id,name:p.name,type:p.type,required:p.required,defaultValue:p.defaultValue,friendlyName:p.friendlyName,helperText:p.helperText});e.debug(`set input (${l.id}) info`);let c=await t.setRegisteredComponentInfo({cmpId:l.id,name:s.name,image:s.image,description:s.description});o=fe(c)}return o}var we={react:"react",remix:"remix",angular:"angular",next:"next",qwik:"qwik"},Yh={[we.react]:[{version:w.gen1,recommended:!0},{version:w.gen2,recommended:!1}],[we.remix]:[{version:w.gen1,recommended:!1},{version:w.gen2,recommended:!0}],[we.angular]:[{version:w.gen2,recommended:!0}],[we.next]:[{version:w.gen1,recommended:!0},{version:w.gen2,recommended:!1}],[we.qwik]:[{version:w.gen2,recommended:!0}]};async function hs(e,t){let n=[],r=new Set;async function i(s){let u=e.join(s,"package.json");try{let l=await e.readFile(u);if(l===null)throw new Error(`Failed to read package.json at ${u}`);let c=JSON.parse(l);if(r.has(c.name))return null;r.add(c.name);let p={name:c.name,subPackages:[]},m=await e.readdir(s);for(let C of m)C!=="node_modules"&&(await e.stat(e.join(s,C))).isDirectory()&&p.subPackages.push(C);return n.push(p),p}catch(l){return console.error(`Error reading package.json at ${s}:`,l),null}}let a=e.join(t,"package.json"),o=await e.readFile(a);if(o!==null){let s=JSON.parse(o),u={...s.dependencies,...s.devDependencies};for(let l of Object.keys(u)){let c=e.join(t,"node_modules",l);await i(c)}if(s.workspaces)for(let l of s.workspaces){let c=await e.readdir(e.join(t,l));for(let p of c){let m=e.join(t,l,p);await i(m)}}}return n}var Vp={"@builder.io/qwik-city":ma,next:ta,"@remix-run/react":xa,react:Ta,"@angular/core":rs},Kp={"@builder.io/qwik-city":we.qwik,next:we.next,"@remix-run/react":we.remix,react:we.react,"@angular/core":we.angular};async function Wr(e){if(!e.ts)throw new Error("createDevTools() requires a TypeScript instance passed to the 'ts' option");if((!e.frameworks||e.frameworks.length===0)&&(e.frameworks=await St(e)),e.frameworks.length===0)throw new Error("Supported Devtools framework for not found");for(let t of e.frameworks){let n=Vp[t.name];if(n){if(t.name==="next"&&await Bo(e))throw new Error("Turbopack does not support the Builder.io devtools cli. Please disable Turbopack or manually integrate Builder.io into your Next.js project.");let r=await n(e);return{...r,exportRegistry:()=>gs(e,r),importRegistry:a=>Cs(e,r,a),framework:Kp[t.name],findAllDependencies:async()=>await hs(e,e.getRepoRootDir())}}}throw new Error(`Devtools framework not found for ${e.getAppRootDir()}, ${JSON.stringify(e.frameworks,null,2)}`)}var q0=`
|
|
1173
|
+
`.trimStart()}async function ds(e){await Wr(e);let t=await e.readFile(e.registryPath);return t?$p(e,t):{components:[],sourceFile:R(e,"")}}async function $p(e,t){let n=R(e,t);return kp(e,n)}async function kp(e,t){let n=[],r=X(e,t,"CUSTOM_COMPONENTS");return r&&await Promise.all(r.arrayLiteralExp.elements.map(async(i,a)=>{let o=await no(e,t,i);o&&(o.nodeIndex=a,n.push(o))})),{sourceFile:t,components:me(n)}}async function no(e,t,n){if(!e.ts.isObjectLiteralExpression(n))return null;let r={id:"",name:"",displayFilePath:"",exportName:"",importName:"",filePath:"",relFilePath:"",importPath:"",inputs:[]};for(let i of n.properties){if(!e.ts.isPropertyAssignment(i)||!e.ts.isIdentifier(i.name))continue;if(_(e,i)==="component"){let o,{initializer:s}=i;if(e.ts.isIdentifier(s))o=s.text;else if(e.ts.isCallExpression(s)){let l=s.arguments[0];e.ts.isIdentifier(l)&&(o=l.text)}if(!o)continue;r.name===""&&(r.name=U(o)),r.importName=o;let u=await Ne(e,e.registryPath,t,o);if(!u)continue;if(r.filePath=u.filePath,r.relFilePath=u.relFilePath,await e.exists(u.filePath)?r.importPath=K(e,u.filePath):(r.externalImportPath=u.importPath,r.importPath=r.externalImportPath),r.displayFilePath=u.displayFilePath,r.exportType=u.exportType,r.externalImportPath)r.exportName=o;else{let l=await Ja(e,u.filePath);if(l&&l.length>0)if(l.length===1)r.exportName=l[0].cmpInfo.exportName;else{let c=l.find(p=>p.cmpInfo.exportName===o);c&&(r.exportName=c.cmpInfo.exportName)}}continue}}return r=fe(e,r,n),r.filePath&&r.exportName&&(r.id=await V(e,r.filePath,r.exportName,r.externalImportPath)),r}async function Ue(e,t,n,r,i,a,o,s){let u=await at(e),[l,c,p]=await Promise.all([Wa(e,u),ds(e),cr(e)]),m=l.map(x=>x.cmpInfo),C=c.components,D={components:we(m,C),registryPath:e.registryPath,registryDisplayPath:L(e,e.registryPath),frameworks:e.getFrameworks(),dependencies:$e(m),publicApiKey:p.envValue??void 0,devToolsVersion:e.version};if(s)return D.components=await Ga(e,l,D.components),D;let g=!1,d=c.sourceFile,f=Array.isArray(t)?t:typeof t=="string"?[t]:[];if(f.length>0){let x=f.map(A=>{let y=l.find($=>$.cmpInfo.id===A);if(!y)throw new Error(`Component ${A} not found`);return y}),E=Array.from(new Set(x.map(A=>A.cmpInfo.filePath))),S=await ee(e,E);for(let A of x){let y=D.components.find(M=>M.id===A.cmpInfo.id),$=await Jn(e,A,S);Ce(y,$);let G=m.findIndex(M=>M.id===A.cmpInfo.id);m[G].inputs=$;let j=_e(A.cmpInfo.id,m,C,n,r,i,a),{elements:v,elmIndex:w,statementIndex:ue,statement:Se,variableDeclaration:ie}=await Lp(e,d,A);if(j.addCmpToRegistry)v.push(Op(e,j.addCmpToRegistry)),g=!0;else if(j.removeCmpFromRegistry)v.splice(w,1),g=!0;else if(j.updateRegisteredCmp){let M=te(e,v[w],j.updateRegisteredCmp);v[w]=e.ts.factory.updateObjectLiteralExpression(M,[Ds(e,j.updateRegisteredCmp),...M.properties.slice(1)]),g=!0}if(g&&o){let M=[...d.statements];M[ue]=e.ts.factory.updateVariableStatement(Se,Se.modifiers,e.ts.factory.updateVariableDeclarationList(Se.declarationList,[e.ts.factory.updateVariableDeclaration(ie,ie.name,ie.exclamationToken,ie.type,e.ts.factory.createArrayLiteralExpression(Oe(e,v)))])),d=e.ts.factory.updateSourceFile(d,M),y.exportType==="named"?d=k(e,d,{namedImports:[y.importName],importPath:y.externalImportPath?y.externalImportPath:O(e,e.registryPath,y.filePath)}):d=k(e,d,{defaultImport:y.importName,importPath:y.externalImportPath?y.externalImportPath:O(e,e.registryPath,y.filePath)}),d=k(e,d,{namedImports:["RegisteredComponent"],importPath:"@builder.io/sdk-angular",isTypeOnly:!0}),d=je(e,d,{variableName:"CUSTOM_COMPONENTS",arrayType:"RegisteredComponent"}),D.components=j.components,C=j.components.filter(le=>le.isRegistered)}}}if(g&&o){d=Le(e,d),d=ke(e,d);let x=re(e,d);x=ve(x),x=await e.formatCode(e.registryPath,x),await e.writeFile(e.registryPath,x)}return D}function Ds(e,t){let n=e.ts.factory.createIdentifier(t.importName);return e.ts.factory.createPropertyAssignment("component",n)}function Op(e,t){return te(e,e.ts.factory.createObjectLiteralExpression([Ds(e,t)],!0),t)}async function Lp(e,t,n){let r=X(e,t,"CUSTOM_COMPONENTS");if(!r)throw new Error(`Exported name of the Builder registry must be "CUSTOM_COMPONENTS". Please update your Builder registry file: ${e.registryPath}`);let i=r.arrayLiteralExp.elements.filter(o=>e.ts.isObjectLiteralExpression(o)),a=-1;for(let o=0;o<i.length;o++)if((await no(e,t,i[o]))?.id===n.cmpInfo.id){a=o;break}return{...r,elements:i,elmIndex:a}}async function gs(e){let t=await _p(e),n={};return{builderPageOptions:async()=>({templateContentId:"f0b8016ac92e474699293211a268ebaa",pathname:"/builder-demo",title:"Builder + Angular Demo Page"}),ensureBuilderSetup:()=>ps(t),ensureFigmaImportPage:()=>ms(t),getRegistryPath:()=>t.registryPath,getRegistry:i=>Ue(t,null,!1,!1,null,null,!1,!!i?.readAllInputTypes),addExternalPackage:async i=>{n[i]||(n[i]=`export * from "${i}";`)},loadComponent:async i=>{let a=await Ue(t,i.cmpId,!1,!1,null,null,!1,!1);return{...a,component:a.components.find(o=>o.id===i.cmpId)}},registerComponent:i=>Ue(t,i.cmpId,!0,!1,null,null,!0,!1),setRegisteredComponentInfo:i=>Ue(t,i.cmpId,!1,!1,i,null,!0,!1),setRegisteredComponentInput:i=>Ue(t,i.cmpId,!1,!1,null,i,!0,!1),unregisterComponent:i=>Ue(t,i.cmpId,!1,!0,null,null,!0,!1),getPublicApiKey:()=>cr(t),setPublicApiKey:i=>za(t,i.publicApiKey),getDependencies:i=>[{name:"@builder.io/dev-tools"},{name:"@builder.io/sdk-angular"},{name:"concurrently"}],getDevRunCommand:()=>"builder-dev",getCache:()=>Ie(t),setCache:i=>Be(t,i)}}async function _p(e){let t=await jp(e),n=e.getAppRootDir(),r=e.join(n,"src"),i=await De(e),a=e.join(r,"app"),o=await Ee(e,a),s={...e,srcDir:"",appDir:"",componentsDir:"",registryPath:o,angularConfigPath:t,typescriptEnabled:i,builderPageComponentPath:"",hasAppModule:!1};if(!await e.exists(r))throw new Error(`Could not find src directory. Searched for src in "${e.getAppRootDir()}".`);s.srcDir=r,s.appDir=a,s.componentsDir=e.join(s.appDir,"components"),s.builderPageComponentPath=e.join(s.componentsDir,`builder-page.component.${i?"ts":"js"}`);let u=`app.module.${i?"ts":"js"}`,l=e.join(s.appDir,u);return await e.exists(l)&&(s.hasAppModule=!0),s}async function jp(e){let t=e.join(e.getAppRootDir(),"angular.json");if(await e.exists(t))return t;let n=e.join(e.getAppRootDir(),"project.json");if(await e.exists(n))return n;throw new Error(`Could not find Angular config file. Searched for angular.json & project.json in "${e.getAppRootDir()}".`)}var Xr=I(Ts(),1);async function Is(e,t){let r={components:(await t.getRegistry()).components.filter(a=>a.isRegistered).map(a=>{let o={filePath:Ae(e.relative(e.getAppRootDir(),a.filePath)),name:a.name,image:a.image,description:a.description,exportName:a.exportName,inputs:de(a.inputs)};return de(o)}),version:1};e.debug("exporting registry components:",r.components.length);let i=(0,Xr.compress)(r);return btoa(JSON.stringify(i))}async function Bs(e,t,n){if(typeof n!="string")throw new Error("Invalid registry to import");let r=await t.getRegistry(),i=JSON.parse(atob(n)),a=(0,Xr.decompress)(i),o=de(r);e.debug("importing registry components:",a.components.length);for(let s of a.components){let u=Ae(e.normalize(s.filePath)),l=r.components.find(p=>Ae(p.filePath).endsWith(u)&&p.exportName===s.exportName);if(!l){console.error(`Could not find component to register: ${s.filePath}, ${s.exportName}`);continue}e.debug(`register (${l.id})`,l.filePath),await t.registerComponent({cmpId:l.id});for(let p of s.inputs)e.debug(`set input (${l.id})`),await t.setRegisteredComponentInput({cmpId:l.id,name:p.name,type:p.type,required:p.required,defaultValue:p.defaultValue,friendlyName:p.friendlyName,helperText:p.helperText});e.debug(`set input (${l.id}) info`);let c=await t.setRegisteredComponentInfo({cmpId:l.id,name:s.name,image:s.image,description:s.description});o=de(c)}return o}var Pe={react:"react",remix:"remix",angular:"angular",next:"next",qwik:"qwik"},P0={[Pe.react]:[{version:b.gen1,recommended:!0},{version:b.gen2,recommended:!1}],[Pe.remix]:[{version:b.gen1,recommended:!1},{version:b.gen2,recommended:!0}],[Pe.angular]:[{version:b.gen2,recommended:!0}],[Pe.next]:[{version:b.gen1,recommended:!0},{version:b.gen2,recommended:!1}],[Pe.qwik]:[{version:b.gen2,recommended:!0}]};async function Rs(e,t){let n=[],r=new Set;async function i(s){let u=e.join(s,"package.json");try{let l=await e.readFile(u);if(l===null)throw new Error(`Failed to read package.json at ${u}`);let c=JSON.parse(l);if(r.has(c.name))return null;r.add(c.name);let p={name:c.name,subPackages:[]},m=await e.readdir(s);for(let C of m)C!=="node_modules"&&(await e.stat(e.join(s,C))).isDirectory()&&p.subPackages.push(C);return n.push(p),p}catch(l){return console.error(`Error reading package.json at ${s}:`,l),null}}let a=e.join(t,"package.json"),o=await e.readFile(a);if(o!==null){let s=JSON.parse(o),u={...s.dependencies,...s.devDependencies};for(let l of Object.keys(u)){let c=e.join(t,"node_modules",l);await i(c)}if(s.workspaces)for(let l of s.workspaces){let c=await e.readdir(e.join(t,l));for(let p of c){let m=e.join(t,l,p);await i(m)}}}return n}var lm={"@builder.io/qwik-city":wa,next:Da,"@remix-run/react":$a,react:Ua,"@angular/core":gs},cm={"@builder.io/qwik-city":Pe.qwik,next:Pe.next,"@remix-run/react":Pe.remix,react:Pe.react,"@angular/core":Pe.angular};async function Zr(e){if(!e.ts)throw new Error("createDevTools() requires a TypeScript instance passed to the 'ts' option");if((!e.frameworks||e.frameworks.length===0)&&(e.frameworks=await Pt(e)),e.frameworks.length===0)throw new Error("Supported Devtools framework for not found");for(let t of e.frameworks){let n=lm[t.name];if(n){if(t.name==="next"&&await Go(e))throw new Error("Turbopack does not support the Builder.io devtools cli. Please disable Turbopack or manually integrate Builder.io into your Next.js project.");let r=await n(e);return{...r,exportRegistry:()=>Is(e,r),importRegistry:a=>Bs(e,r,a),framework:cm[t.name],findAllDependencies:async()=>await Rs(e,e.getRepoRootDir())}}}throw new Error(`Devtools framework not found for ${e.getAppRootDir()}, ${JSON.stringify(e.frameworks,null,2)}`)}var yx=`
|
|
1172
1174
|
/** @type {import('next').NextConfig} */
|
|
1173
1175
|
const nextConfig = {
|
|
1174
1176
|
}
|
|
1175
1177
|
|
|
1176
1178
|
module.exports = nextConfig
|
|
1177
|
-
`.trimStart();var
|
|
1179
|
+
`.trimStart();var Em=I(require("prompts"),1);var pm=I(require("prettier"),1);var F=I(qe(),1);var Vt=I(require("@amplitude/analytics-node"),1),nn=I(require("@sentry/node"),1);var Ns=I(require("crypto")),tn=new Uint8Array(256),en=tn.length;function ho(){return en>tn.length-16&&(Ns.default.randomFillSync(tn),en=0),tn.slice(en,en+=16)}var se=[];for(let e=0;e<256;++e)se.push((e+256).toString(16).slice(1));function $s(e,t=0){return se[e[t+0]]+se[e[t+1]]+se[e[t+2]]+se[e[t+3]]+"-"+se[e[t+4]]+se[e[t+5]]+"-"+se[e[t+6]]+se[e[t+7]]+"-"+se[e[t+8]]+se[e[t+9]]+"-"+se[e[t+10]]+se[e[t+11]]+se[e[t+12]]+se[e[t+13]]+se[e[t+14]]+se[e[t+15]]}var ks=I(require("crypto")),xo={randomUUID:ks.default.randomUUID};function mm(e,t,n){if(xo.randomUUID&&!t&&!e)return xo.randomUUID();e=e||{};let r=e.random||(e.rng||ho)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,t){n=n||0;for(let i=0;i<16;++i)t[n+i]=r[i];return t}return $s(r)}var Eo=mm;async function gr(e,t,n){let r={...t,app:"dev-tools-cli",package:"cli"};return Vt.track(e,r,{...n,user_id:await fm(),device_id:await dm()})}var rn,Fo;async function Os(e){rn=e;let t=await Tt();await hn({...t,userId:e})}async function fm(){if(rn)return rn;let e=await Tt(),t;return Cn(e,"userId")&&(t=e.userId),rn=t,t}async function dm(){if(Fo)return Fo;let e=await Tt(),t=Eo();return Cn(e,"deviceId")?t=e.deviceId:await hn({...e,deviceId:t}),Fo=t,t}var Cr=process.env.OVERRIDE_VERSION??"1.5.8";function yo(e){switch(gr("cli help",{subcommand:e}),console.log(""),Rt((0,F.bgCyan)((0,F.bold)((0,F.white)(" help ")))+" "+(0,F.dim)(Cr)),e){case"add":case"generate":case"gen":case"g":Rt(`${(0,F.cyan)("\u2192")} ${(0,F.bold)("Generate Figma Components")}
|
|
1178
1180
|
|
|
1179
|
-
|
|
1181
|
+
${(0,F.bgGreen)((0,F.white)(" npx builder.io figma generate URL [URL ...] "))}
|
|
1180
1182
|
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1183
|
+
Start the auto-mapping wizard for the Figma Component URLs pasted in.
|
|
1184
|
+
|
|
1185
|
+
${(0,F.yellow)("Usage:")}
|
|
1186
|
+
Get the URL by right-clicking on the Figma Component and selecting
|
|
1187
|
+
"Copy Link". Be sure to copy the URL from the main component.
|
|
1188
|
+
|
|
1189
|
+
${(0,F.yellow)("Arguments:")}
|
|
1190
|
+
${(0,F.cyan)("--figmaToken")} Figma access token for authentication
|
|
1191
|
+
${(0,F.cyan)("--privateKey")} Builder.io private API key
|
|
1192
|
+
${(0,F.cyan)("--spaceId")} Builder.io space ID to use
|
|
1193
|
+
${(0,F.cyan)("--ci")} Run in CI mode without interactive prompts
|
|
1194
|
+
${(0,F.cyan)("--force")} Force operation even if there are warnings
|
|
1195
|
+
${(0,F.cyan)("--skipInstallation")} Skip the package installation step
|
|
1196
|
+
${(0,F.cyan)("--yes")} Auto-confirm all prompts`);break;case"auth":J.info(`${(0,F.cyan)("\u2192")} ${(0,F.bold)("Authentication")}
|
|
1197
|
+
|
|
1198
|
+
${(0,F.bgGreen)((0,F.white)(" npx builder.io auth "))}
|
|
1199
|
+
|
|
1200
|
+
Re-authenticate with Figma and Builder.io.
|
|
1201
|
+
|
|
1202
|
+
${(0,F.yellow)("Environment Variables:")}
|
|
1203
|
+
${(0,F.cyan)("BUILDER_PUBLIC_KEY")} Your Builder.io public API key
|
|
1204
|
+
${(0,F.cyan)("BUILDER_PRIVATE_KEY")} Your Builder.io private API key
|
|
1205
|
+
${(0,F.cyan)("FIGMA_PERSONAL_TOKEN")} Your Figma personal access token
|
|
1206
|
+
|
|
1207
|
+
${(0,F.yellow)("Non-Interactive Authentication:")}
|
|
1208
|
+
Environment variables can be used to skip the interactive authentication process.
|
|
1209
|
+
This is especially useful for CI/CD pipelines or automated workflows.
|
|
1210
|
+
|
|
1211
|
+
Example using environment variables:
|
|
1212
|
+
${(0,F.dim)('export BUILDER_PRIVATE_KEY="your-private-key"')}
|
|
1213
|
+
${(0,F.dim)('export FIGMA_PERSONAL_TOKEN="your-figma-token"')}
|
|
1214
|
+
${(0,F.dim)("npx builder.io figma generate <url> --ci")}
|
|
1215
|
+
|
|
1216
|
+
${(0,F.yellow)("Arguments:")}
|
|
1217
|
+
${(0,F.cyan)("--figmaToken")} Figma access token for authentication
|
|
1218
|
+
${(0,F.cyan)("--privateKey")} Builder.io private API key
|
|
1219
|
+
${(0,F.cyan)("--spaceId")} Builder.io space ID to use
|
|
1220
|
+
${(0,F.cyan)("--force")} Force re-authentication even if already authenticated
|
|
1221
|
+
|
|
1222
|
+
${(0,F.yellow)("Learn More:")}
|
|
1223
|
+
\u2022 Builder.io API keys: https://www.builder.io/c/docs/using-your-api-key#managing-private-keys
|
|
1224
|
+
\u2022 Figma access token: https://help.figma.com/hc/en-us/articles/8085703771159-Manage-personal-access-tokens
|
|
1225
|
+
\u2022 CI setup guide: https://www.builder.io/c/docs/integrating-builder-figma`);break;case"publish":J.info(`${(0,F.cyan)("\u2192")} ${(0,F.bold)("Publish Mappings")}
|
|
1226
|
+
|
|
1227
|
+
${(0,F.bgGreen)((0,F.white)(" npx builder.io figma publish "))}
|
|
1228
|
+
|
|
1229
|
+
Publish your Figma Mappings to Builder.io.
|
|
1230
|
+
|
|
1231
|
+
${(0,F.yellow)("Arguments:")}
|
|
1232
|
+
${(0,F.cyan)("--privateKey")} Builder.io private API key
|
|
1233
|
+
${(0,F.cyan)("--spaceId")} Builder.io space ID to use
|
|
1234
|
+
${(0,F.cyan)("--ci")} Run in CI mode without interactive prompts
|
|
1235
|
+
${(0,F.cyan)("--force")} Force publish even if there are warnings
|
|
1236
|
+
${(0,F.cyan)("--verbose")} Print output as JSON
|
|
1237
|
+
${(0,F.cyan)("--dryrun")} Run without making changes
|
|
1238
|
+
${(0,F.cyan)("--yes")} Auto-confirm all prompts`);break;case"migrate":J.info(`${(0,F.cyan)("\u2192")} ${(0,F.bold)("Migrate Mappings")}
|
|
1239
|
+
|
|
1240
|
+
${(0,F.bgGreen)((0,F.white)(" npx builder.io figma migrate "))}
|
|
1241
|
+
|
|
1242
|
+
Migrate your existing Figma Mappings into the repo as local files.
|
|
1243
|
+
|
|
1244
|
+
${(0,F.yellow)("Description:")}
|
|
1245
|
+
Downloads existing Figma Mappings from Builder.io and saves them locally.
|
|
1246
|
+
|
|
1247
|
+
${(0,F.yellow)("Arguments:")}
|
|
1248
|
+
${(0,F.cyan)("--privateKey")} Builder.io private API key
|
|
1249
|
+
${(0,F.cyan)("--spaceId")} Builder.io space ID to use
|
|
1250
|
+
${(0,F.cyan)("--force")} Force migration even if there are warnings
|
|
1251
|
+
${(0,F.cyan)("--yes")} Auto-confirm all prompts`);break;case"code":J.info(`${(0,F.cyan)("\u2192")} ${(0,F.bold)("Code Generation")}
|
|
1252
|
+
|
|
1253
|
+
${(0,F.bgGreen)((0,F.white)(" npx builder.io code --url URL "))}
|
|
1254
|
+
|
|
1255
|
+
Generate or modify code based on Figma designs.
|
|
1256
|
+
|
|
1257
|
+
${(0,F.yellow)("Arguments:")}
|
|
1258
|
+
${(0,F.cyan)("--url")} URL to start completion from
|
|
1259
|
+
${(0,F.cyan)("--privateKey")} Builder.io private API key
|
|
1260
|
+
${(0,F.cyan)("--spaceId")} Builder.io space ID to use
|
|
1261
|
+
${(0,F.cyan)("--prompt")} Prompt text for non-interactive mode
|
|
1262
|
+
${(0,F.cyan)("--mode")} Generation mode - either 'exact' for precise matches or 'creative' for more flexibility
|
|
1263
|
+
${(0,F.cyan)("--cwd")} Working directory to run commands from
|
|
1264
|
+
|
|
1265
|
+
${(0,F.yellow)("Configuration Files:")}
|
|
1266
|
+
${(0,F.cyan)(".builderignore")} Add patterns to exclude files from being included in code generation
|
|
1267
|
+
${(0,F.cyan)(".builderrules")} Add custom instructions that will be injected into the LLM prompt
|
|
1268
|
+
${(0,F.cyan)(".cursorrules")} Cursor's settings are automatically supported for consistent behavior`);break;case"indexing":J.info(`${(0,F.cyan)("\u2192")} ${(0,F.bold)("Code Indexing")}
|
|
1269
|
+
|
|
1270
|
+
${(0,F.bgGreen)((0,F.white)(" npx builder.io code indexing "))}
|
|
1271
|
+
|
|
1272
|
+
Index your codebase to improve code generation results.
|
|
1273
|
+
|
|
1274
|
+
${(0,F.yellow)("Arguments:")}
|
|
1275
|
+
${(0,F.cyan)("--privateKey")} Builder.io private API key
|
|
1276
|
+
${(0,F.cyan)("--spaceId")} Builder.io space ID to use
|
|
1277
|
+
${(0,F.cyan)("--cwd")} Working directory to run commands from`);break;default:J.info(`${(0,F.bold)("Available Commands:")}
|
|
1278
|
+
`),[{command:"generate URL [URL ...]",description:"Start the auto-mapping wizard for Figma Component URLs"},{command:"publish",description:"Publish your Figma Mappings to Builder.io"},{command:"migrate",description:"Migrate existing Figma Mappings into the repo as local files"},{command:"auth",description:"Re-authenticate with Figma and Builder.io"},{command:"code",description:"Generate or modify code based on Figma designs"},{command:"indexing",description:"Index your codebase to improve code generation results"}].forEach(({command:n,description:r})=>{J.info(`${(0,F.cyan)("\u2192")} ${(0,F.bgGreen)((0,F.white)(` npx builder.io figma ${n} `))}
|
|
1279
|
+
${(0,F.dim)(r)}
|
|
1280
|
+
`)}),J.info(`
|
|
1281
|
+
Use ${(0,F.cyan)("npx builder.io figma help <command>")} for detailed help about a command`)}er("bye \u{1F44B}")}var Fm=I(require("@sentry/node"),1);var Vs=I(require("@sentry/node"),1);var js=I(qe(),1),Ms=require("undici");var Ls=I(require("@sentry/node"),1),_s=I(require("@amplitude/analytics-node"),1);async function Ut(e){if(process.env.NODE_ENV!=="test")try{await Promise.allSettled([Ls.flush(2e3),_s.flush().promise])}catch(t){console.error(t)}process.exit(e)}var Ks=I(qe(),1),St=async(e,t)=>{let n="fetch"in globalThis?globalThis.fetch:Ms.fetch;try{let r=await n(e,t);if(!r.ok)if(r.status===429){let i=await r.json(),a=i.severity??"high",o=i.message??"Rate limit exceeded. Please try again later.";return console.log(),a==="high"?r.error((0,js.red)(`${r.status} ${o}
|
|
1282
|
+
|
|
1283
|
+
`)):r.warn((0,Ks.yellow)(`${r.status} ${o}
|
|
1284
|
+
|
|
1285
|
+
`)),await Ut(1)}else throw new Error(`Failed to generate completion:
|
|
1286
|
+
`+await r.text());return r}catch(r){let i=typeof e=="string"?e:e instanceof URL?e.toString():e.url,a=t?.method||"GET",o=r instanceof Error?r.message:String(r),s=new Error(`Fetch failed for ${a} ${i}: ${o}`);throw r instanceof Error&&(s.cause=r),s.requestContext={url:i,method:a,headers:t?.headers},s}};var ym=I(zs(),1);var qs=process.env.AIR_HOST||"https://air-layout-v2-tk43uighdq-uc.a.run.app";var Js=e=>{let t=new URL(e);if(!e.startsWith("https://www.figma.com/design/"))return null;let n=t.searchParams.get("node-id")?.replaceAll("-",":"),r=t.pathname.split("/")[2];return n&&r?{fileID:r,nodeId:n}:null};var Gs=async(e,t,n,r)=>(await Am(`files/${t}/nodes`,{auth:e,params:{ids:n,depth:r}})).nodes,Sm="https://api.figma.com/v1/",Am=async(e,{auth:t,params:n})=>{let r=new URL(`${Sm}${e}`),i={};if(t.oauth?i.Authorization=`Bearer ${t.access_token}`:i["X-FIGMA-TOKEN"]=t.access_token,n)for(let o in n)n[o]!=null&&r.searchParams.set(o,n[o].toString());let a=await St(r,{headers:i});if(!a.ok)throw new Error(`Figma REST ${a.statusText}: ${await a.text()}`);return a.json()};var vm=/[^\x00-\x7F]/g;function So(e){return e=e.replace(vm,""),e=e.replace(/[\W\d]/g," "),e=e.trim(),e=wm(e),e=e.charAt(0).toUpperCase()+e.slice(1),e}function wm(e){return e.replace(/(?:^\w|[A-Z]|\b\w)/g,function(t,n){return n===0?t.toLowerCase():t.toUpperCase()}).replace(/\s+/g,"")}async function bm(e,t,n){let r=[],i=[t],a=e.relative(e.getAppRootDir(),t.fileName);for(;i.length>0;){let o=i.shift();if(Bm(o,t)){let s=Tm(e,o,t,n),{line:u,character:l}=t.getLineAndCharacterOfPosition(o.getStart());s&&(s.loc=`${a}:${u+1}:${l+1}`,r.push(s))}i.push(...o.getChildren(t))}return r}var Pm="figmaMapping";function Tm(e,t,n,r){let[i]=t.arguments;if(!i)throw new Error("Invalid figmaMapping call, no arguments found");if(!Q.default.isObjectLiteralExpression(i))throw new Error("Invalid figmaMapping call, argument is not an object literal");let a=i.properties;if(!a)throw new Error("Invalid figmaMapping call, argument has no properties");let o="",s,u,l="-",c=e.basename(n.fileName,".mapper.tsx"),p,m,C,D;if(t.typeArguments&&t.typeArguments.length>0){let d=Hs(t.typeArguments[0].getText(n));d&&(c=d)}for(let d of a){let f=d.name?.getText(n);if(!f)throw new Error("Invalid figmaMapping call, property has no name");switch(f){case"url":{if(!("initializer"in d))throw new Error("Invalid figmaMapping call, url has no initializer");let x=d.initializer;if(!Q.default.isStringLiteral(x))throw new Error("Invalid figmaMapping call, componentKey is not a string literal");D=x.text;break}case"componentKey":{if(!("initializer"in d))throw new Error("Invalid figmaMapping call, componentKey has no initializer");let x=d.initializer;if(!Q.default.isStringLiteral(x))throw new Error("Invalid figmaMapping call, componentKey is not a string literal");o=x.text;break}case"mapper":if(Q.default.isMethodDeclaration(d)){let x=function(E){if((Q.default.isJsxOpeningElement(E)||Q.default.isJsxSelfClosingElement(E))&&Q.default.isIdentifier(E.tagName)){l=E.tagName.getText(n);let A=r.getSymbolAtLocation(E.tagName)?.getDeclarations()?.[0];if(A){let y=Im(A);y?.importClause&&(y.importClause.name?.getText(n)===l?p="default":y.importClause.namedBindings&&(p="named"),m=l,Q.default.isStringLiteral(y.moduleSpecifier)&&(C=y.moduleSpecifier.text))}return l}else if(Q.default.isTaggedTemplateExpression(E)&&Q.default.isIdentifier(E.tag)&&E.tag.escapedText==="html"){let S=E.template.getText(n).match(/^`<([^\s]+)/);if(S){l=S[1];return}}else Q.default.forEachChild(E,x)};var g=x;if(d.parameters[0].type){let E=d.parameters[0].type.getText(n),S=Hs(E);S&&(c=S)}Q.default.forEachChild(d,x),u=d.getText(n).replace(/^mapper/,"function Mapper"),s=wo(u);break}case"designTokenMapper":if(Q.default.isMethodDeclaration(d)){u=d.getText(n).replace(/^designTokenMapper/,"function Mapper"),s=wo(u),o="design-tokens";break}case"genericMapper":if(Q.default.isMethodDeclaration(d)){u=d.getText(n).replace(/^genericMapper/,"function Mapper"),s=wo(u),o="*";break}}}if(!o&&!D)throw new Error("Invalid figmaMapping call, no componentKey or url found");if(!o&&!s)throw new Error("Invalid figmaMapping call, no mapper found");if(!o&&!u)throw new Error("Invalid figmaMapping call, no original mapper found");return{builderName:l,figmaName:c,figmaKey:o,figmaUrl:D,inputMapper:s,exportType:p,importName:m,importPath:C,originalInputMapper:u,source:"cli"}}function wo(e){return Q.default.transpile(e,{target:Q.default.ScriptTarget.Latest,allowNonTsExtensions:!0,moduleResolution:Q.default.ModuleResolutionKind.NodeJs,module:Q.default.ModuleKind.CommonJS,noImplicitAny:!1,esModuleInterop:!0,noUnusedLocals:!1,noUnusedParameters:!1,jsx:Q.default.JsxEmit.React,jsxFactory:"React.createElement",jsxFragmentFactory:"React.Fragment",allowJs:!0,checkJs:!0,strict:!0,suppressImplicitAnyIndexErrors:!0,typeRoots:["node_modules/@types"],inlineSources:!0,inlineSourceMap:!0})}function Im(e){let t=e;for(;t;){if(Q.default.isImportDeclaration(t))return t;t=t.parent}}function Bm(e,t){return Q.default.isCallExpression(e)&&e.expression.getText(t).includes(Pm)}async function on(e){let t=["node_modules","dist","build","public"];return(await e.readdirRecursive(e.getAppRootDir(),t)).filter(r=>he(r))}function Hs(e){let t=e.match(/^Figma(\w+)Props$/);if(t&&typeof t[1]=="string")return t[1]}var Rm=async(e,t)=>{let n=new Map,r={};return t.forEach(i=>{let a=Js(i);if(!a)throw new Error("Invalid Figma URL, use Cmd+L while selecting a figma component to get a link to selection");let o=n.get(a.fileID);o||(o=[],n.set(a.fileID,o)),o.includes(a.nodeId)||o.push(a.nodeId),r[i]=`${a.fileID}/${a.nodeId}`}),await Promise.all(Array.from(n.entries()).map(async([i,a])=>{let o=await Gs(e,i,a.join(","),0);for(let s of a){let u=o[s],l=u.components[s]?.key??u.componentSets[s]?.key;if(!l)throw new Error(`Cannot resolve figma component key for ${s} in file ${i}`);let c=`${i}/${s}`;for(let p of t)r[p]===c&&(r[p]=l)}})),r};async function Ao(e,t,n,r=!1){try{return n||(n=await Zr(e)),await n.setPublicApiKey({publicApiKey:t}),r&&await n.ensureFigmaImportPage(),!0}catch(i){return bo.captureException(i),!1}}async function vo({figmaAuth:e,force:t,mappingFiles:n,print:r,sys:i}){if(!n.length)return{figmaBuilderLinks:[],foundErrors:!1};let a=[],o=await ee(i,n),s=o.getTypeChecker(),u=[...o.getSyntacticDiagnostics(),...o.getGlobalDiagnostics(),...o.getSemanticDiagnostics(),...o.getDeclarationDiagnostics()].filter(m=>!(m.category!==Q.default.DiagnosticCategory.Error||m.code===6133||m.code===6138||m.code===6196||m.code===6192||m.code===6198||m.code===6199||m.code===6205||m.code===1449||m.code===2578||m.code===2695||m.code===2322)),l=new Set,c=!1;for(let m of n)try{let C=o.getSourceFile(m);if(!C)throw new Error(`Could not find source file for ${m}`);let D=C?.fileName;if(D){let d=u.filter(f=>f.file?.fileName===D);if(d.length>0&&(c=!0,t!==!0)){J.error((0,Z.red)(`TypeScript errors in ${(0,Z.dim)(i.relative(i.getAppRootDir(),m))}:
|
|
1287
|
+
`)+d.map(f=>` \u2022 ${Nm(f)}`).join(`
|
|
1288
|
+
`));continue}}let g=await bm(i,C,s);if(a.push(...g),r){let d=!1,f=`${(0,Z.dim)(i.relative(i.getAppRootDir(),m))}:
|
|
1289
|
+
`+g.map(x=>{let E=!1;x.figmaKey?(E||(E=l.has(x.figmaKey)),l.add(x.figmaKey)):x.figmaUrl&&(E||(E=l.has(x.figmaUrl)),l.add(x.figmaUrl));let S="";switch(x.figmaKey){case"design-tokens":S=" "+(0,Z.cyan)("\u2747\uFE0E Design tokens mapper");break;case"*":S=" "+(0,Z.yellow)("\u25CF Generic mapper");break;default:S=` ${(0,Z.magenta)("\u2756 "+So(x.figmaName))} ${(0,Z.dim)("\u2192")} ${x.builderName==="-"?"-":"<"+x.builderName+">"}`;break}return E&&(d=!0,S=(0,Z.bgRed)(S+(0,Z.bold)(" <= duplicated"))),S}).join(`
|
|
1290
|
+
`);d?(c=!0,J.error(f)):J.info(f)}}catch(C){return bo.captureException(C),console.error(C),await Ut(1)}let p=a.filter(m=>m.figmaUrl&&!m.figmaKey).map(m=>m.figmaUrl);if(p.length>0){let m=await Rm(e,p);for(let C of a)if(C.figmaUrl&&!C.figmaKey){let D=m[C.figmaUrl];if(!D)throw new Error("bad internal state");C.figmaKey=D}}return{figmaBuilderLinks:a,foundErrors:c}}function Nm(e){let{messageText:t}=e;if(typeof t=="string")return t;let{next:n}=t,r=[t.messageText];return n&&r.push(n.map(i=>i.messageText).join(`
|
|
1187
1291
|
`)),r.join(`
|
|
1188
|
-
`)}var
|
|
1189
|
-
|
|
1292
|
+
`)}var eu=require("crypto");var To=I(require("node:process"),1);function Io(){let{env:e}=To.default,{TERM:t,TERM_PROGRAM:n}=e;return To.default.platform!=="win32"?t!=="linux":!!e.WT_SESSION||!!e.TERMINUS_SUBLIME||e.ConEmuTask==="{cmd::Cmder}"||n==="Terminus-Sublime"||n==="vscode"||t==="xterm-256color"||t==="alacritty"||t==="rxvt-unicode"||t==="rxvt-unicode-256color"||e.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var Bo=I(qe(),1),tt=I(Pr(),1),an=require("node:process"),lt=I(require("node:readline"),1),xr=I(qe(),1),Qs=()=>{let e=Ro?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],t=Ro?80:120,n,r,i=!1,a="",o="",s="",u=f=>{let x=f>1?"Something went wrong":"Canceled";i&&D(x,f)},l=(f,x)=>{console.error(x,f),u(2)},c=()=>u(1),p=()=>{process.on("uncaughtExceptionMonitor",l),process.on("unhandledRejection",l),process.on("SIGINT",c),process.on("SIGTERM",c),process.on("exit",u)},m=()=>{process.removeListener("uncaughtExceptionMonitor",l),process.removeListener("unhandledRejection",l),process.removeListener("SIGINT",c),process.removeListener("SIGTERM",c),process.removeListener("exit",u)},C=(f="")=>{i=!0,n=jm(),a=f.replace(/\.+$/,""),process.stdout.write(`${Bo.default.gray($m)}
|
|
1293
|
+
`);let x=0,E=0;p(),process.env.CI||(r=setInterval(()=>{let S=Bo.default.magenta(e[x]),A=".".repeat(Math.floor(E)).slice(0,3);process.stdout.write(tt.cursor.move(-999,-s.split(`
|
|
1294
|
+
`).length+1)),process.stdout.write(tt.erase.down(s.split(`
|
|
1295
|
+
`).length));let y=`${S} ${a}${A}${o}`;process.stdout.write(y),x=x+1<e.length?x+1:0,E=E<e.length?E+.125:0,s=y},t))},D=(f,x=0)=>{a=f??a,i=!1,clearInterval(r);let E=x===0?(0,xr.green)(Lm):x===1?(0,xr.red)(km):(0,xr.red)(Om);process.stdout.write(tt.cursor.move(-999,-s.split(`
|
|
1296
|
+
`).length+1)),process.stdout.write(tt.erase.down(s.split(`
|
|
1297
|
+
`).length)),process.stdout.write(`${E} ${a}
|
|
1298
|
+
`),s=a,m(),n()};return{start:C,stop:D,message:(f="")=>{a=f??a},extra:(f="")=>{o=f}}},Ro=Io(),sn=(e,t)=>Ro?e:t,$m=sn("\u2502","|"),km=sn("\u25A0","x"),Om=sn("\u25B2","x"),Lm=sn("\u25C7","o"),_m=globalThis.process.platform.startsWith("win");function jm({input:e=an.stdin,output:t=an.stdout,overwrite:n=!0,hideCursor:r=!0}={}){let i=lt.createInterface({input:e,output:t,prompt:"",tabSize:1});lt.emitKeypressEvents(e,i),e.isTTY&&e.setRawMode(!0);let a=(o,{name:s})=>{if(String(o)===""){r&&t.write(tt.cursor.show),process.exit(0);return}if(!n)return;lt.moveCursor(t,s==="return"?0:-1,s==="return"?-1:0,()=>{lt.clearLine(t,1,()=>{e.once("keypress",a)})})};return r&&t.write(tt.cursor.hide),e.once("keypress",a),()=>{e.off("keypress",a),r&&t.write(tt.cursor.show),e.isTTY&&!_m&&e.setRawMode(!1),i.terminal=!1,i.close()}}var Po=e=>!!(process.env.CI||e.ci),hr=async(e,t,n)=>{let r=Po(t)?{}:Um(e),i=r.spaceName,a=r.userId,o,s=process.env.BUILDER_PUBLIC_KEY??t.spaceId??r.builderPublicKey,u=process.env.BUILDER_PRIVATE_KEY??t.privateKey??r.builderPrivateKey,l=process.env.FIGMA_PERSONAL_TOKEN??t.figmaToken;if(l?o={access_token:l,oauth:!1}:o=r.figmaAuth,n.forceSpaceId&&s&&s!==n.forceSpaceId){J.warning(`CLI is currently logged in space ${(0,ct.yellow)(s)},
|
|
1299
|
+
however the command required --spaceId=${(0,ct.green)(n.forceSpaceId)}`);let c=t.yes||await Xt({message:"Do you wanna switch spaces?",active:"Yes",inactive:`Stay in current ${i} space`});if(Dt(c)||!c)throw Zt(`Aborting. Another way to fix this conflict is making sure the figma plugin is logged in "${i}" instead.`),new Error("Exiting");s=n.forceSpaceId,u=void 0,i=void 0,a=void 0}if(Po(t)){if(!o&&n.figmaAuth)throw new Error(`No Figma personal token found.
|
|
1190
1300
|
Please set the FIGMA_PERSONAL_TOKEN environment variable.`);if(!u&&n.builderPrivateKey)throw new Error(`No Builder private key found.
|
|
1191
1301
|
Please set the BUILDER_PRIVATE_KEY environment variable.`);if(!s&&n.builderPublicKey)throw new Error(`No Builder public key found.
|
|
1192
|
-
Please set the BUILDER_PUBLIC_KEY environment variable.`);return{figmaAuth:o,builderPublicKey:s,builderPrivateKey:u}}if((n.force||!o&&n.figmaAuth)&&(o=await
|
|
1302
|
+
Please set the BUILDER_PUBLIC_KEY environment variable.`);return{figmaAuth:o,builderPublicKey:s,builderPrivateKey:u}}if((n.force||!o&&n.figmaAuth)&&(o=await Km(),Ys(e,{figmaAuth:o})),n.force||!u&&n.builderPrivateKey||!s&&n.builderPublicKey){let{privateKey:c,spaceId:p,spaceName:m,userId:C}=await Vm(e,n.forceSpaceId);if(n.forceSpaceId&&p!==n.forceSpaceId)throw new Error(`OAuth flow returned space ${(0,ct.yellow)(p)}, however the command required --spaceId=${(0,ct.green)(n.forceSpaceId)}`);s=p,u=c,i=m,a=C,await Os(a),await Ao(e,p,void 0,!1),Ys(e,{builderPublicKey:s,builderPrivateKey:u,spaceName:i,userId:a})}return a&&rt.setUser({id:a,username:process.env.USER||process.env.USERNAME||"unknown"}),(i||s)&&rt.setContext("builder",{spaceId:s,spaceName:i}),{figmaAuth:o,builderPublicKey:s,builderPrivateKey:u,spaceName:i,userId:a}},Mm="RHr2ed743waC2g2ZHMEJSn6O0NQ08L";async function Km(){let e=(0,eu.randomUUID)();return tu({name:"Figma",port:5283,requestListener:async(t,n,r,i,a)=>{let o=new URL(n.url||"",`http://localhost:${t}`);if(o.pathname==="/figma-connect"){let s=o.searchParams.get("code"),u=o.searchParams.get("state");if(s&&e===u){let l=await St("https://www.figma.com/api/oauth/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({client_id:"nrGCqw6TLl95QJhVDi097A",client_secret:Mm,redirect_uri:"http://localhost:5283/figma-connect",code:s,grant_type:"authorization_code"}).toString()});l.ok||a(new Error("Failed to get figma access token"));let c=await l.json();r.end(`<!DOCTYPE html>
|
|
1193
1303
|
<html lang="en" dir="ltr">
|
|
1194
1304
|
<head>
|
|
1195
1305
|
<meta charset="utf-8" />
|
|
@@ -1298,7 +1408,7 @@ Please set the BUILDER_PUBLIC_KEY environment variable.`);return{figmaAuth:o,bui
|
|
|
1298
1408
|
<!--SCRIPT_PLACEHOLDER-->
|
|
1299
1409
|
</body>
|
|
1300
1410
|
</html>
|
|
1301
|
-
`.replace("{{MESSAGE}}","The CLI has authenticated correctly with Figma"),()=>{
|
|
1411
|
+
`.replace("{{MESSAGE}}","The CLI has authenticated correctly with Figma"),()=>{i({...c,oauth:!0})})}}},onListen:t=>{let n=new URL("https://www.figma.com/oauth");return n.searchParams.set("client_id","nrGCqw6TLl95QJhVDi097A"),n.searchParams.set("redirect_uri",`http://localhost:${t}/figma-connect`),n.searchParams.set("scope","files:read,file_dev_resources:read,file_variables:read"),n.searchParams.set("state",e),n.searchParams.set("response_type","code"),n.href}})}async function Vm(e,t){let n=await e.getDeviceId();return tu({name:"Builder.io",port:5284,requestListener:async(r,i,a,o)=>{let s=new URL(i.url||"",`http://localhost:${r}`);s.pathname===mt&&a.end(`<!DOCTYPE html>
|
|
1302
1412
|
<html lang="en" dir="ltr">
|
|
1303
1413
|
<head>
|
|
1304
1414
|
<meta charset="utf-8" />
|
|
@@ -1407,4 +1517,5 @@ Please set the BUILDER_PUBLIC_KEY environment variable.`);return{figmaAuth:o,bui
|
|
|
1407
1517
|
<!--SCRIPT_PLACEHOLDER-->
|
|
1408
1518
|
</body>
|
|
1409
1519
|
</html>
|
|
1410
|
-
`.replace("{{MESSAGE}}","The CLI has authenticated correctly with Builder.io"),()=>{
|
|
1520
|
+
`.replace("{{MESSAGE}}","The CLI has authenticated correctly with Builder.io"),()=>{o({privateKey:s.searchParams.get("p-key")||"",spaceId:s.searchParams.get("api-key")||"",spaceName:s.searchParams.get("org-name")||"",userId:s.searchParams.get("user-id")||""})})},onListen:r=>{let i=new URL("/cli-auth","https://builder.io");i.searchParams.set("client_id","builder-dev-tools-cli"),i.searchParams.set("host",n),i.searchParams.set("response_type","code"),i.searchParams.set("cli","true"),t&&i.searchParams.set("space_id",t);let a=new URL(mt,`http://localhost:${r}`);a.searchParams.set(yr,(0,Zs.platform)()),a.searchParams.set(Sr,process.versions.node);let o=e.getFrameworks();return o.length>0&&(i.searchParams.set(At,o[0].name),a.searchParams.set(At,o[0].name)),i.searchParams.set("redirect_url",a.href),i.href}})}function Ys(e,t){let n=e.getAppRootDir(),r=(0,un.join)(n,"node_modules",".builder"),i=(0,un.join)(r,"data.json");if((0,ze.existsSync)(i))try{let a=(0,ze.readFileSync)(i,"utf8"),o=JSON.parse(a);t=Object.assign(o.credentials,t)}catch(a){rt.captureException(a),console.error("Failed to store credentials",a)}else(0,ze.mkdirSync)(r,{recursive:!0});(0,ze.writeFileSync)(i,JSON.stringify({credentials:t},null,2))}function Um(e){let t=e.getAppRootDir(),n=(0,un.join)(t,"node_modules",".builder","data.json");if((0,ze.existsSync)(n))try{let r=(0,ze.readFileSync)(n,"utf8");return JSON.parse(r).credentials}catch(r){rt.captureException(r),console.error("Failed to load credentials",r)}return{}}async function tu(e){let{default:t}=await import("open"),n,r,i,a=new Promise((l,c)=>{n=l,r=c}),o=(0,Xs.createServer)((l,c)=>e.requestListener(e.port,l,c,n,r)),s=()=>{u(),o&&("closeAllConnections"in o&&o.closeAllConnections(),o.close(l=>{l&&(rt.captureException(l),console.error(l))}))};process.on("uncaughtExceptionMonitor",s),process.on("unhandledRejection",s),process.on("SIGINT",s),process.on("SIGTERM",s),process.on("exit",s);let u=()=>{process.removeListener("uncaughtExceptionMonitor",s),process.removeListener("unhandledRejection",s),process.removeListener("SIGINT",s),process.removeListener("SIGTERM",s),process.removeListener("exit",s)};try{o.listen(e.port,()=>{let c=e.onListen(e.port);J.warn(`Required authenticating with ${e.name}
|
|
1521
|
+
OPEN: ${(0,ct.dim)(c)}`),i=Qs(),i.start(`Waiting for ${e.name} authentication`),t(c,{wait:!1})});let l=await a;return i&&i.stop(`Authenticated with ${e.name} successfully`),l}catch(l){throw i&&(i.stop(`Failed to authenticate with ${e.name}.`,-1),yo("auth")),console.error(l),rt.captureException(l),s(),l}finally{s()}}async function nu(e,t,n,r){try{if(!e)return qt(n,r,400,"Builder context closed");let i=Gm(n);if(i.pathname===pn){if(n.method==="POST"){let a=await Jm(n);if(a)try{let o=await li(e,JSON.parse(a));return ru(n,r,200,o)}catch(o){e.debug("Dev API Error",o.stack||o.message||o);let s={errors:[String(o.message||o)]};return ru(n,r,500,s)}}else if(n.method==="OPTIONS"){let a={"Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Cache-Control, X-Builder-Devtools-Version"},o=n.headers.origin;o&&o!=="null"?ou(new URL(o))&&(a["Access-Control-Allow-Origin"]=o):a["Access-Control-Allow-Origin"]="*",r.writeHead(200,a),r.end();return}return qt(n,r,405,`${pn} is an API endpoint used only during development by the Builder.io Devtools client-side script`)}if(i.pathname===mn)return zm(n,r,200,await ci(e));if(i.pathname===ko){let a=i.searchParams.get(cn);return a?Wm(r,302,await di(e,a)):qt(n,r,400,`Missing ${cn} querystring`)}if(i.pathname===mt)return qm(n,r,200,await pi(e));if(i.pathname===Oo){let{figmaAuth:a}=await hr(e,{_:[]},{figmaAuth:!0}),o=await on(e),{figmaBuilderLinks:s,foundErrors:u}=await vo({figmaAuth:a,force:!0,mappingFiles:o,sys:e,print:!1});return Er(n,r,200,"application/json",JSON.stringify({figmaBuilderLinks:s,foundErrors:u,version:2,local:!0},null,2))}return i.pathname===ft?(e.debug(`Close Dev Tools Server Requested: ${i.href}`),setTimeout(()=>{try{t.close(a=>{e.debug(`Dev Tools Server Closed Error: ${a}`)})}catch(a){e.debug(`Error closing devtools server: ${a}`)}},20),qt(n,r,200,"Closing Dev Tools Server")):qt(n,r,404,"Not found")}catch(i){return console.error("Dev Server Error",i),qt(n,r,500,`Dev Server Error: ${i}`)}}function ru(e,t,n,r){Er(e,t,n,"application/json",JSON.stringify(r))}function zm(e,t,n,r){Er(e,t,n,"application/javascript",r)}function qm(e,t,n,r){Er(e,t,n,"text/html",r)}function qt(e,t,n,r){Er(e,t,n,"text/plain",r)}function Er(e,t,n,r,i){let a={"Content-Type":`${r}; charset=utf-8`,"Cache-Control":"no-cache, no-store, must-revalidate","X-Builder-Devtools-Version":"1.5.8"},o=e.headers.origin;o&&o!=="null"?ou(new URL(o))&&(a["Access-Control-Allow-Origin"]=o):a["Access-Control-Allow-Origin"]="*",t.writeHead(n,a),t.end(i)}function ou(e){return e.hostname==="localhost"||e.origin==="https://builder.io"||e.origin==="https://www.builder.io"||e.origin.endsWith(".builder.io")?!0:e.port===""?!1:e.port!=="80"&&e.port!=="443"}function Wm(e,t,n){e.writeHead(t,{Location:n}),e.end()}async function Jm(e){let t="";for await(let n of e)t+=n;return t}function Gm(e){let t=e.url||"/";return new URL(t,`http://${e.headers.host}`)}async function iu(e){if(globalThis.__builderDevToolsServer)return e.debug("reusing existing devtools server"),globalThis.__builderDevToolsServer.setContext(e),globalThis.__builderDevToolsServer;let t=await Hm(e),n=(0,ln.createServer)((i,a)=>{nu(e,n,i,a)}),r=()=>new Promise((i,a)=>{n.listening?(e.debug(`closing devtools server on port ${t}`),n.close(o=>{e=null,o?(e.debug(`error closing devtools server on port ${t}`),a(o)):(e&&e.debug(`closed devtools server on port ${t}`),i())})):(e.debug(`devtools server on port ${t} not listening`),i())});return process.once("SIGTERM",r),process.once("SIGINT",r),process.env.CI!=="true"&&process.stdin.on("end",r),globalThis.__builderDevToolsServer={url:new URL(`http://localhost:${t}`).href,port:t,setContext:i=>{e.debug(`set devtools context on server ${t}`),e=i},close:async()=>{globalThis.__builderDevToolsServer=null,await r()}},new Promise(i=>{n.listen(t,()=>{e.debug(`started devtools server on port ${t}`),i(globalThis.__builderDevToolsServer)})})}function Hm(e){return new Promise(t=>{let n=e.port;try{(0,ln.request)({hostname:"localhost",port:n,path:ft,method:"GET"},i=>{i.on("end",()=>{e.debug(`${ft} - Response ended`),t(n)})}).on("error",i=>{e.debug(`${ft} - No response ${i}`),t(n)}).end()}catch(r){e.debug(`${ft} - Error ${r}`),t(n)}})}async function au(e){let t={getPastSyncInfo:()=>null,resyncSnippet:()=>null,...e,devToolsServerUrl:"",isValid:!1,publicApiKey:"",serverShouldRestart:!1,port:e.port||5273,ignoreMissingConfig:!1},n=e.getFrameworks().map(a=>a.name).join(", ");t.debug(`create devtools ${No} [${n}]`);let r=await iu(t);return t.devToolsServerUrl=r.url,t.port=r.port,{getUrl:()=>t.devToolsServerUrl}}var No="1.5.8";0&&(module.exports={createDevToolsServer,version});
|