@clusterenvision/ui-framework 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +295 -0
- package/dist/ai-assistant-Db002XYC.d.ts +92 -0
- package/dist/ai-assistant-EobSUV70.d.cts +92 -0
- package/dist/browser-DnHpnWwE.d.cts +354 -0
- package/dist/browser-Dx4oKf5e.d.ts +354 -0
- package/dist/browser-signals-07qodpYT.d.cts +66 -0
- package/dist/browser-signals-07qodpYT.d.ts +66 -0
- package/dist/browser-signals.cjs +32 -0
- package/dist/browser-signals.cjs.map +1 -0
- package/dist/browser-signals.d.cts +1 -0
- package/dist/browser-signals.d.ts +1 -0
- package/dist/browser-signals.js +3 -0
- package/dist/browser-signals.js.map +1 -0
- package/dist/browser.cjs +197 -0
- package/dist/browser.cjs.map +1 -0
- package/dist/browser.d.cts +13 -0
- package/dist/browser.d.ts +13 -0
- package/dist/browser.js +12 -0
- package/dist/browser.js.map +1 -0
- package/dist/chunk-22HQL2Y4.js +568 -0
- package/dist/chunk-22HQL2Y4.js.map +1 -0
- package/dist/chunk-3ZBRNFEE.js +1525 -0
- package/dist/chunk-3ZBRNFEE.js.map +1 -0
- package/dist/chunk-4HRORR2Q.js +1953 -0
- package/dist/chunk-4HRORR2Q.js.map +1 -0
- package/dist/chunk-4L3UXVL5.cjs +68 -0
- package/dist/chunk-4L3UXVL5.cjs.map +1 -0
- package/dist/chunk-6BYWFGQY.cjs +226 -0
- package/dist/chunk-6BYWFGQY.cjs.map +1 -0
- package/dist/chunk-7SCIB5HP.js +57 -0
- package/dist/chunk-7SCIB5HP.js.map +1 -0
- package/dist/chunk-BBAUALNU.js +888 -0
- package/dist/chunk-BBAUALNU.js.map +1 -0
- package/dist/chunk-CHLDE4JQ.js +715 -0
- package/dist/chunk-CHLDE4JQ.js.map +1 -0
- package/dist/chunk-CXTAUXLG.cjs +71 -0
- package/dist/chunk-CXTAUXLG.cjs.map +1 -0
- package/dist/chunk-D2USIT6V.js +121 -0
- package/dist/chunk-D2USIT6V.js.map +1 -0
- package/dist/chunk-D3H5CGVD.js +36 -0
- package/dist/chunk-D3H5CGVD.js.map +1 -0
- package/dist/chunk-DQBX75NJ.js +92 -0
- package/dist/chunk-DQBX75NJ.js.map +1 -0
- package/dist/chunk-DRPG2DFX.js +208 -0
- package/dist/chunk-DRPG2DFX.js.map +1 -0
- package/dist/chunk-EFOOXCY7.cjs +41 -0
- package/dist/chunk-EFOOXCY7.cjs.map +1 -0
- package/dist/chunk-FFCZSYC7.cjs +906 -0
- package/dist/chunk-FFCZSYC7.cjs.map +1 -0
- package/dist/chunk-FNXIYAET.cjs +1593 -0
- package/dist/chunk-FNXIYAET.cjs.map +1 -0
- package/dist/chunk-I6GNUM3P.cjs +63 -0
- package/dist/chunk-I6GNUM3P.cjs.map +1 -0
- package/dist/chunk-IHAMVLRY.js +129 -0
- package/dist/chunk-IHAMVLRY.js.map +1 -0
- package/dist/chunk-IRBUKIRF.cjs +133 -0
- package/dist/chunk-IRBUKIRF.cjs.map +1 -0
- package/dist/chunk-KPG5HAHK.cjs +97 -0
- package/dist/chunk-KPG5HAHK.cjs.map +1 -0
- package/dist/chunk-N7Q2ESLG.cjs +130 -0
- package/dist/chunk-N7Q2ESLG.cjs.map +1 -0
- package/dist/chunk-PFBEIFVS.js +180 -0
- package/dist/chunk-PFBEIFVS.js.map +1 -0
- package/dist/chunk-PVZVFICK.cjs +318 -0
- package/dist/chunk-PVZVFICK.cjs.map +1 -0
- package/dist/chunk-Q3KH6HMU.js +305 -0
- package/dist/chunk-Q3KH6HMU.js.map +1 -0
- package/dist/chunk-QPAAV32J.cjs +1985 -0
- package/dist/chunk-QPAAV32J.cjs.map +1 -0
- package/dist/chunk-R6XQUMWT.cjs +61 -0
- package/dist/chunk-R6XQUMWT.cjs.map +1 -0
- package/dist/chunk-SA5UD5B6.js +92 -0
- package/dist/chunk-SA5UD5B6.js.map +1 -0
- package/dist/chunk-SM35JOYD.cjs +211 -0
- package/dist/chunk-SM35JOYD.cjs.map +1 -0
- package/dist/chunk-SZQNIMYI.cjs +592 -0
- package/dist/chunk-SZQNIMYI.cjs.map +1 -0
- package/dist/chunk-T6T7QE4J.js +224 -0
- package/dist/chunk-T6T7QE4J.js.map +1 -0
- package/dist/chunk-TIF372DZ.js +65 -0
- package/dist/chunk-TIF372DZ.js.map +1 -0
- package/dist/chunk-V6JCOBGY.js +69 -0
- package/dist/chunk-V6JCOBGY.js.map +1 -0
- package/dist/chunk-VHUXNDW2.cjs +189 -0
- package/dist/chunk-VHUXNDW2.cjs.map +1 -0
- package/dist/chunk-W3LNNY3U.cjs +729 -0
- package/dist/chunk-W3LNNY3U.cjs.map +1 -0
- package/dist/chunk-ZUWSU4OA.js +61 -0
- package/dist/chunk-ZUWSU4OA.js.map +1 -0
- package/dist/chunk-ZWUA2LPB.cjs +103 -0
- package/dist/chunk-ZWUA2LPB.cjs.map +1 -0
- package/dist/cli/index.cjs +566 -0
- package/dist/cli/index.cjs.map +1 -0
- package/dist/cli/index.d.cts +1 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +558 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/compiler/index.cjs +80 -0
- package/dist/compiler/index.cjs.map +1 -0
- package/dist/compiler/index.d.cts +130 -0
- package/dist/compiler/index.d.ts +130 -0
- package/dist/compiler/index.js +3 -0
- package/dist/compiler/index.js.map +1 -0
- package/dist/component-BVzvepw9.d.cts +90 -0
- package/dist/component-wTxZ2BPD.d.ts +90 -0
- package/dist/index-CpxDa60m.d.cts +644 -0
- package/dist/index-CpxDa60m.d.ts +644 -0
- package/dist/index.cjs +1356 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +165 -0
- package/dist/index.d.ts +165 -0
- package/dist/index.js +772 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/dom.cjs +102 -0
- package/dist/lib/dom.cjs.map +1 -0
- package/dist/lib/dom.d.cts +373 -0
- package/dist/lib/dom.d.ts +373 -0
- package/dist/lib/dom.js +3 -0
- package/dist/lib/dom.js.map +1 -0
- package/dist/lib/icons.cjs +20 -0
- package/dist/lib/icons.cjs.map +1 -0
- package/dist/lib/icons.d.cts +64 -0
- package/dist/lib/icons.d.ts +64 -0
- package/dist/lib/icons.js +3 -0
- package/dist/lib/icons.js.map +1 -0
- package/dist/lib/index.cjs +247 -0
- package/dist/lib/index.cjs.map +1 -0
- package/dist/lib/index.d.cts +30 -0
- package/dist/lib/index.d.ts +30 -0
- package/dist/lib/index.js +92 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/theme.cjs +56 -0
- package/dist/lib/theme.cjs.map +1 -0
- package/dist/lib/theme.d.cts +27 -0
- package/dist/lib/theme.d.ts +27 -0
- package/dist/lib/theme.js +3 -0
- package/dist/lib/theme.js.map +1 -0
- package/dist/router-B9kms5XQ.d.ts +124 -0
- package/dist/router-YnpW_sIK.d.cts +124 -0
- package/dist/runtime/adapters/angular.cjs +48 -0
- package/dist/runtime/adapters/angular.cjs.map +1 -0
- package/dist/runtime/adapters/angular.d.cts +38 -0
- package/dist/runtime/adapters/angular.d.ts +38 -0
- package/dist/runtime/adapters/angular.js +46 -0
- package/dist/runtime/adapters/angular.js.map +1 -0
- package/dist/runtime/adapters/react.cjs +41 -0
- package/dist/runtime/adapters/react.cjs.map +1 -0
- package/dist/runtime/adapters/react.d.cts +26 -0
- package/dist/runtime/adapters/react.d.ts +26 -0
- package/dist/runtime/adapters/react.js +39 -0
- package/dist/runtime/adapters/react.js.map +1 -0
- package/dist/runtime/adapters/vue.cjs +44 -0
- package/dist/runtime/adapters/vue.cjs.map +1 -0
- package/dist/runtime/adapters/vue.d.cts +37 -0
- package/dist/runtime/adapters/vue.d.ts +37 -0
- package/dist/runtime/adapters/vue.js +42 -0
- package/dist/runtime/adapters/vue.js.map +1 -0
- package/dist/runtime/components/ai-assistant.cjs +18 -0
- package/dist/runtime/components/ai-assistant.cjs.map +1 -0
- package/dist/runtime/components/ai-assistant.d.cts +8 -0
- package/dist/runtime/components/ai-assistant.d.ts +8 -0
- package/dist/runtime/components/ai-assistant.js +9 -0
- package/dist/runtime/components/ai-assistant.js.map +1 -0
- package/dist/runtime/components/ai-summary-card.cjs +18 -0
- package/dist/runtime/components/ai-summary-card.cjs.map +1 -0
- package/dist/runtime/components/ai-summary-card.d.cts +19 -0
- package/dist/runtime/components/ai-summary-card.d.ts +19 -0
- package/dist/runtime/components/ai-summary-card.js +9 -0
- package/dist/runtime/components/ai-summary-card.js.map +1 -0
- package/dist/runtime/router.cjs +429 -0
- package/dist/runtime/router.cjs.map +1 -0
- package/dist/runtime/router.d.cts +2 -0
- package/dist/runtime/router.d.ts +2 -0
- package/dist/runtime/router.js +421 -0
- package/dist/runtime/router.js.map +1 -0
- package/dist/runtime/server.cjs +125 -0
- package/dist/runtime/server.cjs.map +1 -0
- package/dist/runtime/server.d.cts +27 -0
- package/dist/runtime/server.d.ts +27 -0
- package/dist/runtime/server.js +117 -0
- package/dist/runtime/server.js.map +1 -0
- package/dist/runtime/workflow/index.cjs +282 -0
- package/dist/runtime/workflow/index.cjs.map +1 -0
- package/dist/runtime/workflow/index.d.cts +1 -0
- package/dist/runtime/workflow/index.d.ts +1 -0
- package/dist/runtime/workflow/index.js +5 -0
- package/dist/runtime/workflow/index.js.map +1 -0
- package/dist/tracing-DGdvMCEl.d.cts +109 -0
- package/dist/tracing-DGdvMCEl.d.ts +109 -0
- package/dist/types-C4RXXKfk.d.cts +76 -0
- package/dist/types-C4RXXKfk.d.ts +76 -0
- package/package.json +166 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/runtime/di.js","../src/runtime/template.js","../src/runtime/ssr.js","../src/runtime/router-context.js","../src/runtime/component.js"],"names":["extra","isPromiseLike"],"mappings":";;;;;;;AAAO,IAAM,QAAA,GAAN,MAAM,SAAA,CAAS;AAAA,EAClB,YAAY,MAAA,EAAQ;AAChB,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AACd,IAAA,IAAA,CAAK,OAAA,uBAAc,GAAA,EAAI;AAAA,EAC3B;AAAA,EACA,SAAS,QAAA,EAAU;AACf,IAAA,IAAA,CAAK,QAAQ,GAAA,CAAI,QAAA,CAAS,KAAA,EAAO,YAAA,CAAa,QAAQ,CAAC,CAAA;AAAA,EAC3D;AAAA,EACA,GAAA,CAAI,OAAO,QAAA,EAAU;AACjB,IAAA,MAAM,MAAA,GAAS,IAAA,CAAK,OAAA,CAAQ,GAAA,CAAI,KAAK,CAAA;AACrC,IAAA,IAAI,MAAA,EAAQ;AACR,MAAA,IAAI,CAAC,OAAO,QAAA,EAAU;AAClB,QAAA,MAAA,CAAO,KAAA,GAAQ,MAAA,CAAO,OAAA,CAAQ,IAAI,CAAA;AAClC,QAAA,MAAA,CAAO,QAAA,GAAW,IAAA;AAAA,MACtB;AACA,MAAA,OAAO,MAAA,CAAO,KAAA;AAAA,IAClB;AACA,IAAA,IAAI,KAAK,MAAA,EAAQ;AACb,MAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAI,KAAA,EAAO,QAAQ,CAAA;AAAA,IAC1C;AACA,IAAA,IAAI,OAAO,aAAa,WAAA,EAAa;AACjC,MAAA,OAAO,QAAA;AAAA,IACX;AACA,IAAA,MAAM,IAAI,KAAA,CAAM,CAAA,sBAAA,EAAyB,KAAA,CAAM,QAAA,EAAU,CAAA,CAAE,CAAA;AAAA,EAC/D;AAAA,EACA,WAAA,CAAY,SAAA,GAAY,EAAC,EAAG;AACxB,IAAA,MAAM,KAAA,GAAQ,IAAI,SAAA,CAAS,IAAI,CAAA;AAC/B,IAAA,SAAA,CAAU,QAAQ,CAAA,QAAA,KAAY;AAC1B,MAAA,KAAA,CAAM,SAAS,QAAQ,CAAA;AAAA,IAC3B,CAAC,CAAA;AACD,IAAA,OAAO,KAAA;AAAA,EACX;AACJ;AACO,SAAS,cAAA,CAAe,SAAA,GAAY,EAAC,EAAG,MAAA,EAAQ;AACnD,EAAA,MAAM,QAAA,GAAW,IAAI,QAAA,CAAS,MAAM,CAAA;AACpC,EAAA,SAAA,CAAU,QAAQ,CAAA,QAAA,KAAY;AAC1B,IAAA,QAAA,CAAS,SAAS,QAAQ,CAAA;AAAA,EAC9B,CAAC,CAAA;AACD,EAAA,OAAO,QAAA;AACX;AACA,SAAS,aAAa,QAAA,EAAU;AAC5B,EAAA,IAAI,OAAO,SAAA,CAAU,cAAA,CAAe,IAAA,CAAK,QAAA,EAAU,UAAU,CAAA,EAAG;AAC5D,IAAA,OAAO;AAAA,MACH,OAAO,QAAA,CAAS,KAAA;AAAA,MAChB,QAAA,EAAU,IAAA;AAAA,MACV,OAAA,EAAS,MAAM,QAAA,CAAS,QAAA;AAAA,MACxB,OAAO,QAAA,CAAS;AAAA,KACpB;AAAA,EACJ;AACA,EAAA,IAAI,SAAS,QAAA,EAAU;AACnB,IAAA,MAAM,SAAS,QAAA,CAAS,QAAA;AACxB,IAAA,OAAO;AAAA,MACH,OAAO,QAAA,CAAS,KAAA;AAAA,MAChB,QAAA,EAAU,KAAA;AAAA,MACV,OAAA,EAAS,CAAA,QAAA,KAAY,IAAI,MAAA,CAAO,IAAI,QAAA,CAAS,IAAA,IAAQ,EAAC,EAAG,IAAI,CAAA,GAAA,KAAO,QAAA,CAAS,GAAA,CAAI,GAAG,CAAC,CAAC;AAAA,KAC1F;AAAA,EACJ;AACA,EAAA,IAAI,SAAS,UAAA,EAAY;AACrB,IAAA,MAAM,UAAU,QAAA,CAAS,UAAA;AACzB,IAAA,OAAO;AAAA,MACH,OAAO,QAAA,CAAS,KAAA;AAAA,MAChB,QAAA,EAAU,KAAA;AAAA,MACV,OAAA,EAAS,CAAA,QAAA,KAAY,OAAA,CAAQ,GAAA,CAAI,SAAS,IAAA,IAAQ,EAAC,EAAG,GAAA,CAAI,CAAA,GAAA,KAAO,QAAA,CAAS,GAAA,CAAI,GAAG,CAAC,CAAC;AAAA,KACvF;AAAA,EACJ;AACA,EAAA,MAAM,IAAI,MAAM,qCAAqC,CAAA;AACzD;;;AChEA,IAAM,eAAA,uBAAsB,GAAA,EAAI;AACzB,SAAS,kBAAkB,UAAA,EAAY;AAC1C,EAAA,IAAI,MAAA,GAAS,eAAA,CAAgB,GAAA,CAAI,UAAU,CAAA;AAC3C,EAAA,IAAI,CAAC,MAAA,EAAQ;AACT,IAAA,MAAA,GAAS,IAAI,QAAA,CAAS,KAAA,EAAO,CAAA,mBAAA,EAAsB,UAAU,CAAA,IAAA,CAAM,CAAA;AACnE,IAAA,eAAA,CAAgB,GAAA,CAAI,YAAY,MAAM,CAAA;AAAA,EAC1C;AACA,EAAA,OAAO,MAAA;AACX;AACO,SAAS,UAAU,KAAA,EAAO;AAC7B,EAAA,IAAI,SAAS,IAAA,EAAM;AACf,IAAA,OAAO,EAAA;AAAA,EACX;AACA,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACtB,IAAA,OAAO,KAAA,CAAM,GAAA,CAAI,SAAS,CAAA,CAAE,KAAK,GAAG,CAAA;AAAA,EACxC;AACA,EAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC3B,IAAA,OAAO,IAAA,CAAK,UAAU,KAAK,CAAA;AAAA,EAC/B;AACA,EAAA,OAAO,OAAO,KAAK,CAAA;AACvB;AACO,SAAS,cAAA,CAAe,QAAA,EAAU,KAAA,EAAO,MAAA,EAAQ;AACpD,EAAA,MAAM,YAAY,EAAC;AACnB,EAAA,MAAM,QAAA,GAAW,CAAA,OAAA,KAAW,SAAA,CAAU,IAAA,CAAK,OAAO,CAAA;AAClD,EAAA,MAAM,aAAA,GAAgB,EAAE,SAAA,EAAW,QAAA,CAAS,OAAA,EAAQ;AACpD,EAAA,QAAA,CAAS,YAAA,CAAa,QAAQ,CAAA,WAAA,KAAe;AACzC,IAAA,gBAAA,CAAiB,WAAA,EAAa,MAAA,EAAQ,KAAA,EAAO,QAAA,EAAU,aAAa,CAAA;AAAA,EACxE,CAAC,CAAA;AACD,EAAA,OAAO;AAAA,IACH,OAAA,GAAU;AACN,MAAA,SAAA,CAAU,KAAA,EAAM,CAAE,OAAA,EAAQ,CAAE,QAAQ,CAAA,OAAA,KAAW;AAC3C,QAAA,OAAA,EAAQ;AAAA,MACZ,CAAC,CAAA;AAAA,IACL;AAAA,GACJ;AACJ;AACA,SAAS,iBAAiB,WAAA,EAAa,MAAA,EAAQ,KAAA,EAAO,QAAA,EAAU,SAAS,MAAA,EAAQ;AAC7E,EAAA,QAAQ,YAAY,IAAA;AAAM,IACtB,KAAK,MAAA;AACD,MAAA,SAAA,CAAU,WAAA,CAAY,KAAA,EAAO,MAAA,EAAQ,QAAA,EAAU,MAAM,CAAA;AACrD,MAAA;AAAA,IACJ,KAAK,YAAA;AACD,MAAA,eAAA,CAAgB,WAAA,CAAY,UAAA,EAAY,MAAA,EAAQ,KAAA,EAAO,UAAU,MAAM,CAAA;AACvE,MAAA;AAAA,IACJ,KAAK,SAAA;AACD,MAAA,YAAA,CAAa,WAAA,EAAa,MAAA,EAAQ,KAAA,EAAO,QAAA,EAAU,SAAS,MAAM,CAAA;AAClE,MAAA;AAAA,IACJ,KAAK,IAAA;AACD,MAAA,gBAAA,CAAiB,WAAA,EAAa,MAAA,EAAQ,KAAA,EAAO,QAAA,EAAU,SAAS,MAAM,CAAA;AACtE,MAAA;AAAA,IACJ,KAAK,KAAA;AACD,MAAA,SAAA,CAAU,WAAA,EAAa,MAAA,EAAQ,KAAA,EAAO,QAAA,EAAU,SAAS,MAAM,CAAA;AAC/D,MAAA;AAAA,IACJ,KAAK,MAAA;AACD,MAAA,SAAA,CAAU,WAAA,EAAa,MAAA,EAAQ,KAAA,EAAO,QAAA,EAAU,SAAS,MAAM,CAAA;AAC/D,MAAA;AAAA,IACJ,KAAK,OAAA;AACD,MAAA,UAAA,CAAW,WAAA,EAAa,MAAA,EAAQ,KAAA,EAAO,QAAA,EAAU,SAAS,MAAM,CAAA;AAChE,MAAA;AAAA,IACJ;AACI,MAAA;AAAA;AAEZ;AACA,SAAS,SAAA,CAAU,KAAA,EAAO,MAAA,EAAQ,QAAA,EAAU,MAAA,EAAQ;AAChD,EAAA,MAAM,QAAA,GAAW,QAAA,CAAS,cAAA,CAAe,KAAK,CAAA;AAC9C,EAAA,UAAA,CAAW,MAAA,EAAQ,UAAU,MAAM,CAAA;AACnC,EAAA,QAAA,CAAS,MAAM;AACX,IAAA,QAAA,CAAS,MAAA,EAAO;AAAA,EACpB,CAAC,CAAA;AACL;AACA,SAAS,eAAA,CAAgB,UAAA,EAAY,MAAA,EAAQ,KAAA,EAAO,UAAU,MAAA,EAAQ;AAClE,EAAA,MAAM,QAAA,GAAW,QAAA,CAAS,cAAA,CAAe,EAAE,CAAA;AAC3C,EAAA,UAAA,CAAW,MAAA,EAAQ,UAAU,MAAM,CAAA;AACnC,EAAA,MAAM,MAAA,GAAS,kBAAkB,UAAU,CAAA;AAC3C,EAAA,MAAM,OAAA,GAAU,OAAO,MAAM;AACzB,IAAA,MAAM,KAAA,GAAQ,OAAO,KAAK,CAAA;AAC1B,IAAA,QAAA,CAAS,WAAA,GAAc,UAAU,KAAK,CAAA;AAAA,EAC1C,CAAC,CAAA;AACD,EAAA,QAAA,CAAS,MAAM;AACX,IAAA,OAAA,EAAQ;AACR,IAAA,QAAA,CAAS,MAAA,EAAO;AAAA,EACpB,CAAC,CAAA;AACL;AACA,SAAS,aAAa,WAAA,EAAa,MAAA,EAAQ,KAAA,EAAO,QAAA,EAAU,SAAS,MAAA,EAAQ;AACzE,EAAA,MAAM,KAAK,QAAA,CAAS,aAAA,CAAc,WAAA,CAAY,GAAA,CAAI,aAAa,CAAA;AAC/D,EAAA,MAAM,SAAA,GAAY,EAAA;AAClB,EAAA,IAAI,QAAQ,SAAA,IAAa,CAAC,EAAA,CAAG,YAAA,CAAa,gBAAgB,CAAA,EAAG;AACzD,IAAA,EAAA,CAAG,YAAA,CAAa,gBAAA,EAAkB,OAAA,CAAQ,SAAS,CAAA;AAAA,EACvD;AACA,EAAA,MAAM,YAAA,GAAe,oBAAoB,QAAQ,CAAA;AACjD,EAAA,KAAA,MAAW,IAAA,IAAQ,YAAY,UAAA,EAAY;AACvC,IAAA,QAAQ,KAAK,IAAA;AAAM,MACf,KAAK,QAAA;AACD,QAAA,EAAA,CAAG,YAAA,CAAa,IAAA,CAAK,IAAA,EAAM,IAAA,CAAK,KAAK,CAAA;AACrC,QAAA;AAAA,MACJ,KAAK,UAAA,EAAY;AACb,QAAA,MAAM,MAAA,GAAS,iBAAA,CAAkB,IAAA,CAAK,UAAU,CAAA;AAChD,QAAA,MAAM,OAAA,GAAU,OAAO,MAAM;AACzB,UAAA,MAAM,KAAA,GAAQ,OAAO,KAAK,CAAA;AAC1B,UAAA,SAAA,CAAU,IAAA,CAAK,IAAI,CAAA,GAAI,KAAA;AAAA,QAC3B,CAAC,CAAA;AACD,QAAA,YAAA,CAAa,SAAS,OAAO,CAAA;AAC7B,QAAA;AAAA,MACJ;AAAA,MACA,KAAK,OAAA,EAAS;AACV,QAAA,MAAM,MAAA,GAAS,iBAAA,CAAkB,IAAA,CAAK,OAAO,CAAA;AAC7C,QAAA,MAAM,QAAA,GAAW,CAAC,KAAA,KAAU;AACxB,UAAA,MAAM,OAAA,GAAU,OAAO,KAAK,CAAA;AAC5B,UAAA,IAAI,OAAO,YAAY,UAAA,EAAY;AAC/B,YAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,UACjB;AAAA,QACJ,CAAA;AACA,QAAA,EAAA,CAAG,gBAAA,CAAiB,IAAA,CAAK,IAAA,EAAM,QAAQ,CAAA;AACvC,QAAA,YAAA,CAAa,SAAS,MAAM;AACxB,UAAA,EAAA,CAAG,mBAAA,CAAoB,IAAA,CAAK,IAAA,EAAM,QAAQ,CAAA;AAAA,QAC9C,CAAC,CAAA;AACD,QAAA;AAAA,MACJ;AAAA,MACA,KAAK,YAAA,EAAc;AACf,QAAA,MAAM,MAAA,GAAS,iBAAA,CAAkB,IAAA,CAAK,UAAU,CAAA;AAChD,QAAA,MAAM,OAAA,GAAU,OAAO,MAAM;AACzB,UAAA,MAAM,MAAA,GAAS,OAAO,KAAK,CAAA;AAC3B,UAAA,IAAI,OAAO,WAAW,QAAA,EAAU;AAC5B,YAAA,EAAA,CAAG,SAAA,GAAY,MAAA;AACf,YAAA;AAAA,UACJ;AACA,UAAA,IAAI,MAAA,IAAU,OAAO,MAAA,KAAW,QAAA,EAAU;AACtC,YAAA,MAAM,WAAW,EAAC;AAClB,YAAA,KAAA,MAAW,CAAC,GAAA,EAAK,KAAK,KAAK,MAAA,CAAO,OAAA,CAAQ,MAAM,CAAA,EAAG;AAC/C,cAAA,IAAI,KAAA,EAAO;AACP,gBAAA,QAAA,CAAS,KAAK,GAAG,CAAA;AAAA,cACrB;AAAA,YACJ;AACA,YAAA,EAAA,CAAG,SAAA,GAAY,QAAA,CAAS,IAAA,CAAK,GAAG,CAAA;AAAA,UACpC;AAAA,QACJ,CAAC,CAAA;AACD,QAAA,YAAA,CAAa,SAAS,OAAO,CAAA;AAC7B,QAAA;AAAA,MACJ;AAEI;AACR,EACJ;AACA,EAAA,UAAA,CAAW,MAAA,EAAQ,IAAI,MAAM,CAAA;AAC7B,EAAA,WAAA,CAAY,QAAA,CAAS,QAAQ,CAAA,KAAA,KAAS;AAClC,IAAA,gBAAA,CAAiB,KAAA,EAAO,EAAA,EAAI,KAAA,EAAO,QAAA,EAAU,OAAO,CAAA;AAAA,EACxD,CAAC,CAAA;AACD,EAAA,QAAA,CAAS,MAAM;AACX,IAAA,YAAA,CAAa,KAAA,EAAM;AACnB,IAAA,EAAA,CAAG,MAAA,EAAO;AAAA,EACd,CAAC,CAAA;AACL;AACA,SAAS,iBAAiB,WAAA,EAAa,MAAA,EAAQ,KAAA,EAAO,QAAA,EAAU,SAAS,MAAA,EAAQ;AAC7E,EAAA,MAAM,MAAA,GAAS,QAAA,CAAS,aAAA,CAAc,OAAO,CAAA;AAC7C,EAAA,UAAA,CAAW,MAAA,EAAQ,QAAQ,MAAM,CAAA;AACjC,EAAA,IAAI,OAAA;AACJ,EAAA,MAAM,MAAA,GAAS,iBAAA,CAAkB,WAAA,CAAY,SAAS,CAAA;AACtD,EAAA,MAAM,OAAA,GAAU,OAAO,MAAM;AACzB,IAAA,OAAA,IAAU;AACV,IAAA,OAAA,GAAU,MAAA;AACV,IAAA,MAAM,SAAA,GAAY,OAAA,CAAQ,MAAA,CAAO,KAAK,CAAC,CAAA;AACvC,IAAA,IAAI,SAAA,EAAW;AACX,MAAA,OAAA,GAAU,qBAAqB,WAAA,CAAY,MAAA,EAAQ,QAAQ,KAAA,EAAO,QAAA,EAAU,SAAS,MAAM,CAAA;AAC3F,MAAA;AAAA,IACJ;AACA,IAAA,IAAI,YAAY,KAAA,EAAO;AACnB,MAAA,OAAA,GAAU,qBAAqB,WAAA,CAAY,KAAA,EAAO,QAAQ,KAAA,EAAO,QAAA,EAAU,SAAS,MAAM,CAAA;AAAA,IAC9F;AAAA,EACJ,CAAC,CAAA;AACD,EAAA,QAAA,CAAS,MAAM;AACX,IAAA,OAAA,EAAQ;AACR,IAAA,OAAA,IAAU;AACV,IAAA,MAAA,CAAO,MAAA,EAAO;AAAA,EAClB,CAAC,CAAA;AACL;AACA,SAAS,UAAU,WAAA,EAAa,MAAA,EAAQ,KAAA,EAAO,QAAA,EAAU,SAAS,MAAA,EAAQ;AACtE,EAAA,MAAM,MAAA,GAAS,QAAA,CAAS,aAAA,CAAc,QAAQ,CAAA;AAC9C,EAAA,UAAA,CAAW,MAAA,EAAQ,QAAQ,MAAM,CAAA;AACjC,EAAA,IAAI,YAAY,EAAC;AACjB,EAAA,MAAM,MAAA,GAAS,iBAAA,CAAkB,WAAA,CAAY,QAAQ,CAAA;AACrD,EAAA,MAAM,OAAA,GAAU,OAAO,MAAM;AACzB,IAAA,SAAA,CAAU,QAAQ,CAAA,OAAA,KAAW;AACzB,MAAA,OAAA,EAAQ;AAAA,IACZ,CAAC,CAAA;AACD,IAAA,SAAA,GAAY,EAAC;AACb,IAAA,MAAM,QAAA,GAAW,OAAO,KAAK,CAAA;AAC7B,IAAA,MAAM,SAAS,KAAA,CAAM,OAAA,CAAQ,QAAQ,CAAA,GAC/B,WACA,QAAA,IAAY,OAAO,QAAA,KAAa,QAAA,IAAY,OAAO,QAAA,IAAY,QAAA,GAC3D,MAAM,IAAA,CAAK,QAAQ,IACnB,EAAC;AACX,IAAA,MAAA,CAAO,OAAA,CAAQ,CAAC,KAAA,EAAO,KAAA,KAAU;AAC7B,MAAA,MAAM,UAAA,GAAa,MAAA,CAAO,MAAA,CAAO,KAAK,CAAA;AACtC,MAAA,UAAA,CAAW,WAAA,CAAY,IAAI,CAAA,GAAI,KAAA;AAC/B,MAAA,IAAI,YAAY,KAAA,EAAO;AACnB,QAAA,UAAA,CAAW,WAAA,CAAY,KAAK,CAAA,GAAI,KAAA;AAAA,MACpC;AACA,MAAA,SAAA,CAAU,IAAA,CAAK,qBAAqB,WAAA,CAAY,QAAA,EAAU,QAAQ,UAAA,EAAY,QAAA,EAAU,OAAA,EAAS,MAAM,CAAC,CAAA;AAAA,IAC5G,CAAC,CAAA;AAAA,EACL,CAAC,CAAA;AACD,EAAA,QAAA,CAAS,MAAM;AACX,IAAA,OAAA,EAAQ;AACR,IAAA,SAAA,CAAU,QAAQ,CAAA,OAAA,KAAW;AACzB,MAAA,OAAA,EAAQ;AAAA,IACZ,CAAC,CAAA;AACD,IAAA,MAAA,CAAO,MAAA,EAAO;AAAA,EAClB,CAAC,CAAA;AACL;AACA,SAAS,UAAU,WAAA,EAAa,MAAA,EAAQ,KAAA,EAAO,QAAA,EAAU,UAAU,MAAA,EAAQ;AACvE,EAAA,MAAM,QAAA,GAAW,YAAY,IAAA,IAAQ,SAAA;AACrC,EAAA,MAAM,YAAA,GAAe,KAAA,CAAM,KAAA,GAAQ,QAAQ,CAAA;AAC3C,EAAA,IAAI,YAAA,EAAc;AACd,IAAA,MAAM,QAAA,GAAW,SAAS,sBAAA,EAAuB;AACjD,IAAA,YAAA,CAAa,QAAQ,CAAA;AACrB,IAAA,UAAA,CAAW,MAAA,EAAQ,UAAU,MAAM,CAAA;AACnC,IAAA,MAAM,KAAA,GAAQ,KAAA,CAAM,IAAA,CAAK,QAAA,CAAS,UAAU,CAAA;AAC5C,IAAA,QAAA,CAAS,MAAM;AACX,MAAA,KAAA,CAAM,QAAQ,CAAA,IAAA,KAAQ;AAClB,QAAA,IAAA,CAAK,UAAA,EAAY,YAAY,IAAI,CAAA;AAAA,MACrC,CAAC,CAAA;AAAA,IACL,CAAC,CAAA;AAAA,EACL,CAAA,MACK;AACD,IAAA,WAAA,CAAY,QAAA,CAAS,QAAQ,CAAA,KAAA,KAAS;AAClC,MAAA,gBAAA,CAAiB,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,QAAA,EAAU,UAAU,MAAM,CAAA;AAAA,IACrE,CAAC,CAAA;AAAA,EACL;AACJ;AACA,SAAS,WAAW,WAAA,EAAa,MAAA,EAAQ,KAAA,EAAO,QAAA,EAAU,SAAS,MAAA,EAAQ;AACvE,EAAA,MAAM,KAAA,GAAQ,QAAA,CAAS,aAAA,CAAc,gBAAgB,CAAA;AACrD,EAAA,MAAM,GAAA,GAAM,QAAA,CAAS,aAAA,CAAc,cAAc,CAAA;AACjD,EAAA,UAAA,CAAW,MAAA,EAAQ,OAAO,MAAM,CAAA;AAChC,EAAA,UAAA,CAAW,MAAA,EAAQ,KAAK,MAAM,CAAA;AAC9B,EAAA,IAAI,cAAA,GAAiB,IAAA;AACrB,EAAA,IAAI,KAAA,GAAQ,CAAA;AACZ,EAAA,MAAM,YAAA,GAAe,CAAC,YAAA,EAAc,UAAA,KAAe;AAC/C,IAAA,IAAI,cAAA,EAAgB;AAChB,MAAA,cAAA,EAAe;AAAA,IACnB;AACA,IAAA,IAAI,YAAA,CAAa,WAAW,CAAA,EAAG;AAC3B,MAAA,cAAA,GAAiB,IAAA;AACjB,MAAA;AAAA,IACJ;AACA,IAAA,MAAM,WAAA,GAAc,aAAa,MAAA,CAAO,MAAA,CAAO,OAAO,MAAA,CAAO,KAAK,CAAA,EAAG,UAAU,CAAA,GAAI,KAAA;AACnF,IAAA,cAAA,GAAiB,qBAAqB,YAAA,EAAc,MAAA,EAAQ,WAAA,EAAa,QAAA,EAAU,SAAS,GAAG,CAAA;AAAA,EACnG,CAAA;AACA,EAAA,MAAM,OAAA,GAAU,OAAO,MAAM;AACzB,IAAA,MAAM,KAAA,GAAQ,iBAAA,CAAkB,WAAA,CAAY,UAAU,EAAE,KAAK,CAAA;AAC7D,IAAA,MAAM,eAAgB,KAAA,IAAS,CAAA;AAC/B,IAAA,IAAI,aAAA,CAAc,KAAK,CAAA,EAAG;AACtB,MAAA,YAAA,CAAa,YAAY,OAAO,CAAA;AAChC,MAAA,KAAA,CACK,IAAA,CAAK,CAAC,QAAA,KAAa;AACpB,QAAA,IAAI,iBAAiB,KAAA,EAAO;AACxB,UAAA;AAAA,QACJ;AACA,QAAA,MAAMA,MAAAA,GAAQ,YAAY,SAAA,GAAY,EAAE,CAAC,WAAA,CAAY,SAAS,GAAG,QAAA,EAAS,GAAI,MAAA;AAC9E,QAAA,YAAA,CAAa,WAAA,CAAY,UAAUA,MAAK,CAAA;AAAA,MAC5C,CAAC,CAAA,CACI,KAAA,CAAM,CAAC,KAAA,KAAU;AAClB,QAAA,IAAI,iBAAiB,KAAA,EAAO;AACxB,UAAA;AAAA,QACJ;AACA,QAAA,MAAMA,MAAAA,GAAQ,YAAY,SAAA,GAAY,EAAE,CAAC,WAAA,CAAY,SAAS,GAAG,KAAA,EAAM,GAAI,MAAA;AAC3E,QAAA,YAAA,CAAa,WAAA,CAAY,UAAUA,MAAK,CAAA;AAAA,MAC5C,CAAC,CAAA;AACD,MAAA;AAAA,IACJ;AACA,IAAA,MAAM,KAAA,GAAQ,YAAY,SAAA,GAAY,EAAE,CAAC,WAAA,CAAY,SAAS,GAAG,KAAA,EAAM,GAAI,MAAA;AAC3E,IAAA,YAAA,CAAa,WAAA,CAAY,UAAU,KAAK,CAAA;AAAA,EAC5C,CAAC,CAAA;AACD,EAAA,QAAA,CAAS,MAAM;AACX,IAAA,OAAA,EAAQ;AACR,IAAA,IAAI,cAAA,EAAgB;AAChB,MAAA,cAAA,EAAe;AAAA,IACnB;AACA,IAAA,KAAA,CAAM,MAAA,EAAO;AACb,IAAA,GAAA,CAAI,MAAA,EAAO;AAAA,EACf,CAAC,CAAA;AACL;AACA,SAAS,qBAAqB,YAAA,EAAc,MAAA,EAAQ,KAAA,EAAO,QAAA,EAAU,SAAS,MAAA,EAAQ;AAClF,EAAA,MAAM,KAAA,GAAQ,oBAAoB,QAAQ,CAAA;AAC1C,EAAA,YAAA,CAAa,QAAQ,CAAA,KAAA,KAAS;AAC1B,IAAA,gBAAA,CAAiB,OAAO,MAAA,EAAQ,KAAA,EAAO,KAAA,CAAM,QAAA,EAAU,SAAS,MAAM,CAAA;AAAA,EAC1E,CAAC,CAAA;AACD,EAAA,OAAO,MAAM;AACT,IAAA,KAAA,CAAM,KAAA,EAAM;AAAA,EAChB,CAAA;AACJ;AACA,SAAS,UAAA,CAAW,MAAA,EAAQ,IAAA,EAAM,MAAA,EAAQ;AACtC,EAAA,IAAI,MAAA,IAAU,MAAA,CAAO,UAAA,KAAe,MAAA,EAAQ;AACxC,IAAA,MAAA,CAAO,YAAA,CAAa,MAAM,MAAM,CAAA;AAChC,IAAA;AAAA,EACJ;AACA,EAAA,MAAA,CAAO,YAAY,IAAI,CAAA;AAC3B;AACA,SAAS,oBAAoB,MAAA,EAAQ;AACjC,EAAA,MAAM,iBAAiB,EAAC;AACxB,EAAA,MAAM,QAAA,GAAW,CAAA,OAAA,KAAW,cAAA,CAAe,IAAA,CAAK,OAAO,CAAA;AACvD,EAAA,MAAM,QAAQ,MAAM;AAChB,IAAA,cAAA,CAAe,KAAA,EAAM,CAAE,OAAA,EAAQ,CAAE,QAAQ,CAAA,OAAA,KAAW;AAChD,MAAA,OAAA,EAAQ;AAAA,IACZ,CAAC,CAAA;AACD,IAAA,cAAA,CAAe,MAAA,GAAS,CAAA;AAAA,EAC5B,CAAA;AACA,EAAA,MAAA,CAAO,KAAK,CAAA;AACZ,EAAA,OAAO,EAAE,UAAU,KAAA,EAAM;AAC7B;AACA,SAAS,cAAc,KAAA,EAAO;AAC1B,EAAA,OAAO,QAAQ,KAAK,CAAA,IAAK,OAAO,KAAA,KAAU,YAAY,MAAA,IAAU,KAAA;AACpE;;;ACtTO,SAAS,sBAAA,CAAuB,UAAU,KAAA,EAAO;AACpD,EAAA,OAAO,QAAA,CAAS,YAAA,CACX,GAAA,CAAI,CAAA,WAAA,KAAe,iBAAA,CAAkB,WAAA,EAAa,KAAA,EAAO,QAAA,CAAS,OAAO,CAAC,CAAA,CAC1E,IAAA,CAAK,EAAE,CAAA;AAChB;AACA,eAAsB,sBAAA,CAAuB,UAAU,KAAA,EAAO;AAC1D,EAAA,MAAM,QAAQ,EAAC;AACf,EAAA,MAAM,IAAA,GAAO,QAAA,CAAS,YAAA,CACjB,GAAA,CAAI,iBAAe,iBAAA,CAAkB,WAAA,EAAa,KAAA,EAAO,QAAA,CAAS,OAAA,EAAS,KAAK,CAAC,CAAA,CACjF,KAAK,EAAE,CAAA;AACZ,EAAA,OAAO,oBAAA,CAAqB,MAAM,KAAK,CAAA;AAC3C;AACA,SAAS,iBAAA,CAAkB,WAAA,EAAa,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO;AAC7D,EAAA,QAAQ,YAAY,IAAA;AAAM,IACtB,KAAK,MAAA;AACD,MAAA,OAAO,UAAA,CAAW,YAAY,KAAK,CAAA;AAAA,IACvC,KAAK,YAAA;AACD,MAAA,OAAO,UAAA,CAAW,UAAU,iBAAA,CAAkB,WAAA,CAAY,UAAU,CAAA,CAAE,KAAK,CAAC,CAAC,CAAA;AAAA,IACjF,KAAK,SAAA;AACD,MAAA,OAAO,aAAA,CAAc,WAAA,EAAa,KAAA,EAAO,SAAA,EAAW,KAAK,CAAA;AAAA,IAC7D,KAAK,IAAA;AACD,MAAA,OAAO,iBAAA,CAAkB,WAAA,EAAa,KAAA,EAAO,SAAA,EAAW,KAAK,CAAA;AAAA,IACjE,KAAK,KAAA;AACD,MAAA,OAAO,UAAA,CAAW,WAAA,EAAa,KAAA,EAAO,SAAA,EAAW,KAAK,CAAA;AAAA,IAC1D,KAAK,MAAA;AACD,MAAA,OAAO,UAAA,CAAW,WAAA,EAAa,KAAA,EAAO,SAAA,EAAW,KAAK,CAAA;AAAA,IAC1D,KAAK,OAAA;AACD,MAAA,OAAO,WAAA,CAAY,WAAA,EAAa,KAAA,EAAO,SAAA,EAAW,KAAK,CAAA;AAAA,IAC3D;AACI,MAAA,OAAO,EAAA;AAAA;AAEnB;AACA,SAAS,aAAA,CAAc,WAAA,EAAa,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO;AACzD,EAAA,MAAM,KAAA,GAAQ,WAAA,CAAY,UAAA,CACrB,GAAA,CAAI,CAAA,IAAA,KAAQ,iBAAA,CAAkB,IAAA,EAAM,KAAK,CAAC,CAAA,CAC1C,MAAA,CAAO,OAAO,CAAA;AACnB,EAAA,IAAI,SAAA,IAAa,CAAC,WAAA,CAAY,UAAA,CAAW,IAAA,CAAK,CAAA,IAAA,KAAQ,IAAA,CAAK,IAAA,KAAS,QAAA,IAAY,IAAA,CAAK,IAAA,KAAS,gBAAgB,CAAA,EAAG;AAC7G,IAAA,KAAA,CAAM,IAAA,CAAK,CAAA,EAAG,gBAAgB,CAAA,EAAA,EAAK,SAAS,CAAA,CAAA,CAAG,CAAA;AAAA,EACnD;AACA,EAAA,MAAM,cAAc,KAAA,CAAM,MAAA,CAAO,OAAO,CAAA,CAAE,KAAK,GAAG,CAAA;AAClD,EAAA,MAAM,QAAA,GAAW,WAAA,CAAY,QAAA,CAAS,GAAA,CAAI,CAAA,KAAA,KAAS,iBAAA,CAAkB,KAAA,EAAO,KAAA,EAAO,SAAA,EAAW,KAAK,CAAC,CAAA,CAAE,KAAK,EAAE,CAAA;AAC7G,EAAA,MAAM,IAAA,GAAO,IAAI,WAAA,CAAY,GAAG,GAAG,WAAA,GAAc,CAAA,CAAA,EAAI,WAAW,CAAA,CAAA,GAAK,EAAE,CAAA,CAAA,CAAA;AACvE,EAAA,MAAM,KAAA,GAAQ,CAAA,EAAA,EAAK,WAAA,CAAY,GAAG,CAAA,CAAA,CAAA;AAClC,EAAA,OAAO,CAAA,EAAG,IAAI,CAAA,EAAG,QAAQ,GAAG,KAAK,CAAA,CAAA;AACrC;AACA,SAAS,iBAAA,CAAkB,MAAM,KAAA,EAAO;AACpC,EAAA,IAAI,IAAA,CAAK,SAAS,QAAA,EAAU;AACxB,IAAA,OAAO,GAAG,IAAA,CAAK,IAAI,KAAK,eAAA,CAAgB,IAAA,CAAK,KAAK,CAAC,CAAA,CAAA,CAAA;AAAA,EACvD;AACA,EAAA,IAAI,IAAA,CAAK,SAAS,UAAA,EAAY;AAC1B,IAAA,MAAM,KAAA,GAAQ,iBAAA,CAAkB,IAAA,CAAK,UAAU,EAAE,KAAK,CAAA;AACtD,IAAA,IAAI,UAAU,KAAA,IAAS,KAAA,KAAU,IAAA,IAAQ,OAAO,UAAU,WAAA,EAAa;AACnE,MAAA,OAAO,EAAA;AAAA,IACX;AACA,IAAA,OAAO,CAAA,EAAG,KAAK,IAAI,CAAA,EAAA,EAAK,gBAAgB,SAAA,CAAU,KAAK,CAAC,CAAC,CAAA,CAAA,CAAA;AAAA,EAC7D;AACA,EAAA,IAAI,IAAA,CAAK,SAAS,YAAA,EAAc;AAC5B,IAAA,MAAM,KAAA,GAAQ,iBAAA,CAAkB,IAAA,CAAK,UAAU,EAAE,KAAK,CAAA;AACtD,IAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC3B,MAAA,OAAO,KAAA,GAAQ,CAAA,OAAA,EAAU,eAAA,CAAgB,KAAK,CAAC,CAAA,CAAA,CAAA,GAAM,EAAA;AAAA,IACzD;AACA,IAAA,IAAI,KAAA,IAAS,OAAO,KAAA,KAAU,QAAA,EAAU;AACpC,MAAA,MAAM,QAAA,GAAW,OAAO,OAAA,CAAQ,KAAK,EAChC,MAAA,CAAO,CAAC,GAAG,OAAO,CAAA,KAAM,QAAQ,OAAO,CAAC,CAAA,CACxC,GAAA,CAAI,CAAC,CAAC,GAAG,CAAA,KAAM,GAAG,CAAA,CAClB,IAAA,CAAK,GAAG,CAAA;AACb,MAAA,OAAO,QAAA,GAAW,CAAA,OAAA,EAAU,eAAA,CAAgB,QAAQ,CAAC,CAAA,CAAA,CAAA,GAAM,EAAA;AAAA,IAC/D;AACA,IAAA,OAAO,EAAA;AAAA,EACX;AACA,EAAA,OAAO,EAAA;AACX;AACA,SAAS,iBAAA,CAAkB,WAAA,EAAa,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO;AAC7D,EAAA,MAAM,YAAY,OAAA,CAAQ,iBAAA,CAAkB,YAAY,SAAS,CAAA,CAAE,KAAK,CAAC,CAAA;AACzE,EAAA,IAAI,SAAA,EAAW;AACX,IAAA,OAAO,WAAA,CAAY,MAAA,CAAO,GAAA,CAAI,CAAA,KAAA,KAAS,iBAAA,CAAkB,KAAA,EAAO,KAAA,EAAO,SAAA,EAAW,KAAK,CAAC,CAAA,CAAE,IAAA,CAAK,EAAE,CAAA;AAAA,EACrG;AACA,EAAA,IAAI,YAAY,KAAA,EAAO;AACnB,IAAA,OAAO,WAAA,CAAY,KAAA,CAAM,GAAA,CAAI,CAAA,KAAA,KAAS,iBAAA,CAAkB,KAAA,EAAO,KAAA,EAAO,SAAA,EAAW,KAAK,CAAC,CAAA,CAAE,IAAA,CAAK,EAAE,CAAA;AAAA,EACpG;AACA,EAAA,OAAO,EAAA;AACX;AACA,SAAS,UAAA,CAAW,WAAA,EAAa,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO;AACtD,EAAA,MAAM,QAAA,GAAW,iBAAA,CAAkB,WAAA,CAAY,QAAQ,EAAE,KAAK,CAAA;AAC9D,EAAA,MAAM,SAAS,KAAA,CAAM,OAAA,CAAQ,QAAQ,CAAA,GAC/B,WACA,QAAA,IAAY,OAAO,QAAA,KAAa,QAAA,IAAY,OAAO,QAAA,IAAY,QAAA,GAC3D,MAAM,IAAA,CAAK,QAAQ,IACnB,EAAC;AACX,EAAA,OAAO,MAAA,CACF,GAAA,CAAI,CAAC,KAAA,EAAO,KAAA,KAAU;AACvB,IAAA,MAAM,UAAA,GAAa,MAAA,CAAO,MAAA,CAAO,KAAK,CAAA;AACtC,IAAA,UAAA,CAAW,WAAA,CAAY,IAAI,CAAA,GAAI,KAAA;AAC/B,IAAA,IAAI,YAAY,KAAA,EAAO;AACnB,MAAA,UAAA,CAAW,WAAA,CAAY,KAAK,CAAA,GAAI,KAAA;AAAA,IACpC;AACA,IAAA,OAAO,WAAA,CAAY,QAAA,CAAS,GAAA,CAAI,CAAA,KAAA,KAAS,iBAAA,CAAkB,KAAA,EAAO,UAAA,EAAY,SAAA,EAAW,KAAK,CAAC,CAAA,CAAE,IAAA,CAAK,EAAE,CAAA;AAAA,EAC5G,CAAC,CAAA,CACI,IAAA,CAAK,EAAE,CAAA;AAChB;AACA,SAAS,UAAA,CAAW,WAAA,EAAa,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO;AACtD,EAAA,MAAM,QAAA,GAAW,YAAY,IAAA,IAAQ,SAAA;AACrC,EAAA,MAAM,QAAA,GAAW,KAAA,CAAM,KAAA,GAAQ,QAAQ,CAAA;AACvC,EAAA,IAAI,QAAA,EAAU;AAEV,IAAA,OAAO,EAAA;AAAA,EACX;AACA,EAAA,OAAO,WAAA,CAAY,QAAA,CAAS,GAAA,CAAI,CAAA,KAAA,KAAS,iBAAA,CAAkB,KAAA,EAAO,KAAA,EAAO,SAAA,EAAW,KAAK,CAAC,CAAA,CAAE,IAAA,CAAK,EAAE,CAAA;AACvG;AACA,SAAS,WAAA,CAAY,WAAA,EAAa,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO;AACvD,EAAA,MAAM,KAAA,GAAQ,iBAAA,CAAkB,WAAA,CAAY,UAAU,EAAE,KAAK,CAAA;AAC7D,EAAA,IAAI,CAACC,cAAAA,CAAc,KAAK,CAAA,EAAG;AACvB,IAAA,OAAO,iBAAA,CAAkB,YAAY,QAAA,EAAU,KAAA,EAAO,WAAW,KAAA,EAAO,WAAA,CAAY,WAAW,KAAK,CAAA;AAAA,EACxG;AACA,EAAA,MAAM,WAAA,GAAc,WAAA,CAAY,OAAA,CAAQ,GAAA,CAAI,CAAA,KAAA,KAAS,iBAAA,CAAkB,KAAA,EAAO,KAAA,EAAO,SAAA,EAAW,KAAK,CAAC,CAAA,CAAE,KAAK,EAAE,CAAA;AAC/G,EAAA,MAAM,UAAU,WAAA,EAAY;AAC5B,EAAA,IAAI,KAAA,EAAO;AACP,IAAA,KAAA,CAAM,IAAA,CAAK;AAAA,MACP,EAAA,EAAI,OAAA;AAAA,MACJ,OAAA,EAAS,KAAA;AAAA,MACT,OAAA,EAAS,CAAA,QAAA,KAAY,iBAAA,CAAkB,WAAA,CAAY,QAAA,EAAU,OAAO,SAAA,EAAW,KAAA,EAAO,WAAA,CAAY,SAAA,EAAW,QAAQ,CAAA;AAAA,MACrH,MAAA,EAAQ,CAAA,KAAA,KAAS,iBAAA,CAAkB,WAAA,CAAY,QAAA,EAAU,OAAO,SAAA,EAAW,KAAA,EAAO,WAAA,CAAY,SAAA,EAAW,KAAK;AAAA,KACjH,CAAA;AAAA,EACL;AACA,EAAA,OAAO,CAAA,qBAAA,EAAwB,OAAO,CAAA,EAAA,EAAK,WAAW,CAAA,OAAA,CAAA;AAC1D;AACA,SAAS,kBAAkB,YAAA,EAAc,KAAA,EAAO,SAAA,EAAW,KAAA,EAAO,aAAa,YAAA,EAAc;AACzF,EAAA,IAAI,YAAA,CAAa,WAAW,CAAA,EAAG;AAC3B,IAAA,OAAO,EAAA;AAAA,EACX;AACA,EAAA,MAAM,WAAA,GAAc,WAAA,GAAc,MAAA,CAAO,MAAA,CAAO,OAAO,MAAA,CAAO,KAAK,CAAA,EAAG,EAAE,CAAC,WAAW,GAAG,YAAA,EAAc,CAAA,GAAI,KAAA;AACzG,EAAA,OAAO,YAAA,CAAa,GAAA,CAAI,CAAA,KAAA,KAAS,iBAAA,CAAkB,KAAA,EAAO,WAAA,EAAa,SAAA,EAAW,KAAK,CAAC,CAAA,CAAE,IAAA,CAAK,EAAE,CAAA;AACrG;AACA,SAAS,WAAW,KAAA,EAAO;AACvB,EAAA,OAAO,KAAA,CAAM,OAAA,CAAQ,IAAA,EAAM,OAAO,CAAA,CAAE,OAAA,CAAQ,IAAA,EAAM,MAAM,CAAA,CAAE,OAAA,CAAQ,IAAA,EAAM,MAAM,CAAA;AAClF;AACA,SAAS,gBAAgB,KAAA,EAAO;AAC5B,EAAA,OAAO,UAAA,CAAW,KAAK,CAAA,CAAE,OAAA,CAAQ,MAAM,QAAQ,CAAA;AACnD;AACA,SAASA,eAAc,KAAA,EAAO;AAC1B,EAAA,OAAO,QAAQ,KAAK,CAAA,IAAK,OAAO,KAAA,KAAU,YAAY,MAAA,IAAU,KAAA;AACpE;AACA,SAAS,oBAAA,CAAqB,aAAa,KAAA,EAAO;AAC9C,EAAA,OAAO;AAAA,IACH,QAAQ,MAAA,CAAO,aAAa,CAAA,GAAI;AAC5B,MAAA,MAAM,WAAA;AACN,MAAA,KAAA,MAAW,QAAQ,KAAA,EAAO;AACtB,QAAA,IAAI;AACA,UAAA,MAAM,QAAA,GAAW,MAAM,IAAA,CAAK,OAAA;AAC5B,UAAA,MAAM,IAAA,GAAO,IAAA,CAAK,OAAA,CAAQ,QAAQ,CAAA;AAClC,UAAA,MAAM,qBAAA,CAAsB,IAAA,CAAK,EAAA,EAAI,IAAI,CAAA;AAAA,QAC7C,SACO,KAAA,EAAO;AACV,UAAA,MAAM,IAAA,GAAO,IAAA,CAAK,MAAA,CAAO,KAAK,CAAA;AAC9B,UAAA,MAAM,qBAAA,CAAsB,IAAA,CAAK,EAAA,EAAI,IAAI,CAAA;AAAA,QAC7C;AAAA,MACJ;AAAA,IACJ;AAAA,GACJ;AACJ;AACA,SAAS,qBAAA,CAAsB,IAAI,IAAA,EAAM;AACrC,EAAA,MAAM,SAAA,GAAY,gBAAgB,EAAE,CAAA;AACpC,EAAA,MAAM,QAAA,GAAW,CAAA,yBAAA,EAA4B,SAAS,CAAA,EAAA,EAAK,IAAI,CAAA,WAAA,CAAA;AAC/D,EAAA,MAAM,MAAA,GAAS,CAAA,0EAAA,EAA6E,SAAS,CAAA,sDAAA,EAAyD,SAAS,CAAA,uFAAA,CAAA;AACvK,EAAA,OAAO,CAAA,EAAG,QAAQ,CAAA,EAAG,MAAM,CAAA,CAAA;AAC/B;AACA,IAAI,YAAA,GAAe,CAAA;AACnB,SAAS,WAAA,GAAc;AACnB,EAAA,YAAA,IAAgB,CAAA;AAChB,EAAA,OAAO,SAAS,YAAY,CAAA,CAAA;AAChC;;;ACzKA,IAAM,qBAAqB,EAAC;AAErB,SAAS,iBAAA,CAAkB,QAAQ,GAAA,EAAK;AAC7C,EAAA,kBAAA,CAAmB,IAAA,CAAK,EAAE,MAAA,EAAQ,CAAA;AAClC,EAAA,IAAI;AACF,IAAA,OAAO,GAAA,EAAI;AAAA,EACb,CAAA,SAAE;AACA,IAAA,kBAAA,CAAmB,GAAA,EAAI;AAAA,EACzB;AACF;AAEA,SAAS,mBAAA,GAAsB;AAC7B,EAAA,MAAM,OAAA,GAAU,kBAAA,CAAmB,EAAA,CAAG,EAAE,CAAA,IAAK,IAAA;AAC7C,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,MAAM,IAAI,MAAM,iEAAiE,CAAA;AAAA,EACnF;AACA,EAAA,OAAO,OAAA;AACT;AAEO,SAAS,SAAA,GAAY;AAC1B,EAAA,OAAO,qBAAoB,CAAE,MAAA;AAC/B;AAEO,SAAS,WAAA,GAAc;AAC5B,EAAA,MAAM,SAAS,SAAA,EAAU;AACzB,EAAA,OAAO,CAAC,IAAA,EAAM,OAAA,KAAY,MAAA,CAAO,QAAA,CAAS,MAAM,OAAO,CAAA;AACzD;AAEO,SAAS,WAAA,GAAc;AAC5B,EAAA,OAAO,WAAU,CAAE,WAAA;AACrB;AAEO,SAAS,aAAA,GAAgB;AAC9B,EAAA,OAAO,WAAU,CAAE,YAAA;AACrB;AAEO,SAAS,cAAA,GAAiB;AAC/B,EAAA,MAAM,cAAc,aAAA,EAAc;AAClC,EAAA,OAAO,SAAS,MAAM,WAAA,EAAY,EAAG,MAAA,IAAU,EAAE,CAAA;AACnD;AAEO,SAAS,YAAA,GAAe;AAC7B,EAAA,MAAM,cAAc,aAAA,EAAc;AAClC,EAAA,OAAO,SAAS,MAAM;AACpB,IAAA,MAAM,QAAQ,WAAA,EAAY;AAC1B,IAAA,MAAM,KAAA,GAAQ,cAAc,KAAK,CAAA;AACjC,IAAA,OAAO,KAAA,EAAO,IAAA;AAAA,EAChB,CAAC,CAAA;AACH;;;AC3CA,IAAM,mBAAN,MAAuB;AAAA,EACnB,YAAY,OAAA,EAAS;AACjB,IAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AAAA,EACnB;AAAA,EACA,MAAM,YAAA,EAAc;AAChB,IAAA,MAAM,QAAA,GAAW,KAAK,cAAA,EAAe;AACrC,IAAA,aAAA,CAAc,OAAO,QAAQ,CAAA;AAC7B,IAAA,MAAM,WAAA,GAAc,OAAO,EAAE,GAAI,aAAa,KAAA,IAAS,IAAK,CAAA;AAC5D,IAAA,MAAM,aAAA,GAAgB,oBAAoB,WAAW,CAAA;AACrD,IAAA,MAAM,IAAA,GAAO,CAAC,KAAA,EAAO,OAAA,KAAY;AAC7B,MAAA,YAAA,CAAa,EAAA,GAAK,KAAK,CAAA,GAAI,OAAO,CAAA;AAAA,IACtC,CAAA;AACA,IAAA,MAAM,WAAW,YAAA,CAAa,QAAA,GACxB,YAAA,CAAa,QAAA,CAAS,YAAY,IAAA,CAAK,OAAA,CAAQ,SAAA,IAAa,EAAE,CAAA,GAC9D,cAAA,CAAe,KAAK,OAAA,CAAQ,SAAA,IAAa,EAAE,CAAA;AACjD,IAAA,MAAM,cAAc,IAAA,CAAK,OAAA,CAAQ,KAAA,GAC3B,IAAA,CAAK,QAAQ,KAAA,CAAM,EAAE,KAAA,EAAO,aAAA,EAAe,MAAM,QAAA,EAAU,KAAA,EAAO,aAAa,KAAA,EAAO,IACtF,EAAC;AACP,IAAA,MAAM,EAAE,KAAA,EAAO,UAAA,EAAY,GAAG,UAAA,EAAW,GAAI,eAAe,EAAC;AAC7D,IAAA,MAAM,KAAA,GAAQ;AAAA,MACV,KAAA,EAAO,aAAA;AAAA,MACP,GAAG,UAAA;AAAA,MACH,KAAA,EAAO,cAAc,YAAA,CAAa;AAAA,KACtC;AACA,IAAA,MAAM,SAAS,YAAA,CAAa,MAAA,GACtB,kBAAkB,YAAA,CAAa,MAAA,EAAQ,MAAM,cAAA,CAAe,QAAA,EAAU,KAAA,EAAO,YAAA,CAAa,MAAM,CAAC,CAAA,GACjG,eAAe,QAAA,EAAU,KAAA,EAAO,aAAa,MAAM,CAAA;AACzD,IAAA,MAAM,WAAA,GAAc,CAAC,OAAA,KAAY;AAC7B,MAAA,WAAA,CAAY,IAAI,EAAE,GAAG,aAAY,EAAG,GAAG,SAAS,CAAA;AAAA,IACpD,CAAA;AACA,IAAA,MAAM,SAAA,GAAY,KAAK,OAAA,CAAQ,SAAA;AAC/B,IAAA,MAAM,gBAAA,GAAmB;AAAA,MACrB,QAAQ,YAAA,CAAa,MAAA;AAAA,MACrB,KAAA,EAAO,aAAA;AAAA,MACP,IAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,KACJ;AACA,IAAA,IAAI,YAAA;AACJ,IAAA,IAAI,WAAA;AACJ,IAAA,IAAI,SAAA,EAAW,aAAA,IAAiB,OAAO,QAAA,KAAa,WAAA,EAAa;AAC7D,MAAA,YAAA,GAAe,2BAAA,CAA4B,CAAC,KAAA,KAAU;AAClD,QAAA,SAAA,EAAW,aAAA,GAAgB,OAAO,gBAAgB,CAAA;AAAA,MACtD,CAAC,CAAA;AAAA,IACL;AACA,IAAA,IAAI,WAAW,eAAA,EAAiB;AAC5B,MAAA,SAAA,CAAU,eAAA,CAAgB,QAAA,CAAS,MAAA,IAAU,IAAI,gBAAgB,CAAA;AAAA,IACrE;AACA,IAAA,IAAI,WAAW,WAAA,EAAa;AACxB,MAAA,MAAM,OAAA,GAAU,SAAA,CAAU,WAAA,CAAY,gBAAgB,CAAA;AACtD,MAAA,IAAI,OAAO,YAAY,UAAA,EAAY;AAC/B,QAAA,WAAA,GAAc,OAAA;AAAA,MAClB;AAAA,IACJ;AACA,IAAA,SAAA,EAAW,UAAU,gBAAgB,CAAA;AACrC,IAAA,OAAO;AAAA,MACH,OAAA,GAAU;AACN,QAAA,YAAA,IAAe;AACf,QAAA,WAAA,IAAc;AACd,QAAA,SAAA,EAAW,YAAY,gBAAgB,CAAA;AACvC,QAAA,MAAA,CAAO,OAAA,EAAQ;AAAA,MACnB,CAAA;AAAA,MACA;AAAA,KACJ;AAAA,EACJ;AAAA,EACA,eAAe,KAAA,EAAO;AAClB,IAAA,MAAM,QAAA,GAAW,KAAK,cAAA,EAAe;AACrC,IAAA,MAAM,cAAc,MAAA,CAAO,EAAE,GAAI,KAAA,IAAS,IAAK,CAAA;AAC/C,IAAA,MAAM,aAAA,GAAgB,oBAAoB,WAAW,CAAA;AACrD,IAAA,MAAM,WAAW,cAAA,CAAe,IAAA,CAAK,OAAA,CAAQ,SAAA,IAAa,EAAE,CAAA;AAC5D,IAAA,MAAM,cAAc,IAAA,CAAK,OAAA,CAAQ,KAAA,GAC3B,IAAA,CAAK,QAAQ,KAAA,CAAM,EAAE,KAAA,EAAO,aAAA,EAAe,MAAM,MAAM,MAAA,EAAW,QAAA,EAAU,IAC5E,EAAC;AACP,IAAA,MAAM,KAAA,GAAQ;AAAA,MACV,KAAA,EAAO,aAAA;AAAA,MACP,GAAG;AAAA,KACP;AACA,IAAA,OAAO,sBAAA,CAAuB,UAAU,KAAK,CAAA;AAAA,EACjD;AAAA,EACA,cAAA,GAAiB;AACb,IAAA,IAAI,KAAK,QAAA,EAAU;AACf,MAAA,OAAO,IAAA,CAAK,QAAA;AAAA,IAChB;AACA,IAAA,MAAM,QAAA,GAAW,KAAK,aAAA,EAAc;AACpC,IAAA,IAAA,CAAK,QAAA,GAAW,QAAA;AAChB,IAAA,OAAO,QAAA;AAAA,EACX;AAAA,EACA,aAAA,GAAgB;AACZ,IAAA,MAAM,IAAA,GAAO,OAAO,IAAA,CAAK,OAAA,CAAQ,aAAa,QAAA,GACxC,eAAA,CAAgB,IAAA,CAAK,OAAA,CAAQ,QAAA,EAAU;AAAA,MACrC,IAAA,EAAM,KAAK,OAAA,CAAQ,IAAA;AAAA,MACnB,GAAG,KAAK,OAAA,CAAQ,eAAA;AAAA,MAChB,OAAA,EAAS,KAAK,OAAA,CAAQ;AAAA,KACzB,CAAA,GACC,EAAE,GAAG,IAAA,CAAK,QAAQ,QAAA,EAAS;AACjC,IAAA,IAAI,IAAA,CAAK,OAAA,CAAQ,MAAA,EAAQ,MAAA,EAAQ;AAC7B,MAAA,MAAM,OAAA,GAAU,IAAA,CAAK,OAAA,IAAW,IAAA,CAAK,OAAA,CAAQ,WAAW,kBAAA,CAAmB,IAAA,CAAK,OAAA,CAAQ,IAAA,IAAQ,WAAW,CAAA;AAC3G,MAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AACf,MAAA,IAAA,CAAK,MAAA,GAAS,WAAA,CAAY,IAAA,CAAK,OAAA,CAAQ,QAAQ,OAAO,CAAA;AAAA,IAC1D,CAAA,MAAA,IACS,IAAA,CAAK,MAAA,EAAQ,MAAA,IAAU,KAAK,OAAA,EAAS;AAC1C,MAAA,IAAA,CAAK,MAAA,GAAS,WAAA,CAAY,IAAA,CAAK,MAAA,EAAQ,KAAK,OAAO,CAAA;AAAA,IACvD;AACA,IAAA,OAAO,IAAA;AAAA,EACX;AACJ,CAAA;AACO,SAAS,gBAAgB,OAAA,EAAS;AACrC,EAAA,OAAO,IAAI,iBAAiB,OAAO,CAAA;AACvC;AACA,IAAM,gBAAN,MAAoB;AAAA,EAChB,WAAA,GAAc;AACV,IAAA,IAAA,CAAK,OAAA,uBAAc,GAAA,EAAI;AAAA,EAC3B;AAAA,EACA,OAAO,QAAA,EAAU;AACb,IAAA,IAAI,OAAO,aAAa,WAAA,EAAa;AACjC,MAAA;AAAA,IACJ;AACA,IAAA,IAAI,CAAC,QAAA,CAAS,MAAA,EAAQ,MAAA,EAAQ;AAC1B,MAAA;AAAA,IACJ;AACA,IAAA,MAAM,OAAA,GAAU,SAAS,OAAA,IAAW,WAAA;AACpC,IAAA,IAAI,IAAA,CAAK,OAAA,CAAQ,GAAA,CAAI,OAAO,CAAA,EAAG;AAC3B,MAAA;AAAA,IACJ;AACA,IAAA,MAAM,QAAA,GAAW,QAAA,CAAS,aAAA,CAAc,OAAO,CAAA;AAC/C,IAAA,QAAA,CAAS,OAAA,CAAQ,WAAA,GAAc,QAAA,CAAS,IAAA,IAAQ,WAAA;AAChD,IAAA,QAAA,CAAS,WAAA,GAAc,QAAA,CAAS,MAAA,CAAO,IAAA,CAAK,IAAI,CAAA;AAChD,IAAA,QAAA,CAAS,IAAA,CAAK,YAAY,QAAQ,CAAA;AAClC,IAAA,IAAA,CAAK,OAAA,CAAQ,GAAA,CAAI,OAAA,EAAS,QAAQ,CAAA;AAAA,EACtC;AACJ,CAAA;AACA,IAAM,aAAA,GAAgB,IAAI,aAAA,EAAc;AACjC,SAAS,eAAA,CAAgB,WAAW,OAAA,EAAS;AAChD,EAAA,OAAO,SAAA,CAAU,MAAM,OAAO,CAAA;AAClC;AACA,SAAS,oBAAoB,WAAA,EAAa;AACtC,EAAA,OAAO,IAAI,KAAA,CAAM,EAAC,EAAG;AAAA,IACjB,GAAA,EAAK,CAAC,OAAA,EAAS,GAAA,KAAQ;AACnB,MAAA,MAAM,UAAU,WAAA,EAAY;AAC5B,MAAA,OAAO,QAAQ,GAAG,CAAA;AAAA,IACtB;AAAA,GACH,CAAA;AACL","file":"chunk-CHLDE4JQ.js","sourcesContent":["export class Injector {\n constructor(parent) {\n this.parent = parent;\n this.records = new Map();\n }\n register(provider) {\n this.records.set(provider.token, createRecord(provider));\n }\n get(token, notFound) {\n const record = this.records.get(token);\n if (record) {\n if (!record.resolved) {\n record.value = record.factory(this);\n record.resolved = true;\n }\n return record.value;\n }\n if (this.parent) {\n return this.parent.get(token, notFound);\n }\n if (typeof notFound !== 'undefined') {\n return notFound;\n }\n throw new Error(`No provider for token ${token.toString()}`);\n }\n createChild(providers = []) {\n const child = new Injector(this);\n providers.forEach(provider => {\n child.register(provider);\n });\n return child;\n }\n}\nexport function createInjector(providers = [], parent) {\n const injector = new Injector(parent);\n providers.forEach(provider => {\n injector.register(provider);\n });\n return injector;\n}\nfunction createRecord(provider) {\n if (Object.prototype.hasOwnProperty.call(provider, 'useValue')) {\n return {\n token: provider.token,\n resolved: true,\n factory: () => provider.useValue,\n value: provider.useValue,\n };\n }\n if (provider.useClass) {\n const Target = provider.useClass;\n return {\n token: provider.token,\n resolved: false,\n factory: injector => new Target(...(provider.deps ?? []).map(dep => injector.get(dep))),\n };\n }\n if (provider.useFactory) {\n const factory = provider.useFactory;\n return {\n token: provider.token,\n resolved: false,\n factory: injector => factory(...(provider.deps ?? []).map(dep => injector.get(dep))),\n };\n }\n throw new Error('Unsupported provider configuration.');\n}\n","import { STYLE_SCOPE_ATTR } from '../shared/styleScope.js';\nimport { effect } from './signals.js';\nconst expressionCache = new Map();\nexport function compileExpression(expression) {\n let runner = expressionCache.get(expression);\n if (!runner) {\n runner = new Function('ctx', `with(ctx){ return (${expression}); }`);\n expressionCache.set(expression, runner);\n }\n return runner;\n}\nexport function toDisplay(value) {\n if (value == null) {\n return '';\n }\n if (Array.isArray(value)) {\n return value.map(toDisplay).join(',');\n }\n if (typeof value === 'object') {\n return JSON.stringify(value);\n }\n return String(value);\n}\nexport function renderTemplate(compiled, scope, target) {\n const disposers = [];\n const register = dispose => disposers.push(dispose);\n const renderContext = { scopeAttr: compiled.scopeId };\n compiled.instructions.forEach(instruction => {\n mountInstruction(instruction, target, scope, register, renderContext);\n });\n return {\n destroy() {\n disposers.slice().reverse().forEach(dispose => {\n dispose();\n });\n },\n };\n}\nfunction mountInstruction(instruction, parent, scope, register, context, before) {\n switch (instruction.type) {\n case 'text':\n mountText(instruction.value, parent, register, before);\n return;\n case 'expression':\n mountExpression(instruction.expression, parent, scope, register, before);\n return;\n case 'element':\n mountElement(instruction, parent, scope, register, context, before);\n return;\n case 'if':\n mountConditional(instruction, parent, scope, register, context, before);\n return;\n case 'for':\n mountLoop(instruction, parent, scope, register, context, before);\n return;\n case 'slot':\n mountSlot(instruction, parent, scope, register, context, before);\n return;\n case 'await':\n mountAwait(instruction, parent, scope, register, context, before);\n return;\n default:\n return;\n }\n}\nfunction mountText(value, parent, register, before) {\n const textNode = document.createTextNode(value);\n insertNode(parent, textNode, before);\n register(() => {\n textNode.remove();\n });\n}\nfunction mountExpression(expression, parent, scope, register, before) {\n const textNode = document.createTextNode('');\n insertNode(parent, textNode, before);\n const runner = compileExpression(expression);\n const dispose = effect(() => {\n const value = runner(scope);\n textNode.textContent = toDisplay(value);\n });\n register(() => {\n dispose();\n textNode.remove();\n });\n}\nfunction mountElement(instruction, parent, scope, register, context, before) {\n const el = document.createElement(instruction.tag.toLowerCase());\n const indexedEl = el;\n if (context.scopeAttr && !el.hasAttribute(STYLE_SCOPE_ATTR)) {\n el.setAttribute(STYLE_SCOPE_ATTR, context.scopeAttr);\n }\n const attrRegister = createLocalRegister(register);\n for (const attr of instruction.attributes) {\n switch (attr.kind) {\n case 'static':\n el.setAttribute(attr.name, attr.value);\n break;\n case 'property': {\n const runner = compileExpression(attr.expression);\n const dispose = effect(() => {\n const value = runner(scope);\n indexedEl[attr.name] = value;\n });\n attrRegister.register(dispose);\n break;\n }\n case 'event': {\n const runner = compileExpression(attr.handler);\n const listener = (event) => {\n const handler = runner(scope);\n if (typeof handler === 'function') {\n handler(event);\n }\n };\n el.addEventListener(attr.name, listener);\n attrRegister.register(() => {\n el.removeEventListener(attr.name, listener);\n });\n break;\n }\n case 'class-list': {\n const runner = compileExpression(attr.expression);\n const dispose = effect(() => {\n const result = runner(scope);\n if (typeof result === 'string') {\n el.className = result;\n return;\n }\n if (result && typeof result === 'object') {\n const segments = [];\n for (const [key, value] of Object.entries(result)) {\n if (value) {\n segments.push(key);\n }\n }\n el.className = segments.join(' ');\n }\n });\n attrRegister.register(dispose);\n break;\n }\n default:\n break;\n }\n }\n insertNode(parent, el, before);\n instruction.children.forEach(child => {\n mountInstruction(child, el, scope, register, context);\n });\n register(() => {\n attrRegister.flush();\n el.remove();\n });\n}\nfunction mountConditional(instruction, parent, scope, register, context, before) {\n const anchor = document.createComment('ce:if');\n insertNode(parent, anchor, before);\n let current;\n const runner = compileExpression(instruction.condition);\n const dispose = effect(() => {\n current?.();\n current = undefined;\n const condition = Boolean(runner(scope));\n if (condition) {\n current = mountInstructionList(instruction.truthy, parent, scope, register, context, anchor);\n return;\n }\n if (instruction.falsy) {\n current = mountInstructionList(instruction.falsy, parent, scope, register, context, anchor);\n }\n });\n register(() => {\n dispose();\n current?.();\n anchor.remove();\n });\n}\nfunction mountLoop(instruction, parent, scope, register, context, before) {\n const anchor = document.createComment('ce:for');\n insertNode(parent, anchor, before);\n let instances = [];\n const runner = compileExpression(instruction.iterator);\n const dispose = effect(() => {\n instances.forEach(cleanup => {\n cleanup();\n });\n instances = [];\n const iterable = runner(scope);\n const values = Array.isArray(iterable)\n ? iterable\n : iterable && typeof iterable === 'object' && Symbol.iterator in iterable\n ? Array.from(iterable)\n : [];\n values.forEach((value, index) => {\n const childScope = Object.create(scope);\n childScope[instruction.item] = value;\n if (instruction.index) {\n childScope[instruction.index] = index;\n }\n instances.push(mountInstructionList(instruction.children, parent, childScope, register, context, anchor));\n });\n });\n register(() => {\n dispose();\n instances.forEach(cleanup => {\n cleanup();\n });\n anchor.remove();\n });\n}\nfunction mountSlot(instruction, parent, scope, register, _context, before) {\n const slotName = instruction.name ?? 'default';\n const slotRenderer = scope.slots?.[slotName];\n if (slotRenderer) {\n const fragment = document.createDocumentFragment();\n slotRenderer(fragment);\n insertNode(parent, fragment, before);\n const nodes = Array.from(fragment.childNodes);\n register(() => {\n nodes.forEach(node => {\n node.parentNode?.removeChild(node);\n });\n });\n }\n else {\n instruction.children.forEach(child => {\n mountInstruction(child, parent, scope, register, _context, before);\n });\n }\n}\nfunction mountAwait(instruction, parent, scope, register, context, before) {\n const start = document.createComment('ce:await:start');\n const end = document.createComment('ce:await:end');\n insertNode(parent, start, before);\n insertNode(parent, end, before);\n let currentDispose = null;\n let token = 0;\n const renderBranch = (instructions, extraScope) => {\n if (currentDispose) {\n currentDispose();\n }\n if (instructions.length === 0) {\n currentDispose = null;\n return;\n }\n const branchScope = extraScope ? Object.assign(Object.create(scope), extraScope) : scope;\n currentDispose = mountInstructionList(instructions, parent, branchScope, register, context, end);\n };\n const dispose = effect(() => {\n const value = compileExpression(instruction.expression)(scope);\n const currentToken = (token += 1);\n if (isPromiseLike(value)) {\n renderBranch(instruction.pending);\n value\n .then((resolved) => {\n if (currentToken !== token) {\n return;\n }\n const extra = instruction.valueName ? { [instruction.valueName]: resolved } : undefined;\n renderBranch(instruction.resolved, extra);\n })\n .catch((error) => {\n if (currentToken !== token) {\n return;\n }\n const extra = instruction.errorName ? { [instruction.errorName]: error } : undefined;\n renderBranch(instruction.rejected, extra);\n });\n return;\n }\n const extra = instruction.valueName ? { [instruction.valueName]: value } : undefined;\n renderBranch(instruction.resolved, extra);\n });\n register(() => {\n dispose();\n if (currentDispose) {\n currentDispose();\n }\n start.remove();\n end.remove();\n });\n}\nfunction mountInstructionList(instructions, parent, scope, register, context, before) {\n const local = createLocalRegister(register);\n instructions.forEach(child => {\n mountInstruction(child, parent, scope, local.register, context, before);\n });\n return () => {\n local.flush();\n };\n}\nfunction insertNode(parent, node, before) {\n if (before && before.parentNode === parent) {\n parent.insertBefore(node, before);\n return;\n }\n parent.appendChild(node);\n}\nfunction createLocalRegister(parent) {\n const localDisposers = [];\n const register = dispose => localDisposers.push(dispose);\n const flush = () => {\n localDisposers.slice().reverse().forEach(dispose => {\n dispose();\n });\n localDisposers.length = 0;\n };\n parent(flush);\n return { register, flush };\n}\nfunction isPromiseLike(value) {\n return Boolean(value) && typeof value === 'object' && 'then' in value;\n}\n","import { STYLE_SCOPE_ATTR } from '../shared/styleScope.js';\nimport { compileExpression, toDisplay } from './template.js';\nexport function renderTemplateToString(compiled, scope) {\n return compiled.instructions\n .map(instruction => renderInstruction(instruction, scope, compiled.scopeId))\n .join('');\n}\nexport async function renderTemplateToStream(compiled, scope) {\n const tasks = [];\n const html = compiled.instructions\n .map(instruction => renderInstruction(instruction, scope, compiled.scopeId, tasks))\n .join('');\n return createStreamIterable(html, tasks);\n}\nfunction renderInstruction(instruction, scope, scopeAttr, tasks) {\n switch (instruction.type) {\n case 'text':\n return escapeHtml(instruction.value);\n case 'expression':\n return escapeHtml(toDisplay(compileExpression(instruction.expression)(scope)));\n case 'element':\n return renderElement(instruction, scope, scopeAttr, tasks);\n case 'if':\n return renderConditional(instruction, scope, scopeAttr, tasks);\n case 'for':\n return renderLoop(instruction, scope, scopeAttr, tasks);\n case 'slot':\n return renderSlot(instruction, scope, scopeAttr, tasks);\n case 'await':\n return renderAwait(instruction, scope, scopeAttr, tasks);\n default:\n return '';\n }\n}\nfunction renderElement(instruction, scope, scopeAttr, tasks) {\n const attrs = instruction.attributes\n .map(attr => attributeToString(attr, scope))\n .filter(Boolean);\n if (scopeAttr && !instruction.attributes.some(attr => attr.kind === 'static' && attr.name === STYLE_SCOPE_ATTR)) {\n attrs.push(`${STYLE_SCOPE_ATTR}=\"${scopeAttr}\"`);\n }\n const joinedAttrs = attrs.filter(Boolean).join(' ');\n const children = instruction.children.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n const open = `<${instruction.tag}${joinedAttrs ? ` ${joinedAttrs}` : ''}>`;\n const close = `</${instruction.tag}>`;\n return `${open}${children}${close}`;\n}\nfunction attributeToString(attr, scope) {\n if (attr.kind === 'static') {\n return `${attr.name}=\"${escapeAttribute(attr.value)}\"`;\n }\n if (attr.kind === 'property') {\n const value = compileExpression(attr.expression)(scope);\n if (value === false || value === null || typeof value === 'undefined') {\n return '';\n }\n return `${attr.name}=\"${escapeAttribute(toDisplay(value))}\"`;\n }\n if (attr.kind === 'class-list') {\n const value = compileExpression(attr.expression)(scope);\n if (typeof value === 'string') {\n return value ? `class=\"${escapeAttribute(value)}\"` : '';\n }\n if (value && typeof value === 'object') {\n const segments = Object.entries(value)\n .filter(([, enabled]) => Boolean(enabled))\n .map(([key]) => key)\n .join(' ');\n return segments ? `class=\"${escapeAttribute(segments)}\"` : '';\n }\n return '';\n }\n return '';\n}\nfunction renderConditional(instruction, scope, scopeAttr, tasks) {\n const condition = Boolean(compileExpression(instruction.condition)(scope));\n if (condition) {\n return instruction.truthy.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n }\n if (instruction.falsy) {\n return instruction.falsy.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n }\n return '';\n}\nfunction renderLoop(instruction, scope, scopeAttr, tasks) {\n const iterable = compileExpression(instruction.iterator)(scope);\n const values = Array.isArray(iterable)\n ? iterable\n : iterable && typeof iterable === 'object' && Symbol.iterator in iterable\n ? Array.from(iterable)\n : [];\n return values\n .map((value, index) => {\n const childScope = Object.create(scope);\n childScope[instruction.item] = value;\n if (instruction.index) {\n childScope[instruction.index] = index;\n }\n return instruction.children.map(child => renderInstruction(child, childScope, scopeAttr, tasks)).join('');\n })\n .join('');\n}\nfunction renderSlot(instruction, scope, scopeAttr, tasks) {\n const slotName = instruction.name ?? 'default';\n const renderer = scope.slots?.[slotName];\n if (renderer) {\n // Slots are not rendered on the server (defer to client hydration)\n return '';\n }\n return instruction.children.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n}\nfunction renderAwait(instruction, scope, scopeAttr, tasks) {\n const value = compileExpression(instruction.expression)(scope);\n if (!isPromiseLike(value)) {\n return renderAwaitBranch(instruction.resolved, scope, scopeAttr, tasks, instruction.valueName, value);\n }\n const pendingHtml = instruction.pending.map(child => renderInstruction(child, scope, scopeAttr, tasks)).join('');\n const awaitId = nextAwaitId();\n if (tasks) {\n tasks.push({\n id: awaitId,\n promise: value,\n resolve: resolved => renderAwaitBranch(instruction.resolved, scope, scopeAttr, tasks, instruction.valueName, resolved),\n reject: error => renderAwaitBranch(instruction.rejected, scope, scopeAttr, tasks, instruction.errorName, error),\n });\n }\n return `<span data-ce-await=\"${awaitId}\">${pendingHtml}</span>`;\n}\nfunction renderAwaitBranch(instructions, scope, scopeAttr, tasks, bindingName, bindingValue) {\n if (instructions.length === 0) {\n return '';\n }\n const branchScope = bindingName ? Object.assign(Object.create(scope), { [bindingName]: bindingValue }) : scope;\n return instructions.map(child => renderInstruction(child, branchScope, scopeAttr, tasks)).join('');\n}\nfunction escapeHtml(value) {\n return value.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');\n}\nfunction escapeAttribute(value) {\n return escapeHtml(value).replace(/\"/g, '"');\n}\nfunction isPromiseLike(value) {\n return Boolean(value) && typeof value === 'object' && 'then' in value;\n}\nfunction createStreamIterable(initialHtml, tasks) {\n return {\n async *[Symbol.asyncIterator]() {\n yield initialHtml;\n for (const task of tasks) {\n try {\n const resolved = await task.promise;\n const html = task.resolve(resolved);\n yield buildAwaitReplacement(task.id, html);\n }\n catch (error) {\n const html = task.reject(error);\n yield buildAwaitReplacement(task.id, html);\n }\n }\n },\n };\n}\nfunction buildAwaitReplacement(id, html) {\n const escapedId = escapeAttribute(id);\n const template = `<template data-ce-await=\"${escapedId}\">${html}</template>`;\n const script = `<script>(function(){var t=document.querySelector('template[data-ce-await=\"${escapedId}\"]');var host=document.querySelector('[data-ce-await=\"${escapedId}\"]');if(t&&host){host.replaceWith(t.content.cloneNode(true));t.remove();}})();</script>`;\n return `${template}${script}`;\n}\nlet awaitCounter = 0;\nfunction nextAwaitId() {\n awaitCounter += 1;\n return `await-${awaitCounter}`;\n}\n","import { computed } from './signals.js';\nimport { readRouteData } from './route-data-registry.js';\n\nconst routerContextStack = [];\n\nexport function withRouterContext(router, run) {\n routerContextStack.push({ router });\n try {\n return run();\n } finally {\n routerContextStack.pop();\n }\n}\n\nfunction ensureRouterContext() {\n const context = routerContextStack.at(-1) ?? null;\n if (!context) {\n throw new Error('Router hooks can only be used while a Router context is active.');\n }\n return context;\n}\n\nexport function useRouter() {\n return ensureRouterContext().router;\n}\n\nexport function useNavigate() {\n const router = useRouter();\n return (path, options) => router.navigate(path, options);\n}\n\nexport function useLocation() {\n return useRouter().currentPath;\n}\n\nexport function useRouteMatch() {\n return useRouter().currentMatch;\n}\n\nexport function useRouteParams() {\n const matchSignal = useRouteMatch();\n return computed(() => matchSignal()?.params ?? {});\n}\n\nexport function useRouteData() {\n const matchSignal = useRouteMatch();\n return computed(() => {\n const match = matchSignal();\n const entry = readRouteData(match);\n return entry?.data;\n });\n}\n","import { compileTemplate } from '../compiler/compileTemplate.js';\nimport { createStyleScopeId, scopeStyles } from '../shared/styleScope.js';\nimport { renderTemplate } from './template.js';\nimport { signal } from './signals.js';\nimport { createInjector } from './di.js';\nimport { renderTemplateToString } from './ssr.js';\nimport { withRouterContext } from './router-context.js';\nimport { registerThemeAwareComponent } from '../lib/theme.js';\nclass ComponentRuntime {\n constructor(options) {\n this.options = options;\n }\n mount(mountOptions) {\n const compiled = this.ensureTemplate();\n styleRegistry.attach(compiled);\n const propsSignal = signal({ ...(mountOptions.props ?? {}) });\n const reactiveProps = createReactiveProps(propsSignal);\n const emit = (event, payload) => {\n mountOptions.on?.[event]?.(payload);\n };\n const injector = mountOptions.injector\n ? mountOptions.injector.createChild(this.options.providers ?? [])\n : createInjector(this.options.providers ?? []);\n const setupResult = this.options.setup\n ? this.options.setup({ props: reactiveProps, emit, injector, slots: mountOptions.slots })\n : {};\n const { slots: setupSlots, ...setupState } = setupResult ?? {};\n const scope = {\n props: reactiveProps,\n ...setupState,\n slots: setupSlots ?? mountOptions.slots,\n };\n const handle = mountOptions.router\n ? withRouterContext(mountOptions.router, () => renderTemplate(compiled, scope, mountOptions.target))\n : renderTemplate(compiled, scope, mountOptions.target);\n const updateProps = (partial) => {\n propsSignal.set({ ...propsSignal(), ...partial });\n };\n const lifecycle = this.options.lifecycle;\n const lifecycleContext = {\n target: mountOptions.target,\n props: reactiveProps,\n emit,\n injector,\n updateProps,\n };\n let cleanupTheme;\n let cleanupA11y;\n if (lifecycle?.onThemeUpdate && typeof document !== 'undefined') {\n cleanupTheme = registerThemeAwareComponent((state) => {\n lifecycle?.onThemeUpdate?.(state, lifecycleContext);\n });\n }\n if (lifecycle?.onStylesApplied) {\n lifecycle.onStylesApplied(compiled.styles ?? [], lifecycleContext);\n }\n if (lifecycle?.onA11ySetup) {\n const cleanup = lifecycle.onA11ySetup(lifecycleContext);\n if (typeof cleanup === 'function') {\n cleanupA11y = cleanup;\n }\n }\n lifecycle?.onMount?.(lifecycleContext);\n return {\n destroy() {\n cleanupTheme?.();\n cleanupA11y?.();\n lifecycle?.onDestroy?.(lifecycleContext);\n handle.destroy();\n },\n updateProps,\n };\n }\n renderToString(props) {\n const compiled = this.ensureTemplate();\n const propsSignal = signal({ ...(props ?? {}) });\n const reactiveProps = createReactiveProps(propsSignal);\n const injector = createInjector(this.options.providers ?? []);\n const setupResult = this.options.setup\n ? this.options.setup({ props: reactiveProps, emit: () => undefined, injector })\n : {};\n const scope = {\n props: reactiveProps,\n ...setupResult,\n };\n return renderTemplateToString(compiled, scope);\n }\n ensureTemplate() {\n if (this.compiled) {\n return this.compiled;\n }\n const compiled = this.buildTemplate();\n this.compiled = compiled;\n return compiled;\n }\n buildTemplate() {\n const base = typeof this.options.template === 'string'\n ? compileTemplate(this.options.template, {\n name: this.options.name,\n ...this.options.templateOptions,\n scopeId: this.options.scopeId,\n })\n : { ...this.options.template };\n if (this.options.styles?.length) {\n const scopeId = base.scopeId ?? this.options.scopeId ?? createStyleScopeId(this.options.name ?? 'component');\n base.scopeId = scopeId;\n base.styles = scopeStyles(this.options.styles, scopeId);\n }\n else if (base.styles?.length && base.scopeId) {\n base.styles = scopeStyles(base.styles, base.scopeId);\n }\n return base;\n }\n}\nexport function defineComponent(options) {\n return new ComponentRuntime(options);\n}\nclass StyleRegistry {\n constructor() {\n this.mounted = new Map();\n }\n attach(compiled) {\n if (typeof document === 'undefined') {\n return;\n }\n if (!compiled.styles?.length) {\n return;\n }\n const scopeId = compiled.scopeId ?? 'component';\n if (this.mounted.has(scopeId)) {\n return;\n }\n const styleTag = document.createElement('style');\n styleTag.dataset.ceComponent = compiled.name ?? 'component';\n styleTag.textContent = compiled.styles.join('\\n');\n document.head.appendChild(styleTag);\n this.mounted.set(scopeId, styleTag);\n }\n}\nconst styleRegistry = new StyleRegistry();\nexport function renderComponent(component, options) {\n return component.mount(options);\n}\nfunction createReactiveProps(propsSignal) {\n return new Proxy({}, {\n get: (_target, key) => {\n const current = propsSignal();\n return current[key];\n },\n });\n}\n"]}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkW3LNNY3U_cjs = require('./chunk-W3LNNY3U.cjs');
|
|
4
|
+
|
|
5
|
+
// src/runtime/components/ai-summary-card.ts
|
|
6
|
+
var SUMMARY_STYLES = `
|
|
7
|
+
.ai-summary {
|
|
8
|
+
display: flex;
|
|
9
|
+
flex-direction: column;
|
|
10
|
+
gap: 1rem;
|
|
11
|
+
}
|
|
12
|
+
.ai-summary__eyebrow {
|
|
13
|
+
text-transform: uppercase;
|
|
14
|
+
font-size: 0.75rem;
|
|
15
|
+
letter-spacing: 0.08em;
|
|
16
|
+
color: var(--ce-text-subtle, #64748b);
|
|
17
|
+
}
|
|
18
|
+
.ai-summary__highlights {
|
|
19
|
+
list-style: disc;
|
|
20
|
+
padding-left: 1.5rem;
|
|
21
|
+
margin: 0;
|
|
22
|
+
display: flex;
|
|
23
|
+
flex-direction: column;
|
|
24
|
+
gap: 0.35rem;
|
|
25
|
+
}
|
|
26
|
+
.ai-summary__footer {
|
|
27
|
+
display: flex;
|
|
28
|
+
justify-content: space-between;
|
|
29
|
+
align-items: center;
|
|
30
|
+
font-size: 0.8rem;
|
|
31
|
+
color: var(--ce-text-subtle, #94a3b8);
|
|
32
|
+
}
|
|
33
|
+
.ai-summary .badge[data-tone='critical'] {
|
|
34
|
+
background: var(--ce-danger, #dc2626);
|
|
35
|
+
}
|
|
36
|
+
.ai-summary .badge[data-tone='warning'] {
|
|
37
|
+
background: var(--ce-warning, #f97316);
|
|
38
|
+
}
|
|
39
|
+
.ai-summary .badge[data-tone='positive'] {
|
|
40
|
+
background: var(--ce-success, #10b981);
|
|
41
|
+
}
|
|
42
|
+
`;
|
|
43
|
+
var AiSummaryCard = chunkW3LNNY3U_cjs.defineComponent({
|
|
44
|
+
name: "ce-ai-summary-card",
|
|
45
|
+
template: `
|
|
46
|
+
<article class="card card--highlight ai-summary" role="article">
|
|
47
|
+
<header class="card__header">
|
|
48
|
+
<p class="ai-summary__eyebrow">{{ props.eyebrow ?? 'AI summary' }}</p>
|
|
49
|
+
<h3>{{ props.title }}</h3>
|
|
50
|
+
<span class="badge" data-tone="{{ props.sentiment ?? 'positive' }}">
|
|
51
|
+
{{ props.sentiment === 'critical' ? 'Critical' : props.sentiment === 'warning' ? 'Watch' : 'Positive' }}
|
|
52
|
+
</span>
|
|
53
|
+
</header>
|
|
54
|
+
<div class="card__body">
|
|
55
|
+
<p>{{ props.summary }}</p>
|
|
56
|
+
<ul class="ai-summary__highlights" ce:if="props.highlights?.length">
|
|
57
|
+
<li ce:for="highlight in props.highlights" track="highlight">{{ highlight }}</li>
|
|
58
|
+
</ul>
|
|
59
|
+
</div>
|
|
60
|
+
<footer class="card__footer ai-summary__footer">
|
|
61
|
+
<small ce:if="props.updatedAt">Updated {{ props.updatedAt }}</small>
|
|
62
|
+
<slot name="actions"></slot>
|
|
63
|
+
</footer>
|
|
64
|
+
</article>
|
|
65
|
+
`,
|
|
66
|
+
styles: [SUMMARY_STYLES]
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
exports.AiSummaryCard = AiSummaryCard;
|
|
70
|
+
//# sourceMappingURL=chunk-CXTAUXLG.cjs.map
|
|
71
|
+
//# sourceMappingURL=chunk-CXTAUXLG.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/runtime/components/ai-summary-card.ts"],"names":["defineComponent"],"mappings":";;;;;AAWA,IAAM,cAAA,GAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA;AAsChB,IAAM,gBAAgBA,iCAAA,CAAoC;AAAA,EAC/D,IAAA,EAAM,oBAAA;AAAA,EACN,QAAA,EAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA,CAAA;AAAA,EAqBV,MAAA,EAAQ,CAAC,cAAc;AACzB,CAAC","file":"chunk-CXTAUXLG.cjs","sourcesContent":["import { defineComponent } from '../component.js';\n\nexport interface AiSummaryCardProps extends Record<string, unknown> {\n eyebrow?: string;\n title: string;\n summary: string;\n highlights?: string[];\n sentiment?: 'positive' | 'warning' | 'critical';\n updatedAt?: string;\n}\n\nconst SUMMARY_STYLES = `\n .ai-summary {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n }\n .ai-summary__eyebrow {\n text-transform: uppercase;\n font-size: 0.75rem;\n letter-spacing: 0.08em;\n color: var(--ce-text-subtle, #64748b);\n }\n .ai-summary__highlights {\n list-style: disc;\n padding-left: 1.5rem;\n margin: 0;\n display: flex;\n flex-direction: column;\n gap: 0.35rem;\n }\n .ai-summary__footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 0.8rem;\n color: var(--ce-text-subtle, #94a3b8);\n }\n .ai-summary .badge[data-tone='critical'] {\n background: var(--ce-danger, #dc2626);\n }\n .ai-summary .badge[data-tone='warning'] {\n background: var(--ce-warning, #f97316);\n }\n .ai-summary .badge[data-tone='positive'] {\n background: var(--ce-success, #10b981);\n }\n`;\n\nexport const AiSummaryCard = defineComponent<AiSummaryCardProps>({\n name: 'ce-ai-summary-card',\n template: `\n <article class=\"card card--highlight ai-summary\" role=\"article\">\n <header class=\"card__header\">\n <p class=\"ai-summary__eyebrow\">{{ props.eyebrow ?? 'AI summary' }}</p>\n <h3>{{ props.title }}</h3>\n <span class=\"badge\" data-tone=\"{{ props.sentiment ?? 'positive' }}\">\n {{ props.sentiment === 'critical' ? 'Critical' : props.sentiment === 'warning' ? 'Watch' : 'Positive' }}\n </span>\n </header>\n <div class=\"card__body\">\n <p>{{ props.summary }}</p>\n <ul class=\"ai-summary__highlights\" ce:if=\"props.highlights?.length\">\n <li ce:for=\"highlight in props.highlights\" track=\"highlight\">{{ highlight }}</li>\n </ul>\n </div>\n <footer class=\"card__footer ai-summary__footer\">\n <small ce:if=\"props.updatedAt\">Updated {{ props.updatedAt }}</small>\n <slot name=\"actions\"></slot>\n </footer>\n </article>\n `,\n styles: [SUMMARY_STYLES],\n});\n"]}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { JsonlTraceExporter } from './chunk-DRPG2DFX.js';
|
|
2
|
+
|
|
3
|
+
// src/runtime/tracing.ts
|
|
4
|
+
var NoopRuntimeTraceSink = class {
|
|
5
|
+
record() {
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
var RuntimeTraceExporterSink = class {
|
|
9
|
+
constructor(exporter) {
|
|
10
|
+
this.exporter = exporter;
|
|
11
|
+
}
|
|
12
|
+
exporter;
|
|
13
|
+
record(event) {
|
|
14
|
+
void this.exporter.export(mapRuntimeTraceEvent(event));
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
var traceSinkStack = [];
|
|
18
|
+
var runtimeTraceSink;
|
|
19
|
+
var traceIdCounter = 0;
|
|
20
|
+
var envConfiguredTraceSink = resolveTraceSinkFromEnv();
|
|
21
|
+
if (envConfiguredTraceSink) {
|
|
22
|
+
setRuntimeTraceSink(envConfiguredTraceSink);
|
|
23
|
+
}
|
|
24
|
+
function setRuntimeTraceSink(sink) {
|
|
25
|
+
runtimeTraceSink = sink;
|
|
26
|
+
}
|
|
27
|
+
function withRuntimeTraceSink(sink, run) {
|
|
28
|
+
if (!sink) {
|
|
29
|
+
return run();
|
|
30
|
+
}
|
|
31
|
+
traceSinkStack.push(sink);
|
|
32
|
+
try {
|
|
33
|
+
const result = run();
|
|
34
|
+
if (isPromiseLike(result)) {
|
|
35
|
+
return Promise.resolve(result).finally(() => {
|
|
36
|
+
popTraceSink(sink);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
popTraceSink(sink);
|
|
40
|
+
return result;
|
|
41
|
+
} catch (error) {
|
|
42
|
+
popTraceSink(sink);
|
|
43
|
+
throw error;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function popTraceSink(expected) {
|
|
47
|
+
if (traceSinkStack[traceSinkStack.length - 1] === expected) {
|
|
48
|
+
traceSinkStack.pop();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
function isPromiseLike(value) {
|
|
52
|
+
if (typeof value !== "object" || value === null) {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
return typeof value.then === "function";
|
|
56
|
+
}
|
|
57
|
+
function getCurrentRuntimeTraceSink() {
|
|
58
|
+
return traceSinkStack[traceSinkStack.length - 1] ?? runtimeTraceSink;
|
|
59
|
+
}
|
|
60
|
+
function hasRuntimeTraceSink() {
|
|
61
|
+
return Boolean(getCurrentRuntimeTraceSink());
|
|
62
|
+
}
|
|
63
|
+
function recordRuntimeTrace(event) {
|
|
64
|
+
const sink = getCurrentRuntimeTraceSink();
|
|
65
|
+
if (!sink) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
void sink.record({
|
|
69
|
+
...event,
|
|
70
|
+
timestamp: event.timestamp ?? /* @__PURE__ */ new Date()
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
function nextRuntimeTraceId(prefix) {
|
|
74
|
+
traceIdCounter += 1;
|
|
75
|
+
return `${prefix}-${String(traceIdCounter)}`;
|
|
76
|
+
}
|
|
77
|
+
function mapRuntimeTraceEvent(event) {
|
|
78
|
+
const timestamp = event.timestamp ?? /* @__PURE__ */ new Date();
|
|
79
|
+
return {
|
|
80
|
+
type: event.type,
|
|
81
|
+
timestamp,
|
|
82
|
+
attributes: compact({
|
|
83
|
+
componentName: event.componentName,
|
|
84
|
+
componentInstanceId: event.componentInstanceId,
|
|
85
|
+
templateId: event.templateId,
|
|
86
|
+
effectId: event.effectId,
|
|
87
|
+
signalId: event.signalId,
|
|
88
|
+
middlewareName: event.middlewareName,
|
|
89
|
+
middlewareIndex: event.middlewareIndex,
|
|
90
|
+
requestId: event.requestId,
|
|
91
|
+
...event.attributes
|
|
92
|
+
})
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
function compact(record) {
|
|
96
|
+
if (!record) {
|
|
97
|
+
return void 0;
|
|
98
|
+
}
|
|
99
|
+
const entries = Object.entries(record).filter(([, value]) => typeof value !== "undefined");
|
|
100
|
+
if (entries.length === 0) {
|
|
101
|
+
return void 0;
|
|
102
|
+
}
|
|
103
|
+
return Object.fromEntries(entries);
|
|
104
|
+
}
|
|
105
|
+
function resolveTraceSinkFromEnv() {
|
|
106
|
+
const env = globalThis.process?.env;
|
|
107
|
+
const filePath = env?.CEUI_RUNTIME_TRACE_FILE;
|
|
108
|
+
if (!filePath) {
|
|
109
|
+
return void 0;
|
|
110
|
+
}
|
|
111
|
+
try {
|
|
112
|
+
return new RuntimeTraceExporterSink(new JsonlTraceExporter({ filePath }));
|
|
113
|
+
} catch (error) {
|
|
114
|
+
console.warn("Failed to configure runtime trace sink from CEUI_RUNTIME_TRACE_FILE", error);
|
|
115
|
+
return void 0;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
export { NoopRuntimeTraceSink, RuntimeTraceExporterSink, getCurrentRuntimeTraceSink, hasRuntimeTraceSink, nextRuntimeTraceId, recordRuntimeTrace, setRuntimeTraceSink, withRuntimeTraceSink };
|
|
120
|
+
//# sourceMappingURL=chunk-D2USIT6V.js.map
|
|
121
|
+
//# sourceMappingURL=chunk-D2USIT6V.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/runtime/tracing.ts"],"names":[],"mappings":"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","file":"chunk-D2USIT6V.js","sourcesContent":["import { JsonlTraceExporter } from './shared/trace.js';\nimport type { TraceEventPayload, TraceExporter } from './shared/trace.js';\nexport type RuntimeTraceEventType =\n | 'component.mount.started'\n | 'component.mount.completed'\n | 'component.destroyed'\n | 'component.props.updated'\n | 'template.render.started'\n | 'template.render.completed'\n | 'signals.effect.created'\n | 'signals.effect.run'\n | 'signals.effect.completed'\n | 'signals.effect.scheduled'\n | 'signals.effect.disposed'\n | 'signals.signal.read'\n | 'signals.signal.written'\n | 'signals.batch.started'\n | 'signals.batch.completed'\n | 'ssr.render.started'\n | 'ssr.render.completed'\n | 'server.request.started'\n | 'server.request.completed'\n | 'server.middleware.started'\n | 'server.middleware.completed';\n\nexport interface RuntimeTraceEvent {\n type: RuntimeTraceEventType;\n timestamp?: Date;\n componentName?: string;\n componentInstanceId?: string;\n templateId?: string;\n effectId?: string;\n signalId?: string;\n middlewareName?: string;\n middlewareIndex?: number;\n requestId?: string;\n attributes?: Record<string, unknown>;\n}\n\nexport interface RuntimeTraceSink {\n record(event: RuntimeTraceEvent): void | Promise<void>;\n}\n\nexport class NoopRuntimeTraceSink implements RuntimeTraceSink {\n record(): void {\n // noop\n }\n}\n\nexport class RuntimeTraceExporterSink implements RuntimeTraceSink {\n constructor(private readonly exporter: TraceExporter) {}\n\n record(event: RuntimeTraceEvent): void {\n void this.exporter.export(mapRuntimeTraceEvent(event));\n }\n}\n\ntype TraceEventInput = Omit<RuntimeTraceEvent, 'timestamp'> & { timestamp?: Date };\n\nconst traceSinkStack: RuntimeTraceSink[] = [];\nlet runtimeTraceSink: RuntimeTraceSink | undefined;\nlet traceIdCounter = 0;\n\nconst envConfiguredTraceSink = resolveTraceSinkFromEnv();\nif (envConfiguredTraceSink) {\n setRuntimeTraceSink(envConfiguredTraceSink);\n}\n\nexport function setRuntimeTraceSink(sink: RuntimeTraceSink | undefined): void {\n runtimeTraceSink = sink;\n}\n\nexport function withRuntimeTraceSink<T>(sink: RuntimeTraceSink | undefined, run: () => T): T {\n if (!sink) {\n return run();\n }\n traceSinkStack.push(sink);\n try {\n const result = run();\n if (isPromiseLike(result)) {\n return Promise.resolve(result).finally(() => {\n popTraceSink(sink);\n }) as T;\n }\n popTraceSink(sink);\n return result;\n } catch (error) {\n popTraceSink(sink);\n throw error;\n }\n}\n\nfunction popTraceSink(expected: RuntimeTraceSink) {\n if (traceSinkStack[traceSinkStack.length - 1] === expected) {\n traceSinkStack.pop();\n }\n}\n\nfunction isPromiseLike<T>(value: unknown): value is PromiseLike<T> {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n return typeof (value as { then?: unknown }).then === 'function';\n}\n\nexport function getCurrentRuntimeTraceSink(): RuntimeTraceSink | undefined {\n return traceSinkStack[traceSinkStack.length - 1] ?? runtimeTraceSink;\n}\n\nexport function hasRuntimeTraceSink(): boolean {\n return Boolean(getCurrentRuntimeTraceSink());\n}\n\nexport function recordRuntimeTrace(event: TraceEventInput): void {\n const sink = getCurrentRuntimeTraceSink();\n if (!sink) {\n return;\n }\n void sink.record({\n ...event,\n timestamp: event.timestamp ?? new Date(),\n });\n}\n\nexport function nextRuntimeTraceId(prefix: string): string {\n traceIdCounter += 1;\n return `${prefix}-${String(traceIdCounter)}`;\n}\n\nfunction mapRuntimeTraceEvent(event: RuntimeTraceEvent): TraceEventPayload {\n const timestamp = event.timestamp ?? new Date();\n return {\n type: event.type,\n timestamp,\n attributes: compact({\n componentName: event.componentName,\n componentInstanceId: event.componentInstanceId,\n templateId: event.templateId,\n effectId: event.effectId,\n signalId: event.signalId,\n middlewareName: event.middlewareName,\n middlewareIndex: event.middlewareIndex,\n requestId: event.requestId,\n ...event.attributes,\n }),\n };\n}\n\nfunction compact(record: Record<string, unknown> | undefined): Record<string, unknown> | undefined {\n if (!record) {\n return undefined;\n }\n const entries = Object.entries(record).filter(([, value]) => typeof value !== 'undefined');\n if (entries.length === 0) {\n return undefined;\n }\n return Object.fromEntries(entries);\n}\n\nfunction resolveTraceSinkFromEnv(): RuntimeTraceSink | undefined {\n const env = (globalThis as { process?: { env?: Record<string, string | undefined> } }).process?.env;\n const filePath = env?.CEUI_RUNTIME_TRACE_FILE;\n if (!filePath) {\n return undefined;\n }\n try {\n return new RuntimeTraceExporterSink(new JsonlTraceExporter({ filePath }));\n } catch (error) {\n console.warn('Failed to configure runtime trace sink from CEUI_RUNTIME_TRACE_FILE', error);\n return undefined;\n }\n}\n"]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { signal } from './chunk-PFBEIFVS.js';
|
|
2
|
+
|
|
3
|
+
// src/runtime/route-data-registry.js
|
|
4
|
+
var routeDataStore = signal(/* @__PURE__ */ new Map());
|
|
5
|
+
function cacheRouteDataResult(match, result) {
|
|
6
|
+
routeDataStore.update((current) => {
|
|
7
|
+
const next = new Map(current);
|
|
8
|
+
next.set(createCacheKey(match), result);
|
|
9
|
+
return next;
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
function clearRouteDataResult(match) {
|
|
13
|
+
routeDataStore.update((current) => {
|
|
14
|
+
const next = new Map(current);
|
|
15
|
+
next.delete(createCacheKey(match));
|
|
16
|
+
return next;
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
function readRouteData(match) {
|
|
20
|
+
if (!match) {
|
|
21
|
+
return void 0;
|
|
22
|
+
}
|
|
23
|
+
return routeDataStore().get(createCacheKey(match));
|
|
24
|
+
}
|
|
25
|
+
function getRouteDataStore() {
|
|
26
|
+
return routeDataStore;
|
|
27
|
+
}
|
|
28
|
+
function createCacheKey(match) {
|
|
29
|
+
const routeId = match.route.id ?? match.fullPath;
|
|
30
|
+
const paramsKey = Object.keys(match.params).sort().map((key) => `${key}:${match.params[key]}`).join("|");
|
|
31
|
+
return `${routeId}::${paramsKey}`;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export { cacheRouteDataResult, clearRouteDataResult, getRouteDataStore, readRouteData };
|
|
35
|
+
//# sourceMappingURL=chunk-D3H5CGVD.js.map
|
|
36
|
+
//# sourceMappingURL=chunk-D3H5CGVD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/runtime/route-data-registry.js"],"names":[],"mappings":";;;AAEA,IAAM,cAAA,GAAiB,MAAA,iBAAO,IAAI,GAAA,EAAK,CAAA;AAEhC,SAAS,oBAAA,CAAqB,OAAO,MAAA,EAAQ;AAClD,EAAA,cAAA,CAAe,OAAO,CAAA,OAAA,KAAW;AAC/B,IAAA,MAAM,IAAA,GAAO,IAAI,GAAA,CAAI,OAAO,CAAA;AAC5B,IAAA,IAAA,CAAK,GAAA,CAAI,cAAA,CAAe,KAAK,CAAA,EAAG,MAAM,CAAA;AACtC,IAAA,OAAO,IAAA;AAAA,EACT,CAAC,CAAA;AACH;AAEO,SAAS,qBAAqB,KAAA,EAAO;AAC1C,EAAA,cAAA,CAAe,OAAO,CAAA,OAAA,KAAW;AAC/B,IAAA,MAAM,IAAA,GAAO,IAAI,GAAA,CAAI,OAAO,CAAA;AAC5B,IAAA,IAAA,CAAK,MAAA,CAAO,cAAA,CAAe,KAAK,CAAC,CAAA;AACjC,IAAA,OAAO,IAAA;AAAA,EACT,CAAC,CAAA;AACH;AAEO,SAAS,cAAc,KAAA,EAAO;AACnC,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,OAAO,MAAA;AAAA,EACT;AACA,EAAA,OAAO,cAAA,EAAe,CAAE,GAAA,CAAI,cAAA,CAAe,KAAK,CAAC,CAAA;AACnD;AAEO,SAAS,iBAAA,GAAoB;AAClC,EAAA,OAAO,cAAA;AACT;AAMA,SAAS,eAAe,KAAA,EAAO;AAC7B,EAAA,MAAM,OAAA,GAAU,KAAA,CAAM,KAAA,CAAM,EAAA,IAAM,KAAA,CAAM,QAAA;AACxC,EAAA,MAAM,SAAA,GAAY,OAAO,IAAA,CAAK,KAAA,CAAM,MAAM,CAAA,CACvC,IAAA,GACA,GAAA,CAAI,CAAA,GAAA,KAAO,GAAG,GAAG,CAAA,CAAA,EAAI,MAAM,MAAA,CAAO,GAAG,CAAC,CAAA,CAAE,CAAA,CACxC,KAAK,GAAG,CAAA;AACX,EAAA,OAAO,CAAA,EAAG,OAAO,CAAA,EAAA,EAAK,SAAS,CAAA,CAAA;AACjC","file":"chunk-D3H5CGVD.js","sourcesContent":["import { signal } from './signals.js';\n\nconst routeDataStore = signal(new Map());\n\nexport function cacheRouteDataResult(match, result) {\n routeDataStore.update(current => {\n const next = new Map(current);\n next.set(createCacheKey(match), result);\n return next;\n });\n}\n\nexport function clearRouteDataResult(match) {\n routeDataStore.update(current => {\n const next = new Map(current);\n next.delete(createCacheKey(match));\n return next;\n });\n}\n\nexport function readRouteData(match) {\n if (!match) {\n return undefined;\n }\n return routeDataStore().get(createCacheKey(match));\n}\n\nexport function getRouteDataStore() {\n return routeDataStore;\n}\n\nexport function createRouteDataCacheKey(match) {\n return createCacheKey(match);\n}\n\nfunction createCacheKey(match) {\n const routeId = match.route.id ?? match.fullPath;\n const paramsKey = Object.keys(match.params)\n .sort()\n .map(key => `${key}:${match.params[key]}`)\n .join('|');\n return `${routeId}::${paramsKey}`;\n}\n"]}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { emitRuntimeErrorReport } from './chunk-SA5UD5B6.js';
|
|
2
|
+
|
|
3
|
+
// src/runtime/errors.js
|
|
4
|
+
var boundaryStack = [];
|
|
5
|
+
function withRuntimeErrorBoundary(boundary, run) {
|
|
6
|
+
pushRuntimeErrorBoundary(boundary);
|
|
7
|
+
let result;
|
|
8
|
+
try {
|
|
9
|
+
result = run();
|
|
10
|
+
} catch (error) {
|
|
11
|
+
popRuntimeErrorBoundary(boundary);
|
|
12
|
+
throw error;
|
|
13
|
+
}
|
|
14
|
+
if (isPromiseLike(result)) {
|
|
15
|
+
return result.finally(() => {
|
|
16
|
+
popRuntimeErrorBoundary(boundary);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
popRuntimeErrorBoundary(boundary);
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
function pushRuntimeErrorBoundary(boundary) {
|
|
23
|
+
boundaryStack.push(boundary);
|
|
24
|
+
}
|
|
25
|
+
function popRuntimeErrorBoundary(boundary) {
|
|
26
|
+
const index = boundaryStack.lastIndexOf(boundary);
|
|
27
|
+
if (index === -1) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
boundaryStack.splice(index, 1);
|
|
31
|
+
}
|
|
32
|
+
function captureRuntimeError(error, info) {
|
|
33
|
+
let normalized = normalizeError(error, info);
|
|
34
|
+
for (let i = boundaryStack.length - 1; i >= 0; i -= 1) {
|
|
35
|
+
const boundary = boundaryStack[i];
|
|
36
|
+
try {
|
|
37
|
+
const handled = boundary.handle(normalized, info);
|
|
38
|
+
if (handled !== false) {
|
|
39
|
+
emitRuntimeErrorReport({
|
|
40
|
+
error: normalized,
|
|
41
|
+
info,
|
|
42
|
+
handled: true,
|
|
43
|
+
boundaryId: boundary.id
|
|
44
|
+
});
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
} catch (boundaryError) {
|
|
48
|
+
normalized = normalizeError(boundaryError, info);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
emitRuntimeErrorReport({
|
|
52
|
+
error: normalized,
|
|
53
|
+
info,
|
|
54
|
+
handled: false
|
|
55
|
+
});
|
|
56
|
+
throw normalized;
|
|
57
|
+
}
|
|
58
|
+
function normalizeError(error, info) {
|
|
59
|
+
const normalized = error instanceof Error ? error : new Error(String(error));
|
|
60
|
+
const details = formatErrorInfo(info);
|
|
61
|
+
if (details && !normalized.message.includes(details)) {
|
|
62
|
+
normalized.message = `${normalized.message}
|
|
63
|
+
[ce-ui] ${details}`;
|
|
64
|
+
}
|
|
65
|
+
return normalized;
|
|
66
|
+
}
|
|
67
|
+
function formatErrorInfo(info) {
|
|
68
|
+
const segments = [`phase=${info.phase}`];
|
|
69
|
+
if (info.componentName) {
|
|
70
|
+
segments.push(`component=${info.componentName}`);
|
|
71
|
+
}
|
|
72
|
+
if (info.componentInstanceId) {
|
|
73
|
+
segments.push(`instance=${info.componentInstanceId}`);
|
|
74
|
+
}
|
|
75
|
+
if (info.templateId) {
|
|
76
|
+
segments.push(`template=${info.templateId}`);
|
|
77
|
+
}
|
|
78
|
+
if (info.effectName) {
|
|
79
|
+
segments.push(`effect=${info.effectName}`);
|
|
80
|
+
}
|
|
81
|
+
if (info.attributes && Object.keys(info.attributes).length > 0) {
|
|
82
|
+
segments.push(`attributes=${JSON.stringify(info.attributes)}`);
|
|
83
|
+
}
|
|
84
|
+
return segments.join(" ");
|
|
85
|
+
}
|
|
86
|
+
function isPromiseLike(value) {
|
|
87
|
+
return Boolean(value) && typeof value === "object" && "then" in value;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export { captureRuntimeError, popRuntimeErrorBoundary, pushRuntimeErrorBoundary, withRuntimeErrorBoundary };
|
|
91
|
+
//# sourceMappingURL=chunk-DQBX75NJ.js.map
|
|
92
|
+
//# sourceMappingURL=chunk-DQBX75NJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/runtime/errors.js"],"names":[],"mappings":"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","file":"chunk-DQBX75NJ.js","sourcesContent":["import { emitRuntimeErrorReport } from './error-bus.js';\n\nconst boundaryStack = [];\n\nexport function withRuntimeErrorBoundary(boundary, run) {\n pushRuntimeErrorBoundary(boundary);\n let result;\n try {\n result = run();\n } catch (error) {\n popRuntimeErrorBoundary(boundary);\n throw error;\n }\n if (isPromiseLike(result)) {\n return result.finally(() => {\n popRuntimeErrorBoundary(boundary);\n });\n }\n popRuntimeErrorBoundary(boundary);\n return result;\n}\n\nexport function pushRuntimeErrorBoundary(boundary) {\n boundaryStack.push(boundary);\n}\n\nexport function popRuntimeErrorBoundary(boundary) {\n const index = boundaryStack.lastIndexOf(boundary);\n if (index === -1) {\n return;\n }\n boundaryStack.splice(index, 1);\n}\n\nexport function captureRuntimeError(error, info) {\n let normalized = normalizeError(error, info);\n for (let i = boundaryStack.length - 1; i >= 0; i -= 1) {\n const boundary = boundaryStack[i];\n try {\n const handled = boundary.handle(normalized, info);\n if (handled !== false) {\n emitRuntimeErrorReport({\n error: normalized,\n info,\n handled: true,\n boundaryId: boundary.id,\n });\n return true;\n }\n } catch (boundaryError) {\n normalized = normalizeError(boundaryError, info);\n }\n }\n emitRuntimeErrorReport({\n error: normalized,\n info,\n handled: false,\n });\n throw normalized;\n}\n\nfunction normalizeError(error, info) {\n const normalized = error instanceof Error ? error : new Error(String(error));\n const details = formatErrorInfo(info);\n if (details && !normalized.message.includes(details)) {\n normalized.message = `${normalized.message}\\n[ce-ui] ${details}`;\n }\n return normalized;\n}\n\nfunction formatErrorInfo(info) {\n const segments = [`phase=${info.phase}`];\n if (info.componentName) {\n segments.push(`component=${info.componentName}`);\n }\n if (info.componentInstanceId) {\n segments.push(`instance=${info.componentInstanceId}`);\n }\n if (info.templateId) {\n segments.push(`template=${info.templateId}`);\n }\n if (info.effectName) {\n segments.push(`effect=${info.effectName}`);\n }\n if (info.attributes && Object.keys(info.attributes).length > 0) {\n segments.push(`attributes=${JSON.stringify(info.attributes)}`);\n }\n return segments.join(' ');\n}\n\nfunction isPromiseLike(value) {\n return Boolean(value) && typeof value === 'object' && 'then' in value;\n}\n"]}
|