@next-bricks/vs 0.5.12 → 0.5.13

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.
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/2383.d35b5923.js","mappings":"sQAKM,OAAEA,EAAM,SAAEC,IAAaC,EAAAA,EAAAA,oBAAmBC,EAyC7CF,EAAS,CACRG,WAAW,IACXC,EAKDJ,EAAS,CACRG,WAAW,IACXE,EAKDN,IAAQO,EAKRP,IAAQ,IAAAQ,EAAA,IAAAC,QAAAC,EAAA,IAAAD,QAAAE,EAAA,IAAAF,QAAAG,EAAA,IAAAH,QAAAI,EAAA,IAAAJ,QAAAK,EAAA,IAAAL,QAAAM,EAAA,IAAAN,QAAAO,EAAA,IAAAP,QA1DJ,MAAeQ,UAA4BC,EAAAA,iBAAiBC,cAAA,SAAAC,YAAAC,EAAAA,EAAAA,GAAA,KAAAP,EAAA,CAAAQ,IAAAC,EAAAC,IAAAC,KAAAJ,EAAAA,EAAAA,GAAA,KAAAT,EAAA,CAAAU,IAAAI,EAAAF,IAAAG,KAAAN,EAAAA,EAAAA,GAAA,KAAAX,EAAA,CAAAY,IAAAM,EAAAJ,IAAAK,KAAAR,EAAAA,EAAAA,GAAA,KAAAb,EAAA,CAAAsB,UAAA,EAAAC,OAC1C,KAAKV,EAAAA,EAAAA,GAAA,KAAAV,EAAA,CAAAmB,UAAA,EAAAC,MACP,YAAQV,EAAAA,EAAAA,GAAA,KAAAR,EAAA,CAAAiB,UAAA,EAAAC,OACJ,KAAKV,EAAAA,EAAAA,GAAA,KAAAN,EAAA,CAAAe,UAAA,EAAAC,OAAAC,EAAA,MAAAC,EAAA,UAAAZ,EAAAA,EAAAA,GAAA,KAAAL,EAAA,CAAAc,UAAA,EAAAC,MAAAG,EAAA,QAE1BC,wBACF,OAAO,CACT,CAEIC,kBAAcL,IAChBM,EAAAA,EAAAA,GAAAC,KAAI1B,EAAamB,GACjBO,KAAKC,SACP,CACIH,oBACF,OAAAI,EAAAA,EAAAA,GAAOF,KAAI1B,EACb,CAOI6B,cAAUV,GACZO,KAAKI,OAASX,GACdM,EAAAA,EAAAA,GAAAC,KAAI5B,EAAeqB,GACnBO,KAAKC,SACP,CACIE,gBACF,OAAAD,EAAAA,EAAAA,GAAOF,KAAI5B,EACb,CAEIiC,oBACF,OAAAH,EAAAA,EAAAA,GAAOF,KAAIxB,EACb,CACI6B,kBAAcZ,IAChBM,EAAAA,EAAAA,GAAAC,KAAIxB,EAAiBiB,GACrBO,KAAKC,SACP,CAKSK,gBAAS,OAAAJ,EAAAA,EAAAA,GAAA,KAAAzB,EAAA,CAAT6B,cAASC,IAAAR,EAAAA,EAAAA,GAAA,KAAAtB,EAAA8B,EAAA,CAOTC,iBAAU,OAAAN,EAAAA,EAAAA,GAAA,KAAAxB,EAAA,CAAV8B,eAAUD,IAAAR,EAAAA,EAAAA,GAAA,KAAArB,EAAA6B,EAAA,CAKnBE,aAAahB,GACXO,KAAKG,UAAYV,CACnB,CAGAiB,iBAGE,IADA,IAAIC,EAA+BX,MAC3BW,EAAUA,EAAQC,aACnBD,IAAWA,EAAQE,gBAI1B,OAAOF,CACT,EApEuC,SAAArB,IAAA,OAAAY,EAAAA,EAAAA,GAAA,KAAAhC,EAAA,UAAAqB,EAAAgB,IAAAR,EAAAA,EAAAA,GAAA,KAAA7B,EAAAqC,EAAA,UAAAnB,IAAA,OAAAc,EAAAA,EAAAA,GAAA,KAAA7B,EAAA,UAAAgB,EAAAkB,IAAAR,EAAAA,EAAAA,GAAA,KAAA1B,EAAAkC,EAAA,UAAAtB,IAAA,OAAAiB,EAAAA,EAAAA,GAAA,KAAA3B,EAAA,UAAAY,EAAAoB,IAAAR,EAAAA,EAAAA,GAAA,KAAAxB,EAAAgC,EAAA,CAqExCO,EArEqBnC,GAAmBgB,EAAAC,EAAAF,IAAAqB,EAAAA,EAAAA,GAAAD,EAAA,EAAAjD,EAAA,gBAAAE,EAAA,iBAAAC,EAAA,mBAAAC,EAAA,iCAASW,EAAAA,kBAAgBoC,E,qGCNjCC,EAAA,IAAA9C,QAAA+C,EAAA,IAAA/C,QAAAgD,EAAA,IAAAhD,Q,aCApBiD,EAAqB,GACrBC,EAAwB,GACxBC,EAA0B,G,YCH1BC,GAAmB,CAC9B,MACA,QACA,OACA,QACA,QACA,MACA,SACA,OACA,iBACA,OACA,gBACA,QACA,OACA,SACA,OACA,aACA,QACA,cACA,kBACA,MACA,MACA,WACA,MACA,KACA,OACA,YACA,cACA,SAGWC,GAAoB,CAC/B,SACA,YACA,aACA,SACA,SACA,WACA,UACA,QACA,SACA,cACA,cACA,WACA,OACA,KACA,QAGWC,GAAQ,CACnBC,IAAK,EACLC,KAAM,EACNC,KAAM,EACNC,MAAO,GChDHC,GAAWA,CACfC,EACAC,EACAC,KAOA,IALA,IAAMC,EAAyB,GACzBC,EAAoB,GACtBC,EAAY,GACZC,EAAIJ,EACJK,EAAcN,EAAMM,YACjBD,EAAI,GAAG,CACZ,IAMME,EANiBR,EAAMS,gBAAgB,CAC3CC,gBAAiBJ,EACjBK,cAAeL,EACfC,YAAa,EACbK,UAAWC,MAEoBC,MAAM,wBACvC,GAAIN,EAAW,CACb,IAAOO,EAAGC,EAAWC,GAAOT,EACxBQ,EAAUE,SAAWjB,EAAMM,YAAc,GAC3CJ,EAAagB,QAAQF,GAEnBD,EAAUE,OAASX,EAAc,KAClCF,IAAcA,EAAYY,GAC3BV,EAAcS,EAAUE,OACxBd,EAAQe,QAAQF,GAEpB,CACAX,GACF,CACA,MAAO,CACLH,eACAC,UACAC,YACD,E,sJC7BCe,GAAU,CAAC,EAEfA,GAAQC,kBAAoB,KAC5BD,GAAQE,cAAgB,KAElBF,GAAQG,OAAS,UAAc,KAAM,QAE3CH,GAAQI,OAAS,KACjBJ,GAAQK,mBAAqB,KAEhB,KAAI,KAASL,IAKJ,MAAW,KAAQM,QAAS,KAAQA,O,gKCO1DC,EAAAA,EAAAA,IAAmBC,IACnBC,EAAAA,EAAAA,IAAmBD,IACnBE,EAAAA,EAAAA,IAAaF,EAAQ,oBACrBG,EAAAA,EAAAA,IAAaH,GAEb,IAE2EI,IAFrE,cAAEC,GAAerG,SAAQ,GAAEsG,MAAKA,KAAKrG,EAAAA,EAAAA,oBAErCsG,IAAkBC,EAAAA,EAAAA,WAAmC,gBAAgBtG,GAuC1EmG,GAAc,iBAAkB,CAI/BI,eAAe,IACfrG,GAECJ,KAAUK,GAGVL,KAAUM,GAGVN,GAAS,CAAEG,WAAW,IAAQuG,GAM9B1G,KAAU2G,GASV3G,KAAU4G,GAEV5G,GAAS,CACR6G,KAAMC,UACNC,GAGD/G,GAAS,CACR6G,KAAMC,UACNE,GAGDhH,KAAUiH,GAUVjH,GAAS,CAAE6G,KAAMK,SAASC,GAG1BnH,GAAS,CACRG,WAAW,IACXiH,GAGDpH,GAAS,CACRG,WAAW,IACXkH,GAWDrH,GAAS,CAAEG,WAAW,IAAQmH,GAG9BtH,GAAS,CAAEG,WAAW,IAAQoH,GAM9BvH,GAAS,CAAE6G,KAAMK,SAASM,GAG1BxH,GAAS,CAAEG,WAAW,IAAQsH,GAG9BzH,KAAU0H,GAGVpB,GAAM,CAAEO,KAAM,gBAAgBc,GAG9BrB,GAAM,CAAEO,KAAM,eAAee,GAW7BtB,GAAM,CAAEO,KAAM,gBAAgB,IAAAtG,GAAA,IAAAC,QAAAE,GAAA,IAAAF,QAAAI,GAAA,IAAAJ,QAAAM,GAAA,IAAAN,QAAAO,GAAA,IAAAP,QAAAqH,GAAA,IAAArH,QAAAsH,GAAA,IAAAtH,QAAAuH,GAAA,IAAAvH,QAAAwH,GAAA,IAAAxH,QAAAyH,GAAA,IAAAzH,QAAA0H,GAAA,IAAA1H,QAAA2H,GAAA,IAAA3H,QAAA4H,GAAA,IAAA5H,QAAA6H,GAAA,IAAA7H,QAAA8H,GAAA,IAAA9H,QAAA+H,GAAA,IAAA/H,QAAAgI,GAAA,IAAAhI,QAAAiI,GAAA,IAAAjI,QAAAkI,GAAA,IAAAlI,QAAAmI,GAAA,IAAAnI,QAAAoI,GAAA,IAAApI,QAAAqI,GAAA,IAAArI,QAAAsI,GAAA,IAAAtI,QAAAuI,GAAA,IAAAvI,QAAAwI,GAAA,IAAAxI,QAuDhC,SAAAyI,GAAArG,GAAAsG,GAAA,KAAAtG,EAAA,UAAAuG,KAAA,OAAAC,GAAA,eAAAC,GAAAzG,GAAA0G,GAAA,KAAA1G,EAAA,UAAA2G,KAAA,OAAAC,GAAA,eAAAC,GAAA7G,GAAA8G,GAAA,KAAA9G,EAAA,UAAA+G,KAAA,OAAAC,GAAA,MAEM,SAASC,GAAmBC,GAmBhC,IAlBDhI,MAAOiI,EACPC,SAAUC,EACVC,MAAOC,EACPC,SAAUC,EACVC,SAAUC,EACVC,OAAQC,EAAO,gBACfC,EAAe,WACfC,EAAU,mBACVC,EAAkB,QAClBC,EAAO,SACPC,EAAQ,MACRC,EAAK,cACL5I,EAAa,SACb6I,EAAQ,iBACRC,GAIDnB,EACOhI,EAAQiI,QAAAA,EAAU,GAClBC,EAAWC,QAAAA,EAAa,YACxBC,EAAQC,QAAAA,EAAU,OAClBC,EAAWC,QAAAA,EAAa,EACxBC,EAAWC,QAAAA,EAAatF,IACxBuF,EAASC,QAAAA,EAAW,IAEpBS,GAAeC,EAAAA,EAAAA,QAAuB,MACtCC,GACJD,EAAAA,EAAAA,UACIE,GAAYF,EAAAA,EAAAA,UACZG,GAAOH,EAAAA,EAAAA,QAAiC,CAC5CI,MAAO,IACPf,OAAQgB,GAAuB1J,EAAOsI,EAAUE,MAE3CmB,EAAcC,IAAmBC,EAAAA,EAAAA,YAElCC,GAAqBT,EAAAA,EAAAA,QAAOT,GAC5BmB,GAAcC,EAAAA,EAAAA,oBAEpBC,EAAAA,EAAAA,YAAU,KAGR/F,EAAAA,OAAcgG,SACF,SAAV9B,EACoB,SAAhB2B,GAA0C,YAAhBA,EACxB,UACA,KACF3B,EACL,GACA,CAAC2B,EAAa3B,KAEjB6B,EAAAA,EAAAA,YAAU,KACR,GAAIV,EAAUY,QAAS,CACrB,IAAMC,EAAeb,EAAUY,QAAQE,WACvCnG,EAAAA,OAAcoG,iBAAiBF,EAAclC,IACxCqC,EAAAA,EAAAA,SAAQH,EAAaI,WAAYxK,IACpCoK,EAAaK,SAASzK,EAE1B,IACC,CAACA,EAAOkI,KAEX+B,EAAAA,EAAAA,YAAU,KACR,GAAiB,oBAAb/B,EAAgC,CAClC,IAAMwC,EF3LuCC,EACjD9B,EACAC,IAKO,CACLxG,EACAsI,EACAC,EACAC,KAEA,IAAMC,EAAOzI,EAAM0I,qBAAqBJ,IAChCG,KAAME,EAAYC,MAAOC,GAvFfC,EACpB9I,EACAsI,KAIG,IAAAS,EACGN,EAAOzI,EAAM0I,qBAAqBJ,GAClCO,EAAc7I,EAAMS,gBAAgB,CACxCC,gBAAiB4H,EAASU,WAC1BrI,cAAe2H,EAASU,WACxBzI,YAAa+H,EAASW,OAASR,EAAKA,KAAKvH,OAAS,EAClDN,UAAW0H,EAASW,OAASR,EAAKA,KAAKvH,SAEnCyH,EAAa3I,EAAMkJ,mBAAiBC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACvCb,GAAQ,IACXW,OAAQX,EAASW,QAASR,SAAU,QAANM,EAAJN,EAAMA,YAAI,IAAAM,OAAA,EAAVA,EAAY7H,QAAS,KAEjD,MAAO,CACLuH,KAAME,aAAU,EAAVA,EAAYF,KAClBG,MAAOC,EACR,EAkEkDC,CAC/C9I,EACAsI,GAEIc,EAAcpJ,EAAMS,gBAAgB,CACxCC,gBAAiB4H,EAASU,WAC1BrI,cAAe2H,EAASU,WACxBzI,YAAa,EACbK,UAAWC,MAEPZ,EAAQ,CACZS,gBAAiB4H,EAASU,WAC1BrI,cAAe2H,EAASU,WACxBzI,YAAakI,EAAKlI,YAClBK,UAAW6H,EAAK7H,WAGZyI,EAA4C,IAArBZ,EAAKlI,aAC5B,aAAEJ,GAAiBJ,GAASC,EAAOyI,EAAMzI,EAAMsJ,gBAErD,GAAiC,MAA7Bf,EAAQgB,iBAOV,MAAwB,MANPvJ,EAAMS,gBAAgB,CACrCC,gBAAiB4H,EAASU,WAC1BrI,cAAe2H,EAASU,WACxBzI,YAAa+H,EAASW,OAAS,EAC/BrI,UAAW0H,EAASW,OAAS,IAElBO,OACJ,CACLC,YAAa,IAGV,CACLA,YAAa,CACX,CACEC,MAAO,QACPC,OAAQ,eACRC,KAAMhI,EAAAA,UAAiBiI,mBAAmBC,MAC1CC,WAAY,YACZC,gBACEpI,EAAAA,UAAiBqI,6BAA6BC,gBAChDjK,MAAOA,GAET,CACEyJ,MAAO,SACPC,OAAQ,qBACRC,KAAMhI,EAAAA,UAAiBiI,mBAAmBC,MAC1CC,WAAY,aACZC,gBACEpI,EAAAA,UAAiBqI,6BAA6BC,gBAChDjK,MAAOA,KAMf,GAAIoJ,EACF,MAAO,CACLI,aAAclD,QAAAA,EAAc,IACzB4D,QAAQC,IAAUjK,EAAakK,SAASD,EAAKV,SAC7CY,KAAKF,IAAIjB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACLiB,GAAI,IACPV,MAAOU,EAAKV,MACZK,WAAYK,EAAKL,YAAeK,EAAKV,MACrCE,KAAMhI,EAAAA,UAAiBiI,mBAAmBU,QAC1CtK,aAKR,GAC+B,MAA7BsI,EAAQgB,kBACsB,MAA7BhB,EAAQgB,kBACPZ,IACC,CAAC,MAAO,QAAS,MAAM0B,SAAS1B,GACnC,CACiE,IAAAjD,EAAA8E,EAAjE,GAAmB,WAAf7B,GAAwD,MAA7BJ,EAAQgB,iBAKrC,MAAO,CACLE,YAAoD,QAAzC/D,EAAW,QAAX8E,GALGvN,EAAAA,EAAAA,KACdwN,GACA,sEAGsB,IAAAD,EAAAA,EAA4B,UAAE,IAAA9E,OAAA,EAAvCA,EAA0C4E,KACpDF,IAAI,CACHV,MAAO,IAAFgB,OAAMN,GACXT,OAAQ,eACRC,KAAMhI,EAAAA,UAAiBiI,mBAAmBU,QAC1CR,WAAY,IAAFW,OAAMN,GAChBnK,aAKR,IAEI0K,EAWFC,EAbIC,EAAkBrE,aAAkB,EAAlBA,EAAqBmC,GACzCmC,EAAwB,GAQ5B,GANID,IAAoBE,MAAMC,QAAQH,IACpCF,EAAOE,EAAgBtE,WACvBuE,EAAwBD,EAAgBtB,kBAExCoB,EAAOE,EAGPC,EACIvC,EAAQgB,mBAAqBuB,GAAyBH,EACtDA,EAEJ,MAAO,CACLlB,aAAkB,QAALmB,EAACD,SAAI,IAAAC,EAAAA,EAAI,IAAIN,KAAKF,IAC7B,IAAMV,EACsB,MAA1BoB,EAA6B,IAAAJ,OACrBN,EAAKV,OACRU,EAAKV,MACZ,OAAAP,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACKiB,GAAI,IACPV,MAAOA,EACPE,KAAMhI,EAAAA,UAAiBiI,mBAAmBC,MAC1CC,WAAYK,EAAKL,YAAcL,EAC/BzJ,SAAK,IAKf,CAEA,GA5L4BgL,EAC9BjL,EACAsI,KAEA,IAAMG,EAAOzI,EAAM0I,qBAAqBJ,GAClC4C,EAAyBlL,EAAMmL,kBACnC,KACA7C,GACA,GACA,EACA,MACA,GAEI8C,EAAyBpL,EAAMqL,cACnC,KACA/C,GACA,GACA,EACA,MACA,GAQF,IALE4C,aAAsB,EAAtBA,EAAwBjL,MAAMS,mBAC9B0K,aAAsB,EAAtBA,EAAwBnL,MAAMS,kBAC9BwK,EAAuBjL,MAAMS,iBAAmB4H,EAASU,YACzDoC,EAAuBnL,MAAMU,eAAiB2H,EAASU,WAEnC,CACpB,IAAQ3I,UAAWiL,GAAoBvL,GACrCC,EACAkL,EAAuBjL,MACvBiL,aAAsB,EAAtBA,EAAwBjL,MAAMS,kBAExBL,UAAWkL,GAAoBxL,GACrCC,EACAoL,EAAuBnL,MACvBmL,aAAsB,EAAtBA,EAAwBnL,MAAMS,kBAE1B,QAAEN,GAAYL,GAASC,EAAOyI,EAAMH,EAASU,YACnD,GACEsC,IAAoBC,GACpBnL,EAAQiK,SAASiB,GAEjB,OAAO,CAEX,CACA,OAAO,CAAK,EA8INL,CAAiBjL,EAAOsI,GAAW,CAKnC,IAAAkD,EAAAC,EAiBAC,EAAAC,EArBF,GACEhD,GACA,CAAC,MAAO,SAAS0B,SAAS1B,IAC1BnC,EAEA,MAAO,CACLiD,aAAwD,QAA3C+B,EAA+B,QAA/BC,EAACjF,EAAmBmC,UAAW,IAAA8C,OAAA,EAA9BA,EAAgClF,kBAAU,IAAAiF,EAAAA,EAAI,IAAIlB,KAC7DF,IAAI,CACHV,MAAOU,EAAKV,MACZK,WAAYK,EAAKV,MACjBE,KAAMhI,EAAAA,UAAiBiI,mBAAmBC,MAC1C7J,aAMR,GACiB,OAAf0I,GAC6B,MAA7BJ,EAAQgB,kBACR/C,EAEA,MAAO,CACLiD,aAAkD,QAArCiC,EAAyB,QAAzBC,EAACnF,EAAuB,UAAC,IAAAmF,OAAA,EAAxBA,EAA0BpF,kBAAU,IAAAmF,EAAAA,EAAI,IAAIpB,KACvDF,IAAI,CACHV,MAAOU,EAAKV,MACZK,WAAYK,EAAKV,MACjBE,KAAMhI,EAAAA,UAAiBiI,mBAAmBC,MAC1C7J,aAMR,GAAmB,QAAf0I,GAAqD,MAA7BJ,EAAQgB,iBAA0B,CAC5D,IAAMqC,GAAgB3O,EAAAA,EAAAA,KACpBwN,GACA,mCAEIhB,EAAc,GACpB,IAAK,IAAOoC,EAAGrN,KAAMsN,OAAOC,QAC1BH,GASAnC,EAAYuC,KAAK,CACftC,MAAOmC,EACPjC,KAAMhI,EAAAA,UAAiBiI,mBAAmBC,MAC1CmC,cAAezN,EAAE0N,YACjBvC,OAAQnL,EAAE2N,KAAO3N,EAAE2N,KAAKC,KAAK,KAAO5N,EAAEiE,KACtCsH,WAAY8B,EACZ5L,UAGJ,MAAO,CACLwJ,cAEJ,CAEA,MAAI,CAAC,IAAK,KAAKY,SAASxB,GACf,CACLY,YAAa,IAIV,CACLA,YAAajK,GAAiB8K,KAAKF,IAAI,CACrCV,MAAOU,EACPL,WAAYK,EACZR,KAAMhI,EAAAA,UAAiBiI,mBAAmBU,QAC1CtK,YAGN,CAEA,MAAI,cAAcoM,KAAKjD,GACd,CACLK,YAAahK,GACV6K,KAAKF,IAAI,CACRV,MAAOU,EACPL,WAAYK,EACZR,KAAMhI,EAAAA,UAAiBiI,mBAAmBU,QAC1CtK,YAEDkK,QAAQC,IAAUjK,EAAakK,SAASD,EAAKV,UAI7C,CACLD,YAAa,GACd,EEhDgCpB,CAC7B9B,EACAC,GAEI8F,EAAoB1K,EAAAA,UAAiB2K,+BACzC,kBACA,CACEnE,yBACAoE,kBAAmB,CAAC,IAAK,IAAK,OAGlC,MAAO,KACLF,EAAkBG,SAAS,CAE/B,IACC,CAAClG,EAAYC,EAAoBZ,IAEpC,IAAM8G,GAAYC,EAAAA,EAAAA,cAAY,KAC5B,IAAMrC,EAAM,ILrThB,MAKExN,eAAcE,EAAAA,EAAAA,GAAA,KAAAkC,EAAA,CAAAzB,UAAA,EAAAC,WAAA,KAAAV,EAAAA,EAAAA,GAAA,KAAAmC,EAAA,CAAA1B,UAAA,EAAAC,WAAA,KAAAV,EAAAA,EAAAA,GAAA,KAAAoC,EAAA,CAAA3B,UAAA,EAAAC,WAAA,KAAAkP,EAAAA,EAAAA,GAAA,kBA8DK,KACjBzO,EAAAA,EAAAA,GAAOF,KAAIiB,MA9DXlB,EAAAA,EAAAA,GAAAC,KAAIiB,EAAiB,KACrBlB,EAAAA,EAAAA,GAAAC,KAAIkB,EAAmB,IACvBnB,EAAAA,EAAAA,GAAAC,KAAImB,EAAmB,GACzB,CAEQyN,YAAY3K,EAAyB4K,GAC3C,GAAc,UAAV5K,EAAmB,CACrB,IAAM,KAAEhC,EAAI,SAAEoI,EAAQ,UAAEyE,EAAS,OAAEC,GAAWF,EACxCG,EAAUH,EAAMI,MAAMC,UAAUJ,EAAWzE,GACjD,GAAI2E,EAAQzD,UAAWrL,EAAAA,EAAAA,GAAAF,KAAImB,GAAiBoK,OAAQ,QACpDxL,EAAAA,EAAAA,GAAAC,KAAImB,EAAmB6N,GACvB,IAAIvM,EAAkBR,EAAO,EACzBS,EAAgBT,EAAO,EACvBK,EAAc+H,EAAWyE,EAAYC,EAAO9L,OAC5CN,EAAY0H,EAAWyE,EAAYD,EAAMM,WAC7C,GACoB,iBAAXJ,GACP,gBAAgBX,KAAKW,IACrB,WAAWX,KAAKW,GAChB,KAAAK,EACIC,EAASN,EACPO,EAAgC,QAAtBF,EAAGL,EAAOlM,MAAM,cAAM,IAAAuM,OAAA,EAAnBA,EAAqBnM,OACxC,GAAIqM,EAAY,CAEd,IADA,IAAIC,GAAarP,EAAAA,EAAAA,GAAGF,KAAIkB,GACfmB,GAACnC,EAAAA,EAAAA,GAAGF,KAAIkB,GAAkBmB,EAAIwM,EAAMI,MAAMhM,OAAQZ,IACzD,GAAuB,OAAnBwM,EAAMI,MAAM5M,GAAa,CAC3BkN,EAAgBlN,EAAI,EACpB,KACF,CAEF,IAAMmN,EAAqB,WAAWpB,KACpCS,EAAMI,MAAMC,WAAShP,EAAAA,EAAAA,GAACF,KAAIkB,GAAkBmJ,EAAW,IAEzDgF,EAASR,EAAMI,MAAMC,UAAUK,EAAelF,EAAW,GACzD5H,EACEoM,EAAM5M,KAAOqN,EAAa,EAAIzK,OAAO2K,GACvC9M,EAAgBT,EAChBK,EAAc,EACdK,EAAY,CACd,CACA,IAAMgI,EAAQ,CACZ0E,SACA5M,kBACAC,gBACAJ,cACAK,YACA8M,SAAU,CAAC,IAAK,KAAKrD,SACnByC,EAAMI,MAAMH,EAAYxM,EAAc,OAGzCpC,EAAAA,EAAAA,GAAAF,KAAIiB,GAAeyO,MAAMvD,IAASnC,EAAAA,EAAAA,SAAQmC,EAAMxB,OAC/CzK,EAAAA,EAAAA,GAAAF,KAAIiB,GAAe8M,KAAKpD,EAC5B,EACA5K,EAAAA,EAAAA,GAAAC,KAAIkB,EAAmBmJ,EACzB,CACF,CAEOsF,SACL,OAAO3P,KAAK4O,YAAYgB,KAAK5P,KAC/B,GKqPM6P,OAAaC,EACjB,GAAI9G,EAAUY,QAAS,CACrB,IAAM7H,EAAQiH,EAAUY,QAAQE,WAEhC,IAKE,GAJA+F,EAAaE,IAAAA,KAAUtQ,EAAO,CAC5BuQ,SAAU3D,EAAIsD,YAGXjH,GAASF,IAAYQ,EAAUY,QAAS,KAAAqG,EACrCC,EAGA,GAoFN,GAnFA7D,EAAI8D,YAAYC,SAASjE,IACvB,IAAM,gBAAE1J,EAAe,cAAEC,EAAa,YAAEJ,GAAgB6J,EAClDkE,EAAkC,GAClCtB,GAASuB,EAAAA,GAAAA,aAAYnE,EAAKkD,OAAQ,CACtCkB,MAAO,CACLC,YAAYC,GAEM,qBAAdA,EAAKjM,MACgB,eAArBiM,EAAKC,OAAOlM,MACZjD,GAAiB6K,SAASqE,EAAKC,OAAOC,OACf,eAAvBF,EAAK9S,SAAS6G,MAEd6L,EAAYtC,KAAK0C,EAErB,KAIJJ,EAAYD,SAASK,IACnB,IAAM,MAAEG,EAAK,IAAEC,EAAG,IAAEC,GAAQL,EAC5B,GAAItE,EAAK1J,kBAAoB0J,EAAKzJ,cAAe,KAAAqO,EAAAC,EAAAC,EAAAC,EAAAC,EACzCC,EAAU,SAAShD,KAAKW,EAAOsC,QACrCnB,EAAOnC,KAAK,CACVpD,MAAmB,QAAdoG,EAAGN,EAAKC,cAAM,IAAAK,OAAA,EAAZA,EAA6BJ,KACpChT,SAAW8S,EAAK9S,SAAwBgT,KACxClO,gBACE0J,EAAK1J,iBACJqO,SAAU,QAAPE,EAAHF,EAAKF,aAAK,IAAAI,OAAA,EAAVA,EAAY/O,MACb4C,OAAOuM,GACT1O,cACEyJ,EAAK1J,iBACJqO,SAAQ,QAALG,EAAHH,EAAKD,WAAG,IAAAI,OAAA,EAARA,EAAUhP,MACX4C,OAAOuM,GACT9O,aACG8O,GAA+B,KAApBN,aAAG,EAAHA,EAAKF,MAAM3O,MACnB8M,EAAOsC,OAAOpO,OACd,IACH6N,SAAU,QAAPI,EAAHJ,EAAKF,aAAK,IAAAM,OAAA,EAAVA,EAAYlG,QACb,EACFrI,WACGyO,GAA+B,KAApBN,aAAG,EAAHA,EAAKF,MAAM3O,MACnB8M,EAAOsC,OAAOpO,OACd,IACH6N,SAAQ,QAALK,EAAHL,EAAKD,WAAG,IAAAM,OAAA,EAARA,EAAUnG,QACX,GAEN,KAAO,KAAAsG,EAAAC,EAAAC,EACLtB,EAAOnC,KAAK,CACVpD,MAAmB,QAAd2G,EAAGb,EAAKC,cAAM,IAAAY,OAAA,EAAZA,EAA6BX,KACpChT,SAAW8S,EAAK9S,SAAwBgT,KACxClO,kBACAC,gBACAJ,YACEA,EACCsO,GACY,QADIW,EACjBxC,EAAOsC,cAAM,IAAAE,OAAA,EAAbA,EAAetO,QACf4B,QAAQsH,EAAKsD,UACf9M,UACEL,EACCuO,GACY,QADEW,EACfzC,EAAOsC,cAAM,IAAAG,OAAA,EAAbA,EAAevO,QACf4B,QAAQsH,EAAKsD,WAEnB,IACA,IAGyB,QAA7BQ,EAAAlH,EAAsBa,eAAO,IAAAqG,GAA7BA,EAA+B/Q,IAC7BgR,EACGhE,QAAQvB,GAAUjC,aAAK,EAALA,EAAO0D,SAASzB,EAAMA,SACxC0B,KAAK1B,IAAK,CACT3I,MAAO,IAAI2B,EAAAA,MACTgH,EAAMlI,gBACNkI,EAAMrI,YACNqI,EAAMjI,cACNiI,EAAMhI,WAERQ,QAAS,CACPsO,gBAAiB,kBAKrBjJ,EAAS,CACX,IAAMkJ,EAAexB,EAClB7D,KAAK1B,IAAU,IAAAgH,EAiBgCC,EAhBxCC,EAAiBrJ,EAAQkH,MAC5BvD,GAASA,EAAKxB,QAAUA,EAAMA,QAKjC,OAHoBkH,UAAAA,EAAgBC,SACX,QADiBH,EACtCE,EAAeC,cAAM,IAAAH,OAAA,EAArBA,EAAuBvF,SAASzB,EAAMhN,WAYtCkU,GAAkBA,EAAeE,SACnC7G,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,CACE8G,SAAUvQ,GAA2B,QAAtBmQ,EAACC,aAAc,EAAdA,EAAgBI,aAAK,IAAAL,EAAAA,EAAI,QACzCG,QAASF,EAAeE,SACpBF,EAAeK,KACf,CACEA,KAAM,CACJzS,MAAOoS,EAAeK,KAAKzS,MAC3B0S,OAAQxO,EAAAA,IAAWyO,MACjBP,EAAeK,KAAKC,UAI1B,CAAC,GAAC,IACN1P,gBAAiBkI,EAAMlI,gBACvBC,cAAeiI,EAAMjI,cACrBJ,YAAaqI,EAAMrI,YACnBK,UAAWgI,EAAMhI,iBAjBrB,EATS,CACLqP,SAAUvQ,GAAMG,KAChBmQ,QAAS,gBACTtP,gBAAiBkI,EAAMlI,gBACvBC,cAAeiI,EAAMjI,cACrBJ,YAAaqI,EAAMrI,YACnBK,UAAWgI,EAAMhI,UAsBrB,IAEDuJ,OAAOzH,SAEVd,EAAAA,OAAc0O,gBACZtQ,EACA,kBACA2P,EAEJ,CACF,CACF,CAAE,MAAO1Q,GAAG,IAAAsR,EACV3O,EAAAA,OAAc0O,gBAAgBtQ,EAAO,kBAAmB,IACxDgH,SAA8B,QAATuJ,EAArBvJ,EAAuBa,eAAO,IAAA0I,GAA9BA,EAAgCpT,IAAI,GACtC,CACF,CACA,OAAO2Q,CAAU,GAChB,CAACpQ,EAAOiJ,EAAOF,IA4OlB,OA1OA+J,EAAAA,EAAAA,kBAAgB,KAAM,IAAAC,EACpB,GAAmC,gBAA/BjJ,EAAmBK,SAA8Bf,EAAae,QAAlE,CAIAX,EAAKW,QAAQV,MAAQL,EAAae,QAAQ6I,wBAAwBvJ,MACjD,QAAjBsJ,EAAAxJ,EAAUY,eAAO,IAAA4I,GAAjBA,EAAmBE,OAAOzJ,EAAKW,SAE/B,IAAM+I,EAAW,IAAIC,gBAAgB9E,IACnC,IAAK,IAAM+E,KAAS/E,EAClB,GAAI+E,EAAMV,SAAWtJ,EAAae,QAAS,CACzC,IAGqCkJ,EAH/BC,EAAWF,EAAMG,eACnBH,EAAMG,eAAe,GAAGC,WACxBJ,EAAMK,YAAYhK,MAClB6J,IAAa9J,EAAKW,QAAQV,QAC5BD,EAAKW,QAAQV,MAAQ6J,EACJ,QAAjBD,EAAA9J,EAAUY,eAAO,IAAAkJ,GAAjBA,EAAmBJ,OAAOzJ,EAAKW,UAEjC,KACF,CACF,IAIF,OAFA+I,EAASQ,QAAQtK,EAAae,SAEvB,KACL+I,EAASS,YAAY,CAtBvB,CAuBC,GACA,KAEHb,EAAAA,EAAAA,kBAAgB,KACd,GAAmC,kBAA/BhJ,EAAmBK,QAAvB,CAIA,IAAMyJ,EAuPV,SAAyB1S,GAEvB,IADA,IAAI2S,EAAQ3S,EACL2S,GAAO,CACZ,IAAMC,EAAwC,mBAAhCD,EAAME,QAAQC,cAE5B,GADAH,EAAQA,EAAMI,cACVH,EACF,OAAOD,CAEX,CACF,CAhQsBK,CAAgB9K,EAAae,SAC/C,GAAKyJ,EAAL,CAIA,IAAMV,EAAW,IAAIC,gBAAe,KAClCvJ,EAAgBgK,EAAUO,aAAa,IAGzC,OADAjB,EAASQ,QAAQE,GACV,KACLV,EAASS,YAAY,CAPvB,CALA,CAaC,GACA,KAEH1J,EAAAA,EAAAA,YAAU,KAEyB,kBAA/BH,EAAmBK,SACY,gBAA/BL,EAAmBK,SAEnBP,EAAgBlB,EAClB,GACC,CAACA,KAEJuB,EAAAA,EAAAA,YAAU,KACHV,EAAUY,SACfZ,EAAUY,QAAQiK,cAAc,CAC9BpL,YACA,GACD,CAACA,KAEJiB,EAAAA,EAAAA,YAAU,KACR,IAAIV,EAAUY,SAAYf,EAAae,QAAvC,CAGA,IAAM7H,EAAQ4B,EAAAA,OAAcmQ,YAAYrU,EAAOkI,GAC/CqB,EAAUY,QAAUjG,EAAAA,OAAcoQ,OAAOlL,EAAae,QAAS,CAC7D7H,QACAiS,QAAS,CACPC,SAAS,GAEXC,sBAAsB,EACtBC,QAAS,EACTC,cAAc,EACd/L,gBAAgD,gBAA/BkB,EAAmBK,QACpCyK,SJ1iB0B,GI2iB1BC,WAAYlT,EACZmT,UAAW,CACTC,wBAAyBnT,EACzBoT,sBAAuBpT,EACvBqT,qBAAsB,EACtBC,mBAAoB,EACpBC,yBAAyB,GAE3BC,QAAS,CACPC,IAAKxT,EAGLyT,OACgC,eAA9BxL,EAAmBK,aACfkG,EACAxO,GAER0T,qBAAqB,EACrBC,4BAA6B,GAC7BC,QAAS,CACPC,WAAY,SACZC,SAAS,GAEX3M,SAAUA,EACV4M,iBAAkB,CAAEC,SAAS,EAAMC,OAAO,EAAMC,UAAU,KAG5DzM,EAAsBa,QACpBZ,EAAUY,QAAQ6L,6BAxCpB,CAwCiD,GAChD,CAAChW,EAAOkI,EAAUc,KAErBiB,EAAAA,EAAAA,YAAU,KACR,IAAMgM,EAAS1M,EAAUY,QACzB,GAAiB,oBAAbjC,GAAkC+N,EAAQ,CAC5C,IAAM3T,EAAQ2T,EAAO5L,WACf6L,EAAuBD,EAAOE,aAAY,SAAU5U,GAAG,IAAA6U,EAAAC,EACrDC,EAAchN,EAAsBa,SACf,QAA3BiM,EAACE,SAAsB,QAAXD,EAAXC,EAAaC,iBAAS,IAAAF,OAAA,EAAtBA,EAAAG,KAAAF,UAA0B,IAAAF,EAAAA,EAAI,IAAIzF,SAASpO,IAC1C,IAAMkU,EAAS,uBAAuB9H,KAAK+H,UAAUC,UACjD,UACA,UAEFpU,GACAhB,EAAEmR,OAAO9H,UACTrJ,EAAEiD,MAAMiS,IACRlU,EAAMqU,iBAAiBrV,EAAEmR,OAAO9H,WAEhCzB,EAAiB7G,EAAMS,gBAAgBR,GACzC,GAEJ,IAEMsU,EAAiBZ,EAAOa,aAAY,SAAUvV,GAClD,IAAM+U,EAAchN,EAAsBa,QACrCmM,GACLA,EAAYC,YAAY5F,SAASpO,IAC/B,IAAMkU,EAAS,uBAAuB9H,KAAK+H,UAAUC,UACjD,UACA,UACJ,GACEpU,GACAhB,EAAEmR,OAAO9H,UACTrJ,EAAEiD,MAAMiS,IACRlU,EAAMqU,iBAAiBrV,EAAEmR,OAAO9H,UAChC,CACA,IAAMmM,EAAiBT,EAAYC,YAAY3J,KAAKF,IAAI,CACtDnK,MAAOmK,EACPhJ,QAAS,CACPsO,gBAAiBzP,EAAMyU,YAAYtK,GAC/B,oBACA,iBAGR4J,EAAY7W,IAAIsX,EAClB,MAAO,IAAKxV,EAAEiD,MAAMiS,GAAS,CAC3B,IAAMM,EAAiBT,EAAYC,YAAY3J,KAAKF,IAAI,CACtDnK,MAAOmK,EACPhJ,QAAS,CACPsO,gBAAiB,iBAGrBsE,EAAY7W,IAAIsX,EAClB,IAEJ,IAIA,OAFA/H,IAEO,KACL6H,SAAAA,EAAgB9H,UAChBmH,SAAAA,EAAsBnH,SAAS,CAEnC,IACC,CAAC7G,EAAUiB,EAAkBY,EAAa3B,EAAO4G,KAEpD/E,EAAAA,EAAAA,YAAU,KACR,IAAMgM,EAAS1M,EAAUY,QACzB,GACG8L,GACA7M,EAAae,SACiB,gBAA/BL,EAAmBK,QAHrB,CAQA,IAAMoG,EAAW0F,EAAOgB,wBAAwB1V,IAC9C,GAAIA,EAAE2V,qBAAsB,CAC1B,IAAMC,EAAYC,GAChB7V,EAAE8V,cACF/O,EACAE,GAEE2O,IAAc3N,EAAKW,QAAQzB,SAC7Bc,EAAKW,QAAQzB,OAASyO,EACtBlB,EAAOhD,OAAOzJ,EAAKW,SAEvB,KAGIgN,EAAYC,GAChBnB,EAAOqB,mBACPhP,EACAE,GAOF,OALI2O,IAAc3N,EAAKW,QAAQzB,SAC7Bc,EAAKW,QAAQzB,OAASyO,EACtBlB,EAAOhD,OAAOzJ,EAAKW,UAGd,KACLoG,EAASxB,SAAS,CA3BpB,CA4BC,GACA,CAACvG,EAAUF,KAEd2B,EAAAA,EAAAA,YAAU,KACR,GAAKV,EAAUY,QAAf,CAGA,IAAMC,EAAeb,EAAUY,QAAQE,WACjCkG,EAAWnG,EAAamN,oBAAoBhW,IAChD,IAAM6O,EAAapB,IACnB9F,EAASkB,EAAaI,WAAY4F,EAAY7O,EAAEiW,QAAQ,IAE1D,MAAO,KACLjH,EAASxB,SAAS,CAPpB,CAQC,GACA,CAAC7F,EAAU8F,KAEd/E,EAAAA,EAAAA,YAAU,IACD,KAAM,IAAAwN,EAAAC,EACM,QAAjBD,EAAAlO,EAAUY,eAAO,IAAAsN,GAAY,QAAZA,EAAjBA,EAAmBpN,kBAAU,IAAAoN,GAA7BA,EAA+B1I,UACd,QAAjB2I,EAAAnO,EAAUY,eAAO,IAAAuN,GAAjBA,EAAmB3I,SAAS,GAE7B,IAGD4I,IAAAA,cAAA,OACEC,IAAKxO,EACLyO,OAAKpM,EAAAA,EAAAA,GAAA,CACH/C,OAAQiB,GACc,UAAlBtJ,EACA,CACEyX,QAAS,qCAEX,CAAC,IAIb,CAEA,SAASpO,GACP+I,EACAnK,EACAE,GAEA,OAAOuP,GACLC,KAAKC,IAAIzP,EAAUwP,KAAKE,IAAI5P,EAAUmK,EAAK0F,MAAM,MAAM3U,SAE3D,CAEA,SAAS4T,GACPC,EACA/O,EACAE,GAEA,IAAI4P,EAAcf,EAIlB,OAHKA,EAAgBxV,GAA2BF,GAAuB,IACrEyW,EAAcf,EAAgBzV,GAEzBoW,KAAKC,IACVF,GAAwBvP,GACxBwP,KAAKE,IAAIE,EAAaL,GAAwBzP,IAElD,CAEA,SAASyP,GAAwBM,GAC/B,OACEA,EAAQ1W,EAAqBC,EAAwBC,CAEzD,CArgBCR,GA9JD,cAMyBnC,EAA+CE,cAAA,SAAAC,YAAAC,EAAAA,EAAAA,GAAA,KAAA0H,GAAA,CAAAzH,IAAAsI,GAAApI,IAAAkI,MAAArI,EAAAA,EAAAA,GAAA,KAAAuH,GAAA,CAAAtH,IAAAkI,GAAAhI,IAAA8H,MAAAjI,EAAAA,EAAAA,GAAA,KAAAqH,GAAA,CAAApH,IAAA8H,GAAA5H,IAAA0H,MAAA7H,EAAAA,EAAAA,GAAA,KAAAb,GAAA,CAAAsB,UAAA,EAAAC,OAAAC,GAAA,MAAAqY,GAAA,UAAAhZ,EAAAA,EAAAA,GAAA,KAAAV,GAAA,CAAAmB,UAAA,EAAAC,MAAAuY,GAAA,SAAAjZ,EAAAA,EAAAA,GAAA,KAAAR,GAAA,CAAAiB,UAAA,EAAAC,MAAAwY,GAAA,SAUtElZ,EAAAA,EAAAA,GAAA,KAAAN,GAAA,CAAAe,UAAA,EAAAC,MAAAyY,GAAA,SAMAnZ,EAAAA,EAAAA,GAAA,KAAAL,GAAA,CAAAc,UAAA,EAAAC,MAAA0Y,GAAA,SAAApZ,EAAAA,EAAAA,GAAA,KAAAyG,GAAA,CAAAhG,UAAA,EAAAC,MAAA2Y,GAAA,SAAArZ,EAAAA,EAAAA,GAAA,KAAA0G,GAAA,CAAAjG,UAAA,EAAAC,MAAA4Y,GAAA,SAAAtZ,EAAAA,EAAAA,GAAA,KAAA2G,GAAA,CAAAlG,UAAA,EAAAC,MAAA6Y,GAAA,SAyBAvZ,EAAAA,EAAAA,GAAA,KAAA4G,GAAA,CAAAnG,UAAA,EAAAC,MAAA8Y,GAAA,SAAAxZ,EAAAA,EAAAA,GAAA,KAAA6G,GAAA,CAAApG,UAAA,EAAAC,MAAA+Y,GAAA,SAAAzZ,EAAAA,EAAAA,GAAA,KAAA8G,GAAA,CAAArG,UAAA,EAAAC,MAAAgZ,GAAA,SAAA1Z,EAAAA,EAAAA,GAAA,KAAA+G,GAAA,CAAAtG,UAAA,EAAAC,MAAAiZ,GAAA,SAAA3Z,EAAAA,EAAAA,GAAA,KAAAgH,GAAA,CAAAvG,UAAA,EAAAC,MAAAkZ,GAAA,SA8BA5Z,EAAAA,EAAAA,GAAA,KAAAiH,GAAA,CAAAxG,UAAA,EAAAC,MAAAmZ,GAAA,SAAA7Z,EAAAA,EAAAA,GAAA,KAAAkH,GAAA,CAAAzG,UAAA,EAAAC,MAAAoZ,GAAA,SAAA9Z,EAAAA,EAAAA,GAAA,KAAAmH,GAAA,CAAA1G,UAAA,EAAAC,MAAAqZ,GAAA,SAAA/Z,EAAAA,EAAAA,GAAA,KAAAoH,GAAA,CAAA3G,UAAA,EAAAC,MAAAsZ,GAAA,SAAAha,EAAAA,EAAAA,GAAA,KAAAsH,GAAA,CAAA7G,UAAA,EAAAC,MAAAuZ,GAAA,SAAAja,EAAAA,EAAAA,GAAA,KAAAwH,GAAA,CAAA/G,UAAA,EAAAC,MAkBgBA,CAACA,EAAeoQ,EAAiBoH,KAAqB,IAAAgC,EAC/C,QAArBA,EAAAjZ,KAAKU,wBAAgB,IAAAuY,GAArBA,EAAuBC,UAAUvQ,SAAS3I,KAAK2Q,KAAOlR,IACtDS,EAAAA,EAAAA,GAAAF,KAAIoG,IAAa+S,KAAKtJ,GACjBoH,IACH/W,EAAAA,EAAAA,GAAAF,KAAIsG,IAAY6S,KAAKtJ,EACvB,KACD9Q,EAAAA,EAAAA,GAAA,KAAAyH,GAAA,CAAAhH,UAAA,EAAAC,MAAA2Z,GAAA,SAAAra,EAAAA,EAAAA,GAAA,KAAA2H,GAAA,CAAAlH,UAAA,EAAAC,MAKwB+K,KACvBtK,EAAAA,EAAAA,GAAAF,KAAIyG,IAAqB0S,KAAK3O,EAAK,KACpCzL,EAAAA,EAAAA,GAAA,KAAA4H,GAAA,CAAAnH,UAAA,EAAAC,MAEkBA,IACjB,IACEsQ,IAAAA,KAAUtQ,EACZ,CAAE,MAAA4Z,GACA,MAAO,UACT,CACA,MAAO,EAAE,GACV,CA7GQ1I,WAAI,OAAAzQ,EAAAA,EAAAA,GAAA,KAAAhC,GAAA,CAAJyS,SAAIpQ,IAAAR,EAAAA,EAAAA,GAAA,KAAA7B,GAAAqC,EAAA,CAGJkL,YAAK,OAAAvL,EAAAA,EAAAA,GAAA,KAAA7B,GAAA,CAALoN,UAAKlL,IAAAR,EAAAA,EAAAA,GAAA,KAAA1B,GAAAkC,EAAA,CAGLd,YAAK,OAAAS,EAAAA,EAAAA,GAAA,KAAA3B,GAAA,CAALkB,UAAKc,IAAAR,EAAAA,EAAAA,GAAA,KAAAxB,GAAAgC,EAAA,CAMLoH,eAAQ,OAAAzH,EAAAA,EAAAA,GAAA,KAAAzB,GAAA,CAARkJ,aAAQpH,IAAAR,EAAAA,EAAAA,GAAA,KAAAtB,GAAA8B,EAAA,CAQIsH,YAAK,OAAA3H,EAAAA,EAAAA,GAAA,KAAAxB,GAAA,CAALmJ,UAAKtH,IAAAR,EAAAA,EAAAA,GAAA,KAAArB,GAAA6B,EAAA,CAKjB+Y,eAAQ,OAAApZ,EAAAA,EAAAA,GAAA,KAAAsF,GAAA,CAAR8T,aAAQ/Y,IAAAR,EAAAA,EAAAA,GAAA,KAAAyF,GAAAjF,EAAA,CAKRkI,eAAQ,OAAAvI,EAAAA,EAAAA,GAAA,KAAAuF,GAAA,CAARgD,aAAQlI,IAAAR,EAAAA,EAAAA,GAAA,KAAA0F,GAAAlF,EAAA,CAGR8H,sBAAe,OAAAnI,EAAAA,EAAAA,GAAA,KAAAwF,GAAA,CAAf2C,oBAAe9H,IAAAR,EAAAA,EAAAA,GAAA,KAAA2F,GAAAnF,EAAA,CAUfwH,eAAQ,OAAA7H,EAAAA,EAAAA,GAAA,KAAAyF,GAAA,CAARoC,aAAQxH,IAAAR,EAAAA,EAAAA,GAAA,KAAA4F,GAAApF,EAAA,CAKR+H,iBAAU,OAAApI,EAAAA,EAAAA,GAAA,KAAA0F,GAAA,CAAV0C,eAAU/H,IAAAR,EAAAA,EAAAA,GAAA,KAAA6F,GAAArF,EAAA,CAKVgI,yBAAkB,OAAArI,EAAAA,EAAAA,GAAA,KAAA2F,GAAA,CAAlB0C,uBAAkBhI,IAAAR,EAAAA,EAAAA,GAAA,KAAA8F,GAAAtF,EAAA,CAWlBiI,cAAO,OAAAtI,EAAAA,EAAAA,GAAA,KAAA4F,GAAA,CAAP0C,YAAOjI,IAAAR,EAAAA,EAAAA,GAAA,KAAA+F,GAAAvF,EAAA,CAGPmI,YAAK,OAAAxI,EAAAA,EAAAA,GAAA,KAAA6F,GAAA,CAAL2C,UAAKnI,IAAAR,EAAAA,EAAAA,GAAA,KAAAgG,GAAAxF,EAAA,CAML0H,eAAQ,OAAA/H,EAAAA,EAAAA,GAAA,KAAA8F,GAAA,CAARiC,aAAQ1H,IAAAR,EAAAA,EAAAA,GAAA,KAAAiG,GAAAzF,EAAA,CAGR4H,aAAM,OAAAjI,EAAAA,EAAAA,GAAA,KAAA+F,GAAA,CAANkC,WAAM5H,IAAAR,EAAAA,EAAAA,GAAA,KAAAkG,GAAA1F,EAAA,CAGNwR,cAAO,OAAA7R,EAAAA,EAAAA,GAAA,KAAAgG,GAAA,CAAP6L,YAAOxR,IAAAR,EAAAA,EAAAA,GAAA,KAAAmG,GAAA3F,EAAA,CAgChBgZ,oBAGOvZ,KAAKsX,MAAMkC,UACdxZ,KAAKsX,MAAMkC,QAAU,SAEvBC,MAAMF,mBACR,CAEAG,SACE,OACEtC,IAAAA,cAAClT,GAAe,CACdyV,WAAY3Z,KACZ4Z,YAAa5Z,KAAKU,iBAClBiQ,KAAM3Q,KAAK2Q,KACXlF,MAAOzL,KAAKyL,MACZ6N,SAAUtZ,KAAKsZ,SACfO,WAAS3Z,EAAAA,EAAAA,GAAEF,KAAI2G,KAEfyQ,IAAAA,cAAC5P,GAAmB,CAClB/H,MAAOO,KAAKP,MACZkI,SAAU3H,KAAK2H,SACfc,SAAUzI,KAAKyI,SACfZ,MAAO7H,KAAK6H,MACZQ,gBAAiBrI,KAAKqI,gBACtBN,SAAU/H,KAAK+H,SACfE,SAAUjI,KAAKiI,SACfE,OAAQnI,KAAKmI,OACbG,WAAYtI,KAAKsI,WACjBC,mBAAoBvI,KAAKuI,mBACzBC,QAASxI,KAAKwI,QACdE,MAAO1I,KAAK0I,MACZ5I,cAAeE,KAAKF,cACpB6I,UAAQzI,EAAAA,EAAAA,GAAEF,KAAIuG,IACdqC,kBAAgB1I,EAAAA,EAAAA,GAAEF,KAAI0G,MAI9B,KACD1F,GAAA+W,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAhS,GAAAF,GAAAmS,GAAA7R,GAAAF,GAAAmS,GAAA7R,GAAAF,GAAA3H,IAAAoa,GAAA/V,GAAAgW,MAAAhZ,EAAAA,EAAAA,GAAAD,GAAA,EAAA/C,GAAA,WAAAC,GAAA,YAAAC,GAAA,YAAAoG,GAAA,eAAAC,GAAA,YAAAC,GAAA,eAAAG,GAAA,eAAAC,GAAA,sBAAAC,GAAA,eAAAE,GAAA,iBAAAC,GAAA,yBAAAC,GAAA,cAAAC,GAAA,YAAAC,GAAA,eAAAC,GAAA,aAAAC,GAAA,cAAAC,GAAA,eAAA2U,IAAA9Z,EAAAA,EAAAA,GAAA8Z,EAAA7T,IAAA,CAAA6T,EAAAzZ,KAAAR,EAAAA,EAAAA,GAAAia,EAAA7T,GAAA5F,IAAA,CAAA+E,GAAA,cAAA0U,IAAA9Z,EAAAA,EAAAA,GAAA8Z,EAAA3T,IAAA,CAAA2T,EAAAzZ,KAAAR,EAAAA,EAAAA,GAAAia,EAAA3T,GAAA9F,IAAA,CAAAgF,GAAA,uBAAAyU,IAAA9Z,EAAAA,EAAAA,GAAA8Z,EAAAxT,IAAA,CAAAwT,EAAAzZ,KAAAR,EAAAA,EAAAA,GAAAia,EAAAxT,GAAAjG,KAAA,CAAA1C,IAAA,GAAAiF,GAAA6D,GAAAsT,KAAAC,EAAAA,EAAAA,GAAApX,KAxJwBnE,IAAmBob,I,sEClFxCI,E,MAA0B,GAA4B,KAE1DA,EAAwBpM,KAAK,CAACqM,EAAOC,GAAI,oIAAqI,KAE9K,S","sources":["webpack:///../../src/FormItemElement.tsx","webpack:///./src/code-editor/utils/brickNextSourceMap.ts","webpack:///./src/code-editor/constants.ts","webpack:///./src/code-editor/utils/constants.ts","webpack:///./src/code-editor/utils/brickNextYaml.ts","webpack:///./src/code-editor/index.css?aefa","webpack:///./src/code-editor/index.tsx","webpack:///./src/code-editor/index.css"],"sourcesContent":["import { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { AbstractForm } from \"./Form.js\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\n\nconst { method, property } = createDecorators();\n\nexport abstract class FormItemElementBase extends ReactNextElement {\n accessor #_notRender = false;\n accessor #validate = \"normal\";\n accessor #bindFormItem = false;\n\n get isFormItemElement(): true {\n return true;\n }\n\n set validateState(value: string) {\n this.#validate = value;\n this._render();\n }\n get validateState() {\n return this.#validate;\n }\n\n /**\n * 控制该表单项是否隐藏\n * @default false\n * @group ui\n */\n set notRender(value: boolean) {\n this.hidden = value;\n this.#_notRender = value;\n this._render();\n }\n get notRender(): boolean {\n return this.#_notRender;\n }\n\n get $bindFormItem() {\n return this.#bindFormItem;\n }\n set $bindFormItem(value: boolean) {\n this.#bindFormItem = value;\n this._render();\n }\n\n @property({\n attribute: false,\n })\n accessor helpBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @method()\n setNotRender(value: boolean) {\n this.notRender = value;\n }\n\n @method()\n getFormElement(): AbstractForm | null {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let element: AbstractForm | null = this as unknown as AbstractForm;\n while ((element = element.parentNode as AbstractForm | null)) {\n if (!element || element.isFormElement) {\n break;\n }\n }\n return element as AbstractForm | null;\n }\n}\n","import type { State } from \"js-yaml\";\nimport { isEqual } from \"lodash\";\n\nexport interface Token {\n startLineNumber: number;\n endLineNumber: number;\n startColumn: number;\n endColumn: number;\n source: string;\n isString?: boolean;\n}\n\nclass BrickNextYamlSourceMap {\n #recordsToken: Token[];\n #prefixPosition: number;\n #recordLastWord: string;\n\n constructor() {\n this.#recordsToken = [];\n this.#prefixPosition = 0;\n this.#recordLastWord = \"\";\n }\n\n private handleState(event: \"open\" | \"close\", state: State): void {\n if (event === \"close\") {\n const { line, position, lineStart, result } = state;\n const curWord = state.input.substring(lineStart, position);\n if (curWord.trim() === this.#recordLastWord.trim()) return;\n this.#recordLastWord = curWord;\n let startLineNumber = line + 1;\n let endLineNumber = line + 1;\n let startColumn = position - lineStart - result.length;\n let endColumn = position - lineStart - state.lineIndent;\n if (\n typeof result === \"string\" &&\n /^\\s*<%[~=]?\\s/.test(result) &&\n /\\s%>\\s*$/.test(result)\n ) {\n let source = result;\n const wrapLength = result.match(/\\n/g)?.length;\n if (wrapLength) {\n let nearWrapIndex = this.#prefixPosition;\n for (let i = this.#prefixPosition; i < state.input.length; i++) {\n if (state.input[i] === \"\\n\") {\n nearWrapIndex = i + 1;\n break;\n }\n }\n const specilStringPrefix = /(\\|-|>-)/.test(\n state.input.substring(this.#prefixPosition, position - 1)\n );\n source = state.input.substring(nearWrapIndex, position - 1);\n startLineNumber =\n state.line - wrapLength + 1 - Number(specilStringPrefix);\n endLineNumber = line;\n startColumn = 0;\n endColumn = 0;\n }\n const token = {\n source,\n startLineNumber,\n endLineNumber,\n startColumn,\n endColumn,\n isString: ['\"', \"'\"].includes(\n state.input[lineStart + startColumn - 2]\n ),\n };\n !this.#recordsToken.find((item) => isEqual(item, token)) &&\n this.#recordsToken.push(token);\n }\n this.#prefixPosition = position;\n }\n }\n\n public listen() {\n return this.handleState.bind(this);\n }\n\n public getTokens = () => {\n return this.#recordsToken;\n };\n}\n\nexport default BrickNextYamlSourceMap;\n","export const EDITOR_FONT_SIZE = 12;\nexport const EDITOR_LINE_HEIGHT = 18;\nexport const EDITOR_SCROLLBAR_SIZE = 12;\nexport const EDITOR_PADDING_VERTICAL = 12;\n","export const EVALUATE_KEYWORD = [\n \"CTX\",\n \"STATE\",\n \"DATA\",\n \"EVENT\",\n \"FLAGS\",\n \"APP\",\n \"ANCHOR\",\n \"HASH\",\n \"INSTALLED_APPS\",\n \"ITEM\",\n \"LOCAL_STORAGE\",\n \"MEDIA\",\n \"MISC\",\n \"PARAMS\",\n \"PATH\",\n \"PROCESSORS\",\n \"QUERY\",\n \"QUERY_ARRAY\",\n \"SESSION_STORAGE\",\n \"TPL\",\n \"SYS\",\n \"BASE_URL\",\n \"IMG\",\n \"FN\",\n \"I18N\",\n \"I18N_TEXT\",\n \"PERMISSIONS\",\n \"THEME\",\n];\n\nexport const brickNextKeywords = [\n \"target\",\n \"targetRef\",\n \"properties\",\n \"events\",\n \"method\",\n \"callback\",\n \"success\",\n \"error\",\n \"action\",\n \"useProvider\",\n \"useChildren\",\n \"useBrick\",\n \"args\",\n \"if\",\n \"then\",\n];\n\nexport const Level = {\n hit: 1,\n info: 2,\n warn: 4,\n error: 8,\n};\n","import * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport storyboardJsonSchema from \"@next-core/types/storyboard.json\";\nimport { EVALUATE_KEYWORD, brickNextKeywords, Level } from \"./constants.js\";\nimport { get } from \"lodash\";\n\nconst findKeys = (\n model: monaco.editor.ITextModel,\n range: monaco.Range | monaco.editor.IWordAtPosition,\n line: number\n) => {\n const curLevelKeys: string[] = [];\n const keyList: string[] = [];\n let parentKey = \"\";\n let i = line;\n let startColumn = range.startColumn;\n while (i > 0) {\n const prefixLineWord = model.getValueInRange({\n startLineNumber: i,\n endLineNumber: i,\n startColumn: 0,\n endColumn: Infinity,\n });\n const matchWord = prefixLineWord.match(/^([\\s|-]*)(\\w+)(?=:)/);\n if (matchWord) {\n const [_, wordspace, key] = matchWord;\n if (wordspace.length === range.startColumn - 1) {\n curLevelKeys.unshift(key);\n }\n if (wordspace.length < startColumn - 1) {\n !parentKey && (parentKey = key);\n startColumn = wordspace.length;\n keyList.unshift(key);\n }\n }\n i--;\n }\n return {\n curLevelKeys,\n keyList,\n parentKey,\n };\n};\n\nconst getPrefixWord = (\n model: monaco.editor.ITextModel,\n position: monaco.Position\n): {\n word: string | undefined;\n token: string;\n} => {\n const word = model.getWordUntilPosition(position);\n const prefixToken = model.getValueInRange({\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: position.column - word.word.length - 1,\n endColumn: position.column - word.word.length,\n });\n const prefixWord = model.getWordAtPosition({\n ...position,\n column: position.column - word?.word?.length - 1,\n });\n return {\n word: prefixWord?.word,\n token: prefixToken,\n };\n};\n\nexport const isInEvaluateBody = (\n model: monaco.editor.ITextModel,\n position: monaco.Position\n): boolean => {\n const word = model.getWordUntilPosition(position);\n const prefixEvaluateOperator = model.findPreviousMatch(\n \"<%\",\n position,\n false,\n false,\n null,\n false\n );\n const suffixEvaluateOperator = model.findNextMatch(\n \"%>\",\n position,\n false,\n false,\n null,\n false\n );\n const isInEvaluateBody =\n prefixEvaluateOperator?.range.startLineNumber &&\n suffixEvaluateOperator?.range.startLineNumber &&\n prefixEvaluateOperator.range.startLineNumber <= position.lineNumber &&\n suffixEvaluateOperator.range.endLineNumber >= position.lineNumber;\n\n if (isInEvaluateBody) {\n const { parentKey: prefixParentKey } = findKeys(\n model,\n prefixEvaluateOperator.range,\n prefixEvaluateOperator?.range.startLineNumber\n );\n const { parentKey: suffixParentKey } = findKeys(\n model,\n suffixEvaluateOperator.range,\n suffixEvaluateOperator?.range.startLineNumber\n );\n const { keyList } = findKeys(model, word, position.lineNumber);\n if (\n prefixParentKey === suffixParentKey &&\n keyList.includes(prefixParentKey)\n ) {\n return true;\n }\n }\n return false;\n};\n\nexport const brickNextYAMLProvideCompletionItems = (\n completers?: monaco.languages.CompletionItem[],\n advancedCompleters?: Record<\n string,\n { triggerCharacter: string; completers: monaco.languages.CompletionItem[] }\n >\n) => {\n return (\n model: monaco.editor.ITextModel,\n position: monaco.Position,\n context: monaco.languages.CompletionContext,\n _token: monaco.CancellationToken\n ): monaco.languages.ProviderResult<monaco.languages.CompletionList> => {\n const word = model.getWordUntilPosition(position);\n const { word: prefixWord, token: prefixToken } = getPrefixWord(\n model,\n position\n );\n const curLineWord = model.getValueInRange({\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: 0,\n endColumn: Infinity,\n });\n const range = {\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: word.startColumn,\n endColumn: word.endColumn,\n };\n\n const isFirstLevelProperty = word.startColumn === 1;\n const { curLevelKeys } = findKeys(model, word, model.getLineCount());\n\n if (context.triggerCharacter === \"<\") {\n const fullWord = model.getValueInRange({\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: position.column - 2,\n endColumn: position.column + 2,\n });\n if (fullWord.trim() !== \"<\") {\n return {\n suggestions: [],\n };\n }\n return {\n suggestions: [\n {\n label: \"<% %>\",\n detail: \"Evalute Body\",\n kind: monaco.languages.CompletionItemKind.Value,\n insertText: \"% ${0} %>\",\n insertTextRules:\n monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n range: range,\n },\n {\n label: \"<%= %>\",\n detail: \"Track Evalute Body\",\n kind: monaco.languages.CompletionItemKind.Value,\n insertText: \"%= ${0} %>\",\n insertTextRules:\n monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n range: range,\n },\n ],\n };\n }\n\n if (isFirstLevelProperty) {\n return {\n suggestions: (completers ?? [])\n .filter((item) => !curLevelKeys.includes(item.label as string))\n .map((item) => ({\n ...item,\n label: item.label,\n insertText: item.insertText || (item.label as string),\n kind: monaco.languages.CompletionItemKind.Keyword,\n range,\n })),\n };\n }\n\n if (\n context.triggerCharacter === \":\" ||\n (context.triggerCharacter === \".\" &&\n prefixWord &&\n ![\"CTX\", \"STATE\", \"FN\"].includes(prefixWord))\n ) {\n if (prefixWord === \"action\" && context.triggerCharacter === \":\") {\n const actions = get(\n storyboardJsonSchema,\n \"definitions.BuiltinBrickEventHandler.properties.action.enum\"\n );\n return {\n suggestions: ((actions as unknown as string[]) ?? [])?.map(\n (item) => ({\n label: ` ${item}`,\n detail: \"event action\",\n kind: monaco.languages.CompletionItemKind.Keyword,\n insertText: ` ${item}`,\n range,\n })\n ),\n };\n }\n const matchCompletion = advancedCompleters?.[prefixWord as string];\n let matchTriggerCharacter = \"\";\n let list: monaco.languages.CompletionItem[] | undefined;\n if (matchCompletion && !Array.isArray(matchCompletion)) {\n list = matchCompletion.completers;\n matchTriggerCharacter = matchCompletion.triggerCharacter;\n } else {\n list = matchCompletion;\n }\n if (\n matchTriggerCharacter\n ? context.triggerCharacter === matchTriggerCharacter && list\n : list\n ) {\n return {\n suggestions: (list ?? []).map((item) => {\n const label =\n matchTriggerCharacter === \":\"\n ? ` ${item.label}`\n : (item.label as string);\n return {\n ...item,\n label: label,\n kind: monaco.languages.CompletionItemKind.Value,\n insertText: item.insertText || label,\n range,\n };\n }),\n };\n }\n }\n\n if (isInEvaluateBody(model, position)) {\n if (\n prefixWord &&\n [\"CTX\", \"STATE\"].includes(prefixWord) &&\n advancedCompleters\n ) {\n return {\n suggestions: (advancedCompleters[prefixWord]?.completers ?? []).map(\n (item) => ({\n label: item.label,\n insertText: item.label as string,\n kind: monaco.languages.CompletionItemKind.Value,\n range,\n })\n ),\n };\n }\n\n if (\n prefixWord === \"FN\" &&\n context.triggerCharacter === \".\" &&\n advancedCompleters\n ) {\n return {\n suggestions: (advancedCompleters[\"FN\"]?.completers ?? []).map(\n (item) => ({\n label: item.label,\n insertText: item.label as string,\n kind: monaco.languages.CompletionItemKind.Value,\n range,\n })\n ),\n };\n }\n\n if (prefixWord === \"APP\" && context.triggerCharacter === \".\") {\n const appProperties = get(\n storyboardJsonSchema,\n \"definitions.MicroApp.properties\"\n );\n const suggestions = [];\n for (const [k, v] of Object.entries(\n appProperties as unknown as Record<\n string,\n {\n description: string;\n type: string;\n enum: string[];\n }\n >\n )) {\n suggestions.push({\n label: k,\n kind: monaco.languages.CompletionItemKind.Value,\n documentation: v.description,\n detail: v.enum ? v.enum.join(\"|\") : v.type,\n insertText: k,\n range,\n });\n }\n return {\n suggestions,\n };\n }\n\n if ([\".\", \":\"].includes(prefixToken)) {\n return {\n suggestions: [],\n };\n }\n\n return {\n suggestions: EVALUATE_KEYWORD.map((item) => ({\n label: item,\n insertText: item,\n kind: monaco.languages.CompletionItemKind.Keyword,\n range,\n })),\n };\n }\n\n if (/^[\\s|-]*\\w$/.test(curLineWord)) {\n return {\n suggestions: brickNextKeywords\n .map((item) => ({\n label: item,\n insertText: item,\n kind: monaco.languages.CompletionItemKind.Keyword,\n range,\n }))\n .filter((item) => !curLevelKeys.includes(item.label as string)),\n };\n }\n\n return {\n suggestions: [],\n };\n };\n};\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./index.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./index.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport { register as registerJavaScript } from \"@next-core/monaco-contributions/javascript\";\nimport { register as registerTypeScript } from \"@next-core/monaco-contributions/typescript\";\nimport { register as registerYaml } from \"@next-core/monaco-contributions/yaml\";\nimport { register as registerHtml } from \"@next-core/monaco-contributions/html\";\nimport yaml from \"js-yaml\";\nimport BrickNextYamlSourceMap, { Token } from \"./utils/brickNextSourceMap.js\";\nimport \"@next-core/theme\";\nimport { isEqual } from \"lodash\";\nimport {\n EDITOR_SCROLLBAR_SIZE,\n EDITOR_PADDING_VERTICAL,\n EDITOR_LINE_HEIGHT,\n EDITOR_FONT_SIZE,\n} from \"./constants.js\";\nimport { brickNextYAMLProvideCompletionItems } from \"./utils/brickNextYaml.js\";\nimport \"./index.css\";\nimport { EVALUATE_KEYWORD, Level } from \"./utils/constants.js\";\nimport type { MemberExpression, Identifier } from \"@babel/types\";\nimport { preevaluate } from \"@next-core/cook\";\n\nregisterJavaScript(monaco);\nregisterTypeScript(monaco);\nregisterYaml(monaco, \"brick_next_yaml\");\nregisterHtml(monaco);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nexport interface CodeEditorProps {\n name?: string;\n label?: string;\n value?: string;\n language?: string;\n theme?: string;\n required?: boolean;\n readOnly?: boolean;\n automaticLayout?: \"fit-container\" | \"fit-content\" | \"none\";\n minLines?: number;\n maxLines?: number;\n height?: string | number;\n completers?: monaco.languages.CompletionItem[];\n advancedCompleters?: Record<\n string,\n { triggerCharacter: string; completers: monaco.languages.CompletionItem[] }\n >;\n markers?: Marker[];\n links?: string[];\n validateState?: string;\n}\n\nexport interface Marker {\n token: string;\n level: keyof typeof Level;\n message: string;\n code?: {\n value: string;\n target: string;\n };\n params?: string[];\n}\n\n/**\n * 构件 code-editor\n */\nexport\n@defineElement(\"vs.code-editor\", {\n // There are a few issues for monaco-editor with shadow DOM.\n // So we use light DOM for now.\n // See https://github.com/microsoft/monaco-editor/issues?q=is%3Aissue+is%3Aopen+shadow+dom\n shadowOptions: false,\n})\nclass CodeEditor extends FormItemElementBase implements CodeEditorProps {\n @property()\n accessor name: string | undefined;\n\n @property()\n accessor label: string | undefined;\n\n @property({ attribute: false })\n accessor value: string | undefined;\n\n /**\n * @default \"plaintext\"\n */\n @property()\n accessor language: string | undefined;\n\n /**\n * 主题,支持 `\"auto\" | \"vs\" | \"vs-dark\"`\n *\n * @default \"auto\"\n * @group ui\n */\n @property() accessor theme: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n @property({\n type: Boolean,\n })\n accessor readOnly: boolean | undefined;\n\n @property()\n accessor automaticLayout:\n | \"fit-container\"\n | \"fit-content\"\n | \"none\"\n | undefined;\n\n /**\n * @default 3\n */\n @property({ type: Number })\n accessor minLines: number | undefined;\n\n @property({\n attribute: false,\n })\n accessor completers: monaco.languages.CompletionItem[] | undefined;\n\n @property({\n attribute: false,\n })\n accessor advancedCompleters:\n | Record<\n string,\n {\n triggerCharacter: string;\n completers: monaco.languages.CompletionItem[];\n }\n >\n | undefined;\n\n @property({ attribute: false })\n accessor markers: Marker[] | undefined;\n\n @property({ attribute: false })\n accessor links: string[] | undefined;\n\n /**\n * @default Infinity\n */\n @property({ type: Number })\n accessor maxLines: number | undefined;\n\n @property({ attribute: false })\n accessor height: string | number | undefined;\n\n @property()\n accessor message: string | undefined;\n\n @event({ type: \"code.change\" })\n accessor #codeChange!: EventEmitter<string>;\n\n @event({ type: \"user.input\" })\n accessor #userInput!: EventEmitter<string>;\n\n #handleChange = (value: string, parseValue: any, isFlush: boolean) => {\n this.getFormElement()?.formStore.onChange(this.name!, value);\n this.#codeChange.emit(parseValue);\n if (!isFlush) {\n this.#userInput.emit(parseValue);\n }\n };\n\n @event({ type: \"token.click\" })\n accessor #highlighClickEvent!: EventEmitter<string>;\n\n #handleHighlightClick = (word: string) => {\n this.#highlighClickEvent.emit(word);\n };\n\n #handleValidtor = (value: string) => {\n try {\n yaml.load(value);\n } catch {\n return \"请填写正确的格式\";\n }\n return \"\";\n };\n\n connectedCallback(): void {\n // Don't override user's style settings.\n // istanbul ignore else\n if (!this.style.display) {\n this.style.display = \"block\";\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <WrappedFormItem\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n required={this.required}\n validator={this.#handleValidtor}\n >\n <CodeEditorComponent\n value={this.value}\n language={this.language}\n readOnly={this.readOnly}\n theme={this.theme}\n automaticLayout={this.automaticLayout}\n minLines={this.minLines}\n maxLines={this.maxLines}\n height={this.height}\n completers={this.completers}\n advancedCompleters={this.advancedCompleters}\n markers={this.markers}\n links={this.links}\n validateState={this.validateState}\n onChange={this.#handleChange}\n onHighlightClick={this.#handleHighlightClick}\n />\n </WrappedFormItem>\n );\n }\n}\n\nexport function CodeEditorComponent({\n value: _value,\n language: _language,\n theme: _theme,\n minLines: _minLines,\n maxLines: _maxLines,\n height: _height,\n automaticLayout,\n completers,\n advancedCompleters,\n markers,\n readOnly,\n links,\n validateState,\n onChange,\n onHighlightClick,\n}: CodeEditorProps & {\n onChange(value: string, parseValue: any, isFlush: boolean): void;\n onHighlightClick(word: string): void;\n}) {\n const value = _value ?? \"\";\n const language = _language ?? \"plaintext\";\n const theme = _theme ?? \"auto\";\n const minLines = _minLines ?? 3;\n const maxLines = _maxLines ?? Infinity;\n const height = _height ?? 500;\n\n const containerRef = useRef<HTMLDivElement>(null);\n const decorationsCollection =\n useRef<monaco.editor.IEditorDecorationsCollection>();\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n const size = useRef<monaco.editor.IDimension>({\n width: 300,\n height: getContentHeightByCode(value, minLines, maxLines),\n });\n const [actualHeight, setActualHeight] = useState<string | number>();\n // `automaticLayout` should never change\n const automaticLayoutRef = useRef(automaticLayout);\n const systemTheme = useCurrentTheme();\n\n useEffect(() => {\n // Currently theme is configured globally.\n // See https://github.com/microsoft/monaco-editor/issues/338\n monaco.editor.setTheme(\n theme === \"auto\"\n ? systemTheme === \"dark\" || systemTheme === \"dark-v2\"\n ? \"vs-dark\"\n : \"vs\"\n : theme\n );\n }, [systemTheme, theme]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n monaco.editor.setModelLanguage(currentModel, language);\n if (!isEqual(currentModel.getValue(), value)) {\n currentModel.setValue(value);\n }\n }\n }, [value, language]);\n\n useEffect(() => {\n if (language === \"brick_next_yaml\") {\n const provideCompletionItems = brickNextYAMLProvideCompletionItems(\n completers,\n advancedCompleters\n );\n const monacoProviderRef = monaco.languages.registerCompletionItemProvider(\n \"brick_next_yaml\",\n {\n provideCompletionItems,\n triggerCharacters: [\".\", \":\", \"<\"],\n }\n );\n return () => {\n monacoProviderRef.dispose();\n };\n }\n }, [completers, advancedCompleters, language]);\n\n const parseYaml = useCallback(() => {\n const map = new BrickNextYamlSourceMap();\n let parseValue = undefined;\n if (editorRef.current) {\n const model = editorRef.current.getModel()!;\n\n try {\n parseValue = yaml.load(value, {\n listener: map.listen(),\n });\n\n if ((links || markers) && editorRef.current) {\n const tokens: Omit<\n Token & { token: string; property: string },\n \"source\"\n >[] = [];\n map.getTokens().forEach((item) => {\n const { startLineNumber, endLineNumber, startColumn } = item;\n const globalNodes: MemberExpression[] = [];\n const result = preevaluate(item.source, {\n hooks: {\n beforeVisit(node) {\n if (\n node.type === \"MemberExpression\" &&\n node.object.type === \"Identifier\" &&\n EVALUATE_KEYWORD.includes(node.object.name) &&\n node.property.type === \"Identifier\"\n ) {\n globalNodes.push(node);\n }\n },\n },\n });\n\n globalNodes.forEach((node) => {\n const { start, end, loc } = node;\n if (item.startLineNumber !== item.endLineNumber) {\n const hadWrap = /<%[ ]+/.test(result.prefix);\n tokens.push({\n token: (node.object as Identifier)?.name,\n property: (node.property as Identifier).name,\n startLineNumber:\n item.startLineNumber +\n (loc?.start?.line as number) -\n Number(hadWrap),\n endLineNumber:\n item.startLineNumber +\n (loc?.end?.line as number) -\n Number(hadWrap),\n startColumn:\n (hadWrap && loc?.start.line === 1\n ? result.prefix.length\n : 0) +\n (loc?.start?.column as number) +\n 1,\n endColumn:\n (hadWrap && loc?.start.line === 1\n ? result.prefix.length\n : 0) +\n (loc?.end?.column as number) +\n 1,\n });\n } else {\n tokens.push({\n token: (node.object as Identifier)?.name,\n property: (node.property as Identifier).name,\n startLineNumber,\n endLineNumber,\n startColumn:\n startColumn +\n (start as number) +\n result.prefix?.length +\n Number(!item.isString),\n endColumn:\n startColumn +\n (end as number) +\n result.prefix?.length +\n Number(!item.isString),\n });\n }\n });\n });\n\n decorationsCollection.current?.set(\n tokens\n .filter((token) => links?.includes(token.token))\n .map((token) => ({\n range: new monaco.Range(\n token.startLineNumber,\n token.startColumn,\n token.endLineNumber,\n token.endColumn\n ),\n options: {\n inlineClassName: \"highlight\",\n },\n }))\n );\n\n if (markers) {\n const modelMarkers = tokens\n .map((token) => {\n const matchTokenConf = markers.find(\n (item) => item.token === token.token\n );\n const hadProperty = matchTokenConf?.params\n ? matchTokenConf.params?.includes(token.property)\n : true;\n if (!hadProperty) {\n return {\n severity: Level.warn,\n message: \"Miss Property\",\n startLineNumber: token.startLineNumber,\n endLineNumber: token.endLineNumber,\n startColumn: token.startColumn,\n endColumn: token.endColumn,\n };\n }\n if (matchTokenConf && matchTokenConf.message) {\n return {\n severity: Level[matchTokenConf?.level ?? \"warn\"],\n message: matchTokenConf.message,\n ...(matchTokenConf.code\n ? {\n code: {\n value: matchTokenConf.code.value,\n target: monaco.Uri.parse(\n matchTokenConf.code.target\n ),\n },\n }\n : {}),\n startLineNumber: token.startLineNumber,\n endLineNumber: token.endLineNumber,\n startColumn: token.startColumn,\n endColumn: token.endColumn,\n };\n }\n })\n .filter(Boolean) as monaco.editor.IMarkerData[];\n\n monaco.editor.setModelMarkers(\n model,\n \"brick_next_yaml\",\n modelMarkers\n );\n }\n }\n } catch (e) {\n monaco.editor.setModelMarkers(model, \"brick_next_yaml\", []);\n decorationsCollection?.current?.set([]);\n }\n }\n return parseValue;\n }, [value, links, markers]);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-content\" || !containerRef.current) {\n return;\n }\n\n size.current.width = containerRef.current.getBoundingClientRect().width;\n editorRef.current?.layout(size.current);\n\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === containerRef.current) {\n const newWidth = entry.contentBoxSize\n ? entry.contentBoxSize[0].inlineSize\n : entry.contentRect.width;\n if (newWidth !== size.current.width) {\n size.current.width = newWidth;\n editorRef.current?.layout(size.current);\n }\n break;\n }\n }\n });\n observer.observe(containerRef.current);\n\n return () => {\n observer.disconnect();\n };\n }, []);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-container\") {\n return;\n }\n\n const container = getDOMContainer(containerRef.current);\n if (!container) {\n return;\n }\n // Manually layout the editor once the container resized.\n const observer = new ResizeObserver((): void => {\n setActualHeight(container.offsetHeight);\n });\n observer.observe(container);\n return () => {\n observer.disconnect();\n };\n }, []);\n\n useEffect(() => {\n if (\n automaticLayoutRef.current !== \"fit-container\" &&\n automaticLayoutRef.current !== \"fit-content\"\n ) {\n setActualHeight(height);\n }\n }, [height]);\n\n useEffect(() => {\n if (!editorRef.current) return;\n editorRef.current.updateOptions({\n readOnly,\n });\n }, [readOnly]);\n\n useEffect(() => {\n if (editorRef.current || !containerRef.current) {\n return;\n }\n const model = monaco.editor.createModel(value, language);\n editorRef.current = monaco.editor.create(containerRef.current, {\n model,\n minimap: {\n enabled: false,\n },\n scrollBeyondLastLine: false,\n tabSize: 2,\n insertSpaces: true,\n automaticLayout: automaticLayoutRef.current !== \"fit-content\",\n fontSize: EDITOR_FONT_SIZE,\n lineHeight: EDITOR_LINE_HEIGHT,\n scrollbar: {\n horizontalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n verticalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n horizontalSliderSize: 8,\n verticalSliderSize: 8,\n alwaysConsumeMouseWheel: false,\n },\n padding: {\n top: EDITOR_PADDING_VERTICAL,\n // When use `fit-content`, we always plus the height with the vertical padding.\n // Thus the possible x-scrollbar will not take extra space at the bottom.\n bottom:\n automaticLayoutRef.current == \"fit-content\"\n ? undefined\n : EDITOR_PADDING_VERTICAL,\n },\n overviewRulerBorder: false,\n mouseWheelScrollSensitivity: 0.5,\n suggest: {\n insertMode: \"insert\",\n preview: true,\n },\n readOnly: readOnly,\n quickSuggestions: { strings: true, other: true, comments: true },\n });\n\n decorationsCollection.current =\n editorRef.current.createDecorationsCollection();\n }, [value, language, readOnly]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (language === \"brick_next_yaml\" && editor) {\n const model = editor.getModel()!;\n const editorMouseDownEvent = editor.onMouseDown(function (e) {\n const decorations = decorationsCollection.current;\n (decorations?.getRanges?.() ?? []).forEach((range) => {\n const modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n if (\n range &&\n e.target.position &&\n e.event[modKey] &&\n range.containsPosition(e.target.position)\n ) {\n onHighlightClick(model.getValueInRange(range));\n }\n });\n });\n\n const mouseOverEvent = editor.onMouseMove(function (e) {\n const decorations = decorationsCollection.current;\n if (!decorations) return;\n decorations.getRanges().forEach((range) => {\n const modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n if (\n range &&\n e.target.position &&\n e.event[modKey] &&\n range.containsPosition(e.target.position)\n ) {\n const newDecorations = decorations.getRanges().map((item) => ({\n range: item,\n options: {\n inlineClassName: range.equalsRange(item)\n ? \"highlight pointer\"\n : \"highlight\",\n },\n }));\n decorations.set(newDecorations);\n } else if (!e.event[modKey]) {\n const newDecorations = decorations.getRanges().map((item) => ({\n range: item,\n options: {\n inlineClassName: \"highlight\",\n },\n }));\n decorations.set(newDecorations);\n }\n });\n });\n\n parseYaml();\n\n return () => {\n mouseOverEvent?.dispose();\n editorMouseDownEvent?.dispose();\n };\n }\n }, [language, onHighlightClick, systemTheme, theme, parseYaml]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (\n !editor ||\n !containerRef.current ||\n automaticLayoutRef.current !== \"fit-content\"\n ) {\n return;\n }\n\n const listener = editor.onDidContentSizeChange((e) => {\n if (e.contentHeightChanged) {\n const newHeight = fixEditorHeightWithScrollBar(\n e.contentHeight,\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n }\n });\n\n const newHeight = fixEditorHeightWithScrollBar(\n editor.getContentHeight(),\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n\n return () => {\n listener.dispose();\n };\n }, [maxLines, minLines]);\n\n useEffect(() => {\n if (!editorRef.current) {\n return;\n }\n const currentModel = editorRef.current.getModel()!;\n const listener = currentModel.onDidChangeContent((e) => {\n const parseValue = parseYaml();\n onChange(currentModel.getValue(), parseValue, e.isFlush);\n });\n return () => {\n listener.dispose();\n };\n }, [onChange, parseYaml]);\n\n useEffect(() => {\n return () => {\n editorRef.current?.getModel()?.dispose();\n editorRef.current?.dispose();\n };\n }, []);\n\n return (\n <div\n ref={containerRef}\n style={{\n height: actualHeight,\n ...(validateState === \"error\"\n ? {\n outline: \"1px solid var(--antd-error-color)\",\n }\n : {}),\n }}\n />\n );\n}\n\nfunction getContentHeightByCode(\n code: string,\n minLines: number,\n maxLines: number\n): number {\n return getContentHeightByLines(\n Math.min(maxLines, Math.max(minLines, code.split(\"\\n\").length))\n );\n}\n\nfunction fixEditorHeightWithScrollBar(\n contentHeight: number,\n minLines: number,\n maxLines: number\n): number {\n let fixedHeight = contentHeight;\n if ((contentHeight - EDITOR_PADDING_VERTICAL) % EDITOR_LINE_HEIGHT === 0) {\n fixedHeight = contentHeight + EDITOR_SCROLLBAR_SIZE;\n }\n return Math.min(\n getContentHeightByLines(maxLines),\n Math.max(fixedHeight, getContentHeightByLines(minLines))\n );\n}\n\nfunction getContentHeightByLines(lines: number): number {\n return (\n lines * EDITOR_LINE_HEIGHT + EDITOR_SCROLLBAR_SIZE + EDITOR_PADDING_VERTICAL\n );\n}\n\n/** Get the direct DOM container of `vs.code-editor` */\nfunction getDOMContainer(element: HTMLElement | null) {\n let brick = element;\n while (brick) {\n const found = brick.tagName.toLowerCase() === \"vs.code-editor\";\n brick = brick.parentElement;\n if (found) {\n return brick;\n }\n }\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.highlight{color:rgb(74 170 189)!important;text-decoration:underline;font-weight:bold;font-style:oblique}.pointer{cursor:pointer}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["method","property","createDecorators","_dec","attribute","_dec2","_dec3","_dec4","_A","WeakMap","_notRender","_B","_validate","_C","_bindFormItem","_D","_E","FormItemElementBase","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","get","_get_bindFormItem","set","_set_bindFormItem","_get_validate","_set_validate","_get__notRender","_set__notRender","writable","value","_initProto","_init_helpBrick","_init_labelBrick","isFormItemElement","validateState","_classPrivateFieldSet","this","_render","_classPrivateFieldGet","notRender","hidden","$bindFormItem","helpBrick","v","labelBrick","setNotRender","getFormElement","element","parentNode","isFormElement","_class","_applyDecs","e","_recordsToken","_prefixPosition","_recordLastWord","EDITOR_LINE_HEIGHT","EDITOR_SCROLLBAR_SIZE","EDITOR_PADDING_VERTICAL","EVALUATE_KEYWORD","brickNextKeywords","Level","hit","info","warn","error","findKeys","model","range","line","curLevelKeys","keyList","parentKey","i","startColumn","matchWord","getValueInRange","startLineNumber","endLineNumber","endColumn","Infinity","match","_","wordspace","key","length","unshift","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","registerJavaScript","monaco","registerTypeScript","registerYaml","registerHtml","_CodeEditor","defineElement","event","WrappedFormItem","wrapBrick","shadowOptions","_dec5","_dec6","_dec7","type","Boolean","_dec8","_dec9","_dec10","Number","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_dec18","_dec19","_dec20","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_codeChange","_R","_userInput","_handleChange","_S","_highlighClickEvent","_handleHighlightClick","_handleValidtor","_set_codeChange2","_set_codeChange","_get_codeChange2","_get_codeChange","_set_userInput2","_set_userInput","_get_userInput2","_get_userInput","_set_highlighClickEvent2","_set_highlighClickEvent","_get_highlighClickEvent2","_get_highlighClickEvent","CodeEditorComponent","_ref","_value","language","_language","theme","_theme","minLines","_minLines","maxLines","_maxLines","height","_height","automaticLayout","completers","advancedCompleters","markers","readOnly","links","onChange","onHighlightClick","containerRef","useRef","decorationsCollection","editorRef","size","width","getContentHeightByCode","actualHeight","setActualHeight","useState","automaticLayoutRef","systemTheme","useCurrentTheme","useEffect","setTheme","current","currentModel","getModel","setModelLanguage","isEqual","getValue","setValue","provideCompletionItems","brickNextYAMLProvideCompletionItems","position","context","_token","word","getWordUntilPosition","prefixWord","token","prefixToken","getPrefixWord","_word$word","lineNumber","column","getWordAtPosition","_objectSpread","curLineWord","isFirstLevelProperty","getLineCount","triggerCharacter","trim","suggestions","label","detail","kind","CompletionItemKind","Value","insertText","insertTextRules","CompletionItemInsertTextRule","InsertAsSnippet","filter","item","includes","map","Keyword","_ref2","storyboardJsonSchema","concat","list","_list","matchCompletion","matchTriggerCharacter","Array","isArray","isInEvaluateBody","prefixEvaluateOperator","findPreviousMatch","suffixEvaluateOperator","findNextMatch","prefixParentKey","suffixParentKey","_advancedCompleters$p","_advancedCompleters$p2","_advancedCompleters$F","_advancedCompleters$F2","appProperties","k","Object","entries","push","documentation","description","enum","join","test","monacoProviderRef","registerCompletionItemProvider","triggerCharacters","dispose","parseYaml","useCallback","_defineProperty","handleState","state","lineStart","result","curWord","input","substring","lineIndent","_result$match","source","wrapLength","nearWrapIndex","specilStringPrefix","isString","find","listen","bind","parseValue","undefined","yaml","listener","_decorationsCollectio","tokens","getTokens","forEach","globalNodes","preevaluate","hooks","beforeVisit","node","object","name","start","end","loc","_node$object","_loc$start","_loc$end","_loc$start2","_loc$end2","hadWrap","prefix","_node$object2","_result$prefix","_result$prefix2","inlineClassName","modelMarkers","_matchTokenConf$param","_matchTokenConf$level","matchTokenConf","params","message","severity","level","code","target","parse","setModelMarkers","_decorationsCollectio2","useLayoutEffect","_editorRef$current","getBoundingClientRect","layout","observer","ResizeObserver","entry","_editorRef$current2","newWidth","contentBoxSize","inlineSize","contentRect","observe","disconnect","container","brick","found","tagName","toLowerCase","parentElement","getDOMContainer","offsetHeight","updateOptions","createModel","create","minimap","enabled","scrollBeyondLastLine","tabSize","insertSpaces","fontSize","lineHeight","scrollbar","horizontalScrollbarSize","verticalScrollbarSize","horizontalSliderSize","verticalSliderSize","alwaysConsumeMouseWheel","padding","top","bottom","overviewRulerBorder","mouseWheelScrollSensitivity","suggest","insertMode","preview","quickSuggestions","strings","other","comments","createDecorationsCollection","editor","editorMouseDownEvent","onMouseDown","_decorations$getRange","_decorations$getRange2","decorations","getRanges","call","modKey","navigator","platform","containsPosition","mouseOverEvent","onMouseMove","newDecorations","equalsRange","onDidContentSizeChange","contentHeightChanged","newHeight","fixEditorHeightWithScrollBar","contentHeight","getContentHeight","onDidChangeContent","isFlush","_editorRef$current3","_editorRef$current4","React","ref","style","outline","getContentHeightByLines","Math","min","max","split","fixedHeight","lines","_init_name","_init_label","_init_value","_init_language","_init_theme","_init_required","_init_readOnly","_init_automaticLayout","_init_minLines","_init_completers","_init_advancedCompleters","_init_markers","_init_links","_init_maxLines","_init_height","_init_message","_init_codeChange","_init_userInput","_this$getFormElement","formStore","emit","_init_highlighClickEvent","_unused","required","connectedCallback","display","super","render","curElement","formElement","validator","c","_initClass","o","has","_checkInRHS","___CSS_LOADER_EXPORT___","module","id"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/2383.410fe539.js","mappings":"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","sources":["webpack:///../../src/FormItemElement.tsx","webpack:///./src/code-editor/utils/brickNextSourceMap.ts","webpack:///./src/code-editor/constants.ts","webpack:///./src/code-editor/utils/constants.ts","webpack:///./src/code-editor/utils/brickNextYaml.ts","webpack:///./src/code-editor/index.css?aefa","webpack:///./src/code-editor/index.tsx","webpack:///./src/code-editor/index.css"],"sourcesContent":["import { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { AbstractForm } from \"./Form.js\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\n\nconst { method, property } = createDecorators();\n\nexport abstract class FormItemElementBase extends ReactNextElement {\n accessor #_notRender = false;\n accessor #validate = \"normal\";\n accessor #bindFormItem = false;\n\n get isFormItemElement(): true {\n return true;\n }\n\n set validateState(value: string) {\n this.#validate = value;\n this._render();\n }\n get validateState() {\n return this.#validate;\n }\n\n /**\n * 控制该表单项是否隐藏\n * @default false\n * @group ui\n */\n set notRender(value: boolean) {\n this.hidden = value;\n this.#_notRender = value;\n this._render();\n }\n get notRender(): boolean {\n return this.#_notRender;\n }\n\n get $bindFormItem() {\n return this.#bindFormItem;\n }\n set $bindFormItem(value: boolean) {\n this.#bindFormItem = value;\n this._render();\n }\n\n @property({\n attribute: false,\n })\n accessor helpBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @method()\n setNotRender(value: boolean) {\n this.notRender = value;\n }\n\n @method()\n getFormElement(): AbstractForm | null {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let element: AbstractForm | null = this as unknown as AbstractForm;\n while ((element = element.parentNode as AbstractForm | null)) {\n if (!element || element.isFormElement) {\n break;\n }\n }\n return element as AbstractForm | null;\n }\n}\n","import type { State } from \"js-yaml\";\nimport { isEqual } from \"lodash\";\n\nexport interface Token {\n startLineNumber: number;\n endLineNumber: number;\n startColumn: number;\n endColumn: number;\n source: string;\n isString?: boolean;\n}\n\nclass BrickNextYamlSourceMap {\n #recordsToken: Token[];\n #prefixPosition: number;\n #recordLastWord: string;\n\n constructor() {\n this.#recordsToken = [];\n this.#prefixPosition = 0;\n this.#recordLastWord = \"\";\n }\n\n private handleState(event: \"open\" | \"close\", state: State): void {\n if (event === \"close\") {\n const { line, position, lineStart, result } = state;\n const curWord = state.input.substring(lineStart, position);\n if (curWord.trim() === this.#recordLastWord.trim()) return;\n this.#recordLastWord = curWord;\n let startLineNumber = line + 1;\n let endLineNumber = line + 1;\n let startColumn = position - lineStart - result.length;\n let endColumn = position - lineStart - state.lineIndent;\n if (\n typeof result === \"string\" &&\n /^\\s*<%[~=]?\\s/.test(result) &&\n /\\s%>\\s*$/.test(result)\n ) {\n let source = result;\n const wrapLength = result.match(/\\n/g)?.length;\n if (wrapLength) {\n let nearWrapIndex = this.#prefixPosition;\n for (let i = this.#prefixPosition; i < state.input.length; i++) {\n if (state.input[i] === \"\\n\") {\n nearWrapIndex = i + 1;\n break;\n }\n }\n const specilStringPrefix = /(\\|-|>-)/.test(\n state.input.substring(this.#prefixPosition, position - 1)\n );\n source = state.input.substring(nearWrapIndex, position - 1);\n startLineNumber =\n state.line - wrapLength + 1 - Number(specilStringPrefix);\n endLineNumber = line;\n startColumn = 0;\n endColumn = 0;\n }\n const token = {\n source,\n startLineNumber,\n endLineNumber,\n startColumn,\n endColumn,\n isString: ['\"', \"'\"].includes(\n state.input[lineStart + startColumn - 2]\n ),\n };\n !this.#recordsToken.find((item) => isEqual(item, token)) &&\n this.#recordsToken.push(token);\n }\n this.#prefixPosition = position;\n }\n }\n\n public listen() {\n return this.handleState.bind(this);\n }\n\n public getTokens = () => {\n return this.#recordsToken;\n };\n}\n\nexport default BrickNextYamlSourceMap;\n","export const EDITOR_FONT_SIZE = 12;\nexport const EDITOR_LINE_HEIGHT = 18;\nexport const EDITOR_SCROLLBAR_SIZE = 12;\nexport const EDITOR_PADDING_VERTICAL = 12;\n","export const EVALUATE_KEYWORD = [\n \"CTX\",\n \"STATE\",\n \"DATA\",\n \"EVENT\",\n \"FLAGS\",\n \"APP\",\n \"ANCHOR\",\n \"HASH\",\n \"INSTALLED_APPS\",\n \"ITEM\",\n \"LOCAL_STORAGE\",\n \"MEDIA\",\n \"MISC\",\n \"PARAMS\",\n \"PATH\",\n \"PROCESSORS\",\n \"QUERY\",\n \"QUERY_ARRAY\",\n \"SESSION_STORAGE\",\n \"TPL\",\n \"SYS\",\n \"BASE_URL\",\n \"IMG\",\n \"FN\",\n \"I18N\",\n \"I18N_TEXT\",\n \"PERMISSIONS\",\n \"THEME\",\n];\n\nexport const brickNextKeywords = [\n \"target\",\n \"targetRef\",\n \"properties\",\n \"events\",\n \"method\",\n \"callback\",\n \"success\",\n \"error\",\n \"action\",\n \"useProvider\",\n \"useChildren\",\n \"useBrick\",\n \"args\",\n \"if\",\n \"then\",\n];\n\nexport const Level = {\n hit: 1,\n info: 2,\n warn: 4,\n error: 8,\n};\n","import * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport storyboardJsonSchema from \"@next-core/types/storyboard.json\";\nimport { EVALUATE_KEYWORD, brickNextKeywords, Level } from \"./constants.js\";\nimport { get } from \"lodash\";\n\nconst findKeys = (\n model: monaco.editor.ITextModel,\n range: monaco.Range | monaco.editor.IWordAtPosition,\n line: number\n) => {\n const curLevelKeys: string[] = [];\n const keyList: string[] = [];\n let parentKey = \"\";\n let i = line;\n let startColumn = range.startColumn;\n while (i > 0) {\n const prefixLineWord = model.getValueInRange({\n startLineNumber: i,\n endLineNumber: i,\n startColumn: 0,\n endColumn: Infinity,\n });\n const matchWord = prefixLineWord.match(/^([\\s|-]*)(\\w+)(?=:)/);\n if (matchWord) {\n const [_, wordspace, key] = matchWord;\n if (wordspace.length === range.startColumn - 1) {\n curLevelKeys.unshift(key);\n }\n if (wordspace.length < startColumn - 1) {\n !parentKey && (parentKey = key);\n startColumn = wordspace.length;\n keyList.unshift(key);\n }\n }\n i--;\n }\n return {\n curLevelKeys,\n keyList,\n parentKey,\n };\n};\n\nconst getPrefixWord = (\n model: monaco.editor.ITextModel,\n position: monaco.Position\n): {\n word: string | undefined;\n token: string;\n} => {\n const word = model.getWordUntilPosition(position);\n const prefixToken = model.getValueInRange({\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: position.column - word.word.length - 1,\n endColumn: position.column - word.word.length,\n });\n const prefixWord = model.getWordAtPosition({\n ...position,\n column: position.column - word?.word?.length - 1,\n });\n return {\n word: prefixWord?.word,\n token: prefixToken,\n };\n};\n\nexport const isInEvaluateBody = (\n model: monaco.editor.ITextModel,\n position: monaco.Position\n): boolean => {\n const word = model.getWordUntilPosition(position);\n const prefixEvaluateOperator = model.findPreviousMatch(\n \"<%\",\n position,\n false,\n false,\n null,\n false\n );\n const suffixEvaluateOperator = model.findNextMatch(\n \"%>\",\n position,\n false,\n false,\n null,\n false\n );\n const isInEvaluateBody =\n prefixEvaluateOperator?.range.startLineNumber &&\n suffixEvaluateOperator?.range.startLineNumber &&\n prefixEvaluateOperator.range.startLineNumber <= position.lineNumber &&\n suffixEvaluateOperator.range.endLineNumber >= position.lineNumber;\n\n if (isInEvaluateBody) {\n const { parentKey: prefixParentKey } = findKeys(\n model,\n prefixEvaluateOperator.range,\n prefixEvaluateOperator?.range.startLineNumber\n );\n const { parentKey: suffixParentKey } = findKeys(\n model,\n suffixEvaluateOperator.range,\n suffixEvaluateOperator?.range.startLineNumber\n );\n const { keyList } = findKeys(model, word, position.lineNumber);\n if (\n prefixParentKey === suffixParentKey &&\n keyList.includes(prefixParentKey)\n ) {\n return true;\n }\n }\n return false;\n};\n\nexport const brickNextYAMLProvideCompletionItems = (\n completers?: monaco.languages.CompletionItem[],\n advancedCompleters?: Record<\n string,\n { triggerCharacter: string; completers: monaco.languages.CompletionItem[] }\n >\n) => {\n return (\n model: monaco.editor.ITextModel,\n position: monaco.Position,\n context: monaco.languages.CompletionContext,\n _token: monaco.CancellationToken\n ): monaco.languages.ProviderResult<monaco.languages.CompletionList> => {\n const word = model.getWordUntilPosition(position);\n const { word: prefixWord, token: prefixToken } = getPrefixWord(\n model,\n position\n );\n const curLineWord = model.getValueInRange({\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: 0,\n endColumn: Infinity,\n });\n const range = {\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: word.startColumn,\n endColumn: word.endColumn,\n };\n\n const isFirstLevelProperty = word.startColumn === 1;\n const { curLevelKeys } = findKeys(model, word, model.getLineCount());\n\n if (context.triggerCharacter === \"<\") {\n const fullWord = model.getValueInRange({\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: position.column - 2,\n endColumn: position.column + 2,\n });\n if (fullWord.trim() !== \"<\") {\n return {\n suggestions: [],\n };\n }\n return {\n suggestions: [\n {\n label: \"<% %>\",\n detail: \"Evalute Body\",\n kind: monaco.languages.CompletionItemKind.Value,\n insertText: \"% ${0} %>\",\n insertTextRules:\n monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n range: range,\n },\n {\n label: \"<%= %>\",\n detail: \"Track Evalute Body\",\n kind: monaco.languages.CompletionItemKind.Value,\n insertText: \"%= ${0} %>\",\n insertTextRules:\n monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n range: range,\n },\n ],\n };\n }\n\n if (isFirstLevelProperty) {\n return {\n suggestions: (completers ?? [])\n .filter((item) => !curLevelKeys.includes(item.label as string))\n .map((item) => ({\n ...item,\n label: item.label,\n insertText: item.insertText || (item.label as string),\n kind: monaco.languages.CompletionItemKind.Keyword,\n range,\n })),\n };\n }\n\n if (\n context.triggerCharacter === \":\" ||\n (context.triggerCharacter === \".\" &&\n prefixWord &&\n ![\"CTX\", \"STATE\", \"FN\"].includes(prefixWord))\n ) {\n if (prefixWord === \"action\" && context.triggerCharacter === \":\") {\n const actions = get(\n storyboardJsonSchema,\n \"definitions.BuiltinBrickEventHandler.properties.action.enum\"\n );\n return {\n suggestions: ((actions as unknown as string[]) ?? [])?.map(\n (item) => ({\n label: ` ${item}`,\n detail: \"event action\",\n kind: monaco.languages.CompletionItemKind.Keyword,\n insertText: ` ${item}`,\n range,\n })\n ),\n };\n }\n const matchCompletion = advancedCompleters?.[prefixWord as string];\n let matchTriggerCharacter = \"\";\n let list: monaco.languages.CompletionItem[] | undefined;\n if (matchCompletion && !Array.isArray(matchCompletion)) {\n list = matchCompletion.completers;\n matchTriggerCharacter = matchCompletion.triggerCharacter;\n } else {\n list = matchCompletion;\n }\n if (\n matchTriggerCharacter\n ? context.triggerCharacter === matchTriggerCharacter && list\n : list\n ) {\n return {\n suggestions: (list ?? []).map((item) => {\n const label =\n matchTriggerCharacter === \":\"\n ? ` ${item.label}`\n : (item.label as string);\n return {\n ...item,\n label: label,\n kind: monaco.languages.CompletionItemKind.Value,\n insertText: item.insertText || label,\n range,\n };\n }),\n };\n }\n }\n\n if (isInEvaluateBody(model, position)) {\n if (\n prefixWord &&\n [\"CTX\", \"STATE\"].includes(prefixWord) &&\n advancedCompleters\n ) {\n return {\n suggestions: (advancedCompleters[prefixWord]?.completers ?? []).map(\n (item) => ({\n label: item.label,\n insertText: item.label as string,\n kind: monaco.languages.CompletionItemKind.Value,\n range,\n })\n ),\n };\n }\n\n if (\n prefixWord === \"FN\" &&\n context.triggerCharacter === \".\" &&\n advancedCompleters\n ) {\n return {\n suggestions: (advancedCompleters[\"FN\"]?.completers ?? []).map(\n (item) => ({\n label: item.label,\n insertText: item.label as string,\n kind: monaco.languages.CompletionItemKind.Value,\n range,\n })\n ),\n };\n }\n\n if (prefixWord === \"APP\" && context.triggerCharacter === \".\") {\n const appProperties = get(\n storyboardJsonSchema,\n \"definitions.MicroApp.properties\"\n );\n const suggestions = [];\n for (const [k, v] of Object.entries(\n appProperties as unknown as Record<\n string,\n {\n description: string;\n type: string;\n enum: string[];\n }\n >\n )) {\n suggestions.push({\n label: k,\n kind: monaco.languages.CompletionItemKind.Value,\n documentation: v.description,\n detail: v.enum ? v.enum.join(\"|\") : v.type,\n insertText: k,\n range,\n });\n }\n return {\n suggestions,\n };\n }\n\n if ([\".\", \":\"].includes(prefixToken)) {\n return {\n suggestions: [],\n };\n }\n\n return {\n suggestions: EVALUATE_KEYWORD.map((item) => ({\n label: item,\n insertText: item,\n kind: monaco.languages.CompletionItemKind.Keyword,\n range,\n })),\n };\n }\n\n if (/^[\\s|-]*\\w$/.test(curLineWord)) {\n return {\n suggestions: brickNextKeywords\n .map((item) => ({\n label: item,\n insertText: item,\n kind: monaco.languages.CompletionItemKind.Keyword,\n range,\n }))\n .filter((item) => !curLevelKeys.includes(item.label as string)),\n };\n }\n\n return {\n suggestions: [],\n };\n };\n};\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./index.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./index.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport { register as registerJavaScript } from \"@next-core/monaco-contributions/javascript\";\nimport { register as registerTypeScript } from \"@next-core/monaco-contributions/typescript\";\nimport { register as registerYaml } from \"@next-core/monaco-contributions/yaml\";\nimport { register as registerHtml } from \"@next-core/monaco-contributions/html\";\nimport yaml from \"js-yaml\";\nimport BrickNextYamlSourceMap, { Token } from \"./utils/brickNextSourceMap.js\";\nimport \"@next-core/theme\";\nimport { isEqual } from \"lodash\";\nimport {\n EDITOR_SCROLLBAR_SIZE,\n EDITOR_PADDING_VERTICAL,\n EDITOR_LINE_HEIGHT,\n EDITOR_FONT_SIZE,\n} from \"./constants.js\";\nimport { brickNextYAMLProvideCompletionItems } from \"./utils/brickNextYaml.js\";\nimport \"./index.css\";\nimport { EVALUATE_KEYWORD, Level } from \"./utils/constants.js\";\nimport type { MemberExpression, Identifier } from \"@babel/types\";\nimport { preevaluate } from \"@next-core/cook\";\n\nregisterJavaScript(monaco);\nregisterTypeScript(monaco);\nregisterYaml(monaco, \"brick_next_yaml\");\nregisterHtml(monaco);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nexport interface CodeEditorProps {\n name?: string;\n label?: string;\n value?: string;\n language?: string;\n theme?: string;\n required?: boolean;\n readOnly?: boolean;\n automaticLayout?: \"fit-container\" | \"fit-content\" | \"none\";\n minLines?: number;\n maxLines?: number;\n height?: string | number;\n completers?: monaco.languages.CompletionItem[];\n advancedCompleters?: Record<\n string,\n { triggerCharacter: string; completers: monaco.languages.CompletionItem[] }\n >;\n markers?: Marker[];\n links?: string[];\n validateState?: string;\n}\n\nexport interface Marker {\n token: string;\n level: keyof typeof Level;\n message: string;\n code?: {\n value: string;\n target: string;\n };\n params?: string[];\n}\n\n/**\n * 构件 code-editor\n */\nexport\n@defineElement(\"vs.code-editor\", {\n // There are a few issues for monaco-editor with shadow DOM.\n // So we use light DOM for now.\n // See https://github.com/microsoft/monaco-editor/issues?q=is%3Aissue+is%3Aopen+shadow+dom\n shadowOptions: false,\n})\nclass CodeEditor extends FormItemElementBase implements CodeEditorProps {\n @property()\n accessor name: string | undefined;\n\n @property()\n accessor label: string | undefined;\n\n @property({ attribute: false })\n accessor value: string | undefined;\n\n /**\n * @default \"plaintext\"\n */\n @property()\n accessor language: string | undefined;\n\n /**\n * 主题,支持 `\"auto\" | \"vs\" | \"vs-dark\"`\n *\n * @default \"auto\"\n * @group ui\n */\n @property() accessor theme: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n @property({\n type: Boolean,\n })\n accessor readOnly: boolean | undefined;\n\n @property()\n accessor automaticLayout:\n | \"fit-container\"\n | \"fit-content\"\n | \"none\"\n | undefined;\n\n /**\n * @default 3\n */\n @property({ type: Number })\n accessor minLines: number | undefined;\n\n @property({\n attribute: false,\n })\n accessor completers: monaco.languages.CompletionItem[] | undefined;\n\n @property({\n attribute: false,\n })\n accessor advancedCompleters:\n | Record<\n string,\n {\n triggerCharacter: string;\n completers: monaco.languages.CompletionItem[];\n }\n >\n | undefined;\n\n @property({ attribute: false })\n accessor markers: Marker[] | undefined;\n\n @property({ attribute: false })\n accessor links: string[] | undefined;\n\n /**\n * @default Infinity\n */\n @property({ type: Number })\n accessor maxLines: number | undefined;\n\n @property({ attribute: false })\n accessor height: string | number | undefined;\n\n @property()\n accessor message: string | undefined;\n\n @event({ type: \"code.change\" })\n accessor #codeChange!: EventEmitter<string>;\n\n @event({ type: \"user.input\" })\n accessor #userInput!: EventEmitter<string>;\n\n #handleChange = (value: string, parseValue: any, isFlush: boolean) => {\n this.getFormElement()?.formStore.onChange(this.name!, value);\n this.#codeChange.emit(parseValue);\n if (!isFlush) {\n this.#userInput.emit(parseValue);\n }\n };\n\n @event({ type: \"token.click\" })\n accessor #highlighClickEvent!: EventEmitter<string>;\n\n #handleHighlightClick = (word: string) => {\n this.#highlighClickEvent.emit(word);\n };\n\n #handleValidtor = (value: string) => {\n try {\n yaml.load(value);\n } catch {\n return \"请填写正确的格式\";\n }\n return \"\";\n };\n\n connectedCallback(): void {\n // Don't override user's style settings.\n // istanbul ignore else\n if (!this.style.display) {\n this.style.display = \"block\";\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <WrappedFormItem\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n required={this.required}\n validator={this.#handleValidtor}\n >\n <CodeEditorComponent\n value={this.value}\n language={this.language}\n readOnly={this.readOnly}\n theme={this.theme}\n automaticLayout={this.automaticLayout}\n minLines={this.minLines}\n maxLines={this.maxLines}\n height={this.height}\n completers={this.completers}\n advancedCompleters={this.advancedCompleters}\n markers={this.markers}\n links={this.links}\n validateState={this.validateState}\n onChange={this.#handleChange}\n onHighlightClick={this.#handleHighlightClick}\n />\n </WrappedFormItem>\n );\n }\n}\n\nexport function CodeEditorComponent({\n value: _value,\n language: _language,\n theme: _theme,\n minLines: _minLines,\n maxLines: _maxLines,\n height: _height,\n automaticLayout,\n completers,\n advancedCompleters,\n markers,\n readOnly,\n links,\n validateState,\n onChange,\n onHighlightClick,\n}: CodeEditorProps & {\n onChange(value: string, parseValue: any, isFlush: boolean): void;\n onHighlightClick(word: string): void;\n}) {\n const value = _value ?? \"\";\n const language = _language ?? \"plaintext\";\n const theme = _theme ?? \"auto\";\n const minLines = _minLines ?? 3;\n const maxLines = _maxLines ?? Infinity;\n const height = _height ?? 500;\n\n const containerRef = useRef<HTMLDivElement>(null);\n const decorationsCollection =\n useRef<monaco.editor.IEditorDecorationsCollection>();\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n const size = useRef<monaco.editor.IDimension>({\n width: 300,\n height: getContentHeightByCode(value, minLines, maxLines),\n });\n const [actualHeight, setActualHeight] = useState<string | number>();\n // `automaticLayout` should never change\n const automaticLayoutRef = useRef(automaticLayout);\n const systemTheme = useCurrentTheme();\n\n useEffect(() => {\n // Currently theme is configured globally.\n // See https://github.com/microsoft/monaco-editor/issues/338\n monaco.editor.setTheme(\n theme === \"auto\"\n ? systemTheme === \"dark\" || systemTheme === \"dark-v2\"\n ? \"vs-dark\"\n : \"vs\"\n : theme\n );\n }, [systemTheme, theme]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n monaco.editor.setModelLanguage(currentModel, language);\n if (!isEqual(currentModel.getValue(), value)) {\n currentModel.setValue(value);\n }\n }\n }, [value, language]);\n\n useEffect(() => {\n if (language === \"brick_next_yaml\") {\n const provideCompletionItems = brickNextYAMLProvideCompletionItems(\n completers,\n advancedCompleters\n );\n const monacoProviderRef = monaco.languages.registerCompletionItemProvider(\n \"brick_next_yaml\",\n {\n provideCompletionItems,\n triggerCharacters: [\".\", \":\", \"<\"],\n }\n );\n return () => {\n monacoProviderRef.dispose();\n };\n }\n }, [completers, advancedCompleters, language]);\n\n const parseYaml = useCallback(() => {\n const map = new BrickNextYamlSourceMap();\n let parseValue = undefined;\n if (editorRef.current) {\n const model = editorRef.current.getModel()!;\n\n try {\n parseValue = yaml.load(value, {\n listener: map.listen(),\n });\n\n if ((links || markers) && editorRef.current) {\n const tokens: Omit<\n Token & { token: string; property: string },\n \"source\"\n >[] = [];\n map.getTokens().forEach((item) => {\n const { startLineNumber, endLineNumber, startColumn } = item;\n const globalNodes: MemberExpression[] = [];\n const result = preevaluate(item.source, {\n hooks: {\n beforeVisit(node) {\n if (\n node.type === \"MemberExpression\" &&\n node.object.type === \"Identifier\" &&\n EVALUATE_KEYWORD.includes(node.object.name) &&\n node.property.type === \"Identifier\"\n ) {\n globalNodes.push(node);\n }\n },\n },\n });\n\n globalNodes.forEach((node) => {\n const { start, end, loc } = node;\n if (item.startLineNumber !== item.endLineNumber) {\n const hadWrap = /<%[ ]+/.test(result.prefix);\n tokens.push({\n token: (node.object as Identifier)?.name,\n property: (node.property as Identifier).name,\n startLineNumber:\n item.startLineNumber +\n (loc?.start?.line as number) -\n Number(hadWrap),\n endLineNumber:\n item.startLineNumber +\n (loc?.end?.line as number) -\n Number(hadWrap),\n startColumn:\n (hadWrap && loc?.start.line === 1\n ? result.prefix.length\n : 0) +\n (loc?.start?.column as number) +\n 1,\n endColumn:\n (hadWrap && loc?.start.line === 1\n ? result.prefix.length\n : 0) +\n (loc?.end?.column as number) +\n 1,\n });\n } else {\n tokens.push({\n token: (node.object as Identifier)?.name,\n property: (node.property as Identifier).name,\n startLineNumber,\n endLineNumber,\n startColumn:\n startColumn +\n (start as number) +\n result.prefix?.length +\n Number(!item.isString),\n endColumn:\n startColumn +\n (end as number) +\n result.prefix?.length +\n Number(!item.isString),\n });\n }\n });\n });\n\n decorationsCollection.current?.set(\n tokens\n .filter((token) => links?.includes(token.token))\n .map((token) => ({\n range: new monaco.Range(\n token.startLineNumber,\n token.startColumn,\n token.endLineNumber,\n token.endColumn\n ),\n options: {\n inlineClassName: \"highlight\",\n },\n }))\n );\n\n if (markers) {\n const modelMarkers = tokens\n .map((token) => {\n const matchTokenConf = markers.find(\n (item) => item.token === token.token\n );\n const hadProperty = matchTokenConf?.params\n ? matchTokenConf.params?.includes(token.property)\n : true;\n if (!hadProperty) {\n return {\n severity: Level.warn,\n message: \"Miss Property\",\n startLineNumber: token.startLineNumber,\n endLineNumber: token.endLineNumber,\n startColumn: token.startColumn,\n endColumn: token.endColumn,\n };\n }\n if (matchTokenConf && matchTokenConf.message) {\n return {\n severity: Level[matchTokenConf?.level ?? \"warn\"],\n message: matchTokenConf.message,\n ...(matchTokenConf.code\n ? {\n code: {\n value: matchTokenConf.code.value,\n target: monaco.Uri.parse(\n matchTokenConf.code.target\n ),\n },\n }\n : {}),\n startLineNumber: token.startLineNumber,\n endLineNumber: token.endLineNumber,\n startColumn: token.startColumn,\n endColumn: token.endColumn,\n };\n }\n })\n .filter(Boolean) as monaco.editor.IMarkerData[];\n\n monaco.editor.setModelMarkers(\n model,\n \"brick_next_yaml\",\n modelMarkers\n );\n }\n }\n } catch (e) {\n monaco.editor.setModelMarkers(model, \"brick_next_yaml\", []);\n decorationsCollection?.current?.set([]);\n }\n }\n return parseValue;\n }, [value, links, markers]);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-content\" || !containerRef.current) {\n return;\n }\n\n size.current.width = containerRef.current.getBoundingClientRect().width;\n editorRef.current?.layout(size.current);\n\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === containerRef.current) {\n const newWidth = entry.contentBoxSize\n ? entry.contentBoxSize[0].inlineSize\n : entry.contentRect.width;\n if (newWidth !== size.current.width) {\n size.current.width = newWidth;\n editorRef.current?.layout(size.current);\n }\n break;\n }\n }\n });\n observer.observe(containerRef.current);\n\n return () => {\n observer.disconnect();\n };\n }, []);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-container\") {\n return;\n }\n\n const container = getDOMContainer(containerRef.current);\n if (!container) {\n return;\n }\n // Manually layout the editor once the container resized.\n const observer = new ResizeObserver((): void => {\n setActualHeight(container.offsetHeight);\n });\n observer.observe(container);\n return () => {\n observer.disconnect();\n };\n }, []);\n\n useEffect(() => {\n if (\n automaticLayoutRef.current !== \"fit-container\" &&\n automaticLayoutRef.current !== \"fit-content\"\n ) {\n setActualHeight(height);\n }\n }, [height]);\n\n useEffect(() => {\n if (!editorRef.current) return;\n editorRef.current.updateOptions({\n readOnly,\n });\n }, [readOnly]);\n\n useEffect(() => {\n if (editorRef.current || !containerRef.current) {\n return;\n }\n const model = monaco.editor.createModel(value, language);\n editorRef.current = monaco.editor.create(containerRef.current, {\n model,\n minimap: {\n enabled: false,\n },\n scrollBeyondLastLine: false,\n tabSize: 2,\n insertSpaces: true,\n automaticLayout: automaticLayoutRef.current !== \"fit-content\",\n fontSize: EDITOR_FONT_SIZE,\n lineHeight: EDITOR_LINE_HEIGHT,\n scrollbar: {\n horizontalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n verticalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n horizontalSliderSize: 8,\n verticalSliderSize: 8,\n alwaysConsumeMouseWheel: false,\n },\n padding: {\n top: EDITOR_PADDING_VERTICAL,\n // When use `fit-content`, we always plus the height with the vertical padding.\n // Thus the possible x-scrollbar will not take extra space at the bottom.\n bottom:\n automaticLayoutRef.current == \"fit-content\"\n ? undefined\n : EDITOR_PADDING_VERTICAL,\n },\n overviewRulerBorder: false,\n mouseWheelScrollSensitivity: 0.5,\n suggest: {\n insertMode: \"insert\",\n preview: true,\n },\n readOnly: readOnly,\n quickSuggestions: { strings: true, other: true, comments: true },\n });\n\n decorationsCollection.current =\n editorRef.current.createDecorationsCollection();\n }, [value, language, readOnly]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (language === \"brick_next_yaml\" && editor) {\n const model = editor.getModel()!;\n const editorMouseDownEvent = editor.onMouseDown(function (e) {\n const decorations = decorationsCollection.current;\n (decorations?.getRanges?.() ?? []).forEach((range) => {\n const modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n if (\n range &&\n e.target.position &&\n e.event[modKey] &&\n range.containsPosition(e.target.position)\n ) {\n onHighlightClick(model.getValueInRange(range));\n }\n });\n });\n\n const mouseOverEvent = editor.onMouseMove(function (e) {\n const decorations = decorationsCollection.current;\n if (!decorations) return;\n decorations.getRanges().forEach((range) => {\n const modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n if (\n range &&\n e.target.position &&\n e.event[modKey] &&\n range.containsPosition(e.target.position)\n ) {\n const newDecorations = decorations.getRanges().map((item) => ({\n range: item,\n options: {\n inlineClassName: range.equalsRange(item)\n ? \"highlight pointer\"\n : \"highlight\",\n },\n }));\n decorations.set(newDecorations);\n } else if (!e.event[modKey]) {\n const newDecorations = decorations.getRanges().map((item) => ({\n range: item,\n options: {\n inlineClassName: \"highlight\",\n },\n }));\n decorations.set(newDecorations);\n }\n });\n });\n\n parseYaml();\n\n return () => {\n mouseOverEvent?.dispose();\n editorMouseDownEvent?.dispose();\n };\n }\n }, [language, onHighlightClick, systemTheme, theme, parseYaml]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (\n !editor ||\n !containerRef.current ||\n automaticLayoutRef.current !== \"fit-content\"\n ) {\n return;\n }\n\n const listener = editor.onDidContentSizeChange((e) => {\n if (e.contentHeightChanged) {\n const newHeight = fixEditorHeightWithScrollBar(\n e.contentHeight,\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n }\n });\n\n const newHeight = fixEditorHeightWithScrollBar(\n editor.getContentHeight(),\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n\n return () => {\n listener.dispose();\n };\n }, [maxLines, minLines]);\n\n useEffect(() => {\n if (!editorRef.current) {\n return;\n }\n const currentModel = editorRef.current.getModel()!;\n const listener = currentModel.onDidChangeContent((e) => {\n const parseValue = parseYaml();\n onChange(currentModel.getValue(), parseValue, e.isFlush);\n });\n return () => {\n listener.dispose();\n };\n }, [onChange, parseYaml]);\n\n useEffect(() => {\n return () => {\n editorRef.current?.getModel()?.dispose();\n editorRef.current?.dispose();\n };\n }, []);\n\n return (\n <div\n ref={containerRef}\n style={{\n height: actualHeight,\n ...(validateState === \"error\"\n ? {\n outline: \"1px solid var(--antd-error-color)\",\n }\n : {}),\n }}\n />\n );\n}\n\nfunction getContentHeightByCode(\n code: string,\n minLines: number,\n maxLines: number\n): number {\n return getContentHeightByLines(\n Math.min(maxLines, Math.max(minLines, code.split(\"\\n\").length))\n );\n}\n\nfunction fixEditorHeightWithScrollBar(\n contentHeight: number,\n minLines: number,\n maxLines: number\n): number {\n let fixedHeight = contentHeight;\n if ((contentHeight - EDITOR_PADDING_VERTICAL) % EDITOR_LINE_HEIGHT === 0) {\n fixedHeight = contentHeight + EDITOR_SCROLLBAR_SIZE;\n }\n return Math.min(\n getContentHeightByLines(maxLines),\n Math.max(fixedHeight, getContentHeightByLines(minLines))\n );\n}\n\nfunction getContentHeightByLines(lines: number): number {\n return (\n lines * EDITOR_LINE_HEIGHT + EDITOR_SCROLLBAR_SIZE + EDITOR_PADDING_VERTICAL\n );\n}\n\n/** Get the direct DOM container of `vs.code-editor` */\nfunction getDOMContainer(element: HTMLElement | null) {\n let brick = element;\n while (brick) {\n const found = brick.tagName.toLowerCase() === \"vs.code-editor\";\n brick = brick.parentElement;\n if (found) {\n return brick;\n }\n }\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.highlight{color:rgb(74 170 189)!important;text-decoration:underline;font-weight:bold;font-style:oblique}.pointer{cursor:pointer}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["method","property","createDecorators","_dec","attribute","_dec2","_dec3","_dec4","_A","WeakMap","_notRender","_B","_validate","_C","_bindFormItem","_D","_E","FormItemElementBase","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","get","_get_bindFormItem","set","_set_bindFormItem","_get_validate","_set_validate","_get__notRender","_set__notRender","writable","value","_initProto","_init_helpBrick","_init_labelBrick","isFormItemElement","validateState","_classPrivateFieldSet","this","_render","_classPrivateFieldGet","notRender","hidden","$bindFormItem","helpBrick","v","labelBrick","setNotRender","getFormElement","element","parentNode","isFormElement","_class","_applyDecs","e","_recordsToken","_prefixPosition","_recordLastWord","EDITOR_LINE_HEIGHT","EDITOR_SCROLLBAR_SIZE","EDITOR_PADDING_VERTICAL","EVALUATE_KEYWORD","brickNextKeywords","Level","hit","info","warn","error","findKeys","model","range","line","curLevelKeys","keyList","parentKey","i","startColumn","matchWord","getValueInRange","startLineNumber","endLineNumber","endColumn","Infinity","match","_","wordspace","key","length","unshift","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","registerJavaScript","monaco","registerTypeScript","registerYaml","registerHtml","_CodeEditor","defineElement","event","WrappedFormItem","wrapBrick","shadowOptions","_dec5","_dec6","_dec7","type","Boolean","_dec8","_dec9","_dec10","Number","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_dec18","_dec19","_dec20","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_codeChange","_R","_userInput","_handleChange","_S","_highlighClickEvent","_handleHighlightClick","_handleValidtor","_set_codeChange2","_set_codeChange","_get_codeChange2","_get_codeChange","_set_userInput2","_set_userInput","_get_userInput2","_get_userInput","_set_highlighClickEvent2","_set_highlighClickEvent","_get_highlighClickEvent2","_get_highlighClickEvent","CodeEditorComponent","_ref","_value","language","_language","theme","_theme","minLines","_minLines","maxLines","_maxLines","height","_height","automaticLayout","completers","advancedCompleters","markers","readOnly","links","onChange","onHighlightClick","containerRef","useRef","decorationsCollection","editorRef","size","width","getContentHeightByCode","actualHeight","setActualHeight","useState","automaticLayoutRef","systemTheme","useCurrentTheme","useEffect","setTheme","current","currentModel","getModel","setModelLanguage","isEqual","getValue","setValue","provideCompletionItems","brickNextYAMLProvideCompletionItems","position","context","_token","word","getWordUntilPosition","prefixWord","token","prefixToken","getPrefixWord","_word$word","lineNumber","column","getWordAtPosition","_objectSpread","curLineWord","isFirstLevelProperty","getLineCount","triggerCharacter","trim","suggestions","label","detail","kind","CompletionItemKind","Value","insertText","insertTextRules","CompletionItemInsertTextRule","InsertAsSnippet","filter","item","includes","map","Keyword","_ref2","storyboardJsonSchema","concat","list","_list","matchCompletion","matchTriggerCharacter","Array","isArray","isInEvaluateBody","prefixEvaluateOperator","findPreviousMatch","suffixEvaluateOperator","findNextMatch","prefixParentKey","suffixParentKey","_advancedCompleters$p","_advancedCompleters$p2","_advancedCompleters$F","_advancedCompleters$F2","appProperties","k","Object","entries","push","documentation","description","enum","join","test","monacoProviderRef","registerCompletionItemProvider","triggerCharacters","dispose","parseYaml","useCallback","_defineProperty","handleState","state","lineStart","result","curWord","input","substring","lineIndent","_result$match","source","wrapLength","nearWrapIndex","specilStringPrefix","isString","find","listen","bind","parseValue","undefined","yaml","listener","_decorationsCollectio","tokens","getTokens","forEach","globalNodes","preevaluate","hooks","beforeVisit","node","object","name","start","end","loc","_node$object","_loc$start","_loc$end","_loc$start2","_loc$end2","hadWrap","prefix","_node$object2","_result$prefix","_result$prefix2","inlineClassName","modelMarkers","_matchTokenConf$param","_matchTokenConf$level","matchTokenConf","params","message","severity","level","code","target","parse","setModelMarkers","_decorationsCollectio2","useLayoutEffect","_editorRef$current","getBoundingClientRect","layout","observer","ResizeObserver","entry","_editorRef$current2","newWidth","contentBoxSize","inlineSize","contentRect","observe","disconnect","container","brick","found","tagName","toLowerCase","parentElement","getDOMContainer","offsetHeight","updateOptions","createModel","create","minimap","enabled","scrollBeyondLastLine","tabSize","insertSpaces","fontSize","lineHeight","scrollbar","horizontalScrollbarSize","verticalScrollbarSize","horizontalSliderSize","verticalSliderSize","alwaysConsumeMouseWheel","padding","top","bottom","overviewRulerBorder","mouseWheelScrollSensitivity","suggest","insertMode","preview","quickSuggestions","strings","other","comments","createDecorationsCollection","editor","editorMouseDownEvent","onMouseDown","_decorations$getRange","_decorations$getRange2","decorations","getRanges","call","modKey","navigator","platform","containsPosition","mouseOverEvent","onMouseMove","newDecorations","equalsRange","onDidContentSizeChange","contentHeightChanged","newHeight","fixEditorHeightWithScrollBar","contentHeight","getContentHeight","onDidChangeContent","isFlush","_editorRef$current3","_editorRef$current4","React","ref","style","outline","getContentHeightByLines","Math","min","max","split","fixedHeight","lines","_init_name","_init_label","_init_value","_init_language","_init_theme","_init_required","_init_readOnly","_init_automaticLayout","_init_minLines","_init_completers","_init_advancedCompleters","_init_markers","_init_links","_init_maxLines","_init_height","_init_message","_init_codeChange","_init_userInput","_this$getFormElement","formStore","emit","_init_highlighClickEvent","_unused","required","connectedCallback","display","super","render","curElement","formElement","validator","c","_initClass","o","has","_checkInRHS","___CSS_LOADER_EXPORT___","module","id"],"sourceRoot":""}